JP3452049B2 - Drawing apparatus and drawing method - Google Patents
Drawing apparatus and drawing methodInfo
- Publication number
- JP3452049B2 JP3452049B2 JP2001084301A JP2001084301A JP3452049B2 JP 3452049 B2 JP3452049 B2 JP 3452049B2 JP 2001084301 A JP2001084301 A JP 2001084301A JP 2001084301 A JP2001084301 A JP 2001084301A JP 3452049 B2 JP3452049 B2 JP 3452049B2
- Authority
- JP
- Japan
- Prior art keywords
- edge list
- point
- density
- edge
- drawn
- 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.)
- Expired - Fee Related
Links
Landscapes
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明は、入力されたデータ
からラスター情報に変換して、階調を持った画像を出力
する描画装置及び描画方法に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a drawing apparatus and a drawing method for converting input data into raster information and outputting an image having gradation.
【0002】[0002]
【従来の技術】近年、コンピュータグラフィックスやD
TPなどの分野では、入力されたグラフィックデータや
コードデータなどから、ビットマップなどのラスター情
報に変換して、階調出力あるいはカラー出力の行なえる
ディスプレイやプリンタ等の出力装置に出力するための
装置が開発されている。2. Description of the Related Art In recent years, computer graphics and D
In the field of TP and the like, a device for converting input graphic data, code data, etc. into raster information such as a bitmap and outputting it to an output device such as a display or printer capable of gradation output or color output. Is being developed.
【0003】入力されたデータをビットマップ情報に変
換して出力する場合に、解像度の低い出力装置では、ジ
ャギーによる画質の低下が著しいという問題がある。こ
のような場合に、従来では、ラスター変換された拡大画
像を生成し、それをフィルタ処理して階調を有する画像
に変換して、エッジ部分を平滑化し、出力することが行
なわれていた。しかし、拡大した画像を生成し、さらに
フィルタ処理するためには、非常に処理時間がかかり、
また、大容量のメモリが必要であった。また、特開平4
−15771号公報に記載されているように、直線の傾
きからエッジ部分の階調を求め、出力する手法なども提
案されているが、描画処理が直線に沿ったものとなるた
め、スキャンラインごとに描画する場合には、やはり大
きな処理時間が必要となり、高速なスキャンラインごと
の描画が行なえないという問題があった。When converting input data into bit map information and outputting the converted data, there is a problem that the image quality is remarkably deteriorated by jaggies in an output device having a low resolution. In such a case, conventionally, a raster-converted enlarged image is generated, and the image is filtered to be converted into an image having gradation, and the edge portion is smoothed and output. However, it takes a lot of processing time to generate an enlarged image and further filter it,
In addition, a large capacity memory was required. In addition, JP-A-4
As described in Japanese Patent Laid-Open No. 15771, there has been proposed a method of obtaining the gradation of an edge portion from the inclination of a straight line and outputting the same, but since the drawing process follows the straight line, However, in the case of drawing in the same manner, a long processing time is still required, and there is a problem that it is not possible to perform high speed drawing for each scan line.
【0004】[0004]
【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、処理時間およびメモリ容量
を減らし、ジャギーを低減し、画質を向上させた描画装
置及び描画方法を提供することを目的とするものであ
る。SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned circumstances, and provides a drawing apparatus and a drawing method in which processing time and memory capacity are reduced, jaggies are reduced, and image quality is improved. That is the purpose.
【0005】[0005]
【課題を解決するための手段】本発明は、請求項1に記
載の発明においては、入力されたエッジリストからラス
ター情報に変換して画像を描画する描画装置において、
入力された連続する複数ラインのエッジリストの座標値
の位置関係の違いに応じた濃度情報を有するエッジリス
トを生成するグレー処理手段と、該グレー処理手段によ
り生成されたエッジリストに従い出力処理を行なう出力
処理手段とを有することを特徴とするものである。The present invention is, in the invention described in claim 1, a drawing apparatus for converting an input edge list into raster information and drawing an image,
Gray processing means for generating an edge list having density information corresponding to a difference in the positional relationship of the coordinate values of the input edge lists of a plurality of lines, and output processing is performed according to the edge list generated by the gray processing means. And output processing means.
【0006】また、請求項2に記載の発明においては、
入力されたデータからラスター情報に変換して画像を描
画する描画装置において、入力されたデータからn倍に
拡大したエッジリストを作成するエッジリスト生成手段
と、連続するnラインのエッジリストの座標値の位置関
係の違いに応じた濃度情報を有する新たなエッジリスト
を生成するグレー処理手段と、該グレー処理手段により
生成された新たなエッジリストに従い出力処理を行なう
出力処理手段とを有することを特徴とするものである。According to the invention of claim 2,
In a drawing device which converts input data into raster information and draws an image, edge list generation means for generating an edge list enlarged by n times from input data, and coordinate values of edge lists of continuous n lines. Characterized in that it has gray processing means for generating a new edge list having density information according to the difference in the positional relationship between the two, and output processing means for performing output processing according to the new edge list generated by the gray processing means. It is what
【0007】さらに、請求項3に記載の発明において
は、入力されたエッジリストからラスター情報に変換し
て画像を描画する描画方法において、入力された連続す
る複数ラインのエッジリストの座標値の位置関係の違い
に応じた濃度情報を有するエッジリストを生成し、生成
されたエッジリストに従い出力処理を行なうことを特徴
とするものである。Further, in the invention described in claim 3, in the drawing method for converting an input edge list into raster information and drawing an image, the position of the coordinate value of the input continuous edge list of a plurality of lines It is characterized in that an edge list having density information according to a difference in relation is generated, and output processing is performed according to the generated edge list.
【0008】請求項4に記載の発明においては、入力さ
れたデータからラスター情報に変換して画像を描画する
描画方法において、入力されたデータからn倍に拡大し
たエッジリストを作成し、連続するnラインの前記エッ
ジリストの座標値の位置関係の違いに応じた濃度情報を
有する新たなエッジリストを生成し、生成された新たな
エッジリストに従い出力処理を行なうことを特徴とする
ものである。According to the fourth aspect of the invention, in the drawing method for converting the input data into the raster information and drawing the image, an edge list enlarged by n times is created from the input data and the edge list is continuous. It is characterized in that a new edge list having density information corresponding to a difference in the positional relationship of the coordinate values of the n-line edge list is generated, and output processing is performed according to the generated new edge list.
【0009】[0009]
【作用】本発明によれば、請求項1及び請求項3に記載
の発明では、グレー処理手段によるエッジ部分の階調処
理を、請求項2及び請求項4に記載の発明では、エッジ
リスト生成手段による画像の拡大およびグレー処理手段
によるエッジ部分の階調処理を、それぞれエッジリスト
を用いて行なっているので、少量のメモリによって、高
速に、ジャギーを低減したラスター情報を出力すること
ができる。また、請求項1及び請求項3に記載の発明で
は連続する複数ラインのエッジリストごとに、請求項2
及び請求項4に記載の発明ではn倍に拡大したエッジリ
ストを用いてnラインのエッジリストごとに、座標値の
位置関係の違いに応じて濃度情報を有する新たなエッジ
リストを生成し、生成された新たなエッジリストに従い
出力処理を行なうので、高速にスキャンラインごとの変
換を行なうことができる。According to the present invention, in the inventions described in claims 1 and 3, the gradation processing of the edge portion by the gray processing means is performed, and in the inventions described in claim 2 and 4, the edge list generation is performed. Since the image enlargement by the means and the gradation processing of the edge portion by the gray processing means are respectively performed by using the edge list, it is possible to output the raster information with reduced jaggies at a high speed with a small amount of memory. In addition, in the invention described in claims 1 and 3, the edge list of a plurality of continuous lines is set for each edge list.
According to the invention described in claim 4, a new edge list having density information is generated for each n-line edge list by using the edge list expanded n times, and the new edge list is generated. Since the output processing is performed according to the new edge list thus created, the conversion for each scan line can be performed at high speed.
【0010】[0010]
【発明の実施の形態】図1は、本発明の描画装置の実施
の一形態を示すブロック図である。図中、11は描画デ
ータ入力部、12はベクター生成部、13はフォントデ
ータ記憶部、14はグラフィックエッジリスト生成部、
15はグレースケール処理部、16はクリップ処理部、
17はエッジリストマージ部、18はエッジリストメモ
リ、19はラスタライズ部、20はページメモリ、21
はプリンタである。FIG. 1 is a block diagram showing an embodiment of a drawing apparatus of the present invention. In the figure, 11 is a drawing data input unit, 12 is a vector generation unit, 13 is a font data storage unit, 14 is a graphic edge list generation unit,
15 is a gray scale processing unit, 16 is a clip processing unit,
17 is an edge list merging unit, 18 is an edge list memory, 19 is a rasterizing unit, 20 is a page memory, 21
Is a printer.
【0011】描画データ入力部11は、入力されるコマ
ンドを受け取り、コマンドの解釈を行って、各コマンド
に対する処理を行ない、ベクター生成部12へ解釈した
結果を送る。受け取るコマンドとしては、グラフィック
スデータ、文字コードデータ、ラスターデータ等のプリ
ミティブや、色指定や座標変換マトリクスなどの描画時
に必要なパラメータデータも送られてくる。受け取った
コマンドが、フォントの場合には文字コードを、イメー
ジの場合はラスターデータを、グラフィックスの場合に
はベクターデータをベクター生成部12へ送る。図2
は、パラメータの説明図である。コマンドとして送られ
てくるパラメータとしては、例えば、図2に示すよう
に、座標変換の時に使用する変換マトリックスの要素、
描画する図形の色、クリッピングを行なう領域、相対座
標指定を行なう際に用いる現在の座標値、描画する線の
線幅および線端の形状、描画する線を接続する場合の接
続点における接続形状、文字を描画する際のタイプフェ
ースなどがある。これらのパラメータは、図示しない格
納部に格納され、適宜、各部で用いられる。The drawing data input unit 11 receives an input command, interprets the command, processes each command, and sends the interpreted result to the vector generation unit 12. As the command to be received, primitives such as graphics data, character code data and raster data, and parameter data necessary for drawing such as color designation and coordinate conversion matrix are also sent. If the received command is a font, a character code is sent, if it is an image, raster data is sent, and if it is graphics, vector data is sent to the vector generation unit 12. Figure 2
[Fig. 3] is an explanatory diagram of parameters. The parameters sent as a command are, for example, as shown in FIG. 2, elements of a transformation matrix used at the time of coordinate transformation,
The color of the figure to be drawn, the area to be clipped, the current coordinate value used when specifying the relative coordinates, the line width and line shape of the line to be drawn, the connection shape at the connection point when connecting the line to be drawn, There is a typeface when drawing characters. These parameters are stored in a storage unit (not shown) and appropriately used in each unit.
【0012】ベクター生成部12は、描画データ入力部
11から送られてくる描画すべきデータの種類に応じ
て、ベクターデータを作成する。描画すべきデータがフ
ォントであれば、文字コードからフォントデータ記憶部
13に蓄えられているベクターフォントデータを取り出
し、変換マトリクスなどのパラメータを用いて座標変換
等の処理を行ない、グラフィックエッジリスト生成部1
4へ、そのベクターデータを送る。描画すべきデータが
グラフィックスデータの場合は、ベクターデータに対し
てそのまま座標変換等の処理を行なって、グラフィック
エッジリスト生成部14へ送る。The vector generation section 12 creates vector data according to the type of data to be drawn sent from the drawing data input section 11. If the data to be drawn is a font, the vector font data stored in the font data storage unit 13 is extracted from the character code, processing such as coordinate conversion is performed using parameters such as a conversion matrix, and the graphic edge list generation unit is generated. 1
4, the vector data is sent. When the data to be drawn is graphics data, the vector data is directly subjected to processing such as coordinate conversion and sent to the graphic edge list generation unit 14.
【0013】グラフィックエッジリスト生成部14で
は、ベクター生成部12から送られてくるベクターデー
タから、n倍の大きさで処理したエッジリストを生成す
る。ベクター生成部12から送られてくるベクターデー
タには、ベクターデータ内を塗り潰すFill命令の場
合と、ベクターデータで指定された直線または曲線を描
画するStroke命令の場合が含まれる。もし、送ら
れてきたベクターがFill命令の場合には、実際の拡
大率のn倍の大きさで処理したエッジリストを生成す
る。また、Stroke命令の場合には、線幅や、線端
形状、接続形状などのパラメータを用いて、送られてき
たベクターデータのアウトラインベクターを発生し、さ
らに実際の拡大率のn倍の大きさで処理したエッジリス
トを生成する。図3は、2倍に拡大して作成したエッジ
リストの説明図である。図3では、Fill命令の場合
を示している。例えば、図3(A)に示したベクターデ
ータがグラフィックエッジリスト生成部14に入力され
ると、図3(B)に示したように各ベクターが2倍に拡
大され、拡大されたベクターに基づいて、各スキャンラ
インにおけるエッジ、すなわち、スキャンラインとベク
ターとの交点を求め、図3(C)に示すようなエッジリ
ストを生成する。エッジリストは、各スキャンラインに
対応して、塗り潰す領域の始点sxおよび終点exが格
納される。このとき、塗り潰す領域の色や濃度値のデー
タを一緒に格納することができる。上述の拡大処理およ
びエッジリストの作成により、従来、2倍の拡大で画像
のドット数が4倍となっていたのに比べ、本発明のエッ
ジリストのデータ量はスキャンラインが2倍、すなわ
ち、データ量として2倍になる程度である。しかも、ラ
スターデータよりもエッジリストのデータのほうがデー
タ量はすくなく、メモリ量を大幅に削減することができ
る。The graphic edge list generation unit 14 generates an edge list processed with a size n times larger than the vector data sent from the vector generation unit 12. The vector data sent from the vector generation unit 12 includes the case of the Fill instruction for filling the inside of the vector data and the case of the Stroke instruction for drawing the straight line or the curve specified by the vector data. If the transmitted vector is a Fill instruction, an edge list processed with a size n times the actual expansion rate is generated. In the case of the Stroke command, parameters such as line width, line end shape, and connection shape are used to generate an outline vector of the transmitted vector data, and the size is n times the actual enlargement ratio. Generate the edge list processed in. FIG. 3 is an explanatory diagram of the edge list created by enlarging the image twice. FIG. 3 shows the case of the Fill instruction. For example, when the vector data shown in FIG. 3 (A) is input to the graphic edge list generation unit 14, each vector is doubled as shown in FIG. 3 (B) and based on the expanded vector. Then, the edge in each scan line, that is, the intersection of the scan line and the vector is obtained, and an edge list as shown in FIG. 3C is generated. The edge list stores the start point sx and end point ex of the area to be filled, corresponding to each scan line. At this time, the color and density value data of the filled area can be stored together. By the enlargement processing and the creation of the edge list described above, the number of dots of the image has been quadrupled by the doubling of the image conventionally, but the data amount of the edge list of the present invention is twice that of the scan line, that is, The amount of data is about double. Moreover, the amount of data in the edge list is smaller than that in the raster data, and the amount of memory can be significantly reduced.
【0014】グレースケール処理部15では、グラフィ
ックエッジリスト生成部14で作成された、実際の拡大
率のn倍の大きさで処理されたエッジリストを受け取
り、nスキャンライン単位で参照して、図形のエッジと
判断される部分を、必要に応じてハーフトーンとするよ
うな、新たなエッジリストを発生させることにより、グ
レー処理を行なう。このグレー処理については後述す
る。このグレー処理はエッジリストを用い、新たにエッ
ジリストを生成するものであるので、従来ラスターデー
タを順次アクセスしていたのに比べ、アクセス回数を大
幅に減らすことができ、高速化を図ることができる。The gray scale processing unit 15 receives the edge list created by the graphic edge list creating unit 14 and processed at a size n times as large as the actual enlargement ratio, and refers to it in units of n scan lines to draw a graphic. Gray processing is performed by generating a new edge list that half-tones the portion that is determined to be the edge, if necessary. This gray processing will be described later. Since this gray processing uses the edge list to newly generate the edge list, the number of times of access can be significantly reduced compared to the case where the raster data was sequentially accessed in the past, and the speedup can be achieved. it can.
【0015】クリップ処理部16では、グレースケール
処理部15において作成されたエッジリストをクリップ
処理する。クリップ処理は、エッジリストの始点、終点
を参照し、クリップする領域外の始点、終点の座標値
を、クリップ領域の端の座標に修正することにより、行
なうことができる。クリップされた後のエッジリスト
を、エッジリストマージ部17へ送る。エッジリストマ
ージ部17では、図形ごとに処理され、送られてきたエ
ッジリストを、エッジリストメモリ18にページごとに
蓄える。蓄積に際しては、すでに蓄積している1ページ
全体のエッジリストと、現在入力されたエッジリストの
位置関係を比較して、重なりのある場合には、現在入力
されたエッジリストを優先に、エッジリストメモリ18
を書き直す。ラスタライズ部19では、エッジリストメ
モリ18からエッジリストを読み出し、ページメモリ2
0にラスター展開した結果を書き込む。プリンタ21
は、ページメモリ20からプリンタの走査に同期してラ
スターデータを読み出し印字を行なう。出力装置は、プ
リンタに限らず、表示装置等でもよいし、また、別の処
理手段への入力とすることもできる。The clip processing section 16 clips the edge list created by the gray scale processing section 15. The clipping process can be performed by referring to the start point and the end point of the edge list and correcting the coordinate values of the start point and the end point outside the clipping region to the coordinates of the end of the clipping region. The clipped edge list is sent to the edge list merging unit 17. In the edge list merging unit 17, the edge list that has been processed and sent for each figure is stored in the edge list memory 18 for each page. When storing, the edge list of the entire page that has already been stored is compared with the currently input edge list, and if there is overlap, the currently input edge list is given priority and the edge list is prioritized. Memory 18
Rewrite. The rasterizing unit 19 reads the edge list from the edge list memory 18, and the page memory 2
Write the result of raster expansion to 0. Printer 21
Reads raster data from the page memory 20 in synchronization with the scanning of the printer and prints it. The output device is not limited to the printer, and may be a display device or the like, or may be an input to another processing means.
【0016】グレースケール処理部15で行われるグレ
ー処理について説明する。図4乃至図15は、グレー処
理の一例の説明図である。ここでは、2倍の大きさで処
理されたエッジリストを受け取ってグレー処理を行なう
場合の例を示している。このグレー処理では、2スキャ
ンラインのエッジリストごとに処理を行ない、エッジリ
ストのX座標値の2ドット単位にみて、その位置関係の
違いにより処理を分け、さらに、2ドットの違いによっ
て、そのエッジリストに階調を平均化した色を与える場
合を示している。すなわち、2スキャンラインの2ドッ
トずつで、4ドットにおけるドットの個数に従った濃度
で描画されるように、エッジリストを生成する。The gray processing performed by the gray scale processing section 15 will be described. 4 to 15 are explanatory diagrams of an example of gray processing. Here, an example is shown in which an edge list processed with a size twice as large is received and gray processing is performed. In this gray processing, processing is performed for each edge list of two scan lines, the processing is divided according to the difference in the positional relationship with respect to the unit of 2 dots of the X coordinate value of the edge list. A case is shown in which a color having an average gradation is given to the list. That is, the edge list is generated so that every two dots in two scan lines are drawn with a density according to the number of dots in four dots.
【0017】まず、図4のS21において、2倍に拡大
されたスキャンラインの偶数ライン、すなわち、2nラ
インにエッジリストのデータが存在するか否かを判定す
る。そして、存在すれば、S22において、スキャンラ
イン2nの最初のエッジリストセルをエッジリストセル
0としてセットする。なければ、S23において、エン
ドフラグを1にセットする。次に、S24において、2
倍に拡大されたスキャンラインの奇数ライン、すなわ
ち、2n+1ラインにエッジリストのデータが存在する
か否かを判定する。そして、存在すれば、S25におい
て、スキャンライン2n+1の最初のエッジリストセル
をエッジリストセル1としてセットする。なければ、S
26において、エンドフラグを参照し、1であれば、偶
数ライン、奇数ラインともエッジデータがないと判断し
て、この2本のスキャンラインについての処理を終了
し、次のスキャンラインについての処理に移る。First, in S21 of FIG. 4, it is determined whether or not the edge list data exists in the even-numbered scan lines, that is, the 2n lines, which are doubled. If it exists, the first edge list cell of the scan line 2n is set as the edge list cell 0 in S22. If not, the end flag is set to 1 in S23. Next, in S24, 2
It is determined whether or not there is edge list data in the odd-numbered scan lines, that is, the 2n + 1 lines, which are doubled. If it exists, the first edge list cell of the scan line 2n + 1 is set as the edge list cell 1 in S25. If not, S
At 26, referring to the end flag, if it is 1, it is determined that there is no edge data for both even and odd lines, the processing for these two scan lines is terminated, and the processing for the next scan line is completed. Move.
【0018】S21またはS24において、エッジリス
トが存在すると、S27以降の処理に移る。まず、S2
7において、スキャンライン2nのエッジリストセルを
現在のエッジリストセル0とし、スキャンライン2n+
1のエッジリストセルを現在のエッジリストセル1とし
て、それぞれのエッジリストセルについて、始点のX座
標を2で割った値をsx0,sx1とし、そのときの余
りをsf0,sf1、終点のX座標を2で割った値をe
x0,ex1とし、そのときの余りをef0,ef1と
する。このときのsx0,sx1,ex0,ex1の値
によって場合分けし、それぞれの処理を行なう。この場
合分けのそれぞれの関係を図15に示す。図5のS28
において、sx0>ex1の場合は、図15(A)に示
すように、現在のエッジリストセル0と現在のエッジリ
ストセル1との上下方向の連続性がなく、エッジリスト
セル0がエッジリストセル1よりも右に存在する場合で
ある。この場合には、エッジリストセル1に対して、ハ
ーフトーンの上側のエッジを生成する。S29において
判定しているケースは、図15(B)に示すように、エ
ッジリストセルの始点のX座標の差が1ドット以内で、
エッジリストセル0の終点がエッジリストセル1の終点
よりも2ドット以上右側の場合である。また、S30に
おいて判定しているケースは、図15(C)に示すよう
に、エッジリストセルの始点および終点のX座標の差が
1ドット以内の場合である。S31において判定してい
るケースは、図15(D)に示すように、エッジリスト
セルの始点のX座標の差が1ドット以内で、エッジリス
トセル0の終点がエッジリストセル1の終点よりも2ド
ット以上左側の場合である。S32において、sx1>
ex0の場合は、図15(E)に示すように、エッジリ
ストセル0とエッジリストセル1との上下方向の連続性
がなく、エッジリストセル0がエッジリストセル1より
も左に存在する場合である。S33において判定してい
るケースは、図15(F)に示すように、エッジリスト
セル0の始点がエッジリストセル1の始点よりも左にあ
って、上下方向に連続している場合である。S34にお
いて判定しているケースは、図15(G)に示すよう
に、エッジリストセル0の始点がエッジリストセル1の
始点よりも右にあって、上下方向に連続している場合で
ある。このS33およびS34において判定しているケ
ースの場合には、エッジリストセルの左部分の処理を行
ない、その後、エッジリストセルの始点を揃えて上述の
図15(B)乃至(D)に示したようなエッジリストセ
ルの場合の処理を行なうことによって、エッジリストセ
ル全体の処理を行なう。S35では、エッジリストセル
0がなかった場合の処理、S37では、エッジリストセ
ル1がなかった場合の処理である。これらの場合では、
図形の上端または下端であると判断し、存在するエッジ
リストセルのデータのみを用いてハーフトーンのエッジ
を生成する。If there is an edge list in S21 or S24, the process proceeds to S27 and thereafter. First, S2
7, the edge list cell of the scan line 2n is set to the current edge list cell 0, and the scan line 2n +
The edge list cell of No. 1 is the current edge list cell 1, and for each edge list cell, the value obtained by dividing the X coordinate of the start point by 2 is set as sx0, sx1, and the remainder at that time is sf0, sf1 and the X coordinate of the end point. Value divided by 2 e
Let x0 and ex1, and the remainder at that time be ef0 and ef1. Depending on the values of sx0, sx1, ex0, and ex1 at this time, the respective processes are performed. FIG. 15 shows the respective relationships of this case division. S28 of FIG.
In the case of sx0> ex1, there is no vertical continuity between the current edge list cell 0 and the current edge list cell 1 as shown in FIG. This is the case when it exists to the right of 1. In this case, for the edge list cell 1, the upper halftone edge is generated. In the case where the determination is made in S29, as shown in FIG. 15B, the difference between the X coordinates of the start points of the edge list cells is within 1 dot,
This is a case where the end point of the edge list cell 0 is on the right side by 2 dots or more from the end point of the edge list cell 1. The case determined in S30 is a case where the difference between the X coordinates of the start point and the end point of the edge list cell is within 1 dot as shown in FIG. In the case determined in S31, as shown in FIG. 15D, the difference between the X coordinates of the start points of the edge list cells is within 1 dot, and the end point of edge list cell 0 is greater than the end point of edge list cell 1. This is the case of 2 dots or more on the left side. In S32, sx1>
In the case of ex0, as shown in FIG. 15 (E), there is no vertical continuity between the edge list cell 0 and the edge list cell 1, and the edge list cell 0 exists to the left of the edge list cell 1. Is. The case determined in S33 is a case where the start point of the edge list cell 0 is on the left of the start point of the edge list cell 1 and is continuous in the vertical direction, as shown in FIG. The case determined in S34 is a case where the starting point of the edge list cell 0 is on the right of the starting point of the edge list cell 1 and is continuous in the vertical direction, as shown in FIG. In the case where the determination is made in S33 and S34, the left part of the edge list cell is processed, and then the start points of the edge list cells are aligned and shown in FIGS. 15 (B) to (D). By performing the processing for such an edge list cell, the entire edge list cell is processed. S35 is a process when there is no edge list cell 0, and S37 is a process when there is no edge list cell 1. In these cases,
It is determined to be the upper or lower end of the figure, and the halftone edge is generated using only the data of the existing edge list cell.
【0019】以下、これらの場合の処理を順次説明す
る。まず、図15(A)に示すように、現在のエッジリ
ストセル0と現在のエッジリストセル1との上下方向の
連続性がなく、エッジリストセル0がエッジリストセル
1よりも右に存在する場合には、エッジリストセル1に
対応したグレー処理を行なう。すなわち、エッジリスト
セル1の始点、終点の2で割った余りsf1,ef1を
参照する。図6のS41において、sf1=0,ef1
=1の場合には、sx1からex1までの区間の全ての
ドットが存在していたことになるので、S42におい
て、描画する図形の濃度の50%の濃度でこの区間に描
画するように、エッジリストを生成する。S43におい
て、sf1=1,ef1=1の場合には、エッジの始点
sx1において、2ドットのうち1ドットしか存在しな
いので、S44において、エッジの始点sx1の点の
み、描画する図形の濃度の25%の濃度で描画し、残り
のsx1+1からex1までの区間は、50%の濃度で
描画するように、エッジリストを生成する。S45にお
いて、sf1=0,ef1=0の場合には、エッジの終
点ex1において、2ドットのうち1ドットしか存在し
ないので、S46において、エッジの始点sx1から終
点の手前の点ex1−1までの区間を50%の濃度で描
画し、終点ex1を25%の濃度で描画するようにエッ
ジリストを生成する。S47において、sf1=1,e
f1=0の場合には、エッジの始点、終点とも、2ドッ
トのうち1ドットしか存在しないので、S48におい
て、エッジの始点sx1と終点ex1を25%の濃度で
描画し、その間のsx1+1からex−1までの区間を
50%の濃度で描画するように、エッジリストを生成す
る。それぞれの処理が終了すると、エッジリストセル1
を、同じスキャンライン中の次に存在するエッジリスト
セルに替えて、図5のS35の処理に移る。The processing in these cases will be sequentially described below. First, as shown in FIG. 15A, there is no vertical continuity between the current edge list cell 0 and the current edge list cell 1, and the edge list cell 0 exists to the right of the edge list cell 1. In this case, gray processing corresponding to the edge list cell 1 is performed. That is, the remainders sf1 and ef1 obtained by dividing the start point and the end point of the edge list cell 1 by 2 are referred to. In S41 of FIG. 6, sf1 = 0, ef1
In the case of = 1, it means that all the dots in the section from sx1 to ex1 existed, so in S42, the edge is drawn so as to be drawn in this section at the density of 50% of the density of the figure to be drawn. Generate a list. In S43, if sf1 = 1 and ef1 = 1, there is only one dot of the two dots at the edge start point sx1. Therefore, in S44, only the point at the edge start point sx1 has a density of 25. The edge list is generated so that the image is drawn with a density of 50% and the remaining section from sx1 + 1 to ex1 is drawn with a density of 50%. In S45, when sf1 = 0 and ef1 = 0, only one dot out of two dots exists at the end point ex1 of the edge, so in S46, from the start point sx1 of the edge to the point ex1-1 before the end point. An edge list is generated so that the section is drawn with a density of 50% and the end point ex1 is drawn with a density of 25%. In S47, sf1 = 1, e
When f1 = 0, since only one dot out of two dots exists at both the start point and the end point of the edge, in S48, the start point sx1 and the end point ex1 of the edge are drawn with a density of 25%, and sx1 + 1 to ex between them are drawn. An edge list is generated so that the section up to -1 is drawn with a density of 50%. When each processing ends, edge list cell 1
Is replaced with an edge list cell existing next in the same scan line, and the process proceeds to S35 in FIG.
【0020】次に、図15(B)に示すように、エッジ
リストセルの始点sx0,sx1が等しく、エッジリス
トセル0の終点ex0がエッジリストセル1の終点ex
1よりも右側の場合について説明する。この場合には、
エッジリストセル0はスキャンライン2n+1の別のエ
ッジリストセルとも接続している場合が考えられる。そ
のため、エッジリストセル1の区間についてグレー処理
を行ない、エッジリストセル0については、エッジリス
トセル1の区間を切り離して、新たにエッジリストセル
0として、スキャンライン2n+1の次のエッジリスト
セルを用いてグレー処理を続行する。始点sx0,sx
1については、それぞれ1ドットの差を生じる場合があ
り、始点についてのグレー処理を行なう。また、エッジ
リストセル1の終点ex1についても、ex1に属する
ドット数に応じたグレー処理を行なう。Next, as shown in FIG. 15B, the start points sx0 and sx1 of the edge list cell are equal, and the end point ex0 of the edge list cell 0 is the end point ex of the edge list cell 1.
The case on the right side of 1 will be described. In this case,
The edge list cell 0 may be connected to another edge list cell of the scan line 2n + 1. Therefore, gray processing is performed for the section of the edge list cell 1, and for the edge list cell 0, the section of the edge list cell 1 is separated and a new edge list cell of the scan line 2n + 1 is used as a new edge list cell 0. To continue gray processing. Starting points sx0, sx
For 1, there may be a difference of 1 dot each, and the gray processing is performed for the starting point. Also, for the end point ex1 of the edge list cell 1, gray processing is performed according to the number of dots belonging to ex1.
【0021】図7のS51,S53はsf1=0,sf
0=0、すなわち、エッジの始点sx0,sx1に対応
するドットが2ドットずつ存在する場合であり、S51
では、エッジリストセル1の終点ex1に対応するドッ
トが2ドット存在する場合、S53では、終点ex1に
対応するドットが1ドットしか存在しない場合である。
前者の場合、S52において、始点sx1から終点ex
1までの全区間を100%の濃度で描画するように、エ
ッジリストを生成する。また、後者の場合には、S54
において、始点sx1から終点の手前の点ex1−1ま
での区間を100%の濃度で描画し、終点ex1を75
%の濃度で描画するように、エッジリストを生成する。In S51 and S53 of FIG. 7, sf1 = 0 and sf
0 = 0, that is, there are two dots corresponding to the start points sx0 and sx1 of the edge, and S51
Then, when there are two dots corresponding to the end point ex1 of the edge list cell 1, in S53, there is only one dot corresponding to the end point ex1.
In the former case, in S52, the start point sx1 to the end point ex
An edge list is generated so that all the sections up to 1 are drawn with a density of 100%. In the latter case, S54
, The section from the start point sx1 to the point ex1-1 before the end point is drawn with 100% density, and the end point ex1 is 75
Generate an edge list so that it is drawn with a density of%.
【0022】S55,S57,S59は、sf1=0,
sf0=1、すなわち、エッジリストセル0の始点sx
0に対応するドットが1ドットしか存在しない場合であ
る。この場合には、始点sx0(=sx1)を構成する
ためのドットは3つであるので、この点においてハーフ
トーン処理を行なう。終点については、エッジリストセ
ル1の終点ex1のドット数により処理を分ける。S5
5において、終点ex1に対応するドットが2ドット存
在すると判定された場合には、S56において、始点s
x1を75%の濃度で描画し、その次の点sx1+1か
ら終点ex1までの区間を100%の濃度で描画するよ
うに、エッジリストを生成する。終点ex1に対応する
ドットが1ドットしか存在しない場合には、エッジリス
トセル0の始点のドットとエッジリストセル1の終点の
ドットとが同じドット位置となる場合が考えられるの
で、エッジリストセル0の始点sx0がエッジリストセ
ル1の終点ex1と等しいか否か判定される。等しくな
い場合は、S57においてこれを判定し、S58におい
て、始点sx1を75%の濃度で描画し、その次の点s
x1+1から終点の手前の点ex1−1までの区間を1
00%の濃度で描画し、さらに、終点ex1を75%の
濃度で描画するように、エッジリストを生成する。S5
9において、sx0とex1とが等しいと判定された場
合には、sx1とex1が等しい場合であるから、始点
sx1を50%の濃度で描画するように、エッジリスト
を生成するのみである。In S55, S57, and S59, sf1 = 0,
sf0 = 1, that is, the starting point sx of the edge list cell 0
This is a case where only one dot corresponding to 0 exists. In this case, since there are three dots forming the starting point sx0 (= sx1), the halftone process is performed at this point. For the end point, the processing is divided according to the number of dots of the end point ex1 of the edge list cell 1. S5
If it is determined in 5 that there are two dots corresponding to the end point ex1, in S56, the start point s
An edge list is generated so that x1 is drawn with a density of 75%, and the next section from the point sx1 + 1 to the end point ex1 is drawn with a density of 100%. If there is only one dot corresponding to the end point ex1, the dot at the start point of the edge list cell 0 and the dot at the end point of the edge list cell 1 may be at the same dot position, so the edge list cell 0 It is determined whether the starting point sx0 of the same is equal to the ending point ex1 of the edge list cell 1. If they are not equal, this is determined in S57, the start point sx1 is drawn at a density of 75%, and the next point s is determined in S58.
The interval from x1 + 1 to the point ex1-1 before the end point is 1
An edge list is generated so that the density is 00% and the end point ex1 is drawn with a density of 75%. S5
When it is determined in step 9 that sx0 and ex1 are equal to each other, it means that sx1 and ex1 are equal to each other. Therefore, only the edge list is generated so that the start point sx1 is drawn with the density of 50%.
【0023】S61,S63は、sf1=1,sf0=
0、すなわち、エッジリストセル1の始点sx1が1ド
ットしか存在しない場合である。この場合には、始点s
x1(=sx0)を構成するためのドットは3つである
ので、この点においてハーフトーン処理を行なう。終点
については、エッジリストセル1の終点ex1のドット
数により処理を分ける。S61において、終点ex1に
対応するドットが2ドット存在すると判定された場合に
は、S62において、始点sx1を75%の濃度で描画
し、その次の点sx1+1から終点ex1までの区間を
100%の濃度で描画するように、エッジリストを生成
する。S63において、終点ex1に対応するドットが
1ドットしか存在しないと判定された場合には、S64
において、始点sx1を75%の濃度で描画し、その次
の点sx1+1から終点の手前の点ex1−1までの区
間を100%の濃度で描画し、さらに、終点ex1を7
5%の濃度で描画するように、エッジリストを生成す
る。In S61 and S63, sf1 = 1 and sf0 =
0, that is, the starting point sx1 of the edge list cell 1 is only 1 dot. In this case, the starting point s
Since there are three dots for forming x1 (= sx0), halftone processing is performed at this point. For the end point, the processing is divided according to the number of dots of the end point ex1 of the edge list cell 1. When it is determined in S61 that there are two dots corresponding to the end point ex1, in S62, the start point sx1 is drawn with a density of 75%, and the interval from the next point sx1 + 1 to the end point ex1 is 100%. Generate an edge list so that it is drawn with density. If it is determined in S63 that there is only one dot corresponding to the end point ex1, S64
, The start point sx1 is drawn with a density of 75%, the section from the next point sx1 + 1 to the point ex1-1 before the end point is drawn with a density of 100%, and the end point ex1 is set to 7
An edge list is generated so as to be drawn with a density of 5%.
【0024】S65,S67は、sf1=1,sf0=
1、すなわち、エッジリストセル0およびエッジリスト
セル1の始点がともに1ドットしか存在しない場合であ
る。この場合には、始点sx1(=sx0)を構成する
ためのドットは2つであるので、この点においてハーフ
トーン処理を行なう。終点については、エッジリストセ
ル1の終点ex1に対応するドット数により処理を分け
る。S65において、終点ex1に対応するドットが2
ドット存在すると判定された場合には、S66におい
て、始点sx1を50%の濃度で描画し、その次の点s
x1+1から終点ex1までの区間を100%の濃度で
描画するように、エッジリストを生成する。S67にお
いて、終点ex1に対応するドットが1ドットしか存在
しないと判定された場合には、S68において、始点s
x1を50%の濃度で描画し、その次の点sx1+1か
ら終点の手前の点ex1−1までの区間を100%の濃
度で描画し、さらに、終点ex1を75%の濃度で描画
するように、エッジリストを生成する。In S65 and S67, sf1 = 1 and sf0 =
1, that is, the start points of the edge list cell 0 and the edge list cell 1 are both 1 dot. In this case, since there are two dots for forming the starting point sx1 (= sx0), halftone processing is performed at this point. For the end point, the processing is divided according to the number of dots corresponding to the end point ex1 of the edge list cell 1. In S65, the dot corresponding to the end point ex1 is 2
If it is determined that there is a dot, the start point sx1 is drawn at a density of 50% in S66, and the next point sx1 is drawn.
An edge list is generated so that the section from x1 + 1 to the end point ex1 is drawn with a density of 100%. If it is determined in S67 that only one dot corresponding to the end point ex1 exists, the start point s is determined in S68.
x1 is drawn with a density of 50%, the section from the next point sx1 + 1 to the point ex1-1 before the end point is drawn with a density of 100%, and the end point ex1 is drawn with a density of 75%. , Generate an edge list.
【0025】上述のS51乃至S68において、それぞ
れの場合に応じたエッジリストを生成した後、エッジリ
ストセル0のエッジリストセル1よりも長い部分に対し
て、スキャンライン2n+1の他のエッジリストセルと
の関係を検査するため、S69において、エッジリスト
セル0の始点sx0を、エッジリストセル1の終点の次
の点ex1+1とし、この点におけるドット数を2ドッ
ト存在するようにsf0を0に設定し、スキャンライン
2n+1の次のエッジリストセルを新たなエッジリスト
セル1として、図5のS35の処理に移る。In S51 to S68 described above, after the edge list corresponding to each case is generated, the portion of the edge list cell 0 longer than the edge list cell 1 is replaced with another edge list cell of the scan line 2n + 1. In order to inspect the relationship of the above, in S69, the starting point sx0 of the edge list cell 0 is set to the point ex1 + 1 next to the ending point of the edge list cell 1, and sf0 is set to 0 so that there are two dots at this point. , The next edge list cell of the scan line 2n + 1 is set as a new edge list cell 1, and the process proceeds to S35 of FIG.
【0026】次に、図15(C)に示すように、エッジ
リストセルの始点および終点が等しい場合について説明
する。この場合には、エッジリストセルの始点、終点に
おいて、その点に属するドット数により、グレー処理を
行なう。Next, as shown in FIG. 15C, a case where the start points and the end points of the edge list cells are the same will be described. In this case, at the start point and the end point of the edge list cell, gray processing is performed according to the number of dots belonging to the point.
【0027】図8のS71,S73,S75はsf1=
0,sf0=0、すなわち、エッジの始点sx0,sx
1に対応するドットが2ドットずつ存在する場合であ
り、S71では、エッジの終点に対応するドットが2ド
ットずつ存在する場合、S73では、終点に対応するド
ットが1ドットずつ存在する場合、S75はその他の終
点のドット構成の場合、すなわち、エッジドットセル0
が2ドット存在し、エッジドットセル1が1ドットしか
存在しない、または、その逆の場合である。S71にお
いて、始点、終点とも2ドットずつ存在すると判断され
る場合には、S72において、始点sx0から終点ex
0までの全区間を100%の濃度で描画するように、エ
ッジリストを生成する。S73において、始点は2ドッ
トずつ存在し、終点は1ドットずつ存在すると判断され
る場合には、S74において、始点sx0から終点の手
前の点ex0−1までの区間を100%の濃度で描画
し、終点ex0を50%の濃度で描画するように、エッ
ジリストを生成する。S75において、始点は2ドット
ずつ存在し、終点は1ドットと2ドットのラインが存在
すると判断される場合には、S76において、始点sx
0から終点の手前の点ex0−1までの区間を100%
の濃度で描画し、終点ex0を75%の濃度で描画する
ように、エッジリストを生成する。In S71, S73 and S75 of FIG. 8, sf1 =
0, sf0 = 0, that is, the starting points sx0, sx of the edge
When there are two dots corresponding to 1 in step S71, two dots corresponding to the end point of the edge exist in step S71, and in step S73 when one dot corresponding to the end point exists in step S75. Is for dot configurations at other end points, that is, edge dot cell 0
Is 2 dots and the edge dot cell 1 has only 1 dot, or vice versa. If it is determined in S71 that there are two dots for each of the start point and the end point, the start point sx0 to the end point ex are determined in S72.
An edge list is generated so that all the sections up to 0 are drawn with a density of 100%. If it is determined in S73 that the starting point is 2 dots each and the ending point is 1 dot each, in S74, the section from the starting point sx0 to the point ex0-1 before the ending point is drawn with 100% density. , An edge list is generated so that the end point ex0 is drawn with a density of 50%. If it is determined in S75 that the starting point is 2 dots each and the ending point is a line of 1 dot and 2 dots, in S76, the starting point sx
100% in the section from 0 to the point ex0-1 before the end point
The edge list is generated so that the end point ex0 is drawn at a density of 75%.
【0028】S77,S79,S81は、sf1=1,
sf0=1、すなわち、エッジリストセルの始点に対応
するドットが1ドットずつしか存在しない場合である。
この場合には、始点sx0(=sx1)を形成するドッ
トは2つであるので、この点においてハーフトーン処理
を行なう。終点については、エッジリストセルの終点に
対応するドット数により処理を分ける。S77におい
て、終点に対応するドットが2ドットずつ存在すると判
定された場合には、S78において、始点sx0を50
%の濃度で描画し、その次の点sx0+1から終点ex
0までの区間を100%の濃度で描画するように、エッ
ジリストを生成する。S79において、終点に対応する
ドットが1ドットずつしか存在しないと判定された場合
には、S80において、始点sx0を50%の濃度で描
画し、その次の点sx0+1から終点の手前の点ex0
−1までの区間を100%の濃度で描画し、終点ex0
を50%の濃度で描画するように、エッジリストを生成
する。S81において、終点に対応するドットが1ドッ
トのラインと2ドットのラインが存在すると判断される
場合には、始点sx0を50%の濃度で描画し、その次
の点sx0+1から終点の手前の点ex0−1までの区
間を100%の濃度で描画し、終点ex0を75%の濃
度で描画するように、エッジリストを生成する。In S77, S79 and S81, sf1 = 1,
This is the case where sf0 = 1, that is, there is only one dot corresponding to the start point of the edge list cell.
In this case, since there are two dots forming the starting point sx0 (= sx1), halftone processing is performed at this point. For the end point, the processing is divided according to the number of dots corresponding to the end point of the edge list cell. If it is determined in S77 that there are two dots each corresponding to the end point, the start point sx0 is set to 50 in S78.
%, And draw from the next point sx0 + 1 to end point ex
An edge list is generated so that the section up to 0 is drawn with a density of 100%. If it is determined in S79 that there is only one dot corresponding to the end point, the start point sx0 is drawn at a density of 50% in S80, and the point ex0 immediately before the end point is drawn from the next point sx0 + 1.
The section up to -1 is drawn with 100% density, and the end point ex0
The edge list is generated so that is drawn at a density of 50%. If it is determined in S81 that there is a line of 1 dot and a line of 2 dots corresponding to the end point, the start point sx0 is drawn at a density of 50%, and the point from the next point sx0 + 1 to the point before the end point is drawn. An edge list is generated so that the section up to ex0-1 is drawn with a density of 100% and the end point ex0 is drawn with a density of 75%.
【0029】S83,S85は、sf1=1,sf0=
0、または、sf1=0,sf0=1、すなわち、一方
のエッジリストセルの始点に対応するドットが2ドット
存在し、他方のエッジリストセルの始点に対応するドッ
トが1ドットしか存在しない場合である。この場合に
は、始点sx0(=sx1)を形成するドットは3つで
あるので、この点においてハーフトーン処理を行なう。
終点については、エッジリストセルの終点に対応するド
ット数により処理を分ける。S83において、終点に対
応するドットが2ドットずつ存在すると判定された場合
には、S84において、始点sx0を75%の濃度で描
画し、その次の点sx0+1から終点ex0までの区間
を100%の濃度で描画するように、エッジリストを生
成する。S85において、終点に対応するドットが1ド
ットずつしか存在しないと判定された場合には、S86
において、始点sx1を75%の濃度で描画し、その次
の点sx1+1から終点の手前の点ex1−1までの区
間を100%の濃度で描画し、さらに、終点ex1を5
0%の濃度で描画するように、エッジリストを生成す
る。これら以外の、終点に対応するドットが1ドットの
ラインと2ドットのラインが存在する場合には、S87
において、始点sx1を75%の濃度で描画し、その次
の点sx1+1から終点の手前の点ex1−1までの区
間を100%の濃度で描画し、さらに、終点ex1を7
5%の濃度で描画するように、エッジリストを生成す
る。In S83 and S85, sf1 = 1 and sf0 =
0, or sf1 = 0, sf0 = 1, that is, there are two dots corresponding to the start point of one edge list cell and only one dot corresponding to the start point of the other edge list cell. is there. In this case, since the starting point sx0 (= sx1) has three dots, the halftone process is performed at this point.
For the end point, the processing is divided according to the number of dots corresponding to the end point of the edge list cell. If it is determined in S83 that there are two dots corresponding to the end point, in S84, the start point sx0 is drawn with a density of 75%, and the interval from the next point sx0 + 1 to the end point ex0 is 100%. Generate an edge list so that it is drawn with density. When it is determined in S85 that there is only one dot corresponding to the end point, S86 is performed.
, The start point sx1 is drawn with a density of 75%, the section from the next point sx1 + 1 to the point ex1-1 before the end point is drawn with a density of 100%, and the end point ex1 is 5
An edge list is generated so as to be drawn with a density of 0%. In addition to these lines, if there is a line of 1 dot and a line of 2 dots corresponding to the end point, S87
, The start point sx1 is drawn with a density of 75%, the section from the next point sx1 + 1 to the point ex1-1 before the end point is drawn with a density of 100%, and the end point ex1 is set to 7
An edge list is generated so as to be drawn with a density of 5%.
【0030】上述のS71乃至S87において、それぞ
れの場合に応じたエッジリストを生成した後、スキャン
ライン2nおよびスキャンライン2n+1とも、S88
において、各スキャンラインの次のエッジリストセルを
新たなエッジリストセル0,1として、図5のS35の
処理に移る。After the edge list corresponding to each case is generated in S71 to S87 described above, S88 is executed for both the scan line 2n and the scan line 2n + 1.
5, the next edge list cell of each scan line is set as new edge list cells 0 and 1, and the process proceeds to S35 of FIG.
【0031】次に、図15(D)に示すように、エッジ
リストセルの始点sx0,sx1が等しく、エッジリス
トセル0の終点ex0がエッジリストセル1の終点ex
1よりも左側の場合について説明する。この場合には、
エッジリストセル1はスキャンライン2nの別のエッジ
リストセルとも接続している場合が考えられる。そのた
め、エッジリストセル0の区間についてグレー処理を行
ない、エッジリストセル1については、エッジリストセ
ル0の区間を切り離して、新たにエッジリストセル1と
して、スキャンライン2nの次のエッジリストセルを用
いてグレー処理を続行する。始点sx0,sx1につい
ては、それぞれ1ドットの差を生じる場合があり、始点
についてのグレー処理を行なう。また、エッジリストセ
ル0の終点ex0についても、ex0に属するドット数
に応じたグレー処理を行なう。Next, as shown in FIG. 15D, the start points sx0 and sx1 of the edge list cell are equal, and the end point ex0 of the edge list cell 0 is the end point ex of the edge list cell 1.
The case on the left side of 1 will be described. In this case,
The edge list cell 1 may be connected to another edge list cell of the scan line 2n. Therefore, gray processing is performed for the section of the edge list cell 0, and for the edge list cell 1, the section of the edge list cell 0 is separated and a new edge list cell of the scan line 2n is newly used as the edge list cell 1. To continue gray processing. A difference of 1 dot may occur between the starting points sx0 and sx1, and gray processing is performed on the starting points. Further, the end point ex0 of the edge list cell 0 is also subjected to gray processing according to the number of dots belonging to ex0.
【0032】図9のS91,S93はsf0=0,sf
1=0、すなわち、エッジの始点sx0,sx1に対応
するドットが2ドットずつ存在する場合であり、S91
では、エッジリストセル0の終点ex0が2ドット存在
する場合、S93では、終点ex0に対応するドットが
1ドットしか存在しない場合である。前者の場合、S9
2において、始点sx0から終点ex0までの全区間を
100%の濃度で描画するように、エッジリストを生成
する。また、後者の場合には、S94において、始点s
x0から終点の手前の点ex0−1までの区間を100
%の濃度で描画し、終点ex0を75%の濃度で描画す
るように、エッジリストを生成する。In S91 and S93 of FIG. 9, sf0 = 0 and sf
1 = 0, that is, there are two dots corresponding to the start points sx0 and sx1 of the edge, and S91
Then, when the end point ex0 of the edge list cell 0 has two dots, in S93, there is only one dot corresponding to the end point ex0. In the former case, S9
In 2, the edge list is generated so that the entire section from the start point sx0 to the end point ex0 is drawn with 100% density. In the latter case, in S94, the starting point s
100 from the point from x0 to the point ex0-1 before the end point
The edge list is generated so that the end point ex0 is drawn at a density of 75%.
【0033】S95,S97,S99は、sf0=0,
sf1=1、すなわち、エッジリストセル1の始点sx
1に対応するドットが1ドットしか存在しない場合であ
る。この場合には、始点sx0(=sx1)を形成する
ドットは3つであるので、この点においてハーフトーン
処理を行なう。終点については、エッジリストセル0の
終点ex0に対応するドット数により処理を分ける。S
95において、終点ex0に対応するドットが2ドット
存在すると判定された場合には、S96において、始点
sx0を75%の濃度で描画し、その次の点sx0+1
から終点ex0までの区間を100%の濃度で描画する
ように、エッジリストを生成する。終点ex0に対応す
るドットが1ドットしか存在しない場合には、エッジリ
ストセル1の始点のドットとエッジリストセル0の終点
のドットとが同じドット位置となる場合が考えられるの
で、エッジリストセル1の始点sx1がエッジリストセ
ル0の終点ex0と等しいか否か判定される。等しくな
い場合は、S97においてこれを判定し、S98におい
て、始点sx0を75%の濃度で描画し、その次の点s
x0+1から終点の手前の点ex0−1までの区間を1
00%の濃度で描画し、さらに、終点ex0を75%の
濃度で描画するように、エッジリストを生成する。S9
9において、sx1とex0とが等しいと判定された場
合には、sx0とex0が等しい場合であるから、始点
sx0を50%の濃度で描画するように、エッジリスト
を生成するのみである。In S95, S97 and S99, sf0 = 0,
sf1 = 1, that is, the starting point sx of the edge list cell 1
This is the case where there is only one dot corresponding to 1. In this case, since the starting point sx0 (= sx1) has three dots, the halftone process is performed at this point. For the end point, the processing is divided according to the number of dots corresponding to the end point ex0 of the edge list cell 0. S
If it is determined in 95 that there are two dots corresponding to the end point ex0, in S96 the start point sx0 is drawn with a density of 75%, and the next point sx0 + 1
The edge list is generated so that the section from the end point to the end point ex0 is drawn with the density of 100%. If there is only one dot corresponding to the end point ex0, the dot at the start point of the edge list cell 1 and the dot at the end point of the edge list cell 0 may be at the same dot position. It is determined whether the starting point sx1 of the edge list cell 0 is equal to the ending point ex0 of the edge list cell 0. If they are not equal, this is determined in S97, the start point sx0 is drawn with a density of 75%, and the next point s is determined in S98.
Set the interval from x0 + 1 to the point ex0-1 before the end point as 1
An edge list is generated so that the density is 00% and the end point ex0 is drawn with a density of 75%. S9
When it is determined in step 9 that sx1 and ex0 are equal to each other, it means that sx0 and ex0 are equal to each other. Therefore, only the edge list is generated so that the starting point sx0 is drawn with the density of 50%.
【0034】S101,S103は、sf0=1,sf
1=0、すなわち、エッジリストセル0の始点sx0に
対応するドットが1ドットしか存在しない場合である。
この場合には、始点sx0(=sx1)を形成するドッ
トは3つであるので、この点においてハーフトーン処理
を行なう。終点については、エッジリストセル0の終点
ex0のドット数により処理を分ける。S101におい
て、終点ex0に対応するドットが2ドット存在すると
判定された場合には、S102において、始点sx0を
75%の濃度で描画し、その次の点sx0+1から終点
ex0までの区間を100%の濃度で描画するように、
エッジリストを生成する。S103において、終点ex
0に対応するドットが1ドットしか存在しないと判定さ
れた場合には、S104において、始点sx0を75%
の濃度で描画し、その次の点sx0+1から終点の手前
の点ex0−1までの区間を100%の濃度で描画し、
さらに、終点ex0を75%の濃度で描画するように、
エッジリストを生成する。In S101 and S103, sf0 = 1 and sf
1 = 0, that is, there is only one dot corresponding to the starting point sx0 of the edge list cell 0.
In this case, since the starting point sx0 (= sx1) has three dots, the halftone process is performed at this point. For the end point, the processing is divided according to the number of dots of the end point ex0 of the edge list cell 0. If it is determined in S101 that there are two dots corresponding to the end point ex0, in S102 the start point sx0 is drawn with a density of 75%, and the interval from the next point sx0 + 1 to the end point ex0 is 100%. So that it draws with density
Generate an edge list. In S103, the end point ex
When it is determined that there is only one dot corresponding to 0, the start point sx0 is 75% in S104.
Is drawn with the density of, and the section from the next point sx0 + 1 to the point ex0-1 before the end point is drawn with the density of 100%.
Furthermore, the end point ex0 is drawn with a density of 75%,
Generate an edge list.
【0035】S105,S107は、sf0=1,sf
1=1、すなわち、エッジリストセル0およびエッジリ
ストセル1の始点に対応するドットがともに1ドットし
か存在しない場合である。この場合には、始点sx0
(=sx1)に対応するドットは2つであるので、この
点においてハーフトーン処理を行なう。終点について
は、エッジリストセル0の終点ex0のドット数により
処理を分ける。S105において、終点ex0に対応す
るドットが2ドット存在すると判定された場合には、S
106において、始点sx0を50%の濃度で描画し、
その次の点sx0+1から終点ex0までの区間を10
0%の濃度で描画するように、エッジリストを生成す
る。S107において、終点ex0に対応するドットが
1ドットしか存在しないと判定された場合には、S10
8において、始点sx0を50%の濃度で描画し、その
次の点sx0+1から終点の手前の点ex0−1までの
区間を100%の濃度で描画し、さらに、終点ex0を
75%の濃度で描画するように、エッジリストを生成す
る。In S105 and S107, sf0 = 1 and sf
1 = 1, that is, there is only one dot corresponding to the start points of the edge list cell 0 and the edge list cell 1. In this case, the starting point sx0
Since there are two dots corresponding to (= sx1), halftone processing is performed at this point. For the end point, the processing is divided according to the number of dots of the end point ex0 of the edge list cell 0. When it is determined in S105 that there are two dots corresponding to the end point ex0, S
At 106, the starting point sx0 is drawn with a density of 50%,
The section from the next point sx0 + 1 to the end point ex0 is 10
An edge list is generated so as to be drawn with a density of 0%. If it is determined in S107 that there is only one dot corresponding to the end point ex0, S10
8, the starting point sx0 is drawn with a density of 50%, the section from the next point sx0 + 1 to the point ex0-1 before the ending point is drawn with a density of 100%, and the ending point ex0 is drawn with a density of 75%. Generate an edge list as you draw.
【0036】上述のS91乃至S108において、それ
ぞれの場合に応じたエッジリストを生成した後、エッジ
リストセル1のエッジリストセル0よりも長い部分に対
して、スキャンライン2nの他のエッジリストセルとの
関係を検査するため、S109において、エッジリスト
セル1の始点sx1を、エッジリストセル0の終点の次
の点ex0+1とし、この点に対応するドット数を2ド
ット存在するようにsf1を0に設定し、スキャンライ
ン2nの次のエッジリストセルを新たなエッジリストセ
ル0として、図5のS35の処理に移る。In steps S91 to S108 described above, after the edge list corresponding to each case is generated, the portion of the edge list cell 1 longer than the edge list cell 0 is replaced with another edge list cell of the scan line 2n. In order to inspect the relationship of sf1 in S109, the start point sx1 of the edge list cell 1 is set to a point ex0 + 1 next to the end point of the edge list cell 0, and sf1 is set to 0 so that there are two dots corresponding to this point. The edge list cell next to the scan line 2n is set as a new edge list cell 0, and the process proceeds to S35 in FIG.
【0037】次に、図15(E)に示したように、エッ
ジリストセル0の終点ex0がエッジリストセルの始点
sx1よりも左側にあり、上下方向に接続していない場
合について説明する。この場合には、エッジリストセル
0が上下方向の端であると判断し、エッジリストセル0
についてグレー処理を行なう。Next, as shown in FIG. 15E, a case will be described in which the end point ex0 of the edge list cell 0 is on the left side of the start point sx1 of the edge list cell and they are not connected vertically. In this case, it is determined that the edge list cell 0 is the edge in the vertical direction, and the edge list cell 0
Gray processing is performed on.
【0038】図10のS111において、エッジリスト
セル0の始点sx0、終点ex0とも、対応するドット
が2ドットずつ存在すると判断される場合には、S11
2において、始点sx0、終点ex0の区間を50%の
濃度で描画するように、エッジリストを生成する。S1
13において、エッジリストセル0の終点sx1に対応
するドットは2ドット存在するが、始点ex0に対応す
るドットが1ドットしか存在しないと判断される場合に
は、S114において、始点sx0を25%の濃度で描
画し、始点の次の点sx0+1から終点ex0の区間を
50%の濃度で描画するように、エッジリストを生成す
る。S115において、エッジリストセル0の始点ex
0に対応するドットは2ドット存在するが、終点sx1
に対応するドットが1ドットしか存在しないと判断され
る場合には、S116において、始点sx0から終点の
手前の点ex0−1までの区間を50%の濃度で描画
し、終点ex0を25%の濃度で描画するように、エッ
ジリストを生成する。S117において、エッジリスト
セル0の始点sx0、終点ex0とも、対応するドット
が1ドットずつしか存在しないと判断される場合には、
S118において、始点sx0を25%の濃度で描画
し、始点の次の点sx0+1から終点の手前の点ex0
−1までの区間を50%の濃度で描画し、終点ex0を
25%の濃度で描画するように、エッジリストを生成す
る。上述のエッジリストの生成処理が終了すると、スキ
ャンライン2nのエッジリストセルを次のエッジリスト
セルにして、図5のS35の処理に移る。In S111 of FIG. 10, if it is determined that there are two dots corresponding to both the start point sx0 and the end point ex0 of the edge list cell 0, S11 is determined.
In 2, the edge list is generated so that the section of the start point sx0 and the end point ex0 is drawn with the density of 50%. S1
In 13 there are 2 dots corresponding to the end point sx1 of the edge list cell 0, but if it is determined that there is only 1 dot corresponding to the start point ex0, then in S114 the start point sx0 is set to 25%. The edge list is generated so that the area is drawn with the density and the area from the point sx0 + 1 next to the start point to the end point ex0 is drawn with the density of 50%. In S115, the starting point ex of the edge list cell 0
There are two dots corresponding to 0, but the end point sx1
If it is determined that there is only one dot corresponding to, the area from the start point sx0 to the point ex0-1 before the end point is drawn at 50% density in S116, and the end point ex0 is set to 25%. Generate an edge list so that it is drawn with density. If it is determined in S117 that the start point sx0 and end point ex0 of the edge list cell 0 have corresponding dots only one by one,
In S118, the start point sx0 is drawn with a density of 25%, and the point sx0 + 1 next to the start point to the point ex0 before the end point is drawn.
An edge list is generated so that the section up to -1 is drawn with a density of 50% and the end point ex0 is drawn with a density of 25%. When the above-described edge list generation process is completed, the edge list cell of the scan line 2n is set as the next edge list cell, and the process proceeds to S35 of FIG.
【0039】次に、図15(F)に示したように、エッ
ジリストセル0の始点がエッジリストセル1の始点より
左にあって、上下で重なる部分が存在する場合について
説明する。この場合には、エッジリストセル0の、エッ
ジリスト1の始点より左側の部分に関してのみ、まずグ
レー処理を行ない、両方のエッジリストセルの始点を等
しくして、さらにグレー処理を行なう。Next, as shown in FIG. 15 (F), the case where the starting point of the edge list cell 0 is on the left of the starting point of the edge list cell 1 and there is a vertically overlapping portion will be described. In this case, the gray processing is first performed only on the part of the edge list cell 0 on the left side of the starting point of the edge list 1, the starting points of both edge list cells are made equal, and the gray processing is further performed.
【0040】図11のS121において、エッジリスト
セル0の始点sx0に対応するドットが2ドット存在す
ると判断される場合には、S122において、エッジリ
ストセル0の始点sx0から、エッジリストセル1の始
点の手前の点sx1−1までの区間を50%の濃度で描
画するように、エッジリストを生成する。また、それ以
外の場合、すなわち、エッジリストセル0の始点sx0
に対応するドットが1ドットしか存在しない場合には、
S123において、エッジリストセル0の始点sx0を
25%の濃度で描画し、エッジリストセル0の始点の次
の点sx0+1からエッジリストセル1の始点の手前の
点sx1−1までの区間を50%の濃度で描画するよう
に、エッジリストを生成する。これらのエッジリストの
生成処理を行なった後、S124において、エッジリス
トセル0の始点をエッジリストセル1の始点sx1に設
定し、またその点に対応するドットが2ドット存在する
ように、sf0の値を設定して、図5のS35の処理に
移る。If it is determined in S121 of FIG. 11 that there are two dots corresponding to the starting point sx0 of the edge list cell 0, the starting point of the edge list cell 1 is changed from the starting point sx0 of the edge list cell 0 in S122. The edge list is generated so that the section up to the point sx1-1 before is drawn at a density of 50%. In other cases, that is, the starting point sx0 of the edge list cell 0
If there is only one dot corresponding to,
In S123, the starting point sx0 of the edge list cell 0 is drawn with a density of 25%, and the section from the point sx0 + 1 next to the starting point of the edge list cell 0 to the point sx1-1 before the starting point of the edge list cell 1 is 50%. An edge list is generated so as to be drawn with the density of. After performing these edge list generation processing, in S124, the start point of the edge list cell 0 is set to the start point sx1 of the edge list cell 1, and sf0 is set so that there are two dots corresponding to the point. The value is set, and the process proceeds to S35 of FIG.
【0041】次に、図15(G)に示したように、エッ
ジリストセル0の始点がエッジリストセル1の始点より
右にあって、上下で重なる部分が存在する場合について
説明する。この場合には、エッジリストセル1の、エッ
ジリスト0の始点より左側の部分に関してのみ、まずグ
レー処理を行ない、両方のエッジリストセルの始点を等
しくして、さらにグレー処理を行なう。Next, as shown in FIG. 15G, the case where the starting point of the edge list cell 0 is on the right of the starting point of the edge list cell 1 and there is a vertically overlapping portion will be described. In this case, the gray processing is first performed only on the part of the edge list cell 1 on the left side of the starting point of the edge list 0, the starting points of both edge list cells are made equal, and the gray processing is further performed.
【0042】図12のS131において、エッジリスト
セル1の始点sx1に対応するドットが2ドット存在す
ると判断される場合には、S132において、エッジリ
ストセル1の始点sx1から、エッジリストセル0の始
点の手前の点sx0−1までの区間を50%の濃度で描
画するように、エッジリストを生成する。また、それ以
外の場合、すなわち、エッジリストセル1の始点sx1
に対応するドットが1ドットしか存在しない場合には、
S133において、エッジリストセル1の始点sx1を
25%の濃度で描画し、エッジリストセル1の始点の次
の点sx1+1からエッジリストセル0の始点の手前の
点sx0−1までの区間を50%の濃度で描画するよう
に、エッジリストを生成する。これらのエッジリストの
生成処理を行なった後、S134において、エッジリス
トセル1の始点をエッジリストセル0の始点sx0に設
定し、またその点に対応するドットが2ドット存在する
ように、sf1の値を設定して、図5のS35の処理に
移る。When it is determined in S131 of FIG. 12 that there are two dots corresponding to the starting point sx1 of the edge list cell 1, the starting point of the edge list cell 0 is changed from the starting point sx1 of the edge list cell 1 in S132. The edge list is generated so that the section up to the point sx0-1 before is drawn at a density of 50%. In other cases, that is, the starting point sx1 of the edge list cell 1
If there is only one dot corresponding to,
In S133, the starting point sx1 of the edge list cell 1 is drawn with a density of 25%, and the section from the point sx1 + 1 next to the starting point of the edge list cell 1 to the point sx0-1 before the starting point of the edge list cell 0 is 50%. An edge list is generated so as to be drawn with the density of. After performing these edge list generation processes, in S134, the starting point of the edge list cell 1 is set to the starting point sx0 of the edge list cell 0, and sf1 is set so that there are two dots corresponding to that point. The value is set, and the process proceeds to S35 of FIG.
【0043】次に、エッジリストセル0またはエッジリ
ストセル1のどちらか一方しか存在しない場合について
説明する。どちらか一方しか存在しない場合には、存在
するエッジリストセルのみにより、エッジリストを生成
する。この場合、存在しているエッジリストセルは、描
画する図形の上端または下端の場合が考えられるので、
全区間にわたり、ハーフトーンで描画する。Next, the case where only one of the edge list cell 0 and the edge list cell 1 exists will be described. If only one of them exists, the edge list is generated only from the existing edge list cells. In this case, the existing edge list cell may be at the top or bottom of the figure to be drawn.
Draw in halftone over the entire section.
【0044】まず、図13のS141において、エッジ
リストセルの始点sxおよび終点exに対応するドット
がともに2ドットずつ存在すると判断される場合には、
S142において、始点sxおよび終点exの区間を5
0%の濃度で描画するように、エッジリストを生成す
る。S143において、エッジリストセルの始点に対応
するドットは2ドット存在するが、終点に対応するドッ
トが1ドットしか存在しないと判断される場合には、S
144において、エッジリストセルの始点sxから終点
の手前の点ex−1までの区間を50%の濃度で描画
し、終点exを25%の濃度で描画するように、エッジ
リストを生成する。S145において、エッジリストセ
ルの終点に対応するドットは2ドット存在するが、始点
に対応するドットが1ドットしか存在しないと判断され
る場合には、S146において、エッジリストセルの始
点sxを25%の濃度で描画し、始点の次の点sx+1
から終点exまでの区間を50%の濃度で描画するよう
にエッジリストを生成する。S147において、エッジ
リストの始点、終点とも、対応するドットが1ドットし
か存在しないと判断される場合には、S148におい
て、始点sxを25%の濃度で、始点の次の点sx+1
から終点の手前の点ex−1までの区間を50%の濃度
で、終点exを25%の濃度で描画するように、エッジ
リストを生成する。First, in S141 of FIG. 13, when it is determined that there are two dots each corresponding to the start point sx and the end point ex of the edge list cell,
In S142, the section between the start point sx and the end point ex is set to 5
An edge list is generated so as to be drawn with a density of 0%. If it is determined in S143 that there are two dots corresponding to the start point of the edge list cell but only one dot corresponding to the end point, S
In 144, the edge list is generated so that the section from the start point sx of the edge list cell to the point ex-1 before the end point is drawn with a density of 50% and the end point ex is drawn with a density of 25%. In S145, there are two dots corresponding to the end point of the edge list cell, but when it is determined that there is only one dot corresponding to the start point, in S146 the start point sx of the edge list cell is 25%. Drawn at the density of, and the next point sx + 1 from the start point
An edge list is generated so that the section from the end point to the end point ex is drawn with a density of 50%. If it is determined in S147 that there is only one dot corresponding to both the start point and the end point of the edge list, the start point sx is 25% density and the point sx + 1 next to the start point is determined in S148.
The edge list is generated so that the section from the point ex to the point ex-1 before the end point is drawn with a density of 50% and the end point ex is drawn with a density of 25%.
【0045】上述のエッジリストの生成は、まず、図1
4のS151において、生成するエッジリストの始点と
終点の大小を比較し、始点が終点と同じ若しくは小さい
値を有しているときのみ、与えられた始点、終点、それ
に描画濃度の割合のデータを出力する。このとき、描画
する図形の色データに濃度割合を掛け合わせ、描画する
色データをエッジリストに登録するように構成すること
もできる。The above-mentioned generation of the edge list is performed by first referring to FIG.
In S151 of 4, the magnitudes of the start point and the end point of the generated edge list are compared, and only when the start point has the same value as the end point or a small value, the data of the given start point, end point, and the ratio of the drawing density are obtained. Output. At this time, the color data of the figure to be drawn may be multiplied by the density ratio and the color data to be drawn may be registered in the edge list.
【0046】上述のエッジリストの生成の際に設定する
描画濃度の割合は、ほぼ、描画する点に対応するドット
数に従って設定したが、各場合の出力状況に応じて適宜
変更可能である。The ratio of the drawing density set at the time of generating the above-mentioned edge list is set almost according to the number of dots corresponding to the drawing point, but it can be appropriately changed according to the output situation in each case.
【0047】図16は、グレー処理後のエッジリストの
説明図である。グレースケール処理部15において生成
されたエッジリストは、図16のように、各スキャンラ
インごとに、エッジの始点と終点、それに濃度のデータ
が対になり、格納される。1つのスキャンラインに複数
のエッジリストのデータが存在するときは、ポインタで
次のデータが指示される。このエッジリストのデータ構
造は、リスト構造であっても、また、ポインタを1つの
要素として持つ表形式であってもよい。さらに、ポイン
タを有さず、参照されるべき順にデータが並べられた表
構造としてもよい。図16では、図3(A)に示したベ
クターデータ内を塗り潰したエッジリストを生成した場
合の例である。例えば、図3(A)に示したベクターデ
ータから図3(B)に示したように、2倍に拡大したベ
クターデータを作成し、図3(C)に示したエッジリス
トが作成されて、グレースケール処理部15に入力され
ると、上述のようなグレー処理により、図16に示した
エッジリストが生成される。FIG. 16 is an explanatory diagram of the edge list after gray processing. As shown in FIG. 16, the edge list generated by the grayscale processing unit 15 is stored with the start point and the end point of the edge and the density data paired for each scan line. When a plurality of edge list data are present in one scan line, the pointer points to the next data. The data structure of the edge list may be a list structure or a table format having a pointer as one element. Further, it may have a table structure in which data is arranged in an order to be referred to without having a pointer. FIG. 16 shows an example of a case where an edge list in which the inside of the vector data shown in FIG. 3A is filled is generated. For example, as shown in FIG. 3 (B), vector data enlarged twice is created from the vector data shown in FIG. 3 (A), and the edge list shown in FIG. 3 (C) is created. When input to the gray scale processing unit 15, the edge list shown in FIG. 16 is generated by the gray processing as described above.
【0048】例えば、スキャンライン9のデータは、図
3(C)におけるスキャンライン18、19のデータか
ら作成される。スキャンライン18におけるエッジリス
トセル0は、始点sx0が15/2=7、sf0=1、
終点ex0が20/2=10、ef0=0となる。ま
た、スキャンライン19におけるエッジリストセル1
は、始点sx1が16/2=8、sf1=0、終点ex
1が20/2=10、ef1=0となる。sx0<sx
1より、図4のS33に該当し、図11に示す処理を行
なう。そして、sf0=1より、S121の条件を満足
せず、S123により、sx0=7の点に25%の濃度
で描画するエッジリストが生成される。このとき、エッ
ジリストセル0の始点の次の点sx0+1とエッジリス
トセル1の始点の手前の点sx1−1の区間に発生させ
る50%の濃度のデータは、sx0+1=8、sx1−
1=7となり、区間の始点、終点の大小が逆転するの
で、このエッジリストデータは、生成されない。その
後、S124において、sx0がsx1、すなわち、8
にセットされ、sf0が0にセットされて、再び、グレ
ー処理を行なう。2度目の処理では、sx0=sx1,
ex0=ex1であるので、S30の条件に該当し、ま
た、sf0=sf1=ef0=ef1=0であるので、
S73の条件に該当して、S74に従ってエッジリスト
を生成する。すなわち、sx0=8から、ex0−1=
9までの区間を100%の濃度で描画し、ex0=10
を50%の濃度で描画されるエッジリストが生成され
る。ほかのスキャンラインについても同様にしてエッジ
リストが作成され、その結果、図16に示すようなエッ
ジリストとなる。For example, the data of the scan line 9 is created from the data of the scan lines 18 and 19 in FIG. The edge list cell 0 in the scan line 18 has a start point sx0 of 15/2 = 7, sf0 = 1,
The end point ex0 is 20/2 = 10 and ef0 = 0. Also, the edge list cell 1 in the scan line 19
Has a start point sx1 of 16/2 = 8, sf1 = 0, and an end point ex.
1 becomes 20/2 = 10 and ef1 = 0. sx0 <sx
1 corresponds to S33 of FIG. 4, and the processing shown in FIG. 11 is performed. Then, since sf0 = 1, the condition of S121 is not satisfied, and in S123, an edge list to be drawn at a density of 25% at the point of sx0 = 7 is generated. At this time, the data of 50% density generated in the section between the point sx0 + 1 next to the start point of the edge list cell 0 and the point sx1-1 before the start point of the edge list cell 1 is sx0 + 1 = 8, sx1-
Since 1 = 7 and the sizes of the start point and end point of the section are reversed, this edge list data is not generated. Then, in S124, sx0 is sx1, that is, 8
, Sf0 is set to 0, and gray processing is performed again. In the second processing, sx0 = sx1,
Since ex0 = ex1, it corresponds to the condition of S30, and sf0 = sf1 = ef0 = ef1 = 0.
If the condition of S73 is met, the edge list is generated according to S74. That is, from sx0 = 8, ex0-1 =
The section up to 9 is drawn with 100% density, ex0 = 10
Is generated with a density of 50%. Edge lists are created in the same manner for the other scan lines, and as a result, an edge list as shown in FIG. 16 is obtained.
【0049】図17は出力画像の説明図である。図17
(A)に示すベクターが描画データ入力部11に入力さ
れた場合の出力結果を、図17(B)に示す。図17
(A)のようなベクターデータが入力されると、図16
に示すようなエッジリストが作成され、これを用いてク
リップ処理部16、エッジリストマージ部17、ラスタ
ライズ部19を経て、ページメモリ20にラスター展開
されてプリンタ21で出力される。このときのドットの
様子は、図17(B)に示すようになり、エッジ部分が
グレー処理され、ジャギーの目だたない高品質の画像を
得ることができる。FIG. 17 is an explanatory diagram of an output image. FIG. 17
The output result when the vector shown in (A) is input to the drawing data input unit 11 is shown in FIG. 17 (B). FIG. 17
When vector data as shown in FIG.
An edge list as shown in (1) is created, and is used for rasterization in the page memory 20 through the clip processing section 16, edge list merging section 17, and rasterization section 19 and output by the printer 21. The state of the dots at this time is as shown in FIG. 17B, and the edge portion is gray-processed, and it is possible to obtain a high-quality image with no noticeable jaggies.
【0050】[0050]
【発明の効果】以上の説明から明らかなように、本発明
によれば、ビットマップに変換してから処理するのでは
なく、エッジリストを用いてエッジ部分の階調処理を行
なっているので、大幅なメモリの削減と高速化を可能と
し、ジャギーを低減した高品質のラスター情報を出力す
ることができるという効果がある。As is apparent from the above description, according to the present invention, the gradation processing of the edge portion is performed by using the edge list instead of converting it into the bitmap and then processing it. There is an effect that a large amount of memory can be reduced and the speed can be increased, and high quality raster information with reduced jaggies can be output.
【図1】 本発明の描画装置の実施の一形態を示すブロ
ック図である。FIG. 1 is a block diagram showing an embodiment of a drawing apparatus of the present invention.
【図2】 パラメータの説明図である。FIG. 2 is an explanatory diagram of parameters.
【図3】 2倍に拡大して作成したエッジリストの説明
図である。FIG. 3 is an explanatory diagram of an edge list created by enlarging the size by 2 times.
【図4】 グレー処理の一例の説明図である。FIG. 4 is an explanatory diagram of an example of gray processing.
【図5】 グレー処理の一例の説明図(続き)である。FIG. 5 is an explanatory diagram (continuation) of an example of gray processing.
【図6】 グレー処理の一例の説明図(続き)である。FIG. 6 is an explanatory diagram (continuation) of an example of gray processing.
【図7】 グレー処理の一例の説明図(続き)である。FIG. 7 is an explanatory diagram (continuation) of an example of gray processing.
【図8】 グレー処理の一例の説明図(続き)である。FIG. 8 is an explanatory diagram (continuation) of an example of gray processing.
【図9】 グレー処理の一例の説明図(続き)である。FIG. 9 is an explanatory diagram (continuation) of an example of gray processing.
【図10】 グレー処理の一例の説明図(続き)であ
る。FIG. 10 is an explanatory diagram (continuation) of an example of gray processing.
【図11】 グレー処理の一例の説明図(続き)であ
る。FIG. 11 is an explanatory diagram (continuation) of an example of gray processing.
【図12】 グレー処理の一例の説明図(続き)であ
る。FIG. 12 is an explanatory diagram (continuation) of an example of gray processing.
【図13】 グレー処理の一例の説明図(続き)であ
る。FIG. 13 is an explanatory diagram (continuation) of an example of gray processing.
【図14】 グレー処理の一例の説明図(続き)であ
る。FIG. 14 is an explanatory diagram (continuation) of an example of gray processing.
【図15】 グレー処理の一例の説明図(続き)であ
る。FIG. 15 is an explanatory diagram (continuation) of an example of gray processing.
【図16】 グレー処理後のエッジリストの説明図であ
る。FIG. 16 is an explanatory diagram of an edge list after gray processing.
【図17】 出力画像の説明図である。FIG. 17 is an explanatory diagram of an output image.
11 描画データ入力部、12 ベクター生成部、13
フォントデータ記憶部、14 グラフィックエッジリ
スト生成部、15 グレースケール処理部、16 クリ
ップ処理部、17 エッジリストマージ部、18 エッ
ジリストメモリ、19 ラスタライズ部、20 ページ
メモリ、21 プリンタ。11 drawing data input unit, 12 vector generation unit, 13
Font data storage unit, 14 graphic edge list generation unit, 15 gray scale processing unit, 16 clip processing unit, 17 edge list merging unit, 18 edge list memory, 19 rasterizing unit, 20 page memory, 21 printer.
Claims (4)
報に変換して画像を描画する描画装置において、入力さ
れた連続する複数ラインのエッジリストの座標値の位置
関係の違いに応じた濃度情報を有するエッジリストを生
成するグレー処理手段と、該グレー処理手段により生成
されたエッジリストに従い出力処理を行なう出力処理手
段とを有することを特徴とする描画装置。1. A drawing apparatus for converting an input edge list into raster information and drawing an image, wherein density information is provided according to a difference in positional relationship between coordinate values of edge lists of a plurality of continuous input lines. A drawing apparatus comprising: a gray processing means for generating an edge list; and an output processing means for performing an output processing according to the edge list generated by the gray processing means.
換して画像を描画する描画装置において、入力されたデ
ータからn倍に拡大したエッジリストを作成するエッジ
リスト生成手段と、連続するnラインのエッジリストの
座標値の位置関係の違いに応じた濃度情報を有する新た
なエッジリストを生成するグレー処理手段と、該グレー
処理手段により生成された新たなエッジリストに従い出
力処理を行なう出力処理手段とを有することを特徴とす
る描画装置。2. A drawing device for converting input data into raster information and drawing an image, an edge list generating means for generating an edge list enlarged by n times from the input data, and continuous n lines. A gray processing means for generating a new edge list having density information corresponding to a difference in the positional relationship of the coordinate values of the edge list; and an output processing means for performing an output processing according to the new edge list generated by the gray processing means. A drawing apparatus having:
報に変換して画像を描画する描画方法において、入力さ
れた連続する複数ラインのエッジリストの座標値の位置
関係の違いに応じた濃度情報を有するエッジリストを生
成し、生成されたエッジリストに従い出力処理を行なう
ことを特徴とする描画方法。3. A drawing method for converting an input edge list into raster information and drawing an image, which has density information according to a difference in positional relationship between coordinate values of an edge list of a plurality of input continuous lines. A drawing method characterized by generating an edge list and performing output processing according to the generated edge list.
換して画像を描画する描画方法において、入力されたデ
ータからn倍に拡大したエッジリストを作成し、連続す
るnラインの前記エッジリストの座標値の位置関係の違
いに応じた濃度情報を有する新たなエッジリストを生成
し、生成された新たなエッジリストに従い出力処理を行
なうことを特徴とする描画方法。4. A drawing method for converting an input data into raster information and drawing an image, creates an edge list enlarged n times from the input data, and coordinates of the edge list of continuous n lines. A drawing method characterized in that a new edge list having density information corresponding to a difference in positional relationship of values is generated, and output processing is performed according to the generated new edge list.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001084301A JP3452049B2 (en) | 2001-03-23 | 2001-03-23 | Drawing apparatus and drawing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001084301A JP3452049B2 (en) | 2001-03-23 | 2001-03-23 | Drawing apparatus and drawing method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34349692A Division JP3223617B2 (en) | 1992-11-30 | 1992-11-30 | Drawing apparatus and drawing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001312735A JP2001312735A (en) | 2001-11-09 |
JP3452049B2 true JP3452049B2 (en) | 2003-09-29 |
Family
ID=18939993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001084301A Expired - Fee Related JP3452049B2 (en) | 2001-03-23 | 2001-03-23 | Drawing apparatus and drawing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3452049B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6120561B2 (en) * | 2012-12-26 | 2017-04-26 | 三菱電機株式会社 | Graphic drawing apparatus and graphic drawing program |
-
2001
- 2001-03-23 JP JP2001084301A patent/JP3452049B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001312735A (en) | 2001-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3474037B2 (en) | Character pattern generator | |
JP3223617B2 (en) | Drawing apparatus and drawing method | |
US5524198A (en) | Character or graphic processing method and apparatus | |
JP2002133428A (en) | Plotting processing device | |
JP3452049B2 (en) | Drawing apparatus and drawing method | |
EP0461811A2 (en) | Pattern processing method | |
JP2005111718A (en) | Method and device for controlling image output, and program | |
JPH0729021A (en) | Picture output device | |
JP3089906B2 (en) | Drawing equipment | |
JP3514895B2 (en) | Image expansion processing method and apparatus | |
JP2000099750A (en) | Image processing device and method therefor | |
JP2000066658A (en) | Image processor and recording medium | |
JP3645614B2 (en) | Drawing data optimization method | |
JP2001092981A (en) | Device and method for processing image | |
JPH0280267A (en) | Processing of system of vector characters | |
JPH10151815A (en) | Printing-processing apparatus | |
JPH09281947A (en) | Printed picture making method and device | |
JP2782752B2 (en) | Character pattern output device | |
JPH09154009A (en) | Printer system | |
JP2000222569A (en) | Plotter | |
JPH11110150A (en) | Image processing system, method therefor and computer-readable recording medium recording image processing control program | |
JP3567727B2 (en) | Image processing method and apparatus | |
JP2000268186A (en) | Plotting processor | |
JP2008173946A (en) | Image processor, image processing method and image processing program | |
JPH07162675A (en) | Picture output device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080718 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090718 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100718 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |