JPH06348855A - Plotting processor and straight line generation parallel processing method for the same and graphic board and cad system - Google Patents
Plotting processor and straight line generation parallel processing method for the same and graphic board and cad systemInfo
- 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
- slope
- 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
Links
Landscapes
- Image Generation (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明はワークステーションのデ
ィスプレイ画面上に直線図形を生成する方法に係り、特
に、複数のプロセッサを備える描画プロセッサにより直
線の描画処理を並列処理で高速に行うのに好適な直線発
生並列処理方法等に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for generating a straight line graphic on a display screen of a workstation, and more particularly, it is suitable for performing a high speed straight line drawing process by a drawing processor having a plurality of processors. Straight line generation parallel processing method and the like.
【0002】[0002]
【従来の技術】従来の直線を描画する装置は、大きく2
種類に分けられる。1つは、例えば特公平2−4179
0号公報に記載されているように、真の直線と、画像メ
モリにおける整数格子の座標系とのずれを分数で表し、
分数計算のみで与えられた直線に最も近い画像メモリ上
の画素を生成する方式(ブレゼンハムのアルゴリズム)
である。2つ目は、例えば特開平3−36676号公報
に記載されているように、直線の傾きを小数で与え、始
点座標にその傾きの値を繰返し加算していくことで、直
線上の画素を発生する方式である。2. Description of the Related Art A conventional apparatus for drawing a straight line is roughly 2
It is divided into types. One is, for example, Japanese Patent Publication No. 2-4179.
As described in Japanese Patent No. 0, the deviation between the true straight line and the coordinate system of the integer lattice in the image memory is represented by a fraction,
A method to generate the pixel in the image memory that is closest to the straight line given only by the fractional calculation (Bresenham's algorithm)
Is. Secondly, as described in, for example, Japanese Patent Laid-Open No. 3-36676, the slope of a straight line is given as a decimal number, and the value of the slope is repeatedly added to the starting point coordinates, so that the pixels on the straight line are determined. This is the method that occurs.
【0003】一方、複数のプロセッサにより直線上の画
素を並列に生成するの方式としては、特開平1−207
886号がある。この従来技術では、プロセッサの数だ
け直線の傾きを整数倍し、その値を直線の始点に加算す
ることで必要な画素だけを生成している。On the other hand, as a method for generating pixels on a straight line in parallel by a plurality of processors, Japanese Patent Laid-Open No. 207/207
There is 886 issue. In this conventional technique, only the necessary pixels are generated by multiplying the slope of the straight line by the number of processors and adding the value to the start point of the straight line.
【0004】[0004]
【発明が解決しようとする課題】上記の複数のプロセッ
サによって並列に直線発生を行わせようとする従来技術
は、直線上の画素の座標と輝度を同時に求めるためには
有効であるが、輝度が一定である場合においても直線の
傾きを求める除算が必要となる。このため、ブレゼンハ
ムのアルゴリズムを使用する方式に比べ上位プロセッサ
の負荷が大きくなるという問題がある。具体的には、ブ
レゼンハムのアルゴリズムを使用すれば、与えるデータ
が始点の座標データと終点の座標データだけで済むのに
対し、傾きを小数で表す方式の場合には、始点と終点の
x,y座標の他に、十分な精度の傾きの値と、直線の長
さとを与える必要があり、更に、その直線の傾きを求め
るために除算を行わなければならず、上位プロセッサの
負荷が増大してしまう。The prior art in which a plurality of processors are used to generate a straight line in parallel is effective for simultaneously obtaining the coordinates and brightness of pixels on a straight line, but Even if it is constant, division is required to find the slope of the straight line. For this reason, there is a problem that the load on the upper processor becomes heavier than that of the method using the Bresenham algorithm. Specifically, when the Bresenham algorithm is used, the data to be given is only the coordinate data of the start point and the coordinate data of the end point, whereas in the case of the method of expressing the slope by decimals, x and y of the start point and the end point are used. In addition to the coordinates, it is necessary to give a value for the slope with sufficient accuracy and the length of the straight line. Furthermore, division must be performed to obtain the slope of the straight line, which increases the load on the host processor. I will end up.
【0005】本発明の目的は、ブレゼンハムのアルゴリ
ズムを改良し、複数のプロセッサによって並列に直線発
生を行わせる時、上位プロセッサの負荷を軽減すること
ができる直線発生並列処理方法や描画プロセッサ並びに
これを利用したCADシステム等を提供することにあ
る。An object of the present invention is to improve the Bresenham's algorithm so that when a plurality of processors are used to generate straight lines in parallel, a straight line generation parallel processing method and a drawing processor capable of reducing the load on the upper processor, and the drawing processor are provided. The purpose is to provide a CAD system or the like used.
【0006】本発明の他の目的は、ブレゼンハムのアル
ゴリズムを改良するときに、膨大なハ−ドウェアの増大
を伴わないようにする直線発生並列処理方法等を提供す
ることにある。It is another object of the present invention to provide a straight line generation parallel processing method and the like which is not accompanied by enormous increase in hardware when improving the Bresenham algorithm.
【0007】[0007]
【課題を解決するための手段】上記目的は、複数の描画
プロセッサを有し直線描画を並列処理するに際し、描画
対象の直線を始点座標及び終点座標にて指定する入力手
段と、画像メモリ上の画素を周期配列毎の画素集団に分
割し各画素集団の各々に1つの描画プロセッサを割り当
てる手段と、各描画プロセッサが自己の担当する画素集
団でブレゼンハムのアルゴリズムを実行して前記直線に
該当する画素を求めるに当り画素の座標と真の直線との
ずれを示す誤差項が仮分数となった時に分子から分母を
繰返し引き算して帯分数に変換しこの帯分数の整数部を
画素の座標に加えることで直線に該当する画素を次々と
求める手段と、各描画プロセッサが求めた画素を画面上
に描画する手段とを設けることで、達成される。The above-mentioned object is to have an input means for designating a straight line to be drawn by starting point coordinates and ending point coordinates in parallel processing of a straight line drawing having a plurality of drawing processors, and an image memory. Means for dividing the pixels into pixel groups for each periodic array and assigning one drawing processor to each pixel group, and each drawing processor executing the Bresenham algorithm with the pixel group that it handles and the pixels corresponding to the straight line When the error term indicating the deviation between the pixel coordinate and the true straight line is an improper fraction, the denominator is repeatedly subtracted from the numerator to convert it into a mixed number, and the integer part of this mixed number is added to the pixel coordinate. This is achieved by providing means for successively finding pixels corresponding to a straight line and means for drawing the pixels found by each drawing processor on the screen.
【0008】[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更新する。こ
の処理を繰り返すことで、直線上の画素を加減算だけで
求めることができるようになる。Function: Briefly, Bresenham's algorithm is
This is a method in which the slope of a straight line is expressed by a fraction (true fraction), and the slope is sequentially added to the coordinates of the starting point to obtain pixels on the straight line. As the denominator of the fraction representing the slope, the larger absolute value of the difference dx, dy between the x and y coordinates of the start point and the end point of the given straight line is set, and the smaller value is set as the numerator. The former is the major axis component L and the latter is the minor axis component S. L is also the number of pixels generated. Now, for the sake of simplicity, the straight line is the first
It is assumed that the inclination is 45 degrees or less in the quadrant. By adding the slope S / L to the starting point coordinates of the straight line, the next pixel on the straight line can be obtained. However, it is necessary to round the obtained results in order to obtain the pixel closest to the straight line. Therefore, it is necessary to add +0.5 to the value of the y coordinate (short axis component side) of the starting point in advance, but since the coordinates are expressed by fractions, the denominator of the fraction expressing the slope is 2L and the numerator is 2S. And double each, and the decimal part of the y coordinate of the starting point is L
/ 2L. In actual hardware, an error term E, which is a deviation between a true straight line and an integer lattice (pixel coordinates), is first set to L, and the numerator 2S of the inclination is added to it. As a result, the coordinates of the pixel next to the starting point can be obtained by a fraction. At this time, if the error term E is larger than 2L, it is an improper fraction, so it is necessary to convert this into a mixed fraction, 2L is subtracted from the numerator, and the integer part of the starting point y coordinate is updated by 1. The x coordinate, which is the major axis component, is updated by 1 regardless of the value of E. By repeating this process, the pixels on the straight line can be obtained only by addition and subtraction.
【0009】さて、このような直線発生方法を複数のプ
ロセッサによって並列に処理させるには、例えばx座標
が奇数の画素と偶数の画素を扱う2個のプロセッサで処
理する場合について考えると、プロセッサはある画素の
x,y座標が求められている時、次の次の画素を求める
ようにすればよい。隣の画素はもう一方のプロセッサが
並列に求めているため処理時間を半分にすることができ
る。そのためには、誤差項Eに対して傾きを2画素分
(4S)加える必要がある。また、その結果が仮分数で
ある場合にy座標の整数部を1または2更新する必要が
ある。もし、プロセッサの個数が増加した場合には、誤
差項Eに加える傾きを2Sのプロセッサ個数倍した値と
し、y座標の更新する値の範囲を0からプロセッサの個
数まで対応できるようにすればよい。Now, in order to allow such a straight line generation method to be processed in parallel by a plurality of processors, consider the case where, for example, the processing is performed by two processors which handle pixels with an odd x coordinate and pixels with an even x coordinate. When the x, y coordinates of a certain pixel are obtained, the next next pixel may be obtained. The processing time can be halved because the adjacent pixel is sought by the other processor in parallel. For that purpose, it is necessary to add an inclination of 2 pixels (4S) to the error term E. Further, when the result is an improper fraction, it is necessary to update the integer part of the y coordinate by 1 or 2. If the number of processors increases, the slope added to the error term E may be set to a value obtained by multiplying the number of processors by 2S so that the range of the updated value of the y coordinate can correspond from 0 to the number of processors. .
【0010】さて、このような処理を行うプロセッサは
1個である時に比べ、誤差項Eに加算する傾きのビット
長が長くなり、またy座標をいくら更新するかを求める
ための判定回路も必要である。このなかで、後者は誤差
項の分子から分母の値を引き算する回路を複数個持つ必
要がある。ここで、直線が水平に近い場合にはy座標を
更新する値が0か1であることに着目し、ハ−ドウェア
量を削減した。即ち、y座標をいくら更新したら良いか
を求める判定回路として誤差項Eから分母2Lを引く回
路を1個だけもち、誤差項Eが2L以下になるまで繰返
し引き算を行うようにする。これによってこの判定回路
の物量を減少させることができる。Now, the bit length of the gradient added to the error term E becomes longer than that in the case where only one processor performs such processing, and a determination circuit for determining how much to update the y coordinate is also required. Is. Among these, the latter needs to have a plurality of circuits for subtracting the value of the denominator from the numerator of the error term. Here, focusing on the fact that the value for updating the y coordinate is 0 or 1 when the straight line is close to horizontal, the amount of hardware was reduced. That is, there is only one circuit that subtracts the denominator 2L from the error term E as a determination circuit that determines how much the y coordinate should be updated, and the subtraction is repeatedly performed until the error term E becomes 2L or less. As a result, the quantity of the determination circuit can be reduced.
【0011】また、複数のプロセッサが並列に自分の受
け持つ画素を生成するため高速に直線上の画素を発生す
ることができ、誤差項Eが仮分数となったかどうかの判
定回路を分母より大きいかどうかの回路1個にした場合
でも傾きが小さい場合には、1回で判定できるため高速
性を維持することができる。Further, since a plurality of processors generate pixels for their owns in parallel, pixels on a straight line can be generated at high speed, and whether the error term E becomes an improper fraction is larger than a denominator. Even if only one circuit is used, if the inclination is small, the determination can be performed once, so that high speed can be maintained.
【0012】[0012]
【実施例】以下、本発明の一実施例を図1〜図10を参
照して説明する。図1は、直線描画を並列に処理して表
示させるCADシステムの要部構成図である。CPU3
はメインメモリ4上に格納されているプログラムを実行
する上位のプロセッサであり、直線を生成する複数のプ
ロセッサである描画プロセッサ1,描画プロセッサ2に
対して直線の始点座標と終点座標を与える処理を行う。
描画プロセッサ1は、表示画面上のx座標が偶数の画素
だけを保存しているフレ−ムメモリ5に対して、上位プ
ロセッサ3から与えられた直線上の画素を発生する。描
画プロセッサ2は、物理的には描画プロセッサ1と同じ
ものであり、表示画面上のx座標が奇数の画素だけを保
存しているフレ−ムメモリ6に対して直線を発生する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to FIGS. FIG. 1 is a configuration diagram of a main part of a CAD system that processes and displays straight line drawing in parallel. CPU3
Is a higher-level processor that executes a program stored in the main memory 4, and performs a process of giving the starting point coordinates and the ending point coordinates of the straight line to the drawing processor 1 and the drawing processor 2 that are a plurality of processors that generate the straight line. To do.
The drawing processor 1 generates the pixels on the straight line given from the host processor 3 to the frame memory 5 which stores only the pixels of which the x coordinate on the display screen is even. The drawing processor 2 is physically the same as the drawing processor 1 and generates a straight line for the frame memory 6 which stores only pixels having an odd x coordinate on the display screen.
【0013】これらの描画プロセッサ1,2が、どちら
のフレ−ムメモリに接続されているかを指定するための
識別信号がPiD信号であり、ここでは、描画プロセッサ
1に対し“0”を、描画プロセッサ2に対し“1”を設
定する。フレ−ムメモリ5とフレ−ムメモリ6に格納さ
れている画素は常時座標の順に読み出され、色の変換テ
−ブルとDAコンバ−タからなるRAMDAC7に送ら
れ、RGBのビデオ信号に変換してCRTモニタ(図示
省略)に表示される。このフレ−ムメモリの内容をCR
Tに表示させる技術に関しては広く公知であるため、こ
こでは詳細は省力する。The identification signal for designating which frame memory these drawing processors 1 and 2 are connected to is the PiD signal. In this case, "0" is given to the drawing processor 1 and Set “1” for 2. The pixels stored in the frame memory 5 and the frame memory 6 are always read out in the order of coordinates and are sent to the RAMDAC 7 composed of a color conversion table and a DA converter to be converted into RGB video signals. It is displayed on a CRT monitor (not shown). CR contents of this frame memory
Since the technique of displaying on T is widely known, the details are omitted here.
【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個まで描画プロセッサを拡張するこ
とができる。The state of the pixels handled by the drawing processor 1, that is, the pixels stored in the frame memory 5 is shown in FIG.
Shown in. The circle in the figure indicates one pixel. When two drawing processors are used in this way, pixels to be processed are arranged in every x pixel in the x-axis direction, as shown in FIG. When four drawing processors are used, as shown in FIG. 2B, the x and y coordinates are processed in every one pixel, or
Alternatively, the pixels to be processed are assigned every three pixels with respect to the x coordinate. In this case, the identification signal PiD of the drawing processor
Is composed of 2 bits so that up to 4 drawing processors can be allocated to the x coordinate, and 2 bits so that 4 drawing processors can be allocated to the y coordinate. Therefore, the drawing processor can be expanded up to 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に制御信号を送る。FIG. 3 is an internal block diagram of the drawing processor 1. The drawing processor 1 includes a parameter calculation unit 11 and
It includes a pixel generation unit 12, a frame memory (FM) writing unit 13, and a control unit 14. This parameter calculation unit 1
1 is the start point (xs, ys), the end point (xe, ye), the slope (xe / dx, ye / dy), and the length (len) of the straight line set by the CPU 3 (FIG. 1) via the system bus. , It has a register that holds a command (COM) that indicates whether a straight line is given by the start point and end point or by the start point and slope length, and generates various parameters from these values. Then, the pixel generation unit 12 generates the coordinates of the pixel indicated by the identification signal PiD according to the parameters generated by the parameter calculation unit 11, and the FM writing unit 13 generates the pixel coordinates generated by the pixel generation unit 12. According to the above, pixels are written in the frame memory 5 (FIG. 1). The control unit 14 includes the CPU 3
It is determined that the command has been activated by, and a control signal is sent to the pixel generation unit 12 and the FM writing unit 13 so as to generate and write pixels for the length of the activated straight line.
【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を出力する。FIG. 4 is a detailed configuration diagram of the parameter calculation unit 11. The parameter calculation unit 11 includes a register xs and a register ys for holding the (x, y) coordinates of the starting point of the straight line.
When the straight line is given by the start point and the end point, the register xe and the register ye which are treated as (x, y) coordinates of the end point of the straight line are the same in substance, but the straight line is given by the start point, the inclination and the length. A register dx and a register dy which are treated as the gradient components of the x-axis and the y-axis of the straight line, and a register which holds the length of the straight line when the straight line is given by the starting point, the slope and the length
There are 6 registers, COM, which start the generation of a straight line for the drawing processor 1 by instructing len and whether a straight line is given at the start point and the end point or a straight line is given at the start point, the inclination, and the length. , Signal lines xs and ys indicating the x and y coordinates of the starting point, sine signals sgnX and sgnY indicating which of the four quadrants the direction of the straight line is, and the inclination of the straight line is 4 with respect to the x axis.
A signal longX indicating 5 degrees or less or 45 degrees or more, the difference between the x and y coordinates of the start and end points of the straight line, or the slope dx of the straight line,
A signal short indicating the shorter absolute value of dy, a signal length indicating the longer absolute value, and a signal COM in which the contents of the register COM are output are output.
【0017】引算器111と引算器112は始点と終点
のx,y座標の差を求める。セレクタ113とセレクタ
114は信号COMの内容に従って引算器111と引算器
112の出力と、レジスタdx,レジスタdyに保持さ
れている直線の傾きの値を選択する。The subtractor 111 and the subtractor 112 obtain the difference between the x and y coordinates of the start point and the end point. The selectors 113 and 114 select the outputs of the subtractors 111 and 112 and the slope values of the straight lines held in the registers dx and dy according to the contents of the signal COM.
【0018】絶対値演算器115と絶対値演算器116
は、セレクタ113とセレクタ114の出力の絶対値を
とり、絶対値演算器115と絶対値演算器116の出力
を比較器117で比較し、比較器117の比較結果によ
ってセレクタ118は絶対値演算器115と絶対値演算
器116の出力の小さい方の値を選択出力し、セレクタ
119は大きい方を選択し、信号COMが直線を始点と終
点で与えていることを示しているときにはそのまま出力
し、そうでなければレジスタlenに格納されている値を
出力する。Absolute value calculator 115 and absolute value calculator 116
Is an absolute value of the outputs of the selector 113 and the selector 114, compares the outputs of the absolute value calculator 115 and the absolute value calculator 116 with the comparator 117, and the selector 118 determines the absolute value calculator with the comparison result of the comparator 117. 115 and the output of the absolute value calculator 116, whichever is smaller, is selected and output, the selector 119 selects the larger one, and when the signal COM indicates that a straight line is given at the start point and the end point, it is output as it is, Otherwise, the value stored in register len is output.
【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とから構成される。FIG. 5 is a detailed block diagram of the pixel generation section 12. The pixel generation unit 12 follows the signal group output from the parameter generation unit 11 and the control signal generated by the control unit 14 so that the x and y coordinates of the pixel to be written in the frame memory 5 and the signal px,
py and the signal ajust indicating that it is not valid, and the signals next_sameX and next_sameY indicating whether the x and y coordinates match the pixel specified by the identification signal PiD (the pixel it has) after the next coordinate update. And a signal same indicating whether the coordinates indicated by the signals px and py match the pixel designated by the identification signal PiD.
Comparator 122 and comparator 123 for obtaining and outputting X and sameY
And an RGB register 124 indicating the color of a straight line set by the CPU 3 via the system bus.
【0020】FM書き込み部13は、制御部14の出力
する画素書き込み信号PIXEL_OUTが出たとき、画素発生
部12の出力するフレームメモリ5の座標px,pyに、R
GBレジスタの出力する画素の値を書き込む。フレ−ム
メモリ5は、制御部14に対して、書き込みを行って良
いかどうかを示すため許可信号FM_acceptを出力する。When the pixel writing signal PIXEL_OUT output from the control unit 14 is output, the FM writing unit 13 outputs R to the coordinates px and py of the frame memory 5 output from the pixel generation unit 12.
The value of the pixel output from the GB register is written. The frame memory 5 outputs a permission signal FM_accept to the control unit 14 to indicate whether or not writing can be performed.
【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を出力する。FIG. 6 is a detailed block diagram of the control unit 14.
The control unit 14 according to the present embodiment includes a sequence unit 141,
It is composed of a counter unit 142. Sequence part 1
Reference numeral 41 recognizes that the command is activated by the write signal COM_WRITE to the COM register of the parameter calculation unit 11, and signals FM_accept, sameX, sameY, long.
According to the values of the X and ajust signal lines and the output line end of the counter section 142, the operation start signal load,
It outputs a 1-pixel update signal up1 and a 2-pixel update signal up2, a pixel write signal PIXEL_OUT to the FM writing unit 13, and a command permission signal COM_accept indicating whether or not the drawing processor 1 can accept activation of a command.
【0022】ここで、書き込み信号COM_WRITEとコマン
ド許可信号COM_acceptは、描画プロセッサ内部のレジス
タに対する書き込み制御を行うシステムバスインタフェ
ース部(図示省略)に接続されている。Here, the write signal COM_WRITE and the command permission signal COM_accept are connected to a system bus interface unit (not shown) which controls writing to registers inside the drawing processor.
【0023】次に、本実施例の特徴である画素発生部1
2について更に詳細に説明する。図7は座標発生部12
1の構成図である。座標発生部121は、x座標を保持
するxカウンタ125と、y座標を保持するyカウンタ
126と、これらのカウンタに対して更新させるかどう
かの情報を与える誤差計算部8とから構成されている。Next, the pixel generating section 1 which is a feature of this embodiment
2 will be described in more detail. FIG. 7 shows the coordinate generator 12
It is a block diagram of 1. The coordinate generation unit 121 includes an x counter 125 that holds x coordinates, ay counter 126 that holds y coordinates, and an error calculation unit 8 that gives information as to whether or not to update these counters. .
【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は変化しな
い。The x counter 125 internally takes in the value of the signal xs when the signal load is output, and outputs it as a signal px. The signal sgnX is treated as an up / down signal,
When it is “1”, the x counter 125 is down-counted,
When it is "0", it is counted up. When longX is "1", the straight line has an inclination of 45 degrees or less with respect to the X-axis, and therefore the x counter 125 depends on the 3-bit carry signal carry (2: 0) output from the error calculator 8. Update the contents of the counter. At this time, if the signal up1 is "1", only "1" is updated, and if the signal up2 is "1", "2" is updated. However, when the signal ajust is "1", only the y counter 126 is updated and the x counter 125 does not change.
【0025】一方、longXが“0”のときには、X軸に
対して直線は45度以上の傾きを持っているため、x座
標は信号up1,up2のどちらかが“u1”のとき、誤差
計算部8の出力する、3ビットのキャリー信号carry
(2:0)の値だけyカウンタ126を更新する。さら
に、xカウンタ125は、次に更新した場合のx座標が
与えられた識別信号PiDに一致するかどうかを示すnext_
sameXを出力する。On the other hand, when longX is "0", the straight line has an inclination of 45 degrees or more with respect to the X axis. Therefore, when either of the signals up1 and up2 is "u1", the error calculation is performed on the x coordinate. 3-bit carry signal carry output from section 8
The y counter 126 is updated by the value of (2: 0). Further, the x counter 125 indicates whether the x coordinate of the next update matches the given identification signal PiD next_.
Output sameX.
【0026】yカウンタ126は、基本的にxカウンタ
125と同じ機能を有している。但し、load信号によっ
て取り込む値が信号ysであること、longXに対する動
作がxカウンタ125と逆であることが異なるだけであ
る。The y counter 126 basically has the same function as the x counter 125. However, the only difference is that the value fetched by the load signal is the signal ys and the operation for longX is the reverse of that of the x counter 125.
【0027】誤差計算部8は、初期化信号err_initによ
って誤差項Eが初期化され信号up1,up2によって更新
される。その結果を、キャリー信号carry(2:0)と
信号ajustとして出力する。In the error calculator 8, the error term E is initialized by the initialization signal err_init and updated by the signals up1 and up2. The result is output as carry signal carry (2: 0) and signal ajust.
【0028】図8は、誤差計算部8の構成図である。こ
の誤差計算部8は、大きく分けて2種類の動作を行う。
即ち、信号COMが示す直線を、始点と傾き,長さで与え
た場合の動作と、始点と終点で与えた場合の動作を行
う。ここでは、まず前者の動作について説明する。FIG. 8 is a block diagram of the error calculator 8. The error calculation unit 8 is roughly divided into two types of operations.
That is, the operation when the straight line indicated by the signal COM is given by the start point, the inclination, and the length, and the operation when given by the start point and the end point are performed. Here, the former operation will be described first.
【0029】直線発生のコマンドが起動された後、制御
部14は、誤差計算部8に対し初期化信号err_initを送
出する。その時、セレクタ81は“0.5”を選択し、
加算器82は更新信号up1が“1”の時は傾きの値を示
している信号short(S)を加え、更新信号up2が
“1”の時は信号shortの2倍または4倍を加え、加算
器83は何も加えず、その結果の整数部をキャリーレジ
スタ84に、小数部を誤差レジスタ85に格納する。After the command for generating a straight line is activated, the control section 14 sends an initialization signal err_init to the error calculation section 8. At that time, the selector 81 selects “0.5”,
The adder 82 adds the signal short (S) indicating the slope value when the update signal up1 is "1", and adds twice or four times the signal short when the update signal up2 is "1", The adder 83 adds nothing and stores the integer part of the result in the carry register 84 and the decimal part in the error register 85.
【0030】始点の座標が与えられた識別信号PiDと一
致していない場合、即ちsameXとsameYの両方が“1”
とならない時、制御部14から更新信号up1が出力さ
れ、両方とも“1”の時には信号up2が制御部14から
出力される。信号up2が“1”の時に、加算器82が信
号shortの何倍の値を加算するかは、直線の描画装置が
何個のプロセッサから構成されているかに依存してい
る。これを示すのが信号configであり、外部ピン(図示
省略)によって設定される。信号configが示す描画プロ
セッサの数が画素を1個飛ばしにする場合には2倍、3
個飛ばしにする場合には4倍の値を加算する。When the coordinates of the starting point do not match the given identification signal PiD, that is, both sameX and sameY are "1".
If not, the control unit 14 outputs the update signal up1, and when both are “1”, the control unit 14 outputs the signal up2. How many times the value of the signal short is added by the adder 82 when the signal up2 is "1" depends on how many processors the straight line drawing device is composed of. This is signal config, which is set by an external pin (not shown). If the number of drawing processors indicated by the signal config is one pixel skipped, it is doubled and 3
To skip individual pieces, add 4 times the value.
【0031】次に、始点と終点を与えて起動した場合の
動作について説明する。直線を始点と終点で与えるコマ
ンドを与え起動した場合、セレクタ81は誤差レジスタ
85の出力と信号lengthを符号反転した値を選択する。
加算器82は傾きの値、信号short(S)の2倍または
4倍,8倍を加算する。この加算器82は、次に求めよ
うとしている画素の短軸側座標の小数部と桁あげの整数
部を分数で表したときの分子の値を示している。Next, the operation when starting by giving a start point and an end point will be described. When a command is given to start a straight line at the start point and the end point, the selector 81 selects a value obtained by inverting the sign of the output of the error register 85 and the signal length.
The adder 82 adds the value of the slope and 2 times, 4 times, or 8 times the signal short (S). The adder 82 indicates the numerator value when the decimal part of the coordinate on the minor axis side of the pixel to be obtained next and the integer part of the carry are expressed by fractions.
【0032】加算器83は、加算器82の演算結果err
0が負の時、即ち、小数部が真分数で表されるときは何
もしない。正の時には、仮分数の状態にあるため、分母
の値を示す2倍のlengthを引き算する。加算器82の演
算結果の符号ビットがキャリーレジスタ84の最下位ビ
ットに格納され、加算器83の演算結果が誤差レジスタ
85に格納する。また、誤差レジスタ85の符号ビット
はレジスタ86に無条件に格納され、座標出力が有効で
ないことを示す信号ajustを出力する。The adder 83 outputs the operation result err of the adder 82.
When 0 is negative, that is, when the fractional part is represented by a true fraction, nothing is done. When it is positive, it is in the state of improper fraction, so double the length indicating the value of the denominator is subtracted. The sign bit of the operation result of adder 82 is stored in the least significant bit of carry register 84, and the operation result of adder 83 is stored in error register 85. The sign bit of the error register 85 is unconditionally stored in the register 86 and outputs a signal ajust indicating that the coordinate output is not valid.
【0033】誤差計算部8の動作を明解にするため、図
9,図10を用いて具体例を説明する。図9(a)に示
す直線line1が起動されたときの、奇数のx座標を担当
する描画プロセッサ2の動作を説明する。始点座標
(x,y)は(0,0)で、終点座標が(7,5)で与
えられている。この時のタイムチャ−トを図10の左半
分の時刻T0〜T8に示す。In order to clarify the operation of the error calculator 8, a concrete example will be described with reference to FIGS. 9 and 10. The operation of the drawing processor 2 in charge of odd x-coordinates when the straight line line1 shown in FIG. 9A is activated will be described. The starting point coordinates (x, y) are given by (0, 0), and the ending point coordinates are given by (7, 5). The time chart at this time is shown at times T0 to T8 in the left half of FIG.
【0034】まず、CPU3により、レジスタCOMに対
して書き込みが行われると、信号COM_EXECが“1”とな
る。この信号COM_EXECはシステムバスインタフェ−ス部
より出力され、制御部14はこの信号COM_EXECによりコ
マンドの起動を知ることができる。制御部14は信号CO
M_EXECが“1”となると、次に信号loadを出力し、パラ
メ−タ算出部11の出力をxカウンタ125,yカウン
タ126,カウンタ部132に取り込むことを指示す
る。First, when the CPU 3 writes to the register COM, the signal COM_EXEC becomes "1". This signal COM_EXEC is output from the system bus interface section, and the control section 14 can know the activation of the command by this signal COM_EXEC. The control unit 14 outputs the signal CO
When M_EXEC becomes "1", the signal load is output next, and the output of the parameter calculation unit 11 is instructed to be taken into the x counter 125, the y counter 126, and the counter unit 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”が格納される。Next, the control unit 14 outputs the signal err_init for initializing the error calculation unit 8. At this point, the X coordinate is even and does not match the identification signal PiD, so the signal s
ameX is not "1". By the way, the short-axis component short output from the parameter calculation unit 11 is "5", and the long-axis component lengt
Since h is “7”, the value output from the adder 82 at this time is (−7) +2 (5) = 3. Since this is a positive number, the adder 83 subtracts twice the length. "-11" is stored in the error register 85. Further, the carry register 84 stores "1" because the operation result of the adder 82 is positive.
【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に格納する。After the signal err_init, the control unit 14 outputs x, y.
An update signal is generated to update the coordinates, but since the coordinates (px, py) do not match the identification signal PiD at time T2, the signal up is updated so that the pixels are updated pixel by pixel until they match.
1 is output. At time T3, carry signal carry
Since (2: 0) is determined, the x counter 125 and the y counter 126 can obtain the coordinates of the next pixel, and in this case, the x coordinate, which is the long axis, is always "+1",
The y-axis, which is the short axis, is "+" because the carry signal is "1".
1 ”, the coordinates of the next pixel are the identification signal PiD
And the signals Next_sameX and Next_sameY are both “1”. From this, first, the error calculation unit 8
It turns out that the coordinates are obtained one pixel at a time from the next, the selector 81 selects the output of the error register 85, the adder 82 adds 4 times the signal short, and the result is (-11) +4.
(5) = 9, which is a positive value.
Double the value and store “−5” in the error register 85.
【0037】また、制御部14は、次の画素が識別信号
PiDと一致していることによって更新信号up1を“0”
とし、代わりに更新信号up2を出力する。時刻T4で、
更新信号up2が出ているとき、長軸であるx座標は2画
素更新され、残り画素数を求めているカウンタ132も
“2”ずつ引かれる。但し、短軸であるy座標は“1”
ずつ更新するようにする。もし、時刻T5の時のように
誤差レジスタ85の符号が正になったときは、小数部を
表す分数が未だ仮分数であるということで、もう1回短
軸であるyカウンタの更新と、誤差レジスタ85の更新
を負になるまで行う。この時刻T6のときは座標が無効
であること示す信号ajustが“1”となっていることで
判定することができる。Further, the control unit 14 determines that the next pixel is an identification signal.
Update signal up1 is set to “0” because it matches PiD
Instead, the update signal up2 is output. At time T4,
When the update signal up2 is output, the x-coordinate, which is the long axis, is updated by 2 pixels, and the counter 132 that obtains the number of remaining pixels is also decremented by "2". However, the y coordinate, which is the short axis, is "1"
Update each time. If the sign of the error register 85 becomes positive, as at time T5, it means that the fraction representing the fractional part is still an improper fraction, and the y-counter, which is the minor axis, is updated once again. The error register 85 is updated until it becomes negative. At time T6, it can be determined that the signal ajust indicating that the coordinates are invalid is "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座標が奇数の画素を発生することができる。Next, the operation at the time of starting the drawing of the straight line line2 in FIG. 9B will be described. The straight line line2 has start point coordinates (1,
1) and the end point coordinates are (6, 6). Therefore, the long axis component
Both the length and the short axis component short are "5". Since the start point coordinates match the identification signal PiD, the adder 82 adds 4 times the signal short from the beginning to find the coordinates two pixels ahead when the error calculator is initialized. Therefore, the result is
(−5) + 4 · (5) = 15, and the error register 85
Stores (15) -2. (5) = 5. Therefore,
Since the signal ajust becomes “1”, at time T13, the y counter 126, the error register 85, and the carry register 84.
Only updated. By continuing the same processing until the counter 132 becomes “0” or negative, it is possible to generate pixels for which the x-coordinate in charge is odd.
【0039】本実施例によれば、2個のプロセッサが並
列に、始点と終点で与えられる直線上の画素を生成する
ので、水平または垂直に近い直線は従来の約2倍の高速
化が図れる。これは、単に並列処理による効果ばかりで
なく、上位のCPU3の計算する計算量が少なくなるた
め、直線の発生装置全体として高速化が可能となる。さ
らに、同一のハードウェアで、直線を始点と終点で与え
る場合と、始点と傾き,長さで表す両方の場合に対応可
能なため、機能が向上し、同時にハードウェア量の効率
的利用を図ることができる。According to the present embodiment, since two processors generate pixels on a straight line given by a start point and an end point in parallel, the speed of a straight line close to horizontal or vertical can be doubled as compared with the conventional one. . This is not only the effect of parallel processing, but also the amount of calculation performed by the upper CPU 3 is small, so that the speed of the entire straight line generator can be increased. Furthermore, since the same hardware can handle both cases where a straight line is given at the start point and the end point and cases where it is expressed by the start point, the slope, and the length, the function is improved, and at the same time, the hardware amount is efficiently used. be able to.
【0040】一方、上記実施例では明確には示していな
いが、加算器83の機能を長軸の長さlengthの2倍,4
倍,6倍,8倍をそれぞれ引き算するように変更すれ
ば、座標が計算中であるため無効であることを示す信号
ajustは必要なくなり、直線の傾きによらずプロセッサ
の数分だけの高速化を行うことができる。即ち、仮分数
を帯分数に変換したとき整数部の取り得る値の数だけ判
定回路を設ける。On the other hand, although not clearly shown in the above embodiment, the function of the adder 83 is twice the length of the long axis, that is, 4 times.
If you change to subtract 6 times, 6 times, and 8 times respectively, the signal indicating that the coordinates are being calculated is invalid.
Ajust is no longer necessary, and you can speed up the processor by a few minutes regardless of the slope of the line. That is, the decision circuit is provided by the number of values that the integer part can take when the improper fraction is converted into the mixed fraction.
【0041】[0041]
【発明の効果】本発明によれば、画素毎に割り付けられ
た複数の描画プロセッサが並列に直線上の画素を生成す
る場合、傾きを分数で表し、与えられた真の直線と、発
生する画素のずれに、傾きの値を加えて順次直線に最も
近い画素を生成していき、ずれの値が仮分数となる場合
に、分子から分母を繰返し引き算するので、整数部が
“1”より大きな仮分数となる場合でも少ないハ−ドウ
ェアで、高速な直線描画が可能となる。According to the present invention, when a plurality of drawing processors assigned to each pixel generate pixels on a straight line in parallel, the slope is represented by a fraction, and a given true straight line and the generated pixel are generated. The value of the slope is added to the deviation to sequentially generate the pixel closest to the straight line, and when the value of the deviation is an improper fraction, the denominator is repeatedly subtracted from the numerator, so the integer part is larger than "1". Even if it is an improper fraction, high-speed straight line drawing is possible with little hardware.
【0042】また、分子から分母を引き算する手段を、
帯分数に変換したときに整数部の取りえる可能性のある
値すべてに対応する数、即ち並列に用意した描画プロセ
ッサの数だけ設けることによって、仮分数の値を帯分数
に変換する待ち時間なしで処理を行うことができ、さら
に一層の高速化を図ることができる。A means for subtracting the denominator from the numerator is
There is no waiting time to convert the value of the improper fraction to a mixed number by providing a number that corresponds to all possible values of the integer part when converted to a mixed number, that is, the number of drawing processors prepared in parallel. Therefore, the processing can be performed, and the processing speed can be further increased.
【0043】また、直線の傾きを小数値で与えることも
可能であり、ハ−ドウェアは分数計算の演算器と共通に
利用され、効率が良いという効果もある。It is also possible to give the slope of the straight line as a decimal value, and the hardware is also used in common with the arithmetic unit for the fractional calculation, which is also effective.
【図1】本発明の一実施例に係るCADシステムの要部
構成図である。FIG. 1 is a configuration diagram of main parts of a CAD system according to an embodiment of the present invention.
【図2】一個の描画プロセッサが担当するフレ−ムメモ
リ上の画素の配置例を示す図である。FIG. 2 is a diagram showing an arrangement example of pixels on a frame memory which is handled by one drawing processor.
【図3】描画プロセッサ1個の内部構成図である。FIG. 3 is an internal configuration diagram of one drawing processor.
【図4】パラメ−タ算出部の内部構成図である。FIG. 4 is an internal configuration diagram of a parameter calculation unit.
【図5】画素発生部の内部構成図である。FIG. 5 is an internal configuration diagram of a pixel generation unit.
【図6】制御部の内部構成図である。FIG. 6 is an internal configuration diagram of a control unit.
【図7】画素発生部内の座標生成部の内部構成図であ
る。FIG. 7 is an internal configuration diagram of a coordinate generation unit in the pixel generation unit.
【図8】画素発生部内の座標生成部内の誤差計算部の内
部構成図である。FIG. 8 is an internal configuration diagram of an error calculation unit in the coordinate generation unit in the pixel generation unit.
【図9】2本の直線が与えられたとき1個の描画プロセ
ッサが発生する画素を示す図である。FIG. 9 is a diagram showing pixels generated by one drawing processor when two straight lines are given.
【図10】図9に示した2本の直線の描画動作を起動し
たときに描画プロセッサがどのように動作するかを説明
するタイムチャ−トである。10 is a time chart explaining how the drawing processor operates when the drawing operation of the two straight lines shown in FIG. 9 is started.
1…第1描画プロセッサ、2…第2描画プロセッサ、3
…CPU、4…メインメモリ、5…第一のフレ−ムメモ
リ、6…第二のフレ−ムメモリ、11…パラメ−タ算出
部、12…画素発生部、13…FM書き込み部、14…
制御部、121…座標生成部、132…カウンタ、8…
誤差計算部、125…xカウンタ、126…yカウン
タ、85…誤差レジスタ。1 ... 1st drawing processor, 2 ... 2nd drawing processor, 3
... CPU, 4 ... Main memory, 5 ... First frame memory, 6 ... Second frame memory, 11 ... Parameter calculating section, 12 ... Pixel generating section, 13 ... FM writing section, 14 ...
Control unit, 121 ... Coordinate generation unit, 132 ... Counter, 8 ...
Error calculator, 125 ... X counter, 126 ... Y counter, 85 ... Error register.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 曽我 満 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 小沢 幸次 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 森重 隆春 東京都小平市上水本町五丁目22番1号 株 式会社日立マイコンシステム内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Mitsuru Soga 7-1-1 Omika-cho, Hitachi-shi, Ibaraki Hitachi Ltd. Hitachi Research Laboratory (72) Inventor Koji Ozawa 5-2, Omika-cho, Hitachi-shi, Ibaraki No. 1 Incorporated company Hitachi Ltd. Omika factory (72) Inventor Takaharu Morishige 5-22-1, Kamisuihonmachi, Kodaira-shi, Tokyo Inside Hitachi Microcomputer System Ltd.
Claims (9)
複数の描画プロセッサが並列に直線を生成する直線発生
並列処理方法において、直線の傾きを分数で表し、該傾
きの分数値を画素の座標に加算し更新を行う場合、発生
する画素の座標と真の直線とのずれを示す誤差項が仮分
数となった時に、分子から分母を繰返し引き算すること
で帯分数に変換し、その整数部を前記画素の座標に加え
ることを特徴とする直線発生並列処理方法。1. In a straight line generation parallel processing method in which a plurality of drawing processors assigned to each pixel on an image memory generate a straight line in parallel, the slope of the straight line is represented by a fraction, and the fractional value of the slope is a pixel coordinate. When updating by adding to, when the error term indicating the deviation between the generated pixel coordinates and the true straight line becomes an improper fraction, it is converted to a mixed fraction by repeatedly subtracting the denominator from the numerator and the integer part Is added to the coordinates of the pixels, a straight line generation parallel processing method.
複数の描画プロセッサが並列に直線を生成する直線発生
並列処理装置において、直線の傾きを分数で表し該傾き
の分数値を画素の座標に加算し更新を行う手段と、発生
する画素の座標と真の直線とのずれを示す誤差項が仮分
数となった時に分子から分母を繰返し引き算することで
帯分数に変換する手段と、その整数部を前記画素の座標
に加える手段とを備えることを特徴とする直線発生並列
処理装置。2. A straight line generation parallel processing apparatus in which a plurality of drawing processors assigned to each pixel on an image memory generate a straight line in parallel, wherein the slope of the straight line is represented by a fraction and the fractional value of the slope is represented by pixel coordinates. A means for adding and updating, a means for converting to a mixed fraction by repeatedly subtracting the denominator from the numerator when the error term indicating the deviation between the generated pixel coordinates and the true straight line becomes an improper fraction, and its integer And a unit for adding a unit to the coordinates of the pixel.
となった時に、分子から分母の整数倍の値を引く手段を
複数個設けて帯分数に変換することを特徴とする直線発
生並列処理装置。3. The straight line generation parallel according to claim 2, wherein when the error term becomes an improper fraction, a plurality of means for subtracting an integer multiple of the denominator from the numerator are provided to convert into a mixed fraction. Processing equipment.
表した場合に画素の座標に傾きの値を加算し更新する手
段を、前記傾きの分数値を画素の座標に加算する手段と
共通にして、傾きを小数で与える指定と、分数で与える
指定を選択するようにしたこを特徴とする直線発生並列
処理装置。4. The method according to claim 2, wherein the means for adding and updating the value of the inclination to the coordinates of the pixel when the inclination of the straight line is represented by a decimal number is common to the means for adding the fractional value of the inclination to the coordinates of the pixel. Then, the straight line generation parallel processing device characterized in that the designation of giving the slope as a decimal and the designation of giving as a fraction are selected.
集団に分割し各画素集団の各々に1つの描画プロセッサ
を割り当て、与えられた始点,終点を結ぶ直線に該当す
る画素を各描画プロセッサが自己の担当する画素集団の
中から演算により求めるCADシステムであって、直線
の傾きを分数で表す手段と、該傾きの分数値を前記画素
集団の周期配列された画素の座標に加算し更新を行う手
段と、発生する画素の座標と真の直線とのずれを示す誤
差項が仮分数となった時に分子から分母を繰返し引き算
して帯分数に変換する手段と、帯分数の整数部を前記画
素の座標に加えることで直線に該当する画素を求める手
段とを備えることを特徴とするCADシステム。5. A pixel on an image memory is divided into a pixel group for each periodic array, one drawing processor is assigned to each pixel group, and a pixel corresponding to a straight line connecting a given start point and end point is given to each drawing processor. Is a CAD system that calculates by calculation from the pixel group that it is in charge of, and means for expressing the slope of a straight line by a fraction, and adding the fractional value of the slope to the coordinates of the pixels that are arranged in a cycle of the pixel group and updated. A means for performing, a means for converting the numerator to the mixed fraction by repeatedly subtracting the denominator from the numerator when the error term indicating the deviation between the generated pixel coordinates and the true straight line becomes the improper fraction, and the integer part of the mixed fraction A CAD system comprising means for determining a pixel corresponding to a straight line by adding the pixel coordinates.
並列処理するCADシステムにおいて、描画対象の直線
を始点座標及び終点座標にて指定する入力手段と、画像
メモリ上の画素を周期配列毎の画素集団に分割し各画素
集団の各々に1つの描画プロセッサを割り当てる手段
と、各描画プロセッサが自己の担当する画素集団でブレ
ゼンハムのアルゴリズムを実行して前記直線に該当する
画素を求めるに当り画素の座標と真の直線とのずれを示
す誤差項が仮分数となった時に分子から分母を繰返し引
き算して帯分数に変換しこの帯分数の整数部を画素の座
標に加えることで直線に該当する画素を次々と求める手
段と、各描画プロセッサが求めた画素を画面上に描画す
る手段とを備えることを特徴とするCADシステム。6. In a CAD system having a plurality of drawing processors for parallel processing of line drawing, input means for designating a line to be drawn by starting point coordinates and ending point coordinates, and pixels on an image memory for each periodic array. Means for dividing into pixel groups and assigning one drawing processor to each pixel group, and each drawing processor executing the Bresenham algorithm on the pixel group for which each drawing processor is in charge to obtain pixels corresponding to the straight line When the error term indicating the difference between the coordinate and the true straight line becomes an improper fraction, it is applied to the straight line by repeatedly subtracting the denominator from the numerator to convert it into a mixed number and adding the integer part of this mixed number to the pixel coordinates. A CAD system comprising means for sequentially obtaining pixels and means for rendering pixels obtained by each rendering processor on a screen.
において、ブレゼンハムのアルゴリズムを実行して始点
と終点とを結ぶ直線の傾き上に該当する画素を求めるに
当り画素の座標と前記直線とのずれを示す誤差項が仮分
数となった時に分子から分母を繰返し引き算して帯分数
に変換しこの帯分数の整数部を画素の座標に加えること
で直線に該当する画素を次々と求める手段を備えること
を特徴とする描画プロセッサ。7. A drawing processor that executes a straight line drawing process executes a Bresenham algorithm to obtain a pixel corresponding to a slope of a straight line connecting a start point and an end point, and when calculating a deviation between coordinates of the pixel and the straight line. When the error term shown becomes an improper fraction, the denominator is repeatedly subtracted from the numerator to convert it into a mixed number, and the integer part of this mixed number is added to the pixel coordinates to provide a means for successively finding pixels corresponding to a straight line. Is a drawing processor.
プロセッサと、描画プロセッサにより書き込まれるフレ
ームメモリと、フレームメモリ上のデータをRGB信号
に変換して出力する手段とを1ボードに搭載したことを
特徴とするグラフィックボード。8. A single board is provided with one or a plurality of drawing processors according to claim 7, a frame memory written by the drawing processor, and means for converting data on the frame memory into RGB signals and outputting the RGB signals. A graphic board that is characterized.
処理するCADシステムにおいて、描画対象の直線の指
定を始点と終点の座標指定のみで行う手段と、指定され
た始点及び終点の位置と描画された直線の始点及び終点
位置が一致し誤差の無い描画を行う手段とを備えること
を特徴とするCADシステム。9. In a CAD system in which a plurality of drawing processors perform a straight line drawing in parallel, a means for designating a straight line to be drawn only by specifying coordinates of a start point and an end point, and a position of the specified start point and end point are drawn. And a means for performing drawing without error, in which the starting point and the ending point of the straight line coincide with each other.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13755193A JPH06348855A (en) | 1993-06-08 | 1993-06-08 | Plotting processor and straight line generation parallel processing method for the same and graphic board and cad system |
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 (en) | 1993-06-08 | 1993-06-08 | Plotting processor and straight line generation parallel processing method for the same and graphic board and cad system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06348855A true JPH06348855A (en) | 1994-12-22 |
Family
ID=15201356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13755193A Pending JPH06348855A (en) | 1993-03-29 | 1993-06-08 | Plotting processor and straight line generation parallel processing method for the same and graphic board and cad system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06348855A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01124077A (en) * | 1987-10-30 | 1989-05-16 | Internatl Business Mach Corp <Ibm> | Pixel generation method and system |
JPH04289983A (en) * | 1991-03-19 | 1992-10-14 | Japan Radio Co Ltd | Digital line segment generating circuit |
-
1993
- 1993-06-08 JP JP13755193A patent/JPH06348855A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01124077A (en) * | 1987-10-30 | 1989-05-16 | Internatl Business Mach Corp <Ibm> | Pixel generation method and system |
JPH04289983A (en) * | 1991-03-19 | 1992-10-14 | Japan Radio Co Ltd | Digital line segment generating circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960006527B1 (en) | Image processing apparatus | |
US4725831A (en) | High-speed video graphics system and method for generating solid polygons on a raster display | |
US5081698A (en) | Method and apparatus for graphics display data manipulation | |
US5847715A (en) | Graphics display system including parallel graphics processors executing Bresenham's algorithm | |
US5157388A (en) | Method and apparatus for graphics data interpolation | |
EP0447229A2 (en) | Arithmetic and logic processing unit for computer graphics system | |
JP2001052190A (en) | Raster form synthesizing method for direct multilevel filling | |
JPH05307610A (en) | Texture mapping method and its device | |
US6496160B1 (en) | Stroke to raster converter system | |
US6539128B1 (en) | Method and apparatus for interpolation | |
JP3058017B2 (en) | Apparatus and method for converting graphics pixel data | |
KR100368198B1 (en) | Microcomputer | |
JP3089792B2 (en) | Hidden surface discrimination method for image data | |
JP3066596B2 (en) | Address translation device | |
JPH06348855A (en) | Plotting processor and straight line generation parallel processing method for the same and graphic board and cad system | |
JPH0758510B2 (en) | Three-dimensional graphic processor | |
EP0637000A2 (en) | Straight line coordinate generator | |
US6677950B1 (en) | Graphics computer | |
GB2309873A (en) | Method of mapping a source pixel image to a destination pixel space | |
JP2971765B2 (en) | Polygon drawing method and polygon drawing device | |
JP2000090257A (en) | Image processor | |
JP2787487B2 (en) | Circuit for determining the position of a line segment displayed and operated on a computer system | |
JP2664722B2 (en) | Image processing device | |
JP2611098B2 (en) | Vector / raster conversion method | |
JP3358891B2 (en) | Z-value perspective transformation processing method and image processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19990119 |