JP3362641B2 - Image processing device - Google Patents

Image processing device

Info

Publication number
JP3362641B2
JP3362641B2 JP23154197A JP23154197A JP3362641B2 JP 3362641 B2 JP3362641 B2 JP 3362641B2 JP 23154197 A JP23154197 A JP 23154197A JP 23154197 A JP23154197 A JP 23154197A JP 3362641 B2 JP3362641 B2 JP 3362641B2
Authority
JP
Japan
Prior art keywords
image data
intermediate code
code image
edge list
processing
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
JP23154197A
Other languages
Japanese (ja)
Other versions
JPH1173516A (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 JP23154197A priority Critical patent/JP3362641B2/en
Publication of JPH1173516A publication Critical patent/JPH1173516A/en
Application granted granted Critical
Publication of JP3362641B2 publication Critical patent/JP3362641B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、画像処理装置に係
り、より詳しくは、所定の描画順序に従って層状に描画
される複数のオブジェクトの各々を表した中間コード画
像データからエッジリストを生成する機能、及び該エッ
ジリストから中間コード画像データを再生成する機能を
有する画像処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus, and more particularly to a function for generating an edge list from intermediate code image data representing each of a plurality of objects drawn in layers according to a predetermined drawing order. And an image processing apparatus having a function of regenerating intermediate code image data from the edge list.

【0002】なお、上記のオブジェクトとは図形(グラ
フィックス)、文字(フォント)、イメージ等の描画対
象を意味し、ページ記述データとはページ記述言語で表
された各オブジェクトに関する画像データを意味する。
The above-mentioned object means a drawing target such as a figure (graphics), a character (font), an image, etc., and the page description data means image data concerning each object expressed in a page description language. .

【0003】[0003]

【従来の技術】従来より、描画されるオブジェクトを表
したページ記述データに基づいてラスタデータを生成す
る画像処理において、オブジェクトのページ記述データ
を一旦中間コード画像データに変換した後、該中間コー
ド画像データに基づいてラスタデータを生成する方法が
提案されている。中間コード画像データは、オブジェク
トを少ないデータ量で表現できるという利点を有してお
り、上記の方法により画像処理で使用するメモリを節約
することができる。
2. Description of the Related Art Conventionally, in image processing for generating raster data based on page description data representing an object to be drawn, page description data of the object is first converted into intermediate code image data, and then the intermediate code image is converted. A method of generating raster data based on the data has been proposed. The intermediate code image data has an advantage that an object can be expressed with a small amount of data, and the memory used in image processing can be saved by the above method.

【0004】このような中間コード画像データを用いた
例として、特開平6−284297号公報には、各オブ
ジェクト(テキスト、グラフィックス、イメージ)の中
間コード画像データ(この特許の場合には、ディスプレ
イリスト)生成時に既にディスプレイリスト化された他
のオブジェクトとオーバーラップするかどうかのチェッ
クを必ず行い、異なる種類のオブジェクトとオーバーラ
ップする場合には、オーバーラップしないように再度そ
れぞれのオブジェクトのディスプレイリストの作成を行
う技術が開示されている(ただし、オブジェクトを中間
コード画像データではなく圧縮の形態で持つことを前提
としている)。この技術によれば、オブジェクト毎に異
なる圧縮が可能になり、またディスプレイリストの重な
りがなくなるためにラスタデータのメモリ書き込み時間
が短縮する。
As an example of using such intermediate code image data, Japanese Patent Laid-Open No. 6-284297 discloses an intermediate code image data of each object (text, graphics, image) (display in the case of this patent). (List) At the time of generation, be sure to check whether or not it overlaps with other objects that are already in the display list, and if it overlaps with a different type of object, display list of each object again so that it does not overlap. A technique for creating is disclosed (however, it is premised that the object is in a compressed form rather than intermediate code image data). According to this technique, it is possible to perform different compression for each object, and since the display lists do not overlap, the memory writing time of raster data is shortened.

【0005】ところが、上記技術では、1ページ当たり
のオブジェクトがかなり多数である場合には、各オブジ
ェクトの中間コード画像データ作成時において、オーバ
ーラップのチェックおよびディスプレイリストの再作成
を行っていると膨大な時間を費やす、という難点があ
る。
However, in the above technique, when the number of objects per page is quite large, it is enormous that the overlap check and the re-creation of the display list are performed when the intermediate code image data of each object is created. The problem is that they spend a lot of time.

【0006】また、特開平7−170411号公報に
は、画像データをラスタイメージに展開して出力する画
像処理装置において、連続性のある画像データに対し連
続性を表すファンクションを用いて符号化する技術が開
示されている。
Further, in Japanese Patent Application Laid-Open No. 7-170411, an image processing apparatus which develops image data into a raster image and outputs the raster image is encoded by using a function representing continuity for continuous image data. The technology is disclosed.

【0007】この技術は、オブジェクト間の重なりを無
くすよう中間コード画像データを加工する処理(以下、
重畳図形処理と称する)の実行後に処理対象のオブジェ
クトを再度中間コード画像データに戻すために、副走査
線方向にエッジリストのスキャンを行う場合に、副走査
線方向に等間隔でかつラン長が同一のエッジリストに対
して適用することにより、中間コード画像データのメモ
リ使用量の削減および中間コード画像データの作成処理
時間の短縮が可能となる。ところが、副走査線方向に等
間隔でかつラン長が同一のエッジリスト以外に対して
は、メモリ使用量の削減や中間コード画像データの作成
処理時間の短縮の効果は無く、副走査線方向に等間隔で
かつラン長が同一か否かの判定処理を実行するため、む
しろ処理時間が長くなる。
This technique is a process for processing the intermediate code image data so as to eliminate the overlap between the objects (hereinafter,
When the edge list is scanned in the sub-scanning line direction in order to restore the object to be processed to the intermediate code image data again after the execution of the (superimposed graphic processing), the run lengths are equally spaced in the sub-scanning line direction. By applying it to the same edge list, it is possible to reduce the memory usage of the intermediate code image data and the processing time for creating the intermediate code image data. However, for the edge lists other than those having the same run length and the same run length in the sub-scanning line direction, there is no effect of reducing the memory usage amount or the intermediate code image data creation processing time. Since the process of determining whether or not the run lengths are the same at equal intervals is executed, the processing time becomes rather long.

【0008】さらに、本願出願人は、特願平8−276
652号にて、ページ記述データから変換された各オブ
ジェクト毎の中間コード画像データを記憶し、下層側に
描画されるオブジェクトをマスクする上層側のオブジェ
クトの輪郭を表す輪郭データを各オブジェクト毎に最上
層から遡って作成し、マスクされずに残った部分から中
間コード画像データを再生成することにより、オブジェ
クト毎の重なりを無くす画像処理方法に関する発明を出
願している。
Further, the applicant of the present invention is the Japanese Patent Application No. 8-276.
In No. 652, the intermediate code image data for each object converted from the page description data is stored, and the contour data representing the contour of the upper layer object that masks the object drawn on the lower layer side is stored for each object. A patent application has been filed for an image processing method that eliminates overlaps between objects by creating the intermediate code image data from a portion that is left unmasked and created by tracing back from the upper layer.

【0009】この技術により、前記特開平6−2842
97の方式である中間コード画像データの作成時毎に重
畳図形処理を起動する必要はなくなり、中間コード画像
データの保持領域が不足した場合及びラスタデータのメ
モリ書き込みが間に合わない場合にのみ起動し、一括処
理或いは所定の一部分に対する処理を行うことにより、
処理速度が向上する。
According to this technique, the above-mentioned Japanese Patent Laid-Open No. 6-2842.
It is not necessary to activate the superimposing graphic processing every time when the intermediate code image data which is the method of 97 is created, and it is activated only when the holding area of the intermediate code image data is insufficient or when the raster data memory writing is not in time, By performing batch processing or processing for a predetermined part,
The processing speed is improved.

【0010】ところが、特願平8−276652号にて
提案した技術では、オブジェクトの内容を認識して重畳
図形処理を行っていないので、重畳図形処理を終えたオ
ブジェクトの各エッジリストから再度中間コード画像デ
ータを生成した場合、生成された中間コード画像データ
のサイズが、オブジェクトの種類によってまちまちとな
る。また、一つのオブジェクトに多数のオブジェクトが
重なっている場合には、下層側のオブジェクトが細分化
され、生成される中間コード画像データのデータ量が増
加し、メモリ使用量の増加やラスタデータへの展開処理
速度の低下といった不都合が発生するおそれがある。
However, in the technique proposed in Japanese Patent Application No. 8-276652, since the superposition graphic processing is not performed by recognizing the content of the object, the intermediate code is again executed from each edge list of the object for which the superposition graphic processing is finished. When the image data is generated, the size of the generated intermediate code image data varies depending on the type of object. Also, when a large number of objects overlap one object, the objects on the lower layer side are subdivided and the amount of generated intermediate code image data increases, increasing the memory usage and increasing the raster data. There is a possibility that inconvenience such as a decrease in the expansion processing speed may occur.

【0011】[0011]

【発明が解決しようとする課題】本発明は、上記問題点
を解消するために成されたものであり、中間コード画像
データのメモリ使用量を削減し且つ出力時におけるラス
タデータへの展開処理速度を向上させることができる画
像処理装置を提供することを第1の目的とし、重畳図形
処理によるオブジェクトの細分化による中間コード画像
データのメモリ使用量の増加および展開処理速度の低下
を防止することができる画像処理装置を提供することを
第2の目的とする。
SUMMARY OF THE INVENTION The present invention has been made in order to solve the above-mentioned problems, and reduces the memory usage of intermediate code image data and the rasterization processing speed at the time of output. It is a first object of the present invention to provide an image processing device capable of improving the performance, and to prevent an increase in the memory usage amount of intermediate code image data and a decrease in the expansion processing speed due to the subdivision of an object by the superposed graphic processing. A second object of the present invention is to provide an image processing device capable of performing the same.

【0012】[0012]

【課題を解決するための手段】上記第1の目的を達成す
るために、請求項1記載の画像処理装置は、所定の描画
領域に所定の描画順序に従って層状に描画される複数の
オブジェクトの各々を表したページ記述データを中間コ
ード画像データに変換する変換手段と、変換された各オ
ブジェクト毎の中間コード画像データをメモリに記憶す
る記憶手段と、前記各オブジェクト毎の中間コード画像
データにより表される画像領域の重なりが無くなるよう
に、中間コード画像データに対応した所定の走査ライン
毎のエッジリストを、オブジェクトの描画順序を遡って
各オブジェクト毎に作成し、作成された各オブジェクト
毎のエッジリストによって前記記憶された各オブジェク
ト毎の中間コード画像データを更新する更新手段と、所
定の条件に応じて走査方向を切り替えて、前記更新手段
により更新された各オブジェクト毎のエッジリストを走
査することにより、該エッジリストから中間コード画像
データを各オブジェクト毎に再作成する再作成手段と、
を有することを特徴とする。
In order to achieve the first object, an image processing apparatus according to claim 1 has each of a plurality of objects drawn in layers in a predetermined drawing area in a predetermined drawing order. And a storage unit for storing the converted intermediate code image data for each object in the memory, and a conversion unit for converting the page description data representing the intermediate description code image data for each object. The edge list for each predetermined scan line corresponding to the intermediate code image data is created for each object by tracing the drawing order of the objects so that the overlapping image areas do not overlap, and the created edge list for each object is created. Updating means for updating the stored intermediate code image data for each object according to a predetermined condition By switching the 査 direction, by scanning the edge list for each object that is updated by the update unit, and recreating means for recreating the intermediate code image data for each object from the edge list,
It is characterized by having.

【0013】また、請求項2記載の画像処理装置では、
請求項1記載の画像処理装置において、前記所定の条件
は、オブジェクトの種類であることを特徴とする。
According to the image processing apparatus of the second aspect,
The image processing apparatus according to claim 1, wherein the predetermined condition is a type of object.

【0014】また、請求項3記載の画像処理装置では、
請求項1又は請求項2に記載の画像処理装置において、
前記再作成手段は、前記所定の条件に応じて、走査方向
を主走査線方向とするモード、走査方向を副走査線方向
とするモード、走査方向を所定の切替条件に応じてエッ
ジリスト毎に主走査線方向又は副走査線方向に切り替え
るモードの何れか1つのモードに切り替えることを特徴
とする。
Further, in the image processing apparatus according to claim 3,
The image processing apparatus according to claim 1 or 2,
According to the predetermined condition, the re-creating unit sets a mode in which the scanning direction is the main scanning line direction, a mode in which the scanning direction is the sub scanning line direction, and a scanning direction for each edge list according to a predetermined switching condition. It is characterized by switching to any one of the modes for switching to the main scanning line direction or the sub scanning line direction.

【0015】また、請求項4記載の画像処理装置では、
請求項3記載の画像処理装置において、前記所定の切替
条件は、走査対象のエッジリストと次の走査対象となり
うるエッジリストとの距離であることを特徴とする。
Further, in the image processing apparatus according to claim 4,
The image processing apparatus according to claim 3, wherein the predetermined switching condition is a distance between an edge list of a scan target and an edge list that can be a next scan target.

【0016】また、上記第2の目的を達成するために、
請求項5記載の画像処理装置は、所定の描画領域に所定
の描画順序に従って層状に描画される複数のオブジェク
トの各々を表したページ記述データを中間コード画像デ
ータに変換する変換手段と、変換された各オブジェクト
毎の中間コード画像データをメモリに記憶する記憶手段
と、前記各オブジェクト毎の中間コード画像データによ
り表される画像領域の重なりが無くなるように、中間コ
ード画像データに対応した所定の走査ライン毎のエッジ
リストを、オブジェクトの描画順序を遡って各オブジェ
クト毎に作成し、作成された各オブジェクト毎のエッジ
リストによって前記記憶された各オブジェクト毎の中間
コード画像データを更新する重畳図形処理を実行する図
形処理手段と、オブジェクトの種類が特定の種類である
場合に、該オブジェクトに対する重畳図形処理を禁止す
るよう制御する制御手段と、を有することを特徴とす
る。
In order to achieve the second object,
An image processing apparatus according to claim 5, wherein the page description data representing each of the plurality of objects drawn in layers in a predetermined drawing area in a predetermined drawing order is converted into intermediate code image data. A predetermined scan corresponding to the intermediate code image data so that the storage means for storing the intermediate code image data for each object in the memory and the image area represented by the intermediate code image data for each object do not overlap. A superimposition graphic process for creating an edge list for each line by tracing the drawing order of the objects for each object and updating the stored intermediate code image data for each object by the created edge list for each object If the graphic processing means to be executed and the type of object are a specific type, And having a control means for controlling to prohibit the superimposed graphic processing on transfected.

【0017】また、上記第2の目的を達成するために、
請求項6記載の画像処理装置は、所定の描画領域に所定
の描画順序に従って層状に描画される複数のオブジェク
トの各々を表したページ記述データを中間コード画像デ
ータに変換する変換手段と、変換された各オブジェクト
毎の中間コード画像データをメモリに記憶する記憶手段
と、前記各オブジェクト毎の中間コード画像データによ
り表される画像領域の重なりが無くなるように、中間コ
ード画像データに対応した所定の走査ライン毎のエッジ
リストを、オブジェクトの描画順序を遡って各オブジェ
クト毎に作成し、作成された各オブジェクト毎のエッジ
リストによって前記記憶された各オブジェクト毎の中間
コード画像データを更新する重畳図形処理を実行する図
形処理手段と、複数のオブジェクト間の重なり具合が所
定レベル以上である場合に、前記複数のオブジェクトに
対する重畳図形処理を禁止するよう制御する制御手段
と、を有することを特徴とする。
In order to achieve the second object,
An image processing apparatus according to claim 6, wherein the page description data representing each of the plurality of objects drawn in layers in a predetermined drawing area in a predetermined drawing order is converted into intermediate code image data. A predetermined scan corresponding to the intermediate code image data so that the storage means for storing the intermediate code image data for each object in the memory and the image area represented by the intermediate code image data for each object do not overlap. A superimposition graphic process for creating an edge list for each line by tracing the drawing order of the objects for each object and updating the stored intermediate code image data for each object by the created edge list for each object The degree of overlap between the graphic processing means to be executed and the plurality of objects is at a predetermined level or higher. If, and having a control means for controlling to prohibit the superimposed graphic processing for the plurality of objects.

【0018】また、請求項7記載の画像処理装置では、
請求項5又は請求項6に記載の画像処理装置において、
前記制御手段は、重畳図形処理が禁止されるオブジェク
トが複数存在する場合、該重畳図形処理が禁止されるオ
ブジェクト間でのみ、前記図形処理手段により重畳図形
処理を実行するよう制御することを特徴とする。
Further, in the image processing apparatus according to claim 7,
The image processing device according to claim 5 or 6,
When there are a plurality of objects for which superposed graphic processing is prohibited, the control means controls the superposed graphic processing to be executed by the graphic processing means only between the objects for which the superposed graphic processing is prohibited. To do.

【0019】上記請求項1記載の画像処理装置では、変
換手段によって、所定の描画領域に所定の描画順序に従
って層状に描画される複数のオブジェクトの各々を表し
たページ記述データを中間コード画像データに変換し、
記憶手段によって前記変換された各オブジェクト毎の中
間コード画像データをメモリに記憶する。なお、中間コ
ード画像データとしては、後述するエッジリスト、ディ
スプレイリスト、ランレングスリスト等を適用すること
ができる。
In the image processing apparatus according to the first aspect of the present invention, the page description data representing each of a plurality of objects drawn in layers in a predetermined drawing area in a predetermined drawing area by the conversion means is converted into intermediate code image data. Converted,
The intermediate code image data for each object converted by the storage means is stored in the memory. As the intermediate code image data, an edge list, a display list, a run length list, etc. described later can be applied.

【0020】そして、更新手段は、各オブジェクト毎の
中間コード画像データにより表される画像領域の重なり
が無くなるように、中間コード画像データに対応した所
定の走査ライン毎のエッジリストを、オブジェクトの描
画順序を遡って各オブジェクト毎に作成し、作成された
各オブジェクト毎のエッジリストによって前記記憶され
た各オブジェクト毎の中間コード画像データを更新す
る。
Then, the updating means draws the edge list of each predetermined scanning line corresponding to the intermediate code image data of the object so that the image areas represented by the intermediate code image data of each object do not overlap each other. The order is traced back and created for each object, and the stored intermediate code image data for each object is updated by the created edge list for each object.

【0021】ここでは、例えば、更新手段は、下層側に
描画されるオブジェクトをマスクする上層側のオブジェ
クトの少なくとも輪郭を表す輪郭データを、オブジェク
トの描画順序を遡って作成し、作成された輪郭データ領
域を各オブジェクト毎の中間コード画像データから除く
ことにより、上記画像領域の重なりが無くなるようなエ
ッジリストを、オブジェクトの描画順序を遡って各オブ
ジェクト毎に作成することができる。そして、この各オ
ブジェクト毎のエッジリストによって、記憶された各オ
ブジェクト毎の中間コード画像データを更新すれば良
い。
Here, for example, the updating means creates contour data representing at least the contour of the object on the upper layer side that masks the object to be drawn on the lower layer side by tracing the drawing order of the objects, and the created contour data. By excluding the area from the intermediate code image data for each object, an edge list that eliminates the overlapping of the image areas can be created for each object by tracing the drawing order of the objects. Then, the stored intermediate code image data for each object may be updated by the edge list for each object.

【0022】この例では、更新後の中間コード画像デー
タ、即ち各オブジェクト毎の中間コード画像データから
各オブジェクトよりも上層側のオブジェクトの輪郭デー
タ領域を除いた中間コード画像データは、多くの場合更
新前の中間コード画像データよりもデータ量が削減され
ているので、上記画像処理方法によりメモリに記憶され
る中間コード画像データのデータ量が削減される。
In this example, the updated intermediate code image data, that is, the intermediate code image data obtained by removing the contour data area of the object on the upper layer side of each object from the intermediate code image data of each object is often updated. Since the data amount is smaller than the previous intermediate code image data, the data amount of the intermediate code image data stored in the memory is reduced by the above image processing method.

【0023】さらに、本発明では、再作成手段によっ
て、所定の条件に応じて走査方向を切り替えて、更新さ
れた各オブジェクト毎のエッジリストを走査することに
より、該エッジリストから中間コード画像データを各オ
ブジェクト毎に再作成する。
Further, according to the present invention, the recreating means switches the scanning direction in accordance with a predetermined condition to scan the updated edge list for each object, thereby obtaining the intermediate code image data from the edge list. Recreate each object.

【0024】より具体的には、請求項2、3に記載した
ように、再作成手段によって、オブジェクトの種類に応
じて、走査方向を主走査線方向とするモード、走査方向
を副走査線方向とするモード、走査方向を所定の切替条
件に応じてエッジリスト毎に主走査線方向又は副走査線
方向に切り替えるモードの何れか1つのモードに切り替
えて、更新された各オブジェクト毎のエッジリストを走
査することにより、該エッジリストから中間コード画像
データを各オブジェクト毎に再作成する。
More specifically, as described in claims 2 and 3, the mode in which the scanning direction is the main scanning line direction and the scanning direction is the sub-scanning line direction by the recreating means according to the kind of the object. And the scanning direction is switched to any one of the main scanning line direction and the sub scanning line direction for each edge list according to a predetermined switching condition, and the updated edge list for each object is displayed. By scanning, the intermediate code image data is recreated for each object from the edge list.

【0025】例えば、オブジェクトの種類がフォントや
白黒のグラフィックスである場合、重なりを除去した後
の形状がかなり複雑な形状になる可能性があるので、走
査方向を所定の切替条件(例えば、請求項4に記載した
走査対象のエッジリストと次の走査対象となりうるエッ
ジリストとの距離)に応じてエッジリスト毎に主走査線
方向又は副走査線方向に切り替えるモードに切り替えて
エッジリストを走査することが望ましい。一例として、
走査対象のエッジリストからみて、主走査線方向に沿っ
て次の走査対象となりうるエッジリストまでの距離より
も副走査線方向に沿って次の走査対象となりうるエッジ
リストまでの距離の方が短い場合には、走査方向を副走
査線方向に切り替えて走査した方が、エッジリストにお
ける隣接するエッジリストまでの距離情報のデータ量を
少なくすることができるので、記憶するためのメモリサ
イズを小さくしメモリを節約することができる。
For example, when the type of object is a font or black and white graphics, the shape after removing the overlap may be a considerably complicated shape, so that the scanning direction is set to a predetermined switching condition (for example, a request). The edge list is scanned by switching to a mode in which each edge list is switched to the main scanning line direction or the sub-scanning line direction according to the distance between the edge list of the scanning target described in item 4 and the edge list which can be the next scanning target. Is desirable. As an example,
Seen from the edge list of the scan target, the distance to the edge list that can be the next scan target along the sub-scan line direction is shorter than the distance to the edge list that can be the next scan target along the main scan line direction. In this case, it is possible to reduce the data amount of the distance information to the adjacent edge list in the edge list by switching the scanning direction to the sub-scanning line direction, and thus to reduce the memory size for storage. You can save memory.

【0026】また、オブジェクトの種類がカラーグラフ
ィックスである場合は、白黒のグラフィックスの場合と
異なり、他のオブジェクトとの重なりを除去しても矩形
になる確率が高いので、走査方向を副走査線方向とする
モードに切り替えてエッジリストを走査すれば、該エッ
ジリストを例えば矩形のディスプレイリストや連続性を
表すファンクションを用いた符号等の、データ量が少な
い中間コード画像データとして再作成することができ、
記憶するためのメモリサイズを小さくしメモリを節約す
ることができる。
When the type of object is color graphics, unlike the case of black and white graphics, even if the overlap with other objects is removed, the probability of becoming a rectangle is high, so the scanning direction is sub-scanning. If the edge list is scanned while switching to the line direction mode, it is possible to recreate the edge list as intermediate code image data with a small data amount, such as a rectangular display list or a code using a function indicating continuity. Can
It is possible to reduce the memory size for storing and save the memory.

【0027】なお、オブジェクトの種類がイメージ又は
パターンイメージ(=複数のイメージが所定規則でパタ
ーン化されて構成されたもの、以下、イメージ又はパタ
ーンイメージをイメージと総称する)である場合は、そ
の中間コード画像データは、単にクリップ情報を持つの
みで、イメージの実体は別のメモリ領域にそのままの状
態あるいは圧縮された状態で保持されており、そのため
展開処理においてイメージの実体が保持されている領域
からアドレス順に読み出し、主走査線方向および副走査
線方向にソーティングされた中間コード画像データ(=
エッジリストの集合体)でクリップを行いメモリに書き
込む必要があるため、走査方向を主走査線方向とするモ
ードに切り替えてエッジリストを走査することが望まし
い。
If the type of the object is an image or a pattern image (= a plurality of images are patterned by a predetermined rule, hereinafter, the image or the pattern image is generically called an image), the intermediate The code image data simply has clip information, and the image entity is stored in another memory area as it is or in a compressed state. Therefore, from the area where the image entity is stored during expansion processing. Intermediate code image data (=) read out in the order of addresses and sorted in the main scanning line direction and the sub scanning line direction
Since it is necessary to perform clipping with a collection of edge lists and write to the memory, it is desirable to switch to a mode in which the scanning direction is the main scanning line direction and scan the edge list.

【0028】以上のように、オブジェクトの種類に応じ
て、走査方向を主走査線方向とするモード、走査方向を
副走査線方向とするモード、走査方向を所定の切替条件
に応じてエッジリスト毎に主走査線方向又は副走査線方
向に切り替えるモードの何れか1つのモードに切り替え
て、更新された各オブジェクト毎のエッジリストを走査
して、該エッジリストから中間コード画像データを各オ
ブジェクト毎に再作成することにより、中間コード画像
データのデータ量を削減できるので、メモリ使用量を削
減し且つ出力時におけるラスタデータへの展開処理速度
を向上させることができる。
As described above, depending on the type of the object, the mode in which the scanning direction is the main scanning line direction, the mode in which the scanning direction is the sub-scanning line direction, and the scanning direction is set for each edge list according to a predetermined switching condition. To the main scanning line direction or the sub-scanning line direction, and scans the updated edge list for each object, and the intermediate code image data is scanned for each object from the edge list. By recreating, the data amount of the intermediate code image data can be reduced, so that the memory usage amount can be reduced and the raster data expansion processing speed at the time of output can be improved.

【0029】次に、請求項5記載の画像処理装置では、
変換手段によって、所定の描画領域に所定の描画順序に
従って層状に描画される複数のオブジェクトの各々を表
したページ記述データを中間コード画像データに変換
し、記憶手段によって前記変換された各オブジェクト毎
の中間コード画像データをメモリに記憶する。
Next, in the image processing apparatus according to claim 5,
The conversion means converts the page description data representing each of the plurality of objects drawn in layers in a predetermined drawing area in a predetermined drawing order into intermediate code image data, and the storage means converts each of the converted objects. The intermediate code image data is stored in the memory.

【0030】そして、図形処理手段は、各オブジェクト
毎の中間コード画像データにより表される画像領域の重
なりが無くなるように、中間コード画像データに対応す
る所定の走査ライン毎のエッジリストを、オブジェクト
の描画順序を遡って各オブジェクト毎に作成し、作成さ
れた各オブジェクト毎のエッジリストによって、記憶さ
れた各オブジェクト毎の中間コード画像データを更新す
る重畳図形処理を実行する。即ち、重畳図形処理は、画
像領域の重なりが無くなるような各オブジェクト毎のエ
ッジリストの作成及び作成されたエッジリストによる中
間コード画像データの更新の2つの処理から成る。
Then, the graphic processing means sets the edge list for each predetermined scanning line corresponding to the intermediate code image data of the object so that the image areas represented by the intermediate code image data of each object do not overlap. It is created for each object by tracing back the drawing order, and superimposing graphic processing for updating the stored intermediate code image data for each object by the created edge list for each object is executed. That is, the superposed graphic process includes two processes of creating an edge list for each object so that the image areas do not overlap each other and updating the intermediate code image data by the created edge list.

【0031】ところが、一のオブジェクトに対して重畳
図形処理を実行しようとする場合、該一のオブジェクト
(即ち、下地になるオブジェクト)の種類が特定の種類
である場合には、制御手段によって、該オブジェクトに
対する重畳図形処理を禁止するよう制御する。
However, when the superimposed graphic processing is to be executed for one object, if the type of the one object (that is, the object serving as the background) is a specific type, the control means causes the Control is performed so that superposed graphic processing for an object is prohibited.

【0032】例えば、オブジェクトの種類がイメージで
ある場合は、その中間コード画像データは、前述したよ
うに、単にクリップ情報を持つのみで、イメージの実体
は別のメモリ領域にそのままの状態あるいは圧縮された
状態で保持されている。そのため展開処理においては、
イメージの実体が保持されている領域からアドレス順に
読み出し、主走査線方向および副走査線方向にソーティ
ングされた中間コード画像データ(=エッジリストの集
合体)でクリップを行いメモリに書き込む必要がある。
For example, when the type of the object is an image, the intermediate code image data has only the clip information as described above, and the substance of the image remains in another memory area or is compressed. It is held in a closed state. Therefore, in the expansion process,
It is necessary to read from the area where the substance of the image is held in the order of addresses, perform clipping with the intermediate code image data (= aggregation of edge list) sorted in the main scanning line direction and the sub scanning line direction, and write it in the memory.

【0033】そこで、オブジェクトの種類がイメージで
ある場合は、制御手段により図形処理手段による重畳図
形処理を禁止することが望ましい。
Therefore, when the type of object is an image, it is desirable that the control means prohibits the superimposed graphic processing by the graphic processing means.

【0034】このように重畳図形処理を実行することが
適切でないオブジェクトについては、重畳図形処理を禁
止することにより、オブジェクトの細分化による中間コ
ード画像データのメモリ使用量の増加および展開処理速
度の低下を防止することができる。
As to the object for which it is not appropriate to execute the superposed graphic processing, the superposed graphic processing is prohibited to increase the memory usage amount of the intermediate code image data due to the subdivision of the object and decrease the development processing speed. Can be prevented.

【0035】また、請求項6記載の画像処理装置では、
上記請求項5記載の画像処理装置と同様に、図形処理手
段によって、各オブジェクト毎の中間コード画像データ
により表される画像領域の重なりが無くなるように、中
間コード画像データに対応する所定の走査ライン毎のエ
ッジリストを、オブジェクトの描画順序を遡って各オブ
ジェクト毎に作成し、作成された各オブジェクト毎のエ
ッジリストによって、記憶された各オブジェクト毎の中
間コード画像データを更新する重畳図形処理を実行す
る。
Further, in the image processing apparatus according to claim 6,
Similar to the image processing apparatus according to claim 5, the graphic processing means causes a predetermined scanning line corresponding to the intermediate code image data so that the image areas represented by the intermediate code image data for each object do not overlap. An edge list for each object is created by tracing back the drawing order of the objects, and superimposition graphic processing is performed to update the stored intermediate code image data for each object by the created edge list for each object. To do.

【0036】ところが、制御手段によって、複数のオブ
ジェクト間の重なり具合が所定レベル以上である場合
に、当該複数のオブジェクトについては重畳図形処理を
禁止するよう制御する。例えば、一のオブジェクトを表
したエッジリストが他のオブジェクトにより切断される
回数が所定値以上の場合は細分化が発生しているとみな
し、重畳図形処理を禁止することが望ましい。
However, when the degree of overlap between the plurality of objects is equal to or higher than a predetermined level, the control means controls the superimposed graphic processing for the plurality of objects to be prohibited. For example, if the number of times an edge list representing one object is cut by another object is equal to or greater than a predetermined value, it is considered that subdivision has occurred, and it is desirable to prohibit the superimposed graphic processing.

【0037】このように他のオブジェクトとの重なり具
合が所定レベル以上のオブジェクトについては、重畳図
形処理を禁止することにより、オブジェクトの細分化に
よる中間コード画像データのメモリ使用量の増加および
展開処理速度の低下を未然に防止することができる。
In this way, for objects whose degree of overlap with other objects is at a predetermined level or higher, superimposing graphic processing is prohibited to increase the memory usage of the intermediate code image data due to object subdivision and the expansion processing speed. Can be prevented in advance.

【0038】但し、重畳図形処理においては、オブジェ
クトの描画順序を遡って画像領域の重なりが無くなるよ
うなエッジリストを作成し該エッジリストにより中間コ
ード画像データを更新するので、重畳図形処理が禁止さ
れるオブジェクトが複数存在する場合は、後から処理さ
れるオブジェクトを先に描画する必要がある。このた
め、各オブジェクトを表す中間コード画像データを一時
的に作業用メモリに記憶し、その後、描画順を入れ替え
て、一時記憶した中間コード画像データを正規のメモリ
に記憶し直す必要が生ずる場合がある。
In the superimposing graphic processing, however, the superimposing graphic processing is prohibited because the edge list is created by tracing back the drawing order of the objects so that the overlapping of the image areas is eliminated and the intermediate code image data is updated by the edge list. If there are multiple objects to be processed, it is necessary to draw the object to be processed later. Therefore, it may be necessary to temporarily store the intermediate code image data representing each object in the work memory, then change the drawing order and store the temporarily stored intermediate code image data in the regular memory again. is there.

【0039】そこで、請求項7に記載したように、重畳
図形処理が禁止されるオブジェクトが複数存在する場合
には、制御手段によって、重畳図形処理が禁止されるオ
ブジェクト間でのみ、重畳図形処理を実行するよう制御
することが望ましい。これにより、上記のように中間コ
ード画像データを一時的に作業用メモリに記憶した後、
描画順を入れ替えて、一時記憶した中間コード画像デー
タを正規のメモリに記憶し直す必要が無くなり、処理効
率を向上させることができる。
Therefore, as described in claim 7, when there are a plurality of objects for which the superimposed graphic processing is prohibited, the control means performs the superimposed graphic processing only between the objects for which the superimposed graphic processing is prohibited. It is desirable to control the execution. As a result, after temporarily storing the intermediate code image data in the working memory as described above,
It is not necessary to change the drawing order and re-store the temporarily stored intermediate code image data in the regular memory, and the processing efficiency can be improved.

【0040】[0040]

【発明の実施の形態】以下、図面を参照して本発明に係
る各種の実施形態を詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Various embodiments according to the present invention will be described in detail below with reference to the drawings.

【0041】[第1実施形態]最初に、特許請求の範囲
に記載した請求項1〜4の発明に対応する第1実施形態
を説明する。
[First Embodiment] First, a first embodiment corresponding to the inventions of claims 1 to 4 set forth in the claims will be described.

【0042】(画像処理装置の構成)以下では、まず本
実施形態における画像処理装置の構成を説明する。図1
に示すように、画像処理装置10には、内蔵したデコン
ポーザによりページ記述言語で記述されたコード画像デ
ータを解釈し、コード画像データがグラフィックス、フ
ォント、イメージなどの描画されるオブジェクト(以
下、オブジェクトと称する)の場合、バンド単位に分割
された中間コード画像データを作成する上位処理部12
と、バンド単位に各オブジェクト間の重なりを無くす重
畳図形処理を行う重畳図形処理部14と、重畳図形処理
で生成されたエッジリストを記憶するためのメモリとし
てのリスト記憶部11と、各バンドの中間コード画像デ
ータをラスタデータに展開する展開部16と、各バンド
の中間コード画像データに関する情報(メモリ領域内の
中間コード画像データ保持領域のアドレスなど)に基づ
いて該中間コード画像データをリアルタイムに展開処理
可能か否かを判定するスケジュール管理部18と、各バ
ンドの中間コード画像データの展開に要する時間を計測
又は予測する計測部20と、展開部16による展開処理
で生成された各バンド毎のラスタデータを記憶するバン
ドバッファ26と、ラスタデータをプリント出力するプ
リンタエンジン30と、バンドバッファ26に記憶され
たラスタデータをプリンタエンジン30へ転送する転送
部28と、バンドバッファ26の使用状況を管理するバ
ンドバッファ管理部22と、ラスタデータの展開処理等
でのエラー発生時にエラー処理を行うエラー処理部24
とが、設けられている。
(Structure of Image Processing Apparatus) First, the structure of the image processing apparatus in this embodiment will be described below. Figure 1
As shown in FIG. 3, the image processing apparatus 10 interprets code image data described in a page description language by a built-in decomposer, and the code image data is an object to be drawn such as graphics, fonts, images (hereinafter referred to as an object). In this case), the upper processing unit 12 that creates the intermediate code image data divided into band units
A superposed graphic processing unit 14 for performing superposed graphic processing for eliminating overlap between objects in band units; a list storage unit 11 as a memory for storing an edge list generated by the superposed graphic processing; The expansion unit 16 that expands the intermediate code image data into raster data, and the intermediate code image data in real time on the basis of information about the intermediate code image data of each band (such as the address of the intermediate code image data holding area in the memory area) A schedule management unit 18 that determines whether or not expansion processing is possible, a measurement unit 20 that measures or predicts the time required to expand the intermediate code image data of each band, and each band generated by the expansion processing by the expansion unit 16. Buffer 26 for storing raster data of the printer, and printer engine 3 for printing out the raster data And a transfer unit 28 that transfers the raster data stored in the band buffer 26 to the printer engine 30, a band buffer management unit 22 that manages the usage status of the band buffer 26, and when an error occurs in raster data expansion processing or the like. Error processing unit 24 that performs error processing
And are provided.

【0043】このような画像処理装置10は、コード画
像データが外部の画像処理装置からネットワーク経由で
あるいはスプールディスクから入力された場合に起動さ
れ、入力されたコード画像データが上位処理部12内の
デコンポーザにより順次解釈される。前述したように、
コード画像データがオブジェクトの場合には、バンド単
位に分割された中間コード画像データが上位処理部12
により作成され、作成されたバンド単位の中間コード画
像データは、上位処理部12が内蔵するメモリ領域内の
中間コード画像データ保持領域にバンド別に保持され
る。なお、ここでの中間コード画像データの例として
は、ディスプレイリスト、ランレングスリストなどが挙
げられる。
The image processing apparatus 10 is activated when code image data is input from an external image processing apparatus via a network or from a spool disk, and the input code image data is stored in the upper processing unit 12. It is sequentially interpreted by the decomposer. As previously mentioned,
When the code image data is an object, the intermediate code image data divided into band units is the upper processing unit 12
The band-based intermediate code image data created by the above is held in the intermediate code image data holding area in the memory area built in the upper processing unit 12 for each band. Note that examples of the intermediate code image data here include a display list and a run length list.

【0044】上記の処理中において中間コード画像デー
タ保持領域のメモリ不足が発生した場合、上位処理部1
2により重畳図形処理部14が起動され、バンド単位に
中間コード画像データで表される画像領域間の重なりを
無くす重畳図形処理(詳細は後述する)が起動される。
この重畳図形処理は、中間コード画像データ保持領域の
メモリ不足が解消されるまで実行される。
When a memory shortage occurs in the intermediate code image data holding area during the above processing, the upper processing unit 1
2, the superimposition graphic processing unit 14 is activated, and the superimposition graphic processing (details will be described later) for erasing the overlap between the image areas represented by the intermediate code image data is activated for each band.
This superposed graphic processing is executed until the memory shortage in the intermediate code image data holding area is resolved.

【0045】上位処理部12は、1ページ分のページ記
述言語の処理を完了した後、各バンドの中間コード画像
データに関する情報(メモリ領域内の中間コード画像デ
ータ保持領域のアドレスなど)を展開部16に通知し、
展開部16は各バンドの中間コード画像データをラスタ
データにリアルタイムに展開処理可能か否かをスケジュ
ール管理部18に判定させる。
After the processing of the page description language for one page is completed, the upper processing unit 12 expands the information about the intermediate code image data of each band (the address of the intermediate code image data holding area in the memory area). Notify 16
The expansion unit 16 causes the schedule management unit 18 to determine whether the intermediate code image data of each band can be expanded into raster data in real time.

【0046】このスケジュール管理部18は、計測部2
0による中間コード画像データの展開時間の計測結果又
は予測結果に基づいて、各バンド毎の中間コード画像デ
ータがリアルタイムに展開可能か否かを判定する。ここ
で、リアルタイムに展開可能でない中間コード画像デー
タが存在する場合、スケジュール管理部18は、重畳図
形処理部14を起動し、リアルタイムに展開可能でない
中間コード画像データを含むバンドに対して重畳図形処
理を実行させる。これにより、中間コード画像データで
表される画像領域間の重なりを無くし、展開処理時にお
ける無駄なバンドバッファ26への中間コード画像デー
タの書き込みを防ぐことにより、リアルタイムな展開処
理を可能とする。
The schedule management unit 18 is composed of the measuring unit 2
Based on the measurement result or the prediction result of the expansion time of the intermediate code image data of 0, it is determined whether the intermediate code image data of each band can be expanded in real time. Here, when there is intermediate code image data that cannot be expanded in real time, the schedule management unit 18 activates the superimposition graphic processing unit 14 to perform superimposition graphic processing on a band including intermediate code image data that cannot be expanded in real time. To execute. As a result, the overlapping between the image areas represented by the intermediate code image data is eliminated, and unnecessary writing of the intermediate code image data into the band buffer 26 during the expansion processing is prevented, thereby enabling real-time expansion processing.

【0047】(重畳図形処理の概要)次に、図2を用い
て、本実施形態の重畳図形処理部14により実行される
重畳図形処理の内容を説明する。なお、以下では重なり
合った複数のオブジェクトが図3に示す4つの図形A、
B、C、Dである場合の重畳図形処理を説明する。その
ため、「図形」をオブジェクトと同義で用いる。
(Overview of Superposed Figure Processing) Next, the contents of the superposed figure processing executed by the superposed figure processing unit 14 of this embodiment will be described with reference to FIG. It should be noted that in the following, a plurality of overlapping objects are four figures A shown in FIG.
The superposed graphic process for B, C, and D will be described. Therefore, "graphic" is used synonymously with "object".

【0048】本実施形態における重畳図形処理は、特願
平8−276652号にて提案した重畳図形処理と同様
であり、描画順序と逆順に各オブジェクトに対して実行
される。例えば、図2では描画順序と逆順に図形D、
C、B、Aの順に処理される。
The superposed graphic processing in this embodiment is similar to the superposed graphic processing proposed in Japanese Patent Application No. 8-276652, and is executed for each object in the reverse order of the drawing order. For example, in FIG. 2, figure D,
Processed in the order of C, B, A.

【0049】また、重畳図形処理は、一のオブジェクト
と該オブジェクトよりも後に描画される全てのオブジェ
クトを併合した領域との重なり領域を抽出する抽出処
理、抽出された重なり領域を該一のオブジェクトから除
いた領域のエッジリストをリスト記憶部11の作業用メ
モリに生成する生成処理、及び生成されたエッジリスト
によって、リスト記憶部11の保存用メモリに記憶され
た該オブジェクトのエッジリストを更新する更新処理に
よって構成されている。
The superimposing graphic process is an extraction process for extracting an overlapping region of one object and a region in which all objects drawn after the object are merged, and the extracted overlapping region is extracted from the one object. Generation processing for generating the edge list of the excluded area in the working memory of the list storage unit 11, and updating for updating the edge list of the object stored in the storage memory of the list storage unit 11 by the generated edge list. It is composed of processes.

【0050】具体的には、図2において図形Cと図形C
よりも後に描画される図形Dの輪郭(MASK(D) )との重
なり領域を抽出し、該重なり領域を図形Cから除いた領
域(Cand〜MASK(D) )のエッジリストを生成し、生成さ
れた領域(Cand〜MASK(D) )のエッジリストによって図
形Cのエッジリストを更新する。
Specifically, in FIG. 2, the figure C and the figure C
The overlapping area with the contour (MASK (D)) of the figure D drawn after is extracted, and the edge list of the area (Cand to MASK (D)) excluding the overlapping area from the figure C is generated and generated. The edge list of the figure C is updated with the edge list of the created area (Cand to MASK (D)).

【0051】上記の領域(Cand〜MASK(D) )は、後に重
畳図形処理が行われる図形B、Aにより上書きされない
ので、この時点で図形Cのエッジリストが確定し、確定
した図形Cのエッジリストにより図形Cのエッジリスト
が更新される。これにより、作業用メモリに生成された
エッジリストは更新処理の完了後は不要となるので、該
エッジリストが記憶された作業用メモリを解放し他の処
理で再使用することが可能になる。
Since the above-mentioned area (Cand to MASK (D)) is not overwritten by the figures B and A to be subjected to the superimposed figure processing later, the edge list of the figure C is fixed at this point, and the edges of the fixed figure C are determined. The edge list of the figure C is updated by the list. As a result, the edge list generated in the working memory becomes unnecessary after the completion of the update process, so that the working memory in which the edge list is stored can be released and reused in another process.

【0052】以下同様に、図形Bと図形Bよりも後に描
画される図形D、Cの輪郭(MASK(DorC))との重なり領
域を抽出し、該重なり領域を図形Bから除いた領域(Ba
nd〜MASK(DorC))のエッジリストを生成し、生成された
領域(Band〜MASK(DorC))のエッジリストによって図形
Bのエッジリストを更新する。
Similarly, the overlapping area between the shape B and the contours (MASK (DorC)) of the shapes D and C drawn after the shape B is extracted, and the overlapping area is removed from the shape B (Ba
nd to MASK (DorC)) edge list is generated, and the edge list of the figure B is updated by the generated edge list of the area (Band to MASK (DorC)).

【0053】更に、図形Aと図形Aよりも後に描画され
る図形D、C、Bの輪郭(MASK(DorCorB) )との重なり
領域を抽出し、該重なり領域を図形Aから除いた領域
(Aand〜MASK(DorCorB) )のエッジリストを生成し、生
成された領域(Aand〜MASK(DorCorB) )のエッジリスト
によって図形Aのエッジリストを更新する。
Further, an overlapping area between the figure A and the contours (MASK (DorCorB)) of the figures D, C, and B drawn after the figure A is extracted, and the overlapping area is removed from the figure A (Aand ˜MASK (DorCorB)) edge list is generated, and the edge list of figure A is updated with the generated edge list of the area (Aand˜MASK (DorCorB)).

【0054】なお、上記の重畳図形処理における抽出処
理では、対象の図形よりも後に描画される全ての図形を
併合した領域を表すデータとして、輪郭データ、例え
ば、図形Dの輪郭データ(MASK(D) )や図形D、Cの輪
郭データ(MASK(DorC))等を用いることを特徴とする。
この輪郭データは、領域の輪郭に関する情報のみを含ん
でおり、エッジリストのように線種、色値等の描画に関
するさまざまな情報を含まないので、データ量が非常に
少ない。このように抽出処理において、データ量の少な
い輪郭データを用いることにより、抽出処理における作
業用メモリの使用量を少なく抑えることができる。
In the extraction processing in the above-described superposed graphic processing, the contour data, for example, the contour data (MASK (DSK) of the graphic D, is used as data representing an area in which all the graphics drawn after the target graphic are merged. )) And contour data (MASK (DorC)) of figures D and C, etc. are used.
This contour data contains only information about the contour of the area and does not include various information about drawing such as line type and color value like the edge list, and therefore the amount of data is very small. As described above, by using the contour data having a small amount of data in the extraction processing, it is possible to reduce the usage amount of the work memory in the extraction processing.

【0055】(重畳図形処理の詳細な説明)次に、重畳
図形処理を図6のフローチャートに沿って詳細に説明す
る。
(Detailed Description of Superposed Figure Processing) Next, the superposed figure processing will be described in detail with reference to the flowchart of FIG.

【0056】なお、各図形の更新前のエッジリストを構
成する個々のデータブロックを元図形エッジと称し、各
図形の更新後のエッジリストを構成する個々のデータブ
ロックを新規図形エッジと称する。また、処理対象の図
形よりも後に描画される全図形を併合した領域の輪郭を
マスクと称する。このマスクについても図形と同様にエ
ッジリストで表現し、マスクのエッジリストを構成する
個々のデータブロックをマスクエッジと称する。なお、
図2では図形Dの輪郭(マスク)をMASK(D) と表し、図
形D、Cの輪郭(マスク)をMASK(DorC)と表している。
これらエッジリスト及びマスクは、例えば、図4に示す
ように、属性、始点位置、終点位置、ランレングス、次
のマスクあるいはエッジリストへのポインタの5種類の
データの記憶領域により構成することができる。このう
ち属性データが「0」であればエッジリスト、「1」で
あればマスクであると識別することができる。
The individual data blocks forming the edge list before updating each figure are referred to as original figure edges, and the individual data blocks forming the edge list after updating each figure are referred to as new figure edges. Further, the contour of the area in which all the figures drawn after the figure to be processed are merged is called a mask. This mask is also represented by an edge list like a figure, and individual data blocks forming the edge list of the mask are called mask edges. In addition,
In FIG. 2, the contour (mask) of the figure D is represented as MASK (D), and the contour (mask) of the figures D and C is represented as MASK (DorC).
These edge list and mask can be composed of, for example, as shown in FIG. 4, storage areas for five types of data such as attributes, start point position, end point position, run length, next mask or pointer to edge list. . If the attribute data is "0", it can be identified as an edge list, and if it is "1", it can be identified as a mask.

【0057】図6のステップ101において処理範囲と
して、1ページを副走査方向に沿って複数に分割したバ
ンドを設定し、次のステップ102で対象オブジェクト
のエッジリストを読み出し該図形のY座標の範囲(YS
〜YE )を検知する。そして、次のステップ103で
は、設定したバンド内に対象オブジェクトが存在するか
否かを判定する。
In step 101 of FIG. 6, a band obtained by dividing one page into a plurality of parts along the sub-scanning direction is set as the processing range, and in the next step 102, the edge list of the target object is read and the range of the Y coordinate of the figure is set. (Y S
~ Y E ) is detected. Then, in the next step 103, it is determined whether or not the target object exists in the set band.

【0058】ここで、バンド内に対象オブジェクトが存
在する場合、ステップ104へ進み、処理対象とするス
キャンラインのY座標としてYS をセットする。以下、
処理対象とするスキャンラインをラインYと称する。次
のステップ106ではラインYにおける最初の元図形エ
ッジの(開始点のX座標,終了点のX座標)を(SX,
EX)に、ラインYにおける最初のマスクエッジの(開
始点のX座標,終了点のX座標)を(MSX,MEX)
に、それぞれセットする。なお、ここでは元図形エッジ
及びマスクエッジはラインYにおいて主走査方向に順に
処理対象としていく。
Here, if the target object exists in the band, the process proceeds to step 104 and Y S is set as the Y coordinate of the scan line to be processed. Less than,
The scan line to be processed is called line Y. In the next step 106, the (X coordinate of the start point, X coordinate of the end point) of the first original figure edge on the line Y is (SX,
EX) the (X coordinate of the start point, X coordinate of the end point) of the first mask edge on the line Y (MSX, MEX)
And set each. Here, the original figure edge and the mask edge are sequentially processed in the main scanning direction on the line Y.

【0059】なお、以下では、(SX,EX)はライン
Yにおける元図形エッジの(開始点のX座標,終了点の
X座標)を、(MSX,MEX)はラインYにおけるマ
スクエッジの(開始点のX座標,終了点のX座標)を、
(NSX,NEX)はラインYにおける次の元図形エッ
ジの(開始点のX座標,終了点のX座標)を、(NMS
X,NMEX)はラインYにおける次のマスクエッジの
(開始点のX座標,終了点のX座標)を、それぞれ示
す。
In the following, (SX, EX) is the (X coordinate of the start point, X coordinate of the end point) of the original figure edge on the line Y, and (MSX, MEX) is the (start point of the mask edge on the line Y. X coordinate of the point, X coordinate of the end point)
(NSX, NEX) is the (X coordinate of the start point, X coordinate of the end point) of the next original figure edge on the line Y, (NMS
(X, NMEX) indicates the (X coordinate of the start point and the X coordinate of the end point) of the next mask edge on the line Y, respectively.

【0060】また、以下のステップでは上記の各種X座
標値同士を比較する処理が含まれるが、このような処理
を説明するために図5(A)〜(F)を用いる。これら
図5(A)〜(F)の各々では、左から右への方向が主
走査方向に相当し、下向き矢印の上側に比較処理前のマ
スクエッジ(MSX〜MEX)及び比較処理前の元図形
エッジ(SX〜EX)を示している。また、下向き矢印
の下側に比較処理後のマスクエッジ(MSX〜MEX)
及び比較処理後の元図形エッジ(SX〜EX)を示して
いる。
Further, the following steps include a process of comparing the above various X coordinate values with each other, and FIGS. 5A to 5F will be used to explain such a process. In each of these FIGS. 5A to 5F, the direction from left to right corresponds to the main scanning direction, and the mask edge (MSX to MEX) before comparison processing and the source before comparison processing are shown above the downward arrow. The figure edges (SX to EX) are shown. Further, the mask edge (MSX to MEX) after the comparison process is provided below the downward arrow.
And the original figure edges (SX to EX) after the comparison processing are shown.

【0061】図6において次のステップ108では、M
SXがEXよりも大きいか否かを判定する。図5(A)
に示すようにMSXがEXよりも大きい場合はステップ
110へ進み、図7のサブルーチンAを実行する。サブ
ルーチンAでは(SX,EX)を新規図形エッジとして
追加し(ステップ202)、(MSX−1)がEXに等
しい場合は元図形エッジとマスクエッジとを1つのマス
クエッジにまとめることができるので(MSX,ME
X)に(SX,MEX)をセットし(ステップ20
8)、(MSX−1)がEXに等しくない場合はマスク
エッジに(SX,EX)を追加する(ステップ20
6)。そして、(NSX,NEX)に次の元図形エッジ
をセットして(ステップ210)、図6のメインルーチ
ンへリターンし後述するステップ120へ進む。
In the next step 108 in FIG. 6, M
It is determined whether SX is larger than EX. Figure 5 (A)
When MSX is larger than EX as shown in FIG. 7, the routine proceeds to step 110, where the subroutine A of FIG. 7 is executed. In subroutine A, (SX, EX) is added as a new graphic edge (step 202), and if (MSX-1) is equal to EX, the original graphic edge and the mask edge can be combined into one mask edge ( MSX, ME
(SX, MEX) is set to (X) (step 20)
8), if (MSX-1) is not equal to EX, add (SX, EX) to the mask edge (step 20)
6). Then, the next original figure edge is set in (NSX, NEX) (step 210), the process returns to the main routine of FIG. 6 and proceeds to step 120 described later.

【0062】上記ステップ108でMSXがEXより大
きくない場合はステップ112へ進み(MSX≧SX)
且つ(MEX>EX)且つ(MSX≦EX)であるか否
かを判定する。図5(B)に示すように(MSX≧S
X)且つ(MEX>EX)且つ(MSX≦EX)である
場合はステップ114へ進み、図8のサブルーチンBを
実行する。サブルーチンBでは(SX,MSX−1)を
新規図形エッジとして追加し(ステップ222)、(M
SX,MEX)に(SX,MEX)をセットし(ステッ
プ224)、そして(NSX,NEX)に次の元図形エ
ッジをセットして図6のメインルーチンへリターンし後
述するステップ120へ進む。
If MSX is not greater than EX in step 108, the process proceeds to step 112 (MSX ≧ SX).
Then, it is determined whether or not (MEX> EX) and (MSX ≦ EX). As shown in FIG. 5B, (MSX ≧ S
X) and (MEX> EX) and (MSX ≦ EX), the routine proceeds to step 114, where the subroutine B of FIG. 8 is executed. In subroutine B, (SX, MSX-1) is added as a new figure edge (step 222), and (M
(SX, MEX) is set to (SX, MEX) (step 224), and the next original figure edge is set to (NSX, NEX), and the process returns to the main routine of FIG. 6 and proceeds to step 120 described later.

【0063】上記ステップ112で否定判定された場合
はステップ116へ進み(MSX≦SX)且つ(MEX
≧EX)であるか否かを判定する。図5(C)に示すよ
うに(MSX≦SX)且つ(MEX≧EX)である場合
はステップ118へ進み、(NSX,NEX)に次の元
図形エッジをセットしてステップ120へ進む。ステッ
プ120では(SX,EX)に(NSX,NEX)をセ
ットし、後述するステップ136へ進む。
When a negative determination is made in step 112, the process proceeds to step 116 (MSX≤SX) and (MEX
≧ EX) is determined. As shown in FIG. 5C, when (MSX ≦ SX) and (MEX ≧ EX), the process proceeds to step 118, the next original figure edge is set in (NSX, NEX), and the process proceeds to step 120. In step 120, (SX, EX) is set to (NSX, NEX), and the process proceeds to step 136 described later.

【0064】上記ステップ116で否定判定された場合
はステップ122へ進み(MSX≧SX)且つ(MEX
≦EX)であるか否かを判定する。図5(D)に示すよ
うに(MSX≧SX)且つ(MEX≦EX)である場合
はステップ124へ進み、図9のサブルーチンDを実行
する。サブルーチンDでは(SX,MSX−1)を新規
図形エッジとして追加し(ステップ242)、(MS
X,MEX)に(SX,EX)をセットする(ステップ
244)。さらに(NSX,NEX)に(MEX+1,
EX)をセットし(ステップ246)、(NMSX,N
MEX)に次のマスクエッジをセットして(ステップ2
48)、図6のメインルーチンへリターンし後述するス
テップ134へ進む。
When a negative determination is made in step 116, the process proceeds to step 122 (MSX ≧ SX) and (MEX
≦ EX) is determined. When (MSX ≧ SX) and (MEX ≦ EX) as shown in FIG. 5D, the routine proceeds to step 124, where the subroutine D of FIG. 9 is executed. In subroutine D, (SX, MSX-1) is added as a new figure edge (step 242), and (MS
(SX, EX) is set to (X, MEX) (step 244). In addition, (NSX, NEX) becomes (MEX + 1,
EX) is set (step 246) and (NMSX, N
Set the next mask edge to MEX (step 2
48) and returns to the main routine of FIG. 6 and proceeds to step 134 described later.

【0065】上記ステップ122で否定判定された場合
はステップ126へ進み(MSX≦SX)且つ(MEX
<EX)且つ(MEX≧SX)であるか否かを判定す
る。図5(E)に示すように(MSX≦SX)且つ(M
EX<EX)且つ(MEX≧SX)である場合はステッ
プ128へ進み、図10のサブルーチンEを実行する。
サブルーチンEでは(SX,EX)に(MEX+1,E
X)をセットし(ステップ262)、(MSX,ME
X)に(MSX,EX)をセットし(ステップ26
4)、そして(NMSX,NMEX)に次のマスクエッ
ジをセットして(ステップ266)、図6のメインルー
チンへリターンし後述するステップ134へ進む。
When a negative determination is made in step 122, the process proceeds to step 126 (MSX≤SX) and (MEX
It is determined whether <EX) and (MEX ≧ SX). As shown in FIG. 5 (E), (MSX ≦ SX) and (M
When EX <EX) and (MEX ≧ SX), the routine proceeds to step 128, where the subroutine E of FIG. 10 is executed.
In subroutine E, (SX, EX) becomes (MEX + 1, E)
X) is set (step 262), and (MSX, ME
(MSX, EX) is set to (X) (step 26
4) Then, the next mask edge is set in (NMSX, NMEX) (step 266), the process returns to the main routine of FIG. 6 and proceeds to step 134 described later.

【0066】上記ステップ126で否定判定された場合
はステップ130へ進み、MEXがSXより小さいか否
かを判定する。図5(F)に示すようにMEXがSXよ
り小さい場合はステップ132へ進み、図11のサブル
ーチンFを実行する。サブルーチンFでは(SX,E
X)を新規図形エッジとして追加し(ステップ28
2)、ここで(MEX+1)がSXに等しい場合は元図
形エッジとマスクエッジとを1つのマスクエッジとして
まとめることができるので(MSX,MEX)に(MS
X,EX)をセットし(ステップ288)、(MEX+
1)がSXに等しくない場合はマスクエッジに(SX,
EX)を追加する(ステップ286)。そして、(NM
SX,NMEX)に次のマスクエッジをセットして(ス
テップ290)、図6のメインルーチンへリターンしス
テップ134へ進む。ステップ134では(MSX,M
EX)をマスクエッジとして登録した後に、(MSX,
MEX)に(NMSX,NMEX)をセットして次のス
テップ136へ進む。
When a negative determination is made in step 126, the routine proceeds to step 130, where it is determined whether MEX is smaller than SX. When MEX is smaller than SX as shown in FIG. 5 (F), the routine proceeds to step 132, where the subroutine F of FIG. 11 is executed. In subroutine F, (SX, E
X) is added as a new figure edge (step 28).
2) Here, if (MEX + 1) is equal to SX, the original figure edge and the mask edge can be combined as one mask edge, so (MSX, MEX) becomes (MS
(X, EX) is set (step 288), and (MEX +
If 1) is not equal to SX, then (SX,
EX) is added (step 286). And (NM
The next mask edge is set in (SX, NMEX) (step 290), the process returns to the main routine of FIG. 6 and proceeds to step 134. In step 134, (MSX, M
After registering (EX) as a mask edge, (MSX,
(NMSX, NMEX) is set in (MEX) and the process proceeds to the next step 136.

【0067】ステップ136では(SX,EX)が空デ
ータである(ラインYにおいて次の元図形エッジが無
い)か否かを、次のステップ140では(MSX,ME
X)が空データである(ラインYにおいて次のマスクエ
ッジが無い)か否かを、それぞれ判定する。ここで、
(SX,EX)と(MSX,MEX)が共に空データで
ない場合は、未だ比較すべきデータが残っているので、
ステップ108へ戻る。
At step 136, whether (SX, EX) is empty data (there is no next original figure edge on the line Y), and at step 140 (MSX, ME).
X) is empty data (no next mask edge in line Y). here,
If both (SX, EX) and (MSX, MEX) are not empty data, there is still data to be compared.
Return to step 108.

【0068】ステップ136で(SX,EX)が空デー
タである場合は、ラインYにおいて次の元図形エッジが
無いので、ステップ138へ進み、当該時点のマスクの
エッジリストをリスト記憶部11に記憶する。但し、マ
スクのエッジリストは輪郭に関するデータのみであり、
データ量が非常に少ないので、使用されるリスト記憶部
11の領域は少なくて済む。一方、ステップ140で
(MSX,MEX)が空データである場合は、ラインY
において次のマスクエッジが無いので、ステップ142
へ進み、残りの元図形エッジをマスクエッジとして追加
した上で、当該時点のマスクのエッジリストをリスト記
憶部11に記憶する。上記と同様に、マスクのエッジリ
ストは輪郭に関するデータのみであり、データ量が非常
に少ないので、使用されるリスト記憶部11の領域は少
なくて済む。
If (SX, EX) is empty data in step 136, there is no next original figure edge in the line Y, so the flow advances to step 138, and the edge list of the mask at that time is stored in the list storage section 11. To do. However, the edge list of the mask is only the data related to the contour,
Since the amount of data is very small, the area of the list storage unit 11 used can be small. On the other hand, if (MSX, MEX) is empty data in step 140, line Y
Since there is no next mask edge in step 142, step 142
Then, the remaining original figure edge is added as a mask edge, and the edge list of the mask at that time is stored in the list storage unit 11. Similarly to the above, the edge list of the mask is only the data relating to the contour, and the data amount is very small, so that the area of the list storage unit 11 used can be small.

【0069】上記のステップ138、142の処理を実
行後はステップ144でラインYのY座標がYE に等し
いか否かを判定する。処理対象の1つの図形に対して処
理が完了していないときはラインYのY座標がYE より
も小さいので、ステップ144で否定判定され、ステッ
プ146でラインYのY座標を1つインクリメントす
る。その後、ステップ106へ戻り、新たなラインYを
対象としてステップ106〜142の処理を実行する。
After executing the processing of steps 138 and 142, it is determined in step 144 whether the Y coordinate of the line Y is equal to Y E. When the processing for one figure to be processed is not completed, the Y coordinate of the line Y is smaller than Y E , so a negative determination is made in step 144, and the Y coordinate of the line Y is incremented by 1 in step 146. . After that, the process returns to step 106 and the processes of steps 106 to 142 are executed for the new line Y.

【0070】このようにして処理対象の1つの図形がス
キャンライン毎に処理され、元図形エッジのエッジリス
トが新規図形エッジのエッジリストによって更新され
る。Y座標がYE に等しいラインYを対象とした処理が
完了し1つの図形に対する処理が完了すると、ステップ
144で肯定判定されステップ147へ進み、新規図形
エッジのエッジリストによって、リスト記憶部11に記
憶された元図形のエッジリストを更新する。そして、ス
テップ148で、全ての図形に対して処理が完了したか
否かを判定する。
In this way, one figure to be processed is processed for each scan line, and the edge list of the original figure edge is updated by the edge list of the new figure edge. When the processing for the line Y whose Y coordinate is equal to Y E is completed and the processing for one figure is completed, an affirmative decision is made in step 144 and the operation proceeds to step 147, where the list storage unit 11 stores the edge list of the new figure edge. The stored edge list of the original figure is updated. Then, in step 148, it is determined whether the processing has been completed for all the figures.

【0071】処理を行っていない図形が残っている場合
はステップ102へ戻り、新たな図形を対象としてステ
ップ102〜147の処理を実行する。そして、全ての
図形に対して処理が完了した時点で重畳図形処理を終了
する。
When there are still graphics which have not been processed, the process returns to step 102 and the processes of steps 102 to 147 are executed for a new graphic. Then, when the processing is completed for all the figures, the superimposed figure processing is ended.

【0072】(第1実施形態の作用)次に、第1実施形
態の作用として、上記重畳図形処理により生成されたエ
ッジリストを所定の方向に沿って走査することにより、
該エッジリストから中間コード画像データを各オブジェ
クト毎に再作成する中間コード画像データ再作成処理を
説明する。この中間コード画像データ再作成処理は、プ
リント出力時に上位処理部12により実行される。
(Operation of First Embodiment) Next, as an operation of the first embodiment, by scanning the edge list generated by the superposed graphic processing along a predetermined direction,
The intermediate code image data recreating process of recreating the intermediate code image data for each object from the edge list will be described. This intermediate code image data re-creation process is executed by the upper processing unit 12 at the time of print output.

【0073】図12のステップ302では、リスト記憶
部11に記憶されたエッジリストを読み出し、そのうち
1つのエッジリストを処理対象のエッジリストとする。
次のステップ304、306では、対象のエッジリスト
で表されるオブジェクトがイメージであるか否か、カラ
ーグラフィックスであるか否かを、それぞれ判定し、対
象のオブジェクトがイメージであればステップ308
へ、対象のオブジェクトがカラーグラフィックスであれ
ばステップ312へ、対象のオブジェクトがそれ以外
(例えばフォントや白黒のグラフィックス)であればス
テップ310へ、それぞれ進む。
In step 302 of FIG. 12, the edge list stored in the list storage unit 11 is read, and one of the edge lists is set as the processing target edge list.
In the next steps 304 and 306, it is determined whether the object represented by the target edge list is an image or color graphics, respectively, and if the target object is an image, step 308.
If the target object is color graphics, the process proceeds to step 312. If the target object is other than that (for example, font or monochrome graphics), the process proceeds to step 310.

【0074】このうちステップ308では、図13に示
す中間コード画像データ再生成処理1のサブルーチンが
実行される。この中間コード画像データ再生成処理1
は、エッジリストを主走査線方向(2次元座標系におけ
るX軸方向)に沿って走査することにより、該エッジリ
ストから中間コード画像データを再作成するものであ
る。
Of these, in step 308, the subroutine of the intermediate code image data regeneration processing 1 shown in FIG. 13 is executed. This intermediate code image data regeneration processing 1
Is to recreate the intermediate code image data from the edge list by scanning the edge list along the main scanning line direction (X-axis direction in the two-dimensional coordinate system).

【0075】具体的には、図13のステップ332では
対象のスキャンライン(最初は先頭のスキャンライン)
に未処理のエッジリストが存在するか否かを判定し、未
処理のエッジリストが存在すれば、当該スキャンライン
上のエッジリストに対して主走査方向に沿った順番で、
エッジリストのスキャン(ステップ334)及びスキャ
ンで得られた情報に基づく中間コード画像データの再生
成(ステップ336)を実行していく。
Specifically, in step 332 of FIG. 13, the target scan line (first scan line at the beginning)
It is determined whether or not there is an unprocessed edge list, and if there is an unprocessed edge list, in the order along the main scanning direction with respect to the edge list on the scan line,
The edge list is scanned (step 334) and the intermediate code image data is regenerated (step 336) based on the information obtained by the scanning.

【0076】そして、当該スキャンライン上の全エッジ
リストに対して上記処理が終了すると、ステップ340
で対象のスキャンラインとして次のスキャンラインをセ
ットし、該セットした対象のスキャンラインに対してス
テップ332〜336の処理を実行する。
When the above processing is completed for all edge lists on the scan line, step 340
Then, the next scan line is set as the target scan line, and the processes of steps 332 to 336 are executed for the set target scan line.

【0077】このようにして各スキャンラインに対して
ステップ332〜336の処理を実行することにより、
例えば図16(A)に示す、、・・・の順番で、
エッジリストが主走査方向に沿って走査され中間コード
画像データが再生成される。
By executing the processing of steps 332 to 336 for each scan line in this way,
For example, in the order of ... Shown in FIG.
The edge list is scanned along the main scanning direction to regenerate the intermediate code image data.

【0078】このようにオブジェクトの種類がイメージ
である場合は、その中間コード画像データは、単にクリ
ップ情報を持つのみで、イメージの実体は別のメモリ領
域にそのままの状態あるいは圧縮された状態で保持され
ており、そのため展開処理においてイメージの実体が保
持されている領域からアドレス順に読み出し、主走査線
方向および副走査線方向にソーティングされた中間コー
ド画像データ(=エッジリストの集合体)でクリップを
行いメモリに書き込む必要があるため、上記のように主
走査線方向を走査方向としてエッジリストを走査するこ
とが望ましい。
When the type of the object is an image as described above, the intermediate code image data thereof simply has clip information, and the substance of the image is held in another memory area as it is or in a compressed state. Therefore, in the expansion process, the image is read from the area where the substance of the image is held in the order of address, and the clip is made with the intermediate code image data (= aggregation of edge list) sorted in the main scanning line direction and the sub scanning line direction. Since it is necessary to perform writing in the memory, it is desirable to scan the edge list with the main scanning line direction as the scanning direction as described above.

【0079】一方、オブジェクトがフォントや白黒のグ
ラフィックスの場合に進むステップ310では、図14
に示す中間コード画像データ再生成処理2のサブルーチ
ンが実行される。この中間コード画像データ再生成処理
2は、走査対象のエッジリストと次の走査対象となりう
るエッジリストとの距離に応じて、走査方向を主走査線
方向又は副走査線方向(2次元座標系におけるY軸方
向)に切り替えてエッジリストを走査することにより、
該エッジリストから中間コード画像データを再作成する
ものである。
On the other hand, if the object is a font or black-and-white graphics, step 310 shown in FIG.
The subroutine of the intermediate code image data regeneration processing 2 shown in is executed. In this intermediate code image data regeneration processing 2, the scanning direction is the main scanning line direction or the sub-scanning line direction (in the two-dimensional coordinate system) according to the distance between the edge list to be scanned and the edge list that can be the next scanning target. By switching to (Y-axis direction) and scanning the edge list,
The intermediate code image data is recreated from the edge list.

【0080】具体的には、図14のステップ352、3
54で最初のエッジリストに対するスキャンとスキャン
で得られた情報に基づく中間コード画像データの再生成
とを実行し、次のステップ356で未処理のエッジリス
トが2つ以上存在するか否かを判定する。
Specifically, steps 352 and 3 in FIG.
At 54, the first edge list is scanned and the intermediate code image data based on the information obtained by the scan is regenerated, and at the next step 356, it is determined whether or not there are two or more unprocessed edge lists. To do.

【0081】ここで、未処理のエッジリストが2つ以上
存在しておれば、ステップ358へ進み、主走査方向に
みて次の走査対象となりうるエッジリストとの距離と、
副走査方向にみて次の走査対象となりうるエッジリスト
との距離とを比較し、次のステップ360では比較結果
により距離の短い方のエッジリストへ向かう方向を走査
方向として設定する。そして、次のステップ362では
上記設定した走査方向にみて次の未処理のエッジリスト
を対象のエッジリストとする。さらに、次のステップ3
64、366では対象のエッジリストに対するスキャン
とスキャンで得られた情報に基づく中間コード画像デー
タの再生成とを実行する。
If there are two or more unprocessed edge lists, the process proceeds to step 358, and the distance to the edge list that can be the next scan target in the main scanning direction,
The distance from the edge list that can be the next scan target is compared in the sub-scanning direction, and in the next step 360, the direction toward the edge list with the shorter distance is set as the scanning direction based on the comparison result. Then, in the next step 362, the next unprocessed edge list in the set scanning direction is set as the target edge list. Next step 3
In 64 and 366, scanning of the target edge list and regeneration of intermediate code image data based on the information obtained by the scanning are executed.

【0082】このようにして走査対象のエッジリストと
次の走査対象となりうるエッジリストとの距離に応じ
て、走査方向を主走査線方向又は副走査線方向に切り替
えてエッジリストを走査し中間コード画像データを再生
成していく。
In this way, the scanning direction is switched to the main scanning line direction or the sub-scanning line direction in accordance with the distance between the edge list to be scanned and the edge list to be the next scanning target, and the edge list is scanned to obtain the intermediate code. Regenerate the image data.

【0083】これにより、例えば図16(B)に示す
、、・・・の順番で、エッジリストが走査され中
間コード画像データが再生成される。
As a result, the edge list is scanned and the intermediate code image data is regenerated in the order of ... Shown in FIG.

【0084】ところで、上記ステップ358〜362で
は、以下のように処理しても良い。例えば、エッジリス
トを表現する中間コード画像データフォーマットの一つ
を、図17(B)に示すように、2桁のデータタイプ、
3桁のランレングス、1桁のY方向の差分、2桁のX方
向の差分により定義する。
The steps 358 to 362 may be processed as follows. For example, as shown in FIG. 17B, one of the intermediate code image data formats expressing the edge list is a 2-digit data type,
It is defined by a 3-digit run length, a 1-digit difference in the Y direction, and a 2-digit difference in the X direction.

【0085】ここで、図17(A)において、現在のス
キャン対象のエッジリストをとすると、次のスキャン
対象としてとの2つのエッジリストが存在する。こ
こで、エッジリストとエッジリストのX方向の差分
DX’が3以下(=差分DX’が2桁以内)の場合に
は、次のスキャン対象はエッジリストとする。一方、
エッジリストのX方向の差分DX’が3より大きく
(=差分DX’が3桁以上)、エッジリストのX方向
の差分DX”が3以下(=差分DX”が2桁以内)かつ
Y方向の差分DY’が1以下(=差分DY’が1桁以
内)の場合には、次のスキャン対象をエッジリストと
する。これにより、中間コード画像データを記憶するた
めのメモリ使用量を削減することができる。
Here, in FIG. 17A, assuming that the edge list of the current scan target is, there are two edge lists of the next scan target. If the difference DX ′ between the edge list and the edge list in the X direction is 3 or less (= difference DX ′ is within 2 digits), the next scan target is the edge list. on the other hand,
The difference DX ′ in the X direction of the edge list is larger than 3 (= difference DX ′ is 3 digits or more), the difference DX ″ in the X direction of the edge list is 3 or less (= difference DX ″ is 2 digits or less), and When the difference DY ′ is 1 or less (= the difference DY ′ is within one digit), the next scan target is the edge list. As a result, the amount of memory used for storing the intermediate code image data can be reduced.

【0086】上記ステップ358〜366の処理は未処
理のエッジリストが1つになるまで継続され、未処理の
エッジリストが1つになると、ステップ368、370
でその最後のエッジリストに対するスキャンとスキャン
で得られた情報に基づく中間コード画像データの再生成
とを実行して、処理を終了する。
The processing of steps 358 to 366 is continued until the unprocessed edge list becomes one, and when the unprocessed edge list becomes one, steps 368 and 370.
Then, the scan for the last edge list and the regeneration of the intermediate code image data based on the information obtained by the scan are executed, and the processing is ended.

【0087】このようにオブジェクトの種類がフォント
や白黒のグラフィックスである場合は、重なりを除去し
た後の形状がかなり複雑な形状になる可能性があるの
で、次の走査対象となりうるエッジリストとの距離に応
じて走査方向をエッジリスト毎に主走査線方向又は副走
査線方向に切り替えてエッジリストを走査することが望
ましい。より距離が短いエッジリストへ向かう方向を、
走査方向として走査することにより、エッジリストにお
ける隣接するエッジリストまでの距離情報のデータ量を
少なくすることができるので、記憶するためのメモリサ
イズを小さくしメモリを節約することができる。
As described above, when the type of object is a font or black-and-white graphics, the shape after the overlap is removed may be a considerably complicated shape. It is desirable to switch the scanning direction for each edge list to the main scanning line direction or the sub-scanning line direction in accordance with the distance of 1 to scan the edge list. The direction to the shorter edge list is
By scanning in the scanning direction, the data amount of the distance information to the adjacent edge list in the edge list can be reduced, so that the memory size for storing can be reduced and the memory can be saved.

【0088】さらに、オブジェクトがカラーグラフィッ
クスの場合に進むステップ312では、図15に示す中
間コード画像データ再生成処理3のサブルーチンが実行
される。この中間コード画像データ再生成処理3は、エ
ッジリストを副走査方向に沿って走査することにより、
該エッジリストから中間コード画像データを再作成する
ものである。
Further, in step 312 which proceeds when the object is color graphics, a subroutine of intermediate code image data regeneration processing 3 shown in FIG. 15 is executed. This intermediate code image data regeneration processing 3 scans the edge list along the sub-scanning direction,
The intermediate code image data is recreated from the edge list.

【0089】具体的には、図15のステップ382では
対象のスキャンライン(最初は先頭のスキャンライン)
に未処理のエッジリストが存在するか否かを判定し、未
処理のエッジリストが存在すれば、主走査方向にみて当
該スキャンライン上の最初のエッジリストに対して、エ
ッジリストのスキャン(ステップ384)及びスキャン
で得られた情報に基づく中間コード画像データの再生成
(ステップ386)を実行する。
Specifically, in step 382 of FIG. 15, the scan line of interest (first scan line at the beginning)
If there is an unprocessed edge list in the scan list, and if there is an unprocessed edge list in the main scan direction, the edge list scan (step 384) and regenerating intermediate code image data based on the information obtained by scanning (step 386).

【0090】そして、次のステップ388で対象のスキ
ャンラインが最後のスキャンラインであるか否かを判定
し、最後のスキャンラインでない場合はステップ390
で対象のスキャンラインとして次のスキャンラインをセ
ットした後、ステップ382へ戻り、ステップ382〜
386の処理を実行する。但し、対象のスキャンライン
に未処理のエッジリストが存在しない場合は、ステップ
394で全スキャンラインに対し処理済でないことを確
認した後、ステップ396で対象のスキャンラインとし
て次のスキャンラインをセットし、ステップ382へ戻
る。
Then, in the next step 388, it is determined whether or not the target scan line is the last scan line, and if it is not the last scan line, step 390.
After setting the next scan line as the target scan line in step 382, the process returns to step 382 and steps 382 to 382.
The process of 386 is executed. However, if there is no unprocessed edge list in the target scan line, it is confirmed in step 394 that all the scan lines have not been processed, and then in step 396, the next scan line is set as the target scan line. , And returns to step 382.

【0091】このようにして全スキャンラインにおいて
最初の未処理のエッジリストに対してのみ、エッジリス
トのスキャン(ステップ384)及びスキャンで得られ
た情報に基づく中間コード画像データの再生成(ステッ
プ386)を実行していく。これにより、エッジリスト
を副走査方向に沿って走査することになる。
In this way, only for the first unprocessed edge list in all scan lines, the edge list is scanned (step 384) and the intermediate code image data is regenerated based on the information obtained by the scan (step 386). ) Is executed. As a result, the edge list is scanned along the sub-scanning direction.

【0092】さらに、各スキャンラインにおいて最初の
未処理のエッジリストに対する処理を完了した後は、ス
テップ392で対象のスキャンラインとして最初のスキ
ャンラインをセットしてステップ382へ戻り、各スキ
ャンラインにおいて2番目の未処理のエッジリストに対
する処理を実行していく。
Further, after the processing for the first unprocessed edge list in each scan line is completed, the first scan line is set as the target scan line in step 392, and the process returns to step 382 to set 2 in each scan line. The process for the th unprocessed edge list is executed.

【0093】このようにして、例えば図16(C)に示
す、、・・・の順番で、エッジリストが副走査方
向に沿って走査され中間コード画像データが再生成され
る。
In this manner, the edge list is scanned along the sub-scanning direction in the order of, for example, as shown in FIG. 16C, and the intermediate code image data is regenerated.

【0094】このようにオブジェクトの種類がカラーグ
ラフィックスである場合は、白黒のグラフィックスの場
合と異なり、他のオブジェクトとの重なりを除去しても
矩形になる確率が高いので、副走査線方向を走査方向と
してエッジリストを走査すれば、該エッジリストを例え
ば矩形のディスプレイリストや連続性を表すファンクシ
ョンを用いた符号等の、データ量が少ない中間コード画
像データとして再作成することができ、記憶するための
メモリサイズを小さくしメモリを節約することができ
る。
In this way, when the type of object is color graphics, unlike the case of black and white graphics, there is a high probability that a rectangle will be formed even if the overlap with other objects is removed. If the edge list is scanned with the scanning direction as, the edge list can be recreated as intermediate code image data with a small data amount, such as a rectangular display list or a code using a function representing continuity. The memory size can be reduced and the memory can be saved.

【0095】図12の主ルーチンでは、各オブジェクト
の種類に応じて、以上説明した中間コード画像データ再
生成処理1〜3の何れか1つの処理が各オブジェクト毎
に実行されていく。そして、全オブジェクトに対し中間
コード画像データ再生成処理が完了し、他に重畳図形処
理が必要なバンドが無い場合(図12のステップ315
で否定判定された場合)には、ステップ316へ進み、
ステップ308、310、312で再生成された中間コ
ード画像データをラスタデータへ変換し、次のステップ
318でラスタデータをプリント出力する。なお、ステ
ップ315で他に重畳図形処理が必要なバンドが有る場
合は、ステップ302へ戻り、当該バンドに対してステ
ップ302以降の処理を実行する。
In the main routine of FIG. 12, any one of the intermediate code image data regeneration processes 1 to 3 described above is executed for each object according to the type of each object. Then, when the intermediate code image data regeneration processing has been completed for all objects and there is no other band for which superimposed graphic processing is required (step 315 in FIG. 12).
If the determination is negative in step), proceed to step 316,
The intermediate code image data regenerated in steps 308, 310, and 312 is converted into raster data, and in the next step 318, the raster data is printed out. If there is another band that needs the superimposed graphic processing in step 315, the process returns to step 302 and the processing of step 302 and subsequent steps is executed for the band.

【0096】以上のような第1実施形態によれば、オブ
ジェクトの種類に応じて、走査方向を主走査線方向とす
るモード、走査方向を副走査線方向とするモード、走査
方向を所定の切替条件に応じてエッジリスト毎に主走査
線方向又は副走査線方向に切り替えるモードの何れか1
つのモードに切り替えて、更新された各オブジェクト毎
のエッジリストを走査して、該エッジリストから中間コ
ード画像データを各オブジェクト毎に再作成することに
より、中間コード画像データのデータ量を削減できるの
で、メモリ使用量を削減し且つ出力時におけるラスタデ
ータへの展開処理速度を向上させることができる。
According to the first embodiment described above, depending on the type of object, the mode in which the scanning direction is the main scanning line direction, the mode in which the scanning direction is the sub-scanning line direction, and the scanning direction are predetermined switching. Either of the modes for switching to the main scanning line direction or the sub scanning line direction for each edge list according to the condition 1
It is possible to reduce the data amount of the intermediate code image data by switching to one of the modes, scanning the updated edge list for each object, and recreating the intermediate code image data from the edge list for each object. It is possible to reduce the memory usage and improve the rasterization processing speed for raster data at the time of output.

【0097】ところで、前述した中間コード画像データ
再生成処理3では、処理の高速化を図るため、図18
(A)、(B)に示す各スキャンライン毎のエッジリス
トの数を保持するバンド幅のカウントテーブル70と、
各スキャンラインの先頭のエッジリストへのポインタを
保持するバンド幅のポインタテーブル80とを採用して
も良い。
By the way, in the above-described intermediate code image data regeneration processing 3, in order to speed up the processing, the processing shown in FIG.
A band width count table 70 for holding the number of edge lists for each scan line shown in FIGS.
A bandwidth pointer table 80 that holds a pointer to the leading edge list of each scan line may be adopted.

【0098】図18(A)には1回分の副走査線方向の
スキャンを行う前のカウントテーブル70、ポインタテ
ーブル80の内容を、図18(B)には1回分の副走査
線方向のスキャンを行った後のカウントテーブル70、
ポインタテーブル80の内容を、それぞれ示している。
FIG. 18A shows the contents of the count table 70 and the pointer table 80 before performing one scan in the sub-scanning line direction, and FIG. 18B shows one scan in the sub-scanning line direction. Count table 70 after the
The contents of the pointer table 80 are shown respectively.

【0099】まず、カウントテーブル70を参照して0
でないスキャンラインを求め、カウントテーブル70の
内容が0でない場合には、そのスキャンラインのポイン
タテーブル80を参照し、先頭のエッジリストへのポイ
ンタを得る。
First, referring to the count table 70, 0
If the count table 70 is not 0, the pointer table 80 of the scan line is referred to obtain a pointer to the leading edge list.

【0100】なお、図18(A)のライン2においてポ
インタテーブル80のアドレスはマスクへのポインタと
なっているが、これはポインタテーブル80が指し示す
マスクとマスクが指し示すエッジリストとが隣接してい
るためであり、各エッジリストのスキャン後において不
要になったエッジリストは次のオブジェクトに対しマス
クに変換するが、前後のマスクと隣接する場合において
は一つのマスクにまとめるためによる。
In line 2 of FIG. 18A, the address of the pointer table 80 is a pointer to the mask, which is adjacent to the mask pointed to by the pointer table 80 and the edge list pointed to by the mask. This is because the edge list that is no longer needed after scanning each edge list is converted into a mask for the next object, but is combined into one mask when adjacent to the masks before and after.

【0101】スキャンを終えたエッジリストはマスクに
変換され、カウントテーブル70の値を1つ減算し、減
算した結果が0でない場合には、同一スキャンライン上
の次のエッジリストへのポインタを求め、このポインタ
値によってポインタテーブル80の値を更新する(ただ
し、エッジリストの一つ前のマスクとエッジリストとが
隣接する場合には、該一つ前のマスクへのポインタをポ
インタテーブル80に設定する)。
The edge list after scanning is converted into a mask, the value of the count table 70 is subtracted by one, and if the result of the subtraction is not 0, the pointer to the next edge list on the same scan line is obtained. , The value of the pointer table 80 is updated with this pointer value (however, when the mask immediately before the edge list and the edge list are adjacent to each other, the pointer to the mask immediately before is set in the pointer table 80). To).

【0102】同様に、次のスキャンラインに対し処理を
行い、最後のスキャンラインまで処理を繰り返すことに
より、1回分の副走査線方向のスキャン処理が完了す
る。
Similarly, by performing processing for the next scan line and repeating the processing until the last scan line, one scan processing in the sub-scan line direction is completed.

【0103】なお、重畳図形処理の対象オブジェクトを
構成するエッジリストが存在するスキャンラインの最小
値と最大値(図18(A)、(B)に示す有効スキャン
ライン幅)を保持することにより、その範囲のスキャン
ラインのカウントテーブル70にのみアクセスを行えば
良いので、さらに高速なスキャン処理が可能となる。
By holding the minimum value and the maximum value (the effective scan line width shown in FIGS. 18A and 18B) of the scan line in which the edge list constituting the object of the superimposed graphic processing exists, Since it suffices to access only the count table 70 of the scan lines in that range, it is possible to perform a faster scanning process.

【0104】また、上記実施形態では、重畳図形処理と
して、特願平8−276652号にて提案した重畳図形
処理を採用した例を示したが、これに限定されるもので
はなく、その他の重畳図形処理を採用しても良い。
Further, in the above embodiment, an example in which the superposed graphic processing proposed in Japanese Patent Application No. 8-276652 is adopted as the superposed graphic processing is shown, but the present invention is not limited to this, and other superposed graphic processing. Graphic processing may be adopted.

【0105】[第2実施形態]次に、特許請求の範囲に
記載した請求項4〜7の発明に対応する第2実施形態を
説明する。なお、第2実施形態における画像処理装置の
構成は、第1実施形態と同様であるので、説明を省略す
る。
[Second Embodiment] Next, a second embodiment corresponding to the inventions of claims 4 to 7 set forth in the claims will be described. Note that the configuration of the image processing apparatus according to the second embodiment is the same as that of the first embodiment, so description thereof will be omitted.

【0106】(オブジェクトの細分化についての説明)
図19には、一つのオブジェクト50に複数のオブジェ
クト60が上書きされた場合を示すが、ここで、上層の
オブジェクト60と下層のオブジェクト50がともに矩
形のグラフィックスの場合に(ただし、色が異なる)、
矩形の中間コード画像データフォーマットで表現した場
合(高さと幅がともに上記矩形の中間コード画像データ
フォーマットの範囲内とする)、下層のグラフィックス
は1個の矩形の中間コード画像データ、上層のグラフィ
ックスは23個の矩形の中間コード画像データで表現さ
れる(合計24個)。
(Description of Object Subdivision)
FIG. 19 shows a case where a plurality of objects 60 are overwritten on one object 50. Here, when both the upper layer object 60 and the lower layer object 50 are rectangular graphics (however, the colors are different). ),
When expressed in the rectangular intermediate code image data format (both the height and the width are within the range of the rectangular intermediate code image data format), the lower layer graphics is one rectangular intermediate code image data, the upper layer graphic. The space is represented by 23 rectangular intermediate code image data (24 in total).

【0107】次に、上記のグラフィックスが存在するバ
ンドに対し、第1実施形態で説明した重畳図形処理が実
行された場合を考える。
Next, consider a case where the superimposed graphic process described in the first embodiment is executed for a band in which the above graphics exist.

【0108】図20には下層のオブジェクト50に対し
て、前述した重畳図形処理が実行された直後の状態を示
す。この図20より明らかなように、重畳図形処理の対
象である下層のオブジェクトより上層のオブジェクトは
マスク62となり、オブジェクトにおけるマスク62と
重ならない部分が重なり除去後の下層のオブジェクト5
2となる。これにより、上層の23個のオブジェクトと
下層の24個のオブジェクトとで合計47個の矩形の中
間コード画像データとなり、重畳図形処理により中間コ
ード画像データのメモリ使用量が約2倍に増加すること
になる。
FIG. 20 shows a state immediately after the above-described superimposed graphic process is executed on the lower layer object 50. As is clear from FIG. 20, the upper layer object than the lower layer object that is the target of the superimposed graphic processing is the mask 62, and the portion of the object that does not overlap with the mask 62 overlaps and the lower layer object 5 after removal.
It becomes 2. As a result, the 23 objects in the upper layer and the 24 objects in the lower layer form a total of 47 rectangular intermediate code image data, and the memory usage amount of the intermediate code image data is approximately doubled by the superimposed graphic processing. become.

【0109】但し、展開処理での重なり部分の無駄なメ
モリへの書き込みが減少するので、処理時間が長くなる
ことはないが、中間コード画像データのメモリ使用量が
増加するという問題は残る。
However, since unnecessary writing to the memory in the overlapping portion in the expansion processing is reduced, the processing time does not become long, but the problem that the memory usage amount of the intermediate code image data increases remains.

【0110】しかし、もし下層のオブジェクトがイメー
ジの場合には、上層のオブジェクトにより細分化された
部分を矩形の中間コード画像データで表現することがで
きないので(クリップ情報である中間コード画像データ
が主走査線方向および副走査線方向にソーティングされ
ていないため、イメージをアドレス順に高速に呼び出す
ことができず、飛び飛びのアドレスで読み出すか、アド
レス順に矩形の中間コード画像データ分読み出す必要が
ある)、エッジリストの集合体の中間コード画像データ
となる。
However, if the lower layer object is an image, the subdivided portion by the upper layer object cannot be represented by the rectangular intermediate code image data (the intermediate code image data which is clip information is mainly used. Since it is not sorted in the scanning line direction and the sub-scanning line direction, the image cannot be called up at high speed in the address order, and it is necessary to read it at discrete addresses or to read rectangular intermediate code image data in the address order), edge It becomes the intermediate code image data of the list aggregate.

【0111】ここで、エッジリストの個数は、主走査線
方向に24個、副走査線方向にはそのオブジェクトの高
さに等しいスキャンライン数分となる。例えば、高さを
40スキャンライン分とすると、エッジリストの総数は
960個(=24×40)となり、重畳図形処理前は1
個の矩形の中間コード画像データで表現されていたもの
が、重畳図形処理後においては960個のエッジリスト
を持つ中間コード画像テータとなり、これにより急激に
メモリ使用量が増大する。また、イメージをアドレス順
に高速に呼び出すことは可能であるが、最終的には一つ
一つのエッジリストでクリップされたイメージをメモリ
に書き込むことになるので展開処理時間が遅くなる。
Here, the number of edge lists is 24 in the main scanning line direction and the number of scan lines in the sub scanning line direction is equal to the height of the object. For example, assuming that the height is 40 scan lines, the total number of edge lists is 960 (= 24 × 40), which is 1 before the superimposed graphic processing.
What was represented by the rectangular intermediate code image data becomes an intermediate code image data having 960 edge lists after the superposed graphic processing, which causes a sudden increase in memory usage. Further, although it is possible to call the images at high speed in the order of addresses, finally, the images clipped by each edge list are written in the memory, so that the expansion processing time becomes slow.

【0112】そこで、本第2実施形態では、オブジェク
トの種類が重畳図形処理に適さない種類(具体的にはイ
メージ)である場合には、該オブジェクトに対する重な
り処理を行わないよう制御する。以下の作用にて、その
ような制御処理を説明する。
Therefore, in the second embodiment, when the type of the object is not suitable for the superimposed graphic processing (specifically, image), the overlapping processing for the object is controlled not to be performed. The control operation will be described with the following operation.

【0113】(第2実施形態の作用)以下、オブジェク
トの種類がイメージである場合のみ、該オブジェクトに
対する重なり処理を行わないよう制御する処理を図23
のフローチャートに沿って説明する。
(Operation of Second Embodiment) Hereinafter, only when the type of the object is an image, the processing for controlling the overlapping processing for the object will be described with reference to FIG.
A description will be given according to the flowchart in FIG.

【0114】図23のステップ402において処理範囲
として、1ページを副走査方向に沿って複数に分割した
バンドを設定し、次のステップ404で対象オブジェク
トのエッジリストを読み出し該オブジェクトのY座標の
範囲(YS 〜YE )を検知する。そして、次のステップ
406では、設定したバンド内に対象オブジェクトが存
在するか否かを判定する。
In step 402 of FIG. 23, a band obtained by dividing one page into a plurality of parts along the sub-scanning direction is set as the processing range, and in the next step 404, the edge list of the target object is read and the range of the Y coordinate of the object is set. detecting a (Y S ~Y E). Then, in the next step 406, it is determined whether or not the target object exists in the set band.

【0115】ここで、バンド内に対象オブジェクトが存
在する場合、ステップ408へ進み、対象オブジェクト
がイメージであるか否かを判定する。ここで、対象オブ
ジェクトがイメージ以外である場合は、ステップ410
へ進み、前述した重畳図形処理を実行する。一方、対象
オブジェクトがイメージ以外である場合は、ステップ4
12へ進み、前述した重畳図形処理と同様の要領でマス
クエッジリストを作成しリスト記憶部11に保存する。
即ち、図21に示すマスク64に対応するマスクエッジ
リストを生成し保存する。
Here, when the target object exists in the band, the process proceeds to step 408, and it is determined whether the target object is an image. Here, if the target object is not an image, step 410.
Then, the process proceeds to step S4 and the above-mentioned superimposed graphic process is executed. On the other hand, if the target object is not an image, step 4
In step 12, the mask edge list is created and stored in the list storage unit 11 in the same manner as in the superposed graphic processing described above.
That is, the mask edge list corresponding to the mask 64 shown in FIG. 21 is generated and stored.

【0116】そして、次のステップ414でリスト記憶
部11内の作業用の保持ブロックに中間コード画像デー
タ(重なりを除去していない中間コード画像データ)を
一時的に保持する。
Then, in the next step 414, the intermediate code image data (intermediate code image data from which overlap is not removed) is temporarily held in the work holding block in the list storage section 11.

【0117】なお、イメージについてはもとの中間コー
ド画像データの形態を保持しているので、その中間コー
ド画像データをバンドに対応した中間コード画像データ
保持ブロックの先頭に保持することにより、イメージが
イメージ以外のオブジェクトよりも先に描画されるの
で、プリント出力される画像におけるオブジェクトの上
下関係は保証される。換言すれば、イメージをイメージ
以外のオブジェクトよりも後に描画して、イメージより
も上層にあるべきオブジェクトがイメージにより上書き
されてしまうことを未然に防ぐことができる。
Since the image retains the original form of the intermediate code image data, the intermediate code image data is retained at the beginning of the intermediate code image data retaining block corresponding to the band, so that the image is formed. Since the objects other than the image are drawn before the objects, the vertical relationship of the objects in the image to be printed out is guaranteed. In other words, the image can be drawn after the object other than the image to prevent the object, which should be above the image, from being overwritten by the image.

【0118】以後、バンド内に存在する各対象オブジェ
クトに対して、ステップ404〜414の処理を実行し
ていく。そして、バンド内に存在する全対象オブジェク
トに対して処理が完了すると、ステップ418へ進み、
オブジェクトがイメージの場合(即ち、重畳図形処理を
行いたくないオブジェクトの場合)のみ、図22に示す
ように描画順を入れ替えて且つ図24(B)に示すよう
にイメージ以外の中間コード画像データ98よりも先
に、作業用の保持ブロックに保持されたイメージの中間
コード画像データ96をリスト記憶部11内の正規の保
持ブロックに保持する(なお、イメージの中間コード画
像データに対し重畳図形処理を行った場合、図24
(A)に示すようにイメージ以外の中間コード画像デー
タ98の方が、重畳図形処理済のイメージの中間コード
画像データ96よりも先に保持されることがあった)。
Thereafter, the processes of steps 404 to 414 are executed for each target object existing in the band. Then, when the processing is completed for all the target objects existing in the band, the process proceeds to step 418,
Only when the object is an image (that is, when the superimposed graphic processing is not desired to be performed), the drawing order is changed as shown in FIG. 22 and the intermediate code image data 98 other than the image as shown in FIG. Prior to this, the intermediate code image data 96 of the image held in the work holding block is held in the regular holding block in the list storage unit 11 (note that the superimposing graphic processing is performed on the intermediate code image data of the image. If done, FIG. 24
As shown in (A), the intermediate code image data 98 other than the image may be held before the intermediate code image data 96 of the image on which the superimposed graphic processing has been performed).

【0119】以後、ステップ402〜418の処理を全
てのバンドのオブジェクトに対して処理が完了した時点
で、図23の処理を終了する。
After that, when the processes of steps 402 to 418 are completed for all the band objects, the process of FIG. 23 is terminated.

【0120】このように、重畳図形処理を実行すること
が適切でないオブジェクト(イメージ)については重畳
図形処理を行わないよう制御するので、オブジェクトの
細分化による中間コード画像データのメモリ使用量の増
加および展開処理速度の低下を防止することができる。
As described above, since the object (image) for which it is not appropriate to execute the superimposed graphic processing is controlled so as not to be processed, the memory usage of the intermediate code image data is increased due to the subdivision of the object. It is possible to prevent the expansion processing speed from decreasing.

【0121】また、重なりを除去していないイメージの
中間コード画像データについては、作業用の保持ブロッ
クに一時的に保持し、バンド内に存在する全対象オブジ
ェクトに対して処理が完了した後、図22に示すよう
に、描画順を入れ替えて、該作業用の保持ブロックに保
持された中間コード画像データを正規の保持ブロックに
保持するので、仮にイメージが1つのバンド内に複数存
在する場合でも、下層側のイメージによって上層側のイ
メージが上書きされてしまうことはなく、描画順を正常
に保つことができる。
The intermediate code image data of the image in which the overlap is not removed is temporarily held in the work holding block, and after the processing is completed for all target objects in the band, As shown in 22, since the drawing order is changed and the intermediate code image data held in the work holding block is held in the regular holding block, even if a plurality of images exist in one band, The image on the upper layer side is not overwritten by the image on the lower layer side, and the drawing order can be normally maintained.

【0122】なお、重なり処理を行わないオブジェクト
(例えば、上記ではイメージ)が複数存在する場合に
は、それらのオブジェクト間でのみ重畳図形処理を行う
ようにしても良い。このように重なり処理を行わなかっ
たオブジェクト間での重畳図形処理が正常に終了した場
合には、図22に示すような描画順を入れ替えた上での
中間コード画像データの再書き込み処理は不要になり、
処理効率を向上させることができる。
When there are a plurality of objects (for example, images in the above) for which the overlapping processing is not performed, the superimposed graphic processing may be performed only between those objects. When the superimposed graphic processing between the objects for which the overlapping processing has not been performed normally ends in this way, the rewriting processing of the intermediate code image data after changing the drawing order as shown in FIG. 22 becomes unnecessary. Becomes
The processing efficiency can be improved.

【0123】また、重畳図形処理を行わない条件として
は、オブジェクトの種類以外にも、対象オブジェクトと
他のオブジェクトとの重なり具合を挙げることができ
る。例えば、重なり具合が図19のような場合には、各
エッジリストがマスクにより切断される回数をカウント
し、そのカウント値がある値以上の場合には細分化が発
生していると見なし、そのオブジェクトの重なり処理は
行わないように制御することが望ましい。
Further, as the condition for not performing the superimposed graphic processing, besides the type of object, the degree of overlap between the target object and another object can be mentioned. For example, when the degree of overlap is as shown in FIG. 19, the number of times each edge list is cut by the mask is counted, and when the count value is equal to or more than a certain value, it is considered that subdivision has occurred, and It is desirable to control so that overlapping processing of objects is not performed.

【0124】このように他のオブジェクトとの重なり具
合が所定レベル以上のオブジェクトについて重畳図形処
理を禁止することにより、オブジェクトの細分化による
中間コード画像データのメモリ使用量の増加および展開
処理速度の低下を未然に防止することができる。
In this way, by prohibiting the superimposed graphic processing for an object whose degree of overlap with another object is a predetermined level or higher, the memory usage of the intermediate code image data increases due to the subdivision of the object and the expansion processing speed decreases. Can be prevented in advance.

【0125】[0125]

【発明の効果】以上説明したように、請求項1〜4記載
の発明によれば、更新されたエッジリストを適切な走査
方向に沿って走査することで中間コード画像データを再
作成するので、中間コード画像データのデータ量を削減
でき、メモリ使用量を削減し且つ出力時におけるラスタ
データへの展開処理速度を向上させることができる。
As described above, according to the present invention, the intermediate code image data is recreated by scanning the updated edge list along the appropriate scanning direction. It is possible to reduce the data amount of the intermediate code image data, reduce the memory usage amount, and improve the rasterization processing speed for raster data at the time of output.

【0126】また、請求項5記載の発明によれば、重畳
図形処理を実行することが適切でないオブジェクトにつ
いては重畳図形処理を禁止するので、オブジェクトの細
分化による中間コード画像データのメモリ使用量の増加
および展開処理速度の低下を防止することができる。
According to the invention of claim 5, the superimposing graphic processing is prohibited for an object for which it is not appropriate to execute the superimposing graphic processing. It is possible to prevent an increase and a decrease in the expansion processing speed.

【0127】また、請求項6記載の発明によれば、他の
オブジェクトとの重なり具合が所定レベル以上のオブジ
ェクトについては重畳図形処理を禁止するので、オブジ
ェクトの細分化による中間コード画像データのメモリ使
用量の増加および展開処理速度の低下を未然に防止する
ことができる。
Further, according to the invention of claim 6, the superimposing graphic processing is prohibited for an object having a degree of overlap with another object of a predetermined level or more, so that the memory use of the intermediate code image data by subdividing the object is used. It is possible to prevent an increase in the amount and a decrease in the expansion processing speed.

【0128】また、請求項7記載の発明によれば、重畳
図形処理が禁止されるオブジェクトが複数存在する場合
には、重畳図形処理が禁止されるオブジェクト間での
み、重畳図形処理を実行するよう制御するので、中間コ
ード画像データを一時的に作業用メモリに記憶した後、
描画順を入れ替えて中間コード画像データを正規のメモ
リに記憶し直す必要が無くなり、処理効率を向上させる
ことができる。また、特にオブジェクトがイメージの場
合には、クリップ情報を保持する中間コード画像データ
の削減のみならず、ソースデータの削減も可能となる。
According to the seventh aspect of the present invention, when there are a plurality of objects for which superposed graphic processing is prohibited, the superposed graphic processing is executed only between the objects for which superposed graphic processing is prohibited. Since it is controlled, after temporarily storing the intermediate code image data in the working memory,
It is not necessary to change the drawing order and store the intermediate code image data in the regular memory again, and the processing efficiency can be improved. Further, especially when the object is an image, not only the intermediate code image data holding the clip information but also the source data can be reduced.

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

【図1】第1、第2実施形態における画像処理装置の機
能ブロック図である。
FIG. 1 is a functional block diagram of an image processing apparatus according to first and second embodiments.

【図2】重畳図形処理の概要を示す図である。FIG. 2 is a diagram showing an outline of superposed graphic processing.

【図3】複数の図形(オブジェクト)が重ね書きされた
描画領域を示す図である。
FIG. 3 is a diagram showing a drawing area in which a plurality of figures (objects) are overwritten.

【図4】エッジリスト及びマスクの構造を示す図であ
る。
FIG. 4 is a diagram showing a structure of an edge list and a mask.

【図5】マスクエッジと元図形エッジとで座標を比較す
る処理を説明するための図であり、(A)は(MSX>
EX)である場合の処理を、(B)は(MSX≧SX)
且つ(MEX>EX)且つ(MSX≦EX)である場合
の処理を、(C)は(MSX≦SX)且つ(MEX≧E
X)である場合の処理を、(D)は(MSX≧SX)且
つ(MEX≦EX)である場合の処理を、(E)は(M
SX≦SX)且つ(MEX<EX)且つ(MEX≧S
X)である場合の処理を、(F)は(MEX<SX)で
ある場合の処理を、それぞれ説明するための図である。
FIG. 5 is a diagram for explaining a process of comparing coordinates between a mask edge and an original figure edge, and (A) shows (MSX>
EX), the process of (B) is (MSX ≧ SX)
And (MEX> EX) and (MSX ≦ EX), (C) is (MSX ≦ SX) and (MEX ≧ E).
X), processing (D) is (MSX ≧ SX) and (MEX ≦ EX), (E) is (M
SX ≦ SX) and (MEX <EX) and (MEX ≧ S
FIG. 4 is a diagram for explaining a process in the case of X) and a process in the case of (F) (MEX <SX).

【図6】重畳図形処理のメインルーチンを示す流れ図で
ある。
FIG. 6 is a flowchart showing a main routine of superposed graphic processing.

【図7】サブルーチンAを示す流れ図である。FIG. 7 is a flowchart showing a subroutine A.

【図8】サブルーチンBを示す流れ図である。FIG. 8 is a flowchart showing a subroutine B.

【図9】サブルーチンDを示す流れ図である。FIG. 9 is a flowchart showing a subroutine D.

【図10】サブルーチンEを示す流れ図である。FIG. 10 is a flowchart showing a subroutine E.

【図11】サブルーチンFを示す流れ図である。FIG. 11 is a flowchart showing a subroutine F.

【図12】第1実施形態におけるメインルーチンを示す
流れ図である。
FIG. 12 is a flow chart showing a main routine in the first embodiment.

【図13】中間コード画像データ再生成処理1のサブル
ーチンを示す流れ図である。
FIG. 13 is a flowchart showing a subroutine of intermediate code image data regeneration processing 1.

【図14】中間コード画像データ再生成処理2のサブル
ーチンを示す流れ図である。
FIG. 14 is a flowchart showing a subroutine of intermediate code image data regeneration processing 2;

【図15】中間コード画像データ再生成処理3のサブル
ーチンを示す流れ図である。
FIG. 15 is a flowchart showing a subroutine of intermediate code image data regeneration processing 3.

【図16】(A)は中間コード画像データ再生成処理1
におけるエッジリストの走査順序を示す図であり、
(B)は中間コード画像データ再生成処理2におけるエ
ッジリストの走査順序を示す図であり、(C)は中間コ
ード画像データ再生成処理3におけるエッジリストの走
査順序を示す図である。
FIG. 16A is an intermediate code image data regeneration processing 1
It is a diagram showing a scanning order of the edge list in
FIG. 9B is a diagram showing the scanning order of the edge list in the intermediate code image data regeneration processing 2, and FIG. 8C is a diagram showing the scanning order of the edge list in the intermediate code image data regeneration processing 3.

【図17】(A)は中間コード画像データ再生成処理2
においてエッジリスト間の距離に基づいてエッジリスト
の走査方向を決める処理を説明するための図であり、
(B)はエッジリストを表現する中間コード画像データ
フォーマットの一例を示す図である。
FIG. 17A is an intermediate code image data regeneration processing 2
FIG. 6 is a diagram for explaining a process of determining the scanning direction of the edge list based on the distance between the edge lists in FIG.
(B) is a diagram showing an example of an intermediate code image data format expressing an edge list.

【図18】中間コード画像データ再生成処理3における
エッジリストのスキャンを高速に行うために使用するカ
ウントテーブル及びポインタテーブルを示す図であり、
(A)はスキャンする前のカウントテーブル及びポイン
タテーブルを示す図であり、(B)は1回スキャンした
後のカウントテーブル及びポインタテーブルを示す図で
ある。
FIG. 18 is a diagram showing a count table and a pointer table used for high speed scanning of an edge list in the intermediate code image data regeneration processing 3;
(A) is a diagram showing a count table and a pointer table before scanning, and (B) is a diagram showing a count table and a pointer table after one scanning.

【図19】一つのオブジェクト上に多数のオブジェクト
が上書きされた状態を示す図である。
FIG. 19 is a diagram showing a state in which many objects are overwritten on one object.

【図20】重畳図形処理により下層のオブジェクトが細
分化された状態を示す図である。
FIG. 20 is a diagram showing a state in which an object in a lower layer is subdivided by superimposing graphic processing.

【図21】重畳図形処理を行いたくないオブジェクト
(イメージ)がマスク化された状態を示す図である。
FIG. 21 is a diagram showing a state in which an object (image) which is not desired to be subjected to superposed graphic processing is masked.

【図22】重畳図形処理を行いたくないオブジェクト
(イメージ)の中間コード画像データが複数存在する場
合に、該複数の中間コード画像データを保持する方法を
示す図である。
FIG. 22 is a diagram showing a method of holding a plurality of intermediate code image data when there are a plurality of intermediate code image data of an object (image) for which superimposing graphic processing is not desired.

【図23】第2実施形態におけるメインルーチンを示す
流れ図である。
FIG. 23 is a flowchart showing a main routine in the second embodiment.

【図24】(A)は従来の中間コード画像データの保持
方法を示す図であり、(B)は第2実施形態における重
畳図形処理を行いたくないオブジェクト(イメージ)の
中間コード画像データの保持方法を示す図である。
FIG. 24A is a diagram showing a conventional method for holding intermediate code image data, and FIG. 24B is a method for holding intermediate code image data of an object (image) for which superimposition graphic processing is not desired in the second embodiment. It is a figure which shows the method.

【符号の説明】 10 画像処理装置 11 リスト記憶部 12 上位処理部 14 重畳図形処理部 16 展開部 26 バンドバッファ 30 プリンタエンジン[Explanation of symbols] 10 Image processing device 11 List storage 12 Upper processing unit 14 Superposed figure processing unit 16 Development Department 26 band buffer 30 printer engine

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 所定の描画領域に所定の描画順序に従っ
て層状に描画される複数のオブジェクトの各々を表した
ページ記述データを中間コード画像データに変換する変
換手段と、 変換された各オブジェクト毎の中間コード画像データを
メモリに記憶する記憶手段と、 前記各オブジェクト毎の中間コード画像データにより表
される画像領域の重なりが無くなるように、中間コード
画像データに対応した所定の走査ライン毎のエッジリス
トを、オブジェクトの描画順序を遡って各オブジェクト
毎に作成し、作成された各オブジェクト毎のエッジリス
トによって前記記憶された各オブジェクト毎の中間コー
ド画像データを更新する更新手段と、 所定の条件に応じて走査方向を切り替えて、前記更新手
段により更新された各オブジェクト毎のエッジリストを
走査することにより、該エッジリストから中間コード画
像データを各オブジェクト毎に再作成する再作成手段
と、 を有する画像処理装置。
1. A conversion unit for converting page description data representing each of a plurality of objects drawn in layers in a predetermined drawing area in a predetermined drawing order into intermediate code image data, and for each converted object. A storage unit for storing the intermediate code image data in a memory, and an edge list for each predetermined scanning line corresponding to the intermediate code image data so that the image area represented by the intermediate code image data for each object does not overlap. Is created for each object by tracing the drawing order of the objects, and updating means for updating the stored intermediate code image data for each object by the created edge list for each object, and according to predetermined conditions. The scan direction to switch the edge direction for each object updated by the updating means. An image processing apparatus comprising: a re-creating unit that re-creates the intermediate code image data for each object from the edge list by scanning the strike list.
【請求項2】 前記所定の条件は、オブジェクトの種類
であることを特徴とする請求項1記載の画像処理装置。
2. The image processing apparatus according to claim 1, wherein the predetermined condition is a type of object.
【請求項3】 前記再作成手段は、前記所定の条件に応
じて、走査方向を主走査線方向とするモード、走査方向
を副走査線方向とするモード、走査方向を所定の切替条
件に応じてエッジリスト毎に主走査線方向又は副走査線
方向に切り替えるモードの何れか1つのモードに切り替
えることを特徴とする請求項1又は請求項2に記載の画
像処理装置。
3. The re-creating means responds to a predetermined scanning condition in a mode in which the scanning direction is a main scanning line direction, a scanning direction is a sub scanning line direction, and a scanning direction in a predetermined switching condition according to the predetermined condition. The image processing apparatus according to claim 1, wherein the edge list is switched to any one of a main scanning line direction and a sub-scanning line direction for each edge list.
【請求項4】 前記所定の切替条件は、走査対象のエッ
ジリストと次の走査対象となりうるエッジリストとの距
離であることを特徴とする請求項3記載の画像処理装
置。
4. The image processing apparatus according to claim 3, wherein the predetermined switching condition is a distance between an edge list to be scanned and an edge list to be scanned next.
【請求項5】 所定の描画領域に所定の描画順序に従っ
て層状に描画される複数のオブジェクトの各々を表した
ページ記述データを中間コード画像データに変換する変
換手段と、 変換された各オブジェクト毎の中間コード画像データを
メモリに記憶する記憶手段と、 前記各オブジェクト毎の中間コード画像データにより表
される画像領域の重なりが無くなるように、中間コード
画像データに対応した所定の走査ライン毎のエッジリス
トを、オブジェクトの描画順序を遡って各オブジェクト
毎に作成し、作成された各オブジェクト毎のエッジリス
トによって前記記憶された各オブジェクト毎の中間コー
ド画像データを更新する重畳図形処理を実行する図形処
理手段と、 オブジェクトの種類が特定の種類である場合に、該オブ
ジェクトに対する重畳図形処理を禁止するよう制御する
制御手段と、 を有する画像処理装置。
5. A conversion unit for converting page description data representing each of a plurality of objects drawn in layers in a predetermined drawing area in a predetermined drawing order into intermediate code image data, and for each converted object. A storage unit for storing the intermediate code image data in a memory, and an edge list for each predetermined scanning line corresponding to the intermediate code image data so that the image area represented by the intermediate code image data for each object does not overlap. A graphic processing means for executing superimposing graphic processing for updating the intermediate code image data of each object stored by the created edge list of each object by tracing the drawing order of the objects And if the object type is a specific type, An image processing apparatus comprising: a control unit that controls to inhibit tatami graphic processing.
【請求項6】 所定の描画領域に所定の描画順序に従っ
て層状に描画される複数のオブジェクトの各々を表した
ページ記述データを中間コード画像データに変換する変
換手段と、 変換された各オブジェクト毎の中間コード画像データを
メモリに記憶する記憶手段と、 前記各オブジェクト毎の中間コード画像データにより表
される画像領域の重なりが無くなるように、中間コード
画像データに対応した所定の走査ライン毎のエッジリス
トを、オブジェクトの描画順序を遡って各オブジェクト
毎に作成し、作成された各オブジェクト毎のエッジリス
トによって前記記憶された各オブジェクト毎の中間コー
ド画像データを更新する重畳図形処理を実行する図形処
理手段と、 複数のオブジェクト間の重なり具合が所定レベル以上で
ある場合に、前記複数のオブジェクトに対する重畳図形
処理を禁止するよう制御する制御手段と、 を有する画像処理装置。
6. A conversion unit for converting page description data representing each of a plurality of objects drawn in layers in a predetermined drawing area in a predetermined drawing order into intermediate code image data, and for each converted object. A storage unit for storing the intermediate code image data in a memory, and an edge list for each predetermined scanning line corresponding to the intermediate code image data so that the image area represented by the intermediate code image data for each object does not overlap. A graphic processing means for executing superimposing graphic processing for updating the intermediate code image data of each object stored by the created edge list of each object by tracing the drawing order of the objects If the degree of overlap between multiple objects is above a certain level, An image processing apparatus comprising: a control unit configured to control a superposed graphic process for a number of objects.
【請求項7】 前記制御手段は、重畳図形処理が禁止さ
れるオブジェクトが複数存在する場合、該重畳図形処理
が禁止されるオブジェクト間でのみ、前記図形処理手段
により重畳図形処理を実行するよう制御することを特徴
とする請求項5又は請求項6に記載の画像処理装置。
7. The control means controls, when there are a plurality of objects for which superposed graphic processing is prohibited, to execute superposed graphic processing by the graphic processing means only between objects for which the superposed graphic processing is prohibited. The image processing apparatus according to claim 5, wherein the image processing apparatus comprises:
JP23154197A 1997-08-27 1997-08-27 Image processing device Expired - Fee Related JP3362641B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23154197A JP3362641B2 (en) 1997-08-27 1997-08-27 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23154197A JP3362641B2 (en) 1997-08-27 1997-08-27 Image processing device

Publications (2)

Publication Number Publication Date
JPH1173516A JPH1173516A (en) 1999-03-16
JP3362641B2 true JP3362641B2 (en) 2003-01-07

Family

ID=16925123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23154197A Expired - Fee Related JP3362641B2 (en) 1997-08-27 1997-08-27 Image processing device

Country Status (1)

Country Link
JP (1) JP3362641B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4772604B2 (en) * 2006-06-30 2011-09-14 三菱電機株式会社 Vector graphic drawing apparatus and program thereof

Also Published As

Publication number Publication date
JPH1173516A (en) 1999-03-16

Similar Documents

Publication Publication Date Title
US6466229B1 (en) Graphics processing apparatus and graphics processing method
EP0654759B1 (en) Printing apparatus
US8723884B2 (en) Scan converting a set of vector edges to a set of pixel aligned edges
JP4022710B2 (en) Drawing processor
JPH09185721A (en) Image forming device
JP2610993B2 (en) Information processing apparatus and method
JP3362641B2 (en) Image processing device
JP3391228B2 (en) Image processing method and image processing apparatus
JPH01277055A (en) Method for generating raster data for multilevel plotting
JP3085036B2 (en) Image output device
JP3085175B2 (en) Drawing equipment
JP2002334341A (en) Image processor
JP4775723B2 (en) Image processing apparatus and image processing program
JP4345609B2 (en) Image processing apparatus and program
JP3211417B2 (en) Page description language processor
JP3450961B2 (en) Printing apparatus and control method thereof
JP3266905B2 (en) Graphic processing unit
JP4125245B2 (en) Document display method and document display apparatus
JP3843794B2 (en) Graphic processing device
JP3450958B2 (en) Printing apparatus and printing method
AU2016277671A1 (en) Method of controlling memory usage in a graphics rendering system
JP2002024840A (en) Drawing processing device
JPH06175639A (en) Method and device for character generation
JP3618834B2 (en) Information processing apparatus and memory control method
JP3359166B2 (en) Printer device and line segment division drawing method of printer device

Legal Events

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

Free format text: PAYMENT UNTIL: 20071025

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081025

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091025

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101025

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111025

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees