JP2006350466A - Image processor and image processing method - Google Patents

Image processor and image processing method Download PDF

Info

Publication number
JP2006350466A
JP2006350466A JP2005172780A JP2005172780A JP2006350466A JP 2006350466 A JP2006350466 A JP 2006350466A JP 2005172780 A JP2005172780 A JP 2005172780A JP 2005172780 A JP2005172780 A JP 2005172780A JP 2006350466 A JP2006350466 A JP 2006350466A
Authority
JP
Japan
Prior art keywords
image data
intermediate code
code image
data
contour
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.)
Granted
Application number
JP2005172780A
Other languages
Japanese (ja)
Other versions
JP4706345B2 (en
Inventor
Hiroshi Okubo
宏 大久保
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
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 filed Critical Fuji Xerox Co Ltd
Priority to JP2005172780A priority Critical patent/JP4706345B2/en
Publication of JP2006350466A publication Critical patent/JP2006350466A/en
Application granted granted Critical
Publication of JP4706345B2 publication Critical patent/JP4706345B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processor and an image processing method for generating intermediate code image data for each plotting processing instruction, and for re-generating the intermediate code image data for forming an image corresponding to an object shown by page description data even if a logical arithmetic instruction or a clip instruction is included in the intermediate code image data, and for reducing the data quantity of the intermediate code image data. <P>SOLUTION: The intermediate code image data generated for each plotting processing instruction and stored in a memory are successively interpreted in the order of generation, and the plotting processing instruction included in each intermediate code image data is determined, and the generation of outline data and the re-generation of the intermediate code image data are executed based on the discrimination result. In detail, the generation processing of the outline data and the re-generation processing of the intermediate code image data are executed based on the plotting processing instruction of the intermediate code image data. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、画像処理装置及び画像処理方法に係り、所定の描画順序に従って層状に描画される複数のオブジェクトの各々を表した中間コード画像データに基づいてラスタデータを生成する画像処理装置及び画像処理方法に関する。   The present invention relates to an image processing apparatus and an image processing method, and relates to an image processing apparatus and image processing for generating raster data based on intermediate code image data representing each of a plurality of objects drawn in layers according to a predetermined drawing order. Regarding the method.

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

従来、描画されるオブジェクトを表したページ記述データに基づいてラスタデータを生成し、かつ1ページ分、或いは複数ページ分に相当するラスタデータを展開するメモリを保有しておらず、その代わりに1ページを複数のバンドに分割して、そのバンドのサイズに相当する描画領域を複数備えた画像処理装置において、オブジェクトのページ記述データを中間コード画像データに変換した後、該中間コード画像データに基づいてラスタデータを生成する方法が提案されている。中間コード画像データは、オブジェクトを少ないデータ量で表現できるという利点を有しており、上記の方法により画像処理で使用するメモリを節約することができるが、その一方で、オブジェクト毎に中間コード画像データを生成するため、グラデーションなどの多量のオブジェクトで構成される描画に対しては、大量の中間コード画像データを生成してしまい、中間コード画像データの総量が対象とする描画領域のメモリ量より大きくなってしまうということが発生し、またオブジェクト間の重なり領域もそのまま中間コード画像データに変換しているため、ラスタデータの生成時に多大な時間を要するという問題がある。   Conventionally, there is no memory for generating raster data based on page description data representing an object to be drawn and developing raster data corresponding to one page or a plurality of pages. In an image processing apparatus that divides a page into a plurality of bands and includes a plurality of drawing areas corresponding to the size of the band, the page description data of the object is converted into intermediate code image data, and then based on the intermediate code image data A method of generating raster 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 the image processing can be saved by the above method. On the other hand, the intermediate code image for each object. Since data is generated, a large amount of intermediate code image data is generated for drawing composed of a large amount of objects such as gradation, and the total amount of intermediate code image data is larger than the amount of memory in the target drawing area. There is a problem that it takes a long time to generate raster data because the overlap area between objects is converted to intermediate code image data as it is.

このような中間コード画像データの問題点に対して、例えば、特許文献1では、ページ記述データからオブジェクト毎に中間コード画像データを生成して生成した中間コード画像データを記憶すると共に、記憶されたオブジェクト毎の中間コード画像データに基づいて、下層側に描画されるオブジェクトをマスクする上層側のオブジェクトの輪郭を表す輪郭データを最上層から下層側のオブジェクトに向かって遡って作成し、マスクされずに残った部分、すなわち各オブジェクトから各オブジェクトの上層側のオブジェクトの輪郭による輪郭領域を除いた部分により中間コード画像データを再生成することにより、オブジェクト毎の重なりをなくしている。   For example, in Patent Document 1, the intermediate code image data generated by generating the intermediate code image data for each object from the page description data is stored and stored. Based on the intermediate code image data for each object, contour data representing the contour of the upper layer object that masks the object drawn on the lower layer side is created from the top layer to the lower layer object, and is not masked. The intermediate code image data is regenerated from the remaining portion, that is, a portion obtained by excluding the contour region due to the contour of the object on the upper layer of each object, thereby eliminating the overlap for each object.

具体的には、一般的な描画処理技術では、図11(A)に示すように、所定の描画順序に従って層状に描画されるオブジェクト50A、50B、及び50Cの各々を順に層状に描画することによって複数のオブジェクト50A、50B、及び50Cが層状に描画された出力画像50Dを得る場合に、各オブジェクト50A、50B、及び50C毎に中間コード画像データ52A、52B、及び52C各々を生成して記憶していた。この場合、中間コード画像データを記憶するためのメモリには、各オブジェクトが層状に描画されたときにオブジェクト同士が重なりあう領域を含む中間コード画像データが重複して記憶されるため、メモリの記憶容量を大きくする必要があるという問題があった。   Specifically, in a general drawing processing technique, as shown in FIG. 11A, each of the objects 50A, 50B, and 50C drawn in layers according to a predetermined drawing order is sequentially drawn in layers. When obtaining an output image 50D in which a plurality of objects 50A, 50B, and 50C are drawn in layers, intermediate code image data 52A, 52B, and 52C are generated and stored for each object 50A, 50B, and 50C. It was. In this case, since the intermediate code image data including a region where the objects overlap each other when the objects are drawn in layers is stored in the memory for storing the intermediate code image data, the memory storage There was a problem that the capacity had to be increased.

このような問題に対応するために、特許文献1の技術では、各オブジェクトの中間コード画像データ毎に、各オブジェクトより上層側に描画されるオブジェクトの領域との重なり領域を各オブジェクトから除外した中間コード画像データとなるように、中間コード画像データを再生成する。   In order to deal with such a problem, in the technique of Patent Document 1, for each intermediate code image data of each object, an intermediate area in which an overlapping area with an object area drawn on the upper layer side of each object is excluded from each object. The intermediate code image data is regenerated so as to be code image data.

詳細には、図11(B)に示すように、オブジェクトの描画順に遡って中間コード画像データを再生成し、中間コード画像データの再生成時には、最上層側のオブジェクトの中間コード画像データから順に下層側に描画されるオブジェクト向かって、各オブジェクトの中間コード画像データから、輪郭データを保持するための輪郭データ保持領域に格納されている輪郭データの輪郭領域を除去することによって、中間コード画像データを再生成する。   Specifically, as shown in FIG. 11B, the intermediate code image data is regenerated retroactively in the drawing order of the objects, and when the intermediate code image data is regenerated, the intermediate code image data of the object on the uppermost layer is sequentially Intermediate code image data by removing the outline area of the outline data stored in the outline data holding area for holding outline data from the intermediate code image data of each object toward the object drawn on the lower layer side Is regenerated.

輪郭データ保持領域に格納される輪郭データは、各中間コード画像データの再生成処理が行われた後に、輪郭データ生成処理によって更新されて、積層されるオブジェクトに対応する中間コード画像データの再生成処理が実行される度にクリアされる。輪郭データ保持領域には、図11(C)に示すように、再生成される前の中間コード画像データ(元中間コード画像データという)各々に基づいて、下層側に描画されるオブジェクトをマスクする上層側のオブジェクトの少なくとも輪郭を示す輪郭データが生成されて格納され、中間コード画像データの再生成処理が行われる度に、オブジェクトの描画順に遡って次の再生成処理対象となる中間コード画像データのオブジェクトの輪郭データを、前回生成した輪郭データに含めた輪郭データが生成されて輪郭データ保持領域に格納される。   The contour data stored in the contour data holding area is regenerated by the contour data generation process after each intermediate code image data is regenerated, and the intermediate code image data corresponding to the objects to be stacked is regenerated. Cleared every time the process is executed. In the contour data holding area, as shown in FIG. 11C, an object drawn on the lower layer side is masked based on each intermediate code image data (referred to as original intermediate code image data) before being regenerated. Intermediate code image data that is generated and stored at least the outline of the object on the upper layer side, and is the next regeneration process target in the drawing order of the object every time the regeneration process of the intermediate code image data is performed The contour data including the contour data of the object in the previously generated contour data is generated and stored in the contour data holding area.

このため、中間コード画像データ再処理時には、処理対象となる中間コード画像データから、この中間コード画像データのオブジェクトの上層側に描画されるすべてのオブジェクトによって表される輪郭データ領域を除いた中間コード画像データが再生成される。   Therefore, when the intermediate code image data is reprocessed, the intermediate code obtained by removing the contour data area represented by all objects drawn on the upper layer side of the intermediate code image data object from the intermediate code image data to be processed Image data is regenerated.

画像描画時には、オブジェクト毎に再生成された中間コード画像データに基づいて、所定の描画順序に従って描画することによって、一般的な描画処理によって得られる出力画像50Dと一致するような出力画像50Eを得ることができる。   At the time of image drawing, an output image 50E that matches the output image 50D obtained by a general drawing process is obtained by drawing according to a predetermined drawing order based on the intermediate code image data regenerated for each object. be able to.

この技術により、描画データを形成する過程で使用する作業用メモリのメモリ容量を少なく抑えることができ、かつ無駄なメモリへの書き込みがなくなるため、中間コード画像データからラスタデータを生成する時間が大幅に短縮される。
特開平10−177657号広報
With this technology, the memory capacity of the working memory used in the process of forming the drawing data can be reduced, and unnecessary writing to the memory is eliminated, so the time for generating the raster data from the intermediate code image data is greatly increased. Shortened to
Japanese Laid-Open Patent Publication No. 10-177657

上記従来技術では、中間コード画像データをオブジェクト毎に生成しているが、近年、描画処理に関する描画処理命令毎に中間コード画像データを生成する記述が普及している。描画処理命令には、所定の描画領域を上書きする上書き命令、対象となる描画領域をクリップするクリップ命令、所定の描画領域について論理演算を実行するための論理演算命令等がある。このような描画処理命令毎に中間コード画像データを生成した場合には、中間コード画像データは、オブジェクトを形成するための部品としての描画領域と描画処理命令を含むデータとなる。このように、中間コード画像データに描画処理命令としてクリップ命令や論理演算命令が含まれる場合に、上記従来技術を適用させて、中間コード画像データ毎に輪郭データを生成して、下層側の中間コード画像データからこの輪郭データ領域を削除するようにして中間コード画像データを再生成し、再生成された中間コード画像データに基づいて描画処理を行うと、複数の中間コード画像データ各々に示される描画領域によって1つのオブジェクトを生成する場合であっても、描画領域毎に生成された輪郭データに基づいて再生成された中間コード画像データに応じた描画処理が行われるため、得られる出力画像は、一般的な描画処理によって得られる出力画像とは異なるという問題がある。   In the above-described prior art, intermediate code image data is generated for each object. However, in recent years, descriptions for generating intermediate code image data for each drawing processing command related to drawing processing have become widespread. The drawing processing command includes an overwrite command for overwriting a predetermined drawing region, a clip command for clipping a target drawing region, a logical operation command for executing a logical operation on the predetermined drawing region, and the like. When intermediate code image data is generated for each drawing processing command, the intermediate code image data is data including a drawing area as a component for forming an object and a drawing processing command. As described above, when the intermediate code image data includes a clip instruction or a logical operation instruction as a drawing processing instruction, the above-described conventional technique is applied to generate contour data for each intermediate code image data, When the intermediate code image data is regenerated so as to delete the contour data area from the code image data, and drawing processing is performed based on the regenerated intermediate code image data, each of the plurality of intermediate code image data is indicated. Even when one object is generated by the drawing area, since the drawing process is performed according to the intermediate code image data regenerated based on the contour data generated for each drawing area, the output image obtained is There is a problem that it is different from an output image obtained by a general drawing process.

具体的には、図12(B)に示すように、オブジェクトの描画順に遡って中間コード画像データを再生成し、中間コード画像データの再生成時には、最上層側のオブジェクトに応じた描画領域の中間コード画像データから順に下層側に描画されるオブジェクトに応じた描画領域に向かって、各中間コード画像データから、輪郭データを保持するための輪郭データ保持領域に格納されている輪郭データの輪郭領域を除去することによって、中間コード画像データを再生成する。   Specifically, as shown in FIG. 12B, the intermediate code image data is regenerated retroactively in the drawing order of the objects, and when the intermediate code image data is regenerated, the drawing area corresponding to the object on the uppermost layer side is regenerated. From the intermediate code image data toward the drawing area corresponding to the object drawn on the lower layer side in order, the outline area of the outline data stored in the outline data holding area for holding the outline data from each intermediate code image data The intermediate code image data is regenerated by removing.

中間コード画像データにクリップ命令が含まれている場合には、例えば、図12(B)に示すように、クリップ開始命令及びクリップするクリップ領域を表す描画領域を含む中間コード画像データ54B、クリップされる描画領域と該描画領域の一部を下層側の描画領域(オブジェクトに対応する描画領域)に上書きする上書命令を含む中間コード画像データ54C、及びクリップ終了を表すクリップ終了命令を含む中間コード画像データ54Dが生成される。   When the intermediate code image data includes a clip command, for example, as shown in FIG. 12B, the intermediate code image data 54B including the clip start command and the drawing area indicating the clip area to be clipped is clipped. Intermediate code image data 54C including an overwriting instruction for overwriting a drawing area and a part of the drawing area to a lower drawing area (drawing area corresponding to the object), and an intermediate code including a clip end instruction indicating clip end Image data 54D is generated.

このような中間コード画像データについて、上記従来技術を適用させると、中間コード画像データの生成順に遡って各オブジェクトの中間コード画像データから、輪郭データを保持するための輪郭データ保持領域に格納されている輪郭データの輪郭領域を除去することによって、中間コード画像データを再生成する。なお、一般的に、クリップ命令を含む中間コード画像データは、クリップ元となる描画領域を含む中間コード画像データやオブジェクトに対応する描画領域を含む中間コード画像データとは異なる領域に格納される。このため、クリップ命令を含む中間コード画像データを再生成するときには、輪郭データを削除せずに別領域に格納されている中間コード画像データをそのまま再生成された中間コード画像データとして扱う。   When the above-described conventional technique is applied to such intermediate code image data, the intermediate code image data of each object is stored in the contour data holding area for holding the contour data from the generation order of the intermediate code image data. The intermediate code image data is regenerated by removing the outline region of the existing outline data. In general, the intermediate code image data including the clip command is stored in an area different from the intermediate code image data including the drawing area serving as the clip source and the intermediate code image data including the drawing area corresponding to the object. For this reason, when the intermediate code image data including the clip command is regenerated, the intermediate code image data stored in another region is handled as it is as the regenerated intermediate code image data without deleting the contour data.

輪郭データ保持領域に格納される輪郭データは、各中間コード画像データの再生成処理が行われる度に更新され、輪郭データ保持領域には、図12(C)に示すように、再生成される前の中間コード画像データ(以下、元中間コード画像データという)各々に基づいて、下層側に描画される描画領域をマスクする上層側の描画領域の少なくとも輪郭を示す輪郭データが生成されて格納され、中間コード画像データの再生成処理が行われる度に、元中間コード画像データの描画領域の輪郭データを、前回生成した輪郭データに含めた輪郭データが生成されて輪郭データ保持領域に格納される。   The contour data stored in the contour data holding area is updated every time the intermediate code image data is regenerated, and the contour data holding area is regenerated as shown in FIG. Based on each of the previous intermediate code image data (hereinafter referred to as original intermediate code image data), contour data indicating at least the contour of the upper drawing area that masks the drawing area drawn on the lower layer side is generated and stored. Each time the intermediate code image data is regenerated, the contour data including the contour data of the original intermediate code image data in the previously generated contour data is generated and stored in the contour data holding region. .

このように、各中間コード画像データの描画領域に応じた輪郭データを生成して生成した輪郭データを前回生成した輪郭データに含め、この輪郭データ領域を上層側に描画されるオブジェクトの描画領域から除去すると、実際に積層されるオブジェクトではなくクリップ対象となるクリップ元としての描画領域の輪郭データ領域を上層側に描画されるオブジェクトの描画領域から除去することとなる。このため、再生成された中間コード画像データに基づいて、所定の描画順序に従って描画領域を描画すると、再生成前の中間コード画像データから一般的な描画処理によって得られる出力画像54Eとは異なる出力画像50Fが得られる、という問題があった。   In this way, the contour data generated by generating the contour data corresponding to the drawing region of each intermediate code image data is included in the previously generated contour data, and this contour data region is included from the drawing region of the object drawn on the upper layer side. When removed, the contour data area of the drawing area as the clip source to be clipped, not the object actually stacked, is removed from the drawing area of the object drawn on the upper layer side. For this reason, when a drawing area is drawn in accordance with a predetermined drawing order based on the regenerated intermediate code image data, an output different from the output image 54E obtained by general drawing processing from the intermediate code image data before the reproduction is generated. There was a problem that the image 50F was obtained.

また、中間コード画像データに論理演算命令が含まれている場合についても、上記従来技術を適用させて、描画処理命令(論理演算命令)毎に生成された中間コード画像データを再生成すると、複数の中間コード画像データ各々に示される描画領域の論理演算によって1つのオブジェクトを生成する場合であっても、描画領域毎に生成された輪郭データに基づいて再生成された中間コード画像データに応じた描画処理が行われるため、得られる出力画像は、一般的な描画処理によって得られる出力画像とは異なるという問題がある。   Also, in the case where a logical operation instruction is included in the intermediate code image data, if the intermediate code image data generated for each drawing processing instruction (logical operation instruction) is regenerated by applying the above-described conventional technique, a plurality of Even when one object is generated by a logical operation of the drawing area shown in each of the intermediate code image data, the intermediate code image data is regenerated based on the contour data generated for each drawing area. Since drawing processing is performed, there is a problem that an output image obtained is different from an output image obtained by general drawing processing.

具体的には、図13(B)に示すように、オブジェクトの描画順に遡って中間コード画像データを再生成し、中間コード画像データの再生成時には、最上層側のオブジェクトに応じた描画領域の中間コード画像データから順に下層側に描画されるオブジェクトに応じた描画領域に向かって、各中間コード画像データから、輪郭データを保持するための輪郭データ保持領域に格納されている輪郭データの輪郭領域を除去することによって、中間コード画像データを再生成する。   Specifically, as shown in FIG. 13B, the intermediate code image data is regenerated retroactively in the drawing order of the objects, and when the intermediate code image data is regenerated, the drawing area corresponding to the object on the uppermost layer side is regenerated. From the intermediate code image data toward the drawing area corresponding to the object drawn on the lower layer side in order, the outline area of the outline data stored in the outline data holding area for holding the outline data from each intermediate code image data The intermediate code image data is regenerated by removing.

中間コード画像データに論理演算命令が含まれている場合には、例えば、図13(B)に示すように、中間コード画像データとしては、オブジェクトに対応する描画領域と描画処理として上書き命令を含む中間コード画像データ60A、一連の論理演算によって1つのオブジェクトを生成するための複数の中間コード画像データ60B、60C、及び60Dが生成されている。例えば、中間コード画像データ60Bは、描画領域62Bと論理演算(XOR)を含み、中間コード画像データ60Cは、描画領域62Cと論理演算(AND)を含み、中間コード画像データ60Dは、描画領域62Dと論理演算(XOR)を含んでいる。   When the intermediate code image data includes a logical operation instruction, for example, as shown in FIG. 13B, the intermediate code image data includes a drawing area corresponding to the object and an overwrite instruction as a drawing process. Intermediate code image data 60A, and a plurality of intermediate code image data 60B, 60C, and 60D for generating one object by a series of logical operations are generated. For example, the intermediate code image data 60B includes a drawing area 62B and a logical operation (XOR), the intermediate code image data 60C includes a drawing area 62C and a logical operation (AND), and the intermediate code image data 60D includes a drawing area 62D. And logical operation (XOR).

このような論理演算命令を含む中間コード画像データについて、上記従来技術を適用させると、中間コード画像データの生成順に遡って各オブジェクトの中間コード画像データから、輪郭データを保持するための輪郭データ保持領域に格納されている輪郭データの輪郭領域を除去することによって、中間コード画像データを再生成する。   When the above-described conventional technique is applied to intermediate code image data including such a logical operation instruction, contour data holding for holding contour data from the intermediate code image data of each object is traced back in the generation order of the intermediate code image data. The intermediate code image data is regenerated by removing the contour region of the contour data stored in the region.

輪郭データ保持領域に格納される輪郭データは、各中間コード画像データの再生成処理が行われる度に更新され、輪郭データ保持領域には、図13(C)に示すように、再生成される前の中間コード画像データ(以下、元中間コード画像データという)各々に基づいて、下層側に描画される描画領域をマスクする上層側の描画領域の少なくとも輪郭を示す輪郭データが生成されて格納され、中間コード画像データの再生成処理が行われる度に、描画順に遡って次の再生成処理対象となる中間コード画像データの描画領域の輪郭データを、前回生成した輪郭データに含めた輪郭データが生成されて輪郭データ保持領域に格納される。   The contour data stored in the contour data holding area is updated every time the intermediate code image data is regenerated, and the contour data holding area is regenerated as shown in FIG. 13C. Based on each of the previous intermediate code image data (hereinafter referred to as original intermediate code image data), contour data indicating at least the contour of the upper drawing area that masks the drawing area drawn on the lower layer side is generated and stored. Each time the intermediate code image data is regenerated, the contour data including the contour data of the drawing area of the intermediate code image data to be regenerated next in the drawing order is included in the previously generated contour data. It is generated and stored in the contour data holding area.

このように、各中間コード画像データの描画領域に応じた輪郭データを生成して生成した輪郭データを前回生成した輪郭データに含め、この輪郭データ領域を上層側に描画される描画領域から除去すると、実際に積層されるオブジェクトではなく、一連の論理演算によって1つのオブジェクトを生成するための複数の中間コード画像データ60B、60C、及び60D各々の描画領域について輪郭データを生成して、上層側の描画領域の輪郭データに含めた輪郭データ領域を仮想側の描画領域から除去することとなる。このため、再生成された中間コード画像データに基づいて、所定の描画順序に従って描画領域を描画すると、再生成前の中間コード画像データから一般的な描画処理によって得られる出力画像60Eとは異なる出力画像60Fが得られる、という問題があった。   As described above, when the contour data generated by generating the contour data corresponding to the drawing region of each intermediate code image data is included in the previously generated contour data, the contour data region is removed from the drawing region drawn on the upper layer side. The contour data is generated for each of the drawing areas of the plurality of intermediate code image data 60B, 60C, and 60D for generating one object by a series of logical operations, not the objects actually stacked, and the upper layer side The outline data area included in the outline data of the drawing area is removed from the drawing area on the virtual side. For this reason, when a drawing area is drawn according to a predetermined drawing order based on the regenerated intermediate code image data, an output different from the output image 60E obtained by general drawing processing from the intermediate code image data before the reproduction is generated. There was a problem that the image 60F was obtained.

本発明は、上記問題点を解消するためになされたものであり、中間コード画像データが描画処理命令毎に生成され、且つ中間コード画像データに論理演算命令またはクリップ命令が含まれる場合であっても、ページ記述データによって示されるオブジェクトに応じた画像を形成するための中間コード画像データを生成することができるとともに、中間コード画像データのデータ量を削減することが可能な画像処理装置及び画像処理方法を提供することを目的とする。   The present invention has been made to solve the above-described problems, and is a case where intermediate code image data is generated for each drawing processing instruction, and the intermediate code image data includes a logical operation instruction or a clip instruction. In addition, the image processing apparatus and the image processing capable of generating intermediate code image data for forming an image corresponding to the object indicated by the page description data and reducing the data amount of the intermediate code image data. It aims to provide a method.

請求項1の画像処理装置は、所定の描画順序に従って層状に描画される複数のオブジェクトの各々を表すと共に各オブジェクトを描画するときの描画処理を表す描画処理命令を含むページ記述データを、描画処理命令毎に前記オブジェクトの描画順序に従って順次解釈し、描画処理命令とオブジェクトを表す描画領域またはオブジェクトを生成するための描画領域とを含む中間コード画像データに変換する変換する変換手段と、前記変換手段によって変換された中間コード画像データを描画処理命令毎に記憶する記憶手段と、前記中間コード画像データを前記中間コード画像データの生成順序を遡って前記記憶手段から順次読み取る読取手段と、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別を判別する判別手段と、前記判別手段による判別結果に基づいて、該描画領域の輪郭を表す輪郭データの輪郭データ領域を、前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成する輪郭データ生成手段と、前記読取手段によって読み取られた中間コード画像データを、該中間コード画像データの描画領域から前記輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成する中間コード画像データ再生成手段と、を備えている。   The image processing apparatus according to claim 1 represents page description data that represents each of a plurality of objects rendered in a layered manner in accordance with a predetermined rendering order and includes rendering processing instructions representing rendering processing when rendering each object. Conversion means for sequentially interpreting each instruction according to the drawing order of the objects, and converting the intermediate code image data including drawing processing instructions and a drawing area representing the object or a drawing area for generating the object; and the conversion means Storage means for storing the intermediate code image data converted by each drawing processing command, reading means for sequentially reading the intermediate code image data from the storage means by going back the generation order of the intermediate code image data, and the reading means The type of drawing command included in the intermediate code image data read by And a contour data generator for generating contour data including the contour data region of the contour data representing the contour of the drawing region in the contour data region of the previously generated contour data based on the determination result by the determination unit And the intermediate code image data read by the reading means is reproduced as intermediate code image data obtained by removing the contour data area of the contour data previously generated by the contour data generating means from the drawing area of the intermediate code image data. Intermediate code image data regenerating means.

請求項1に記載の画像処理装置の変換手段は、所定の描画順序に従って層状に描画される複数のオブジェクトの各々を表すと共に各オブジェクトを描画するときの描画処理を表す描画処理命令を含むページ記述データを、描画処理命令毎にオブジェクトの描画順序に従って順次解釈し、描画処理命令とオブジェクトを表す描画領域、または描画処理命令とオブジェクトを生成するための描画領域とを含む中間コード画像データに変換する。中間コード画像データに、描画処理命令とオブジェクトを表す描画領域が含まれる場合には、この中間コード画像データは描画されるオブジェクトに対応しているが、中間コード画像データに描画処理命令とオブジェクトを生成するための描画領域が含まれる場合には、この中間コード画像データは、複数の中間コード画像データに基づいて1つのオブジェクトを生成するためのデータである。なお、中間コード画像データとしては、エッジリストやディスプレイリスト等を適用することができる。   A page description including a rendering processing instruction that represents each of a plurality of objects rendered in layers according to a predetermined rendering order and represents rendering processing when rendering each object. The data is sequentially interpreted according to the drawing order of the object for each drawing processing command, and converted into intermediate code image data including the drawing processing command and the drawing area representing the object, or the drawing processing command and the drawing area for generating the object. . When the intermediate code image data includes a drawing process command and a drawing area representing an object, the intermediate code image data corresponds to the object to be drawn. When a drawing area for generation is included, this intermediate code image data is data for generating one object based on a plurality of intermediate code image data. An edge list, a display list, or the like can be applied as the intermediate code image data.

変換手段によって変換された中間コード画像データは、描画処理命令毎に記憶手段に記憶される。読取手段は、変換手段による中間コード画像データの生成順序に遡って中間コード画像データを記憶手段から順次読み取る。中間コード画像データは、変換手段によって、オブジェクトの描画順序に応じた描画処理命令順に生成されるので、読取手段によって、オブジェクトの描画順序に遡った描画処理命令順に読み取られる。   The intermediate code image data converted by the conversion means is stored in the storage means for each drawing processing command. The reading unit sequentially reads the intermediate code image data from the storage unit, going back to the generation order of the intermediate code image data by the conversion unit. Since the intermediate code image data is generated by the conversion means in the order of the drawing processing commands corresponding to the drawing order of the objects, the reading means reads the intermediate code image data in the order of the drawing processing instructions that go back to the drawing order of the objects.

判別手段によって、読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が判別されると、輪郭データ生成手段は、判別手段の判別結果に基づいて、読取手段により読み取られた中間コード画像データの描画領域の輪郭を表す輪郭データの輪郭データ領域を、前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成する。すなわち、判別手段による判別結果に基づいて、描画領域の上層側に描画される描画領域の輪郭を表す前回生成された輪郭データの輪郭データ領域に、読取手段によって読み取った描画領域の輪郭を表す輪郭データの輪郭データを加えるか否かを判別する。   When the discriminating unit determines the type of the drawing process command included in the intermediate code image data read by the reading unit, the contour data generating unit reads the intermediate data read by the reading unit based on the determination result of the discriminating unit. Contour data is generated by including the contour data region of the contour data representing the contour of the drawing region of the code image data in the contour data region of the contour data generated last time. That is, based on the determination result by the determination means, the contour representing the contour of the drawing area read by the reading means is added to the contour data area of the contour data generated last time representing the contour of the drawing area drawn on the upper layer side of the drawing area. It is determined whether or not data outline data is added.

中間コード画像データ再生成手段は、読取手段によって読み取られた中間コード画像データを、該中間コード画像データの描画領域から輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成する。   The intermediate code image data regenerating means is an intermediate code obtained by removing the intermediate code image data read by the reading means from the drawing area of the intermediate code image data and excluding the contour data area of the contour data previously generated by the contour data generating means. Regenerate as image data.

このように、描画処理命令毎に生成された中間コード画像データを中間コード画像データの生成順に遡って順次読取り、各中間コード画像データの描画処理命令の種類に基づいて、中間コード画像データの描画領域の輪郭を表す輪郭データを、該描画領域に応じたオブジェクトの上層側に描画されるオブジェクトに応じた描画領域の輪郭を表す前回生成された輪郭データに含めるか否かを判別して判別結果に基づいて輪郭データを生成すると共に、読取手段によって読み取った中間コード画像データを、この中間コード画像データの描画領域から前回輪郭データ生成手段によって生成された輪郭データの輪郭領域を除いた中間コード画像データとなるように再生成する。   In this way, the intermediate code image data generated for each drawing processing instruction is read sequentially in the order of generation of the intermediate code image data, and the intermediate code image data is drawn based on the type of drawing processing instruction for each intermediate code image data. A determination result by determining whether or not the contour data representing the contour of the region is included in the previously generated contour data representing the contour of the drawing region corresponding to the object drawn on the upper layer side of the object corresponding to the drawing region The intermediate code image is generated by generating the contour data based on the intermediate code image and excluding the contour region of the contour data generated by the previous contour data generating unit from the intermediate code image data drawing region. Regenerate to be data.

このため、再生成された中間コード画像データのデータ量を、再生成前の中間コード画像データのデータ量より少なくすることができ、記憶手段に記憶される中間コード画像データのデータ量を削減することができる。   Therefore, the data amount of the regenerated intermediate code image data can be made smaller than the data amount of the intermediate code image data before the regeneration, and the data amount of the intermediate code image data stored in the storage unit is reduced. be able to.

また、中間コード画像データの描画処理情報の種類に基づいて、中間コード画像データの描画領域の輪郭を表す輪郭データを、前回生成された輪郭データに含めるか否かを判別するので、複数の中間コード画像データによって1つのオブジェクトを生成するように、中間コード画像データに描画処理命令とオブジェクトを生成するための描画領域が含まれる場合に、各中間コード画像データから輪郭データが生成されることを抑制することができ、ページ記述データに応じて所定の描画順序に従って層状に複数のオブジェクトを描画したときに得られる画像と同一の画像が得られるような中間コード画像データを再生成することができる。   Further, since it is determined whether or not the contour data representing the contour of the rendering area of the intermediate code image data is included in the previously generated contour data based on the type of the rendering processing information of the intermediate code image data, a plurality of intermediate When the intermediate code image data includes a drawing processing instruction and a drawing area for generating an object so that one object is generated by the code image data, contour data is generated from each intermediate code image data. Intermediate code image data can be regenerated so that the same image as that obtained when a plurality of objects are drawn in layers according to a predetermined drawing order can be obtained according to the page description data .

請求項2の画像処理装置は、請求項1に記載の画像処理装置において、前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより該クリップ命令が有効なクリップ有効区間を特定する特定手段を含み、
前記輪郭データ生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記クリップ命令であると判別されたときに、前記特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから、該クリップ命令に応じて抽出した領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成し、
前記中間コード画像データ再生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記クリップ命令であると判別されたときに、前記特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから、該クリップ命令に応じて抽出した領域から前記輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた領域を描画領域とする中間コード画像データを再生成する。
The image processing apparatus according to claim 2 is the image processing apparatus according to claim 1, wherein the determination unit includes another intermediate code image in which the type of the drawing processing instruction included in the intermediate code image data read by the reading unit is other The intermediate code image data including a drawing area for generating the same object as the intermediate code image data when it is determined that it is a clip command representing extracting a partial area in the data drawing area Including a specifying means for specifying a clip valid section in which the clip command is valid by searching back in order,
The contour data generating means is specified by the specifying means when it is determined by the determining means that the type of the drawing process command included in the intermediate code image data read by the reading means is the clip command. From the plurality of intermediate code image data within the clip effective section, generate contour data including the contour data region representing the contour of the region extracted according to the clip command in the contour data region of the contour data generated previously,
The intermediate code image data regenerating means is determined by the specifying means when the determining means determines that the type of the drawing process command included in the intermediate code image data read by the reading means is the clip instruction. A region obtained by excluding the contour data region of the contour data previously generated by the contour data generation unit from the region extracted according to the clip command from the plurality of intermediate code image data within the specified clip effective section is defined as a drawing region. Intermediate code image data to be regenerated.

請求項2に記載の画像処理装置は、請求項1に記載の画像処理装置において、判別手段は、読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別したときに、この中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを、変換手段による中間コード画像データの生成順序に遡って検索することにより、このクリップ命令が有効なクリップ有効区間を特定する特定手段を含んでいる。輪郭データ生成手段は、判別手段によって読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別がクリップ命令であると判別されたときに、特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから、このクリップ命令に応じて抽出した領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成する。すなわち、輪郭データ生成手段は、特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データ各々について輪郭データを生成するのではなく、特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから1つの輪郭データを生成する。このとき生成する輪郭データは、クリップ命令に応じて抽出した領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データである。このため、輪郭データ生成手段は、判別手段によって、読取手段によって読み取られた中間コード画像データの描画処理命令の種別がクリップ命令であるときには、このクリップ命令を含む中間コード画像データと、この中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データと、から1つの輪郭データを生成するので、1つのオブジェクトに対応する複数の中間コード画像データから、このオブジェクトの輪郭を表す1つの輪郭データの輪郭データ領域を前回生成された輪郭データの輪郭データ領域に含めた輪郭データを生成することができる。   The image processing apparatus according to claim 2 is the image processing apparatus according to claim 1, wherein the determination unit includes another intermediate code image in which the type of the drawing processing instruction included in the intermediate code image data read by the reading unit is other When it is determined that the clip command indicates that a partial area within the data drawing area is to be extracted, the intermediate code image data including the drawing area for generating the same object as this intermediate code image data is converted. By searching retroactively to the generation order of the intermediate code image data by the means, the clip command includes a specifying means for specifying a valid clip valid section. The contour data generating means determines that the drawing processing command type included in the intermediate code image data read by the reading means by the determining means is a clip command, and is within the clip effective section specified by the specifying means. The contour data including the contour data region representing the contour of the region extracted according to the clip command from the plurality of intermediate code image data in the contour data region of the previously generated contour data is generated. That is, the contour data generating means does not generate contour data for each of the plurality of intermediate code image data in the clip effective section specified by the specifying means, but a plurality of intermediate in the clip effective section specified by the specifying means. One contour data is generated from the code image data. The contour data generated at this time is contour data including a contour data region representing the contour of the region extracted according to the clip command in the contour data region of the contour data generated last time. For this reason, the contour data generation means, when the type of the rendering process instruction of the intermediate code image data read by the reading means by the determination means is a clip instruction, the intermediate code image data including the clip instruction and the intermediate code Since one contour data is generated from the intermediate code image data including the drawing area for generating the same object as the image data, the contour of this object is determined from a plurality of intermediate code image data corresponding to one object. It is possible to generate contour data in which the contour data region of one contour data to be represented is included in the contour data region of the contour data generated last time.

中間コード画像データ再生成手段は、判別手段によって読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別がクリップ命令であると判別されたときに、特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから、このクリップ命令に応じて抽出した領域から輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた領域を描画領域とする中間コード画像データを再生成する。   The intermediate code image data regenerating unit is configured to enable the clip validity specified by the specifying unit when the determination unit determines that the type of the drawing processing command included in the intermediate code image data read by the reading unit is a clip command. Intermediate code image data in which a region obtained by excluding the contour data region of the contour data previously generated by the contour data generation unit from the region extracted according to the clip command from the plurality of intermediate code image data in the section is used as a drawing region Regenerate.

このように、描画処理命令の種別がクリップ命令であるときには、中間コード画像データ毎に輪郭データを生成するのではなく、このクリップ命令を含む中間コード画像データと同一のオブジェクトを生成するためのクリップ有効区間内の複数の中間コード画像データから、生成するオブジェクトの輪郭を表す1つの輪郭データの輪郭データ領域を前回生成された輪郭データの輪郭データ領域に含めた輪郭データを生成すると共に、このクリップ有効区間内の複数の中間コード画像データから、クリップ命令に応じて抽出した領域、すなわちオブジェクトを表す描画領域から前回生成された輪郭データの輪郭データを除いた領域を描画領域とする中間コード画像データを再生成することができる。   As described above, when the type of the drawing process command is the clip command, the clip for generating the same object as the intermediate code image data including the clip command is generated instead of generating the contour data for each intermediate code image data. The contour data including the contour data region of one contour data representing the contour of the object to be generated in the contour data region of the previously generated contour data is generated from a plurality of intermediate code image data within the valid section, and this clip Intermediate code image data whose drawing area is an area extracted from a plurality of intermediate code image data within an effective section in accordance with a clip command, that is, an area obtained by removing the outline data of the previously generated outline data from the drawing area representing the object. Can be regenerated.

従って、再生成された中間コード画像データのデータ量を、再生成前の中間コード画像データのデータ量より少なくすることができ、記憶手段に記憶される中間コード画像データのデータ量を削減することができると共に、ページ記述データに応じて所定の描画順序に従って層状に複数のオブジェクトを描画したときに得られる画像と同一の画像が得られるような中間コード画像データを再生成することができる。   Therefore, the data amount of the regenerated intermediate code image data can be made smaller than the data amount of the intermediate code image data before the regeneration, and the data amount of the intermediate code image data stored in the storage means is reduced. In addition, it is possible to regenerate intermediate code image data that can obtain the same image as that obtained when a plurality of objects are drawn in layers according to a predetermined drawing order according to the page description data.

請求項3に記載の画像処理装置は、請求項2に記載の画像処理装置において、前記輪郭データ生成手段は、前記輪郭データを生成した後に、描画処理命令の種別が前記クリップ命令の中間コード画像データを、前記記憶手段から削除する削除手段を含むようにすれば、さらに記憶手段の記憶容量を増加させることができる。   The image processing device according to claim 3 is the image processing device according to claim 2, wherein after the contour data generating unit generates the contour data, an intermediate code image whose drawing processing command type is the clip command is used. If a deletion means for deleting data from the storage means is included, the storage capacity of the storage means can be further increased.

請求項4に記載の画像処理装置は、請求項1に記載の画像処理装置において、前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより該論理演算命令が有効な論理演算区間を特定する特定手段と、前記特定手段によって特定された論理演算区間内の複数の中間コード画像データの内の論理演算命令としてクリップ情報を有する中間コード画像データを判定する判定手段と、を含み、前記輪郭データ生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記論理演算命令であると判別されたときに、前記判定手段によって判定された中間コード画像データの描画領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成し、前記中間コード画像データ再生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記論理演算命令であると判別されたときに、前記判定手段によって判定された中間コード画像データを、該中間コード画像データの描画領域から前記輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成し、前記判定手段によって判定された中間コード画像データ以外の前記特定手段によって特定された中間コード画像データを再生成後の中間コード画像データとすることができる。   The image processing apparatus according to claim 4 is the image processing apparatus according to claim 1, wherein the determination unit is configured such that a type of a drawing processing instruction included in the intermediate code image data read by the reading unit is a logical operation instruction. When the intermediate code image data including a drawing area for generating the same object as the intermediate code image data is retrieved retroactively to the generation order, the logical operation instruction is effective. Specifying means for specifying a section; and determining means for determining intermediate code image data having clip information as a logical operation command among a plurality of intermediate code image data in the logical operation section specified by the specifying means; The contour data generating means includes drawing data included in the intermediate code image data read by the reading means by the determining means. When it is determined that the type of processing instruction is the logical operation instruction, the outline data area representing the outline of the drawing area of the intermediate code image data determined by the determination means is used as the outline data area of the previously generated outline data. And the intermediate code image data regenerating unit determines that the type of the drawing processing instruction included in the intermediate code image data read by the reading unit is the logical operation command. The intermediate code image data determined by the determining means when the intermediate code image data obtained by removing the contour data area of the contour data previously generated by the contour data generating means from the drawing area of the intermediate code image data And the specifying means other than the intermediate code image data determined by the determining means Thus, it is possible to intermediate code image data after re-generate intermediate code image data specified.

請求項4に記載の画像処理装置は、請求項1に記載の画像処理装置において、判別手段は、読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別したときに、この中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを、中間コード画像データの生成順序に遡って検索することによりこの論理演算命令が有効な論理演算区間を特定する特定手段を含むことができる。また、判別手段は、特定手段によって特定された論理演算区間内の複数の中間コード画像データの内の論理演算命令としてクリップ情報を有する中間コード画像データを判定する判定手段を含むことができる。   According to a fourth aspect of the present invention, in the image processing apparatus according to the first aspect, the determining means is that the type of the drawing processing instruction included in the intermediate code image data read by the reading means is a logical operation instruction. This logical operation instruction is effective by searching the intermediate code image data including the drawing area for generating the same object as the intermediate code image data retroactively to the generation order of the intermediate code image data. A specific means for specifying a logical operation interval can be included. Further, the determining means can include a determining means for determining intermediate code image data having clip information as a logical operation instruction among a plurality of intermediate code image data in the logical operation section specified by the specifying means.

輪郭データ生成手段は、判別手段によって読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別されたときに、判定手段によって判定された、特定手段によって特定された論理演算区間内の複数の中間コード画像データの内の論理演算命令としてクリップ情報を有する中間コード画像データの描画領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成する。   The contour data generating means is determined by the specifying means determined by the determining means when it is determined that the type of the drawing processing instruction included in the intermediate code image data read by the reading means by the determining means is a logical operation instruction. The contour data region representing the contour of the drawing region of the intermediate code image data having clip information as the logical operation command of the plurality of intermediate code image data in the specified logical operation section is used as the contour data region of the previously generated contour data. The included contour data is generated.

また、中間コード画像データ再生成手段は、判別手段によって読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別されたときに、判定手段によって判定された中間コード画像データを、この中間コード画像データの描画領域から輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成する。また、中間コード画像データ再生成手段は、判定手段によって判定された中間コード画像データ以外の特定手段によって特定された中間コード画像データを、特別な処理を行うことなく再生成後の中間コード画像データとする。   The intermediate code image data regenerating unit is determined by the determining unit when it is determined that the type of the drawing processing instruction included in the intermediate code image data read by the reading unit by the determining unit is a logical operation instruction. The intermediate code image data is regenerated as intermediate code image data obtained by removing the contour data area of the contour data previously generated by the contour data generating means from the drawing area of the intermediate code image data. Further, the intermediate code image data regenerating unit reproduces the intermediate code image data identified by the identifying unit other than the intermediate code image data determined by the determining unit without performing special processing. And

このように、描画処理命令の種別が論理演算命令であるときには、中間コード画像データ毎に輪郭データを生成するのではなく、この論理演算命令を含む中間コード画像データと同一のオブジェクトを生成するための論理演算区間内の複数の中間コード画像データから、生成するオブジェクトの輪郭を表す1つの輪郭データの輪郭データ領域を前回生成された輪郭データの輪郭データ領域に含めた輪郭データを生成する。   As described above, when the type of the drawing processing instruction is a logical operation instruction, the contour data is not generated for each intermediate code image data, but the same object as the intermediate code image data including the logical operation instruction is generated. The contour data including the contour data region of one contour data representing the contour of the object to be generated in the contour data region of the previously generated contour data is generated from the plurality of intermediate code image data in the logical operation section.

従って、再生成された中間コード画像データのデータ量を、再生成前の中間コード画像データのデータ量より少なくすることができ、記憶手段に記憶される中間コード画像データのデータ量を削減することができると共に、ページ記述データに応じて所定の描画順序に従って層状に複数のオブジェクトを描画したときに得られる画像と同一の画像が得られるような中間コード画像データを再生成することができる。   Therefore, the data amount of the regenerated intermediate code image data can be made smaller than the data amount of the intermediate code image data before the regeneration, and the data amount of the intermediate code image data stored in the storage means is reduced. In addition, it is possible to regenerate intermediate code image data that can obtain the same image as that obtained when a plurality of objects are drawn in layers according to a predetermined drawing order according to the page description data.

請求項5に記載の画像処理装置は、請求項1に記載の画像処理装置において、前記判別手段による判別結果に基づいて、中間コード画像データの再生成を省略するように、前記中間コード画像データ再生成手段を制御する再生成省略制御手段を備えることができる。   The image processing device according to claim 5 is the image processing device according to claim 1, wherein the intermediate code image data is omitted so as not to regenerate the intermediate code image data based on a determination result by the determination unit. A regeneration omission control means for controlling the regeneration means can be provided.

詳細には、請求項6に記載の画像処理装置は、請求項1または請求項5に記載の画像処理装置において、前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより、該クリップ命令が有効なクリップ有効区間を特定する特定手段を含み、
前記再生成省略制御手段は、前記特定手段によって特定されたクリップ有効区間内の中間コード画像データについて、中間コード画像データの再生成を省略するように、前記中間コード画像データ再生成手段を制御することができる。
Specifically, the image processing apparatus according to claim 6 is the image processing apparatus according to claim 1 or 5, wherein the determination unit includes a drawing included in the intermediate code image data read by the reading unit. Drawing for generating the same object as the intermediate code image data when it is determined that the type of processing instruction is a clip command indicating that a partial area in the drawing area of other intermediate code image data is extracted A specifying means for specifying a clip valid section in which the clip command is valid by searching the intermediate code image data including the area retroactively to the generation order;
The re-generation omission control means controls the intermediate code image data re-generation means so as to omit the re-generation of the intermediate code image data for the intermediate code image data in the clip valid section specified by the specifying means. be able to.

このように、判別手段によって、読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が、他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別されたときに、特定手段は、この中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを、中間コード画像データの生成順序に遡って、このクリップ命令が有効なクリップ有効区間を特定する。再生成省略手段は、特定手段によって特定されたクリップ有効区間内の中間コード画像データについて、中間コード画像データの再生成を省略するように、中間コード画像データ再生成手段を制御する。   As described above, the discriminating unit indicates that the type of the drawing processing instruction included in the intermediate code image data read by the reading unit extracts a partial area in the drawing area of the other intermediate code image data. When it is determined that the intermediate code image data including the drawing area for generating the same object as the intermediate code image data is traced back to the generation order of the intermediate code image data, The clip valid section where the command is valid is specified. The regeneration regenerating means controls the intermediate code image data regenerating means so as to omit the regeneration of the intermediate code image data for the intermediate code image data within the clip valid section specified by the specifying means.

このように、判別手段によって、読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が、他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別されたときに、特定手段によって特定されたクリップ有効区間内の中間コード画像データの再生成を省略、すなわち行わないように、中間コード画像データ再生成手段を制御することができる。   As described above, the discriminating unit indicates that the type of the drawing processing instruction included in the intermediate code image data read by the reading unit extracts a partial area in the drawing area of the other intermediate code image data. When it is determined that the intermediate code image data in the clip valid section specified by the specifying means is not regenerated, that is, the intermediate code image data regenerating means can be controlled so as not to be performed.

このため、論理演算有効区間に対する中間コード画像データ再生成処理の効率化を図るとともに、中間コード画像データ再生成処理による負荷を軽減することができる。   Therefore, it is possible to improve the efficiency of the intermediate code image data regeneration process for the logical operation valid section and reduce the load caused by the intermediate code image data regeneration process.

請求項7に記載の画像処理装置は、請求項1または請求項5に記載の画像処理装置において、前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより該論理演算命令が有効な論理演算有効区間を特定する特定手段を含み、前記再生成省略制御手段は、前記特定手段によって特定された論理演算有効区間内の中間コード画像データについて、中間コード画像データの再生成を省略するように、前記中間コード画像データ再生成手段を制御することができる。   The image processing apparatus according to claim 7 is the image processing apparatus according to claim 1 or 5, wherein the determination unit includes a type of a drawing processing instruction included in the intermediate code image data read by the reading unit. Is determined to be a logic operation instruction, the intermediate operation code image data including a drawing area for generating the same object as the intermediate code image data is retrieved retroactively to the generation order to obtain the logical operation instruction. Including a specifying means for specifying a valid logical operation valid section, wherein the regeneration omitting control means omits the regeneration of the intermediate code image data for the intermediate code image data in the logical calculation effective section specified by the specifying means. As described above, the intermediate code image data regenerating means can be controlled.

請求項7に記載の判別手段によって、読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別されたときに、再生成省略制御手段は、特定手段によって特定された論理演算有効区間内の中間コード画像データの再生成を省略するように、中間コード画像データ再生成手段を制御することができる。   When the discrimination means according to claim 7 determines that the type of the drawing processing instruction included in the intermediate code image data read by the reading means is a logical operation instruction, the regeneration omission control means The intermediate code image data regeneration means can be controlled so as to omit the regeneration of the intermediate code image data within the logical operation valid section specified by the above.

このため、クリップ有効区間に対する中間コード画像データ再生成処理の効率化を図るとともに、中間コード画像データ再生成処理による負荷を軽減することができる。   Therefore, it is possible to improve the efficiency of the intermediate code image data regeneration process for the clip valid section and reduce the load caused by the intermediate code image data regeneration process.

なお、請求項8に記載の画像処理方法によって、中間コード画像データが描画処理命令毎に生成され、且つ中間コード画像データに論理演算命令またはクリップ命令が含まれる場合であっても、ページ記述データによって示されるオブジェクトに応じた画像を形成するための中間コード画像データを生成することができるとともに、中間コード画像データのデータ量を削減することが可能な画像処理方法を提供することができる。詳細には、所定の描画順序に従って層状に描画される複数のオブジェクトの各々を表すと共に各オブジェクトを描画するときの描画処理を表す描画処理命令を含むページ記述データを、描画処理命令毎に前記オブジェクトの描画順序に従って順次解釈し、描画処理命令とオブジェクトを表す描画領域またはオブジェクトを生成するための描画領域とを含む中間コード画像データに変換し、前記変換された中間コード画像データを描画処理命令毎に記憶し、前記中間コード画像データを前記中間コード画像データの生成順序を遡って順次読み取り、前記読み取った中間コード画像データに含まれる描画処理命令の種別を判別し、判別結果に基づいて、該描画領域の輪郭を表す輪郭データの輪郭データ領域を、前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成し、前記読み取った中間コード画像データを、該中間コード画像データの描画領域から前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成する。   Even if the intermediate code image data is generated for each drawing processing instruction and the intermediate code image data includes a logical operation instruction or a clip instruction by the image processing method according to claim 8, the page description data It is possible to provide an image processing method capable of generating intermediate code image data for forming an image corresponding to the object indicated by, and capable of reducing the data amount of the intermediate code image data. Specifically, page description data that represents each of a plurality of objects drawn in a layered manner in accordance with a predetermined drawing order and includes a drawing processing command that represents a drawing process when each object is drawn is displayed for each drawing processing command. Are sequentially interpreted in accordance with the drawing order of the image data, converted into intermediate code image data including a drawing processing instruction and a drawing area representing an object or a drawing area for generating an object, and the converted intermediate code image data is converted for each drawing processing instruction. The intermediate code image data is sequentially read back in the generation order of the intermediate code image data, the type of the drawing processing instruction included in the read intermediate code image data is determined, and based on the determination result, The contour data area of the contour data representing the contour of the drawing area is used as the contour data of the previously generated contour data. It generates contour data including the region, the intermediate code image data read above, re-generated as intermediate code image data excluding the contour data area of the contour data previously generated from the drawing region of the intermediate code image data.

以上説明したように、本発明の画像処理装置及び画像処理方法によれば、描画処理命令毎に生成された中間コード画像データを中間コード画像データの生成順に遡って順次読取り、各中間コード画像データの描画処理命令の種類に基づいて、中間コード画像データの描画領域の輪郭を表す輪郭データを、該描画領域に応じたオブジェクトの上層側に描画されるオブジェクトに応じた描画領域の輪郭を表す前回生成された輪郭データに含めるか否かを判別して判別結果に基づいて輪郭データを生成すると共に、読取手段によって読み取った中間コード画像データを、この中間コード画像データの描画領域から前回輪郭データ生成手段によって生成された輪郭データの輪郭領域を除いた中間コード画像データとなるように再生成するので、再生成された中間コード画像データのデータ量を、再生成前の中間コード画像データのデータ量より少なくすることができ、記憶手段に記憶される中間コード画像データのデータ量を削減することができると共に、中間コード画像データからラスタデータを生成する時間が大幅に短縮されると共に、中間コード画像データの描画処理情報の種類に基づいて、中間コード画像データの描画領域の輪郭を表す輪郭データを、前回生成された輪郭データに含めるか否かを判別するので、複数の中間コード画像データによって1つのオブジェクトを生成するように中間コード画像データに描画処理命令とオブジェクトを生成するための描画領域が含まれる場合に、各中間コード画像データから輪郭データが生成されることを抑制することができ、ページ記述データに応じて所定の描画順序に従って層状に複数のオブジェクトを描画したときに得られる画像と同一の画像が得られるような中間コード画像データを再生成することができる。   As described above, according to the image processing apparatus and the image processing method of the present invention, the intermediate code image data generated for each drawing processing command is sequentially read back in the generation order of the intermediate code image data, and each intermediate code image data is read. Lastly, the contour data representing the contour of the drawing area of the intermediate code image data is represented based on the type of the drawing processing command of the above, and the contour of the drawing area corresponding to the object drawn on the upper layer side of the object corresponding to the drawing area is represented. Whether or not to include in the generated contour data and generating contour data based on the determination result, the intermediate code image data read by the reading means is generated from the drawing area of the intermediate code image data last time Since it is regenerated to be intermediate code image data excluding the contour area of the contour data generated by the means, it is regenerated The data amount of the intermediate code image data thus made can be made smaller than the data amount of the intermediate code image data before regeneration, the data amount of the intermediate code image data stored in the storage means can be reduced, and The time to generate raster data from the intermediate code image data is greatly shortened, and contour data representing the outline of the drawing area of the intermediate code image data is generated last time based on the type of drawing processing information of the intermediate code image data. Since it is determined whether or not to be included in the contour data, the intermediate code image data includes a drawing processing instruction and a drawing area for generating the object so as to generate one object from a plurality of intermediate code image data. In addition, it is possible to suppress the generation of contour data from each intermediate code image data, and the page description It is possible to regenerate the intermediate code image data such as image and the same image obtained when rendering a plurality of objects in layers is obtained in accordance with a predetermined rendering order, depending upon over data.

以下、図面を参照して本発明の実施の形態について詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1に示すように、画像処理装置10には、画像処理装置10とデータやコマンドを授受可能に接続された外部処理装置40からページ記述言語で記述されたページ記述データを受信する入力制御部12と、入力制御部12で受信したページ記述データに含まれる描画に関する処理命令を表す描画処理命令としての印字コマンド(以下、描画処理命令とする)毎に解釈する印字コマンド解釈部14、各種データを記憶するためのメモリ16、及び印字コマンド解釈部14で解釈された描画処理命令毎に、描画すべきオブジェクトまたはオブジェクトを形成するための基本要素毎の座標情報及び色情報などのデータ列(以下、エッジリストという)に展開すると共にこのエッジリストと描画処理命令を含む中間コード画像データを描画処理命令毎に生成する中間コード画像データ生成部18を含んで構成されている。なお、エッジリストによって表される領域を描画領域として説明する。メモリ16は、入力制御部12によって受信したページ記述データを記憶すると共に、記憶したこのページ記述データを印字コマンド解釈部14によって描画処理命令毎に解釈するとともに中間コード画像データ生成部18によって生成された中間コード画像データを描画処理命令毎に記憶する。   As shown in FIG. 1, the image processing apparatus 10 receives an input control unit that receives page description data described in a page description language from an external processing apparatus 40 that is connected to the image processing apparatus 10 so as to be able to exchange data and commands. 12, a print command interpretation unit 14 that interprets each print command (hereinafter referred to as a drawing processing command) as a drawing processing command representing a processing command related to drawing included in the page description data received by the input control unit 12, and various data For each drawing processing command interpreted by the memory 16 and the print command interpretation unit 14, and a data string (hereinafter referred to as coordinate information and color information for each basic element for forming the object). And the intermediate code image data including the edge list and the drawing processing command are drawn to the drawing processing command. It is configured to include an intermediate code image data generating unit 18 for generating a. An area represented by the edge list will be described as a drawing area. The memory 16 stores the page description data received by the input control unit 12, interprets the stored page description data for each drawing processing command by the print command interpretation unit 14, and generates the page description data by the intermediate code image data generation unit 18. The intermediate code image data is stored for each drawing processing command.

ページ記述データは、複数のオブジェクトを層状に描画するときの描画順(すなわち下層側に描画されるオブジェクトから上層側に描画されるオブジェクトに向かって)に描画処理命令等の各種情報が記述されており、中間コード画像データ生成部は、ページ記述データが印字コマンド解釈部14によって描画処理命令毎に順次解釈された後に、中間コード画像データ生成部18によって生成されて描画処理命令毎にメモリ16へ記憶される。   In the page description data, various information such as drawing processing commands are described in the drawing order when drawing a plurality of objects in layers (that is, from the object drawn on the lower layer side toward the object drawn on the upper layer side). The intermediate code image data generation unit generates the intermediate code image data generation unit 18 after the page description data is sequentially interpreted for each drawing processing command by the print command interpretation unit 14 and stores it in the memory 16 for each drawing processing command. Remembered.

メモリ16は、再生成された中間コード画像データを格納するための描画メモリ16A、中間コード画像データの内のクリップ命令を含む中間コード画像データを格納するためのクリップバッファ16B、及び後述する輪郭データを保持するための輪郭データ保持領域16Cを含んで構成されている。   The memory 16 includes a drawing memory 16A for storing the regenerated intermediate code image data, a clip buffer 16B for storing intermediate code image data including a clip command in the intermediate code image data, and contour data to be described later Is included including a contour data holding area 16C.

中間コード画像データは、図2(A)に示すように、ページ記述言語データに含まれる描画処理命令を順に解釈することによって描画処理命令毎に生成される。図2(A)に示す例では、描画処理命令として、描画命令、クリップ開始命令、描画命令、描画命令、クリップ終了命令、及び描画命令の順に各命令に対応する中間コード画像データが生成されている。   As shown in FIG. 2A, the intermediate code image data is generated for each drawing processing command by sequentially interpreting the drawing processing commands included in the page description language data. In the example shown in FIG. 2A, intermediate code image data corresponding to each command is generated in the order of a drawing command, a clip start command, a drawing command, a drawing command, a clip end command, and a drawing command as a drawing processing command. Yes.

また、他の形態として、中間コード画像データは、描画処理命令として、論理演算命令を含んで構成される。具体的には、例えば、図8に示すように、描画処理命令として、上書き、論理演算命令、論理演算命令としてのクリップ情報、論理演算命令、上書きの順に各命令に対応する中間コード画像データが生成されている。   As another form, the intermediate code image data includes a logical operation instruction as a drawing processing instruction. Specifically, for example, as shown in FIG. 8, as rendering processing instructions, intermediate code image data corresponding to each instruction in the order of overwrite, logical operation instruction, clip information as logical operation instruction, logical operation instruction, and overwrite is obtained. Has been generated.

各中間コード画像データは、図2(B)に示すようにヘッダー情報とエッジリストを含んで構成されている。ヘッダー情報は、描画処理命令の種類と、描画するときの方式、すなわち書き込み方式を示す情報と、を含んで構成されている。本実施の形態では、描画処理命令の種類には、クリップ開始命令、描画命令、及びクリップ終了命令がある。また、本実施の形態では、書き込み方式の種類には、下層側のオブジェクトの上層に描画領域を描画する上書き命令、及び論理演算命令があるものとして説明する。論理演算命令の一例には、AND及びXORがある。なお、ANDはクリップを表すクリップ情報として機能する。   Each intermediate code image data includes header information and an edge list as shown in FIG. The header information includes a type of drawing processing command and information indicating a drawing method, that is, information indicating a writing method. In the present embodiment, the types of drawing processing commands include a clip start command, a drawing command, and a clip end command. Further, in the present embodiment, description will be made assuming that there are an overwrite instruction and a logical operation instruction for drawing a drawing area on an upper layer of an object on the lower layer side as the type of writing method. Examples of logical operation instructions include AND and XOR. Note that AND functions as clip information representing a clip.

クリップとは、他の中間コード画像データ内の描画領域から、指定された領域をクリップすることによって1つのオブジェクトを形成する処理であり、クリップ開始命令は、このクリップ処理を行うためのクリップ処理開始を示し、クリップ終了命令は、このクリップ処理を行うためのクリップ終了位置を示している。   A clip is a process of forming one object by clipping a specified area from a drawing area in other intermediate code image data, and a clip start command starts a clip process for performing this clip process. The clip end command indicates a clip end position for performing this clip processing.

なお、クリップ開始命令またはクリップ終了命令を含む中間コード画像データは、クリップ開始命令またはクリップ終了命令を含まない中間コード画像データとはメモリ16上の異なる領域(クリップバッファ16B)に格納される。   The intermediate code image data including the clip start instruction or the clip end instruction is stored in a different area (clip buffer 16B) on the memory 16 from the intermediate code image data not including the clip start instruction or the clip end instruction.

なお、本実施の形態では、クリップ開始命令を含む中間コード画像データから、この中間コード画像データが生成された後に生成され、このクリップ開始命令に対応するクリップ終了命令を含む中間コード画像データまでの区間を、クリップ有効区間として説明する。   In the present embodiment, from the intermediate code image data including the clip start instruction to the intermediate code image data generated after the intermediate code image data is generated and including the clip end instruction corresponding to the clip start instruction. The section is described as a clip effective section.

このクリップ有効区間内の、描画処理命令を含む中間コード画像データのエッジリストによって示される描画領域は、クリップ開始命令を含む中間コード画像データに含まれる描画領域によってクリップされる対象となる領域である。   The drawing area indicated by the edge list of the intermediate code image data including the drawing process command in the clip effective section is an area to be clipped by the drawing area included in the intermediate code image data including the clip start instruction. .

具体的には、図9(A)に示すように、例えば、ページ記述言語データから中間コード画像データ生成部18によって、描画処理命令毎に順次ページ記述言語データが解釈されて、描画処理命令毎に順次中間コード画像データ54A、中間コード画像データ54B、中間コード画像データ54C、及び中間コード画像データ54Dが作成される。中間コード画像データ54Aは、オブジェクトに対応する描画領域56Aと描画処理命令として「上書き」を含んで構成されている。中間コード画像データ54Bは、描画処理命令としてクリップ開始命令を含むとともに、クリップする領域を表す描画領域56Bを含んで構成されている。中間コード画像データ54Cは、描画処理命令として上書きを含むとともに、描画領域56Bによってクリップされる描画領域56Cを含んで構成されている。中間コード画像データ54Dは、描画処理命令としてクリップ終了命令を含んで構成されている。この中間コード画像データ54B、中間コード画像データ54C、及び中間コード画像データ54Dを、クリップ有効区間内の中間コード画像データと称する。   Specifically, as shown in FIG. 9A, for example, the page description language data is sequentially interpreted for each drawing processing command from the page description language data by the intermediate code image data generation unit 18, and each drawing processing command. The intermediate code image data 54A, the intermediate code image data 54B, the intermediate code image data 54C, and the intermediate code image data 54D are sequentially generated. The intermediate code image data 54A includes a drawing area 56A corresponding to the object and “overwrite” as a drawing processing command. The intermediate code image data 54B includes a drawing start command as a drawing processing command and a drawing region 56B representing a region to be clipped. The intermediate code image data 54C includes an overwrite as a drawing processing command and includes a drawing area 56C clipped by the drawing area 56B. The intermediate code image data 54D includes a clip end command as a drawing processing command. The intermediate code image data 54B, the intermediate code image data 54C, and the intermediate code image data 54D are referred to as intermediate code image data in the clip effective section.

従来の一般的な描画処理では、中間コード画像データの描画領域56Aに、中間コード画像データ54Bの描画領域56Bによって、中間コード画像データ54Cの描画領域56Cをクリップした結果を上書きすることによって、出力画像54Eが得られる。   In the conventional general drawing process, the intermediate code image data drawing area 56A is overwritten with the result of clipping the drawing area 56C of the intermediate code image data 54C by the drawing area 56B of the intermediate code image data 54B. An image 54E is obtained.

なお、中間コード画像データに描画処理命令として論理演算命令が含まれ場合には、例えば、中間コード画像データ生成部18によって、図10(A)に示すように、描画処理命令毎に順次中間コード画像データ60A、中間コード画像データ60B、中間コード画像データ60C、及び中間コード画像データ60Dが生成される。中間コード画像データ60Aは、オブジェクトに対応する描画領域62Aと描画処理命令として「上書き」を含んで構成されている。中間コード画像データ60Bは、描画処理命令として論理演算「XOR」を含むとともに、クリップされる領域を表す描画領域62Bを含んで構成されている。中間コード画像データ60Cは、描画処理命令としてクリップ情報「AND」を含むとともに、描画領域62Bまたは後述する描画領域62Dの何れかからクリップする領域を表す描画領域62Cを含んで構成されている。中間コード画像データ60Dは、描画処理命令として論理演算命令「XOR」を含んで構成されている。   When the intermediate code image data includes a logical operation instruction as a drawing processing instruction, for example, the intermediate code image data generation unit 18 sequentially selects the intermediate code for each drawing processing instruction as shown in FIG. Image data 60A, intermediate code image data 60B, intermediate code image data 60C, and intermediate code image data 60D are generated. The intermediate code image data 60A includes a drawing area 62A corresponding to the object and “overwrite” as a drawing processing command. The intermediate code image data 60B includes a logical operation “XOR” as a drawing processing command and a drawing region 62B representing a clipped region. The intermediate code image data 60C includes clip information “AND” as a drawing processing command, and includes a drawing area 62C representing an area clipped from either the drawing area 62B or a drawing area 62D described later. The intermediate code image data 60D includes a logical operation instruction “XOR” as a drawing processing instruction.

なお、本実施の形態では、1つのオブジェクトを生成するための論理演算命令を含む一連の中間コード画像データの全てを含む区間を、論理演算シーケンスとして説明する(図8も参照)。図10(A)の例では、論理演算命令を含む中間コード画像データであって、1つのオブジェクトを生成するための中間コード画像データ60B、中間コード画像データ60C、及び中間コード画像データ60Dが、1つの論理演算シーケンスに含まれる一連の中間コード画像データである。   In the present embodiment, a section including all of a series of intermediate code image data including a logical operation instruction for generating one object will be described as a logical operation sequence (see also FIG. 8). In the example of FIG. 10A, intermediate code image data including a logical operation instruction, which is intermediate code image data 60B, intermediate code image data 60C, and intermediate code image data 60D for generating one object, It is a series of intermediate code image data included in one logical operation sequence.

従来の一般的な描画処理では、ビットマップ描画領域データを生成するときに、中間コード画像データ60Aの描画領域62Aに、論理演算シーケンス内の中間コード画像データ各々の論理演算及び描画領域に基づいて生成されるオブジェクト(描画領域)を上書きすることによって、出力画像60Eが得られている。   In the conventional general drawing process, when generating bitmap drawing area data, the drawing area 62A of the intermediate code image data 60A is added to the drawing area 62A based on the logical operation and drawing area of each intermediate code image data in the logical operation sequence. An output image 60E is obtained by overwriting the generated object (drawing area).

しかし、従来の一般的な描画処理では、中間コード画像データを記憶するためのメモリ容量が問題となる場合があり、従来技術で説明したように中間コード画像データから輪郭データ領域を除くことにより中間コード画像データを再生成して記憶する方法では、中間コード画像データに論理演算命令またはクリップ命令が含まれる場合に、一般的な描画処理によって得られる出力画像とは異なる出力画像が得られるような中間コード画像データが再生成されてしまう。   However, in the conventional general drawing processing, the memory capacity for storing the intermediate code image data may be a problem, and as described in the prior art, the intermediate data is removed by removing the contour data area from the intermediate code image data. In the method of regenerating and storing the code image data, when the intermediate code image data includes a logical operation instruction or a clip instruction, an output image different from an output image obtained by a general drawing process can be obtained. The intermediate code image data is regenerated.

本発明では、中間コード画像データ再生成部20は、中間コード画像データ生成部18で描画処理命令毎に作成されてメモリ16に格納された中間コード画像データ各々を、中間コード画像データの生成順に遡って読み出し、メモリ16に格納されている中間コード画像データのデータ量が少なくなるように再生成する。   In the present invention, the intermediate code image data regenerator 20 generates the intermediate code image data generated by the intermediate code image data generator 18 for each drawing processing command and stored in the memory 16 in the order of generation of the intermediate code image data. The data is read back and regenerated so that the data amount of the intermediate code image data stored in the memory 16 is reduced.

詳細は後述するが、具体的には、メモリ16に格納されている中間コード画像データの内の、中間コード画像データ生成部18によって最後に生成された中間コード画像データを読み出し、読み出した中間コード画像データから、輪郭データ保持領域16Cに格納されている輪郭データの輪郭データ領域を除去することによって、中間コード画像データを再生成する。   Although details will be described later, specifically, the intermediate code image data generated last by the intermediate code image data generation unit 18 among the intermediate code image data stored in the memory 16 is read, and the read intermediate code is read out. The intermediate code image data is regenerated by removing the outline data area of the outline data stored in the outline data holding area 16C from the image data.

なお、中間コード画像データにクリップ終了命令が含まれる場合には、クリップ開始命令を含む中間コード画像データを検索してクリップ有効区間を特定し、クリップ有効区間内のクリップ命令を含まない中間コード画像データの描画領域を、クリップ開始命令を含む中間コード画像データに含まれる描画領域によってクリップした結果を中間コード画像データとして再生成する(図9(B)参照)。   If the intermediate code image data includes a clip end instruction, the intermediate code image data including the clip start instruction is searched to identify the clip effective section, and the intermediate code image not including the clip instruction in the clip effective section The result of clipping the data drawing area by the drawing area included in the intermediate code image data including the clip start command is regenerated as intermediate code image data (see FIG. 9B).

また、一般的に、クリップ開始命令またはクリップ終了命令を含む中間コード画像データは、中間コード画像データ生成部18によって、クリップ開始命令またはクリップ終了命令を含まない中間コード画像データとは異なる領域に格納される。このため、クリップ命令を含む中間コード画像データを再生成するときには、輪郭データを削除せずに別領域に格納されている中間コード画像データをそのまま再生成された中間コード画像データとして扱う(図9(B)参照)。   In general, the intermediate code image data including the clip start instruction or the clip end instruction is stored in a different area from the intermediate code image data not including the clip start instruction or the clip end instruction by the intermediate code image data generation unit 18. Is done. For this reason, when the intermediate code image data including the clip command is regenerated, the intermediate code image data stored in another area without deleting the contour data is handled as the regenerated intermediate code image data as it is (FIG. 9). (See (B)).

なお、中間コード画像データに、論理演算命令が含まれる場合には、論理演算命令による論理演算シーケンス内の論理演算命令としてクリップ(AND)を含む中間コード画像データについては、この中間コード画像データの描画領域から輪郭データ保持領域16Cに格納されている輪郭データの輪郭データ領域を除いた領域を描画領域とするように、中間コード画像データを再生成する。論理演算シーケンス内の論理演算命令としてクリップ以外の論理演算(XOR)を含む中間コード画像データについては、元中間コード画像データをそのまま再生成された中間コード画像データとして扱う(図9(B)参照)。   When the intermediate code image data includes a logical operation instruction, intermediate code image data including a clip (AND) as a logical operation instruction in the logical operation sequence by the logical operation instruction is used. The intermediate code image data is regenerated so that the area obtained by removing the outline data area of the outline data stored in the outline data holding area 16C from the drawing area is set as the drawing area. For intermediate code image data including a logical operation (XOR) other than clipping as a logical operation instruction in the logical operation sequence, the original intermediate code image data is handled as it is as regenerated intermediate code image data (see FIG. 9B). ).

輪郭データ保持領域16Cに格納される輪郭データは、中間コード画像データ再生成部20によって、各中間コード画像データの再生成処理が行われる度に、中間コード画像データの生成順に遡って前回再生成処理した中間コード画像データの再生成処理前の中間コード画像データ(以下、元中間コード画像データという)の描画領域の輪郭データを、前回生成した輪郭データに含めた輪郭データを生成するか否かの判断が行われ、判断結果に基づいて輪郭データ保持領域に格納されている輪郭データが更新される。   The contour data stored in the contour data holding area 16C is regenerated last time in the order of generation of the intermediate code image data every time the intermediate code image data regeneration unit 20 performs the regeneration process of each intermediate code image data. Whether or not to generate the contour data including the contour data of the drawing area of the intermediate code image data (hereinafter referred to as the original intermediate code image data) before the regeneration processing of the processed intermediate code image data included in the previously generated contour data The contour data stored in the contour data holding area is updated based on the determination result.

具体的には、前回再生成処理した中間コード画像データの再生成処理前の中間コード画像データが、描画処理命令としてクリップ開始命令またはクリップを表す論理演算命令を含む中間コード画像データであるときには、このクリップ開始命令またはクリップを表す論理演算命令によってクリップすることによって得られる描画領域の輪郭を表す輪郭データを、輪郭データ保持領域16Cに格納されている輪郭データに含めるように輪郭データを生成する。一方、前回再生成処理した中間コード画像データの再生成処理前の中間コード画像データが、描画処理命令としてクリップ開始命令またはクリップ命令を表す論理演算命令を含む中間コード画像データではないときには、輪郭データ保持領域16Cに格納されている輪郭データを更新せずに、次の中間コード画像データの再生成処理を実行する。   Specifically, when the intermediate code image data before the regenerating process of the intermediate code image data regenerated last time is an intermediate code image data including a clip start instruction or a logical operation instruction representing a clip as a drawing process instruction, The contour data is generated so that the contour data representing the contour of the drawing region obtained by clipping by the clip start command or the logical operation command representing the clip is included in the contour data stored in the contour data holding region 16C. On the other hand, when the intermediate code image data before the regeneration process of the intermediate code image data regenerated last time is not intermediate code image data including a logical operation instruction representing a clip start instruction or a clip instruction as a drawing process instruction, contour data The next intermediate code image data regeneration process is executed without updating the contour data stored in the holding area 16C.

なお、輪郭データ保持領域16Cに格納される輪郭データは、層状に描画される一連の描画領域に対応する中間コード画像データの再生成処理が実行された後に、クリアされるものとする。また中間コード画像データ再生成部20で再生成された中間コード画像データは、メモリ16内の図示を省略した再生成された中間コード画像データを格納するための領域に格納され、再生成処理及び輪郭データ生成処理が実行された後に、再生成前の元の中間コード画像データはメモリ16から削除される。   It is assumed that the contour data stored in the contour data holding area 16C is cleared after the regeneration process of the intermediate code image data corresponding to a series of drawing areas drawn in layers is executed. Further, the intermediate code image data regenerated by the intermediate code image data regenerating unit 20 is stored in an area in the memory 16 for storing the regenerated intermediate code image data (not shown). After the contour data generation process is executed, the original intermediate code image data before regeneration is deleted from the memory 16.

このように、本発明では、中間コード画像データ再生成部20では、描画処理命令毎に生成されてメモリ16に格納された中間コード画像データを、生成された順に遡って順次解釈し、各中間コード画像データに含まれる描画処理命令を判別し、判別結果に基づいて、輪郭データの生成及び中間コード画像データの再生成を実行する(詳細後述)。このため、再生成された中間コード画像データに基づいて描画処理を行ったときに得られる出力画像を、一般的な描画処理によって得られる出力画像と同一となるようにすることができると共に、輪郭データを除いた描画領域を含む中間コード画像データをメモリ16に格納することができるので、中間コード画像データのデータ量を抑制することができる。   As described above, in the present invention, the intermediate code image data regenerator 20 sequentially interprets the intermediate code image data generated for each drawing processing instruction and stored in the memory 16 in the order in which the intermediate code image data is generated. A drawing processing command included in the code image data is discriminated, and contour data generation and intermediate code image data re-generation are executed based on the discrimination result (details will be described later). Therefore, the output image obtained when the rendering process is performed based on the regenerated intermediate code image data can be made the same as the output image obtained by the general rendering process, and the contour Since the intermediate code image data including the drawing area excluding the data can be stored in the memory 16, the data amount of the intermediate code image data can be suppressed.

中間コード画像データ解釈部22は、メモリ16に格納されている、中間コード画像データ再生成部20で再生成された中間コード画像データを解釈し、バンド毎にビットマップ描画領域データに展開してバンドバッファ26へ出力する。圧縮/伸長処理部24は、メモリ16の空き容量が所定量以下となると、メモリ16に格納されている再生成された中間コード画像データについて圧縮処理を行った後に再度メモリ16に格納すると共に、中間コード画像データ解釈部22によって各中間コード画像データが解釈されるときに、圧縮されている再生成された中間コード画像データを伸長した後に、中間コード画像データ解釈部22による解釈処理に同期させてビットマップ描画領域データをバンドバッファ26へ出力する。   The intermediate code image data interpretation unit 22 interprets the intermediate code image data re-generated by the intermediate code image data re-generation unit 20 stored in the memory 16 and develops it into bitmap drawing area data for each band. The data is output to the band buffer 26. The compression / decompression processing unit 24 performs compression processing on the regenerated intermediate code image data stored in the memory 16 and stores it again in the memory 16 when the free capacity of the memory 16 becomes a predetermined amount or less. When each intermediate code image data is interpreted by the intermediate code image data interpretation unit 22, the compressed regenerated intermediate code image data is decompressed and then synchronized with the interpretation processing by the intermediate code image data interpretation unit 22. The bitmap drawing area data is output to the band buffer 26.

バンドバッファ26では、中間コード画像データ解釈部22及び圧縮/伸長処理部24から入力されたビットマップ描画領域データを格納すると共に、格納したビットマップ描画領域データを出力制御部28へ転送する。出力制御部28は、バンドバッファ26から入力されたビットマップ描画領域を、ビデオデータとして印字装置42へ出力する。   The band buffer 26 stores the bitmap drawing area data input from the intermediate code image data interpretation unit 22 and the compression / decompression processing unit 24, and transfers the stored bitmap drawing area data to the output control unit 28. The output control unit 28 outputs the bitmap drawing area input from the band buffer 26 to the printing device 42 as video data.

次に、画像処理装置10で実行される中間コード画像データ再度生成処理について説明する。   Next, intermediate code image data re-generation processing executed by the image processing apparatus 10 will be described.

図3に示すように、ステップ100では、輪郭データ保持領域16Cをクリアする。   As shown in FIG. 3, in step 100, the contour data holding area 16C is cleared.

次に、メモリ16に格納されている描画処理命令毎に生成された中間コード画像データ各々を生成された順とは逆に読み出し、読み出した各中間コード画像データを解釈するステップ102からステップ110の処理を実行する。本実施の形態では、ステップ104からステップ108の処理を、生成された順に遡って読み出された中間コード画像データ毎に実行する。   Next, the intermediate code image data generated for each drawing processing instruction stored in the memory 16 is read out in the reverse order of generation, and the read intermediate code image data is interpreted in steps 102 to 110. Execute the process. In the present embodiment, the processing from step 104 to step 108 is executed for each intermediate code image data read back in the order of generation.

ステップ104では、読み出した中間コード画像データに含まれるヘッダー情報の描画処理命令の種類が描画命令であり、且つヘッダー情報の書き込み方式を示す情報が上書きであるか否かを判別し、肯定されると、ステップ106へ進み、読み取った中間コード画像データを再生成する中間コード再生成処理を実行する(詳細後述)。   In step 104, it is determined whether or not the type of header information drawing processing command included in the read intermediate code image data is a drawing command, and the information indicating the header information writing method is overwriting, and affirmative. Then, the process proceeds to step 106, and an intermediate code regeneration process for regenerating the read intermediate code image data is executed (details will be described later).

次のステップ108では、上記ステップ106による再生成処理前の中間コード画像データの描画領域の輪郭データを、上層側に描画される描画領域の輪郭データに含めた輪郭データを生成する輪郭データ生成処理(詳細後述)を実行する。   In the next step 108, contour data generation processing for generating contour data in which the contour data of the drawing area of the intermediate code image data before the regeneration processing in step 106 is included in the contour data of the drawing area drawn on the upper layer side. (Details will be described later).

次のステップ110では、中間コード画像データの生成順に遡って順次全ての中間コード画像データについて上記ステップ104からステップ108の処理が実行された場合には、メモリ16内の再生成前の中間コード画像データ(以下、元中間コード画像データという)を削除した後に、本ルーチンを終了し、上記ステップ104からステップ108の処理が未実行の中間コード画像データがメモリ16内に格納されている場合には、上記ステップ102へ戻る。   In the next step 110, if the processing from step 104 to step 108 is executed for all the intermediate code image data sequentially in the order of generation of the intermediate code image data, the intermediate code image before regeneration in the memory 16 is executed. When data (hereinafter referred to as original intermediate code image data) is deleted, this routine is terminated, and intermediate code image data in which the processing from step 104 to step 108 has not been executed is stored in the memory 16. Return to step 102.

一方、上記ステップ104で否定されると、ステップ112へ進み、中間コード画像データに含まれるヘッダー情報の描画命令の種類が、クリップ終了命令であるか否かを判別し、肯定されると、図4に示すステップ114へ進む。   On the other hand, when the result in step 104 is negative, the process proceeds to step 112, where it is determined whether or not the type of header information rendering command included in the intermediate code image data is a clip end command. Proceed to step 114 shown in FIG.

例えば、上記ステップ112で肯定されることによって、図9(B)に示す中間コード画像データ54Dが検索される。   For example, when affirmative in step 112, the intermediate code image data 54D shown in FIG. 9B is retrieved.

ステップ114からステップ118では、上記ステップ104で否定され且つ上記ステップ112で肯定されたことから、処理対象の中間コード画像データの描画命令の種類はクリップ終了命令であるので、ステップ116において、このクリップ終了命令に対応するクリップ開始命令を含む中間コード画像データを検索するクリップ開始命令検索ループが実行される。このクリック開始命令検索ループでは、ステップ116において、中間コード画像データに含まれる描画処理命令がクリップ開始命令であるか否かを、クリップ終了命令を含む中間コード画像データから中間コード画像データの生成順に遡って順次メモリ16内に格納されている中間コード画像データを検索し、肯定されるまでクリップ開始命令検索ループを繰り返す。   In step 114 to step 118, since the result of step 104 is negative and step 112 is positive, the type of intermediate code image data rendering command to be processed is a clip end command. A clip start instruction search loop for searching intermediate code image data including a clip start instruction corresponding to the end instruction is executed. In this click start instruction search loop, in step 116, it is determined whether or not the drawing processing instruction included in the intermediate code image data is a clip start instruction in the order of generation of the intermediate code image data from the intermediate code image data including the clip end instruction. The intermediate code image data stored in the memory 16 is sequentially retrieved retroactively, and the clip start instruction retrieval loop is repeated until affirmative.

上記ステップ116で肯定されることによって、例えば、図9(B)に示す中間コード画像データ56Bが検索される。   By affirming in step 116, for example, the intermediate code image data 56B shown in FIG. 9B is retrieved.

ステップ116で肯定され、このクリップ終了命令に対応するクリップ開始命令を含む中間コード画像データが検索されると、ステップ120へ進み、メモリ16内のクリップバッファ16Bをクリアする。   When an affirmative determination is made in step 116 and intermediate code image data including a clip start instruction corresponding to this clip end instruction is retrieved, the process proceeds to step 120 and the clip buffer 16B in the memory 16 is cleared.

次のステップ122では、クリップバッファ16Bに、上記ステップ116で検索したクリップ開始命令を含む中間コード画像データに含まれる、クリップ領域を表す描画領域(図9(B)の描画領域56B参照)をクリップ領域として設定する。   In the next step 122, the drawing area representing the clip area (see the drawing area 56B in FIG. 9B) included in the intermediate code image data including the clip start instruction searched in step 116 is clipped in the clip buffer 16B. Set as area.

次のステップ124では、クリップ終了命令を含む中間コード画像データから、このクリップ終了命令に対応するクリップ開始命令を含む中間コード画像データまでの間に含まれる中間コード画像データを、クリップ有効区間として設定する。   In the next step 124, the intermediate code image data included between the intermediate code image data including the clip end instruction and the intermediate code image data including the clip start instruction corresponding to the clip end instruction is set as the clip valid section. To do.

例えば、図9(B)の中間コード画像データ54D、中間コード画像データ54C、及び中間コード画像データ54Bがクリップ有効区間として設定される。   For example, the intermediate code image data 54D, the intermediate code image data 54C, and the intermediate code image data 54B in FIG. 9B are set as the clip valid section.

次に、ステップ126からステップ128の処理において、上記ステップ124でクリップ有効区間として設定した中間コード画像データ各々を、中間コード画像データの生成順に遡って順次読み出し、ステップ106において中間コード画像データの再生成処理(詳細後述)を行った後に、ステップ108において輪郭データ生成処理(詳細後述)を行う、クリップ有効区間ループが実行される。   Next, in the processing from step 126 to step 128, each of the intermediate code image data set as the clip valid section in step 124 is read sequentially in the order of generation of the intermediate code image data, and in step 106, the intermediate code image data is reproduced. After performing the composition process (details will be described later), in step 108, a clip valid section loop is executed in which a contour data generation process (details will be described later) is performed.

上記ステップ106及びステップ108の処理が、上記ステップ124で設定したクリップ有効期間内の全ての中間コード画像データ各々について実行されると、上記ステップ110へ戻る。   When the processing of step 106 and step 108 is executed for all the intermediate code image data within the clip effective period set in step 124, the process returns to step 110.

なお、クリップ有効区間に対する中間コード画像データ再生成処理は負荷が重いため、中間コード画像データ解釈部22を、ソフトウェアとしてではなくハードウェアとして構成した場合には、クリップ有効区間の中間コード画像データに対しては、中間コード画像データの再生成処理を省略(以下、スキップという)することが可能である。   Since the intermediate code image data regeneration process for the clip valid section is heavy, if the intermediate code image data interpretation unit 22 is configured as hardware instead of software, the intermediate code image data in the clip valid section is converted into intermediate code image data. On the other hand, it is possible to omit the regenerating process of the intermediate code image data (hereinafter referred to as skip).

このような場合には、上記ステップ104で否定されると、ステップ112へ進み、中間コード画像データに含まれるヘッダー情報の描画命令の種類が、クリップ終了命令であるか否かを判別し、肯定されると、図14に示すステップ113へ進む。   In such a case, if the result in step 104 is negative, the process proceeds to step 112, where it is determined whether or not the type of header information rendering command included in the intermediate code image data is a clip end command. Then, the process proceeds to step 113 shown in FIG.

例えば、上記ステップ112で肯定されることによって、図9(B)に示す中間コード画像データ54Dが検索される。   For example, when affirmative in step 112, the intermediate code image data 54D shown in FIG. 9B is retrieved.

図14に示すように、ステップ113では、クリップ有効区間の中間コード画像データに対して、中間コード画像データの再生成処理を行うかどうかを判定するためのカウンタの初期化を行う。   As shown in FIG. 14, in step 113, a counter for determining whether or not to regenerate the intermediate code image data is performed on the intermediate code image data in the clip effective section.

次のステップ114からステップ118では、上記ステップ104で否定され且つ上記ステップ112で肯定されたことから、処理対象の中間コード画像データの描画命令の種類はクリップ終了命令であるため、ステップ116において、上記ステップ112で判別したクリップ終了命令に対応するクリップ開始命令を含む中間コード画像データを、メモリ16内に格納されている中間コード画像データから、順次中間コード画像データの生成順に遡って検索するクリップ開始命令検索ループが実行される。   In the next step 114 to step 118, since the result in step 104 is negative and the result in step 112 is affirmed, the type of rendering command for the intermediate code image data to be processed is a clip end command. A clip that retrieves intermediate code image data including a clip start instruction corresponding to the clip end instruction determined in step 112 from the intermediate code image data stored in the memory 16 sequentially in the order of generation of the intermediate code image data. A start instruction search loop is executed.

このクリップ開始命令検索ループでは、まずステップ116において、中間コード画像データに含まれる描画処理命令がクリップ開始命令であるか否かを判別する。   In this clip start command search loop, first, in step 116, it is determined whether or not the drawing processing command included in the intermediate code image data is a clip start command.

上記ステップ116で否定された場合には、検索した中間コード画像データは描画命令あるいはクリップ命令(終了)である。検索した中間コード画像データが描画命令の場合には、ステップ117に進み、検索した中間コード画像データの描画命令に応じた描画面積を、上記ステップ113で初期化したカウンタに加算した後に、ステップ116へ戻り、ステップ116において、肯定されるまでクリック開始命令検索ループを繰り返す。

一方、上記ステップ116で肯定され、クリップ終了命令に対応するクリップ開始命令を含む中間コード画像データが検索されると、ステップ119へ進む。
If the result in Step 116 is negative, the retrieved intermediate code image data is a drawing command or a clip command (end). If the retrieved intermediate code image data is a drawing command, the process proceeds to step 117, and after adding the drawing area corresponding to the retrieved intermediate code image data drawing command to the counter initialized in step 113, step 116 is executed. Returning to step 116, the click start command search loop is repeated until affirmative in step 116.

On the other hand, when the result in step 116 is affirmative and intermediate code image data including a clip start command corresponding to the clip end command is retrieved, the process proceeds to step 119.

上記ステップ116で肯定されることによって、例えば、図9(B)に示す中間コード画像データ56Bが検索され、カウンタにはクリップ有効区間の描画命令の総描画面積の値が設定された状態となる。   By affirming in step 116, for example, the intermediate code image data 56B shown in FIG. 9B is retrieved, and the counter is set to the value of the total drawing area of the drawing command of the clip valid section. .

次のステップ119では、カウンタの値が予め定められた閾値より大きいか否かを判断する。なお、閾値は、中間コード画像データ再生成部20におけるクリップ有効区間に対する再生成処理時間と中間コード画像データ解釈部22におけるクリップ有効区間に対する解釈処理時間の関係から、画像処理装置10毎に予め求められる値であるが、このような閾値を設けずに、クリップ有効区間に対しては無条件に中間コード画像データの再生成処理をスキップするようにしてもよい。   In the next step 119, it is determined whether or not the value of the counter is larger than a predetermined threshold value. The threshold value is obtained in advance for each image processing apparatus 10 from the relationship between the regeneration processing time for the clip effective section in the intermediate code image data regeneration unit 20 and the interpretation processing time for the clip effective section in the intermediate code image data interpretation unit 22. However, it is also possible to skip the regeneration process of the intermediate code image data unconditionally for the clip valid section without providing such a threshold value.

ステップ119で否定されると、上記ステップ120(図4参照)へ進み、肯定され、カウンタの値が閾値より大きい場合には、ステップ121へ進み、クリップ有効区間の中間コード画像データの再生成処理は行わず、クリップ有効区間の中間コード画像データを全て指定された領域にコピーする。   If the result in step 119 is negative, the process proceeds to step 120 (see FIG. 4). If the value of the counter is greater than the threshold value, the process proceeds to step 121, and the intermediate code image data in the clip valid section is regenerated. The intermediate code image data in the clip valid section is all copied to the designated area.

次のステップ123では、輪郭データ保持領域16Cをクリアした後に、上記ステップ110へ戻る。   In the next step 123, after the contour data holding area 16C is cleared, the process returns to step 110.

一方、上記ステップ112で否定され、中間コード画像データに含まれるヘッダー情報の描画命令の種類が描画命令で且つ書き込み方式が論理演算命令である場合には、図5に示すステップ130へ進む。   On the other hand, when the result in Step 112 is negative and the header information rendering command type included in the intermediate code image data is a rendering command and the writing method is a logical operation command, the process proceeds to Step 130 shown in FIG.

例えば、上記ステップ112で否定されることによって、図10(B)に示す中間コード画像データ60Dが検索される。   For example, when the result in Step 112 is negative, the intermediate code image data 60D shown in FIG. 10B is retrieved.

ステップ130からステップ134では、上記ステップ104で否定され且つ上記ステップ112で否定されたことから、処理対象の中間コード画像データには、描画処理命令として論理演算命令が含まれるので、ステップ132において、この論理演算命令を含む論理演算シーケンスの先頭の中間コード画像データを判別することによって、論理演算シーケンスの先頭の中間コード画像データを検索する、論理演算シーケンス検索ループが実行される。この論理演算シーケンス検索ループでは、ステップ132において、上記検索した中間コード画像データ(図10(B)では中間コード画像データ60D)から中間コード画像データの生成順に遡って中間コード画像データを検索し、中間コード画像データの描画処理命令として論理演算命令を含まない中間コード画像データの次に生成され且つ論理演算命令を含む中間コード画像データが検索されるまで論理演算シーケンス検索ループを繰り返す。   In Steps 130 to 134, since the result of the determination in Step 104 is negative and the result in Step 112 is negative, the intermediate code image data to be processed includes a logical operation command as a rendering processing command. By determining the first intermediate code image data of the logical operation sequence including this logical operation instruction, a logical operation sequence search loop for searching the first intermediate code image data of the logical operation sequence is executed. In this logical operation sequence search loop, in step 132, the intermediate code image data is searched retroactively from the searched intermediate code image data (intermediate code image data 60D in FIG. 10B) in the generation order of the intermediate code image data. The logical operation sequence search loop is repeated until intermediate code image data that is generated next to intermediate code image data that does not include a logical operation instruction as intermediate image image data drawing processing instructions and includes a logical operation instruction is searched.

上記ステップ132で肯定されることによって、例えば、図10(B)に示す中間コード画像データ60Bが検索される。   By affirming in the above step 132, for example, the intermediate code image data 60B shown in FIG. 10B is retrieved.

ステップ132で肯定され、論理演算シーケンスの先頭に相当する中間コード画像データが検索されると、ステップ136へ進み、上記ステップ130からステップ134の論理演算シーケンス検索ループにより検索された論理演算シーケンス区間を設定する。   When an affirmative determination is made in step 132 and the intermediate code image data corresponding to the head of the logical operation sequence is searched, the process proceeds to step 136, and the logical operation sequence section searched by the logical operation sequence search loop of step 130 to step 134 Set.

ステップ136の処理によって、具体的には、図10の中間コード画像データ60D、中間コード画像データ60C、及び中間コード画像データ60Bが、論理演算シーケンス区間に相当する中間コード画像データとして設定される。   Specifically, the intermediate code image data 60D, the intermediate code image data 60C, and the intermediate code image data 60B in FIG. 10 are set as intermediate code image data corresponding to the logical operation sequence section by the process of step 136.

次に、ステップ138からステップ140の処理において、上記ステップ136で論理演算シーケンス区間として設定した中間コード画像データ各々を、中間コード画像データの生成順に遡って順次読み出し、ステップ106において中間コード画像データの再生成処理(詳細後述)を行った後に、ステップ108において輪郭データ生成処理(詳細後述)を行う、論理演算シーケンス区間ループが実行される。   Next, in the processing from step 138 to step 140, each of the intermediate code image data set as the logical operation sequence section in step 136 is sequentially read back in the generation order of the intermediate code image data, and in step 106, the intermediate code image data is read. After performing the regeneration process (details will be described later), in step 108, a logical operation sequence section loop is executed in which a contour data generation process (details will be described later) is performed.

上記ステップ106及びステップ108の処理が、上記ステップ136で設定した論理演算シーケンス区間内の全ての中間コード画像データ各々について実行されると、上記ステップ110へ戻る。   When the processing of step 106 and step 108 is executed for all the intermediate code image data in the logical operation sequence section set in step 136, the process returns to step 110.

なお、論理演算シーケンス区間に対する中間コード画像データ再生成処理は負荷が重いため、もし中間コード画像データ解釈部22が、ソフトウェアではなくハードウェアにより構成されている場合には、論理演算シーケンス区間の中間コード画像データに対しては、中間コード画像データの再生成処理をスキップするということも可能である。   Since the intermediate code image data regeneration process for the logical operation sequence section is heavy, if the intermediate code image data interpretation unit 22 is configured by hardware instead of software, the intermediate code image data regenerating process is performed in the middle of the logical operation sequence section. For code image data, it is possible to skip the regeneration process of the intermediate code image data.

この場合には、上記ステップ104(図3参照)で否定されてステップ112へ進み、さらに上記ステップ112で否定されて、中間コード画像データに含まれるヘッダー情報の描画命令の種類が描画命令で且つ書き込み方式が論理演算命令である場合には、図15に示すステップ129へ進むようにすればよい。   In this case, the result is negative in step 104 (see FIG. 3) and proceeds to step 112. Further, the result is negative in step 112, and the type of header information drawing command included in the intermediate code image data is a drawing command. If the writing method is a logical operation instruction, the process may proceed to step 129 shown in FIG.

例えば、上記ステップ112で否定されることによって、図10(B)に示す中間コード画像データ60Dが検索される。   For example, when the result in Step 112 is negative, the intermediate code image data 60D shown in FIG. 10B is retrieved.

図15に示すように、ステップ129では、論理演算シーケンス区間の中間コード画像データに対して、中間コード画像データの再生成処理を行うかどうかを判定するためのカウンタの初期化を行う。   As shown in FIG. 15, in step 129, a counter for determining whether or not to regenerate the intermediate code image data is performed on the intermediate code image data in the logical operation sequence section.

次のステップ130からステップ134では、上記ステップ104(図3参照)で否定され且つ上記ステップ112(図3参照)で否定されたことから、処理対象の中間コード画像データには、描画処理命令として論理演算命令が含まれるので、この論理演算命令を含む論理演算シーケンスの先頭に位置する中間コード画像データを判別(検索)することによって、論理演算シーケンスの先頭の中間コード画像データを検索する、論理演算シーケンス検索ループが実行される。   In the next step 130 to step 134, the result is negative in step 104 (see FIG. 3) and negative in step 112 (see FIG. 3). Since a logical operation instruction is included, the intermediate code image data at the beginning of the logical operation sequence is searched by determining (searching) the intermediate code image data positioned at the beginning of the logical operation sequence including the logical operation instruction. An arithmetic sequence search loop is executed.

この論理演算シーケンス検索ループでは、ステップ132において、上記ステップ112において検索した中間コード画像データ(図10(B)では中間コード画像データ60D)から中間コード画像データの生成順に遡ってメモリ16内の中間コード画像データを検索し、中間コード画像データの描画処理命令として論理演算命令を含まない中間コード画像データの次(すなわち、後)に生成され且つ論理演算命令を含む中間コード画像データが検索されるまで論理演算シーケンス検索ループを繰り返し、この論理演算シーケンスが繰り返される度に、ステップ131において、上記ステップ129で初期化したカウンタに上記ステップ132で検索した中間コード画像データの描画面積を加算する。   In this logical operation sequence search loop, in step 132, the intermediate code image data in the memory 16 is traced back to the generation order of the intermediate code image data from the intermediate code image data searched in step 112 (intermediate code image data 60D in FIG. 10B). The code image data is searched, and the intermediate code image data generated after (ie, after) the intermediate code image data not including the logical operation instruction as the intermediate code image data drawing processing instruction and including the logical operation instruction is searched. The logical operation sequence search loop is repeated until the logical operation sequence is repeated. In step 131, the drawing area of the intermediate code image data searched in step 132 is added to the counter initialized in step 129.

上記ステップ132で肯定されることによって、例えば、図10(B)に示す中間コード画像データ60Bが検索される。   By affirming in the above step 132, for example, the intermediate code image data 60B shown in FIG. 10B is retrieved.

ステップ132で肯定され、論理演算シーケンスの先頭に相当する中間コード画像データが検索されると、ステップ135へ進み、カウンタの値が閾値より大きいか否かを判別し、否定され、カウンタの値が閾値より小さい場合には、図5のステップ136からステップ140と同様な処理を行う。   When an affirmative determination is made in step 132 and intermediate code image data corresponding to the head of the logical operation sequence is retrieved, the process proceeds to step 135 to determine whether or not the counter value is greater than the threshold value, and the result is negative and the counter value is If it is smaller than the threshold value, the same processing as step 136 to step 140 in FIG. 5 is performed.

一方、上記ステップ135で肯定され、カウンタの値が閾値より大きい場合には、ステップ137へ進み、論理演算シーケンス区間の中間コード画像データの再生成処理を行わず、論理演算シーケンス区間の中間コード画像データ全てを、中間コード画像データの生成順にメモリ16の予め指定された領域にコピーする。   On the other hand, if the determination in step 135 is affirmative and the counter value is larger than the threshold value, the process proceeds to step 137, where the intermediate code image data in the logical operation sequence section is not regenerated and the intermediate code image in the logical operation sequence section is not processed. All the data is copied to a predesignated area of the memory 16 in the order of generation of the intermediate code image data.

次のステップ139では、輪郭データ保持領域16Cをクリアした後に、上記ステップ110へ戻る。   In the next step 139, after the contour data holding area 16C is cleared, the process returns to step 110.

ここで、上記閾値は、中間コード画像データ再生成部20におけるクリップ有効区間に対する再生成処理時間と中間コード画像データ解釈部22におけるクリップ有効区間に対する解釈処理時間の関係から画像処理装置10毎に求まる値であるが、閾値を設けずに論理演算シーケンス区間に対しては無条件に中間コード画像データの再生成処理をスキップしても良い。   Here, the threshold value is obtained for each image processing apparatus 10 from the relationship between the regeneration processing time for the clip effective section in the intermediate code image data regenerating unit 20 and the interpretation processing time for the clip effective section in the intermediate code image data interpreting unit 22. Although it is a value, intermediate code image data regeneration processing may be skipped unconditionally for a logical operation sequence section without providing a threshold.

次に、上記ステップ106において実行される中間コード画像データ再生成処理について説明する。   Next, the intermediate code image data regeneration process executed in step 106 will be described.

ステップ200は、処理対象の中間コード画像データが上記ステップ124で設定されたクリップ有効区間内の中間コード画像データであるか否かを判別し、肯定されると、ステップ214へ進む。   In step 200, it is determined whether or not the intermediate code image data to be processed is intermediate code image data in the clip valid section set in step 124. If the determination is affirmative, the process proceeds to step 214.

上記ステップ200で肯定される中間コード画像データとは、具体的には、図9(B)に示す中間コード画像データ54D、中間コード画像データ54C、及び中間コード画像データ54Bである。   The intermediate code image data affirmed in step 200 is specifically the intermediate code image data 54D, the intermediate code image data 54C, and the intermediate code image data 54B shown in FIG. 9B.

次のステップ214では、処理対象の中間コード画像データに含まれる描画処理命令が、クリップ命令であるか否かを判別し、肯定されると、本ルーチンを終了し、否定されると、ステップ216へ進む。   In the next step 214, it is determined whether or not the drawing process command included in the intermediate code image data to be processed is a clip command. If the result is affirmative, this routine is terminated. If the result is negative, step 216 is performed. Proceed to

ステップ214で肯定される中間コード画像データは、具体的には、図9(B)に示す中間コード画像データ54D及び中間コード画像データ54Bである。   The intermediate code image data affirmed in step 214 is specifically the intermediate code image data 54D and the intermediate code image data 54B shown in FIG. 9B.

ステップ214で否定される中間コード画像データは、具体的には、図9(B)に示す中間コード画像データ54Cである。   Specifically, the intermediate code image data denied in step 214 is intermediate code image data 54C shown in FIG. 9B.

ステップ216では、上記ステップ122で設定したクリップ領域で、この中間コード画像データの描画領域をクリップすると共に、クリップした描画領域からメモリ16の輪郭データ保持領域16Cに格納されている輪郭データの輪郭データ領域を除く。   In step 216, the drawing area of the intermediate code image data is clipped by the clip area set in step 122, and the contour data of the outline data stored in the outline data holding area 16C of the memory 16 from the clipped drawing area. Exclude area.

ステップ216の処理によって、図9(B)に示すように、中間コード画像データ54Cの描画領域56Cが、中間コード画像データ54Bの描画領域56Bによってクリップされた結果から、メモリ16の輪郭データ保持領域16Cに格納されている輪郭データ(この場合は何も保持されていない)の輪郭データ領域が除かれて、描画領域59Cが生成される。   As a result of the process of step 216, as shown in FIG. 9B, the contour data holding area of the memory 16 is obtained from the result of clipping the drawing area 56C of the intermediate code image data 54C by the drawing area 56B of the intermediate code image data 54B. A drawing data area 59C is generated by removing the outline data area of the outline data (in this case nothing is held) stored in 16C.

次のステップ206では、上記ステップ216の処理によって残った描画領域を描画領域とするように中間コード画像データを再生成する。   In the next step 206, the intermediate code image data is regenerated so that the drawing area remaining after the processing in step 216 is set as the drawing area.

具体的には、例えば、図9(B)に示すように、上記ステップ216の処理によって残った描画領域59Cを含む中間コード画像データ57Cとなるように、中間コード画像データ56Cを再生成する。   Specifically, for example, as shown in FIG. 9B, the intermediate code image data 56C is regenerated so as to be the intermediate code image data 57C including the drawing area 59C left by the process of step 216.

次のステップ208では、上記ステップ206によって再生成された中間コード画像データを、メモリ16内の再生成された中間コード画像データを格納するあらかじめ定められた特定の領域に格納した後に、本ルーチンを終了する。   In the next step 208, the intermediate code image data regenerated in the above step 206 is stored in a predetermined specific area for storing the regenerated intermediate code image data in the memory 16, and then this routine is executed. finish.

このように、クリップ有効区間内の中間コード画像データの内、描画処理情報としてクリップ命令を含む中間コード画像データについては中間コード画像データが再生成されず、クリップ命令を含まない中間コード画像データについては、輪郭データ保持領域16Cに格納されている輪郭データとクリップバッファ16Bに格納されているクリップ領域で描画領域を除いた領域を新たな描画領域とする中間コード画像データが生成される。   As described above, among the intermediate code image data in the clip effective section, the intermediate code image data that does not include the clip command is not generated for the intermediate code image data that includes the clip command as the drawing processing information. In this case, intermediate code image data is generated in which the outline data stored in the outline data holding area 16C and the clip area stored in the clip buffer 16B excluding the drawing area are used as a new drawing area.

一方、上記ステップ202で否定されて、処理対象の中間コード画像データが上記ステップ124で設定されたクリップ有効区間内の中間コード画像データではない場合には、ステップ202へ進み、処理対象の中間コード画像データが上記ステップ136で設定された論理演算シーケンス区間内の中間コード画像データか否かを判別する。   On the other hand, when the result in Step 202 is negative and the intermediate code image data to be processed is not intermediate code image data in the clip valid section set in Step 124, the process proceeds to Step 202 and the intermediate code to be processed is processed. It is determined whether or not the image data is intermediate code image data within the logical operation sequence section set in step 136.

ステップ202で肯定される中間コード画像データとは、具体的には、例えば、図10(B)に示す中間コード画像データ60D、中間コード画像データ60C、中間コード画像データ60Bの何れかである場合である。   Specifically, the intermediate code image data affirmed in step 202 is, for example, any one of the intermediate code image data 60D, the intermediate code image data 60C, and the intermediate code image data 60B shown in FIG. It is.

ステップ202で肯定されると、ステップ210へ進み、処理対象の中間コード画像データに含まれる描画処理命令がクリップ情報であるか否かを判別し、否定されるとステップ212へ進む。   If the determination in step 202 is affirmative, the process proceeds to step 210, where it is determined whether or not the drawing processing command included in the intermediate code image data to be processed is clip information. If the determination is negative, the process proceeds to step 212.

ステップ210で否定される場合とは、処理対象の中間コード画像データの描画処理命令が論理演算命令であり、且つクリップ命令「AND」ではない、すなわち論理演算命令として「XOR」を含む中間コード画像データを処理対象とした場合である。すなわち、例えば、処理対象の中間コード画像データが図10(B)に示す中間コード画像データ60Dまたは中間コード画像データ60Bの何れかである場合である。   The case where the result is negative in step 210 is that the rendering process instruction of the intermediate code image data to be processed is a logical operation instruction and is not a clip instruction “AND”, that is, an intermediate code image including “XOR” as the logical operation instruction. This is a case where data is a processing target. That is, for example, this is a case where the intermediate code image data to be processed is either the intermediate code image data 60D or the intermediate code image data 60B shown in FIG.

ステップ212では、中間コード画像データを再生成することなく、そのまま再生成された中間コード画像データを、メモリ16内の再生成された中間コード画像データを格納するあらかじめ定められた特定の領域に格納した後に、本ルーチンを終了する。   In step 212, the intermediate code image data regenerated as it is without being regenerated is stored in a predetermined specific area in the memory 16 where the regenerated intermediate code image data is stored. After that, this routine is finished.

すなわち、描画処理命令として論理演算命令を含み、且つ論理演算命令として「XOR」を含む中間コード画像データは、再生成されることなくそのまま再生成された中間コード画像データを格納するメモリ16内の特定領域に格納される。   That is, intermediate code image data that includes a logical operation instruction as a drawing processing instruction and includes “XOR” as a logical operation instruction is stored in the memory 16 that stores the intermediate code image data regenerated without being regenerated. Stored in a specific area.

一方、上記ステップ202で否定されたとき、及び上記ステップ210で否定されたときには、ステップ204へ進む。   On the other hand, when the result in Step 202 is negative and when the result in Step 210 is negative, the process proceeds to Step 204.

上記ステップ202で否定されたときとは、処理対象の中間コード画像データが、上記ステップ124で設定されたクリップ有効区間外の中間コード画像データであり、且つ上記ステップ136で設定された論理演算シーケンス外の中間コード画像データである場合である。上記ステップ200及びステップ202において否定される場合の中間コード画像データとは、具体的には、図9(B)に示す中間コード画像データ54A、及び図10(B)に示す中間コード画像データ60Aであって、描画処理命令として論理演算命令やクリップ命令を含まず且つクリップ有効区間及び論理演算シーケンス区間外の中間コード画像データである。   When the result in Step 202 is negative, the intermediate code image data to be processed is intermediate code image data outside the clip effective section set in Step 124 and the logical operation sequence set in Step 136 This is a case where the intermediate code image data is outside. Specifically, the intermediate code image data in the case where the determination in Step 200 and Step 202 is negative is intermediate code image data 54A shown in FIG. 9B and intermediate code image data 60A shown in FIG. 10B. In this case, it is intermediate code image data that does not include a logical operation instruction or a clip instruction as a drawing processing instruction and is outside the valid clip section and the logical operation sequence section.

また、上記ステップ210で肯定されたときとは、処理対象の中間コード画像データが、上記ステップ136で設定された論理演算シーケンス内で、且つ描画処理情報として論理演算命令「AND」を含む中間コード画像データである場合である。   When the result in step 210 is affirmative, the intermediate code image data to be processed is included in the logical operation sequence set in step 136 and the intermediate code including the logical operation instruction “AND” as the drawing processing information. This is the case of image data.

ステップ204では、輪郭データ保持領域16Cに格納されている輪郭データで、処理対象となる中間コード画像データに含まれる描画領域をクリップする。   In step 204, the drawing area included in the intermediate code image data to be processed is clipped with the outline data stored in the outline data holding area 16C.

すなわち、輪郭データ保持領域16Cに格納されている輪郭データの輪郭データ領域を、処理対象となる中間コード画像データの描画領域から除く。   That is, the outline data area of the outline data stored in the outline data holding area 16C is excluded from the drawing area of the intermediate code image data to be processed.

具体的には、図9(B)に示すように、中間コード画像データ54Aの描画領域56Aから、メモリ16の輪郭データ保持領域16Cに格納されている輪郭データ57Cの輪郭データ領域58Cが除かれて、描画領域59Aが残る。また、図10(B)に示すように、中間コード画像データ60Aの描画領域62Aから、メモリ16の輪郭データ保持領域16Cに格納されている輪郭データ61Cの輪郭データ領域64Cが除かれて、描画領域67Aが残る。同様に、中間コード画像データ60Cの描画領域62Cから、輪郭データ保持領域16Cに格納されている輪郭データ61Cの輪郭データ領域(この場合は何も格納されていない)が除かれて、描画領域67Cが残る。   Specifically, as shown in FIG. 9B, the outline data area 58C of the outline data 57C stored in the outline data holding area 16C of the memory 16 is removed from the drawing area 56A of the intermediate code image data 54A. Thus, the drawing area 59A remains. As shown in FIG. 10B, the contour data area 64C of the contour data 61C stored in the contour data holding area 16C of the memory 16 is removed from the drawing area 62A of the intermediate code image data 60A. Region 67A remains. Similarly, the outline data area of the outline data 61C stored in the outline data holding area 16C (in this case, nothing is stored) is removed from the drawing area 62C of the intermediate code image data 60C, thereby drawing area 67C. Remains.

次のステップ206では、上記ステップ216の処理によって残った描画領域を描画領域とする中間コード画像データを再生成する。   In the next step 206, intermediate code image data is regenerated with the drawing area remaining after the processing in step 216 as the drawing area.

具体的には、例えば、図9(B)に示すように、上記ステップ204の処理によって残った描画領域59Aを含む中間コード画像データ57Aとなるように、中間コード画像データ56Aを再生成する。同様に、図10(B)に示すように、上記ステップ204の処理によって残った描画領域67Aを含む中間コード画像データ66Aとなりように、中間コード画像データ60Aを再生成する。また、同様に、上記ステップ204の処理によって残った描画領域67Cを含む中間コード画像データ66Cとなるように、中間コード画像データ60Cを再生成する。   Specifically, for example, as shown in FIG. 9B, the intermediate code image data 56A is regenerated so that the intermediate code image data 57A including the drawing area 59A remaining after the processing of step 204 is obtained. Similarly, as shown in FIG. 10B, the intermediate code image data 60A is regenerated so as to be the intermediate code image data 66A including the drawing area 67A remaining after the process of step 204. Similarly, the intermediate code image data 60 </ b> C is regenerated so that the intermediate code image data 66 </ b> C including the drawing area 67 </ b> C remaining after the process of step 204 is obtained.

次のステップ208では、上記ステップ206によって再生成された中間コード画像データを、メモリ16内の再生成された中間コード画像データを格納するあらかじめ定められた特定の領域に格納した後に、本ルーチンを終了する。   In the next step 208, the intermediate code image data regenerated in the above step 206 is stored in a predetermined specific area for storing the regenerated intermediate code image data in the memory 16, and then this routine is executed. finish.

このように、クリップ有効区間外で且つ論理演算シーケンス外の中間コード画像データ、及び論理演算シーケンス内で描画処理命令としてクリップ情報を表す論理演算命令「AND」を含む中間コード画像データについては、輪郭データ保持領域16Cに格納されている輪郭データの輪郭データ領域で描画領域を除いた領域を新たな描画領域とする中間コード画像データが生成される。   As described above, the intermediate code image data outside the clip effective section and outside the logical operation sequence, and the intermediate code image data including the logical operation instruction “AND” representing the clip information as the drawing processing instruction within the logical operation sequence, Intermediate code image data is generated in which the area excluding the drawing area in the outline data area of the outline data stored in the data holding area 16C is a new drawing area.

次に、上記ステップ108で実行される輪郭データ生成処理について説明する。   Next, the contour data generation process executed in step 108 will be described.

図7に示すように、ステップ300では、処理対象の中間コード画像データが、上記ステップ124で設定されたクリップ有効区間内の中間コード画像データであるか否かを判別する。   As shown in FIG. 7, in step 300, it is determined whether or not the intermediate code image data to be processed is intermediate code image data in the clip valid section set in step 124.

ステップ300で肯定され、処理対象の中間コード画像データがクリップ有効区間内の中間コード画像エータである場合には、この処理対象の中間コード画像データの描画処理命令がクリップ命令(クリップ開始命令またはクリップ終了命令)であるか否かを判別し、否定されると、本ルーチンを終了し、肯定されるとステップ312へ進む。   If the result is affirmative in step 300 and the intermediate code image data to be processed is an intermediate code image eater within the clip effective section, the drawing processing instruction for the intermediate code image data to be processed is a clip instruction (clip start instruction or clip This routine is terminated when the result is negative, and the process proceeds to step 312 when the result is affirmative.

ステップ310の判断は、中間コード画像データのヘッダー情報に示される命令の種類がクリップ命令であるか否かを判別することによって判断可能である。   The determination in step 310 can be made by determining whether or not the instruction type indicated in the header information of the intermediate code image data is a clip instruction.

ステップ312では、クリップバッファ16Bに格納されている上記ステップ122で設定されたクリップ領域で、処理対象の中間コード画像データの描画領域をクリップすることによって得られた領域を、輪郭データ保持領域16Cに格納されている輪郭データの輪郭データ領域に追加した後に本ルーチンを終了する。   In step 312, the area obtained by clipping the drawing area of the intermediate code image data to be processed in the clip area set in step 122 stored in the clip buffer 16B is set as the outline data holding area 16C. After adding to the contour data area of the stored contour data, this routine is finished.

ステップ310及びステップ312の処理によって、具体的には、図9(C)に示すように、上記ステップ100の処理によって初期状態では輪郭データ保持領域16Cには、なにも格納されていない状態にあるが(輪郭データ57D参照)、ステップ312の処理によって、クリップ有効区間内のクリップ命令を含まない中間コード画像データ54Cについては、この中間コード画像データ54Cの描画領域56Cを、上記ステップ122で設定されたクリップ領域(中間コード画像データ54Bの描画領域56B)によってクリップした領域を表す輪郭データ領域58Cの輪郭データ57Cが、輪郭データ保持領域16Cに格納される。   9C, specifically, as shown in FIG. 9C, the outline data holding area 16C is not stored in the initial state by the process of step 100 described above. If there is an intermediate code image data 54C that does not include a clip command within the valid clip section (see contour data 57D), the drawing area 56C of the intermediate code image data 54C is set in step 122 above. The contour data 57C of the contour data region 58C representing the region clipped by the clipped region (the drawing region 56B of the intermediate code image data 54B) is stored in the contour data holding region 16C.

なお、ステップ310の処理によって、クリップ開始命令を含む中間コード画像データ54B及びクリップ終了命令を含む中間コード画像データ54Dからは何も輪郭データが生成されない。   Note that no contour data is generated from the intermediate code image data 54B including the clip start command and the intermediate code image data 54D including the clip end command by the processing of step 310.

上記ステップ300で否定されると、ステップ302へ進み、処理対象の中間コード画像データが、上記ステップ136で設定された論理演算シーケンス内の中間コード画像データであるか否かを判別し、肯定されて、処理対象の中間コード画像データが論理演算シーケンス内の中間コード画像データである場合には、ステップ306へ進み、処理対象の中間コード画像データの描画処理命令がクリップ情報であるか否かを判別する。ステップ306の判断は、処理対象の中間コード画像データの描画処理命令が、論理演算命令「AND」であるか否かを判別することによって可能である。   If the result in Step 300 is negative, the process proceeds to Step 302, where it is determined whether or not the intermediate code image data to be processed is intermediate code image data in the logical operation sequence set in Step 136. If the intermediate code image data to be processed is intermediate code image data in the logical operation sequence, the process proceeds to step 306, where it is determined whether or not the drawing process instruction for the intermediate code image data to be processed is clip information. Determine. The determination in step 306 can be made by determining whether or not the drawing process command for the intermediate code image data to be processed is the logical operation command “AND”.

ステップ306で否定され、論理演算命令が「XOR」である場合には、輪郭データを生成せずに本ルーチンを終了し、論理演算命令が「AND」である場合には、ステップ308へ進み、輪郭データ保持領域16Cに格納されている輪郭データの輪郭データ領域に、処理対象の中間コード画像データのクリップ領域としての描画領域の輪郭を表す輪郭データ領域を追加した後に本ルーチンを終了する。   If the result in Step 306 is negative and the logical operation instruction is “XOR”, the routine is terminated without generating contour data. If the logical operation instruction is “AND”, the process proceeds to Step 308. After adding the contour data area representing the contour of the drawing area as the clip area of the intermediate code image data to be processed to the contour data area of the contour data stored in the contour data holding area 16C, this routine is terminated.

ステップ306及びステップ308の処理によって、具体的には、図10(C)に示すように、上記ステップ100の処理によって、初期状態では輪郭データ保持領域16Cには、なにも格納されていない状態となるが(輪郭データ61D参照)、ステップ308の処理によって、論理演算シーケンス区間内のクリップ情報「AND」を含まない、「XOR」を含む中間コード画像データ60D及び中間コード画像データ60Bについては、各描画領域62B及び描画領域62Dの輪郭データ領域を、輪郭データ保持領域16Cに格納されている輪郭データの輪郭データ領域に含めず、論理演算シーケンス区間内のクリップ情報「AND」を含む中間コード画像データ60Cについては、描画領域62Cの輪郭を表す輪郭データ領域を輪郭データ保持領域16Cに格納されている輪郭データの輪郭データ領域に追加する。   As a result of the processing in step 306 and step 308, specifically, as shown in FIG. 10C, in the initial state, nothing is stored in the contour data holding area 16C by the processing in step 100 above. However, the intermediate code image data 60D and the intermediate code image data 60B that do not include the clip information “AND” in the logical operation sequence section and include “XOR” by the processing in step 308 are as follows. The intermediate code image including the clip information “AND” in the logical operation sequence section without including the contour data areas of the respective drawing areas 62B and 62D in the outline data area of the outline data stored in the outline data holding area 16C. For the data 60C, the contour data area representing the contour of the drawing area 62C is used as the contour data. Add to outline data area of the contour data stored in the data holding area 16C.

一方、上記ステップ302で否定され、処理対象となる中間コード画像データが上記ステップ124で設定されたクリップ有効区間外及び上記ステップ136で設定された論理演算シーケンス区間外である場合には、ステップ304へ進む。   On the other hand, if the result in Step 302 is negative and the intermediate code image data to be processed is outside the valid clip section set in Step 124 and outside the logical operation sequence section set in Step 136, Step 304 is executed. Proceed to

ステップ304では、メモリ16の輪郭データ保持領域16Cに格納されている輪郭データの輪郭データ領域に、処理対象の中間コード画像データの描画領域の輪郭を表す輪郭データ領域を輪郭データ保持領域16Cに格納されている輪郭データの輪郭データ領域に追加した後に、本ルーチンを終了する。   In step 304, the contour data area representing the contour of the drawing area of the intermediate code image data to be processed is stored in the contour data holding area 16C in the outline data area of the outline data stored in the outline data holding area 16C of the memory 16. After adding the contour data to the contour data area, this routine is terminated.

ステップ304の処理によって、具体的には、図9(C)に示すように、論理演算シーケンス区間外及びクリップ有効区間外の中間コード画像データ54Aについては、描画領域56Aの輪郭データ領域を、輪郭データ保持領域16Cに格納されている輪郭データ57Cの輪郭データ領域58Cに追加した輪郭データ領域58Aの輪郭データ57Aが、輪郭データ保持領域16Cに格納される。同様に、図10(C)に示すように、論理演算シーケンス区間外及びクリップ有効区間外の中間コード画像データ60Aについては、描画領域62Aの輪郭データ領域を、輪郭データ保持領域16Cに格納されている輪郭データ61Cの輪郭データ領域64Cに追加した輪郭データ領域64Aの輪郭データ61Aが、輪郭データ保持領域16Cに格納される。   Specifically, as shown in FIG. 9C, the processing of step 304 changes the contour data area of the drawing area 56A to the contour data area 54A for the intermediate code image data 54A outside the logical operation sequence section and outside the clip effective section. The outline data 57A of the outline data area 58A added to the outline data area 58C of the outline data 57C stored in the data holding area 16C is stored in the outline data holding area 16C. Similarly, as shown in FIG. 10C, for the intermediate code image data 60A outside the logical operation sequence section and outside the clip effective section, the outline data area of the drawing area 62A is stored in the outline data holding area 16C. The outline data 61A of the outline data area 64A added to the outline data area 64C of the existing outline data 61C is stored in the outline data holding area 16C.

以上説明したように、本発明の画像形成装置によれば、中間コード画像データを、中間コード画像データの生成順に遡って順次解釈し、中間コード画像データの描画処理命令を判別し、描画処理命令に論理演算命令やクリップ命令が含まれる場合には、命令の内容に基づいて輪郭データを既に生成されて保持されている輪郭データに追加するか否かを判別して判別結果に基づいて輪郭データを生成すると共に、命令の内容に基づいて、中間コード画像データを再生成する。   As described above, according to the image forming apparatus of the present invention, the intermediate code image data is sequentially interpreted retrospectively in the order of generation of the intermediate code image data, the intermediate code image data drawing processing command is determined, and the drawing processing command is determined. When a logical operation instruction or a clip instruction is included in the data, it is determined whether or not the contour data is to be added to the contour data already generated and held based on the content of the command, and the contour data is determined based on the determination result. And the intermediate code image data is regenerated based on the content of the instruction.

詳細には、中間コード画像データの描画処理命令に基づいて、輪郭データの生成処理及び中間コード画像データの再度生成処理を行う。処理対象の中間コード画像データがクリップ有効区間内の中間コード画像データであり且つクリップ命令を含むときには、中間コード画像データの再生成処理を行なわず、また輪郭データの生成を行わない。   More specifically, based on the intermediate code image data drawing processing command, contour data generation processing and intermediate code image data generation processing are performed again. When the intermediate code image data to be processed is intermediate code image data within the clip valid section and includes a clip command, the intermediate code image data is not regenerated and the contour data is not generated.

処理対象の中間コード画像データがクリップ有効区間内の中間コード画像データであり且つクリップ命令を含まないときには、中間コード画像データの描画領域から設定されたクリップ領域及び輪郭データ保持領域16Cに格納されている輪郭データ領域を除いた領域を描画領域するように中間コード画像データを再生成する。また、元中間コード画像データの描画領域を、クリップ領域(同一クリップ有効区間内の他の中間コード画像データによって表されるクリップ領域)でクリップした領域を、輪郭データ保持領域16Cに格納されている輪郭データに追加することにより輪郭データを生成する。   When the intermediate code image data to be processed is intermediate code image data in the clip effective section and does not include a clip command, the intermediate code image data is stored in the clip area and contour data holding area 16C set from the drawing area of the intermediate code image data. The intermediate code image data is regenerated so that the area excluding the contour data area is a drawing area. In addition, an area obtained by clipping the drawing area of the original intermediate code image data with a clip area (a clip area represented by other intermediate code image data in the same clip valid section) is stored in the contour data holding area 16C. Contour data is generated by adding to the contour data.

また、処理対象の中間コード画像データが論理演算シーケンス区間内の中間コード画像データであり且つクリップ情報「AND」を論理演算命令として含むときには、中間コード画像データの描画領域から輪郭データ保持領域16Cに格納されている輪郭データ領域を除いた領域を描画領域とするように、中間コード画像データを再生成する。   When the intermediate code image data to be processed is intermediate code image data in the logical operation sequence section and includes the clip information “AND” as a logical operation instruction, the intermediate code image data is drawn from the drawing area to the contour data holding area 16C. The intermediate code image data is regenerated so that the area excluding the stored contour data area is the drawing area.

また、元中間コード画像データの描画領域を輪郭データ保持領域16Cに格納されている輪郭データ領域に加えた輪郭データとなるように輪郭データを生成する。さらに、処理対象の中間コード画像データが論理演算シーケンス区間内の中間コード画像データであり且つクリップ情報「XOR」を論理演算命令として含むときには、元中間コード画像データをそのまま再生成された中間コード画像データとしてメモリ16の再生成された中間コード画像データを保持するための領域に格納し、輪郭データの生成は行わない。   Further, the contour data is generated so as to become contour data obtained by adding the drawing region of the original intermediate code image data to the contour data region stored in the contour data holding region 16C. Further, when the intermediate code image data to be processed is intermediate code image data in the logical operation sequence section and includes the clip information “XOR” as the logical operation instruction, the intermediate code image in which the original intermediate code image data is regenerated as it is The regenerated intermediate code image data in the memory 16 is stored as data in an area for holding, and no contour data is generated.

従って、中間コード画像データに、クリップ命令や論理演算命令が含まれる場合であっても、描画対象となる領域に応じた輪郭データを生成することができるとともに、描画対象となる描画領域の輪郭に応じた描画領域を含む中間コード画像データから、上層に描画される描画領域を除いた領域を描画領域とするように、中間コード画像データを再生成するので、中間コード画像データのデータ量を削減することができる。   Therefore, even when the intermediate code image data includes a clip command or a logical operation command, it is possible to generate contour data corresponding to the drawing target region and to display the contour of the drawing region to be drawn. The intermediate code image data is regenerated so that the area excluding the drawing area drawn in the upper layer is used as the drawing area from the intermediate code image data including the corresponding drawing area, reducing the amount of intermediate code image data. can do.

また、一般的な描画処理によって得られる出力画像と同一の出力画像が得られるように、中間コード画像データを再生成することができる。   Further, the intermediate code image data can be regenerated so that the same output image as that obtained by a general drawing process is obtained.

すなわち、従来の一般的な描画処理(図9(A)、または図10(A)参照)において、ビットマップ描画領域データを生成するときに、中間コード画像データの描画領域に、論理演算シーケンス内の中間コード画像データ各々の論理演算及び描画領域に基づいて生成される描画領域を上書きすることによって得られる出力画像(例えば出力画像54E及び出力画像60E)と、同一の出力画像が得られるように、且つ中間コード画像データによるメモリ16容量の減少を防ぐことができるように、描画処理命令の内容に基づいて、中間コード画像データを再生成する。再生成処理は、中間コード画像データの描画処理命令の内容に基づいて、この中間コード画像データの描画領域から、描画処理命令の内容に基づいて生成されて輪郭データ保持領域16Cに保持されている輪郭データの輪郭データ領域を除いた描画領域を含む中間コード画像データとなるように、中間コード画像データを再生成する。このようにして再生成された中間コード画像データは、描画処理する対象となる描画領域から、各描画領域の上層側に描画される描画領域による輪郭データ領域を除いた領域を描画領域として含む中間コード画像データであるため、再生成された中間コード画像データに基づいて生成したビットマップ描画領域データに応じた出力画像(図9の出力画像59E及び図10の出力画像66E)は、同一の中間コード画像データから一般的な描画処理によって得られた出力画像(図9の出力画像54E及び図10の出力画像60E)と同一となる。   That is, in the conventional general drawing process (see FIG. 9A or FIG. 10A), when generating the bitmap drawing area data, the intermediate code image data is included in the logical operation sequence in the drawing area. So as to obtain the same output image as the output image (for example, the output image 54E and the output image 60E) obtained by overwriting the drawing area generated based on the logical operation and the drawing area of each intermediate code image data. In addition, the intermediate code image data is regenerated based on the contents of the drawing processing command so that the reduction of the capacity of the memory 16 due to the intermediate code image data can be prevented. In the regeneration process, the intermediate code image data is generated from the intermediate code image data drawing area based on the contents of the drawing process command and held in the contour data holding area 16C based on the contents of the intermediate code image data drawing process instruction. The intermediate code image data is regenerated so that the intermediate code image data includes a drawing area excluding the outline data area of the outline data. The intermediate code image data regenerated in this way is an intermediate code that includes, as a drawing area, an area obtained by removing the outline data area from the drawing area drawn on the upper layer side of each drawing area from the drawing area to be drawn. Since it is code image data, the output images (the output image 59E in FIG. 9 and the output image 66E in FIG. 10) corresponding to the bitmap drawing area data generated based on the regenerated intermediate code image data are the same intermediate This is the same as the output image (the output image 54E in FIG. 9 and the output image 60E in FIG. 10) obtained from the code image data by a general drawing process.

さらに、メモリ16内に保持する中間コード画像データの内、描画領域として重なる領域を除いた領域のみを含むように中間コード画像データを再生成することができるので、ビットマップ描画領域データの生成を高速に行うことができる。   Furthermore, since the intermediate code image data can be regenerated so as to include only the area excluding the overlapping area among the intermediate code image data held in the memory 16, the bitmap drawing area data can be generated. It can be done at high speed.

画像処理装置の機能ブロック図である。It is a functional block diagram of an image processing apparatus. ページ記述データから生成されたクリップ命令を含む一連の中間コード画像データの一例を示す模式図である。It is a schematic diagram which shows an example of a series of intermediate code image data including a clip command generated from page description data. 中間コード画像データ再生成部における処理を示すフローチャートである。It is a flowchart which shows the process in an intermediate code image data regeneration part. 中間コード画像データ再生成部における処理を示すフローチャートである。It is a flowchart which shows the process in an intermediate code image data regeneration part. 中間コード画像データ再生成部における処理を示すフローチャートである。It is a flowchart which shows the process in an intermediate code image data regeneration part. 中間コード画像データ再生成処理を表すフローチャートである。It is a flowchart showing an intermediate code image data regeneration process. 輪郭データ生成処理を表すフローチャートである。It is a flowchart showing an outline data generation process. ページ記述データから生成された論理演算命令を含む一連の中間コード画像データの一例を示す模式図である。It is a schematic diagram which shows an example of a series of intermediate code image data including a logical operation instruction generated from page description data. (A)は、従来の一般的な描画処理を表す模式図であり、(B)は、本発明の中間コード画像データにクリップ命令が含まれる場合における中間コード画像データ再生成シーケンスを表す模式図であり、(C)は、本発明の中間コード画像データにクリップ命令が含まれる場合における輪郭データ生成シーケンスを表す模式図である。(A) is a schematic diagram showing a conventional general drawing process, and (B) is a schematic diagram showing an intermediate code image data regeneration sequence when a clip command is included in the intermediate code image data of the present invention. (C) is a schematic diagram showing a contour data generation sequence in the case where a clip command is included in the intermediate code image data of the present invention. (A)は、従来の一般的な描画処理を表す模式図であり、(B)は、本発明の中間コード画像データに論理演算命令が含まれる場合における中間コード画像データ再生成シーケンスを表す模式図であり、(C)は、本発明の中間コード画像データに論理演算命令が含まれる場合における、輪郭データ生成シーケンスを表す模式図である。(A) is a schematic diagram showing a conventional general drawing process, and (B) is a schematic diagram showing an intermediate code image data regeneration sequence when a logical operation instruction is included in the intermediate code image data of the present invention. FIG. 6C is a schematic diagram illustrating a contour data generation sequence when a logical operation instruction is included in the intermediate code image data of the present invention. (A)は、従来の一般的な描画処理を表す模式図であり、(B)は、従来発明(特許文献1)の中間コード画像データ再生成シーケンスを表す模式図であり、(C)は、従来発明(特許文献1)の輪郭データ生成シーケンスを表す模式図である。(A) is a schematic diagram showing the conventional general drawing process, (B) is a schematic diagram showing the intermediate code image data regeneration sequence of the conventional invention (Patent Document 1), (C) is FIG. 10 is a schematic diagram showing a contour data generation sequence of the conventional invention (Patent Document 1). (A)は、従来の一般的な描画処理を表す模式図であり、(B)は、従来発明(特許文献1)の中間コード画像データにクリップ命令が含まれる場合における中間コード画像データ再生成シーケンスを表す模式図であり、(C)は、従来発明(特許文献1)の中間コード画像データにクリップ命令が含まれる場合における輪郭データ生成シーケンスを表す模式図である。(A) is a schematic diagram showing a conventional general drawing process, and (B) is an intermediate code image data regeneration when a clip command is included in the intermediate code image data of the conventional invention (Patent Document 1). It is a schematic diagram showing a sequence, and (C) is a schematic diagram showing a contour data generation sequence when a clip command is included in the intermediate code image data of the conventional invention (Patent Document 1). (A)は、従来の一般的な描画処理を表す模式図であり、(B)は、従来発明(特許文献1)の中間コード画像データに論理演算命令が含まれる場合における中間コード画像データ再生成シーケンスを表す模式図であり、(C)は、従来発明(特許文献1)の中間コード画像データに論理演算命令が含まれる場合における輪郭データ生成シーケンスを表す模式図である。(A) is a schematic diagram showing a conventional general drawing process, and (B) is a reproduction of intermediate code image data when a logical operation instruction is included in the intermediate code image data of the conventional invention (Patent Document 1). It is a schematic diagram showing a composition sequence, and (C) is a schematic diagram showing a contour data generation sequence in the case where a logical operation instruction is included in the intermediate code image data of the conventional invention (Patent Document 1). 中間コード画像データ再生成部における処理を示すフローチャートである。It is a flowchart which shows the process in an intermediate code image data regeneration part. 中間コード画像データ再生成部における処理を示すフローチャートである。It is a flowchart which shows the process in an intermediate code image data regeneration part.

符号の説明Explanation of symbols

10 画像処理装置
16 メモリ
18 中間コード画像データ生成部
20 中間コード画像データ再生成部
22 中間コード画像データ解釈部
DESCRIPTION OF SYMBOLS 10 Image processing apparatus 16 Memory 18 Intermediate code image data generation part 20 Intermediate code image data regeneration part 22 Intermediate code image data interpretation part

Claims (8)

所定の描画順序に従って層状に描画される複数のオブジェクトの各々を表すと共に各オブジェクトを描画するときの描画処理を表す描画処理命令を含むページ記述データを、描画処理命令毎に前記オブジェクトの描画順序に従って順次解釈し、描画処理命令とオブジェクトを表す描画領域またはオブジェクトを生成するための描画領域とを含む中間コード画像データに変換する変換する変換手段と、
前記変換手段によって変換された中間コード画像データを描画処理命令毎に記憶する記憶手段と、
前記中間コード画像データを前記中間コード画像データの生成順序を遡って前記記憶手段から順次読み取る読取手段と、
前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別を判別する判別手段と、
前記判別手段による判別結果に基づいて、該描画領域の輪郭を表す輪郭データの輪郭データ領域を、前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成する輪郭データ生成手段と、
前記読取手段によって読み取られた中間コード画像データを、該中間コード画像データの描画領域から前記輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成する中間コード画像データ再生成手段と、
を備えた画像処理装置。
Representing each of a plurality of objects drawn in layers according to a predetermined drawing order and including page description data including drawing processing instructions representing drawing processing when each object is drawn, according to the drawing order of the objects for each drawing processing instruction Conversion means for sequentially converting and converting to intermediate code image data including a drawing processing instruction and a drawing area representing an object or a drawing area for generating an object;
Storage means for storing the intermediate code image data converted by the conversion means for each drawing processing command;
Reading means for sequentially reading the intermediate code image data from the storage means by going back the generation order of the intermediate code image data;
A discriminating unit for discriminating a type of a drawing processing command included in the intermediate code image data read by the reading unit;
Contour data generating means for generating contour data including the contour data area of the contour data representing the contour of the drawing area in the contour data area of the previously generated contour data based on the determination result by the determining means;
The intermediate code image data read by the reading unit is regenerated as intermediate code image data obtained by removing the contour data region of the contour data previously generated by the contour data generating unit from the drawing region of the intermediate code image data. Code image data regeneration means;
An image processing apparatus.
前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより該クリップ命令が有効なクリップ有効区間を特定する特定手段を含み、
前記輪郭データ生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記クリップ命令であると判別されたときに、前記特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから、該クリップ命令に応じて抽出した領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成し、
前記中間コード画像データ再生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記クリップ命令であると判別されたときに、前記特定手段によって特定されたクリップ有効区間内の複数の中間コード画像データから、該クリップ命令に応じて抽出した領域から前記輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた領域を描画領域とする中間コード画像データを再生成する、請求項1に記載の画像処理装置。
The determination unit is a clip command indicating that a type of a drawing processing command included in the intermediate code image data read by the reading unit is to extract a partial region in a drawing region of other intermediate code image data. When it is determined, a clip valid section in which the clip command is valid is specified by searching the intermediate code image data including a drawing area for generating the same object as the intermediate code image data retroactively to the generation order. Including identification means,
The contour data generating means is specified by the specifying means when it is determined by the determining means that the type of the drawing process command included in the intermediate code image data read by the reading means is the clip command. From the plurality of intermediate code image data within the clip effective section, generate contour data including the contour data region representing the contour of the region extracted according to the clip command in the contour data region of the contour data generated previously,
The intermediate code image data regenerating means is determined by the specifying means when the determining means determines that the type of the drawing process command included in the intermediate code image data read by the reading means is the clip instruction. A region obtained by excluding the contour data region of the contour data previously generated by the contour data generation unit from the region extracted according to the clip command from the plurality of intermediate code image data in the specified clip effective section is defined as a drawing region. The image processing apparatus according to claim 1, wherein the intermediate code image data to be generated is regenerated.
前記輪郭データ生成手段は、前記輪郭データを生成した後に、描画処理命令の種別が前記クリップ命令の中間コード画像データを、前記記憶手段から削除する削除手段を含む請求項2に記載の画像処理装置。   3. The image processing apparatus according to claim 2, wherein the contour data generation unit includes a deletion unit that deletes, from the storage unit, intermediate code image data whose type of the drawing command is the clip command after generating the contour data. 4. . 前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより該論理演算命令が有効な論理演算区間を特定する特定手段と、前記特定手段によって特定された論理演算区間内の複数の中間コード画像データの内の論理演算命令としてクリップ情報を有する中間コード画像データを判定する判定手段と、を含み、
前記輪郭データ生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記論理演算命令であると判別されたときに、前記判定手段によって判定された中間コード画像データの描画領域の輪郭を表す輪郭データ領域を前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成し、
前記中間コード画像データ再生成手段は、前記判別手段によって前記読取手段により読み取られた中間コード画像データに含まれる描画処理命令の種別が前記論理演算命令であると判別されたときに、前記判定手段によって判定された中間コード画像データを、該中間コード画像データの描画領域から前記輪郭データ生成手段によって前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成し、前記判定手段によって判定された中間コード画像データ以外の前記特定手段によって特定された中間コード画像データを再生成後の中間コード画像データとする、
請求項1に記載の画像処理装置。
The determining unit is configured to generate the same object as the intermediate code image data when determining that the type of the drawing process command included in the intermediate code image data read by the reading unit is a logical operation command. A specifying means for specifying a logical operation section in which the logical operation instruction is valid by searching the intermediate code image data including the drawing area retroactively to the generation order; and a plurality of logical operation sections specified by the specifying means Determination means for determining intermediate code image data having clip information as a logical operation instruction in the intermediate code image data,
The contour data generating means is determined by the determining means when it is determined by the determining means that the type of the drawing processing instruction included in the intermediate code image data read by the reading means is the logical operation instruction. Generating contour data including the contour data region representing the contour of the drawing region of the intermediate code image data included in the contour data region of the previously generated contour data;
The intermediate code image data regenerating unit is configured to determine the determination unit when it is determined that the type of the drawing processing instruction included in the intermediate code image data read by the reading unit is the logical operation instruction. The intermediate code image data determined by the above is regenerated as intermediate code image data obtained by removing the contour data area of the contour data previously generated by the contour data generating means from the drawing area of the intermediate code image data, and the determining means The intermediate code image data specified by the specifying means other than the intermediate code image data determined by the intermediate code image data after the regeneration,
The image processing apparatus according to claim 1.
前記判別手段による判別結果に基づいて、中間コード画像データの再生成を省略するように、前記中間コード画像データ再生成手段を制御する再生成省略制御手段を備えた請求項1に記載の画像処理装置。   The image processing according to claim 1, further comprising: a regeneration skip control unit that controls the intermediate code image data regeneration unit so as to omit the regeneration of the intermediate code image data based on a determination result by the determination unit. apparatus. 前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が他の中間コード画像データの描画領域内の一部領域を抽出することを表すクリップ命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより、該クリップ命令が有効なクリップ有効区間を特定する特定手段を含み、
前記再生成省略制御手段は、前記特定手段によって特定されたクリップ有効区間内の中間コード画像データについて、中間コード画像データの再生成を省略するように、前記中間コード画像データ再生成手段を制御する請求項1または請求項5に記載の画像処理装置。
The determination unit is a clip command indicating that a type of a drawing processing command included in the intermediate code image data read by the reading unit is to extract a partial region in a drawing region of other intermediate code image data. When it is determined, the clip effective section in which the clip command is valid is specified by searching the intermediate code image data including the drawing area for generating the same object as the intermediate code image data in the generation order. Including specific means to
The re-generation omission control means controls the intermediate code image data re-generation means so as to omit the re-generation of the intermediate code image data for the intermediate code image data in the clip valid section specified by the specifying means. The image processing apparatus according to claim 1 or 5.
前記判別手段は、前記読取手段によって読み取られた中間コード画像データに含まれる描画処理命令の種別が論理演算命令であると判別したときに、該中間コード画像データと同一のオブジェクトを生成するための描画領域を含む中間コード画像データを前記生成順序に遡って検索することにより該論理演算命令が有効な論理演算有効区間を特定する特定手段を含み、
前記再生成省略制御手段は、前記特定手段によって特定された論理演算有効区間内の中間コード画像データについて、中間コード画像データの再生成を省略するように、前記中間コード画像データ再生成手段を制御する請求項1または請求項5に記載の画像処理装置。
The determining unit is configured to generate the same object as the intermediate code image data when determining that the type of the drawing process command included in the intermediate code image data read by the reading unit is a logical operation command. Including specifying means for specifying a logical operation valid section in which the logical operation instruction is valid by searching the intermediate code image data including the drawing area retroactively to the generation order;
The re-generation omission control means controls the intermediate code image data re-generation means so as to omit the re-generation of the intermediate code image data for the intermediate code image data in the logical operation valid section specified by the specifying means. The image processing apparatus according to claim 1 or 5.
所定の描画順序に従って層状に描画される複数のオブジェクトの各々を表すと共に各オブジェクトを描画するときの描画処理を表す描画処理命令を含むページ記述データを、描画処理命令毎に前記オブジェクトの描画順序に従って順次解釈し、描画処理命令とオブジェクトを表す描画領域またはオブジェクトを生成するための描画領域とを含む中間コード画像データに変換し、
前記変換された中間コード画像データを描画処理命令毎に記憶し、
前記中間コード画像データを前記中間コード画像データの生成順序を遡って順次読み取り、
前記読み取った中間コード画像データに含まれる描画処理命令の種別を判別し、
判別結果に基づいて、該描画領域の輪郭を表す輪郭データの輪郭データ領域を、前回生成した輪郭データの輪郭データ領域に含めた輪郭データを生成し、
前記読み取った中間コード画像データを、該中間コード画像データの描画領域から前回生成された輪郭データの輪郭データ領域を除いた中間コード画像データとして再生成する、
画像処理方法。
Representing each of a plurality of objects drawn in layers according to a predetermined drawing order and including page description data including drawing processing instructions representing drawing processing when each object is drawn, according to the drawing order of the objects for each drawing processing instruction Interpretation sequentially, converting to intermediate code image data including drawing processing instructions and a drawing area representing an object or a drawing area for generating an object,
Storing the converted intermediate code image data for each drawing processing command;
The intermediate code image data is sequentially read back in the generation order of the intermediate code image data,
Determining the type of drawing processing instruction included in the read intermediate code image data;
Based on the determination result, generate contour data including the contour data region of the contour data representing the contour of the drawing region in the contour data region of the contour data generated previously,
The read intermediate code image data is regenerated as intermediate code image data obtained by removing the contour data region of the contour data generated previously from the drawing region of the intermediate code image data.
Image processing method.
JP2005172780A 2005-06-13 2005-06-13 Image processing device Expired - Fee Related JP4706345B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005172780A JP4706345B2 (en) 2005-06-13 2005-06-13 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005172780A JP4706345B2 (en) 2005-06-13 2005-06-13 Image processing device

Publications (2)

Publication Number Publication Date
JP2006350466A true JP2006350466A (en) 2006-12-28
JP4706345B2 JP4706345B2 (en) 2011-06-22

Family

ID=37646275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005172780A Expired - Fee Related JP4706345B2 (en) 2005-06-13 2005-06-13 Image processing device

Country Status (1)

Country Link
JP (1) JP4706345B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013004032A (en) * 2011-06-21 2013-01-07 Canon Inc Image processing device and image processing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177657A (en) * 1996-10-18 1998-06-30 Fuji Xerox Co Ltd Picture processing method and picture processor
JPH11224343A (en) * 1998-02-09 1999-08-17 Fuji Xerox Co Ltd Plotting processor
JP2002334341A (en) * 2001-05-11 2002-11-22 Fuji Xerox Co Ltd Image processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177657A (en) * 1996-10-18 1998-06-30 Fuji Xerox Co Ltd Picture processing method and picture processor
JPH11224343A (en) * 1998-02-09 1999-08-17 Fuji Xerox Co Ltd Plotting processor
JP2002334341A (en) * 2001-05-11 2002-11-22 Fuji Xerox Co Ltd Image processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013004032A (en) * 2011-06-21 2013-01-07 Canon Inc Image processing device and image processing method

Also Published As

Publication number Publication date
JP4706345B2 (en) 2011-06-22

Similar Documents

Publication Publication Date Title
JPH1196145A (en) Storage control system for document image data
JP2008052602A (en) Image density conversion method, image enhancement processor, and its program
JP4706345B2 (en) Image processing device
JP4944761B2 (en) Image processing apparatus, image processing method, and program
JP3817473B2 (en) Image output apparatus and image processing method
JP5111269B2 (en) Image processing apparatus and image processing method
JP2001324975A (en) Image processor
JP2019111677A (en) Image processing device, image processing device control method, image forming device and program
CN109218556A (en) Carry out image processing apparatus, drawing modification method and the storage medium of drawing modification
JP5820159B2 (en) Image processing apparatus and image processing method
JP4539801B2 (en) Image processing apparatus and image forming apparatus
JP2825273B2 (en) Drawing management method and apparatus
JP4378061B2 (en) Image processing apparatus, image processing method, and computer-readable recording medium recording program for causing computer to execute the method
JP3117987B2 (en) Image processing device
JP3660434B2 (en) Image output device and image output procedure recording medium
JP2001209640A (en) Image information converter, image processor, method therefor and recording medium
JP3225633B2 (en) Image data management device
JPH10187849A (en) Data string processor
JP2007183886A (en) Image processing apparatus
JP2000112955A (en) Picture display method, picture filing device and record medium
JPH11202852A (en) Image processor
JPH096940A (en) Image processor and method therefor
JP2007079934A (en) Image processor
JPS60256853A (en) Method and device for file retrieval
JPH07203178A (en) Image data processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110126

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110228

LAPS Cancellation because of no payment of annual fees