JP3496709B2 - Drawing processing device - Google Patents

Drawing processing device

Info

Publication number
JP3496709B2
JP3496709B2 JP02697098A JP2697098A JP3496709B2 JP 3496709 B2 JP3496709 B2 JP 3496709B2 JP 02697098 A JP02697098 A JP 02697098A JP 2697098 A JP2697098 A JP 2697098A JP 3496709 B2 JP3496709 B2 JP 3496709B2
Authority
JP
Japan
Prior art keywords
data
processing
vector
clip
area
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
Application number
JP02697098A
Other languages
Japanese (ja)
Other versions
JPH11224343A (en
Inventor
千登 林
雅夫 森田
浩史 川本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP02697098A priority Critical patent/JP3496709B2/en
Publication of JPH11224343A publication Critical patent/JPH11224343A/en
Application granted granted Critical
Publication of JP3496709B2 publication Critical patent/JP3496709B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は描画処理装置に関
し、特にページ記述言語を入力として描画処理を行う描
画処理装置、および描画処理を実行するプログラムを記
録したプログラム記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a drawing processing device, and more particularly, to a drawing processing device that executes a drawing process using a page description language as an input, and a program recording medium that records a program that executes the drawing process.

【0002】[0002]

【従来の技術】現在、ページプリンタでは、Inter
press(米国ゼロックス社の登録商標)やPost
sScript(米国アドビ・システムズ社の商標)な
どのPDL(ページ記述言語)を入力として印刷を実行
している。
2. Description of the Related Art Currently, in page printers,
press (registered trademark of Xerox, Inc.) and Post
Printing is executed using PDL (page description language) such as sScript (trademark of Adobe Systems, Inc., USA) as an input.

【0003】このようなPDLを入力として印刷を実行
する際には、PDL形式のデータからラスタ出力デバイ
スに適した形式のデータに変換するイメージング処理を
行う必要がある。ところが、一般にイメージング処理に
かかる時間は非常に長く、このことは特に高速のページ
プリンタに出力するシステムなどでは問題となってい
る。
When printing is performed using such a PDL as an input, it is necessary to perform an imaging process for converting data in the PDL format into data in a format suitable for a raster output device. However, the imaging process generally takes a very long time, which is a problem particularly in a system that outputs to a high-speed page printer.

【0004】例えば、カラーの高速ページプリンタは毎
分40枚以上の出力能力を持つものがあるにもかかわら
ず、イメージング処理にかかる時間は、印刷原稿によっ
ては10数秒から数分かかってしまい、高価な高速ペー
ジプリンタの能力を十分に生かせなかった。したがっ
て、イメージング処理を高速に行うために、並列描画処
理を行う必要がある。
For example, although some high-speed color page printers have an output capability of 40 sheets per minute or more, the time required for the imaging process is 10 seconds to several minutes depending on the printing original, which is expensive. Didn't take full advantage of the high speed page printer. Therefore, it is necessary to perform parallel drawing processing in order to perform the imaging processing at high speed.

【0005】イメージング処理においては、図形の輪郭
データから図形の領域を表すデータ、例えばビットマッ
プマスクや、台形データ列、あるいはランレングスデー
タ列などを生成する段階、そして、描画領域を制限する
クリップ領域との領域演算を行う段階、そして、描画図
形同士の重なりを処理する段階などがあり、しかも、各
々の段階で生成するデータや参照するデータ間に依存関
係が存在するために、これらの処理を並列に行うことは
難しかった。
In the imaging processing, a step of generating data representing a graphic region from the graphic contour data, for example, a bit map mask, a trapezoidal data string, or a run length data string, and a clip area for limiting a drawing area. There is a step of performing area calculation with and a step of processing overlapping of drawn figures, etc. Moreover, since there is a dependency between the data generated at each step and the data to be referred to, these processings are performed. It was difficult to do them in parallel.

【0006】しかし、特願平8−353678号に開示
されている描画処理装置では、図形の描画領域の算定、
クリップ処理、重ね塗処理を同時に行っているために、
上記の問題が生じないため、目的の並列描画処理に適し
ていた。
However, in the drawing processing apparatus disclosed in Japanese Patent Application No. 8-353678, calculation of a drawing area of a graphic,
Because clip processing and overpainting processing are performed at the same time,
Since the above problem does not occur, it was suitable for the target parallel drawing processing.

【0007】[0007]

【発明が解決しようとする課題】しかし、この特願平8
−353678号に開示された描画処理装置を単純に並
列化しようとすると、並列数が増えるにつれ、描画オブ
ジェクトごとの状態を格納するワーク領域の必要メモリ
量が比例して増えてしまうという問題があった。例えば
描画領域を分割して並列処理を行うと、各描画処理部が
直接処理する描画オブジェクトは結果的に、全描画オブ
ジェクトのなかの一部だけとなるはずにも関わらず、特
願平8−353678号に開示された描画処理装置の方
法を単純に並列描画処理に適用する場合、全ての描画オ
ブジェクトに対して状態管理用のワーク領域を用意して
おく必要があった。
However, this Japanese Patent Application No. 8
If the drawing processing device disclosed in Japanese Patent No. 353678 is simply parallelized, there is a problem that as the number of parallel processing increases, the required memory amount of the work area for storing the state of each drawing object increases in proportion. It was For example, when the drawing area is divided and parallel processing is performed, the drawing objects directly processed by the drawing processing units should be only a part of all the drawing objects. When the method of the drawing processing device disclosed in Japanese Patent No. 353678 is simply applied to parallel drawing processing, it is necessary to prepare a work area for state management for all drawing objects.

【0008】また、分割した描画領域ごとに、必要とな
る描画オブジェクトの状態管理用のワーク領域との対応
を整理しなおす方法もあるが、その場合には、各分割領
域ごとに描画オブジェクトの属性テーブルの配列の修
正、描画オブジェクトのIDの振り直し、そして、振り
直したIDに対応するために、分割領域ごとのベクター
データの用意などを行う必要が生じ、並列処理のオーバ
ヘッド部分が大きくなっていた。
There is also a method of rearranging the correspondence between the necessary drawing object state management work area for each of the divided drawing areas. In that case, the drawing object attribute is set for each divided area. It is necessary to modify the array of the table, reassign the ID of the drawing object, and prepare vector data for each divided area in order to correspond to the reassigned ID, which increases the overhead of parallel processing. It was

【0009】本発明はこのような点を鑑みてなされたも
のであり、並列処理時に必要となるワーク領域を削減
し、動作時に必要となるメモリ総量を削減するととも
に、メモリをシステムに要求する際に発生する時間や、
その領域の初期化に必要な時間を削減することにより、
より効率的に並列描画処理を行う描画処理装置および描
画処理を実行するプログラムを記録したプログラム記録
媒体を提供することを目標とする。
The present invention has been made in view of the above circumstances, and reduces the work area required for parallel processing, reduces the total amount of memory required for operation, and requests the system for memory. Time that occurs in
By reducing the time required to initialize that area,
It is an object of the present invention to provide a drawing processing device that performs parallel drawing processing more efficiently and a program recording medium that records a program that executes the drawing processing.

【0010】[0010]

【課題を解決するための手段】本発明は、上述の目的を
達成するものであり、本発明の描画処理装置は、入力描
画データに基づいて、該入力描画データの描画領域の外
形を表す描画ベクターを生成するとともに、該描画デー
タの存在範囲を示す存在範囲データを抽出するベクター
生成部と、ベクター生成部において生成された描画ベク
ターを保持するベクター記憶部と、入力描画データから
描画属性を取得する描画属性処理部と、描画属性処理部
において取得された描画属性を保持する描画属性記憶部
と、ベクター生成部において抽出された描画データの存
在範囲を示す存在範囲データに基づいて、該描画データ
に対して割り当てる描画オブジェクトごとの状態を格納
するメモリ領域としてのワーク領域の場所を示すワーク
領域識別情報を生成するワーク領域割り当て部と、並列
動作可能な複数の塗りつぶし処理部の各々において処理
すべき描画データの領域を割り当てる処理領域割り当て
部と、処理領域割り当て部によって割り当てられた処理
領域の塗りつぶし処理を各々実行する並列動作可能な複
数の塗りつぶし処理部とを有することを特徴とする。
The present invention achieves the above-mentioned object, and the drawing processing apparatus of the present invention draws the outline of the drawing area of the input drawing data based on the input drawing data. A vector generation unit that generates a vector and extracts existence range data indicating the existence range of the drawing data, a vector storage unit that holds the drawing vector generated in the vector generation unit, and obtains drawing attributes from the input drawing data Based on existence range data indicating the existence range of the drawing data extracted by the vector generation unit and the drawing attribute storage unit that holds the drawing attribute acquired by the drawing attribute processing unit, Stores the status of each drawing object assigned to
A work area allocation unit that generates work area identification information indicating the location of the work area as a memory area, and a processing area allocation unit that allocates an area of drawing data to be processed in each of a plurality of fill processing units that can operate in parallel. A plurality of fill processing units capable of operating in parallel, each of which performs a fill process of a processing area assigned by the processing area assigning unit.

【0011】さらに、本発明の描画処理装置において、
入力描画データは、クリップ処理実行に関する描画デー
タを含み、ベクター生成部は、クリップ領域の外形を表
すクリップベクターを生成するとともに、クリップ実行
に関する描画データの存在範囲を示す存在範囲データを
抽出する構成を有し、ベクター記憶部は、ベクター生成
部において生成されたクリップベクターを保持し、並列
動作可能な複数の塗りつぶし処理部は、処理領域割り当
て部によって割り当てられた処理領域のクリップ処理を
実行する構成を有することを特徴とする。
Further, in the drawing processing apparatus of the present invention,
The input drawing data includes drawing data related to clip processing execution, and the vector generation unit generates a clip vector representing the outline of the clip area and extracts existence range data indicating the existence range of drawing data related to clip execution. The vector storage unit holds the clip vector generated by the vector generation unit, and the plurality of fill processing units that can operate in parallel are configured to execute the clip processing of the processing area allocated by the processing area allocation unit. It is characterized by having.

【0012】さらに、本発明の描画処理装置において、
ワーク領域割り当て部は、少なくとも1以上の描画デー
タの各々に対して割り当てられたワーク領域内の場所を
示すワーク領域識別子を生成し、描画属性記憶部はワー
ク領域識別子を対応する描画データの描画属性に対応づ
けて保持する構成を有することを特徴とする。
Further, in the drawing processing apparatus of the present invention,
The work area allocating unit generates a work area identifier indicating a location in the work area allocated to each of at least one or more drawing data, and the drawing attribute storage unit assigns the work area identifier to the drawing attribute of the corresponding drawing data. It is characterized in that it has a configuration in which it is held in association with.

【0013】さらに、本発明の描画処理装置において、
ワーク領域割り当て部は、描画データの存在範囲を示す
存在範囲データから、存在開始データおよび存在終了デ
ータを抽出し、該存在開始データおよび存在終了データ
を座標位置に従った一方向データとして整列処理し、該
整列処理したデータを整列順に順次取得し、取得した存
在開始データに対してワーク領域を割り当てるととも
に、取得した存在終了データに対して割当済みワーク領
域の回収を行うことにより、ワーク領域の割当を実行
し、回収されたワーク領域がある場合に、新たな存在開
始データを取得した場合は、該回収されたワーク領域を
新たな存在開始データに対して割り当てることによりワ
ーク領域の割り当て処理を実行する構成を有することを
特徴とする。
Further, in the drawing processing apparatus of the present invention,
The work area allocating unit extracts the existence start data and the existence end data from the existence range data indicating the existence range of the drawing data, and processes the existence start data and the existence end data as unidirectional data according to the coordinate position. , The work area is allocated by sequentially acquiring the sorted data, allocating a work area to the acquired existence start data, and collecting the allocated work area to the acquired existence end data. If a new work start data is acquired when there is a collected work area, the work area allocation process is executed by allocating the collected work area to the new work start data. It is characterized by having the configuration.

【0014】さらに、本発明の描画処理装置において、
ワーク領域割り当て部は、ワーク領域割り当て処理の実
行において、存在開始データを存在終了データよりも優
先的に処理する構成を有することを特徴とする。
Further, in the drawing processing apparatus of the present invention,
The work area allocating unit is characterized by having a configuration in which the existence start data is processed with priority over the existence end data in the execution of the work area allocation processing.

【0015】さらに、本発明の描画処理装置において、
描画データの存在範囲を示す存在範囲データは、描画デ
ータの実際上の存在範囲よりも大きい領域を存在範囲と
して規定したものであることを特徴とする。
Further, in the drawing processing apparatus of the present invention,
The existence range data indicating the existence range of the drawing data is characterized by defining an area larger than the actual existence range of the drawing data as the existence range.

【0016】さらに、本発明の描画処理装置において、
塗りつぶし処理部は、ワーク領域割り当て部において割
り当てられたワーク領域の総数に基づいて、ワーク領域
の大きさを決定することを特徴とする。
Further, in the drawing processing apparatus of the present invention,
The painting processing unit is characterized by determining the size of the work area based on the total number of work areas assigned by the work area assigning unit.

【0017】さらに、本発明の描画処理装置において、
描画属性記憶部は、描画データ各々を識別する描画デー
タ識別子、該描画データ識別子に対応づけられた割り当
てワーク領域を示すワーク領域識別子、および該描画デ
ータ各々のクリップ状態を示すクリップ状態データを有
し、塗りつぶし処理部は、処理対象の描画ベクターまた
はクリップベクターを構成要素とする描画データ識別子
に基づいて、該描画データ識別子に対応づけられたワー
ク領域識別子およびクリップ状態データを抽出し、該抽
出したワーク領域識別子およびクリップ状態データに基
づいて処理態様を決定することを特徴とする。
Further, in the drawing processing apparatus of the present invention,
The drawing attribute storage unit has a drawing data identifier for identifying each drawing data, a work area identifier indicating an allocated work area associated with the drawing data identifier, and clip state data indicating a clip state of each of the drawing data. The filling processing section extracts a work area identifier and clip state data associated with the drawing data identifier based on the drawing data identifier having the drawing vector or the clip vector as a constituent element, and the extracted work. It is characterized in that the processing mode is determined based on the region identifier and the clip state data.

【0018】 さらに、本発明の入力描画データに基づ
いて描画処理を実行するプログラムを記録したプログラ
ム記録媒体は、入力描画データの存在範囲を示す存在範
囲データを抽出するステップと、描画データの存在範囲
を示す存在範囲データに基づいて、該描画データに対し
て割り当てる描画オブジェクトごとの状態を格納するメ
モリ領域としてのワーク領域の場所を示すワーク領域識
別情報を生成するステップとを実行するプログラムを記
録したことを特徴とする。
Further, the program recording medium recording the program for executing the drawing processing based on the input drawing data of the present invention has a step of extracting the existence range data indicating the existence range of the input drawing data, and the existence range of the drawing data. Based on the existence range data indicating that the state of each drawing object assigned to the drawing data is stored.
And a program for executing the step of generating work area identification information indicating the location of the work area as the memory area .

【0019】 さらに、本発明のプログラム記録媒体
は、入力描画データに基づいて、該入力描画データの描
画領域の外形を表す描画ベクターを生成するとともに、
該描画データの存在範囲を示す存在範囲データを抽出す
るベクター生成ステップと、ベクター生成ステップにお
いて生成された描画ベクターを保持するベクター記憶ス
テップと、入力描画データから描画属性を取得する描画
属性処理ステップと、描画属性処理ステップにおいて取
得された描画属性を保持する描画属性記憶ステップと、
ベクター生成ステップにおいて抽出された描画データの
存在範囲を示す存在範囲データに基づいて、該描画デー
タに対して割り当てる描画オブジェクトごとの状態を格
納するメモリ領域としてのワーク領域の場所を示すワー
ク領域識別情報を生成するワーク領域割り当てステップ
と、並列動作可能な複数の塗りつぶし処理部の各々にお
いて処理すべき前記描画データの領域を割り当てる処理
領域割り当てステップと、処理領域割り当てステップに
よって割り当てられた処理領域の塗りつぶし処理を並列
動作可能な複数の塗りつぶし処理部において実行するス
テップとを実行するプログラムを記録したことを特徴と
する。
Further, the program recording medium of the present invention generates a drawing vector representing an outline of a drawing area of the input drawing data based on the input drawing data, and
A vector generation step of extracting existence range data indicating the existence range of the drawing data, a vector storage step of holding the drawing vector generated in the vector generation step, and a drawing attribute processing step of acquiring a drawing attribute from the input drawing data. A drawing attribute storing step for holding the drawing attribute acquired in the drawing attribute processing step,
Based on the existence range data indicating the existence range of the drawing data extracted in the vector generation step, the state of each drawing object assigned to the drawing data is evaluated.
A work area allocating step for generating work area identification information indicating a location of the work area as a memory area to be stored, and a processing area allocation for allocating the area of the drawing data to be processed in each of a plurality of fill processing units that can operate in parallel It is characterized in that a program for executing the step and the step of executing the filling processing of the processing area allocated by the processing area allocation step in a plurality of parallel processing units capable of operating in parallel is recorded.

【0020】[0020]

【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.

【0021】まず始めに、本実施の形態の描画処理装置
の構成を図1を用いて説明する。本実施の形態の描画処
理装置は、描画すべき描画データを受け取る描画データ
入力部10を有している。描画データ判別部20は、描
画データ入力部10に入力された描画データから描画デ
ータの種別を判定し、描画データの種別により、外形を
持つものはベクター生成部30と描画属性処理部40に
描画データを渡し、外形を持たない場合は描画属性処理
部40に描画データを渡す。ベクター生成部30は、描
画データ判別部20から受け取った描画データから外形
を表すベクターを生成するとともに、各描画データの存
在範囲をベクター生成部30中の描画データ存在範囲検
出部50において抽出し、ワーク領域ID(識別子)割
り当て部80に通知する。描画属性処理部40では、描
画データ判別部20から渡された描画データから、描画
データの種別ごとで異なる描画属性を取得し、必要に応
じて処理を行う。
First, the configuration of the drawing processing apparatus according to this embodiment will be described with reference to FIG. The drawing processing apparatus according to the present embodiment has a drawing data input unit 10 that receives drawing data to be drawn. The drawing data discriminating unit 20 judges the type of the drawing data from the drawing data input to the drawing data input unit 10, and draws an object having an outer shape in the vector generation unit 30 and the drawing attribute processing unit 40 according to the type of the drawing data. Data is passed, and if it has no outer shape, the drawing data is passed to the drawing attribute processing unit 40. The vector generation unit 30 generates a vector representing the outline from the drawing data received from the drawing data discrimination unit 20, and extracts the existence range of each drawing data by the drawing data existence range detection unit 50 in the vector generation unit 30. The work area ID (identifier) allocation unit 80 is notified. The drawing attribute processing unit 40 acquires different drawing attributes for each type of drawing data from the drawing data passed from the drawing data discriminating unit 20, and performs processing as necessary.

【0022】ベクター記憶部60は、ベクター生成部3
0で生成されたベクターを保持する。内部で「塗り」及
び「細線」の描画に関するベクター(描画ベクター)と
クリップに関するベクタ(クリップベクター)を分離し
て保持する場合もありうる。描画属性記憶部70は、描
画属性処理部40で処理された描画属性データを保持す
る。領域割り当て部100は、並列に動作する塗りつぶ
し処理部90に割り当てる処理の領域、例えば処理対象
とする描画領域などを割り当てる。塗りつぶし処理部9
0は、割り当てられた処理の領域に関して、ベクター記
憶部60で保持されている各ベクターをスキャンライン
毎に取り出し、塗りつぶし処理とクリップ処理を同時に
行うようになっている。画像出力部110は、塗りつぶ
し処理とクリップ処理の終了したデータを画像出力装置
(図示せず)に出力するようになっている。
The vector storage unit 60 includes a vector generation unit 3
Holds the vector generated at 0. There may be a case where a vector (drawing vector) for drawing "painting" and "thin line" and a vector (clip vector) for clips are held separately. The drawing attribute storage unit 70 holds the drawing attribute data processed by the drawing attribute processing unit 40. The area allocation unit 100 allocates a processing area to be allocated to the fill processing units 90 operating in parallel, for example, a drawing area to be processed. Fill processing unit 9
In the case of 0, with respect to the assigned processing area, each vector held in the vector storage unit 60 is taken out for each scan line, and the filling processing and the clipping processing are simultaneously performed. The image output unit 110 outputs the data for which the painting process and the clipping process have been completed to an image output device (not shown).

【0023】以下、図1で示した本実施の形態の描画処
理装置の個々の構成及び動作を図面を用いて詳細に説明
する。まず、描画データ入力部10で受け取られる描画
データの構造を図2に示す。
The individual configurations and operations of the drawing processing apparatus according to the present embodiment shown in FIG. 1 will be described in detail below with reference to the drawings. First, the structure of the drawing data received by the drawing data input unit 10 is shown in FIG.

【0024】描画データは図2に示すような描画コマン
ドの列として与えられる。例えば「クリップ登録」とい
う描画コマンドは、描画順序を示すID及び、描画コマ
ンドの種類がクリップ登録であることを示す識別子(C
LIPSET)、クリップ領域の内部/外部の判定に用
いる判定規則、クリップ形状を決定する座標値列(点
1、…、点n)から構成される。
The drawing data is given as a string of drawing commands as shown in FIG. For example, the drawing command “clip registration” has an ID indicating the drawing order and an identifier (C indicating that the type of the drawing command is clip registration).
LIPSET), a determination rule used to determine the inside / outside of the clip area, and a coordinate value sequence (point 1, ..., Point n) that determines the clip shape.

【0025】また、「クリップ解除」という描画コマン
ドは、描画順序を示すID及び描画コマンドの種類がク
リップ解除であることを示す識別子(CLIPCLEA
R)、解除するクリップのIDから構成される。さら
に、「塗り」の描画コマンドの場合は、「クリップ」登
録と同様に描画順序を示すID及び、描画コマンドの種
類が塗りであることを示す識別子(FILL)、塗りつ
ぶし領域の内部/外部の判定に用いる判定規則、外形形
状を決定する座標値列(点1、…、点n)から構成され
て、さらに色の情報が追加されている。「細線」の場合
には、内部/外部判定の規則は必要無く、ID及び、識
別子、色座標値列から構成されている。
The drawing command "clip release" is an ID (CLIPCLEA) indicating that the ID indicating the drawing order and the type of the drawing command are clip release.
R) and the ID of the clip to be released. Further, in the case of a "paint" drawing command, an ID indicating the drawing order, an identifier (FILL) indicating that the type of the drawing command is paint, and the inside / outside determination of the filled area, as in the case of "clip" registration. , A coordinate value sequence (point 1, ..., Point n) that determines the outer shape, and color information is further added. In the case of "thin line", the rule of internal / external determination is not necessary, and is composed of an ID, an identifier, and a color coordinate value sequence.

【0026】描画コマンドの種類は、図3に示すよう
に、「クリップ登録」、「クリップ削除」、「塗り」、
「細線」等がある。「文字」や「ラスタ」等の描画オブ
ジェクトは各々、「文字」は「塗り」として表現でき、
「ラスタ」は外形を図形で表現し、色が特殊なものとし
て扱うことができるので、本実施の形態の説明からは除
外しておく。
The types of drawing commands are, as shown in FIG. 3, "clip registration", "clip deletion", "painting",
There are "fine lines" etc. Drawing objects such as "text" and "raster" can be expressed as "painting",
The "raster" can be treated as having a special shape and a special color, and is therefore omitted from the description of this embodiment.

【0027】クリップ領域及び塗りつぶし領域の内部/
外部判定に用いる判定規則を図4に示す。判定規則には
非ゼロ巻線規則(NZ:Non−Zero)と奇偶規則
(EO:Even−Odd)との2種類がある。これら
はいずれも複数の外形(パス)や自己交差した外形で形
成された一つの図形の内部を判定する際に用いられる規
則である。非ゼロ巻線規則及び奇偶規則による図形の内
部判定方法を図5を用いて説明する。
Inside Clip Area and Fill Area /
The determination rule used for the external determination is shown in FIG. There are two types of determination rules, a non-zero winding rule (NZ: Non-Zero) and an odd-even rule (EO: Even-Odd). All of these are rules used when determining the inside of one figure formed by a plurality of contours (paths) and self-intersecting contours. A method of internally determining a figure based on the non-zero winding rule and the odd-even rule will be described with reference to FIG.

【0028】図5(a)に示す非ゼロ巻線規則は、図形
22を構成する外形がスキャンライン(走査線)23と
交差する際の外形線の向きを考慮したものである。図5
(a)では外形がスキャンライン23を上向きに交差す
る場合を正、下向きに交差する場合を負としている。走
査の方向に向かって正の交差であれば1を加算し、負の
交差であれば1を減算することにし、合計値が0でなく
なった点から0に戻った点までが塗りつぶすべき内部の
状態(あるいは内部領域)であると判定する。図5
(b)に示す奇偶規則は、スキャンライン23と交差す
るパスの個数をカウントして、奇数の点から偶数の点ま
でを内部と判定する。
The non-zero winding rule shown in FIG. 5 (a) takes into consideration the direction of the contour line when the contour forming the figure 22 intersects the scan line (scan line) 23. Figure 5
In (a), the case where the outer shape crosses the scan line 23 upward is positive, and the case where the outer shape crosses downward is negative. If the intersection is positive in the direction of scanning, 1 is added, and if the intersection is negative, 1 is subtracted. From the point where the total value is no longer 0 to the point where the total value returns to 0 It is determined to be the state (or the internal area). Figure 5
The odd-even rule shown in (b) counts the number of passes that intersect with the scan line 23, and determines from the odd point to the even point as internal.

【0029】次に、図1のベクター生成部30での処理
を説明する。上述の通りベクター生成部30は、入力さ
れた描画データから外形を表すベクターを生成する。描
画データには曲線成分も含まれているが、曲線を直線近
似する公知の方法が存在するため、ここでは説明の簡単
のため、全て直線近似した後の直線データとして扱う。
Next, the processing in the vector generation unit 30 of FIG. 1 will be described. As described above, the vector generation unit 30 generates a vector representing the outline from the input drawing data. Although the drawing data also includes a curve component, since there is a known method for linearly approximating a curve, all of them are treated as linear data after linear approximation for the sake of simplicity of description.

【0030】ベクター生成部30で生成されるベクター
は図6に示すようなデータ表現をとる。図6において
「ID」は描画コマンドのIDである。「X」は現在の
スキャンラインを横切るベクターのX切片の値を示す。
「X変位」は次のスキャンラインに処理が移動した場合
のX切片の変化量を示している。「Y変位」は、当該ベ
クターに影響を受ける残りのスキャンライン数を示して
いる。「向き」は当該ベクターの向きを示す。
The vector generated by the vector generating unit 30 has a data representation as shown in FIG. In FIG. 6, “ID” is the ID of the drawing command. "X" indicates the value of the X intercept of the vector that crosses the current scanline.
"X displacement" indicates the amount of change in the X intercept when the process moves to the next scan line. “Y displacement” indicates the number of remaining scan lines affected by the vector. “Orientation” indicates the orientation of the vector.

【0031】図6のベクターを図7を用いてより具体的
に説明する。図7において、座標系は図面左上方を原点
とし、したがって図面の水平方向右方向にX座標値は増
加し、図面の垂直下方向にY座標値は増加するものとす
る。図7(a)に示すベクターは、始点P1の座標が
(100,100)、終点P2の座標が(200,20
0)である。このベクターは、「ID」が例えばαと
し、スキャンラインでのX切片の値を示す「X」は10
0、次のスキャンラインに移動した場合のX切片の変位
量「X変位」は1、残りのスキャンライン数「Y変位」
は100となる。ベクターの「向き」は座標系のYの座
標値が増加する向きを1と定義し、座標系のYの4座標
値が減少する向きを−1と定義している。したがって図
7(a)でのベクターの「向き」は1である。この「向
き」は非ゼロ巻線規則で内部/外部判定を行う際に、ど
の向きでスキャンラインを横切るかを示す情報として用
いられる。図7(b)は、「向き」が−1の場合の例を
示している。
The vector of FIG. 6 will be described more specifically with reference to FIG. In FIG. 7, the coordinate system has the origin at the upper left of the drawing, and therefore the X coordinate value increases in the horizontal right direction of the drawing and the Y coordinate value increases in the vertical downward direction of the drawing. In the vector shown in FIG. 7A, the coordinates of the start point P1 are (100, 100) and the coordinates of the end point P2 are (200, 20).
0). In this vector, “ID” is, for example, α, and “X” indicating the value of the X intercept on the scan line is 10
0, displacement amount of X intercept when moving to next scan line "X displacement" is 1, remaining scan line number "Y displacement"
Is 100. The "direction" of the vector is defined as a direction in which the Y coordinate value of the coordinate system increases and a direction in which the four Y coordinate values of the coordinate system decrease. Therefore, the "direction" of the vector in FIG. 7 (a) is 1. This "direction" is used as information indicating in which direction the scan line should be crossed when the internal / external determination is performed according to the non-zero winding rule. FIG. 7B shows an example when the "direction" is -1.

【0032】本実施の形態においては、図2に示した描
画コマンドにおける点列は、「塗り」と「クリップ登
録」の場合には最後の点と最初の点が結ばれるものとし
て仮定している。したがって、3角形の3辺は点列が3
点あれば記述される。「細線」の場合には2点で構成さ
れこの2点間を結ぶ直線が描画される。
In the present embodiment, it is assumed that the point sequence in the drawing command shown in FIG. 2 is such that the last point and the first point are connected in the case of "painting" and "clip registration". . Therefore, the points on the three sides of the triangle are 3
If there is a point, it will be described. In the case of a "thin line", a straight line connecting two points and composed of two points is drawn.

【0033】このようなベクター表現で、描画データ入
力部10に入力された描画データから外形を表すベクタ
ーがベクター生成部30で生成される。
With such a vector representation, the vector generation unit 30 generates a vector representing the outline from the drawing data input to the drawing data input unit 10.

【0034】そして、ベクター生成部30で生成された
ベクターはベクター記憶部60に保持される。この、保
持される際に、ベクター記憶部60内で、「塗り」及び
「細線」に関するベクター(描画ベクター)とクリップ
に関するベクター(クリップベクター)が分類されて保
持される場合もありうる。また、ベクター生成部30
は、各描画データの点列から、各描画データが影響を与
えるY方向の範囲を算出してワーク領域ID(識別子)
割り当て部80に通知する。この、Y方向の範囲の算出
は例えば点列の各点のY座標の最大値と最小値を求める
といった簡単な方法で求めることができる。
The vector generated by the vector generating section 30 is held in the vector storage section 60. When stored, the vector storage unit 60 may classify and store a vector (drawing vector) regarding “painting” and “thin line” and a vector (clip vector) regarding clip. Also, the vector generation unit 30
Is a work area ID (identifier) calculated from the point sequence of each drawing data to calculate the range in the Y direction that each drawing data affects.
Notify the allocation unit 80. The calculation of the range in the Y direction can be obtained by a simple method such as obtaining the maximum value and the minimum value of the Y coordinate of each point in the point sequence.

【0035】次に、図1の描画属性処理部40および描
画属性記憶部70での処理を説明する。描画属性処理部
40では図8に示すように、描画コマンドの種類ごとに
必要な属性を取得する。例えば「クリップ登録」という
描画コマンドからは、識別子(CLIPSET)、判定
規則が取得される。また「塗り」の描画コマンドの場合
には、「クリップ登録」と同様に識別子(FILL)、
判定規則、色が取得される。「細線」の場合には、識別
子(STROKE)、色が取得される。「クリップ解
除」という描画コマンドからは、何も取得されない。取
得された属性値は、図9に示すレコードを持つ描画属性
表に、IDをキーとして登録される。
Next, the processing in the drawing attribute processing unit 40 and the drawing attribute storage unit 70 of FIG. 1 will be described. As shown in FIG. 8, the drawing attribute processing unit 40 acquires necessary attributes for each type of drawing command. For example, the identifier (CLIPSET) and the determination rule are acquired from the drawing command "clip registration". In the case of a "paint" drawing command, an identifier (FILL),
The judgment rule and color are acquired. In the case of "thin line", the identifier (STROKE) and color are acquired. Nothing is acquired from the drawing command "clip release". The acquired attribute value is registered with the ID as a key in the drawing attribute table having the records shown in FIG.

【0036】図10に、格納されるデータを示してあ
る。図10(a)はクリップ登録の場合のレコードで、
種別はCLIPSET、属性1は判定規則である。図1
0(b)塗りの場合のレコードで、種別はFILL、属
性1は判定規則、属性2は色である。図10(c)は細
線の場合で、種別はSTROKE、属性1は色である。
また、IDと様々な情報を結び付ける目的で、このレコ
ードには上記取得した属性値以外の情報も付加される。
取得した属性値以外の情報については、後ほど詳細に説
明する。
FIG. 10 shows the stored data. FIG. 10A shows a record for clip registration.
The type is CLIPSET and the attribute 1 is the determination rule. Figure 1
In the record in the case of 0 (b) painting, the type is FILL, the attribute 1 is the determination rule, and the attribute 2 is color. FIG. 10C shows the case of a thin line, the type is STROKE, and the attribute 1 is color.
In addition, information other than the acquired attribute value is added to this record for the purpose of linking the ID and various information.
Information other than the acquired attribute value will be described in detail later.

【0037】描画コマンドの種類が「クリップ登録」と
「クリップ解除」の場合には、クリップ検索表が作成さ
れる。クリップ検索表は2種類あり、一つ目はあるクリ
ップの組でクリップを行うかどうかを判別する表(クリ
ップ状態表)で、二つ目はあるクリップの有効範囲を調
べる表(クリップ範囲表)である。
When the types of drawing commands are "clip registration" and "clip release", a clip search table is created. There are two types of clip search tables, the first is a table (clip status table) that determines whether to clip with a certain clip set, and the second is a table that checks the effective range of a certain clip (clip range table). Is.

【0038】クリップ状態表は、ある描画コマンドのI
Dをもとにデータ構造を辿ることによりアクセスされ、
結果としてクリップを行うかどうかが判別できる。クリ
ップ範囲表は、あるクリップのIDをキーとしてデータ
構造を辿ることによりアクセスされ、結果としてクリッ
プ状態表の書き換え範囲を得ることができる。
The clip status table shows the I of a drawing command.
It is accessed by tracing the data structure based on D,
As a result, it is possible to determine whether or not to clip. The clip range table is accessed by tracing the data structure using the ID of a certain clip as a key, and as a result, the rewriting range of the clip state table can be obtained.

【0039】クリップ検索表について図11を用いて具
体的に説明する。図11(a)に示すように、描画順序
を示すID=aで描画種別=クリップA登録(セッ
ト)、ID=bで描画種別=クリップB登録(セッ
ト)、ID=cで描画種別=クリップA解除(クリ
ア)、ID=dで描画種別=クリップC登録(セッ
ト)、ID=eで描画種別=クリップC解除(クリ
ア)、ID=fで描画種別=クリップB解除(クリア)
の描画コマンド列があるとする(但し、a<b<c<d
<e<fの順序があるものとする)。
The clip search table will be specifically described with reference to FIG. As shown in FIG. 11A, when the drawing order is ID = a, the drawing type = clip A registration (set), the ID = b, the drawing type = clip B registration (set), and the ID = c, the drawing type = clip A release (clear), ID = d drawing type = clip C registration (set), ID = e drawing type = clip C release (clear), ID = f drawing type = clip B release (clear)
There is a drawing command sequence of (where a <b <c <d
<The order of <e <f).

【0040】この描画コマンド列から図11(b)に示
すようなIDとクリップ状態の2分木によるクリップ状
態表と図11(c)に示すようなクリップ範囲表が作成
される。本例でのクリップ状態表は2分木で作成した
が、他の方法により作成してもよい。
From this drawing command sequence, a clip state table based on a binary tree of IDs and clip states as shown in FIG. 11B and a clip range table as shown in FIG. 11C are created. Although the clip state table in this example is created using a binary tree, it may be created using another method.

【0041】図11(b)において、ルートの[0,
E)は、IDが0以上E(IDの最後)未満であるID
の区間を示している。区間を表す表記「[」は「以上」
を、「)」は未満を意味するものとし、図11(b)の
各ノードのIDの区間表記においても同じ意味で用いる
ものとする。最下層のノードには、区間データ及び、セ
ットされているクリップの個数、最下層のノード番号が
格納される。図においては例えば最下層のノード[a,
b)で区間データを表し、[a,b)の左下側にはセッ
トされているクリップの個数1、右下側には最下ノード
の番号が格納されている。この最下ノードの番号は、別
途用意するクリップ状態のワーク領域(以降クリップカ
ウンタ)へのキーとして使用される。塗りつぶし処理時
には、各最下ノードごとにカウンタ領域を用意し、その
カウンタの値を、クリップ領域が新たに内部状態になっ
た場合に増加させ、外部になったときに減少させる。ク
リップの個数とカウンタの値が等しくなると、その最下
ノードに対応する区間の全ての(描画ベクターに関す
る)IDについてクリップが内部状態にある、つまり、
領域を塗りつぶすことをクリップにより禁止されていな
い状態(塗りつぶしを出力できる状態)にあるというこ
とになる。
In FIG. 11B, the route [0,
E) is an ID whose ID is 0 or more and less than E (end of ID)
Indicates the section of. The notation "[" representing a section is "greater than or equal to"
")" Means less than, and is used with the same meaning in the section notation of the ID of each node in FIG. The section data, the number of clips set, and the node number of the bottom layer are stored in the bottom layer node. In the figure, for example, the node [a,
The section data is represented by b), the number of set clips is 1 on the lower left side of [a, b), and the number of the bottom node is stored on the lower right side. The number of the bottom node is used as a key to a separately prepared clipped work area (hereinafter, clip counter). At the time of the filling processing, a counter area is prepared for each bottom node, and the value of the counter is increased when the clip area newly becomes the internal state and decreased when the clip area becomes the external state. When the number of clips and the value of the counter become equal, the clips are in the internal state for all IDs (related to the drawing vector) of the section corresponding to the bottom node, that is,
This means that the area is in a state in which the clip is not prohibited from being filled (the state in which the fill can be output).

【0042】したがって、IDがa’(但し、a<a’
<b)の「塗り」の描画コマンドは、ルート[0,E)
から、ノード[0,d)、[0,b)、[a,b)の順
に探索することにより、ノード[a,b)に格納された
個数(この場合は1)のクリップ(この場合はクリップ
A)だけから影響を受けることが分かる。また例えば、
IDがd’(但し、d<d’<e)の「塗り」の描画コ
マンドは、ルート[0,E)から、ノード[d,E)、
[d,f)、[d,e)の順に探索することにより、ノ
ード[d,e)に格納された個数(この場合2)のクリ
ップ(この場合クリップBとC)から影響を受ける(ク
リアされているクリップAには影響されない)ことが分
かる。
Therefore, the ID is a '(however, a <a'
The drawing command for "paint" in <b) is the route [0, E)
From the node [0, d), [0, b), [a, b) in that order, the number of clips (1 in this case) stored in the node [a, b) (in this case, 1). It can be seen that only clip A) is affected. Also, for example,
The drawing command for "painting" with ID d '(however, d <d'<e) is from the root [0, E) to the node [d, E),
By searching in the order of [d, f) and [d, e), the number (in this case, 2) of clips (in this case, clips B and C) stored in the node [d, e) is affected (cleared). It is not affected by the clip A being played).

【0043】クリップに関する描画コマンドによりこの
表は形成され、「クリップ登録」の場合には、クリップ
状態表の最下層にあるノード(末端ノード)にデータ
(区間データ、クリップの個数、及び、最下層ノード番
号)を追加する処理が行われる。「クリップ解除」の場
合には、前区間のノードを終了し、新しい区間を示すノ
ードを追加する。追加したノードのクリップの個数のデ
ータは、前区間のクリップの個数から1減少させたもの
となる。
This table is formed by a drawing command relating to clips. In the case of "clip registration", data (section data, the number of clips, and the lowest layer) is stored in the node (end node) at the lowest layer of the clip state table. Node number) is added. In the case of "clip cancellation", the node in the previous section is terminated and a node indicating a new section is added. The data of the number of clips of the added node is one less than the number of clips of the previous section.

【0044】ワーク領域ID(識別子)割り当て部80
は、ベクター生成部30中の描画データ存在範囲検出部
50において抽出された各描画データの存在範囲データ
を受取り、そのデータを整理した後、描画属性記憶部7
0に、各描画データのワーク領域ID(識別子)を通知
する。
Work area ID (identifier) assigning unit 80
Receives the existence range data of each drawing data extracted by the drawing data existence range detecting unit 50 in the vector generating unit 30, arranges the data, and then draws the drawing attribute storage unit 7
The work area ID (identifier) of each drawing data is notified to 0.

【0045】領域割り当て部100は、並列動作する複
数の塗りつぶし処理部90a〜90nに対して、塗りつ
ぶし処理を行う領域を通知する。
The area allocating section 100 notifies the plurality of parallel processing sections 90a to 90n operating in parallel, about the areas to be filled.

【0046】ベクター記憶部60で保持されている各ベ
クターはスキャンライン順に塗りつぶし処理部90に取
り出され、塗りつぶしとクリップ処理が同時に行われ
る。塗りつぶし処理部90での処理において必要に応じ
て描画属性記憶部70に保持されているデータが参照さ
れる。塗りつぶしとクリップ処理の終了したデータは画
像出力部110から画像出力装置(図示せず)に出力さ
れる。ここで、塗りつぶし処理部90の詳細な説明は後
程行うことにする。
The respective vectors held in the vector storage unit 60 are taken out to the fill processing unit 90 in the order of scan lines, and the fill and clip processing are performed simultaneously. In the processing in the filling processing unit 90, the data held in the drawing attribute storage unit 70 is referred to as needed. The data that has been painted and clipped is output from the image output unit 110 to an image output device (not shown). Here, a detailed description of the filling processing unit 90 will be given later.

【0047】次に、本実施の形態における描画処理装置
による処理の概略を図12に示すフローチャートを用い
て説明する。
Next, the outline of the processing by the drawing processing apparatus according to the present embodiment will be described with reference to the flowchart shown in FIG.

【0048】図12に示す処理の流れは3つの段階に大
別される。一つ目は描画コマンドを入力して内部のデー
タとして蓄積する段階(ステップ1201)であり、二
つ目は、内部のデータを解析して(整理して並列処理の
ための準備)を行う段階(ステップ1202)であり、
三つ目は、蓄積されたデータを(並列に)塗りつぶし処
理を行う段階(ステップ1203)である。
The processing flow shown in FIG. 12 is roughly divided into three stages. The first is the step of inputting a drawing command and storing it as internal data (step 1201), and the second is the step of analyzing the internal data (arranging and preparing for parallel processing). (Step 1202),
The third is a step (step 1203) of performing a filling process on the accumulated data (in parallel).

【0049】図13は内部データの生成段階の処理の流
れを示したフローチャートである。まず、描画データ入
力部10が描画コマンド列を取得(ステップ1301)
する。次に、取得された描画コマンド列の内一つの描画
コマンドを取り出して、描画コマンドから描画属性を取
得し、描画コマンドの種類に応じて描画属性記憶部70
内に描画属性を登録(ステップ1302)する。次に、
ベクター生成部30により当該一つの描画コマンドに付
随している全ての点列からベクターが生成(ステップ1
303)される。描画コマンドの種類に応じてベクター
記憶部60に、作成した全てのベクターを登録(ステッ
プ1304)する。そして、さらに、当該一つの描画コ
マンドに付随している全ての点列から、その描画コマン
ドが描画する図形の存在範囲を算出(ステップ130
5)し、その範囲を描画属性記憶部70に登録(ステッ
プ1306)する。描画コマンド列の全ての描画コマン
ドに対して登録終了になるまでこれらのステップが繰り
返される(ステップ1307,1308)。
FIG. 13 is a flowchart showing the flow of processing at the internal data generation stage. First, the drawing data input unit 10 acquires a drawing command string (step 1301)
To do. Next, one drawing command is extracted from the acquired drawing command sequence, the drawing attribute is acquired from the drawing command, and the drawing attribute storage unit 70 is acquired according to the type of the drawing command.
The drawing attribute is registered (step 1302). next,
The vector generation unit 30 generates a vector from all the point sequences associated with the one drawing command (step 1
303). All created vectors are registered in the vector storage unit 60 according to the type of drawing command (step 1304). Then, from all the point sequences attached to the one drawing command, the existence range of the figure drawn by the drawing command is calculated (step 130).
5) and the range is registered in the drawing attribute storage unit 70 (step 1306). These steps are repeated until registration is completed for all drawing commands in the drawing command sequence (steps 1307 and 1308).

【0050】図14は内部データ整理段階の処理の流れ
を示したものである。まず、存在範囲データをそれぞ
れ、IDと存在開始点位置、IDと存在終了点位置(こ
れらのデータを以降、説明の簡単のために存在端データ
と呼ぶ)のデータに変換し、それを存在開始点位置、あ
るいは存在終了点位置の位置データをキーとして並べ替
える(ステップ1401)。例えば、処理の副走査方向
に座標軸を取ったときに、座標値の最小値を存在開始点
位置、座標値の最大値を存在終了点位置とすることがで
きる。また、後の処理でワーク領域ID(識別子)を各
描画コマンドIDごとに割り振ることになるワーク領域
ID(識別子)割り当て管理機構を初期化(ステップ1
402)する。そして、存在端データを順に取り出して
(ステップ1403)処理する。存在端データが存在開
始を示すデータであった場合(ステップ1404、Ye
s)にはワーク領域ID(識別子)割り当て管理機構に
要求を出し、ワーク領域ID(識別子)の割り当てを受
け(ステップ1405)、そして、そのワーク領域ID
(識別子)を描画属性記憶部70に登録(ステップ14
06)する。また、存在端データが存在終了を示すこと
を示すデータであった場合(ステップ1404、No)
には描画属性記憶部70に問い合わせて、そのIDで登
録されているワーク領域ID(識別子)を得、そのワー
ク領域ID(識別子)を解放することをワーク領域ID
(識別子)割り当て管理機構に通知(ステップ140
7)する。これらの処理は、全ての存在端データについ
て処理が行われる(ステップ1408)。また、これら
の処理の最後に、割り振ったワーク領域ID(識別子)
の個数の最大値を記録し、また、これを描画属性記憶部
70に登録(ステップ1409)する。
FIG. 14 shows the flow of processing at the internal data reduction stage. First, the existence range data is converted into data of an ID and an existence start point position, and an ID and an existence end point position (these data will be referred to as existence end data hereinafter for simplification of description), and the existence start data is converted into the existence start data. The position data of the point position or the existence end point position is used as a key for rearrangement (step 1401). For example, when the coordinate axis is taken in the sub-scanning direction of the process, the minimum coordinate value can be set as the existence start point position, and the maximum coordinate value can be set as the existence end point position. In addition, the work area ID (identifier) allocation management mechanism that allocates the work area ID (identifier) to each drawing command ID in the subsequent processing is initialized (step 1
402). Then, the existence end data is sequentially taken out (step 1403) and processed. When the existence end data is data indicating the existence start (step 1404, Yes)
For s), a request is sent to the work area ID (identifier) allocation management mechanism, the work area ID (identifier) is allocated (step 1405), and the work area ID
(Identifier) is registered in the drawing attribute storage unit 70 (step 14
06) In addition, when the existence end data is data indicating that the existence end is present (step 1404, No)
, The drawing attribute storage unit 70 is inquired to obtain a work area ID (identifier) registered with that ID, and the work area ID (identifier) is released.
(Identifier) Notify allocation management mechanism (step 140)
7) Do. These processes are performed for all existing end data (step 1408). In addition, at the end of these processes, the work area ID (identifier) allocated
The maximum value of the number of is recorded and registered in the drawing attribute storage unit 70 (step 1409).

【0051】なお、存在開始のデータと存在終了のデー
タが入り混じった場合に混乱することが予想されるが、
これは存在範囲のデータを実際の描画データよりも大き
くとっておく、同一の処理位置においては、存在開始の
データを処理してから存在終了のデータを処理する、あ
るいは、存在終了のデータをより後に処理されるように
ずらして登録するなどの方法により、混乱無く目的の処
理を実現することができる。
It should be noted that it is expected to be confused when the existence start data and the existence end data are mixed,
This is because the data of the existence range is set larger than the actual drawing data, at the same processing position, the data of the existence start is processed and then the data of the existence end is processed, or the data of the existence end is processed more. A desired process can be realized without confusion by a method such as shifting and registering so as to be processed later.

【0052】図15は塗りつぶし処理の流れを示したフ
ローチャートである。ここでは、並列に塗りつぶし処理
を行う例を示しているため、まず最初に領域割り当て部
を初期化し、領域の分割方法や割り当ての戦略などの設
定(ステップ1501)を行う。そして、並列に動作す
る複数の塗りつぶし処理部90a〜90nを起動(ステ
ップ1502)する。その後、複数の塗りつぶし処理部
90a〜90nの全ての作業が終了することを待ち合わ
せ(ステップ1503)た後、必要なら結果を出力(ス
テップ1504)する。
FIG. 15 is a flow chart showing the flow of the painting process. Since an example of performing the filling process in parallel is shown here, the area allocation unit is first initialized, and the area division method and allocation strategy are set (step 1501). Then, the plurality of fill processing units 90a to 90n operating in parallel are activated (step 1502). After that, after waiting for the completion of all the operations of the plurality of filling processing units 90a to 90n (step 1503), the result is output if necessary (step 1504).

【0053】図16は塗りつぶし処理部の処理の流れで
ある。並列動作する塗りつぶし処理部90は起動される
と、描画属性記憶部70に問い合わせて、ワーク領域の
最大値と、クリップ状態表の末端ノードの個数を得る
(ステップ1601)。そして、ワーク領域用のメモリ
とクリップ状態表の末端ノードの状態を格納する領域を
獲得し、それらを初期化(ステップ1602)する。
FIG. 16 shows the flow of processing of the painting processing section. When the painting processing unit 90 operating in parallel is activated, it inquires the drawing attribute storage unit 70 to obtain the maximum value of the work area and the number of end nodes of the clip state table (step 1601). Then, the memory for the work area and the area for storing the states of the end nodes of the clip state table are acquired, and they are initialized (step 1602).

【0054】その後、処理の割り当てを領域割り当て部
100に要求(ステップ1603)して、割り当てられ
た領域の処理を行うことを繰り返す(ステップ160
4,1605)。割り当てられた領域ごとの処理では、
まず、割り当てられた処理領域に合わせた初期化(ステ
ップ1606)を行い(例えば、処理を開始するスキャ
ンラインに、作業するスキャンライン位置を設定するな
どの初期化を行う)、その後、割り当てられた領域分、
作業中のスキャンラインに関係するベクターの収集・整
理(ステップ1607)する。ここでは、アクティブテ
ーブルと呼ぶテーブルに格納する。さらに、アクティブ
テーブル内のベクターを、処理中のスキャンラインでの
位置座標(スキャンラインに沿った方向に座標軸をと
り、その時の位置座標値)で並べ替える。そして、並べ
替えられたアクティブテーブル内のベクターを順に処理
する(ステップ1608,1609,1610)。アク
ティブテーブル内の全てのベクターについて処理を終え
ると割り当てられた領域の全てのスキャンラインの処理
を終了したか調べ、終了していなければ、次のスキャン
ラインの処理を行う(ステップ1611)。終了してい
れば、次の処理の割り当てを要求する。割り当てが終了
していた場合には、処理を終了する。
Thereafter, the process allocation is requested to the region allocation unit 100 (step 1603) and the process of the allocated region is repeated (step 160).
4, 1605). In the processing for each allocated area,
First, initialization (step 1606) according to the assigned processing area is performed (for example, initialization is performed by setting a scan line position to work on a scan line to start processing), and then assigned. Area,
Vectors related to the scan line in operation are collected and organized (step 1607). Here, it is stored in a table called an active table. Further, the vectors in the active table are rearranged according to the position coordinates on the scan line being processed (coordinate axes are set in the direction along the scan line and the position coordinate values at that time). Then, the vectors in the rearranged active table are processed in order (steps 1608, 1609, 1610). When the processing is completed for all the vectors in the active table, it is checked whether the processing for all the scan lines in the allocated area is completed. If not completed, the processing for the next scan line is executed (step 1611). If the processing is completed, the next processing allocation is requested. If the allocation has been completed, the processing ends.

【0055】以上が本実施の形態による描画処理装置の
塗りつぶし処理の全体の概略である。続いて、本実施の
形態としての描画処理装置による処理を図17に示す具
体例に基づいてさらに明確かつ十分に説明する。
The above is the outline of the entire filling process of the drawing processing apparatus according to the present embodiment. Next, the processing by the drawing processing apparatus according to the present embodiment will be described more clearly and sufficiently based on the specific example shown in FIG.

【0056】図17は、描画コマンドとして4つの矩形
領域を描画した後、1つのクリップが指定され、このク
リップから影響を受ける3つの矩形領域を描画した例を
示している。まず、描画コマンド「描画領域A」により
図示の通り4点DA1,DA2,DA3,DA4で構成
される矩形領域201が確定される。次に、描画コマン
ド「描画領域B」により4点DB1,DB2,DB3,
DB4より構成される矩形領域202が確定される。同
様に、描画コマンド「描画領域C」、「描画領域D」に
よりそれぞれ異なる位置に矩形領域203、204が順
に指定され、描画コマンド「クリップE」により矩形領
域のクリップ領域205が指定された後で、さらに、描
画コマンド「描画領域F」、「描画領域G」、「描画領
域H」により矩形領域206、207、208の塗りつ
ぶしが指定される。これらの描画コマンドに対する処理
は209に示すような図が描画結果としてえられること
が期待される。
FIG. 17 shows an example in which after drawing four rectangular areas as a drawing command, one clip is designated and three rectangular areas affected by the clips are drawn. First, the drawing command "drawing area A" determines a rectangular area 201 composed of four points DA1, DA2, DA3, DA4 as shown in the figure. Next, by the drawing command "drawing area B", four points DB1, DB2, DB3
A rectangular area 202 composed of DB4 is determined. Similarly, after the rectangular commands 203 and 204 are sequentially designated at different positions by the drawing commands “drawing region C” and “drawing region D”, and the clipping region 205 of the rectangular region is designated by the drawing command “clip E”. Further, the drawing commands “drawing area F”, “drawing area G”, and “drawing area H” specify the filling of the rectangular areas 206, 207, and 208. It is expected that the processing for these drawing commands will obtain a drawing as shown in 209 as a drawing result.

【0057】図17の描画処理における描画コマンド列
を図18に示す。図18に示した描画コマンド列は、9
つの描画コマンドから構成される。描画コマンド「描画
領域A」は、描画順序を表すID=ID1、描画コマン
ド種類が「塗り」であることを示す識別子FILL、内
部判定のための判定規則NZ、色の情報色1、描画領域
形状を決定する点の位置情報DA1,DA2,DA3,
DA4とから構成されている。描画コマンド「描画領域
B」も同様に、描画順序を表すID=ID2、色の情報
色1、描画コマンド種類が「塗り」であることを示す識
別子FILL、内部判定のための判定規則NZ、描画領
域形状を決定する点の位置情報DB1,DB2,DB
3,DB4とから構成されている。描画コマンド「描画
領域C」、「描画領域D」、「描画領域F」、「描画領
域G」、「描画領域F」も同様の構造をもっている。描
画コマンド「クリップE」は、描画順序を表すID=I
D5、描画コマンド種類が「クリップ登録」であること
を示す識別子CLIPSET、内部判定のための判定規
則NZ、描画領域形状を決定する点の位置情報DE1,
DE2,DE3,DE4とから構成されている。また、
描画コマンド「クリップE解除」は描画コマンド種類が
「クリップ解除」であることを示す識別子CLIPCL
EAR、と解除するクリップのIDであるID5とから
構成されている。
FIG. 18 shows a drawing command string in the drawing process of FIG. The drawing command sequence shown in FIG.
It consists of two drawing commands. The drawing command “drawing area A” has ID = ID1 indicating the drawing order, an identifier FILL indicating that the drawing command type is “painting”, a determination rule NZ for internal determination, a color information color 1, and a drawing area shape. Position information DA1, DA2, DA3 for determining
It is composed of DA4. Similarly for the drawing command “drawing area B”, ID = ID2 indicating the drawing order, color information color 1, identifier FILL indicating that the drawing command type is “paint”, determination rule NZ for internal determination, drawing Position information DB1, DB2, DB of points that determine the area shape
3, DB4. The drawing commands "drawing area C", "drawing area D", "drawing area F", "drawing area G", and "drawing area F" have the same structure. The drawing command “clip E” has an ID = I indicating the drawing order.
D5, an identifier CLIPSET indicating that the drawing command type is “clip registration”, a determination rule NZ for internal determination, position information DE1 of a point for determining the drawing area shape
It is composed of DE2, DE3 and DE4. Also,
The drawing command “clip E release” is an identifier CLIPCL indicating that the drawing command type is “clip release”
EAR and ID5 which is the ID of the clip to be released.

【0058】この図18に示した描画コマンド列を用い
て、本実施例の形態における描画処理装置の処理手順の
詳細な説明を行う。
The processing procedure of the drawing processing apparatus according to the present embodiment will be described in detail with reference to the drawing command sequence shown in FIG.

【0059】始めに図13で概説した内部データの生成
処理の詳細を図19を用いて説明する。まず、描画デー
タ入力部10に入力された描画コマンド列の一つの描画
コマンドからIDと描画コマンドの種別を取り出す(ス
テップ1901)。次に描画コマンドの種別により、ク
リップ以外の場合、クリップ登録の場合、クリップ解除
の場合に分岐(ステップ1902)する。
First, details of the internal data generation processing outlined in FIG. 13 will be described with reference to FIG. First, the ID and the type of the drawing command are extracted from one drawing command of the drawing command string input to the drawing data input unit 10 (step 1901). Next, depending on the type of the drawing command, the process branches in the case other than the clip, the clip registration, and the clip release (step 1902).

【0060】クリップ以外の場合には、描画コマンドに
付随する描画属性値を取り出して描画属性表に登録(ス
テップ1903)する。ここで登録される描画属性は、
前述の図9に示したような形式で表現されるレコードで
ある。すなわち、描画コマンドが塗りの場合には図10
(b)のレコードとなり、描画コマンドが細線の場合に
は図10(c)のレコードとなる。
In the case of other than the clip, the drawing attribute value attached to the drawing command is taken out and registered in the drawing attribute table (step 1903). The drawing attributes registered here are
The record is expressed in the format shown in FIG. 9 described above. That is, when the drawing command is fill,
It becomes the record of (b), and when the drawing command is a thin line, it becomes the record of FIG. 10 (c).

【0061】そして、描画コマンドに付随する全ての点
列に対して2点ずつを取り出して描画ベクターを作成
(ステップ1904)する。ここで作成される描画ベク
ターは、前述の図6に示したような形式で表現されるベ
クターである。すなわち、図7に示した座表系の向きを
考慮し、ベクターの「向き」を算出する。座標系のY軸
が図面垂直下方向に正であるとすると、取り出した2点
のうちの始点の方が大きい座標値を持っている場合には
向きが反転されて−1となる。例として2点(200,
200)−(100,100)が与えられた場合は、X
切片として100、向きが−1となる(図7(b)参
照)。
Then, two points are extracted for every point sequence associated with the drawing command to create a drawing vector (step 1904). The drawing vector created here is a vector represented in the format shown in FIG. That is, the "orientation" of the vector is calculated in consideration of the orientation of the locus system shown in FIG. If the Y axis of the coordinate system is positive in the downward direction of the drawing, the direction is inverted to -1 when the starting point of the two extracted points has a larger coordinate value. As an example, 2 points (200,
200)-(100,100), then X
The intercept is 100 and the orientation is -1 (see FIG. 7B).

【0062】このようにして作成された描画ベクターは
ベクター記憶部60内の描画ベクターテーブルに登録
(ステップ1905)される。この処理は全ての点列を
処理するまで繰り返される(ステップ1906)。点列
の処理が完了した後の描画ベクターテーブルの状態を図
20に示す。なお、X軸に平行なベクターは、以降の処
理の例では処理の内容に関係してこないので、ここでは
登録しないものとして説明する。
The drawing vector thus created is registered in the drawing vector table in the vector storage unit 60 (step 1905). This process is repeated until all point sequences have been processed (step 1906). FIG. 20 shows the state of the drawing vector table after the processing of the point sequence is completed. Note that the vector parallel to the X axis does not relate to the content of the process in the subsequent process examples, and thus will be described here as being not registered.

【0063】そして、点列のY座標の最大値、最小値を
求めて、存在範囲を算出(ステップ1907)する。例
えば、描画領域Aに対してはY15からY19までに存
在することが求められ、この範囲情報がID1と組み合
わされてワーク領域ID(識別子)割り当て部80に通
知(ステップ1908)される。
Then, the maximum value and the minimum value of the Y coordinate of the point sequence are obtained, and the existence range is calculated (step 1907). For example, the drawing area A is required to exist from Y15 to Y19, and this range information is combined with ID1 and notified to the work area ID (identifier) assigning unit 80 (step 1908).

【0064】次に、クリップ登録と判断された場合の処
理を説明する。まず、描画コマンドに付随する描画属性
値を取り出して描画属性表に登録(ステップ1911)
する。そして、クリップ登録のIDを基に、クリップ状
態表へノードを追加(ステップ1912)する。その後
で、描画コマンドに付随する全ての点列に対して2つず
つを取り出して、図6に示すベクター表現のクリップベ
クターを作成(ステップ1913)する。作成されたク
リップベクターは、ベクター記憶部60内のクリップベ
クターテーブルに登録(ステップ1914)する。この
クリップ登録の描画コマンドの全ての点列を処理するま
で、クリップベクター生成の処理が繰り返される(ステ
ップ1915)。クリップベクターを全て登録した場合
のクリップベクターテーブルの状態の例を図21に示
す。そして、描画コマンドの点列のY座標から、存在範
囲データが算出(ステップ1907)されて、IDと組
み合わされて描画属性記憶部70に登録(ステップ19
08)される。
Next, the processing when it is judged that the clip is registered will be described. First, the drawing attribute value associated with the drawing command is extracted and registered in the drawing attribute table (step 1911).
To do. Then, a node is added to the clip state table based on the clip registration ID (step 1912). After that, two pieces are extracted for all the point sequences associated with the drawing command to create a clip vector of the vector expression shown in FIG. 6 (step 1913). The created clip vector is registered in the clip vector table in the vector storage unit 60 (step 1914). The clip vector generation process is repeated until all point sequences of the clip registration drawing command are processed (step 1915). FIG. 21 shows an example of the state of the clip vector table when all clip vectors are registered. Then, the existence range data is calculated from the Y coordinate of the point sequence of the drawing command (step 1907), combined with the ID and registered in the drawing attribute storage unit 70 (step 19).
08) is performed.

【0065】図20および図21に示した描画ベクター
テーブルおよびクリップベクターテーブルを図22を用
いてより詳細に説明する。図22は図17および図18
の具体例に基づくスキャンラインとベクターとの関係を
示している。図中縦方向には複数のスキャンラインが並
列しており、各ベクターの始点及び終点に関係するスキ
ャンラインに情報からY1〜Y21の番号を付してい
る。例えば描画領域Bを構成する二つの描画ベクター
(DB4,DB1)及び(DB3,DB2)はスキャン
ラインY3に結び付けられている。ベクターは、ベクタ
ーの「向き」を考慮したのち、必ず、開始点をベクター
の上端にしてY座標に結び付けられるので、ベクターの
始点DB2、終点DB3の描画ベクター(DB3,DB
2)はDB3を開始点としてスキャンラインY3に結び
つけられる。同様にして描画領域Cの描画ベクターもス
キャンラインY3に結びつけられ、描画領域Aと描画領
域Dの描画ベクターはスキャンラインY15に結びつけ
られ、クリップEのクリップベクターはスキャンライン
Y5に結びつけられ、描画領域Fの描画ベクターはスキ
ャンラインY5に結びつけられ、描画領域Gの描画ベク
ターはスキャンラインY12に結びつけられ、描画領域
Hの描画ベクターはスキャンラインY10に結びつけら
れている。
The drawing vector table and clip vector table shown in FIGS. 20 and 21 will be described in more detail with reference to FIG. FIG. 22 shows FIG. 17 and FIG.
3 shows a relationship between a scan line and a vector based on the specific example of FIG. A plurality of scan lines are arranged in parallel in the vertical direction in the figure, and the scan lines related to the start point and end point of each vector are numbered Y1 to Y21 from the information. For example, two drawing vectors (DB4, DB1) and (DB3, DB2) forming the drawing area B are linked to the scan line Y3. The vector is always linked to the Y coordinate with the start point at the upper end of the vector after considering the "direction" of the vector. Therefore, the drawing vectors (DB3, DB3) of the start point DB2 and the end point DB3 of the vector
2) is linked to the scan line Y3 starting from DB3. Similarly, the drawing vector of the drawing area C is also connected to the scan line Y3, the drawing vectors of the drawing areas A and D are connected to the scan line Y15, and the clip vector of the clip E is connected to the scan line Y5. The drawing vector of F is connected to the scan line Y5, the drawing vector of the drawing area G is connected to the scan line Y12, and the drawing vector of the drawing area H is connected to the scan line Y10.

【0066】なお、図20および図21においては説明
の簡単のために、ベクターをリスト形式によって格納す
る方式について例示したが、この例示する方式に限ら
ず、例えばY座標に対応する格納場所を持つテーブル形
式の格納方式を採用していてもよい。
Note that, in FIGS. 20 and 21, a method of storing vectors in a list format has been illustrated for the sake of simplicity of description, but the present invention is not limited to this illustrated method, and for example, a storage location corresponding to the Y coordinate is provided. A table format storage system may be adopted.

【0067】次に、クリップ解除と判断された場合に
は、クリップ解除コマンド自身のIDを元に、クリップ
状態表の前区間のノードを終了し、新しい区間のノード
を追加(ステップ1916)する。そして、クリップ解
除コマンド自身のIDとクリップ解除コマンドに付随す
る解除するクリップのIDをもとに、クリップ範囲表
に、解除するクリップのIDのノードを追加(ステップ
1917)し、クリップ状態表の関連する末端ノードと
結びつける。全ての描画コマンドを処理した後の、すな
わち、図19の処理が終った段階でのクリップ状態表を
図23に、クリップ範囲表を図24に示す。
Next, when it is determined that the clip is released, the node in the previous section of the clip state table is terminated based on the ID of the clip release command itself, and the node in the new section is added (step 1916). Then, based on the ID of the clip release command itself and the ID of the clip to be released that accompanies the clip release command, a node of the ID of the clip to be released is added to the clip range table (step 1917), and the relation of the clip status table is added. Connect to the end node. FIG. 23 shows the clip state table after processing all drawing commands, that is, the clip range table at the stage when the processing of FIG. 19 ends, and FIG. 24 shows the clip range table.

【0068】図23に示したように、ID5からID9
までの区間は、1つのクリップから影響を受け、その塗
りつぶし処理時にクリップの状態を保持する記憶領域
(以降クリップカウンタ)のIDが1番となる。図24
に示したように、クリップEはクリップ状態表の[ID
5,ID9)に影響を与えることとなる。このとき、ク
リップ範囲表は[ID5,ID9)に対応するクリップ
カウンタのIDを直接書き込んであってもよい。このよ
うに、クリップ状態表は、描画コマンドのクリップの状
態を簡単に調べることができ、クリップ範囲表は、クリ
ップの内部状態が変化した時に、どの区間のクリップ状
態表のノードに影響を与えるかを簡単に調べることがで
きる。
As shown in FIG. 23, ID5 to ID9
The section up to is affected by one clip, and the ID of the storage area (hereinafter referred to as the clip counter) that holds the state of the clip at the time of the filling processing becomes the first. Figure 24
As shown in, the clip E is indicated by [ID in the clip status table.
5, ID9). At this time, the ID of the clip counter corresponding to [ID5, ID9) may be directly written in the clip range table. In this way, the clip state table can easily check the clip state of the drawing command, and the clip range table affects which node of the clip state table affects which node when the internal state of the clip changes. Can be easily checked.

【0069】以上の処理を、描画コマンド列の全ての描
画コマンドの処理が終了するまで繰り返す。
The above processing is repeated until the processing of all drawing commands in the drawing command string is completed.

【0070】図19の最後の処理として、描画属性表に
付加情報を追加(ステップ1910)する。図25に全
ての描画コマンドを処理した後の、描画属性のレコード
を示してある。図25にあるように、図8に示した各コ
マンドの種類ごとのレコードにその他の情報として、塗
りと細線の場合にはクリップ状態表へのリンク、クリッ
プ登録の場合にはクリップ範囲表へのリンクを追加した
ものである。
As the final processing of FIG. 19, additional information is added to the drawing attribute table (step 1910). FIG. 25 shows a record of drawing attributes after processing all drawing commands. As shown in FIG. 25, other information is added to the record for each command type shown in FIG. 8 as a link to the clip status table in the case of fill and thin line, and a clip range table in the case of clip registration. It has a link added.

【0071】図25において、ID1の描画領域Aに対
応するレコードは、種別(FILL)、判定規則(N
Z)、色(色1)、そして付加情報として、ワーク領域
のID(WID)用の領域と、クリップ状態表のノード
[ID1,ID5)へのリンクが追加されている。ID
2の描画領域Bに対応するレコードは、種別(FIL
L)、判定規則(NZ)、色(色1)、そして付加情報
として、ワーク領域のID(WID)用の領域と、クリ
ップ状態表のノード[ID1,ID5)へのリンクが追
加されている。ID3の描画領域Cに対応するレコード
は、種別(FILL)、判定規則(NZ)、色(色
1)、そして付加情報として、ワーク領域のID(WI
D)用の領域と、クリップ状態表のノード[ID1,I
D5)へのリンクが追加されている。ID4の描画領域
Dに対応するレコードは、種別(FILL)、判定規則
(NZ)、色(色1)、そして付加情報として、ワーク
領域のID(WID)用の領域と、クリップ状態表のノ
ード[ID1,ID5)へのリンクが追加されている。
ID5のクリップEに対応するレコードは、種別(CL
IPSET)、判定規則(NZ)、そして付加情報とし
て、ワーク領域のID(WID)用の領域とクリップ範
囲表へのリンクが追加されている。ID6の描画領域F
に対応するレコードは、種別(FILL)、判定規則
(NZ)、色(色2)、そして付加情報として、ワーク
領域のID(WID)用の領域と、クリップ状態表のノ
ード[ID5,ID9)へのリンクが追加されている。
ID7の描画領域Gに対応するレコードは、種別(FI
LL)、判定規則(NZ)、色(色2)、そして付加情
報として、ワーク領域のID(WID)用の領域と、ク
リップ状態表のノード[ID5,ID9)へのリンクが
追加されている。ID8の描画領域Hに対応するレコー
ドは、種別(FILL)、判定規則(NZ)、色(色
2)、そして付加情報として、ワーク領域のID(WI
D)用の領域と、クリップ状態表のノード[ID5,I
D9)へのリンクが追加されている。
In FIG. 25, the record corresponding to the drawing area A of ID1 is the type (FILL), the determination rule (N
Z), color (color 1), and as additional information, a region for the ID (WID) of the work region and a link to the nodes [ID1, ID5] in the clip state table are added. ID
The record corresponding to the drawing area B of No. 2 has a type (FIL
L), determination rule (NZ), color (color 1), and as additional information, a work area ID (WID) area and links to nodes [ID1, ID5] in the clip status table are added. . The record corresponding to the drawing area C of ID3 is the type (FILL), the determination rule (NZ), the color (color 1), and the work area ID (WI) as additional information.
Area for D) and the node [ID1, I in the clip status table]
A link to D5) has been added. The record corresponding to the drawing area D of ID4 is the type (FILL), the determination rule (NZ), the color (color 1), and the area for the ID (WID) of the work area as additional information and the node of the clip state table. Links to [ID1, ID5) are added.
The record corresponding to the clip E of ID5 is of type (CL
(IPSET), determination rule (NZ), and as additional information, a work area ID (WID) area and a link to a clip range table are added. ID6 drawing area F
The record corresponding to is the type (FILL), the determination rule (NZ), the color (color 2), and the area for the ID (WID) of the work area and the nodes [ID5, ID9] of the clip status table as additional information. A link to has been added.
The record corresponding to the drawing area G of ID7 is of type (FI
LL), determination rule (NZ), color (color 2), and as additional information, a work area ID (WID) area and a link to a node [ID5, ID9] in the clip state table are added. . The record corresponding to the drawing area H of ID8 is the type (FILL), the determination rule (NZ), the color (color 2), and the work area ID (WI) as additional information.
Area for D) and the node [ID5, I in the clip status table]
A link to D9) has been added.

【0072】このように、複数の描画ベクターやクリッ
プベクターが存在する場合であってもそれらの対応関係
を容易に得ることができるようになる。
As described above, even when there are a plurality of drawing vectors and clip vectors, it is possible to easily obtain the corresponding relationship.

【0073】以上のようにして、描画コマンドの上記処
理が終了することにより、図19で説明した処理が終了
する。
As described above, the processing described with reference to FIG. 19 is completed by the completion of the above processing of the drawing command.

【0074】図26を用いて、ワーク領域ID(識別
子)の割り当ての処理を説明する。まず、図26(a)
に存在端データを整理した状態の概念図を示す。存在端
データは描画コマンド(あるいは描画ベクター)のID
と、座標値と、存在開始(以降Start)または存在
終了(以降End)を示すフラグとで構成される。図2
6(a)では、座標値をキーとして存在端データを整理
した例を示した。(座標値は登録場所で表している。)
図中で例えばY3でID:2の描画領域BとID:3の
描画領域Cが存在を始め、Y7で存在を止めることが読
み取れる。
The process of assigning a work area ID (identifier) will be described with reference to FIG. First, FIG. 26 (a)
Figure 2 shows a conceptual diagram of the existing end data arranged. Presence end data is the ID of the drawing command (or drawing vector)
And a coordinate value, and a flag indicating the existence start (hereinafter Start) or the existence end (hereinafter End). Figure 2
6 (a) shows an example in which the existence end data is arranged using the coordinate value as a key. (Coordinate values are shown at the registered location.)
In the figure, for example, it can be read that the drawing area B with ID: 2 and the drawing area C with ID: 3 start to exist at Y3 and stop at Y7.

【0075】図26(b)は図26(a)のデータをY
座標の小さい方向から大きい方向に(すなわち図の上方
向からした方向に)走査しながら処理を行い、各IDに
ワーク領域ID(WID)を割り当てる例を示してい
る。
In FIG. 26B, the data of FIG.
An example is shown in which processing is performed while scanning is performed from a direction having a small coordinate to a direction having a large coordinate (that is, in the direction from the top of the drawing), and a work area ID (WID) is assigned to each ID.

【0076】まず、最初にY3でID2の存在開始を示
す存在端データがあるので、ID2にWID1を割り当
てる。同じく、Y3でID3が存在を開始するので、こ
れにWID2を割り当てる。Y3での処理が終了した時
点では、返却されたWIDは無く、次に新たに割り当て
るWIDはWID3となっている。これらの割り当て結
果は、説明の簡単のために、即座に描画属性記憶部70
の描画属性表に格納されるものとするが、それ以外のタ
イミングで描画属性記憶部70に書き戻すものを排除す
るものではない。
First, since there is existence end data indicating the existence start of ID2 in Y3, WID1 is assigned to ID2. Similarly, since ID3 starts to exist at Y3, WID2 is assigned to it. At the time when the process in Y3 is completed, there is no returned WID, and the WID to be newly assigned next is WID3. For the sake of simplicity of explanation, these assignment results are immediately displayed in the drawing attribute storage unit 70.
The drawing attribute table is stored in the drawing attribute table, but the items to be written back to the drawing attribute storage unit 70 at other timings are not excluded.

【0077】次に、Y5では、ID5とID6の存在開
始を示す存在端データがあるため、ID5にWID3
を、ID6にWID4を割り当てる。この時、返却され
たWIDはなく、次に新たに割り当てるWIDはWID
5を示している。
Next, at Y5, since there is existence end data indicating the existence start of ID5 and ID6, ID5 has WID3.
And WID4 is assigned to ID6. At this time, there is no WID returned, and the WID newly assigned next is WID.
5 is shown.

【0078】Y7の位置では、ID2とID3の存在終
了を示す存在端データがあるため、ID2をキーとして
描画属性記憶部70を参照しWID1を得、これを返却
する。同様に、ID3に対応するWID2も返却され
る。この時、返却されたWIDはWID1とWID2と
なる。次に新たに割り当てるWIDは、この後の説明で
はWID5から変化しないため、以降の説明から省略す
る。
At the position Y7, there is existence end data indicating the end of existence of ID2 and ID3, so the drawing attribute storage unit 70 is referenced with ID2 as a key to obtain WID1 and this is returned. Similarly, WID2 corresponding to ID3 is also returned. At this time, the returned WIDs are WID1 and WID2. The WID to be newly assigned next does not change from WID5 in the following description, and is omitted from the following description.

【0079】Y9の位置ではID6の存在終了を示す存
在端データがあるため、同様にID6にわりあてられて
いるWID4を返却する。Y10の位置ではID8の存
在開始を示す存在端データがあるため、返却されている
WIDの中から一つを選び、ID8に割り当てる。この
例ではID8にWID1が割り当てられたものとする。
At the position Y9, there is existence end data indicating the end of the existence of ID6, and thus WID4 assigned to ID6 is returned. At the position of Y10, there is existence end data indicating the existence start of ID8, so one is selected from the returned WIDs and assigned to ID8. In this example, it is assumed that WID1 is assigned to ID8.

【0080】Y12の位置ではID7の存在開始を示す
存在端データがあるため、返却されているWID(WI
D2,WID4)の中から一つ(WID2)を選んで割
り当てる。
At the position Y12, there is existence end data indicating the start of the existence of ID7, so the returned WID (WI
One (WID2) is selected from D2 and WID4) and assigned.

【0081】以降同様にして、存在端データを走査しな
がら、各IDに対してWIDを割り当てる。その割り当
て結果を格納した状態の描画属性表の例を図27に示
す。
Similarly, the WID is assigned to each ID while scanning the existing data. FIG. 27 shows an example of the drawing attribute table in a state in which the allocation result is stored.

【0082】図28に説明に使用している描画サンプル
の描画領域をR1〜R7に分割し、それを3つの塗りつ
ぶし処理部、塗りつぶし処理部A,B,Cに割り当てた
例をしめす。以降の説明では、この図28の割り当てを
もとに説明する。
FIG. 28 shows an example in which the drawing area of the drawing sample used in the description is divided into R1 to R7, and the divided areas are assigned to three filling processing units and filling processing units A, B, and C, respectively. In the following description, the allocation shown in FIG. 28 will be described.

【0083】次に、図16の処理について、詳細に説明
する。まず、塗りつぶし処理部90は起動されると、所
定の初期化を行う。このとき、描画属性記憶部70ある
いはワーク領域ID(識別子)割り当て部80に対して
ワーク領域の総数情報を問い合わせ、その情報に基づい
て内部判定カウンタテーブル用領域を確保して初期化を
行う。また、描画属性記憶部70クリップカウンタテー
ブルの大きさを問い合わせて、その情報に基づいてクリ
ップカウンタテーブル用領域を確保して初期化を行う。
そして、描画状態表の領域を確保して初期化を行う。
Next, the processing of FIG. 16 will be described in detail. First, when the filling processing unit 90 is activated, it performs a predetermined initialization. At this time, the drawing attribute storage unit 70 or the work area ID (identifier) assigning unit 80 is inquired about the total number of work areas, and the internal determination counter table area is secured based on the information and initialization is performed. Also, the size of the drawing counter storage unit 70 clip counter table is inquired, and a clip counter table area is secured based on the information and initialization is performed.
Then, the area of the drawing state table is secured and initialization is performed.

【0084】この後、領域割り当て部100に対して、
処理対象とすべき描画領域の問い合わせを行う。問い合
わせの結果、既に処理対象とすべき領域が無い場合は処
理を終了する。処理対象とすべき描画領域を得ると、そ
の描画領域の処理を開始するための初期化を行う。例え
ば、処理対象とするスキャンラインの位置を処理対象の
描画領域の端に合わせることなどを行う。
After that, the area allocation unit 100
Queries the drawing area to be processed. As a result of the inquiry, if there is no area to be processed already, the process ends. When a drawing area to be processed is obtained, initialization for starting the processing of the drawing area is performed. For example, the position of the scan line to be processed is aligned with the edge of the drawing area to be processed.

【0085】説明に使用しているサンプルの場合だと、
例えば、塗りつぶし処理部Bは起動されると所定の初期
化を行った後、領域割り当て部に対して処理対象とすべ
き描画領域の問い合わせを行い、その結果、最初にY
4,Y5,Y6のスキャンラインを含む領域R2の処理
を行うように指示される。そこで、処理を行うスキャン
ラインの位置をY4に合わせて処理を開始する。場合に
よっては、このときY1,Y2,Y3などの担当外のス
キャンラインに登録されているベクターを参照し、Y4
に影響を及ぼすものを収集することも行う。
In the case of the sample used for the explanation,
For example, when the paint processing unit B is activated, it performs a predetermined initialization, then inquires of the drawing region to be processed to the region allocation unit, and as a result, Y
It is instructed to perform the processing of the region R2 including the scan lines of 4, Y5 and Y6. Therefore, the processing is started by aligning the position of the scan line to be processed with Y4. Depending on the case, at this time, the vector registered in the scan line not in charge such as Y1, Y2, Y3 is referred to, and Y4
It also collects things that affect

【0086】次に、スキャンラインごとに塗りつぶし処
理を繰り返し行う。まず、処理の対象とするスキャンラ
イン上の描画部ベクターと、クリップベクターをアクテ
ィブテーブルに格納する。クリップベクターはアクティ
ブテーブル内のアクティブクリップベクターテーブル
に、描画ベクターはアクティブベクターテーブルのアク
ティブ描画ベクターテーブル内に登録される。
Next, the filling process is repeated for each scan line. First, the drawing unit vector on the scan line to be processed and the clip vector are stored in the active table. The clip vector is registered in the active clip vector table in the active table, and the drawing vector is registered in the active drawing vector table of the active vector table.

【0087】次に、アクティブテーブルが空であるかど
うかが判断される。例えば、図20、図21のようにY
1〜Y2、Y20〜Y21にはベクターが存在しない、
この場合、Y1〜Y2、Y20〜Y21のスキャンライ
ンにおいてはアクティブテーブルが空となる。アクティ
ブテーブルが空であれば、当該スキャンラインには何も
データが存在しないことになるので、空のスキャンライ
ンを生成して出力する(あるいは何も出力しない)で当
該スキャンラインの処理を終了してループの最初に戻
る。このとき、単純に塗りつぶし処理を行っている場合
には、アクティブスキャンライン内の描画ベクターの有
無を調べるだけでもよい。
Next, it is determined whether the active table is empty. For example, as shown in FIGS. 20 and 21, Y
1 to Y2 and Y20 to Y21 have no vector,
In this case, the active table becomes empty in the scan lines Y1 to Y2 and Y20 to Y21. If the active table is empty, there is no data in the scan line, so the empty scan line is generated and output (or nothing is output), and the processing of the scan line ends. Return to the beginning of the loop. At this time, if the filling process is simply performed, it is sufficient to check whether or not there is a drawing vector in the active scan line.

【0088】次に、アクティブテーブルにベクターが存
在している場合には、スキャンラインの一方向にベクタ
ーが整列していることを保証するために、全ベクターの
ソートを行う。このとき、何らかの情報をもとに、一部
あるいは全部のソート処理を省略することもできるが、
ここでは説明の簡単のために、全ベクターをソートする
場合のみについて説明を行う。このソートは各ベクター
の、当該スキャンライン上での位置が順に並ぶように行
われる。例えば、各ベクターの当該スキャンライン上で
の位置を各ベクターの当該スキャンラインと交わる交点
の座標とした場合(スキャンラインの方向にX軸をと
る)、その交点のX座標の小さい順に並べ替えるという
処理が行われる。
Next, when there are vectors in the active table, all vectors are sorted in order to ensure that the vectors are aligned in one direction of the scan line. At this time, some or all sort processing can be omitted based on some information,
Here, for simplicity of explanation, only the case of sorting all vectors will be described. This sorting is performed so that the positions of the respective vectors on the scan line are arranged in order. For example, when the position of each vector on the scan line is taken as the coordinate of the intersection of the vectors intersecting the scan line (take the X axis in the direction of the scan line), the X coordinates of the intersection are sorted in ascending order. Processing is performed.

【0089】ソートの例として、図22に示したスキャ
ンラインの内スキャンラインY6のアクティブテーブル
にベクターを登録し、ソートを実行した直後の状態を図
29に示す。描画テーブルは、3つの描画領域のベクタ
ーが登録されており、そのうち、描画領域Cと描画領域
F、描画領域Fと描画領域Bのあいだでそれぞれ、重な
り領域があることを表している。クリップテーブルには
一つのクリップ、クリップEのクリップベクターが登録
されている。
As an example of sorting, FIG. 29 shows a state immediately after the vector is registered in the active table of the scan line Y6 among the scan lines shown in FIG. 22 and the sorting is executed. In the drawing table, vectors of three drawing areas are registered, and among them, there are overlapping areas between the drawing area C and the drawing area F and between the drawing area F and the drawing area B, respectively. One clip, the clip vector of clip E, is registered in the clip table.

【0090】次にスキャンライン内でのベクターの情報
を初期化する。スキャンライン内での共通の情報とは、
ワーク領域内に用意されている内部判定カウンタテーブ
ルの情報とクリップカウンタテーブルの内容、および、
描画状態表の情報である。これらの情報の初期化は、各
スキャンラインごとに必ず初期状態にもどるように処理
を工夫すると、この段階を簡略化することも可能であ
る。例えば、本実施の形態で説明しているなかでは奇遇
規則のベクターについて、カウンタの値を増加させるの
ではなく、2つの状態、例えば1と0のような2つの状
態を変化させ、片側の状態の領域のみを塗りつぶす、と
いう規則に修正すると、スキャンラインごとの初期で
は、描画状態表中の描画済位置の初期化のみでよい。
Next, the vector information in the scan line is initialized. The common information in the scan line is
Information of internal judgment counter table and contents of clip counter table prepared in the work area, and
This is information on the drawing state table. The initialization of these pieces of information can be simplified by devising processing so that each scan line always returns to the initial state. For example, in the description of the present embodiment, with respect to the vector of the oddness rule, the state of one side is changed by not changing the value of the counter but changing two states, for example, two states such as 1 and 0. When the rule that only the area of # 1 is filled in is modified, at the initial stage of each scan line, only the initialized position in the drawing state table need be initialized.

【0091】描画状態表は描画図形の内部判定を行った
結果として、現在、どの図形が内部の状態にあるかを保
持するために設けられている。これについての詳しい説
明は後述する。
The drawing state table is provided to hold which figure is currently in the internal state as a result of the internal determination of the drawn figure. A detailed description of this will be given later.

【0092】ベクターの共通情報の初期設定が終った
後、スキャンラインの走査方向に塗りつぶしとクリップ
処理を行う。この塗りつぶし処理の全体の流れは、図3
1を用いて後程詳述する。
After the initialization of the common information of the vector is completed, the filling and the clipping process are performed in the scanning direction of the scan line. The overall flow of this filling process is shown in FIG.
It will be described in detail later using 1.

【0093】一つのスキャンラインの処理が終了する
と、次のスキャンラインに備えてアクティブテーブルの
更新処理を行う。アクティブテーブルの更新処理の流れ
を図30を用いて説明する。まず、アクティブテーブル
から描画ベクターとクリップベクターを取得(ステップ
3001)する。ベクターが取得されたかどうかを判断
(ステップ3002)し、取得されなければ処理を終了
して元にもどる(ステップ3003)。ベクターが取得
されれば、取得されたベクターのY変位が1より大きい
かどうかを判断(ステップ3004)する。ベクターの
Y変位が1より大きければ、次のスキャンラインは当該
ベクターに影響される可能性があるので、当該ベクター
のX値にX変位値を加えた値をX値の更新値とし、Y変
位から1を減した値をY変位の更新値とする(ステップ
3006)。Y変位の更新値が0であれば当該ベクター
は、次のスキャンラインに影響を及ぼさないのでアクテ
ィブテーブルから削除(ステップ3005)する。
When the processing of one scan line is completed, the active table update processing is performed in preparation for the next scan line. The flow of active table update processing will be described with reference to FIG. First, a drawing vector and a clip vector are acquired from the active table (step 3001). It is determined whether or not the vector has been acquired (step 3002), and if it has not been acquired, the processing is terminated and returns to the original (step 3003). When the vector is acquired, it is determined whether the Y displacement of the acquired vector is larger than 1 (step 3004). If the Y displacement of the vector is larger than 1, the next scan line may be affected by the vector. Therefore, the value obtained by adding the X displacement value to the X value of the vector is set as the updated value of the X value, and the Y displacement is set. The value obtained by subtracting 1 from is set as the updated value of the Y displacement (step 3006). If the updated value of the Y displacement is 0, this vector does not affect the next scan line and is deleted from the active table (step 3005).

【0094】以上のステップが当該スキャンラインの全
ての描画ベクター、クリップベクターについて行われ
る。
The above steps are performed for all drawing vectors and clip vectors of the scan line.

【0095】アクティブテーブルの更新が終了すると、
次に当該スキャンラインの出力を行う。以上が、スキャ
ンラインごとの処理であり、割り当てられた描画領域の
全てのスキャンラインごとにこの処理が繰り返し行われ
る。
When the update of the active table is completed,
Next, the scan line is output. The above is the processing for each scan line, and this processing is repeated for all scan lines in the assigned drawing area.

【0096】次に、塗りつぶし処理のより詳細な流れを
図31を用いて説明する。まず始めに、アクティブテー
ブルから順次ベクターを取得(ステップ3101)す
る。ここで、ベクターの取得の際にクリップベクターと
描画ベクターとが同一のX座標値を有している場合に
は、クリップベクターを先に取得するものとする。
Next, a more detailed flow of the filling processing will be described with reference to FIG. First, the vectors are sequentially acquired from the active table (step 3101). Here, when the clip vector and the drawing vector have the same X coordinate value when acquiring the vector, the clip vector is acquired first.

【0097】アクティブテーブルに取得すべきベクター
がなくなったら、スキャンラインの残りの領域を空白と
して処理を終了する(ステップ3102,3105,3
106)。
When there are no more vectors to be acquired in the active table, the remaining area of the scan line is left blank and the processing ends (steps 3102, 3105, 3).
106).

【0098】クリップベクターあるいは描画ベクターが
ある場合には、当該ベクターの内部判定処理(ステップ
3103)を行う。内部判定処理の詳細は後程詳述す
る。次に内部判定処理の結果を元に、3つの場合に分岐
(ステップ3104)する。まず内部判定処理の結果が
「領域の継続」の場合には、状態の変化は無いのでなに
もする必要無く、次のベクターの処理に移る。「領域の
開始」の場合には、さらに当該ベクターが描画ベクター
か、クリップベクターかをIDを用いて図27のテーブ
ルを参照することにより判断(ステップ3107)し、
クリップベクターの場合にはクリップ開始処理(ステッ
プ3108)を行い、描画ベクターの場合には、描画開
始処理(ステップ3109)を行う。「領域の終了」の
場合にも、同様に描画ベクターかクリップベクターかを
判断(ステップ3110)し、クリップベクターの場合
には、クリップ終了処理(ステップ3112)を行い、
描画ベクターの場合には、描画終了処理(ステップ31
11)を行う。
If there is a clip vector or drawing vector, an internal determination process (step 3103) of the vector is performed. Details of the internal determination processing will be described later. Next, based on the result of the internal determination process, the process branches to three cases (step 3104). First, when the result of the internal determination processing is "continuation of area", there is no change in the state, and there is no need to do anything, and the processing proceeds to the next vector processing. In the case of “region start”, it is further determined whether the vector is a drawing vector or a clip vector by referring to the table of FIG. 27 using the ID (step 3107),
In the case of a clip vector, clip start processing (step 3108) is performed, and in the case of a drawing vector, drawing start processing (step 3109) is performed. Also in the case of "end of region", it is similarly determined whether it is a drawing vector or a clip vector (step 3110), and in the case of a clip vector, clip end processing (step 3112) is performed.
In the case of a drawing vector, drawing end processing (step 31
11) is performed.

【0099】以上の処理が終了すると当該スキャンライ
ンの次のベクターをアクティブテーブルから取得する。
以上のようにして、塗りつぶし処理が行われる。
When the above processing is completed, the vector next to the scan line is acquired from the active table.
The filling process is performed as described above.

【0100】次に、ベクターの内部判定処理の詳細を図
32を用いて説明する。まず、ベクターのIDから、こ
のベクターで構成される図形の内部判定規則を図27か
ら取得(ステップ3201)し、ワーク領域ID(WI
D)を取得(ステップ3202)する。判定規則の種類
により分岐(ステップ3203)する。
Details of the vector internal determination processing will be described below with reference to FIG. First, the internal determination rule of the graphic formed by this vector is acquired from the vector ID from FIG. 27 (step 3201), and the work area ID (WI
D) is acquired (step 3202). The process branches depending on the type of determination rule (step 3203).

【0101】判定規則がNZであれば、ベクターのID
からワーク領域ID(WID)を取得し、ワーク領域内
に用意される内部判定カウンタテーブル上のWIDに対
応する値を取得(ステップ3204)し、当該値が0で
あるかないかを判断(ステップ3205)する。値が0
であれば当該ベクターで構成される図形は当該ベクター
に関連づけられているX座標値の位置から内部の状態に
なる。したがって、内部判定カウンタテーブルの当該ベ
クターのWIDの位置に格納されている値にベクターの
向きを加え(ステップ3206)てから、「領域の開
始」として(ステップ3207)もどる。取り出した値
が0でない場合には、内部判定カウンタテーブルの当該
ベクターのWIDの位置にある値にベクターの向きを加
え(ステップ3208)、加えた結果が0であるかどう
かを判断(ステップ3209)する。加えた結果が0で
あれば、「領域の終了」として(ステップ3210)戻
る。加えた結果が0以外の場合は、引続き内部状態が継
続するので「領域の継続」として(ステップ3211)
戻る。
If the judgment rule is NZ, the vector ID
The work area ID (WID) is acquired from the work area, the value corresponding to the WID on the internal determination counter table prepared in the work area is acquired (step 3204), and it is determined whether the value is 0 (step 3205). ) Do. The value is 0
In that case, the graphic formed by the vector becomes the internal state from the position of the X coordinate value associated with the vector. Therefore, the direction of the vector is added to the value stored in the WID position of the vector in the internal determination counter table (step 3206), and then the process returns to "start of area" (step 3207). If the fetched value is not 0, the vector orientation is added to the value at the WID position of the vector in the internal determination counter table (step 3208), and it is determined whether the added result is 0 (step 3209). To do. If the added result is 0, the process returns to "end of region" (step 3210). If the added result is other than 0, the internal state continues, so "continue area" is set (step 3211).
Return.

【0102】判定規則がEOであると判断され(ステッ
プ3203)ると、当該ベクターのIDからワーク領域
のID(WID)を取得する。このWIDから内部判定
カウンタテーブルの値を取得し、当該値を1だけ増加さ
せてから2の剰余を求める(ステップ3212)。2の
剰余の値が1であれば判定結果は奇数(ステップ321
3)となり、図形が内部になるので「領域の開始」とし
て(ステップ3215)戻る。2の剰余が0であれば判
定結果は偶数となり(ステップ3213)図形の外部と
なるので「領域の終了」として(ステップ3214)戻
る。このようにして、内部判定処理が行われる。
When it is determined that the determination rule is EO (step 3203), the work area ID (WID) is acquired from the ID of the vector. The value of the internal determination counter table is acquired from this WID, the value is increased by 1, and the remainder of 2 is obtained (step 3212). If the remainder value of 2 is 1, the determination result is an odd number (step 321).
3), and since the figure is inside, the process returns to "start of area" (step 3215). If the remainder of 2 is 0, the determination result is an even number (step 3213) and the figure is outside the figure. Therefore, the process returns to "end of area" (step 3214). In this way, the internal determination process is performed.

【0103】次に、内部判定処理の結果に基づくクリッ
プ処理及び塗りつぶし処理の詳細を説明する。
Details of the clipping process and the filling process based on the result of the internal determination process will be described below.

【0104】始めに、クリップ処理及び塗りつぶし処理
の両方に共通して用いられる描画状態表と、描画判定処
理について説明する。
First, the drawing state table and drawing determination process commonly used for both the clipping process and the filling process will be described.

【0105】まず、描画状態表を図33を用いて説明す
る。描画状態表は、現在内部状態にある描画図形(描画
ベクター)のIDを保持する機能と、現在処理中のスキ
ャンラインの何処までの描画が完了したかの情報を保持
する機能とを有している。図33に示すように、描画状
態表は「内部状態」、「登録待ち状態」、「描画開始位
置」から構成される。「内部状態」には、図形(描画ベ
クター)及びその図形が影響を受けるクリップの全てが
内部状態にある場合に図形が登録される。「登録待ち状
態」には、図形は内部状態にあるが、その図形が影響を
受けるクリップの一部または全部が内部状態にはなって
いない場合に図形が登録される。「描画開始位置」に
は、現在処理中のスキャンラインのこれから塗りつぶし
が行われるX座標値が保持される。したがって、「描画
開始位置」に格納されているX座標値より小さいX座標
値の領域は既に塗りが確定した領域である。
First, the drawing state table will be described with reference to FIG. The drawing state table has a function of holding the ID of the drawing figure (drawing vector) in the current internal state, and a function of holding the information of up to which drawing of the scan line currently being processed has been completed. There is. As shown in FIG. 33, the drawing state table includes "internal state", "registration waiting state", and "drawing start position". In the "internal state", the figure (drawing vector) and the figure are registered when all of the clips affected by the figure are in the internal state. In the "registration waiting state", a graphic is registered in the internal state, but when some or all of the clips affected by the graphic are not in the internal state. The "drawing start position" holds the X coordinate value of the scan line currently being processed, which is to be filled. Therefore, the area having the X coordinate value smaller than the X coordinate value stored in the "drawing start position" is the area where the painting is already determined.

【0106】次に描画判定処理について図38を用いて
説明する。描画判定処理は、塗りを行うか行わないかを
判断する処理であり、図34乃至図37に示した塗りつ
ぶし処理の各処理で共通に使用されるルーチンである。
描画判定処理のルーチンではあらかじめ「比較用のI
D」と「比較用のX座標値」が渡されている。まず、描
画状態表に「内部状態」の図形が登録されているか否か
を調べる(ステップ3801)。内部状態の図形がなけ
れば、描画開始位置から比較用のX座標値−1まで何も
塗らない領域であるので、「描画開始位置」を比較用の
X座標値に設定して(ステップ3805)処理を終了す
る。このとき、当初の描画開始位置から比較用のX座標
値までをあらかじめ定めた色を出力するなど、あらかじ
め定めた出力を行うようにしてもよい。
Next, the drawing determination process will be described with reference to FIG. The drawing determination process is a process for determining whether or not to paint, and is a routine that is commonly used in each of the filling processes shown in FIGS. 34 to 37.
In the drawing determination processing routine, “I for comparison” is set in advance.
“D” and “X coordinate value for comparison” are passed. First, it is checked whether or not the figure of "internal state" is registered in the drawing state table (step 3801). If there is no figure in the internal state, it is an area in which nothing is painted from the drawing start position to the comparison X coordinate value -1, so the "drawing start position" is set to the comparison X coordinate value (step 3805). The process ends. At this time, a predetermined output such as outputting a predetermined color from the initial drawing start position to the X coordinate value for comparison may be performed.

【0107】描画状態表の「内部状態」に図形があれ
ば、「内部状態」にある最大のIDと比較用のIDとを
比較(ステップ3802)する。内部状態にある最大I
Dの方が比較用IDより大きければなにもせずに処理を
終了する。つまり、既に内部状態にある図形のうち最後
に描画された図形が、比較用の図形よりも上に塗られて
いるので何も出力する処理を行う必要が生じないのであ
る。「内部状態」の最大IDの方が比較用IDより小さ
いか等しければ、さらに描画状態表に登録されている
「描画開始位置」と比較用のX座標値−1を比較(ステ
ップ3803)し、描画開始位置の方が大きいか等しい
場合には何もしないで処理を終了する。描画開始位置の
方が比較用X座標値−1より小さければ、描画開始位置
から比較用のX座標値−1まで内部状態の最大IDに対
応する色で塗りを行う(ステップ3804)。そして、
描画開始位置を比較用のX座標値に設定(ステップ38
05)して処理を終了する。
If there is a figure in the "internal state" of the drawing state table, the maximum ID in the "internal state" is compared with the comparison ID (step 3802). Maximum I in internal state
If D is larger than the comparison ID, the process ends without doing anything. That is, since the last drawn figure among the figures that are already in the internal state is painted above the comparative figure, it is not necessary to perform a process for outputting anything. If the maximum ID of the "internal state" is smaller than or equal to the comparison ID, the "drawing start position" registered in the drawing state table is further compared with the X coordinate value for comparison-1 (step 3803), If the drawing start position is greater than or equal to the drawing start position, the process ends without doing anything. If the drawing start position is smaller than the comparison X coordinate value -1, the drawing start position to the comparison X coordinate value -1 is painted with the color corresponding to the maximum ID of the internal state (step 3804). And
The drawing start position is set to the X coordinate value for comparison (step 38).
05) and the process ends.

【0108】さて、以上説明した描画状態表及び描画判
定処理に基づいて、クリップ及び描画それぞれの開始、
終了処理について説明する。
Now, based on the drawing state table and the drawing judgment processing described above, the start of each clip and drawing,
The termination process will be described.

【0109】始めにクリップ開始処理を図34を用いて
説明する。まず当該クリップベクターのIDを用いて、
描画属性表から当該クリップベクターが関係する範囲を
取得し、全ての範囲に対してクリップ状態表のカウンタ
を1だけ増加させる(ステップ3401)。次に、描画
状態表の「登録待ち状態」にある描画ベクターのID
が、IDの大きい順に取り出される(ステップ340
2)。「登録待ち状態」に描画ベクターがなければ(ス
テップ3403)クリップ開始処理を終了(ステップ3
404)する。
First, the clip start processing will be described with reference to FIG. First, using the ID of the clip vector,
The range related to the clip vector is acquired from the drawing attribute table, and the counter of the clip status table is incremented by 1 for all ranges (step 3401). Next, the ID of the drawing vector in the "registration waiting state" of the drawing state table
Are retrieved in descending order of ID (step 340
2). If there is no drawing vector in the "registration waiting state" (step 3403), the clip start processing is ended (step 3).
404).

【0110】「登録待ち状態」のベクターがあった場合
(ステップ3403)には、当該描画ベクターのIDを
用いて、描画属性表の対応するレコードにあるクリップ
状態表へのリンク先を調べ(ステップ3405)、当該
IDが属する区間のクリップの個数とカウンタの値が等
しいかどうかを調べる(ステップ3406)。そして、
当該区間のクリップの個数とカウンタの値が異なる場合
には、描画状態表から「登録待ち状態」の描画ベクター
を取り出す処理に戻る。
If there is a vector in the "registration waiting state" (step 3403), the link destination to the clip state table in the corresponding record of the drawing attribute table is checked using the ID of the drawing vector (step 3403). 3405), it is checked whether the number of clips in the section to which the ID belongs and the counter value are equal (step 3406). And
When the number of clips in the section and the value of the counter are different, the process returns to the process of extracting the drawing vector in the "registration waiting state" from the drawing state table.

【0111】描画ベクターのIDが属する区間のクリッ
プの個数とカウンタの値が等しければ、前述の描画判定
処理(ステップ3407)を行う。ここで描画判定処理
に用いられる比較用IDは「登録待ち状態」にある描画
ベクターのIDである。比較用のX座標値はこのクリッ
プベクターのX座標値である。さらに、描画状態表の
「登録待ち状態」から「内部状態」へこの描画ベクター
のIDを移動(ステップ3408)させる。そして、描
画状態表から「登録待ち状態」の描画ベクターを取り出
す処理に移る。以上のようにしてクリップ開始処理が行
われる。
If the number of clips in the section to which the ID of the drawing vector belongs and the value of the counter are equal, the above-mentioned drawing determination processing (step 3407) is performed. Here, the comparison ID used in the drawing determination process is the ID of the drawing vector in the “waiting for registration”. The X coordinate value for comparison is the X coordinate value of this clip vector. Further, the ID of this drawing vector is moved from the "registration waiting state" to the "internal state" in the drawing state table (step 3408). Then, the process moves to the process of extracting the drawing vector in the "registration waiting state" from the drawing state table. The clip start processing is performed as described above.

【0112】次に、描画開始処理を図35を用いて説明
する。まず、当該描画ベクターのIDを用いて、描画属
性表の対応するレコードにあるクリップ状態表へのリン
ク先を調べる(ステップ3501)。このとき、この描
画ベクターのIDが属する区間のクリップの個数とカウ
ンタ値が等しければ(ステップ3502)図形として描
画できる状態にあるので、塗りを行うかどうかの描画判
定処理(ステップ3503)を行う。描画判定処理にお
ける比較用IDは当該描画ベクターのIDであり、比較
用X座標値は当該描画ベクターのX座標値である。最後
に、描画状態表の「内部状態」へ当該描画ベクターのI
Dを新たに登録(ステップ3504)する。クリップ個
数とカウンタ値が等しくなければ、描画状態表の「登録
待ち状態」へ当該描画ベクターのIDを登録(ステップ
3505)する。以上のようにして描画開始処理が行わ
れる。
Next, the drawing start process will be described with reference to FIG. First, using the ID of the drawing vector, the link destination to the clip status table in the corresponding record of the drawing attribute table is checked (step 3501). At this time, if the number of clips in the section to which the ID of the drawing vector belongs is equal to the counter value (step 3502), the drawing can be drawn as a figure, and therefore a drawing determination process as to whether or not to paint is performed (step 3503). The comparison ID in the drawing determination process is the ID of the drawing vector, and the comparison X coordinate value is the X coordinate value of the drawing vector. Finally, to the "internal state" of the drawing state table, I of the drawing vector
D is newly registered (step 3504). If the number of clips and the counter value are not equal, the ID of the drawing vector is registered in the "registration waiting state" of the drawing state table (step 3505). The drawing start process is performed as described above.

【0113】次に、描画終了処理を図36を用いて説明
する。まず、描画状態表を調べて当該描画ベクターが
「内部状態」にあるかどうかを調べる(ステップ360
1)。「内部状態」になければ「登録待ち状態」にある
ので、描画状態表の「登録待ち状態」から当該描画ベク
ターのIDを削除(ステップ3604)して処理を終了
する。当該描画ベクターが「内部状態」にある場合に
は、描画判定処理(ステップ3602)を行う。判定用
IDは当該描画ベクターのIDであり、判定用X座標値
は当該描画ベクターのX座標値である。次に、描画状態
表の「内部状態」から当該描画ベクターのIDを削除
(ステップ3603)して処理を終了する。以上のよう
にして描画終了処理が行われる。
Next, the drawing end process will be described with reference to FIG. First, the drawing state table is checked to see if the drawing vector is in the "internal state" (step 360).
1). If it is not in the "internal state", it is in the "registration waiting state". Therefore, the ID of the drawing vector is deleted from the "registration waiting state" in the drawing state table (step 3604) and the process is terminated. When the drawing vector is in the "internal state", drawing determination processing (step 3602) is performed. The determination ID is the ID of the drawing vector, and the determination X coordinate value is the X coordinate value of the drawing vector. Next, the ID of the drawing vector is deleted from the "internal state" in the drawing state table (step 3603), and the process ends. The drawing end process is performed as described above.

【0114】次に、クリップ終了処理を図37を用いて
説明する。まず、当該クリップベクターのIDを用い
て、描画属性表から当該クリップベクターが関係する範
囲を取得し、すべての範囲に対してクリップ状態表のカ
ウンタを1だけ減じる(ステップ3701)。
Next, the clip end processing will be described with reference to FIG. First, using the ID of the clip vector, the range related to the clip vector is acquired from the drawing attribute table, and the counter of the clip status table is decremented by 1 for all ranges (step 3701).

【0115】次に、描画状態表の「内部状態」にある描
画ベクターのIDを、IDの大きい順に取り出す(ステ
ップ3702)。「内部状態」に描画ベクターがなけれ
ば(ステップ3703)クリップ終了処理を終了する
(ステップ3704)。「内部状態」の描画ベクターが
あった場合には、当該描画ベクターのIDを用いて、描
画属性表の対応するレコードにあるクリップ状態表への
リンク先を調べ、当該IDが属する区間のクリップの個
数とカウンタの値が等しいかどうか調べる(ステップ3
705)。当該区間のクリップの個数とカウンタ値が等
しい場合(ステップ3706)には、描画状態表から
「内部状態」の描画ベクターを取り出す処理に戻る。描
画ベクターのIDが属する区間のクリップの個数とカウ
ンタの値とが異なる場合には描画判定処理(ステップ3
707)を行う。
Next, the IDs of the drawing vectors in the "internal state" of the drawing state table are taken out in descending order of ID (step 3702). If there is no drawing vector in the "internal state" (step 3703), the clip end processing is ended (step 3704). If there is a drawing vector of "internal state", the link destination to the clip status table in the corresponding record of the drawing attribute table is checked using the ID of the drawing vector, and the clip of the section to which the ID belongs Check whether the number of items and the value of the counter are equal (step 3
705). If the number of clips in the section is equal to the counter value (step 3706), the process returns to the process of extracting the drawing vector in the "internal state" from the drawing state table. When the number of clips in the section to which the ID of the drawing vector belongs and the value of the counter are different, drawing determination processing (step 3
707) is performed.

【0116】描画判定処理に用いられる比較用IDは
「登録待ち状態」にある描画ベクターのIDである。比
較用のX座標値はこのクリップベクターのX座標値であ
る。さらに描画状態表の「内部状態」から「登録待ち状
態」へこの描画ベクターIDを移動(ステップ370
8)させる。そして、描画状態表から「内部状態」の描
画ベクターを取り出す処理に戻る。以上のようにしてク
リップ終了処理が行われる。
The comparison ID used in the drawing determination process is the ID of the drawing vector in the "waiting for registration". The X coordinate value for comparison is the X coordinate value of this clip vector. Further, this drawing vector ID is moved from the "internal state" of the drawing state table to the "registration waiting state" (step 370).
8) Let it do. Then, the process returns to the process of extracting the drawing vector of "internal state" from the drawing state table. The clip end processing is performed as described above.

【0117】次に、塗りつぶし・クリップ処理の具体例
として、塗りつぶし処理部Bが割り当てられる領域R2
からY6と領域R5からY15のスキャンラインに注目
し、その描画状態表の変化を図39と図40を用いて説
明する。
Next, as a specific example of the fill / clip processing, the area R2 to which the fill processing section B is allocated
To Y6 and regions R5 to Y15, the change in the drawing state table will be described with reference to FIGS. 39 and 40.

【0118】まず、Y6のスキャンライン位置での塗り
つぶし処理の例を図39を用いて説明する。図39
(a)は描画属性記憶部70内の描画属性表と、クリッ
プ状態表を簡略化して表したものである。描画属性表に
は、各IDと内部判定カウンタテーブルへのインデック
ス(WID)、そして、クリップカウンタテーブルへの
インデックス(CC)の対応のみを表示してある。クリ
ップ範囲表は、省略しクリップ状態表は、[ID5,I
D9)のノードが一つのクリップのみに影響され、その
作業領域がCC2(クリップカウンタテーブルの2番目
の領域)であることを示している。
First, an example of the filling processing at the scan line position of Y6 will be described with reference to FIG. FIG. 39
(A) is a simplified representation of the drawing attribute table and the clip state table in the drawing attribute storage unit 70. In the drawing attribute table, only the correspondence between each ID, the index (WID) to the internal determination counter table, and the index (CC) to the clip counter table is displayed. The clip range table is omitted, and the clip status table is [ID5, I
The node D9) is affected by only one clip, and its work area is CC2 (the second area of the clip counter table).

【0119】図39(b)は塗りつぶし処理部90が起
動され、ワーク領域を初期化した時の状態を示してい
る。ワーク領域にはWID1,WID2,WID3,W
ID4に対応する内部判定カウンタテーブル、CC1,
CC2に対応するクリップカウンタテーブル、そして、
描画状態表が用意される。この時、全てのカウンタの値
は初期化され(ここでは0)、描画状態表の描画済位置
は0とされる。
FIG. 39B shows a state when the painting processing section 90 is activated and the work area is initialized. WID1, WID2, WID3, W in the work area
Internal determination counter table corresponding to ID4, CC1,
Clip counter table corresponding to CC2, and
A drawing state table is prepared. At this time, the values of all counters are initialized (here, 0), and the drawn position in the drawing state table is set to 0.

【0120】Y6の処理が始まると、最初に(DC4,
DC1)の描画ベクターが得られる、この段階の処理を
図39(c)を参照して説明する(DC4,DC1)の
ベクターのIDはID3であり、ID3に対応するWI
DはWID2である。内部判定カウンタテーブルにおい
てWID2の値は0であることから、「描画開始」とな
る。ここで、ID3には対応するクリップカウンタCC
1を参照すると影響を受けるクリップの個数0で、内部
状態になっているクリップの個数が0である。このた
め、描画状態表の「内部状態」側にID3が登録され
る。この時、WID2のカウンタはベクターの向き1を
加算され1となる。そして、「内部状態」に登録されて
いるIDの最大値が変更されたので、描画状態表の描画
済位置(0)から、(DC4,DC1)のY6における
X座標値(X1)−1までをID3が登録されるまでに
「内部状態」に登録されていた最大のIDの色で塗りつ
ぶすという情報を出力する。ただし、この場合はなにも
無かったため、あらかじめ定めておいた色を出力した
り、透明に対応する情報を出力したりする。そして、描
画状態表の「描画済位置」には(X1)が登録される。
When the processing of Y6 is started, first (DC4,
The process of this stage in which the drawing vector of DC1) is obtained will be described with reference to FIG. 39C. The ID of the vector of (DC4, DC1) is ID3, and the WI corresponding to ID3.
D is WID2. Since the value of WID2 is 0 in the internal determination counter table, "drawing starts". Here, the clip counter CC corresponding to ID3
Referring to 1, the number of affected clips is 0, and the number of clips in the internal state is 0. Therefore, ID3 is registered on the "internal state" side of the drawing state table. At this time, the counter of WID2 becomes 1 by adding 1 to the vector direction. Then, since the maximum value of the ID registered in the "internal state" has been changed, from the drawn position (0) in the drawing state table to the X coordinate value (X1) -1 at Y6 of (DC4, DC1). Is output with the color of the maximum ID registered in the "internal state" until ID3 is registered. However, in this case, since there is nothing, a predetermined color is output or information corresponding to transparency is output. Then, (X1) is registered in the "drawn position" of the drawing state table.

【0121】次に(CE4,CE1)のクリップベクタ
ーが得られる(図39(d)参照)、(CE4,CE
1)のベクターのIDはID5であり、ID5に対応す
るWIDはWID3である。内部判定カウンタテーブル
においてWID3の値は0であることから、「クリップ
開始」となる。図示しなかった、クリップ範囲表から、
このクリップが影響を与えるクリップ状態は[ID5,
ID9)すなわちCC2であることが得られ、このCC
2のクリップカウンターをインクリメントする。そし
て、描画状態表の「登録待ち」側に保持されているID
について再度描画判定を行う。しかし、ここでは「登録
待ち」側に保持されているIDがないため、特には何も
行われない。
Next, the clip vectors of (CE4, CE1) are obtained (see FIG. 39 (d)), (CE4, CE).
The vector ID in 1) is ID5, and the WID corresponding to ID5 is WID3. Since the value of WID3 is 0 in the internal determination counter table, “clip start” is indicated. From the clip range table not shown,
The clip state that this clip affects is [ID5
ID9) or CC2 is obtained, and this CC
Increment the clip counter of 2. The ID held on the "waiting for registration" side of the drawing state table
The drawing determination is performed again for. However, since there is no ID held on the "waiting for registration" side, nothing is done here.

【0122】次に(DF4,DF1)の描画ベクターが
得られる(図39(e)参照)、(DF4,DF1)の
ベクターのIDはID6であり、ID6に対応するWI
DはWID4である。内部判定カウンタテーブルにおい
てWID4の値は0であることから、「描画開始」とな
る。ここで、ID6には対応するクリップカウンタCC
2を参照すると影響を受けるクリップの個数1で、内部
状態になっているクリップの個数が1である。このた
め、描画状態表の「内部状態」側にID6が登録され
る。この時、WID4のカウンタはベクターの向き1を
加算され1となる。そして、「内部状態」に登録されて
いるIDの最大値が変更されたので、描画状態表の描画
済位置(X1)から、(DC4,DC1)のY6におけ
るX座標値(X2)−1までをID6が登録されるまで
に「内部状態」に登録されていた最大のIDの色(ID
3の色1)で塗りつぶすという情報を出力する。そし
て、描画状態表の「描画済位置」には(X2)が登録さ
れる。
Next, a drawing vector of (DF4, DF1) is obtained (see FIG. 39 (e)), the ID of the vector of (DF4, DF1) is ID6, and the WI corresponding to ID6.
D is WID4. Since the value of WID4 is 0 in the internal determination counter table, "drawing starts". Here, the clip counter CC corresponding to ID6
Referring to 2, the number of affected clips is 1, and the number of clips in the internal state is 1. Therefore, ID6 is registered on the "internal state" side of the drawing state table. At this time, the counter of WID4 becomes 1 by adding 1 to the vector direction. Then, since the maximum value of the ID registered in the "internal state" has been changed, from the drawn position (X1) in the drawing state table to the X coordinate value (X2) -1 at Y6 of (DC4, DC1). The color of the largest ID registered in the "internal state" by the time ID6 is registered (ID
Outputs information to fill with color 1 of 3). Then, (X2) is registered in the "drawn position" of the drawing state table.

【0123】次に(DC3,DC2)の描画ベクターが
得られる(図39(f)参照)、(DC3,DC2)の
ベクターのIDはID3であり、ID3に対応するWI
DはWID2である。内部判定カウンタテーブルにおい
てWID2の値は1である。そして、WID2のカウン
タはベクターの向き−1を加算され0となる。このた
め、「描画終了」となる。そこで、描画状態表の「内部
状態」に登録されているID3を削除するが、「内部状
態」にはID3よりも優先順位の高いID6が存在して
いるため、ID3の削除以外の処理は特に必要ない。
Next, a drawing vector of (DC3, DC2) is obtained (see FIG. 39 (f)), the ID of the vector of (DC3, DC2) is ID3, and the WI corresponding to ID3.
D is WID2. The value of WID2 is 1 in the internal determination counter table. Then, the counter of WID2 becomes 0 by adding the vector direction -1. Therefore, "drawing is completed". Therefore, the ID3 registered in the "internal state" of the drawing state table is deleted. However, since the "internal state" includes the ID6 having a higher priority than the ID3, the processes other than the deletion of the ID3 are particularly performed. unnecessary.

【0124】次に(DB4,DB1)の描画ベクターが
得られる(図39(g)参照)、(DF4,DF1)の
ベクターのIDはID2であり、ID2に対応するWI
DはWID1である。内部判定カウンタテーブルにおい
てWID1の値は0であることから、「描画開始」とな
る。ここで、ID2には対応するクリップカウンタCC
1を参照すると影響を受けるクリップの個数0で、内部
状態になっているクリップの個数が0である。このた
め、描画状態表の「内部状態」側にID2が登録され
る。この時、WID1のカウンタはベクターの向き1を
加算され1となる。そして、「内部状態」には既にID
2より優先順位の高いID6が登録されているのでID
3の登録以外の処理は特には必要ない。
Next, a drawing vector of (DB4, DB1) is obtained (see FIG. 39 (g)), the ID of the vector of (DF4, DF1) is ID2, and the WI corresponding to ID2.
D is WID1. Since the value of WID1 is 0 in the internal determination counter table, "drawing starts". Here, the clip counter CC corresponding to ID2
Referring to 1, the number of affected clips is 0, and the number of clips in the internal state is 0. Therefore, ID2 is registered on the "internal state" side of the drawing state table. At this time, the counter of WID1 becomes 1 by adding 1 to the vector direction. And ID is already in the "internal state"
ID6 with higher priority than 2 is registered, so ID
Processing other than the registration of 3 is not particularly necessary.

【0125】次に(DF3,DF2)の描画ベクターが
得られる(図39(h)参照)、(DF3,DF2)の
ベクターのIDはID6であり、ID6に対応するWI
DはWID4である。内部判定カウンタテーブルにおい
てWID4の値は1である。そして、WID4のカウン
タはベクターの向き−1を加算され0となる。このた
め、「描画終了」となる。そこで、描画状態表の「内部
状態」に登録されているID6を削除するが、このID
6は「内部状態」に登録されているIDで最も優先順位
の高いものであるため、ID6以外に「内部状態」に登
録されているIDの中から最も優先順位の高いIDを求
める処理が行われる。ここでは、ID2しか登録されて
いないので、ID2が選ばれる。「内部状態」に登録さ
れているIDの最も優先順位の高いものが変化したた
め、ここではID6の色2がX2からX3−1の範囲を
塗りつぶすという情報が出力される(X3はDF3のX
座標値)。
Next, the drawing vector of (DF3, DF2) is obtained (see FIG. 39 (h)), the ID of the vector of (DF3, DF2) is ID6, and the WI corresponding to ID6.
D is WID4. The value of WID4 is 1 in the internal determination counter table. Then, the counter of WID4 becomes 0 by adding the vector direction -1. Therefore, "drawing is completed". Therefore, ID6 registered in "Internal status" of the drawing status table is deleted.
Since ID 6 has the highest priority among the IDs registered in the "internal state", a process for obtaining the highest priority ID among the IDs registered in the "internal state" other than ID6 is performed. Be seen. Since only ID2 is registered here, ID2 is selected. Since the highest priority ID registered in the "internal state" has changed, information that the color 2 of ID6 fills the range from X2 to X3-1 is output here (X3 is X of DF3).
Coordinate values).

【0126】次に(CE3,CE2)のクリップベクタ
ーが得られる(図39(i)参照)、(CE3,CE
2)のベクターのIDはID5であり、ID5に対応す
るWIDはWID3である。内部判定カウンタテーブル
においてWID3の値は1である。そして、WID3の
カウンタはベクターの向き−1を加算され0となる。こ
のため、「クリップ終了」となる。そこでクリップ範囲
表を参照して、影響を与えるクリップカウンタ(CC
2)をデクリメントする。ここで、CC2は塗りつぶし
を許可しない状態に変化したため、「内部状態」に登録
されているIDについて、再度描画判定処理を行う。し
かし、「内部状態」に登録されているID2はCC2と
関係がないため、描画状態表は変化しない。
Next, a clip vector of (CE3, CE2) is obtained (see FIG. 39 (i)), (CE3, CE
The vector ID in 2) is ID5, and the WID corresponding to ID5 is WID3. The value of WID3 is 1 in the internal determination counter table. Then, the counter of WID3 is added with the vector direction −1 and becomes 0. Therefore, "clip ends". Therefore, the clip range (CC
Decrement 2). Here, since CC2 has changed to the state in which the filling is not permitted, the drawing determination process is performed again for the ID registered in the "internal state". However, since the ID2 registered in the "internal state" has nothing to do with CC2, the drawing state table does not change.

【0127】次に(DB3,DB2)の描画ベクターが
得られる(図39(j)参照)、(DB3,DB2)の
ベクターのIDはID2であり、ID2に対応するWI
DはWID1である。内部判定カウンタテーブルにおい
てWID1の値は1である。そして、WID1のカウン
タはベクターの向き−1を加算され0となる。このた
め、「描画終了」となる。そこで、描画状態表の「内部
状態」に登録されているID2を削除するが、このID
2は「内部状態」に登録されているIDで最も優先順位
の高いものであるため、ID2以外に「内部状態」に登
録されているIDの中から最も優先順位の高いIDを求
める処理が行われる。ここでは、他に何も登録されてい
ないため、なにも選ばれない。「内部状態」に登録され
ているIDの最も優先順位の高いものが変化したため、
ここではID2の色1がX3からX4−1の範囲を塗り
つぶすという情報が出力される(X4はDB3のX座標
値)。
Next, a drawing vector of (DB3, DB2) is obtained (see FIG. 39 (j)), the ID of the vector of (DB3, DB2) is ID2, and the WI corresponding to ID2.
D is WID1. The value of WID1 is 1 in the internal determination counter table. Then, the counter of WID1 becomes 0 by adding the vector direction -1. Therefore, "drawing is completed". Therefore, ID2 registered in "Internal status" of the drawing status table is deleted.
2 has the highest priority among the IDs registered in the "internal state", so the process for obtaining the highest priority ID from the IDs registered in the "internal state" other than ID2 is performed. Be seen. Nothing is selected here because nothing else is registered. Since the highest priority ID registered in the "internal state" has changed,
Here, the information that the color 1 of ID2 fills the range from X3 to X4-1 is output (X4 is the X coordinate value of DB3).

【0128】そして、処理すべきベクターがアクティブ
テーブルから得られなくなったため、X4からスキャン
ラインの最後までを、あらかじめ定めておいた色を出力
したり、透明に対応する情報を出力したりしてY6のス
キャンラインの塗りつぶし処理を終了する。
Since the vector to be processed can no longer be obtained from the active table, Y6 is output by outputting a predetermined color or outputting information corresponding to transparency from X4 to the end of the scan line. Finishes the scan line filling process.

【0129】Y15のスキャンライン位置での塗りつぶ
し処理の例を図40を用いて説明する。図40(a)は
描画属性記憶部70内の描画属性表と、クリップ状態表
を簡略化して表したものである。描画属性表には、各I
Dと内部判定カウンタテーブルへのインデックス(WI
D)、そして、クリップカウンタテーブルへのインデッ
クス(CC)の対応のみを表示してある。クリップ範囲
表は、省略しクリップ状態表は、[ID5,ID9)の
ノードが一つのクリップのみに影響され、その作業領域
がCC1(クリップカウンタテーブルの1番目の領域)
であることを示している。
An example of the filling process at the Y15 scan line position will be described with reference to FIG. FIG. 40A is a simplified representation of the drawing attribute table and the clip state table in the drawing attribute storage unit 70. In the drawing attribute table, each I
D and the index (WI
D), and only the correspondence of the index (CC) to the clip counter table is displayed. The clip range table is omitted, and in the clip state table, the node of [ID5, ID9] is affected by only one clip, and its work area is CC1 (the first area of the clip counter table).
Is shown.

【0130】図40(b)はワーク領域をY15の処理
を行うに当たり初期化した状態を示している。描画状態
表の描画済位置は0とされる。
FIG. 40B shows a state in which the work area is initialized when the processing of Y15 is performed. The drawn position in the drawing state table is set to 0.

【0131】Y15の処理が始まると、最初に(DA
4,DA1)の描画ベクターが得られる、この段階の処
理を図40(c)を参照して説明する(DA4,DA
1)のベクターのIDはID1であり、ID1に対応す
るWIDはWID4である。内部判定カウンタテーブル
においてWID4の値は0であることから、「描画開
始」となる。ここで、ID4には対応するクリップカウ
ンタCC1を参照すると影響を受けるクリップの個数0
で、内部状態になっているクリップの個数が0である。
このため、描画状態表の「内部状態」側にID1が登録
される。この時、WID4のカウンタはベクターの向き
1を加算され1となる。そして、「内部状態」に登録さ
れているIDの最大値が変更されたので、描画状態表の
描画済位置(0)から、(DA4,DA1)のY15に
おけるX座標値(X11)−1までをID1が登録され
るまでに「内部状態」に登録されていた最大のIDの色
で塗りつぶすという情報を出力する。ただし、この場合
はなにも無かったため、あらかじめ定めておいた色を出
力したり、透明に対応する情報を出力したりする。そし
て、描画状態表の「描画済位置」には(X11)が登録
される。
When the processing of Y15 starts, first (DA
4, DA1) is obtained, and the process at this stage will be described with reference to FIG. 40 (c) (DA4, DA1).
The vector ID in 1) is ID1, and the WID corresponding to ID1 is WID4. Since the value of WID4 is 0 in the internal determination counter table, "drawing starts". Here, the number of clips affected by ID4 is 0 when the corresponding clip counter CC1 is referenced.
The number of clips in the internal state is zero.
Therefore, ID1 is registered on the "internal state" side of the drawing state table. At this time, the counter of WID4 becomes 1 by adding 1 to the vector direction. Then, since the maximum value of the ID registered in the "internal state" has been changed, from the drawn position (0) in the drawing state table to the X coordinate value (X11) -1 at Y15 of (DA4, DA1). Is output with the color of the maximum ID registered in the "internal state" until ID1 is registered. However, in this case, since there is nothing, a predetermined color is output or information corresponding to transparency is output. Then, (X11) is registered in the "drawn position" of the drawing state table.

【0132】次に(CE4,CE1)のクリップベクタ
ーが得られる(図40(d)参照)、(CE4,CE
1)のベクターのIDはID5であり、ID5に対応す
るWIDはWID3である。内部判定カウンタテーブル
においてWID3の値は0であることから、「クリップ
開始」となる。図示しなかった、クリップ範囲表から、
このクリップが影響を与えるクリップ状態は[ID5,
ID9)すなわちCC2であることが得られ、このCC
2のクリップカウンターをインクリメントする。そし
て、描画状態表の「登録待ち」側に保持されているID
について再度描画判定を行う。しかし、ここでは「登録
待ち」側に保持されているIDがないため、特には何も
行われない。
Next, a clip vector of (CE4, CE1) is obtained (see FIG. 40 (d)), (CE4, CE).
The vector ID in 1) is ID5, and the WID corresponding to ID5 is WID3. Since the value of WID3 is 0 in the internal determination counter table, “clip start” is indicated. From the clip range table not shown,
The clip state that this clip affects is [ID5
ID9) or CC2 is obtained, and this CC
Increment the clip counter of 2. The ID held on the "waiting for registration" side of the drawing state table
The drawing determination is performed again for. However, since there is no ID held on the "waiting for registration" side, nothing is done here.

【0133】次に(DA3,DA2)の描画ベクターが
得られる(図40(e)参照)、(DA3,DA2)の
ベクターのIDはID1であり、ID1に対応するWI
DはWID4である。内部判定カウンタテーブルにおい
てWID4の値は1である。そして、WID4のカウン
タはベクターの向き−1を加算され0となる。このた
め、「描画終了」となる。そこで、描画状態表の「内部
状態」に登録されているID1を削除するが、このID
1は「内部状態」に登録されているIDで最も優先順位
の高いものであるため、ID1以外に「内部状態」に登
録されているIDの中から最も優先順位の高いIDを求
める処理が行われる。ここでは、なにもない状態に戻
る。「内部状態」に登録されているIDの最も優先順位
の高いものが変化したため、ここではID1の色1がX
11からX12−1の範囲を塗りつぶすという情報が出
力される(X12はDA3のX座標値)。
Next, the drawing vector of (DA3, DA2) is obtained (see FIG. 40 (e)), the ID of the vector of (DA3, DA2) is ID1, and the WI corresponding to ID1.
D is WID4. The value of WID4 is 1 in the internal determination counter table. Then, the counter of WID4 becomes 0 by adding the vector direction -1. Therefore, "drawing is completed". Therefore, ID1 registered in "Internal status" of the drawing status table is deleted.
Since ID 1 has the highest priority among the IDs registered in the "internal state", processing for obtaining the highest priority ID among the IDs registered in the "internal state" other than ID1 is performed. Be seen. Here, we return to a state where there is nothing. Since the highest priority ID registered in the "internal state" has changed, color 1 of ID1 is X here.
Information that the range from 11 to X12-1 is filled in is output (X12 is the X coordinate value of DA3).

【0134】次に(DD4,DD1)の描画ベクターが
得られる(図40(f)参照)、(DF4,DF1)の
ベクターのIDはID4であり、ID4に対応するWI
DはWID1である。内部判定カウンタテーブルにおい
てWID1の値は0であることから、「描画開始」とな
る。ここで、ID4には対応するクリップカウンタCC
1を参照すると影響を受けるクリップの個数0で、内部
状態になっているクリップの個数が0である。このた
め、描画状態表の「内部状態」側にID4が登録され
る。この時、WID1のカウンタはベクターの向き1を
加算され1となる。そして、「内部状態」に登録されて
いるIDの最大値が変更されたので、描画状態表の描画
済位置(X12)から、(DD4,DD1)のY15に
おけるX座標値(X13)−1までをなにも無かった場
合の塗りつぶし情報を出力する。そして、描画状態表の
「描画済位置」には(X13)が登録される。
Next, the drawing vector of (DD4, DD1) is obtained (see FIG. 40 (f)), the ID of the vector of (DF4, DF1) is ID4, and the WI corresponding to ID4.
D is WID1. Since the value of WID1 is 0 in the internal determination counter table, "drawing starts". Here, the clip counter CC corresponding to ID4
Referring to 1, the number of affected clips is 0, and the number of clips in the internal state is 0. Therefore, ID4 is registered on the "internal state" side of the drawing state table. At this time, the counter of WID1 becomes 1 by adding 1 to the vector direction. Then, since the maximum value of the ID registered in the "internal state" has been changed, from the drawn position (X12) in the drawing state table to the X coordinate value (X13) -1 in Y15 of (DD4, DD1). Outputs the fill information when there is nothing. Then, (X13) is registered in the "drawn position" of the drawing state table.

【0135】次に(DG4,DG1)の描画ベクターが
得られる(図40(g)参照)、(DG4,DG1)の
ベクターのIDはID7であり、ID7に対応するWI
DはWID2である。内部判定カウンタテーブルにおい
てWID2の値は0であることから、「描画開始」とな
る。ここで、ID7には対応するクリップカウンタCC
2を参照すると影響を受けるクリップの個数1で、内部
状態になっているクリップの個数が1である。このた
め、描画状態表の「内部状態」側にID7が登録され
る。この時、WID1のカウンタはベクターの向き1を
加算され1となる。この時、「内部状態」に登録されて
いたIDの最大の優先度を持っていいたID4よりもI
D7の方が優先順位が高いので、X13から(DG4,
DG1)のY15におけるX座標値(X14)−1まで
をID4に対応した色(色1)で塗りつぶすという情報
を出力する。
Next, the drawing vector of (DG4, DG1) is obtained (see FIG. 40 (g)), the ID of the vector of (DG4, DG1) is ID7, and the WI corresponding to ID7.
D is WID2. Since the value of WID2 is 0 in the internal determination counter table, "drawing starts". Here, the clip counter CC corresponding to ID7
Referring to 2, the number of affected clips is 1, and the number of clips in the internal state is 1. Therefore, ID7 is registered on the "internal state" side of the drawing state table. At this time, the counter of WID1 becomes 1 by adding 1 to the vector direction. At this time, the ID registered in the "internal state" is I rather than the ID4 having the highest priority.
Since D7 has a higher priority, from X13 (DG4
The information that the color up to the X coordinate value (X14) -1 in Y15 of DG1) is filled with the color (color 1) corresponding to ID4 is output.

【0136】次に(CE3,CE2)のクリップベクタ
ーが得られる(図40(h)参照)、(CE3,CE
2)のベクターのIDはID5であり、ID5に対応す
るWIDはWID3である。内部判定カウンタテーブル
においてWID3の値は1である。そして、WID3の
カウンタはベクターの向き−1を加算され0となる。こ
のため、「クリップ終了」となる。そこでクリップ範囲
表を参照して、影響を与えるクリップカウンタ(CC
2)をデクリメントする。ここで、CC2は塗りつぶし
を許可しない状態に変化したため、「内部状態」に登録
されているIDについて、再度描画判定処理を行う。そ
して、ID4は「内部状態」側に登録されるが、ID7
は「登録待ち」側に登録される。このとき、「内部状
態」に登録されているIDの最大の優先順位を持つもの
が変化したので、X14から(CE3,CE2)のY1
5におけるX座標値(X15)−1までをID7に対応
した色(色2)で塗りつぶすという情報を出力する。
Next, the clip vectors of (CE3, CE2) are obtained (see FIG. 40 (h)), (CE3, CE).
The vector ID in 2) is ID5, and the WID corresponding to ID5 is WID3. The value of WID3 is 1 in the internal determination counter table. Then, the counter of WID3 is added with the vector direction −1 and becomes 0. Therefore, "clip ends". Therefore, the clip range (CC
Decrement 2). Here, since CC2 has changed to the state in which the filling is not permitted, the drawing determination process is performed again for the ID registered in the "internal state". Then, ID4 is registered on the "internal state" side, but ID7
Is registered on the “waiting for registration” side. At this time, since the ID registered in the "internal state" having the highest priority has changed, X14 changes to (CE3, CE2) Y1.
The information that the X coordinate value (X15) -1 in 5 is filled with the color (color 2) corresponding to ID7 is output.

【0137】次に(DD3,DD2)の描画ベクターが
得られる(図40(i)参照)、(DD3,DD2)の
ベクターのIDはID4であり、ID4に対応するWI
DはWID1である。内部判定カウンタテーブルにおい
てWID1の値は1である。そして、WID1のカウン
タはベクターの向き−1を加算され0となる。このた
め、「描画終了」となる。そこで、描画状態表の「内部
状態」に登録されているID4を削除するが、このID
4は「内部状態」に登録されているIDで最も優先順位
の高いものであるため、ID2以外に「内部状態」に登
録されているIDの中から最も優先順位の高いIDを求
める処理が行われる。ここでは、他に何も登録されてい
ないため、なにも選ばれない。「内部状態」に登録され
ているIDの最も優先順位の高いものが変化したため、
ここではID4の色1がX15から(DD3,DD2)
のY15におけるX座標値(X16)−1の範囲を塗り
つぶすという情報が出力する。
Next, the drawing vector of (DD3, DD2) is obtained (see FIG. 40 (i)), the ID of the vector of (DD3, DD2) is ID4, and the WI corresponding to ID4.
D is WID1. The value of WID1 is 1 in the internal determination counter table. Then, the counter of WID1 becomes 0 by adding the vector direction -1. Therefore, "drawing is completed". Therefore, ID4 registered in "Internal status" of the drawing status table is deleted.
Since ID 4 has the highest priority among the IDs registered in the "internal state", processing for obtaining the highest priority ID from the IDs registered in the "internal state" other than ID2 is performed. Be seen. Nothing is selected here because nothing else is registered. Since the highest priority ID registered in the "internal state" has changed,
Here, color 1 of ID4 changes from X15 (DD3, DD2)
The information that the range of the X coordinate value (X16) -1 in Y15 is to be filled is output.

【0138】次に(DG3,DG2)の描画ベクターが
得られる(図40(j)参照)、(DG3,DG2)の
ベクターのIDはID7であり、ID7に対応するWI
DはWID2である。内部判定カウンタテーブルにおい
てWID2の値は1である。そして、WID2のカウン
タはベクターの向き−1を加算され0となる。このた
め、「描画終了」となる。そこで、描画状態表の「登録
待ち」側に登録されているID7を削除する。この時、
「内部状態」側は変化しないためこのまま次の処理に移
る。
Next, the drawing vector of (DG3, DG2) is obtained (see FIG. 40 (j)), the ID of the vector of (DG3, DG2) is ID7, and the WI corresponding to ID7.
D is WID2. The value of WID2 is 1 in the internal determination counter table. Then, the counter of WID2 becomes 0 by adding the vector direction -1. Therefore, "drawing is completed". Therefore, the ID 7 registered on the “waiting for registration” side of the drawing state table is deleted. At this time,
Since the "internal state" side does not change, the next process is performed as it is.

【0139】そして、処理すべきベクターがアクティブ
テーブルから得られなくなったため、X16からスキャ
ンラインの最後までを、あらかじめ定めておいた色を出
力したり、透明に対応する情報を出力したりしてY15
のスキャンラインの塗りつぶし処理を終了する。
Then, since the vector to be processed cannot be obtained from the active table, Y15 is output by outputting a predetermined color or outputting information corresponding to transparency from X16 to the end of the scan line.
Finishes the scan line filling process.

【0140】以上に示したように、WIDを介してワー
ク領域にアクセスすることにより、従来オブジェクトの
個数分の領域を並列処理する塗りつぶし処理部の数だけ
必要であった作業領域を削減することができる。通常、
IDの数は数千から数十万程度であり、従来この個数分
のカウンタなどの作業領域を用意する必要があった。し
かし、本発明では1次元方向に同時に存在するオブジェ
クトの個数分だけの作業領域を確保すればよく、オブジ
ェクトが大量に2次元的に配置されている場合には、必
要となる作業領域の個数はほぼオブジェクトの個数の平
方根に近いものとなる。
As described above, by accessing the work area via the WID, it is possible to reduce the work area required by the number of fill processing units for parallel processing the area for the number of objects in the related art. it can. Normal,
The number of IDs is in the range of several thousands to several hundreds of thousands, and it has conventionally been necessary to prepare working areas such as a counter for this number. However, in the present invention, it suffices to secure as many work areas as the number of objects existing in the one-dimensional direction at the same time, and when a large number of objects are arranged two-dimensionally, the number of work areas required is It is close to the square root of the number of objects.

【0141】なお、上述した本発明の描画処理装置にお
ける描画処理は、ディスク、テープ、メモリ等各種デー
タ記録可能なプログラム記録媒体に磁気記録、光磁気記
録、光記録等の各種記録形態によって記録された処理プ
ログラムを上記描画処理装置の各手段において実行させ
るように構成することが可能である。
The drawing processing in the drawing processing apparatus of the present invention described above is recorded in various recording modes such as magnetic recording, magneto-optical recording and optical recording on a program recording medium capable of recording various data such as a disk, a tape and a memory. The processing program may be executed by each unit of the drawing processing apparatus.

【0142】[0142]

【発明の効果】以上説明したように、本発明の描画処理
装置または本発明の描画処理を実行するプログラムを記
録したプログラム記録媒体による描画処理によれば、並
列描画処理時に問題となるワーク領域を削減することが
できるため、並列描画処理時に必要となるメモリ総量が
少なくなるとともに、メモリの獲得、および初期化の際
に必要となる処理時間を削減でき、少ないメモリ量で高
速な描画処理を行なうことが可能になる。
As described above, according to the drawing processing by the drawing processing apparatus of the present invention or the program recording medium in which the program for executing the drawing processing of the present invention is recorded, the work area which becomes a problem during the parallel drawing processing is Since the total amount of memory required for parallel drawing processing can be reduced, the processing time required for memory acquisition and initialization can be reduced, and high-speed drawing processing can be performed with a small amount of memory. It will be possible.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明の描画処理装置の実施例の構成を示す
ブロック図である。
FIG. 1 is a block diagram showing a configuration of an embodiment of a drawing processing apparatus of the present invention.

【図2】 本発明の描画処理装置における描画コマンド
の例を示す図である。
FIG. 2 is a diagram showing an example of a drawing command in the drawing processing apparatus of the present invention.

【図3】 本発明の描画処理装置における描画コマンド
種別の種類を示す図である。
FIG. 3 is a diagram showing types of drawing command types in the drawing processing apparatus of the present invention.

【図4】 本発明の描画処理装置における判定規則の種
類を示す図である。
FIG. 4 is a diagram showing types of determination rules in the drawing processing apparatus of the present invention.

【図5】 本発明の描画処理装置におけるワインディン
グ(Winding)規則を示す図である。
FIG. 5 is a diagram showing a winding rule in the drawing processing apparatus of the present invention.

【図6】 本発明の描画処理装置におけるベクターデー
タの構造を示す図である。
FIG. 6 is a diagram showing a structure of vector data in the drawing processing apparatus of the present invention.

【図7】 本発明の描画処理装置におけるベクターデー
タの例を示す図である。
FIG. 7 is a diagram showing an example of vector data in the drawing processing apparatus of the present invention.

【図8】 本発明の描画処理装置におけるコマンド種別
ごとの描画属性を示す図である。
FIG. 8 is a diagram showing drawing attributes for each command type in the drawing processing apparatus of the present invention.

【図9】 本発明の描画処理装置における描画属性表を
示す図である。
FIG. 9 is a diagram showing a drawing attribute table in the drawing processing apparatus of the present invention.

【図10】 本発明の描画処理装置におけるコマンド種
別ごとの描画属性の登録を示す図である。
FIG. 10 is a diagram showing registration of drawing attributes for each command type in the drawing processing apparatus of the present invention.

【図11】 本発明の描画処理装置におけるクリップ検
索表を示す図である。
FIG. 11 is a diagram showing a clip search table in the drawing processing apparatus of the present invention.

【図12】 本発明の描画処理装置における処理の全体
の流れを示す図である。
FIG. 12 is a diagram showing an overall flow of processing in the drawing processing apparatus of the present invention.

【図13】 本発明の描画処理装置における内部データ
生成処理の流れを示す図である。
FIG. 13 is a diagram showing a flow of internal data generation processing in the drawing processing apparatus of the present invention.

【図14】 本発明の描画処理装置における内部データ
の整理段階の処理の流れを示す図である。
FIG. 14 is a diagram showing the flow of processing at the stage of organizing internal data in the drawing processing apparatus of the present invention.

【図15】 本発明の描画処理装置における塗りつぶし
の処理の流れを示す図である。
FIG. 15 is a diagram showing a flow of painting processing in the drawing processing apparatus of the present invention.

【図16】 本発明の描画処理装置における塗りつぶし
の処理部の処理の流れを示す図である。
FIG. 16 is a diagram showing a flow of processing of a filling processing unit in the drawing processing apparatus of the present invention.

【図17】 本発明の描画処理装置における描画処理の
流れを説明する具体例の概念図である。
FIG. 17 is a conceptual diagram of a specific example for explaining the flow of drawing processing in the drawing processing apparatus of the present invention.

【図18】 本発明の描画処理装置における具体例の描
画コマンド列を示す図である。
FIG. 18 is a diagram showing a drawing command sequence of a specific example in the drawing processing apparatus of the present invention.

【図19】 本発明の描画処理装置における内部データ
生成処理の詳細の流れを示す図である。
FIG. 19 is a diagram showing a detailed flow of internal data generation processing in the drawing processing apparatus of the present invention.

【図20】 本発明の描画処理装置における描画ベクタ
ーを登録した例を示す図である。
FIG. 20 is a diagram showing an example in which a drawing vector is registered in the drawing processing apparatus of the present invention.

【図21】 本発明の描画処理装置におけるクリップベ
クターを登録した例を示す図である。
FIG. 21 is a diagram showing an example in which a clip vector is registered in the drawing processing device of the present invention.

【図22】 本発明の描画処理装置における例のベクタ
ーとスキャンライン上での位置との対応を示す図であ
る。
FIG. 22 is a diagram showing a correspondence between an example vector and a position on a scan line in the drawing processing apparatus of the present invention.

【図23】 本発明の描画処理装置におけるクリップ状
態表の例を示す図である。
FIG. 23 is a diagram showing an example of a clip state table in the drawing processing device of the present invention.

【図24】 本発明の描画処理装置におけるクリップ範
囲表の例を示す図である。
FIG. 24 is a diagram showing an example of a clip range table in the rendering processing device of the present invention.

【図25】 本発明の描画処理装置における描画属性表
の例を示す図である。
FIG. 25 is a diagram showing an example of a drawing attribute table in the drawing processing apparatus of the present invention.

【図26】 本発明の描画処理装置におけるワーク領域
ID(WID)割り当て処理の例を示す図である。
FIG. 26 is a diagram showing an example of work area ID (WID) allocation processing in the drawing processing apparatus of the present invention.

【図27】 本発明の描画処理装置におけるワーク領域
ID(WID)を示す図である。
FIG. 27 is a diagram showing a work area ID (WID) in the drawing processing apparatus of the present invention.

【図28】 本発明の描画処理装置における描画領域割
り当ての例を示す図である。
FIG. 28 is a diagram showing an example of drawing area allocation in the drawing processing apparatus of the present invention.

【図29】 本発明の描画処理装置におけるベクターの
整列の例を示す図である。
FIG. 29 is a diagram showing an example of vector alignment in the drawing processing apparatus of the present invention.

【図30】 本発明の描画処理装置におけるアクティブ
テーブルの更新の処理の流れを示す図である。
FIG. 30 is a diagram showing a flow of processing of updating an active table in the drawing processing apparatus of the present invention.

【図31】 本発明の描画処理装置におけるスキャンラ
イン上での塗りつぶし処理の流れを示す図である。
FIG. 31 is a diagram showing a flow of a filling process on a scan line in the drawing processing apparatus of the present invention.

【図32】 本発明の描画処理装置における内部判断処
理の流れを示す図である。
FIG. 32 is a diagram showing a flow of internal determination processing in the drawing processing apparatus of the present invention.

【図33】 本発明の描画処理装置における描画状態表
を示す図である。
FIG. 33 is a diagram showing a drawing state table in the drawing processing apparatus of the present invention.

【図34】 本発明の描画処理装置におけるクリップ開
始処理の流れを示す図である。
FIG. 34 is a diagram showing a flow of clip start processing in the drawing processing apparatus of the present invention.

【図35】 本発明の描画処理装置における描画開始処
理の流れを示す図である。
FIG. 35 is a diagram showing a flow of drawing start processing in the drawing processing apparatus of the present invention.

【図36】 本発明の描画処理装置における描画終了処
理の流れを示す図である。
FIG. 36 is a diagram showing a flow of drawing end processing in the drawing processing apparatus of the present invention.

【図37】 本発明の描画処理装置におけるクリップ終
了処理の流れを示す図である。
FIG. 37 is a diagram showing the flow of clip end processing in the drawing processing apparatus of the present invention.

【図38】 本発明の描画処理装置における描画判定処
理の流れを示す図である。
FIG. 38 is a diagram showing the flow of drawing determination processing in the drawing processing apparatus of the present invention.

【図39】 本発明の描画処理装置におけるY6の位置
での処理例を示す図である。
FIG. 39 is a diagram showing a processing example at a position of Y6 in the drawing processing apparatus of the present invention.

【図40】 本発明の描画処理装置におけるY15の位
置での処理例を示す図である。
FIG. 40 is a diagram showing a processing example at the position Y15 in the drawing processing apparatus of the present invention.

【符号の説明】[Explanation of symbols]

10 描画データ入力部 20 描画データ判別部 30 ベクター生成部 40 描画属性処理部 50 描画データ存在範囲検出部 60 ベクター記憶部 70 描画属性記憶部 80 ワーク領域ID割り当て部 90 塗りつぶし処理部 100 領域割り当て部 110 画像出力部 22 図形 23 スキャンライン 201 描画領域A 202 描画領域B 203 描画領域C 204 描画領域D 205 クリップE 206 描画領域F 207 描画領域G 208 描画領域H 209 描画結果 10 Drawing data input section 20 Drawing data discrimination unit 30 Vector generator 40 Drawing attribute processing unit 50 Drawing data existence range detection unit 60 vector memory 70 Drawing attribute storage unit 80 Work area ID allocation section 90 Fill processing section 100 area allocation section 110 Image output unit 22 figures 23 scan lines 201 Drawing area A 202 drawing area B 203 drawing area C 204 drawing area D 205 Clip E 206 drawing area F 207 Drawing area G 208 drawing area H 209 Drawing result

───────────────────────────────────────────────────── フロントページの続き (72)発明者 川本 浩史 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (56)参考文献 特開 平9−185508(JP,A) 特開 平10−79038(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 11/00 - 11/40 G06F 3/12 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Hiroshi Kawamoto 430 Nakai-cho, Ashigagami-gun, Kanagawa Green Tech Nakai Fuji Xerox Co., Ltd. (56) Reference JP-A-9-185508 (JP, A) JP-A-10- 79038 (JP, A) (58) Fields investigated (Int.Cl. 7 , DB name) G06T 11/00-11/40 G06F 3/12

Claims (10)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】入力描画データに基づいて、該入力描画デ
ータの描画領域の外形を表す描画ベクターを生成すると
ともに、該描画データの存在範囲を示す存在範囲データ
を抽出するベクター生成部と、 前記ベクター生成部において生成された描画ベクターを
保持するベクター記憶部と、 前記入力描画データから描画属性を取得する描画属性処
理部と、 前記描画属性処理部において取得された描画属性を保持
する描画属性記憶部と、 前記ベクター生成部において抽出された描画データの存
在範囲を示す存在範囲データに基づいて、該描画データ
に対して割り当てる描画オブジェクトごとの状態を格納
するメモリ領域としてのワーク領域の場所を示すワーク
領域識別情報を生成するワーク領域割り当て部と、 並列動作可能な複数の塗りつぶし処理部の各々において
処理すべき前記描画データの領域を割り当てる処理領域
割り当て部と、 前記処理領域割り当て部によって割り当てられた処理領
域の塗りつぶし処理を各々実行する並列動作可能な複数
の塗りつぶし処理部と、 を有することを特徴とする描画処理装置。
1. A vector generation unit for generating a drawing vector representing an outline of a drawing area of the input drawing data based on the input drawing data and extracting existence range data indicating an existence range of the drawing data. A vector storage unit that holds the drawing vector generated in the vector generation unit, a drawing attribute processing unit that acquires the drawing attribute from the input drawing data, and a drawing attribute memory that holds the drawing attribute acquired in the drawing attribute processing unit And a state of each drawing object assigned to the drawing data based on the existence range data indicating the existence range of the drawing data extracted by the vector generation unit.
A work area allocator that generates work area identification information indicating the location of the work area as a memory area, and a processing area allocator that allocates the area of the drawing data to be processed in each of a plurality of fill processing units that can operate in parallel And a plurality of fill processing units capable of parallel operation, each of which performs a fill process of a processing area assigned by the processing area assigning unit, and a drawing processing apparatus.
【請求項2】前記入力描画データは、クリップ処理実行
に関する描画データを含み、前記ベクター生成部は、ク
リップ領域の外形を表すクリップベクターを生成すると
ともに、クリップ実行に関する描画データの存在範囲を
示す存在範囲データを抽出する構成を有し、前記ベクタ
ー記憶部は、前記ベクター生成部において生成されたク
リップベクターを保持し、前記並列動作可能な複数の塗
りつぶし処理部は、前記処理領域割り当て部によって割
り当てられた処理領域のクリップ処理を実行する構成を
有することを特徴とする請求項1に記載の描画処理装
置。
2. The input drawing data includes drawing data related to clip processing execution, and the vector generation unit generates a clip vector representing an outline of a clip area, and also indicates an existence range of drawing data related to clip execution. The vector storage unit holds a clip vector generated by the vector generation unit, and the plurality of fill processing units that can operate in parallel are assigned by the processing area assignment unit. The drawing processing apparatus according to claim 1, wherein the drawing processing apparatus has a configuration for executing clipping processing of the processing area.
【請求項3】前記ワーク領域割り当て部は、少なくとも
1以上の描画データの各々に対して割り当てられたワー
ク領域内の場所を示すワーク領域識別子を生成し、前記
描画属性記憶部は前記ワーク領域識別子を対応する描画
データの描画属性に対応づけて保持する構成を有するこ
とを特徴とする請求項1または2に記載の描画処理装
置。
3. The work area allocating unit generates a work area identifier indicating a location in the work area allocated to each of at least one or more drawing data, and the drawing attribute storage unit stores the work area identifier. The drawing processing apparatus according to claim 1 or 2, wherein the drawing processing apparatus has a configuration for holding a corresponding drawing attribute of drawing data.
【請求項4】前記ワーク領域割り当て部は、前記描画デ
ータの存在範囲を示す存在範囲データから、存在開始デ
ータおよび存在終了データを抽出し、該存在開始データ
および存在終了データを座標位置に従った一方向データ
として整列処理し、該整列処理したデータを整列順に順
次取得し、取得した存在開始データに対してワーク領域
を割り当てるとともに、取得した存在終了データに対し
て割当済みワーク領域の回収を行うことにより、ワーク
領域の割当を実行し、回収されたワーク領域がある場合
に、新たな存在開始データを取得した場合は、該回収さ
れたワーク領域を新たな存在開始データに対して割り当
てることによりワーク領域の割り当て処理を実行する構
成を有することを特徴とする請求項1乃至3いずれかに
記載の描画処理装置。
4. The work area allocating unit extracts the existence start data and the existence end data from the existence range data indicating the existence range of the drawing data, and determines the existence start data and the existence end data according to coordinate positions. Align processing is performed as unidirectional data, the aligned data is sequentially acquired in the order of alignment, a work area is allocated to the acquired existence start data, and an allocated work area is collected for the acquired existence end data. By doing so, when the work area is allocated and new work start data is acquired when there is a collected work area, the collected work area is allocated to the new work start data. The drawing processing apparatus according to any one of claims 1 to 3, further comprising a configuration for executing a work area allocation process. .
【請求項5】前記ワーク領域割り当て部は、ワーク領域
割り当て処理の実行において、前記存在開始データを前
記存在終了データよりも優先的に処理する構成を有する
ことを特徴とする請求項4記載の描画処理装置。
5. The drawing according to claim 4, wherein the work area allocating unit is configured to process the existence start data with priority over the existence end data when executing the work area allocation processing. Processing equipment.
【請求項6】前記描画データの存在範囲を示す存在範囲
データは、前記描画データの実際上の存在範囲よりも大
きい領域を存在範囲として規定したものであることを特
徴とする請求項1乃至5いずれかに記載の描画処理装
置。
6. The existence range data indicating the existence range of the drawing data defines an area larger than an actual existence range of the drawing data as an existence range. The drawing processing device according to any one of the above.
【請求項7】前記塗りつぶし処理部は、前記ワーク領域
割り当て部において割り当てられたワーク領域の総数に
基づいて、ワーク領域の大きさを決定することを特徴と
する請求項1乃至6いずれかに記載の描画処理装置。
7. The fill processing unit determines the size of the work area based on the total number of work areas assigned by the work area assigning unit. Drawing processing device.
【請求項8】前記描画属性記憶部は、描画データ各々を
識別する描画データ識別子、該描画データ識別子に対応
づけられた割り当てワーク領域を示すワーク領域識別
子、および該描画データ各々のクリップ状態を示すクリ
ップ状態データを有し、前記塗りつぶし処理部は、処理
対象の描画ベクターまたはクリップベクターを構成要素
とする描画データ識別子に基づいて、該描画データ識別
子に対応づけられたワーク領域識別子およびクリップ状
態データを抽出し、該抽出したワーク領域識別子および
クリップ状態データに基づいて処理態様を決定すること
を特徴とする請求項1乃至7いずれかに記載の描画処理
装置。
8. The drawing attribute storage section indicates a drawing data identifier for identifying each drawing data, a work area identifier indicating an assigned work area associated with the drawing data identifier, and a clip state of each drawing data. The clip processing unit has clip state data, and the filling processing unit generates a work area identifier and clip state data associated with the drawing data identifier based on a drawing data identifier having a drawing vector or a clip vector to be processed as a constituent element. 8. The drawing processing apparatus according to claim 1, wherein the drawing mode is extracted and a processing mode is determined based on the extracted work area identifier and clip status data.
【請求項9】入力描画データに基づいて描画処理を実行
するプログラムを記録したプログラム記録媒体であっ
て、前記入力描画データの存在範囲を示す存在範囲デー
タを抽出するステップと、 前記描画データの存在範囲を示す存在範囲データに基づ
いて、該描画データに対して割り当てる描画オブジェク
トごとの状態を格納するメモリ領域としてのワーク領域
の場所を示すワーク領域識別情報を生成するステップと
を実行するプログラムを記録したプログラム記録媒体。
9. A program recording medium for recording a program for executing drawing processing based on input drawing data, the step of extracting existence range data indicating the existence range of the input drawing data, and the existence of the drawing data. Drawing object assigned to the drawing data based on the existence range data indicating the range
And a step of generating work area identification information indicating a location of a work area as a memory area for storing a state of each program.
【請求項10】入力描画データに基づいて描画処理を実
行するプログラムを記録したプログラム記録媒体であっ
て、前記入力描画データに基づいて、該入力描画データ
の描画領域の外形を表す描画ベクターを生成するととも
に、該描画データの存在範囲を示す存在範囲データを抽
出するベクター生成ステップと、 前記ベクター生成ステップにおいて生成された描画ベク
ターを保持するベクター記憶ステップと、 前記入力描画データから描画属性を取得する描画属性処
理ステップと、前記描画属性処理ステップにおいて取得
された描画属性を保持する描画属性記憶ステップと、 前記ベクター生成ステップにおいて抽出された描画デー
タの存在範囲を示す存在範囲データに基づいて、該描画
データに対して割り当てる描画オブジェクトごとの状態
を格納するメモリ領域としてのワーク領域の場所を示す
ワーク領域識別情報を生成するワーク領域割り当てステ
ップと、 並列動作可能な複数の塗りつぶし処理部の各々において
処理すべき前記描画データの領域を割り当てる処理領域
割り当てステップと、 前記処理領域割り当てステップによって割り当てられた
処理領域の塗りつぶし処理を並列動作可能な複数の塗り
つぶし処理部において実行するステップと、を実行する
プログラムを記録したプログラム記録媒体。
10. A drawing process is executed based on input drawing data.
It is a program recording medium that records the program to be executed.
The input drawing data based on the input drawing data
Generates a drawing vector that represents the outline of the drawing area of
The existence range data indicating the existence range of the drawing data
Vector generation step to be output, Drawing vector generated in the vector generation step
Vector storage step for holding the Drawing attribute processing for obtaining drawing attributes from the input drawing data
Processing step and the drawing attribute processing step
A drawing attribute storing step for holding the drawn drawing attributes, Drawing data extracted in the vector generation step
Drawing based on the existence range data indicating the existence range of the data
Assign to dataState for each drawing object
Area as a memory area for storingShowing the location of
Work area allocation step that generates work area identification information
And In each of the multiple fill processing units that can operate in parallel
Processing area to allocate the area of the drawing data to be processed
An assignment step, Allocated by the processing area allocation step
Multiple fills that can work in parallel to fill the processing area
Perform the steps executed in the crushing processing section and
A program recording medium recording a program.
JP02697098A 1998-02-09 1998-02-09 Drawing processing device Expired - Fee Related JP3496709B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02697098A JP3496709B2 (en) 1998-02-09 1998-02-09 Drawing processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02697098A JP3496709B2 (en) 1998-02-09 1998-02-09 Drawing processing device

Publications (2)

Publication Number Publication Date
JPH11224343A JPH11224343A (en) 1999-08-17
JP3496709B2 true JP3496709B2 (en) 2004-02-16

Family

ID=12208024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02697098A Expired - Fee Related JP3496709B2 (en) 1998-02-09 1998-02-09 Drawing processing device

Country Status (1)

Country Link
JP (1) JP3496709B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ697100A0 (en) * 2000-04-18 2000-05-11 Canon Kabushiki Kaisha Rendering graphic object based images
JP4706345B2 (en) * 2005-06-13 2011-06-22 富士ゼロックス株式会社 Image processing device
JP4935715B2 (en) * 2008-03-05 2012-05-23 セイコーエプソン株式会社 Printer control method and apparatus, and printer control program

Also Published As

Publication number Publication date
JPH11224343A (en) 1999-08-17

Similar Documents

Publication Publication Date Title
US6137493A (en) Multidimensional data management method, multidimensional data management apparatus and medium onto which is stored a multidimensional data management program
US6049339A (en) Blending with planar maps
US6995765B2 (en) System, method, and computer program product for optimization of a scene graph
US6195664B1 (en) Method and system for controlling the conversion of a file from an input format to an output format
US5970496A (en) Method and system for storing information in a computer system memory using hierarchical data node relationships
US5249265A (en) Structure storage management in a graphics display device
JPH04348485A (en) Method and device for displaying graphic
HU216474B (en) Method of sharing virtual memory of a computer system into address spaces with predetermined partition size
JP3086189B2 (en) Texture map packing
US5144679A (en) Graphic data searching and storage method
JP3496709B2 (en) Drawing processing device
KR100233346B1 (en) Method and apparatus for improving graphics picking using auxiliary buffer information
JPH03185967A (en) Document data transfer display system
JP3413829B2 (en) Drawing processing apparatus and method
JPH01277055A (en) Method for generating raster data for multilevel plotting
KR20040028945A (en) Color image processing method, and computer readable recording medium having program to perform the method
JP3617225B2 (en) Drawing processor
JP2786294B2 (en) Graphic data inspection and storage method
CN108595659A (en) Network multi-granularity organization method
JP3477716B2 (en) Document processing apparatus and method
JP2590327B2 (en) How to manage drawing information
JP2745882B2 (en) Block management method
JP4386402B2 (en) Tree system diagram output method and tree system diagram output program
EP0425180B1 (en) Structure storage management in a graphics display system
JPH0581101A (en) Method for assigning storage of key

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081128

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091128

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101128

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131128

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees