[go: up one dir, main page]

JP2003143419A - Picture processing apparatus and method therefor - Google Patents

Picture processing apparatus and method therefor

Info

Publication number
JP2003143419A
JP2003143419A JP2001340213A JP2001340213A JP2003143419A JP 2003143419 A JP2003143419 A JP 2003143419A JP 2001340213 A JP2001340213 A JP 2001340213A JP 2001340213 A JP2001340213 A JP 2001340213A JP 2003143419 A JP2003143419 A JP 2003143419A
Authority
JP
Japan
Prior art keywords
data
color
edge
graphic
color space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001340213A
Other languages
Japanese (ja)
Inventor
Kunihiko Kobayashi
邦彦 小林
Toshio Yamazaki
寿夫 山崎
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 JP2001340213A priority Critical patent/JP2003143419A/en
Publication of JP2003143419A publication Critical patent/JP2003143419A/en
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)
  • Color, Gradation (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a picture processing apparatus which performs a high-speed and accurate color-correction and color-conversion. SOLUTION: The picture processing apparatus 11 has a data reserving portion 1B for reserving as intermediate data the depictive data to be depicted in response to a plurality of graphic data; an edge generating means included in a rendering portion 1C and for so deriving each graphic data from the reserved intermediate data as to acquire every graphic data its edges, each of which has the width equal to the one of a predetermined scanning line; a graphic-overlap excluding processing means included in the rendering portion 1C and for excluding the overlaps of the edges present among the respective generated graphic data; a sort-processing means included in the rendering portion 1C and for performing a sort-processing to the edge string from which the overlaps of the edges have been excluded; the rendering portion 1C; and a color correcting and color converting portion 1I for performing a color- correction and color-conversion to the depictive color of each edge of the edge string subjected to the sort-processing.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、パーソナルコンピ
ュータ等から送られる画像データを処理して出力する画
像処理装置および画像処理方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus and an image processing method for processing and outputting image data sent from a personal computer or the like.

【0002】[0002]

【従来の技術】近年、レーザープリンタ等の印字装置に
装着される画像処理装置では、より少ないメモリ量で処
理を可能とするために、入力された印刷情報を、ページ
を複数の領域に分けた部分領域に分割して、この部分領
域毎に印字装置が印字可能なビットマップイメージデー
タに変換する手法がとられている。
2. Description of the Related Art In recent years, in an image processing apparatus mounted on a printing apparatus such as a laser printer, input print information is divided into a plurality of pages in order to enable processing with a smaller amount of memory. A method is adopted in which the image data is divided into partial areas and converted into bit map image data which can be printed by the printing device for each partial area.

【0003】この方法では、1ページの印刷情報全てを
検査しなければ、描画データがページ上のどの位置に描
画されるか分からないという理由から、入力された印刷
情報を1ページ分保存する必要がある。
In this method, it is necessary to save the input print information for one page because it is impossible to know where on the page the drawing data is drawn unless all the print information for one page is inspected. There is.

【0004】一般に、1ページ分の印刷情報を保存する
には、ビットマップイメージデータへ比較的簡単に変換
可能な中間データに変換される。一方、レーザビームプ
リンタ等の画像出力装置では、年々、画像の出力速度が
向上する傾向にあり、上記ビットマップイメージデータ
を画像出力装置の出力速度に追従させるため、出力画像
を一旦圧縮して圧縮ビットマップイメージデータに変換
し、画像出力装置の出力に同期して圧縮ビットマップイ
メージデータを伸張するハードウェアにより、伸張画像
を形成する手法がとられている。
Generally, in order to save one page of print information, it is converted into intermediate data which can be converted into bitmap image data relatively easily. On the other hand, in image output devices such as laser beam printers, the image output speed tends to increase year by year. In order to make the bitmap image data follow the output speed of the image output device, the output image is once compressed and compressed. A technique of forming a decompressed image by hardware that converts the bit map image data and decompresses the compressed bit map image data in synchronization with the output of the image output device is used.

【0005】さらに、ドキュメントの表現技術も、年々
高度化してきており、論理演算付き描画(Raster Opera
tion、以下「ROP」と言う。)や、高精度の色補正・
色変換をサポートする必要が高まってきている。
Further, the technology for expressing documents has been soaring year by year, and rendering with logical operation (Raster Opera
tion, hereinafter referred to as "ROP". ), High-precision color correction
There is a growing need to support color conversion.

【0006】このような状況下において、特開2000
−52601号公報では、中間コードからビットマップ
イメージデータを生成する際の色補正・色変換の一例が
示されている。この技術によれば、RGB表色系で表現
された中間コードを、描画オブジェクトを判別する描画
判別フラグを各ビットに付加したラスターへ変換する。
その結果、ラスターに変換された中間コードを、各ビッ
トに付加された描画判別フラグを基にRGB表色系から
CMYK表色系へ変換することにより、色の再現性が高
くなるように最適な色の調整を行うことができる。
Under such circumstances, Japanese Patent Laid-Open No. 2000-2000
Japanese Patent Publication No. 52601 discloses an example of color correction / color conversion when generating bitmap image data from an intermediate code. According to this technique, the intermediate code expressed in the RGB color system is converted into a raster in which a drawing discrimination flag for discriminating a drawing object is added to each bit.
As a result, the intermediate code converted into the raster is converted from the RGB color system to the CMYK color system on the basis of the drawing discrimination flag added to each bit, so that the color reproducibility is optimized. Color adjustments can be made.

【0007】また、特開平10−51636号公報で
は、ROP処理を伴うビットマップイメージデータを生
成する際の、色補正・色変換の一例が示されている。こ
の技術によれば、印刷データがROPであるか否かによ
り2値レンダリングと多値レンダリングを切り替え、さ
らに、色補正・色変換処理を切り替える。その結果、R
OPを行わない領域では2値レンダリングを行うことに
より処理速度を向上させると共に、ROPを正しく扱う
ことが可能となる。さらに、色補正・色変換処理を切り
替えることから、色の再現性が高くなるように最適な色
の調整を行うことができる。
Japanese Patent Laid-Open No. 10-51636 discloses an example of color correction / color conversion when generating bitmap image data accompanied by ROP processing. According to this technique, binary rendering and multi-valued rendering are switched depending on whether or not the print data is ROP, and further color correction / color conversion processing is switched. As a result, R
By performing binary rendering in a region where no OP is performed, the processing speed can be improved and the ROP can be handled correctly. Furthermore, since color correction / color conversion processing is switched, it is possible to perform optimum color adjustment so that color reproducibility is improved.

【0008】また、特開平10−51651号公報で
は、ROP処理を伴うビットマップイメージデータを生
成する際の、色補正・色変換の一例が示されている。こ
の技術によれば、印刷データに付加されている色値に対
して色補正・色変換処理を行い2値化した後、CMYK
ROP処理を行う。その結果、入力色値を基に色補正・
色変換処理を行うため、良好なROP処理を行うことが
できる。
Further, Japanese Patent Application Laid-Open No. 10-51651 discloses an example of color correction / color conversion when generating bitmap image data accompanied by ROP processing. According to this technique, the color values added to the print data are subjected to color correction / color conversion processing to be binarized, and then CMYK.
Perform ROP processing. As a result, color correction based on the input color value
Since color conversion processing is performed, good ROP processing can be performed.

【0009】また、特開2001−111805号公報
では、論理演算の処理方法として、下地図形と追加図形
との間で所定の論理演算を行うにあたり、スキャンライ
ン毎に、下地図形データと追加図形データとから、各々
の塗りつぶし線分を決定し、線分に着色すべき色データ
について、論理演算合成データを生成することを特徴と
している。この手法によれば、従来、ラスターデータを
生成した後に論理演算を行っていた場合と比べ、少メモ
リでかつ、高速に処理できる。
Further, in Japanese Unexamined Patent Application Publication No. 2001-111805, as a method of processing a logical operation, when performing a predetermined logical operation between a base graphic and an additional graphic, the base graphic data and the additional graphic data are scan line by scan line. From the above, each of the filled line segments is determined, and logical operation combined data is generated for the color data to be colored in the line segment. According to this method, it is possible to perform processing with a small memory and at high speed, as compared with the case where a logical operation is conventionally performed after generating raster data.

【0010】[0010]

【発明が解決しようとする課題】しかしながら、特開2
000−52601号公報、特開平10−51636号
公報に開示される技術は、レンダリング後のラスターデ
ータに対して色補正・色変換を行う必要がある。
[Patent Document 1] Japanese Unexamined Patent Application Publication No.
The techniques disclosed in Japanese Patent Laid-Open No. 000-52601 and Japanese Patent Laid-Open No. 10-51636 require color correction / color conversion for raster data after rendering.

【0011】例えば、600dpiのラスターデータを
生成する場合、A4の用紙に必要な画素数は、縦496
0ピクセル横7015ピクセル必要であり、合計347
94400ピクセルもの画素に対して色補正・色変換を
行う必要がある。
For example, when generating raster data of 600 dpi, the number of pixels required for A4 size paper is 496 pixels vertically.
0 pixels wide and 7015 pixels are required, totaling 347
It is necessary to perform color correction and color conversion on 94400 pixels.

【0012】しかしながら、前記公報に開示されている
技術では、全てのピクセルについて色補正・色変換を行
う必要があり、色補正・色変換処理が全体の処理速度に
深刻な影響を与えている。
However, in the technique disclosed in the above publication, it is necessary to perform color correction / color conversion for all pixels, and the color correction / color conversion processing seriously affects the overall processing speed.

【0013】また、特開平10−51651号公報に開
示される技術は、ROP処理前に色補正・色変換を行う
必要があり、ROP処理される描画オブジェクト間で色
補正パラメータが異なる場合、正確なROP処理を行う
ことができないという問題が生じる。
Further, the technique disclosed in Japanese Patent Laid-Open No. 10-51651 requires color correction / color conversion before ROP processing, and when the color correction parameters are different between the drawing objects to be ROP processed, it is accurate. There is a problem that it is impossible to perform a proper ROP process.

【0014】また、2001−111805号公報に開
示される技術では、出力結果となる論理演算済みの出力
データの全てについてRGB空間からCMYK空間への
色変換を行うことになり、色変換に要する時間が長くな
るという問題がある。
Further, in the technique disclosed in 2001-111805, color conversion from RGB space to CMYK space is performed for all logically output data that is an output result, and the time required for color conversion is Has the problem of becoming longer.

【0015】本発明は、これらの問題に鑑みてなされた
もので、最小限のピクセルについてのみ色補正・色変換
処理を実行し、かつ、正確なROP処理を行うことを目
的とした画像処理方法および装置を提供するものであ
る。
The present invention has been made in view of these problems, and an image processing method for performing color correction / color conversion processing only on a minimum number of pixels and for performing accurate ROP processing. And a device.

【0016】[0016]

【課題を解決するための手段】本発明は上記目的を達成
するために案出されたもので、複数の図形データに応じ
て描画すべき描画データを中間データとして保存する中
間データ保存処理手段と、中間データ保存処理手段に保
存された中間データから各図形データを取り出して、各
図形データ毎に、所定のスキャンライン幅づつ描画色情
報を付加したエッジを取得するエッジ生成手段と、エッ
ジ生成手段で生成された各図形データ間のエッジの重な
りを排除する図形重なり排除処理手段と、図形重なり排
除処理手段で重なりを排除したエッジ列に対し、ソート
処理を行うエッジソート処理手段と、エッジソート処理
手段に基づいてソート処理されたエッジ列の各エッジの
描画色に対して色補正処理を行う色補正手段と、色補正
手段で補正が施されたエッジの描画色に対して色空間変
換を行う変換手段とを備えている。
The present invention has been devised in order to achieve the above object, and an intermediate data saving processing means for saving drawing data to be drawn as intermediate data according to a plurality of graphic data. An edge generation unit that extracts each graphic data from the intermediate data stored in the intermediate data storage processing unit and acquires an edge to which drawing color information is added for each predetermined scan line width for each graphic data, and an edge generation unit. Figure overlap elimination processing means for eliminating the overlap of edges between each piece of figure data generated in step 1, and edge sort processing means for performing a sorting process on the edge sequence from which overlap has been eliminated by the figure overlap elimination processing means, and edge sort processing A color correction unit that performs color correction processing on the drawing color of each edge of the edge sequence that is sorted based on the color correction unit And a conversion unit that performs color space conversion with respect to the edge of the drawing color was.

【0017】このような本発明では、描画色情報が付加
されたエッジ間で論理演算を行った後、色補正・色空間
変換を行うことにより、冗長な色補正・色空間変換を行
う必要が無くなり、さらに、正確な論理演算処理を行う
ことが可能となる。
According to the present invention as described above, it is necessary to perform redundant color correction / color space conversion by performing color correction / color space conversion after performing a logical operation between the edges to which the drawing color information is added. Furthermore, it becomes possible to perform accurate logical operation processing.

【0018】また、本発明は、第1の色空間で定義され
る描画データを入力する入力手段と、入力手段で入力さ
れた描画データから中間コードを生成する中間コード生
成手段と、中間コード生成手段で生成された中間コード
を出力装置に適した形式のデータに変換するレンダリン
グ手段と、中間コード生成手段で中間コードを生成する
際に、所定の論理演算が存在する領域を特定して第1の
付加情報を作成する第1付加情報作成手段と、第1付加
情報作成手段で作成された第1の付加情報を参照して中
間コードの一部を第1の色空間から第2の色空間へ変換
する第1色変換手段と、第1色変換手段で色変換を実施
する際に、色変換されずに残る第1の色空間の中間コー
ドが存在する領域を特定して第2の付加情報を作成する
第2付加情報作成手段と、第2付加情報作成手段で作成
された第2の付加情報を参照してレンダリング処理後の
データに対して、第1の色空間から第2の色空間へ変換
する第2の色変換手段とを備えている。
According to the present invention, the input means for inputting the drawing data defined in the first color space, the intermediate code generating means for generating an intermediate code from the drawing data input by the input means, and the intermediate code generating means. A rendering means for converting the intermediate code generated by the means into data in a format suitable for the output device; and a first logical area specifying an area in which a predetermined logical operation exists when the intermediate code generating means generates the intermediate code. First additional information creating means for creating additional information of the intermediate code and a part of the intermediate code from the first color space to the second color space by referring to the first additional information created by the first additional information creating means. A first color conversion means for converting to the second color conversion means, and a second addition by specifying an area in which the intermediate code of the first color space that remains without color conversion when performing the color conversion by the first color conversion means Create second additional information to create information A second color conversion for converting the first processed color space into the second processed color space by referring to the second additional information created by the second additional information creating means. And means.

【0019】また、第1の色空間で定義される描画デー
タを入力する工程と、入力された描画データから中間コ
ードを生成する工程と、中間コードを生成する際に、所
定の論理演算が存在する領域を特定して第1の付加情報
を作成する工程と、第1の付加情報を参照して中間コー
ドの一部を第1の色空間から第2の色空間へ変換する工
程と、中間コードの一部を第1の色空間から第2の色空
間へ変換する際、色変換されずに残る第1の色空間の中
間コードが存在する領域を特定して第2の付加情報を作
成する工程と、中間コードを出力装置に適した形式のデ
ータに変換するレンダリングを行った後、第2の付加情
報を参照して色変換されずに残った領域を第1の色空間
から第2の色空間へ変換する工程とを備える方法でもあ
る。
Further, there is a step of inputting drawing data defined in the first color space, a step of generating an intermediate code from the input drawing data, and a predetermined logical operation when the intermediate code is generated. Specifying a region to be created and creating first additional information; converting a part of the intermediate code from the first color space to the second color space by referring to the first additional information; When a part of the code is converted from the first color space to the second color space, the second additional information is created by specifying the area where the intermediate code of the first color space that remains without color conversion exists. And the rendering of converting the intermediate code into data of a format suitable for the output device, and referring to the second additional information, the area left uncolor-converted from the first color space to the second And a step of converting the color space into the color space.

【0020】このような本発明では、描画データに論理
演算が存在する領域を第1の付加情報として特定し、論
理演算が存在しない描画データについては予めレンダリ
ング前のコードデータの段階で色変換を行うようにする
ことから、第1の色空間から第2の色空間への変換を高
速に行うことができるようになる。
According to the present invention as described above, the area in which the logical operation exists in the drawing data is specified as the first additional information, and the drawing data in which the logical operation does not exist is color-converted in advance at the stage of the code data before rendering. By performing the conversion, the conversion from the first color space to the second color space can be performed at high speed.

【0021】[0021]

【発明の実施の形態】以下、本発明の実施の形態を図に
基づいて説明する。図1は、本実施形態の画像処理装置
の内部構造を説明するブロック図である。すなわち、画
像処理装置11は、先ず、データ入力部12によって、
パーソナルコンピュータ等の上位装置から送られてくる
データを入力し、場合によっては複数データ分、データ
を保存して、以降の処理を円滑に行わせるような調整を
行う。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram illustrating the internal structure of the image processing apparatus of this embodiment. That is, the image processing apparatus 11 first causes the data input unit 12 to
Data sent from a higher-level device such as a personal computer is input, and in some cases, a plurality of data is stored, and adjustments are performed so that the subsequent processing can be performed smoothly.

【0022】次に、このデータは、印刷情報解釈部13
によって、文字、グラフィックス、イメージ等に分類さ
れる。それぞれ分類されたデータは、必要な情報と共に
各々の処理を担当するデータの変換/生成部へと送られ
る。
Next, this data is sent to the print information interpretation unit 13
Are classified into characters, graphics, images, etc. Each classified data is sent to the data conversion / generation unit in charge of each processing together with necessary information.

【0023】先ず、文字の場合は、文字生成部14にデ
ータが渡される。文字生成部14では、渡されたデータ
と、画像処理装置11の内部にデータ入力以前から存在
する文字データ記憶部19に記憶されているアウトライ
ン形式のデータとから、出力データの座標空間に適合し
た文字の輪郭データを生成する。
First, in the case of a character, the data is passed to the character generator 14. The character generation unit 14 conforms to the coordinate space of the output data from the passed data and the outline format data stored in the character data storage unit 19 existing inside the image processing apparatus 11 before the data input. Generate character outline data.

【0024】また、印字情報解析部13によって、グラ
フィックスデータであると分類された場合、座標値を表
すデータ列がグラフィックス変換部15へ渡される。グ
ラフィックス変換部15では、渡されたデータを、出力
データの座標空間に適合したデータに変換する。
When the print information analysis unit 13 classifies the data as graphics data, a data string representing coordinate values is passed to the graphics conversion unit 15. The graphics conversion unit 15 converts the passed data into data adapted to the coordinate space of the output data.

【0025】その後、図形分割変換部17において、入
力された段階よりも、出力データに近い、複数の単純な
図形の集合に分割する。これは、三角形や台形といっ
た、幾何的なデータの集合で表される。
Thereafter, the figure division conversion unit 17 divides the set into a plurality of simple figure sets that are closer to the output data than the input stage. This is represented by a set of geometric data such as triangles and trapezoids.

【0026】また、印刷情報解釈部13によってイメー
ジであると分類された場合、データはイメージ変換部1
6に送られる。イメージ変換部では、イメージの拡大・
縮小や、色空間の調整等が行われる。また、同時に、イ
メージの輪郭形状を表現するための輪郭データを生成す
る。
When the print information interpretation unit 13 classifies the image as an image, the data is image conversion unit 1.
Sent to 6. In the image conversion section,
Reduction and adjustment of the color space are performed. At the same time, the contour data for expressing the contour shape of the image is generated.

【0027】これらの処理が行われると、次に、文字、
グラフィックス、イメージの輪郭データは、クリップ処
理部1Aに送信される。クリップ処理とは、例えば、ペ
ージをはみ出した図形を切り取ったり、あるいは、予め
設定された自由形状の領域で図形を切り取る処理を行
う。
When these processes are performed, next, characters,
The graphics and image outline data are transmitted to the clip processing unit 1A. The clipping process is, for example, a process of cutting out a graphic protruding from a page, or a process of cutting out a graphic in a preset free-form area.

【0028】その後、クリップ処理された描画データ
は、データ保存部1Bに送信される。データ保存部1B
では、図形形状や、イメージの輪郭形状などは、レンダ
リング部1Cで、データ出力部1Gに出力するのに適し
た中間データに変換され、中間データ保存領域1Eに格
納される。
Then, the clipped drawing data is transmitted to the data storage unit 1B. Data storage unit 1B
Then, the graphic shape, the contour shape of the image, and the like are converted by the rendering unit 1C into intermediate data suitable for output to the data output unit 1G, and stored in the intermediate data storage area 1E.

【0029】一方、イメージ変換部16から出力される
イメージデータは、イメージ圧縮部1Dで所定の圧縮方
式により圧縮され、データ保存部1Bで圧縮イメージデ
ータ保存領域1Fに保存される。
On the other hand, the image data output from the image conversion unit 16 is compressed by the image compression unit 1D by a predetermined compression method, and is stored in the compressed image data storage area 1F by the data storage unit 1B.

【0030】以上の処理を1ページの印刷情報の入力が
終わるまで繰り返すことで、1ページ分の中間データと
圧縮イメージデータを保存する。
By repeating the above processing until the input of print information for one page is completed, the intermediate data and compressed image data for one page are saved.

【0031】上記の処理によって保存された中間データ
および圧縮イメージデータは、印刷情報解釈部13で解
析されたデータ出力命令の指示を受けて、レンダリング
部1Cでデータ出力部1Gに適したデータ形式に変換さ
れた後に、データ出力部1Gへ送信される。
The intermediate data and the compressed image data saved by the above processing are instructed by the data output command analyzed by the print information interpreting unit 13 to be in a data format suitable for the data output unit 1G in the rendering unit 1C. After the conversion, it is transmitted to the data output unit 1G.

【0032】レンダリング部1Gでは、データ出力部1
Gに適したデータ形式に変換される際に、必要であれば
ROP処理を論理演算描画部1Hで行い、データ出力部
1Gに適したデータ形式が確定した時点で、色補正・色
変換部1Iで色補正・色空間変換処理を実行した後、デ
ータ処理部1Gへ生成されたデータを送信する。
In the rendering unit 1G, the data output unit 1
When converting to a data format suitable for G, ROP processing is performed by the logical operation drawing unit 1H if necessary, and when the data format suitable for the data output unit 1G is determined, the color correction / color conversion unit 1I After the color correction / color space conversion processing is executed in step 1, the generated data is transmitted to the data processing unit 1G.

【0033】本実施形態の画像処理装置11では、出力
データの形式をスキャンライン毎のエッジ配列とする。
すなわち、レンダリング部1Cからデータ出力部1Gへ
は、ページの高さ分のエッジ配列を順次出力するものと
する。また、スキャンライン毎の出力が可能であるた
め、複数ライン分保存しておいてからデータ送信すると
いった処理も可能である。
In the image processing apparatus 11 of this embodiment, the format of output data is an edge array for each scan line.
That is, the edge array for the height of the page is sequentially output from the rendering section 1C to the data output section 1G. Further, since it is possible to output for each scan line, it is possible to store a plurality of lines and then transmit the data.

【0034】上記データ保存部1Bで作成される中間デ
ータ、圧縮イメージデータ、および、両者の関連につい
て図2を用いて説明する。図2に示す中間データは、図
形の輪郭情報などを記憶するデータの形式を示してい
る。中間データは、大別するとヘッダ部とデータ部との
2つの領域から構成される。
The intermediate data and the compressed image data created in the data storage unit 1B and the relationship between them will be described with reference to FIG. The intermediate data shown in FIG. 2 indicates the format of data for storing the outline information of the figure and the like. The intermediate data is roughly divided into two areas, a header section and a data section.

【0035】ヘッダ部では、各々の図形全てに付加され
るデータであり、4つの領域からなる。1つ目の領域
は、リンク情報を表しており、データ部で表される図形
データの開始スキャンライン位置(副操作位置、または
Y座標値)が同一の図形同士をリスト構造で結合するた
めに使用される。
The header portion is data added to each figure, and is composed of four areas. The first area represents link information, and is used to combine figures having the same start scan line position (sub-operation position or Y coordinate value) of the figure data represented by the data section in a list structure. used.

【0036】例えば、図3(A)に示す、図形Aと図形
Cは同一のY座標値50からY座標値が減少する方向に
広がって存在する。このとき、リンク情報によって、図
3(B)に示すように図形Cと図形Aはリンクされる。
For example, as shown in FIG. 3A, the figure A and the figure C are spread from the same Y coordinate value 50 in the direction in which the Y coordinate value decreases. At this time, the graphic C and the graphic A are linked by the link information as shown in FIG.

【0037】2つ目の領域は、描画順序IDであり、描
画の順番を表す。図3(A)の例では、図形AからB、
C、Dの順番に描画される場合を示している。この場
合、図形AにはID番号0、Bには1、Cには2、Dに
は3が格納される。
The second area is a drawing order ID and represents the drawing order. In the example of FIG. 3A, figures A to B,
The drawing shows the case of drawing in the order of C and D. In this case, ID number 0 is stored in figure A, 1 is stored in B, 2 is stored in C, and 3 is stored in D.

【0038】3つ目の領域は、属性情報を表している。
この領域では、例えば、図形種に対して「文字」「グラ
フィックス」「イメージ」の区別を行ったり、図形形状
として「矩形」「台形」「直線」の区別を行う。
The third area represents attribute information.
In this area, for example, "characters", "graphics", and "images" are distinguished from each other with respect to graphic types, and "rectangle", "trapezoid", and "straight line" are distinguished as graphic shapes.

【0039】4つ目の領域は、論理演算描画属性を表し
ている。この領域では、例えば、論理和、論理積、排他
的論理和等を指定することによって、既に描画されてい
る図形との間で論理演算を行い、その結果を描画できる
ようになる。
The fourth area represents the logical operation drawing attribute. In this area, for example, by designating a logical sum, a logical product, an exclusive logical sum, etc., it becomes possible to perform a logical operation with a graphic already drawn and draw the result.

【0040】5つ目の領域は、色値、又は、イメージを
識別するためのID番号を格納する。3つ目の領域の属
性情報で示す図形種が「文字」または「グラフィック
ス」の場合、この領域に色値を格納する。また、図形種
が「イメージ」の場合、この領域にイメージを識別する
ためのID番号を格納する。
The fifth area stores a color value or an ID number for identifying an image. When the graphic type indicated by the attribute information of the third area is "character" or "graphics", the color value is stored in this area. When the graphic type is "image", an ID number for identifying the image is stored in this area.

【0041】一方、データ部では、図形の位置・輪郭を
表す情報を格納する。ここでは、「直線」「矩形」「台
形」によって、全ての図形形状が表されていると仮定し
て、図4に示す形式を使用する。
On the other hand, the data section stores information indicating the position / outline of the figure. Here, the format shown in FIG. 4 is used, assuming that all graphic shapes are represented by “straight line”, “rectangle”, and “trapezoid”.

【0042】図形形状が「矩形」の場合、形式は「高
さ」「始・終点座標」によって表される。Y座標値は、
図3(A)および(B)に示すとおり、Y座標値によっ
て図形同士はリンクされるので、Y軸値を基準としたテ
ーブルで表される。
When the figure shape is "rectangle", the format is represented by "height" and "start / end point coordinates". The Y coordinate value is
As shown in FIGS. 3A and 3B, since the figures are linked by the Y coordinate value, they are represented by a table based on the Y axis value.

【0043】また、図形形状が「直線」の場合、形式は
「高さ」「始点座標」「傾き」によって表される。この
うち、「傾き」とは、Y座標を1つ減少させた場合のX
座標の移動距離を表す。
When the figure shape is "straight line", the format is represented by "height", "start point coordinate" and "tilt". Of these, the "tilt" is the X when the Y coordinate is decreased by one.
Indicates the moving distance of coordinates.

【0044】また、図形形状が「台形」の場合、上記に
示した図形形状の「直線」が、左右に2つあるものとし
て表し、「高さ」「左辺の始点座標」「左辺の傾き」
「右辺の始点座標」「右辺の傾き」で表す。
When the figure shape is a "trapezoid", it is expressed as if there are two "straight lines" of the figure shape shown above on the left and right, and "height""starting point coordinate of the left side""inclination of the left side".
It is represented by "start point coordinate of right side" and "tilt of right side".

【0045】本実施形態では、ここに示す3つの図形形
状によって全ての図形を表すものとするが、これに限る
ものではない。図形の位置・輪郭の表現方法としては、
特開平9−171564号公報に記述される方式に示さ
れるように、図形をエッジ列の集合として表現し、1つ
1つのエッジは、位置やランレングスを表す可変長のセ
ルで表現する手法もある。
In the present embodiment, all the figures are represented by the three figure shapes shown here, but the present invention is not limited to this. As a method of expressing the position and outline of a figure,
As shown in the method described in Japanese Unexamined Patent Publication No. 9-171564, there is also a method in which a figure is expressed as a set of edge sequences and each edge is expressed by a variable-length cell that represents a position or run length. is there.

【0046】次に、圧縮イメージデータについて説明す
る。圧縮データは、入力されたイメージデータを所定の
圧縮方法によって圧縮した符号データである。このデー
タは、圧縮イメージデータとして、図1に示す圧縮イメ
ージデータ保存領域1Fに保存される。
Next, the compressed image data will be described. The compressed data is code data obtained by compressing the input image data by a predetermined compression method. This data is stored as compressed image data in the compressed image data storage area 1F shown in FIG.

【0047】図形種が「イメージ」である場合、中間デ
ータの4つ目の領域では、イメージID番号を表す。こ
のID番号から、圧縮イメージ参照データが1つ特定さ
れる。圧縮イメージ参照データは5つの領域から構成さ
れる。
When the graphic type is "image", the image ID number is represented in the fourth area of the intermediate data. One compressed image reference data is specified from this ID number. The compressed image reference data is composed of five areas.

【0048】すなわち、1つ目は、中間データの4つ目
の領域に格納されたものと同一のイメージID番号を格
納する領域であり、2つ目は、圧縮前のイメージの幅サ
イズを格納する領域であり、3つ目は、圧縮前のイメー
ジの高さサイズを格納する領域であり、4つ目は、圧縮
イメージデータの開始アドレスを格納する領域であり、
5つ目は、この圧縮イメージデータの大きさを格納する
領域である。
That is, the first is an area for storing the same image ID number as that stored in the fourth area of the intermediate data, and the second is the width size of the image before compression. The third is an area for storing the height size of the image before compression, the fourth is an area for storing the start address of the compressed image data,
The fifth is an area for storing the size of the compressed image data.

【0049】この圧縮イメージ参照データを、中間デー
タと圧縮イメージデータの間に介在させることによっ
て、中間データから、圧縮イメージデータを伸張して展
開することが可能であり、また、圧縮イメージデータを
再圧縮などの所定の処理を行ってデータサイズや格納場
所を変更した場合でも、中間データを書きかえることな
く、圧縮イメージ参照データを書き換えるだけでよい。
By interposing this compressed image reference data between the intermediate data and the compressed image data, the compressed image data can be decompressed and expanded from the intermediate data, and the compressed image data can be regenerated. Even if the data size or storage location is changed by performing a predetermined process such as compression, it is only necessary to rewrite the compressed image reference data without rewriting the intermediate data.

【0050】次に、図3、図5に基づき、上記の中間デ
ータが格納される例を説明する。ここで、図3、図5に
おける例示は、図形種が全て「グラフィックス」である
場合を示している。図形種が「文字」の場合は、本発明
の画像処理装置では全く違いがないものとする。また、
図形種が「イメージ」の場合は、輪郭形状としては、
「グラフィックス」や「文字」と何ら変わりがないため
に、ここでは説明を省略するものとする。
Next, an example in which the above intermediate data is stored will be described with reference to FIGS. Here, the examples in FIGS. 3 and 5 show a case where all graphic types are “graphics”. If the figure type is "character", it is assumed that there is no difference in the image processing apparatus of the present invention. Also,
When the figure type is "image", the outline shape is
Since there is no difference from "graphics" and "characters", the description thereof is omitted here.

【0051】先ず、図3(A)では、図形AからB、
C、Dの順に描画される4つの図形をX、Y軸のグラフ
上に示している。すなわち、図3(A)は、最終的に出
力装置によって出力される描画結果を表している。
First, in FIG. 3A, figures A to B,
Four graphics drawn in the order of C and D are shown on the graphs of the X and Y axes. That is, FIG. 3A shows the drawing result finally output by the output device.

【0052】図形Aは台形形状(上記の中間データで
は、三角形は台形として表現される)であり、残りの3
つの図形は矩形形状で表されているものとする。また、
色の違いは、ハッチングの違いによって表している。こ
れら4つの図形に中間データ中のリンク情報を模擬的に
付加した図が、図3(B)である。
The figure A has a trapezoidal shape (in the above intermediate data, a triangle is represented as a trapezoid), and the remaining 3
It is assumed that the two figures have a rectangular shape. Also,
The difference in color is represented by the difference in hatching. FIG. 3B is a diagram in which the link information in the intermediate data is simulatedly added to these four figures.

【0053】ここで、本実施形態の画像処理装置におけ
るデータ保存方法は、同一のY軸上に図形描画の開始座
標を持つ場合、互いの図形はリンクする構成をとる。こ
のとき、図形の描画順を基準として、リンクの先頭か
ら、常に新しいものを連結するように構成する。
Here, in the data storage method in the image processing apparatus of this embodiment, when the start coordinates for drawing figures are on the same Y axis, the figures are linked to each other. At this time, based on the drawing order of the figures, new ones are always connected from the beginning of the link.

【0054】例えば、図3(B)においては、図形Aの
後に図形Cが描画されている。この場合、Y座標テーブ
ルの50の位置からリンクをたどる時、始めに図形Cが
出現し、次に図形Aが出現するように連結する。
For example, in FIG. 3B, the figure C is drawn after the figure A. In this case, when the link is traced from the position 50 in the Y coordinate table, the graphic C appears first, and the graphic A appears next.

【0055】また、図中では、Y座標のテーブルを矩形
記号内部に座標値として記述した形式で表現したが、こ
のテーブルは配列形式の構造であって、内部に始めにリ
ンクされた図形が格納される記録媒体のアドレスを表記
しているような形式であってもよい。
Further, in the figure, the Y coordinate table is expressed in the form of coordinate values written in the rectangular symbol, but this table has an array structure, in which the first linked graphic is stored. The format may be such that the address of the recording medium is written.

【0056】上述した、図形の描画順を基準とするリン
ク関係を明確にするために、図3(C)に、縦軸にY軸
を、横軸に時間(描画順)の軸をとったものを示す。こ
の図は、描画順を基準として、図形A、B、C、Dの順
番に描画されることを示している。
In order to clarify the above-mentioned link relationship based on the drawing order of the figures, the Y axis is taken as the vertical axis and the time (drawing order) axis is taken as the horizontal axis in FIG. 3C. Show things. This drawing shows that the figures A, B, C, and D are drawn in the order based on the drawing order.

【0057】図5は、上記の図形A、B、C、D、の中
間データの保存状況を示す図である。図5において、メ
モリやHDDなどの記録媒体に、図形A、B、C、Dの
順番に中間データが格納されている。ただし、このデー
タ順は、記録媒体上で連続である必要はなく、ランダム
に格納されていても問題ない。
FIG. 5 is a diagram showing a storage state of the intermediate data of the above-mentioned figures A, B, C and D. In FIG. 5, intermediate data is stored in the order of figures A, B, C, and D in a recording medium such as a memory or an HDD. However, this data order does not need to be continuous on the recording medium, and it does not matter if they are stored randomly.

【0058】ここで、図形Aについて、そのデータ内容
の詳細を説明する。図形Aは、Y座標値50の図形リス
トにおいて終端に位置するので、中間データのヘッダ部
の1つ目の領域は「リンクなし」の情報が格納される。
通常、リンク情報はメモリなどの記録媒体のアドレス情
報によって表現されるので「リンクなし」は、値0など
を予約することによって表現できる。
Here, details of the data content of the graphic A will be described. Since the figure A is located at the end of the figure list having the Y coordinate value of 50, the information "no link" is stored in the first area of the header portion of the intermediate data.
Usually, the link information is expressed by address information of a recording medium such as a memory, so that "no link" can be expressed by reserving a value of 0 or the like.

【0059】次に、2番目の領域は、図形の描画順序I
Dを表す領域であり、図形Aが始めに描画された図形な
ので番号0が格納される。
Next, the second area is the drawing order I of the figure.
This is an area representing D, and the number 0 is stored because the figure A is the figure drawn first.

【0060】次に、3番目の領域は、図形の属性を表す
領域であり、図形種が「グラフィックス」、図形形状が
「台形」であることが格納される。
Next, the third area is an area showing the attribute of a graphic, and the fact that the graphic type is "graphics" and the graphic shape is "trapezoid" is stored.

【0061】次に、4番目の領域は、論理演算描画時の
論理式を表す領域であり、論理式が「PUT」であるこ
とが格納されている。「PUT」は、論理演算描画を行
わない指定であり、論理演算を行う場合には「OR」や
「AND」等が格納される。
Next, the fourth area is an area showing a logical expression at the time of drawing a logical operation, and it is stored that the logical expression is "PUT". “PUT” is a designation not to perform logical operation drawing, and “OR”, “AND”, etc. are stored when performing logical operation.

【0062】次に、5番目の領域は、色値を表す領域で
あり、図形Aを塗りつぶす色値が格納される。図5で
は、色値としてαという値で例示している。
Next, the fifth area is an area showing a color value, and the color value with which the figure A is filled is stored. In FIG. 5, the color value is illustrated as a value α.

【0063】中間データのデータ部は、図形属性の図形
形状が「台形」であることから、5つの領域で構成さ
れ、それぞれ、「高さ」が20、「左辺の始点座標」が
60.0、「左辺の傾き」が0.0、「右辺の始点座
標」が60.0、「右辺の傾き」が1.0として格納さ
れる。この値は、図形Aが三角形状であって、高さが2
0であり、頂点のX座標が60であり、左辺は垂直な辺
であり、右辺が45度に傾いていることを表している。
Since the figure shape of the figure attribute is "trapezoid", the data portion of the intermediate data is composed of five areas, and "height" is 20 and "starting point coordinate of left side" is 60.0, respectively. , "Left side slope" is stored as 0.0, "right side start point coordinate" is stored as 60.0, and "right side slope" is stored as 1.0. This value is such that the figure A has a triangular shape and the height is 2
It is 0, the X coordinate of the vertex is 60, the left side is a vertical side, and the right side is inclined at 45 degrees.

【0064】図形B、C、D、については矩形として、
同様にデータが格納される。また、図形Cについては、
リンク情報として図形Aを指し示すように設定される。
通常、このリンク情報は、図形Aのデータの先頭アドレ
スによって表される。さらに図形Cは、「論理演算描画
指定」として「OR」が指定されている。
The figures B, C and D are rectangular,
Similarly, data is stored. For figure C,
The link information is set to point to the graphic A.
Usually, this link information is represented by the start address of the data of graphic A. Further, in the figure C, "OR" is designated as "designation of logical operation drawing".

【0065】以上、上記に説明した中間データ、およ
び、圧縮イメージデータの形式によって、1ページ分の
描画データが、図1に示す中間データ保存領域1E、お
よび圧縮イメージデータ保存領域1Fに保存される。
As described above, the drawing data for one page is stored in the intermediate data storage area 1E and the compressed image data storage area 1F shown in FIG. 1 according to the format of the intermediate data and the compressed image data described above. .

【0066】その後、印刷情報解釈部13からのデータ
出力命令を受けて、これらのデータは、レンダリング部
1Cによって出力データに変換される。以降は、このレ
ンダリング処理について説明する。
Then, in response to a data output command from the print information interpretation unit 13, these data are converted into output data by the rendering unit 1C. Hereinafter, this rendering process will be described.

【0067】ここで説明するレンダリング処理は、図形
種において「グラフィックス」の場合を示しているが、
「文字」についても全く同様の処理が行われる。また、
「イメージ」については、描画するイメージ形状そのも
のは「文字」や「グラフィックス」と同等な操作が可能
なので、ここでは、説明を省略するものとする。
The rendering process described here shows the case where the graphics type is "graphics".
The same process is performed for "character". Also,
As for the “image”, since the image shape itself to be drawn can be operated in the same manner as “character” or “graphics”, the description thereof will be omitted here.

【0068】本実施形態の画像処理装置11のレンダリ
ング部1Cで行われるレンダリング処理は、主としてエ
ッジ生成処理、エッジ重なり排除処理およびエッジ配列
ソート処理を備えている。
The rendering process performed by the rendering unit 1C of the image processing apparatus 11 of this embodiment mainly includes an edge generation process, an edge overlap eliminating process, and an edge array sorting process.

【0069】先ず、1ライン毎にエッジ配列を出力する
ためのレンダリング処理の概要を具体的な例を使用して
説明する。図3に示した、図形Aから図形Dまでを用い
ると、図6に示すように処理される。図6(A)は、図
3(A)に示したものと同一で、1ページ分の図形を表
し、この図形に対応する中間データが実データとして記
録媒体に格納されている。
First, the outline of the rendering process for outputting the edge array for each line will be described using a specific example. When the figures A to D shown in FIG. 3 are used, the processing is performed as shown in FIG. FIG. 6A is the same as that shown in FIG. 3A and shows a figure for one page, and intermediate data corresponding to this figure is stored in the recording medium as actual data.

【0070】レンダリング処理は、Y軸を基準として登
録された図形全体の中で、最もY軸値が大きいものから
処理を開始する。図6の場合、Y軸値50から開始し、
以後、49、48、と結果が出力されて、Y軸値が0に
なった時点で終了する。ここで説明する例は、Y軸を大
きい方から小さい方へと遡って出力しているが、Y座標
に関連して中間データや処理方法などを鏡像に反転して
処理すれば、Y軸の小さい方から大きい方へ処理するこ
とも可能である。
The rendering process is started from the one having the largest Y-axis value among all the figures registered with the Y-axis as a reference. In the case of FIG. 6, starting from a Y-axis value of 50,
Thereafter, the result is output as 49, 48, and the process ends when the Y-axis value becomes 0. In the example described here, the Y-axis is traced back from the larger one to the smaller one, but if the intermediate data and the processing method etc. are mirror-inverted and processed in relation to the Y-coordinate, the Y-axis It is also possible to process from the smaller side to the larger side.

【0071】また、以降のレンダリング処理の説明を分
かりやすくするために、中間データにおいて、図形間の
リンクによって繋がれているリストを図形リストと呼ぶ
ことにする。また、描画時点で、出力対象となっている
図形間のリンクによって繋がれているリストを描画リス
トと呼ぶことにする。
Further, in order to make the description of the rendering process that follows easy to understand, the list connected by the links between the figures in the intermediate data will be called a figure list. In addition, a list connected by links between figures to be output at the time of drawing is called a drawing list.

【0072】図3において矢印によって表されるリスト
は、すべて図形リストであり、図6において、太線の矢
印によって表されるリストが描画リストにあたる。
The lists represented by arrows in FIG. 3 are all graphic lists, and the lists represented by bold arrows in FIG. 6 correspond to drawing lists.

【0073】図6(A)において、グラフの右に示され
る描画区間から描画区間までは、各々の区間におい
て描画リストが異なる場合で区分けしている。描画区間
では、図形C、図形Aの順に描画リストに繋がれて、
この2つの図形について処理が行われる。
In FIG. 6A, from the drawing section shown on the right side of the graph to the drawing section, the sections are divided when the drawing list is different in each section. In the drawing section, the figure C and the figure A are connected in this order to the drawing list,
Processing is performed on these two figures.

【0074】描画区間では、図形C、図形B、図形A
が、描画リストに繋がれて、この3つの図形について処
理が行われる。同様に、描画区間では、図形D、図形
C、図形Bの3つについて処理が行われ、描画区間で
は、図形D、図形Cの2つの図形について処理が行われ
る。この様子を示したものが、図6(B)(C)(D)
の図であり、それぞれ、描画区間、描画区間、描画
区間の処理を行っている状態を示している。
In the drawing section, graphic C, graphic B, and graphic A
However, the processing is performed on these three figures by connecting to the drawing list. Similarly, processing is performed on three figures D, C and B in the drawing section, and processing is performed on two figures D and C in the drawing section. This is shown in FIG. 6 (B) (C) (D).
FIG. 4B illustrates a drawing section, a drawing section, and a drawing section, respectively.

【0075】また、描画区間について注目すると、Y
座標値50について、図形C、図形Aの順にエッジを1
つずつ生成し、このラインの処理を終了すると、Y座標
値49について、再び、図形C、図形Aの順にエッジを
1つずつ生成する。このように、各ライン毎に、描画リ
ストに繋がれている図形から、描画順序において新しい
ものから古いものへと操作していって、描画時点のY座
標値に対応するエッジを生成する処理を行う。
Further, paying attention to the drawing section, Y
For coordinate value 50, add 1 edge in order of figure C and figure A.
When the processing of this line is completed, one edge is generated again in the order of the figure C and the figure A for the Y coordinate value 49. In this way, for each line, the graphics connected to the drawing list are operated from newest to oldest in the drawing order to generate an edge corresponding to the Y coordinate value at the time of drawing. To do.

【0076】図7は、エッジが生成される状態を示した
図である。図7(A)は、図形Aの上方の一部を示して
いる。図7(B)は、Y座標値が、50から48まで処
理されるにつれて変化する図形Aの中間データの内容を
示している。
FIG. 7 is a diagram showing a state in which an edge is generated. FIG. 7A shows a part of the upper part of the figure A. FIG. 7B shows the content of the intermediate data of the graphic A in which the Y coordinate value changes as it is processed from 50 to 48.

【0077】先ず、Y座標値50では、初期状態の図形
Aの中間データを参照する。この結果、X方向の始点が
60、終点が60のエッジを取り出すことができる。こ
の出力の後に、それぞれで、台形の左右の傾きを両辺に
加算して、かつ、高さを1つ減算する。この結果が、図
7(B)のY座標値49の図形Aの中間データとなる。
First, for the Y coordinate value 50, the intermediate data of the figure A in the initial state is referred to. As a result, it is possible to extract an edge having a start point of 60 and an end point of 60 in the X direction. After this output, the left and right inclinations of the trapezoid are added to both sides and the height is subtracted by 1, respectively. This result becomes the intermediate data of the figure A having the Y coordinate value 49 in FIG.

【0078】Y座標値が49の場合、中間データの内容
からX方向の始点が60、終点が61のエッジを取り出
すことができる。このようにして、1ライン毎に中間デ
ータの内部の値を書きかえることによって、エッジを1
ライン毎に出力することが可能となる。
When the Y coordinate value is 49, an edge having a starting point of 60 and an ending point of 61 in the X direction can be extracted from the contents of the intermediate data. In this way, by rewriting the internal value of the intermediate data for each line,
It is possible to output for each line.

【0079】また、ここに示した「台形」や「矩形」
「直線」では、「高さ」の値をもつので、あるラインを
処理した後に「高さ」の値を減算する。この結果「高
さ」の値が0になった場合、この図形に対する処理は終
了することになる。ある図形に対する処理が終了した場
合、その図形は、描画リストから取り除かれる。また、
あるY座標に対する処理が全て終了した場合は、次のY
座標の図形リストを参照し、2つのリストから新たな描
画リストを作成する。
The "trapezoid" and "rectangle" shown here
Since a "straight line" has a value of "height", the value of "height" is subtracted after processing a certain line. As a result, when the value of "height" becomes 0, the process for this figure ends. When the processing for a graphic is completed, the graphic is removed from the drawing list. Also,
When all the processing for a certain Y coordinate is completed, the next Y
With reference to the graphic list of coordinates, a new drawing list is created from the two lists.

【0080】例えば、図6(A)から図6(B)に移る
直前では、ちょうどY座標値が41のラインの処理を終
了している。次に、Y座標値が40のラインには、図形
Bが繋がれた図形リストが存在する。
For example, immediately before shifting from FIG. 6A to FIG. 6B, the processing of the line whose Y coordinate value is 41 is finished. Next, on the line with the Y coordinate value of 40, there is a graphic list in which the graphic B is connected.

【0081】ここで、新たな描画リストの作成は、2つ
のリストに繋がれた、各々の図形の描画順序から作成さ
れる。図6の例では、まず、描画リストから、図形Cの
描画順序ID(2番)を取り出す。
Here, the new drawing list is created from the drawing order of each figure linked to the two lists. In the example of FIG. 6, first, the drawing order ID (No. 2) of the graphic C is extracted from the drawing list.

【0082】次に、図形リストから図形Bの描画順序I
D(1番)をとり出して比較する。この結果、図形Cの
ID値の方が大きいので、図形Cの次に図形Bが結合さ
れるように描画リストを更新する。
Next, the drawing order I of the figure B from the figure list I
D (No. 1) is taken out and compared. As a result, since the ID value of the graphic C is larger, the drawing list is updated so that the graphic B is connected next to the graphic C.

【0083】次に、図形Aの描画順序ID(0番)を取
り出して比較する。この結果、図形BのID値の方が大
きいために図形Bの次に図形Aが結合されるように描画
リストを更新する。つまり、2つのリストの先頭から図
形を2つずつ参照し、描画順序IDの大きい方が先にリ
ストに繋がれるように処理する。この結果、描画リスト
は、常に、描画順序を基準として新しいものが先に結合
されるように作成される。
Next, the drawing order ID (No. 0) of the figure A is extracted and compared. As a result, since the ID value of the graphic B is larger, the drawing list is updated so that the graphic A is connected next to the graphic B. That is, two graphics are referenced from the beginning of each of the two lists, and processing is performed so that the larger drawing order ID is connected to the list first. As a result, the drawing list is always created so that new ones are combined first based on the drawing order.

【0084】上記の処理によって、各々のY座標値に対
して、描画順を基準として、新しいものから古いものに
対するエッジが作成されることになる。これらのエッジ
は、重なりを排除した後に、X軸方向にソートして出力
される。さらに、必要であれば重なりを排除する際にエ
ッジ間で論理演算を行う。
By the above processing, edges for new to old ones are created for each Y coordinate value based on the drawing order. These edges are sorted and output in the X-axis direction after the overlap is eliminated. Further, if necessary, a logical operation is performed between the edges when eliminating the overlap.

【0085】ここで、図形の重なりを排除する処理は、
特開平10−177657号公報に記載の方法と同一で
あり、詳細はこの文献に記されている。以下、具体例を
元に処理を説明する。
Here, the processing for eliminating the overlapping of figures is as follows:
The method is the same as that described in JP-A-10-177657, and the details are described in this document. The processing will be described below based on a specific example.

【0086】図8は、図形同士の重なり排除処理の様子
を示している。図8は、図6(C)においてY座標値が
30の描画リストを処理する場合を例示している。この
ラインは描画リストに接続されている、図形D、C、B
の順に、エッジD、エッジC、エッジBが生成されて、
重なり除去処理を各々のエッジ毎に行う。
FIG. 8 shows a state of the overlap elimination processing of figures. FIG. 8 exemplifies a case where the drawing list with the Y coordinate value of 30 in FIG. 6C is processed. This line is connected to the drawing list.
In this order, edge D, edge C, and edge B are generated,
Overlap removal processing is performed for each edge.

【0087】図8(A)は、エッジD、C、Bの位置関
係と結果を表した図であり、図中一番下に示されるよう
に、互いに重なりのない3つのエッジが出力結果とな
る。ここで、エッジの座標を説明すると、エッジDはX
方向の始点が30、終点が59であり、エッジCはX方
向の始点が20、終点が39であり、エッジBはX方向
の始点が10、終点が49である。
FIG. 8A is a diagram showing the positional relationship between the edges D, C and B and the result. As shown at the bottom of the figure, three edges which do not overlap each other are the output results. Become. Explaining the coordinates of the edge, the edge D is X
The starting point in the direction is 30, the ending point is 59, the edge C has a starting point in the X direction of 20, and the ending point is 39, and the edge B has a starting point in the X direction of 10 and an ending point of 49.

【0088】図形の重なりを排除するにあたり、図形を
切り取るべき領域を表すマスクという概念を導入する。
本発明では、全ての図形はエッジで表現されるため、マ
スクもエッジとして表現される。ここでは、説明のため
にマスクエッジと呼ぶ。
In eliminating the overlapping of figures, the concept of a mask representing the area where the figures should be cut out is introduced.
In the present invention, all figures are represented by edges, so masks are also represented as edges. Here, it is called a mask edge for the sake of explanation.

【0089】始めにエッジDの重なりを排除するが、初
期値としてマスクエッジは設定されていない。このた
め、エッジDはそのまま出力結果となる。出力結果は、
あらかじめ用意された作業用の配列に格納される。ここ
に示す配列形式は、エッジの始点、終点、色、および、
属性値からなるものとする。
First, the overlap of the edges D is eliminated, but the mask edge is not set as an initial value. Therefore, the edge D becomes the output result as it is. The output result is
It is stored in a work array prepared in advance. The array format shown here is the edge start point, end point, color, and
It shall consist of attribute values.

【0090】属性値は、エッジが図形種として「グラフ
ィックス」「文字」「イメージ」を区別するように構成
される。上記に説明した中間データと同様に、属性値が
「イメージ」の場合は、色値がイメージID番号を表す
ものとする。
The attribute value is configured such that the edge distinguishes "graphics", "characters", and "images" as graphic types. Similar to the intermediate data described above, when the attribute value is “image”, the color value represents the image ID number.

【0091】エッジDの処理に続いて、このエッジDの
X方向の始点、終点から、マスクエッジを作成する。す
なわち、マスクエッジは、始点が30、終点が59のエ
ッジとして生成される。このマスクエッジに対し、次の
処理対象であるエッジBとの差分を求める。
Following the processing of the edge D, a mask edge is created from the start point and end point of the edge D in the X direction. That is, the mask edge is generated as an edge having a start point of 30 and an end point of 59. The difference between this mask edge and the edge B to be processed next is calculated.

【0092】マスクエッジは、始点が30、終点が59
であるのに対し、エッジBの始点は20、終点は39で
ある。これらの値から、重なりを排除したエッジの始点
は20、終点は29となる。この結果も、作業用の配列
に格納される。
The mask edge has a start point of 30 and an end point of 59.
On the other hand, the start point of the edge B is 20, and the end point thereof is 39. From these values, the start point and the end point of the edge excluding the overlap are 20, and 29, respectively. This result is also stored in the working array.

【0093】ここで、エッジCは図5を参照すると論理
演算描画指定がされているので、論理演算にしたがって
色値を変更する必要がある。論理演算は、対象となるエ
ッジ(ここではエッジC)より下に描画されている図形
と論理演算されるため、色値を下に描画されているエッ
ジの色値との論理演算結果に変更する。例えば、エッジ
Bが下に描画されており、エッジCの論理演算指定が
「OR」であることから、エッジCの描画色値をγor
βに変更する。
Here, since the edge C is designated as a logical operation drawing by referring to FIG. 5, it is necessary to change the color value according to the logical operation. Since the logical operation is logically operated with the figure drawn below the target edge (edge C in this case), the color value is changed to the logical operation result with the color value of the edge drawn below. . For example, since the edge B is drawn below and the logical operation designation of the edge C is “OR”, the drawing color value of the edge C is γor
Change to β.

【0094】次に、マスクエッジは、エッジBの領域と
の和領域へと変更される。すなわち、マスクエッジの始
点は20、終点は59へと変更される。エッジBの場合
と同様に、次の処理対象であるエッジCも、マスクエッ
ジとの差分として求められる。
Next, the mask edge is changed to the sum area with the area of the edge B. That is, the start point of the mask edge is changed to 20, and the end point thereof is changed to 59. Similar to the case of the edge B, the edge C which is the next processing target is also obtained as a difference from the mask edge.

【0095】このようにして、逐次的に重なりを排除す
る処理は行われ、入力に対する出力結果が、その場で生
成される(図8(B)参照)。さらに、生成された配列
には色補正・色変換処理が行われていないため、配列に
記録されている色値に対して色補正・色変換処理を行
う。図形種が「イメージ」の場合は、参照されるイメー
ジに対して色補正・色変換処理を施す。
In this way, the processing for sequentially eliminating the overlap is performed, and the output result for the input is generated on the spot (see FIG. 8B). Further, since the generated array is not subjected to color correction / color conversion processing, color correction / color conversion processing is performed on the color values recorded in the array. When the figure type is “image”, color correction / color conversion processing is performed on the referenced image.

【0096】作成された配列は描画順に依存して格納さ
れているために、1ライン分のエッジ全てについて重な
り排除処理を行った後に、X軸方向にソート処理をする
ことによって、通常のビットマップイメージなどのピク
セル配列と同じようにラスタースキャン順のデータ配列
へと変更できる。
Since the created array is stored depending on the drawing order, the overlap removal processing is performed for all the edges of one line, and then the sorting processing is performed in the X-axis direction to obtain a normal bitmap. It can be changed to a raster scan order data array in the same way as a pixel array such as an image.

【0097】従来では、色補正・色変換処理は、中間デ
ータからバンドバッファにビットマップイメージに展開
して実行されるが、その場合に使用されるバンドバッフ
ァと比較して、色値はエッジ毎に記録されているため、
格段に少ない色補正・色変換回数で色補正・色変換処理
を行うことが可能となる。また、色補正・色変換前に論
理演算処理を実行しているため、正確な色補正・色変換
処理を行うことが可能となる。
Conventionally, the color correction / color conversion processing is executed by expanding the intermediate data into a band buffer into a bit map image, and compared with the band buffer used in that case, the color value is determined for each edge. Recorded in
It is possible to perform color correction / color conversion processing with a significantly reduced number of times of color correction / color conversion. Further, since the logical operation processing is executed before the color correction / color conversion, it is possible to perform the accurate color correction / color conversion processing.

【0098】図9および図10に、上記に概要説明した
レンダリング処理のフローチャートを示す。レンダリン
グ処理は、スキャンライン毎にエッジ配列を出力するも
のとし、更に、エッジ配列は、X軸方向に座標の小さい
ものから大きいものへとソートするものとする。
9 and 10 show flowcharts of the rendering process outlined above. The rendering process outputs an edge array for each scan line, and further, the edge array is sorted in the X-axis direction from small coordinates to large coordinates.

【0099】図9の流れ図において、まず、Y座標の最
大値に対応する図形リストを描画リストの初期値として
設定する(ステップS101)。次に、出力用のエッジ
配列に格納されるエッジのカウンタ「EC」を0に初期
化する(ステップS102)。ここで、エッジは配列で
はなくリストなどの表現も可能であるが、エッジ配列は
最大でページの幅の大きさを超えないので、固定的にペ
ージ幅の大きさの配列を用意しておくものとする。
In the flowchart of FIG. 9, first, the graphic list corresponding to the maximum value of the Y coordinate is set as the initial value of the drawing list (step S101). Next, the edge counter "EC" stored in the output edge array is initialized to 0 (step S102). Here, the edge can be expressed as a list instead of an array, but since the edge array does not exceed the width of the page at the maximum, a fixed array of page width is prepared. And

【0100】次に、描画リストが空であるかどうかを検
査する(ステップS103)。空でない場合は、図10
に記されるサブルーチンに処理が移行する。このサブ
ルーチンについては、後述する。
Next, it is checked whether or not the drawing list is empty (step S103). If not empty, then FIG.
The processing shifts to the subroutine described in. This subroutine will be described later.

【0101】描画リストが空である場合は、エッジ配列
の色値に対して色補正・入り変換処理を実行し(ステッ
プS108)、エッジ配列を出力する(ステップS10
4)。描画リストが空である場合とは、出力対象として
いるY座標値に対応する図形が1つも存在しない場合で
あり、この場合、エッジのカウンタ「EC」は0のまま
であり、これを出力結果とする。また、サブルーチン
から結果が返ってきた場合は、少なくともエッジが1つ
はあるので、これを出力結果とする。
If the drawing list is empty, color correction / entry conversion processing is executed on the color values of the edge array (step S108), and the edge array is output (step S10).
4). The case where the drawing list is empty means that there is no figure corresponding to the Y coordinate value to be output. In this case, the edge counter “EC” remains 0 and the output result is And When the result is returned from the subroutine, there is at least one edge, and this is the output result.

【0102】次に、現在のY座標値が最小値であるかを
検査する(ステップS105)。この判定条件が肯定結
果の場合、ページ全体について、レンダリング処理を終
了する。一方、否定結果の場合、Y座標値を1減算する
(ステップS106)。
Next, it is checked whether or not the current Y coordinate value is the minimum value (step S105). When this determination condition is a positive result, the rendering process is ended for the entire page. On the other hand, when the result is negative, the Y coordinate value is decremented by 1 (step S106).

【0103】続いて、描画リスト更新処理を行う(ステ
ップS107)。描画リスト更新処理は、現在の描画リ
ストと、現在のY座標値に対応する図形リストから、新
たな描画リストを生成する処理を指す。この後、再び、
エッジのカウンタ「EC」を0に初期化する処理へと移
行し、以後、同様に上記の処理を繰り返す。
Subsequently, a drawing list update process is performed (step S107). The drawing list update process refers to a process of generating a new drawing list from the current drawing list and the figure list corresponding to the current Y coordinate value. After this, again
The process proceeds to the process of initializing the edge counter "EC" to 0, and thereafter, the above process is repeated in the same manner.

【0104】サブルーチンは、描画リストに図形がリ
ンクされている場合の処理を示している。まず始めに、
描画リストの先頭の図形を、処理対象図形に設定する
(ステップS201)。
The subroutine shows the processing when a graphic is linked to the drawing list. First of all,
The first figure in the drawing list is set as the figure to be processed (step S201).

【0105】次に、この処理対象図形のエッジを1つ生
成する(ステップS202)。次に、このエッジについ
て重なりを排除する処理を行い、この重なりを排除した
結果を出力用のエッジ配列に格納し、エッジのカウンタ
「EC」に1加算する(ステップS203)。
Next, one edge of this processing target graphic is generated (step S202). Next, a process of eliminating the overlap is performed for this edge, the result of eliminating the overlap is stored in the output edge array, and 1 is added to the edge counter "EC" (step S203).

【0106】次に、エッジを生成した図形の描画が終了
したかを判定する(ステップS204)。この判定は、
図4を使用して説明したとおり、例えば、「矩形」「直
線」「台形」の高さが0になっているかどうかで判定で
きる。この判定で、肯定結果の場合、処理対象図形を描
画リストからは削除する(ステップS205)。
Next, it is judged whether or not the drawing of the figure having the edge is completed (step S204). This decision is
As described using FIG. 4, it can be determined, for example, by whether or not the height of the “rectangle”, “straight line”, and “trapezoid” is zero. If the result of this determination is affirmative, the process target graphic is deleted from the drawing list (step S205).

【0107】図形を描画リストから削除する方法は、1
つ前にリンクされていた図形と次にリンクされている図
形間のリンクを新たに設定する処理を行う。一方、否定
結果の場合、処理対象図形が描画リストの終端であるか
を判定する(ステップS206)。
The method of deleting a figure from the drawing list is 1
A process for newly setting a link between the previously linked figure and the next linked figure is performed. On the other hand, in the case of a negative result, it is determined whether the processing target graphic is the end of the drawing list (step S206).

【0108】この判定は、次にリンクされている図形が
あるかどうかで判定できる。この判定で、肯定結果の場
合は、1ライン分の全てのエッジを生成したことになる
ので、エッジ配列のソート処理を行う(ステップS20
7)。ソート処理は、エッジ配列の先頭からエッジのカ
ウンタ「EC」個分だけソートすればよい。また、ソー
トに使用されるキーは、例えば、エッジの始点座標など
が使用できる。
This determination can be made based on whether or not there is a graphic linked next. If the result of this determination is affirmative, it means that all the edges for one line have been generated, so the edge array is sorted (step S20).
7). The sorting process may be performed by sorting “EC” edge counters from the beginning of the edge array. As the key used for sorting, for example, the starting point coordinates of the edge can be used.

【0109】一方、上記判定処理で、処理対象図形が描
画リストの終端ではないと判定された場合は、処理対象
図形を描画リストの次の図形に設定して(ステップS2
08)、上記に示した処理の中で、エッジ生成処理以降
を繰り返す。
On the other hand, if it is determined in the above determination process that the processing target graphic is not the end of the drawing list, the processing target graphic is set to the next drawing in the drawing list (step S2).
08), the edge generation processing and the subsequent steps are repeated in the above-described processing.

【0110】次に、本発明の他の実施形態を説明する。
先ず、図11のフローチャートに基づいて、一般的な画
像処理の内部処理について説明する。このフローチャー
トでは、画像処理装置が、プリンタ等の印字装置の内部
に組み込まれて動作している場合を想定したもので、ま
ず始めに、PC(パーソナルコンピュータ)などのクラ
イアント装置からページ記述言語(PDL:Page Descr
iption Language)を受け取り、このデータを入力する
(ステップS1101)。ここで入力データは、全てR
GB色空間で定義されているものとする。
Next, another embodiment of the present invention will be described.
First, internal processing of general image processing will be described based on the flowchart of FIG. In this flowchart, it is assumed that the image processing apparatus is incorporated in a printing device such as a printer and is operating. First, a page description language (PDL) is transmitted from a client device such as a PC (personal computer). : Page Descr
iption Language) and receives this data (step S1101). Here, the input data are all R
It is assumed that it is defined in the GB color space.

【0111】次に、PDLの解析を行った後、1ページ
毎に出力データに変換するのに適した中間コードへ変換
する(ステップS1102)。次に、出力装置に応じた
形式のデータ形式へ変換する(ステップS1103)。
ここでは、この変換処理をレンダリング処理と呼ぶ。こ
のレンダリング処理時に、図形に関する属性情報をみ
て、必要に応じて論理演算処理を行って結果を出力す
る。
Next, after the PDL is analyzed, it is converted into an intermediate code suitable for conversion into output data page by page (step S1102). Next, the data format is converted into a data format suitable for the output device (step S1103).
Here, this conversion process is called a rendering process. At the time of this rendering processing, the attribute information regarding the figure is viewed, logical operation processing is performed as necessary, and the result is output.

【0112】次に、この出力結果に対して、RGBから
CMYKへの色変換を行う(ステップS1104)。最
後に色変換結果のデータを出力装置へ出力する(ステッ
プS1105)。なお、上記の処理で、中間コードは一
般的には1ページ分生成されるが、以降の処理は、ペー
ジの部分領域毎に行ってもよい。
Next, color conversion from RGB to CMYK is performed on this output result (step S1104). Finally, the color conversion result data is output to the output device (step S1105). In the above processing, the intermediate code is generally generated for one page, but the subsequent processing may be performed for each partial area of the page.

【0113】図12は、本実施形態の画像処理方法を説
明する処理フローチャートである。なお、ここでは本実
施形態を分かりやすく説明するために内部処理フローチ
ャートを用いているが、各ステップの処理をブロック構
成とした画像処理装置として実現してもよい。
FIG. 12 is a processing flow chart for explaining the image processing method of this embodiment. Although the internal processing flowchart is used here for the sake of easy understanding of the present embodiment, the processing of each step may be realized as an image processing apparatus having a block configuration.

【0114】先ず、図11の場合と同様に、PDLを入
力する(ステップS1201)。次に、中間コードの生
成(ステップS1202)を行いつつ、第1色変換領域
情報生成(第1付加情報作成手段による処理)を行う
(ステップS1202a)。この第1色変換領域情報生
成によって得られるデータを、第1色変換領域情報(第
1の付加情報)と呼ぶことにする。
First, as in the case of FIG. 11, the PDL is input (step S1201). Next, while generating the intermediate code (step S1202), the first color conversion area information generation (processing by the first additional information creating means) is performed (step S1202a). The data obtained by generating the first color conversion area information will be referred to as first color conversion area information (first additional information).

【0115】この第1色変換領域情報生成の処理は、中
間コードの位置や大きさと、論理演算種をみて、レンダ
リング処理時に所定の論理演算処理が必要である場合
は、その領域を限定するような情報を生成する。この第
1色変換領域情報生成の処理およびそのデータ形式につ
いては後述する。この2つの処理は、1ページ分のデー
タ全てが中間コードに変換されるまで行われる。
In the process of generating the first color conversion area information, when the predetermined logical operation processing is required at the time of rendering processing, the area is limited in view of the position and size of the intermediate code and the logical operation type. Generate information. The process of generating the first color conversion area information and its data format will be described later. These two processes are performed until all the data for one page is converted into the intermediate code.

【0116】次に、中間コードおよび第1色空間領域情
報の2つのデータを参照して、中間コードに対して第1
RGB・CMYK変換を行う(ステップS1203)。
この色変換と同時に、第2色変換領域情報生成(第2付
加情報作成手段による処理)を行う(ステップS120
3a)。ステップS1204に示す色変換は、第1色変
換領域情報をみて、レンダリング時に論理演算に関与し
ないとされる場合だけ、RGBからCMYKへ変換す
る。したがって、1ページ全体の中間コードに対して、
ステップS1203に示す色変換を行った結果、部分的
にCMYKであったりRGBであったりする。
Next, referring to the two data of the intermediate code and the first color space area information, the first code is set for the intermediate code.
RGB / CMYK conversion is performed (step S1203).
At the same time as this color conversion, second color conversion area information generation (processing by the second additional information generation means) is performed (step S120).
3a). In the color conversion shown in step S1204, RGB is converted to CMYK only when the first color conversion region information is viewed and it is determined that the first color conversion region information is not involved in the logical operation at the time of rendering. Therefore, for the intermediate code of the entire page,
As a result of performing the color conversion shown in step S1203, the color is partially CMYK or RGB.

【0117】第2色変換領域生成では、このうち、RG
Bの図形が含まれる領域を限定するような情報を生成す
る。第2色変換領域生成によって得られるデータを、第
2色変換領域情報(第2の付加情報)と呼ぶことにす
る。この第2色変換領域情報生成の処理およびそのデー
タ形式については後述する。
In the second color conversion area generation, among these, RG
Information for limiting the area including the B graphic is generated. The data obtained by generating the second color conversion area will be referred to as second color conversion area information (second additional information). The process of generating the second color conversion area information and its data format will be described later.

【0118】次に、レンダリング処理を行う(ステップ
S1204)。レンダリング結果も、部分的にCMYK
であったりRGBであったりする。第2RGB・CMY
K変換(ステップS1205)では、第2色変換領域情
報を参照してRGBデータ部分だけをCMYKに変換す
る。最後に、データを出力装置へ出力する(ステップS
1206)。
Next, rendering processing is performed (step S1204). The rendering result is also partially CMYK
Or RGB. Second RGB / CMY
In the K conversion (step S1205), only the RGB data portion is converted into CMYK by referring to the second color conversion area information. Finally, the data is output to the output device (step S
1206).

【0119】図13は、本実施形態で使用される中間コ
ードの形式を表している。全ての図形形状は台形で表さ
れる。先ず、この台形形状について説明する。図13
(A)は、台形のデータ構造を表している。
FIG. 13 shows the format of the intermediate code used in this embodiment. All graphic shapes are represented by trapezoids. First, the trapezoidal shape will be described. FIG.
(A) shows a trapezoidal data structure.

【0120】すなわち、YMINは台形の下底辺のY座
標を、YMAXは台形の上底辺のY座標を、X1は、Y
座標最小値における、左側の斜辺のX座標値を、X2
は、Y座標最小値における、右側の斜辺のX座標値を、
DX1は、左側斜辺のY座標値が1増えた時のX座標値
の増分値を、DX2は、右側斜辺のY座標値が1増えた
時のX座標値の増分値を表している。また、IDは図形
の描画順序を表し、NEXTは、台形をリスト構造で管
理するのに使用されるリンクデータを表す。これらのデ
ータによって図形の形状が表され、この図形に着色すべ
き色などの情報は、ID番号にしたがって表として別の
領域に格納されている。
That is, YMIN is the Y coordinate of the lower base of the trapezoid, YMAX is the Y coordinate of the upper base of the trapezoid, and X1 is Y.
The X coordinate value of the left hypotenuse at the minimum coordinate value is X2
Is the X coordinate value of the right hypotenuse in the Y coordinate minimum value,
DX1 represents the increment value of the X coordinate value when the Y coordinate value of the left hypotenuse increases by 1, and DX2 represents the increment value of the X coordinate value when the Y coordinate value of the right hypotenuse increases by 1. Further, ID represents the drawing order of figures, and NEXT represents the link data used to manage the trapezoid in a list structure. The shape of a graphic is represented by these data, and information such as the color to be colored in this graphic is stored in another area as a table according to the ID number.

【0121】図13(B)は、このIDから検索可能な
図形の属性情報のデータ形式を表す。IDは図13
(A)内部に記されるIDと関連づけられた描画順序を
表す。ATは属性値を表し、例えば、値が0の場合はグ
ラフィックスや文字を、値が1の場合はイメージを表
す。COLORは色値を表すが、図形がイメージの場
合、すなわちATの値が1の場合は、イメージを構成す
るピクセル列のアドレスを表す。CSPACEは色空間
を表し、値が0の場合はRGBを、値が1の場合はCM
YKを表す。CODEは論理演算コードを表し、AND
やORやNOT、あるいは、その組み合わせによって指
定される演算を示すコード番号で表現できる。
FIG. 13B shows the data format of the attribute information of the figure that can be searched from this ID. ID is Fig. 13
(A) represents the drawing order associated with the ID described inside. AT represents an attribute value. For example, a value of 0 represents graphics or characters, and a value of 1 represents an image. COLOR represents a color value, but when the figure is an image, that is, when the value of AT is 1, it represents the address of a pixel column forming the image. CSPACE represents a color space. When the value is 0, it is RGB, and when the value is 1, it is CM.
Represents YK. CODE represents a logical operation code, AND
It can be represented by a code number indicating an operation designated by OR, NOT, or a combination thereof.

【0122】図14は、図13で説明した中間コードの
使用例を表している。図14(A)には、図形A、図形
B、図形Cが、この順番で描画された場合を示してい
る。また、図形A、図形Cは、論理演算コードとして上
書き描画が指定されており、図形BはANDに対応する
論理演算コードが指定されているものとする。
FIG. 14 shows a usage example of the intermediate code explained in FIG. FIG. 14A shows the case where the graphic A, the graphic B, and the graphic C are drawn in this order. Further, it is assumed that the graphic A and the graphic C are designated with the overwriting drawing as the logical operation code, and the graphic B is designated with the logical operation code corresponding to AND.

【0123】図14(B)は、特に、図形Bについて中
間コードの各データフィールドの値を示している。図中
では、データ種の理解のために、座標値を“Y1”や
“X1”といった値で表し、COLORを“α”、CO
DEを“AND”としているが、実際には、これらに対
応した数値が格納されている。また、NEXTには何も
記述されていないが、実際には、同一ライン上の、次の
台形のアドレスが格納される。同一ライン上での台形間
のリンクは、常に、下底辺のX座標によってソートして
リンクされるものとする。
FIG. 14B particularly shows the value of each data field of the intermediate code for the graphic B. In the figure, in order to understand the data type, coordinate values are represented by values such as "Y1" and "X1", and COLOR is "α", CO
Although DE is "AND", the numerical values corresponding to these are actually stored. Although nothing is written in NEXT, the next trapezoidal address on the same line is actually stored. Links between trapezoids on the same line are always sorted and linked according to the X coordinate of the lower base.

【0124】図14(C)には、図形Aから図形Cをリ
ンクしてつなぎとめた状態を表している。先ず、図形が
存在するYラインについて、台形のアドレスを指し示す
変数を用意し、これらをつなぎとめる。図中では、Y
1、Y3、Y7がこれにあたる。各々のアドレス変数
は、図形B、図形A、図形Cを指し示している。更に、
各々の図形内部のNEXT変数は、次に同じラインに繋
がる図形が存在しないので、リストの終端である識別子
を格納する。図中では、矢印の先に縦線を書いて表して
いる。通常、この識別子には、アドレスであれば値0な
どを使用できる。
FIG. 14C shows a state in which figures A to C are linked and connected. First, a variable indicating a trapezoidal address is prepared for the Y line where a graphic exists, and these variables are connected. In the figure, Y
1, Y3 and Y7 correspond to this. Each address variable points to figure B, figure A, and figure C. Furthermore,
The NEXT variable inside each graphic stores the identifier which is the end of the list, because there is no graphic connected to the same line next. In the figure, a vertical line is drawn at the tip of the arrow. Normally, a value 0 or the like can be used for this identifier if it is an address.

【0125】次に、中間コードから出力データ形式へ変
換するレンダリング処理について説明する。レンダリン
グは1ライン毎に行われ、それぞれのラインでは、エッ
ジの配列として出力される。例えば、図14(A)の場
合、Y0からY12まで13のスキャンラインについて
エッジ配列が出力されることになる。
Next, the rendering process for converting the intermediate code into the output data format will be described. Rendering is performed for each line, and each line is output as an array of edges. For example, in the case of FIG. 14A, the edge arrangement is output for the 13 scan lines Y0 to Y12.

【0126】図15は、このエッジのデータ構造を表し
ている。図中、SXはエッジの始点X座標を、EXはエ
ッジの終点X座標を表す。また、ATとCOLORとC
SPACEは、中間コードにおける台形の属性データと
同じ値を格納する。
FIG. 15 shows the data structure of this edge. In the figure, SX represents the starting point X coordinate of the edge, and EX represents the ending point X coordinate of the edge. Also, AT, COLOR, and C
SPACE stores the same value as the trapezoidal attribute data in the intermediate code.

【0127】図16は、このエッジデータを生成するレ
ンダリング処理の概念図を表している。図16に示すデ
ータは、図14(A)のY=Y4にあたるスキャンライ
ンの処理を行っている場合を表している。
FIG. 16 is a conceptual diagram of the rendering process for generating this edge data. The data shown in FIG. 16 represents the case where the processing of the scan line corresponding to Y = Y4 in FIG.

【0128】Y=Y4では、図形Aと図形Bの2つの図
形のエッジが存在する。図16(A)では、この2つの
エッジの位置関係と上下関係を表している。この結果、
図形Bの描画が、AND演算を行うように指示されてい
るため、エッジ間でレンダリング結果を計算した結果、
p、q、rの3つのエッジを出力する。図16(B)
は、このp、q、rの3つの結果を表している。
When Y = Y4, there are two graphic edges, graphic A and graphic B. FIG. 16A shows the positional relationship and the vertical relationship between these two edges. As a result,
Since the drawing of the figure B is instructed to perform the AND operation, the result of calculating the rendering result between the edges is
It outputs three edges, p, q, and r. FIG. 16 (B)
Represents the three results of p, q, and r.

【0129】次に、色変換を高速化するための色変換領
域情報の生成や、その構造について説明する。図17
は、図14と同じ図形A、B、Cが描画される場合を示
している。図中の第1色変換領域情報が図12の第1色
変換領域情報生成(ステップS1201)によって生成
されたデータである。この情報は、スキャンライン毎
に、そのラインが所定の論理演算を行う領域である場合
に値1が設定される。初期値としては、全ラインとも値
0が設定される。
Next, generation of color conversion area information for speeding up color conversion and its structure will be described. FIG. 17
Shows the case where the same figures A, B, and C as in FIG. 14 are drawn. The first color conversion area information in the figure is the data generated by the first color conversion area information generation (step S1201) in FIG. This information is set to a value of 1 for each scan line when the line is an area for performing a predetermined logical operation. As an initial value, the value 0 is set for all lines.

【0130】図17の場合、図形Bだけが論理演算を行
う場合を示しており、第1色変換領域情報の中で、図形
Bの存在するスキャンラインと対応する部分に値1が設
定される。
FIG. 17 shows the case where only the graphic B performs the logical operation, and the value 1 is set in the portion corresponding to the scan line in which the graphic B exists in the first color conversion area information. .

【0131】また、図形A、B、C内部に、RGBもし
くはCMYKと記述されているのは、図12に示した第
1RGB・CMYK変換処理(ステップS1201)に
よる処理後の色空間を表している。
In the figures A, B, and C, the description of RGB or CMYK represents the color space after the processing by the first RGB / CMYK conversion processing (step S1201) shown in FIG. .

【0132】図形Cは、第1色変換領域情報の中の値1
が設定されているラインにかからない。このため論理演
算処理に関与しないので、中間コード上でCMYKに変
換されている。
The graphic C is the value 1 in the first color conversion area information.
Does not apply to the set line. Therefore, since it does not participate in the logical operation processing, it is converted into CMYK on the intermediate code.

【0133】また、図中の第2色変換領域情報が図12
の第2色変換領域情報生成(ステップS1203)によ
って生成されたデータである。このデータは、第1RG
B・CMYK変換処理を行うと同時に、スキャンライン
毎に、RGB空間の図形が存在する領域である場合に値
1が設定される。初期値としては、全ラインとも値0が
設定されている。
Further, the second color conversion area information in the figure is shown in FIG.
This is the data generated by the second color conversion area information generation (step S1203). This data is the first RG
At the same time that the B / CMYK conversion process is performed, the value 1 is set for each scan line when the figure exists in the RGB space. As an initial value, the value 0 is set for all lines.

【0134】図17の場合、図形A、BがRGBに変換
されるので、第2色変換領域情報の中で、図形A、Bが
存在するスキャンラインと対応する部分に値1が設定さ
れる。
In the case of FIG. 17, since the graphics A and B are converted into RGB, the value 1 is set in the portion corresponding to the scan line in which the graphics A and B exist in the second color conversion area information. .

【0135】第1RGB・CMYK変換(ステップS1
204)を実施した結果、中間コード上にCMYK図
形、RGB図形が混在する。このためレンダリング結果
もエッジ毎にCMYK、RGBが混在する。
First RGB / CMYK conversion (step S1
As a result of performing step 204), CMYK figures and RGB figures are mixed on the intermediate code. Therefore, the rendering result also includes CMYK and RGB for each edge.

【0136】図18はY=Y7におけるレンダリング処
理の結果を表している。Y=Y7のラインでは、図形C
のエッジはCMYKであり、図形AのエッジはRGBと
して出力される。このようにRGB出力が含まれるスキ
ャンラインについては、第2RGB・CMYK変換(ス
テップS1206)によって、1つ1つのエッジを検査
して色変換する。
FIG. 18 shows the result of the rendering process when Y = Y7. On the line Y = Y7, the figure C
Edges are CMYK, and the edges of the figure A are output as RGB. As described above, for the scan line including the RGB output, each edge is inspected and color-converted by the second RGB / CMYK conversion (step S1206).

【0137】RGB出力が含まれるラインであるか否か
は第2色変換領域情報によって判定できる。以上の処理
によって最終的にCMYKの出力結果を得ることができ
る。
Whether or not the line includes the RGB output can be determined by the second color conversion area information. By the above processing, the CMYK output result can be finally obtained.

【0138】以下、図19に示す、第1色変換領域情報
生成(図12のステップS1201)と中間コード生成
(図12のステップS1202)の処理フローチャート
20に示す、第2色変換領域情報生成(図12のステッ
プS1203)と第1RGB・CMYK変換(図12の
ステップS1204)の処理フローチャート21の、第
2RGB・CMYK変換(図12のステップS120
6)の処理フローについて、それぞれ詳細を説明する。
Hereinafter, the second color conversion area information generation (shown in the processing flowchart 20 of the first color conversion area information generation (step S1201 in FIG. 12) and the intermediate code generation (step S1202 in FIG. 12) shown in FIG. The second RGB / CMYK conversion (step S120 in FIG. 12) in the processing flowchart 21 of step S1203 in FIG. 12 and the first RGB / CMYK conversion (step S1204 in FIG. 12).
Details of the processing flow 6) will be described.

【0139】初めに、図19に示す、第1色変換領域情
報生成と中間コード生成の処理フローを説明する。図1
9では、PDLを解析して得られる台形1つ分のフロー
を表している。
First, the processing flow of the first color conversion area information generation and the intermediate code generation shown in FIG. 19 will be described. Figure 1
In FIG. 9, the flow for one trapezoid obtained by analyzing the PDL is shown.

【0140】先ず、PDL解析結果の台形を1つ入力す
る(ステップS1301)。次に、台形を中間コードと
して登録する(ステップS1302)。次に、この台形
の描画属性が所定の論理演算を伴って行う描画であるか
を判定する(ステップS1303)。この結果、所定の
論理演算描画の場合は、第1色変換領域情報に、台形の
MINYからMAXYまで論理演算が存在するという情
報を設定する(ステップS1304)。
First, one trapezoid of the PDL analysis result is input (step S1301). Next, the trapezoid is registered as an intermediate code (step S1302). Next, it is determined whether or not the trapezoidal drawing attribute is drawing performed with a predetermined logical operation (step S1303). As a result, in the case of the predetermined logical operation drawing, information that the logical operation exists from MINY to MAXY of the trapezoid is set in the first color conversion area information (step S1304).

【0141】図17のようにスキャンライン毎の論理値
表であれば、MINYからMAXYまでのラインに相当
する値を1に変更する。以上で、1つ分の台形について
の処理が終了し、1ページ分のPDLの解析が終了する
まで上述の処理を繰り返す。
In the case of the logical value table for each scan line as shown in FIG. 17, the value corresponding to the line from MINY to MAXY is changed to 1. As described above, the above processing is repeated until the processing for one trapezoid is completed and the analysis of PDL for one page is completed.

【0142】次に、図20の、第2色変換領域情報生成
と第1RGB・CMYK変換の処理フローを説明する。
図20に示す処理は、1ページ分の中間コードの生成が
終了した後に起動される。
Next, the processing flow of the second color conversion area information generation and the first RGB / CMYK conversion shown in FIG. 20 will be described.
The process shown in FIG. 20 is started after the generation of the intermediate code for one page is completed.

【0143】先ず、中間コードを解読して台形を1つ入
力する(ステップS1401)。次に、第1色変換領域
情報を参照して、この台形のMINYからMAXYまで
の範囲に、論理演算を行う領域があるかどうかを検査す
る(ステップS1402)。
First, the intermediate code is decoded and one trapezoid is input (step S1401). Next, with reference to the first color conversion area information, it is inspected whether or not there is an area for logical operation in the range from MINY to MAXY of this trapezoid (step S1402).

【0144】次に、この検査の結果、論理演算を行う領
域内部に台形が存在するかを判定する(ステップS14
03)。内部にあると判定された場合、台形は、論理演
算に関与する可能性があるため、第2色変換領域情報
に、台形のMINYからMAXYまでRGB領域が存在
するという情報を設定する(ステップS1404)。
Next, as a result of this inspection, it is determined whether or not a trapezoid exists inside the area where the logical operation is performed (step S14).
03). If it is determined that the trapezoid is inside, the trapezoid may be involved in the logical operation, and therefore, information that the RGB region from MINY to MAXY of the trapezoid exists is set in the second color conversion region information (step S1404). ).

【0145】図17のようにスキャンライン毎の論理値
表であれば、MINYからMAXYまでのラインに相当
する値を1に変更する。ステップS1403の判定で、
台形が論理演算に関与しない場合、台形の色をCMYK
に変換する(ステップS1405)。
In the case of the logical value table for each scan line as shown in FIG. 17, the value corresponding to the line from MINY to MAXY is changed to 1. In the determination of step S1403,
When the trapezoid does not participate in the logical operation, the color of the trapezoid is CMYK
(Step S1405).

【0146】台形は、属性値を参照することでグラフィ
ックスや文字であるか、イメージであるかを判断でき
る。台形がグラフィックスや文字の場合、RGB値をC
MYK値に変換する。台形がイメージの輪郭を表してい
る場合、イメージのピクセルデータをCMYKに変換す
る。以上の処理で1つ分の台形の処理は終了する。
The trapezoid can be determined as a graphic or a character or an image by referring to the attribute value. If the trapezoid is graphics or characters, RGB value is C
Convert to MYK value. If the trapezoid represents the outline of the image, the pixel data of the image is converted into CMYK. With the above processing, the processing for one trapezoid is completed.

【0147】そして、中間コードに、未調査の台形があ
るか否かを判定し(ステップS1406)、未調査の台
形がある場合、台形入力(ステップS1401)からの
処理を繰り返す。
Then, it is judged whether or not there is an uninvestigated trapezoid in the intermediate code (step S1406), and if there is an uninvestigated trapezoid, the processes from the trapezoid input (step S1401) are repeated.

【0148】次に、図21の、第2RGB・CMYK変
換の処理フローを説明する。図21は、レンダリング処
理(図12のステップS1205)によって出力される
スキャンライン毎の結果に対して、行う第2RGB・C
MYK変換(図12のステップS1206)の処理に対
応している。
Next, the processing flow of the second RGB / CMYK conversion shown in FIG. 21 will be described. FIG. 21 shows the second RGB.C to be performed for the result for each scan line output by the rendering process (step S1205 in FIG. 12).
This corresponds to the MYK conversion (step S1206 in FIG. 12) processing.

【0149】先ず、Yn番目のスキャンラインについて
の処理を開始し、第2色変換領域情報を参照し、このラ
インにRGBデータが含まれるかを調査する(ステップ
S1501)。
First, the process for the Yn-th scan line is started, the second color conversion area information is referred to, and it is investigated whether or not the RGB data is included in this line (step S1501).

【0150】図17に示すようなスキャンライン毎の論
理値表であれば、値が1の場合はRGBデータが含まれ
ることとなる。この結果からRGBデータが含まれない
と判断された場合(ステップS1502でYes)、Y
nラインのデータは全てCMYKに色変換済みなので、
データ出力を行い(ステップS1507)、処理を終了
する。
In the case of the logical value table for each scan line as shown in FIG. 17, when the value is 1, RGB data is included. If it is determined from this result that the RGB data is not included (Yes in step S1502), Y
Since all the data of n lines have been color converted to CMYK,
Data is output (step S1507), and the process ends.

【0151】一方、RGBデータが含まれていると判断
された場合、そのラインの出力結果であるエッジ配列を
調査する。
On the other hand, when it is determined that the RGB data is included, the edge array which is the output result of that line is investigated.

【0152】先ず、対象となるエッジを1つ入力する
(ステップS1503)。次に、エッジ内部の属性値を
参照して、RGBであるか否かを判定する(ステップS
1504)。判定の結果、エッジがRGBである場合、
エッジの色をCMYKに変換する(ステップS150
5)。
First, one target edge is input (step S1503). Next, it is determined whether or not it is RGB by referring to the attribute value inside the edge (step S
1504). If the result of determination is that the edge is RGB,
The edge color is converted to CMYK (step S150).
5).

【0153】エッジは図15に示すように、属性値を参
照することでグラフィックスや文字であるか、イメージ
であるかを判断できる。エッジがグラフィックスや文字
の場合、RGB値をCMYK値に変換する。エッジがイ
メージの輪郭を表している場合、イメージのピクセルデ
ータをCMYKに変換する。
As shown in FIG. 15, it is possible to determine whether the edge is a graphic or a character or an image by referring to the attribute value. When the edge is a graphic or character, the RGB value is converted into a CMYK value. If the edge represents the outline of the image, the pixel data of the image is converted to CMYK.

【0154】次に、Ynラインのレンダリング結果につ
いて、未調査のエッジがあるかを判定し(ステップS1
506)、未調査のエッジがある場合、エッジ入力(ス
テップS1503)からの処理を繰り返す。未調査のエ
ッジがない場合、Ynラインのデータを出力し(ステッ
プS1507)、処理を終了する。
Next, it is determined whether or not there is an unexamined edge in the rendering result of the Yn line (step S1).
506) If there is an unexamined edge, the processing from the edge input (step S1503) is repeated. If there is no unexamined edge, the Yn line data is output (step S1507), and the process ends.

【0155】また、更に効率良く処理するために、図1
2の第1RGB・CMYK変換(ステップS1204)
と、第2色変換領域情報生成(ステップS1203)を
実施しつつ、中間コード上の図形データを、RGB領域
とCMYK領域とに分割する処理を行ってもよい。図2
2はこの例を示したもので、図22(A)は、図形A、
B、C、の3つの図形が描画される例を示している。
Further, in order to perform processing more efficiently, FIG.
Second RGB / CMYK conversion (step S1204)
Then, while performing the second color conversion area information generation (step S1203), the graphic data on the intermediate code may be divided into an RGB area and a CMYK area. Figure 2
2 shows this example, and FIG.
An example in which three figures B and C are drawn is shown.

【0156】このうち、図形Bに所定の論理演算を行う
ように指示される場合、3つの図形とも図形Bが存在す
るスキャンラインにかかるため、第1RGB・CMYK
色変換処理(図12のステップS1204)では変換さ
れず、全て、RGB空間のままとなる。
Of these, when the figure B is instructed to perform a predetermined logical operation, all the three figures are on the scan line in which the figure B exists.
In the color conversion processing (step S1204 in FIG. 12), the color space is not converted and remains in the RGB space.

【0157】図形Bの存在する領域は、Y=YaからY
=Yb’の区間なので、図形A、図形Bともに、Y=Y
b’において2分割し、再登録する。図22(B)は、
図形A、Cを分割、再登録をした後を表している。
The area where the figure B exists is Y = Ya to Y.
= Yb ', so both figure A and figure B have Y = Y
Divide into two at b'and re-register. FIG. 22B shows
The figure A and C are shown after being divided and re-registered.

【0158】このように、中間コードの分割、再登録を
行うことによってより、レンダリング後の第2RGB・
CMYK色変換における色変換領域が、より小さい領域
として限定でき、結果的に全体としての処理を高速化で
きるようになる。
Thus, by dividing and re-registering the intermediate code, the second RGB.
The color conversion area in the CMYK color conversion can be limited to a smaller area, and as a result, the overall processing speed can be increased.

【0159】[0159]

【発明の効果】以上説明したように、本発明によれば次
のような効果がある。すなわち、本発明による画像処理
装置では、図形データ間の重なりを排除して、かつ、所
定のスキャンライン単位のエッジ列を出力するにあた
り、ラスタースキャン操作順にエッジ列が並んで圧縮処
理が行い安くなるとともに、冗長な処理を排除し、効率
よく処理することが可能となる。
As described above, the present invention has the following effects. That is, in the image processing apparatus according to the present invention, when the overlap between the graphic data is eliminated and the edge row in a predetermined scan line unit is output, the edge rows are arranged in the raster scan operation order and the compression processing is performed cheaply. At the same time, redundant processing can be eliminated and efficient processing can be performed.

【0160】また、論理演算に関与しないデータ部分を
予めレンダリング前のコードデータの段階で色変換する
ため、全体としての処理を高速化することが可能とな
る。
Further, since the data portion not involved in the logical operation is color-converted in advance at the stage of the code data before rendering, it is possible to speed up the processing as a whole.

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

【図1】 画像処理装置の構成を説明するブロック図で
ある。
FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus.

【図2】 中間データ、圧縮イメージ参照データ、圧縮
データの形式を示す図である。
FIG. 2 is a diagram showing formats of intermediate data, compressed image reference data, and compressed data.

【図3】 中間データの保存形態の例を示す図(その
1)である。
FIG. 3 is a diagram (part 1) illustrating an example of a storage form of intermediate data.

【図4】 中間データのデータ部の形式を示す図であ
る。
FIG. 4 is a diagram showing a format of a data part of intermediate data.

【図5】 中間データの保存形態の例を示す図(その
2)である。
FIG. 5 is a diagram (part 2) showing an example of a storage form of intermediate data.

【図6】 レンダリング処理の例を示す図(その1)で
ある。
FIG. 6 is a diagram (part 1) illustrating an example of rendering processing.

【図7】 レンダリング処理の例を示す図(その2)で
ある。
FIG. 7 is a diagram (part 2) illustrating an example of rendering processing.

【図8】 図形間の重なりを排除する処理の例を示す図
である。
FIG. 8 is a diagram showing an example of processing for eliminating overlap between figures.

【図9】 レンダリング処理を説明するフローチャート
である。
FIG. 9 is a flowchart illustrating a rendering process.

【図10】 レンダリング処理を説明するフローチャー
トである。
FIG. 10 is a flowchart illustrating a rendering process.

【図11】 一般的な画像処理方法を説明するフローチ
ャートである。
FIG. 11 is a flowchart illustrating a general image processing method.

【図12】 本実施形態の画像処理方法を説明するフロ
ーチャートである。
FIG. 12 is a flowchart illustrating an image processing method of this embodiment.

【図13】 本実施形態で使用される中間コードの形式
を説明する図である。
FIG. 13 is a diagram illustrating a format of an intermediate code used in this embodiment.

【図14】 中間コードの使用例を説明する図である。FIG. 14 is a diagram illustrating a usage example of an intermediate code.

【図15】 エッジのデータ構造を説明する図である。FIG. 15 is a diagram illustrating a data structure of an edge.

【図16】 エッジデータを生成するレンダリング処理
の概念図である。
FIG. 16 is a conceptual diagram of rendering processing for generating edge data.

【図17】 図形の描画状態を説明する図である。FIG. 17 is a diagram illustrating a drawing state of a figure.

【図18】 Y=Y7におけるレンダリング処理の結果
を説明する図である。
FIG. 18 is a diagram illustrating a result of a rendering process when Y = Y7.

【図19】 第1色変換領域情報生成と中間コード生成
の処理フローチャートである。
FIG. 19 is a processing flowchart of first color conversion area information generation and intermediate code generation.

【図20】 第2色変換領域情報生成と第1RGB・C
MYK変換の処理フローチャートである。
FIG. 20 is a diagram showing second color conversion area information generation and first RGB · C.
It is a processing flowchart of MYK conversion.

【図21】 第2RGB・CMYK変換の処理フローチ
ャートである。
FIG. 21 is a processing flowchart of second RGB / CMYK conversion.

【図22】 図形データの分割を説明する図である。FIG. 22 is a diagram illustrating division of graphic data.

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

1B…データ保存部、1C…レンダリング部、1D…イ
メージ圧縮部、1E…中間データ保存領域、1F…圧縮
イメージデータ保存領域、1G…データ出力部、11…
画像処理装置、12…データ入力部、13…印刷情報解
釈部
1B ... Data storage section, 1C ... Rendering section, 1D ... Image compression section, 1E ... Intermediate data storage area, 1F ... Compressed image data storage area, 1G ... Data output section, 11 ...
Image processing device, 12 ... Data input unit, 13 ... Print information interpretation unit

フロントページの続き Fターム(参考) 2C087 AA15 BC05 BD13 BD36 2C262 BA01 BA02 BA05 BA07 BA09 BC11 BC19 DA03 5B057 AA11 CA01 CA08 CA12 CA16 CB01 CB08 CB11 CE17 CE18 CH08 5C077 MP08 PP19 PP32 PP33 PP37 PQ12 5C079 HB01 HB03 HB12 LA36 MA11 NA03 NA06 Continued front page    F term (reference) 2C087 AA15 BC05 BD13 BD36                 2C262 BA01 BA02 BA05 BA07 BA09                       BC11 BC19 DA03                 5B057 AA11 CA01 CA08 CA12 CA16                       CB01 CB08 CB11 CE17 CE18                       CH08                 5C077 MP08 PP19 PP32 PP33 PP37                       PQ12                 5C079 HB01 HB03 HB12 LA36 MA11                       NA03 NA06

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 複数の図形データに応じて描画すべき描
画データを中間データとして保存する中間データ保存処
理手段と、 前記中間データ保存処理手段に保存された中間データか
ら各図形データを取り出して、前記各図形データ毎に、
所定のスキャンライン幅づつ描画色情報を付加したエッ
ジを取得するエッジ生成手段と、 前記エッジ生成手段で生成された各図形データ間のエッ
ジの重なりを排除する図形重なり排除処理手段と、 前記図形重なり排除処理手段で重なりを排除したエッジ
列に対し、ソート処理を行うエッジソート処理手段と、 前記エッジソート処理手段に基づいてソート処理された
エッジ列の各エッジの描画色に対して補正を行う色補正
手段と、 前記色補正手段で補正が施されたエッジの描画色に対し
て色空間変換を行う変換手段とを備えることを特徴とす
る画像処理装置。
1. An intermediate data saving processing means for saving drawing data to be drawn according to a plurality of graphic data as intermediate data, and extracting each graphic data from the intermediate data saved in the intermediate data saving processing means, For each of the graphic data,
Edge generation means for acquiring edges to which drawing color information has been added for each predetermined scan line width, figure overlap elimination processing means for eliminating edge overlap between pieces of figure data generated by the edge generation means, and the figure overlap An edge sort processing unit that performs a sorting process on the edge sequence from which overlap has been eliminated by the elimination process unit, and a color that corrects the drawing color of each edge of the edge sequence that has been sorted based on the edge sort processing unit. An image processing apparatus comprising: a correction unit; and a conversion unit that performs color space conversion on a drawing color of an edge corrected by the color correction unit.
【請求項2】 請求項1記載の画像処理装置において、 前記図形重なり排除処理手段は、所定の描画順序に従っ
て層状に描画される描画データに対して、下層側に描画
される図形データをマスクする上層側の図形データの少
なくとも輪郭を表す輪郭データを、各図形データ毎の描
画順を遡って作成し、各図形データを、前記各図形デー
タ毎に作成された輪郭データの領域を除いた図形データ
に変換することを特徴とする画像処理装置。
2. The image processing apparatus according to claim 1, wherein the graphic overlap elimination processing unit masks the graphic data drawn in a lower layer side with respect to the drawing data drawn in layers according to a predetermined drawing order. The contour data representing at least the contour of the upper-layer graphic data is created by tracing back the drawing order for each graphic data, and each graphic data is the graphic data excluding the area of the contour data created for each graphic data. An image processing device, characterized in that
【請求項3】 請求項2記載の画像処理装置において、 前記エッジ生成手段の処理するスキャンライン幅の単位
を1スキャンラインとすることを特徴とする画像処理装
置。
3. The image processing apparatus according to claim 2, wherein the unit of the scan line width processed by the edge generation unit is one scan line.
【請求項4】 複数の図形データに応じて描画すべき描
画データを中間データとして保存する中間データ保存処
理手段と、 前記中間データ保存処理手段に保存された中間データか
ら各図形データを取り出して、前記各図形データ毎に、
所定のスキャンライン幅づつエッジを取得するエッジ生
成手段と、 前記エッジ生成手段で生成された各図形データ間のエッ
ジの重なりを排除する図形重なり排除処理手段と、 前記図形重なり排除処理手段で重なりを排除したエッジ
列に対し、ソート処理を行うエッジソート処理手段と、 前記エッジソート処理手段に基づいてソート処理された
エッジ列の各エッジの描画色に対して補正を行う色補正
手段と、 前記色補正手段で補正が施されたエッジの描画色に対し
て色空間変換を行う変換手段と、 前記変換手段によって色空間が変換されたエッジ列に基
づきラスタースキャン順にデータ配列へ変換して印刷出
力するデータ出力手段とを備えることを特徴とする画像
処理装置。
4. An intermediate data saving processing means for saving drawing data to be drawn according to a plurality of graphic data as intermediate data, and extracting each graphic data from the intermediate data saved in said intermediate data saving processing means, For each of the graphic data,
Edge generation means for acquiring edges for each predetermined scan line width, graphic overlap elimination processing means for eliminating the overlap of edges between the graphic data generated by the edge generation means, and overlap by the graphic overlap elimination processing means. Edge sort processing means for performing a sorting process on the removed edge sequence; color correction means for performing correction on the drawing color of each edge of the edge sequence sorted based on the edge sort processing means; A conversion unit for performing color space conversion on the drawing color of the edge corrected by the correction unit, and conversion to a data array in raster scan order based on the edge sequence whose color space has been converted by the conversion unit and printout An image processing apparatus comprising: a data output unit.
【請求項5】 第1の色空間で定義される描画データを
入力する入力手段と、 前記入力手段で入力された描画データから中間コードを
生成する中間コード生成手段と、 前記中間コード生成手段で生成された中間コードを出力
装置に適した形式のデータに変換するレンダリング手段
と、 前記中間コード生成手段で中間コードを生成する際に、
所定の論理演算が存在する領域を特定して第1の付加情
報を作成する第1付加情報作成手段と、 前記第1付加情報作成手段で作成された第1の付加情報
を参照して前記中間コードの一部を前記第1の色空間か
ら第2の色空間へ変換する第1色変換手段と、 前記第1色変換手段で色変換を実施する際に、色変換さ
れずに残る第1の色空間の中間コードが存在する領域を
特定して第2の付加情報を作成する第2付加情報作成手
段と、 前記第2付加情報作成手段で作成された第2の付加情報
を参照してレンダリング処理後のデータに対して、前記
第1の色空間から前記第2の色空間へ変換する第2の色
変換手段とを備えることを特徴とする画像処理装置。
5. An input means for inputting drawing data defined in a first color space, an intermediate code generating means for generating an intermediate code from the drawing data input by the input means, and the intermediate code generating means. Rendering means for converting the generated intermediate code into data in a format suitable for the output device, and when generating the intermediate code by the intermediate code generating means,
First additional information creating means for creating a first additional information by specifying an area in which a predetermined logical operation exists, and referring to the first additional information created by the first additional information creating means, the intermediate A first color conversion unit that converts a part of the code from the first color space to a second color space; and a first color conversion unit that remains without color conversion when the color conversion is performed by the first color conversion unit. Referring to the second additional information creating means for creating the second additional information by specifying the area in which the intermediate code of the color space exists, and the second additional information created by the second additional information creating means. An image processing apparatus, comprising: a second color conversion unit that converts the data after the rendering processing from the first color space to the second color space.
【請求項6】 請求項5記載の画像処理装置において、 前記第1の色空間がRGB空間であり、前記第2の色空
間がCMYK空間であることを特徴とする画像処理装
置。
6. The image processing device according to claim 5, wherein the first color space is an RGB space, and the second color space is a CMYK space.
【請求項7】 請求項5記載の画像処理装置において、 前記レンダリング手段によるレンダリング処理は、下地
図形および追加図形の各々から形状データをスキャンラ
イン毎に取り出して、スキャンライン毎の塗りつぶし線
分を決定し、必要に応じて所定の論理演算処理を行い、
スキャンライン毎の線分群として出力する処理であるこ
とを特徴とする画像処理装置。
7. The image processing apparatus according to claim 5, wherein the rendering processing by the rendering unit extracts shape data from each of the background graphic and the additional graphic for each scan line, and determines a filled line segment for each scan line. Then, if necessary, perform predetermined logical operation processing,
An image processing apparatus, which is a process of outputting a line segment group for each scan line.
【請求項8】 請求項5記載の画像処理装置において、 前記第1付加情報作成手段で作成される第1の付加情報
は、スキャンライン毎に所定の論理演算処理を行う図形
が存在するか否かを特定する情報であり、 前記第2付加情報作成手段で作成される第2の付加情報
は、スキャンライン毎にRGB色空間の図形が存在する
か否かを特定する情報であることを特徴とする画像処理
装置。
8. The image processing apparatus according to claim 5, wherein the first additional information created by the first additional information creating means includes a graphic for performing a predetermined logical operation process for each scan line. The second additional information created by the second additional information creating means is information that specifies whether or not a graphic in the RGB color space exists for each scan line. Image processing device.
【請求項9】 請求項5記載の画像処理装置において、 前記中間コードを構成する図形単位のデータが、所定の
論理演算処理の含まれる領域と含まれない領域とにまた
がって存在する場合、前記図形単位の中間コードを所定
の論理演算処理の含まれる領域と含まれない領域とに分
割して再登録する再登録手段を備えることを特徴とする
画像処理装置。
9. The image processing apparatus according to claim 5, wherein the data in units of graphics forming the intermediate code exists in an area including a predetermined logical operation process and an area not including the predetermined logic operation process. An image processing apparatus comprising: a re-registration unit that re-registers an intermediate code for each figure by dividing it into a region including a predetermined logical operation process and a region not including the predetermined logic operation process.
【請求項10】 第1の色空間で定義される描画データ
を入力する工程と、 入力された前記描画データから中間コードを生成する工
程と、 前記中間コードを生成する際に、所定の論理演算が存在
する領域を特定して第1の付加情報を作成する工程と、 前記第1の付加情報を参照して前記中間コードの一部を
前記第1の色空間から第2の色空間へ変換する工程と、 前記中間コードの一部を前記第1の色空間から前記第2
の色空間へ変換する際、色変換されずに残る第1の色空
間の中間コードが存在する領域を特定して第2の付加情
報を作成する工程と、 前記中間コードを出力装置に適した形式のデータに変換
するレンダリングを行った後、前記第2の付加情報を参
照して前記色変換されずに残った領域を前記第1の色空
間から前記第2の色空間へ変換する工程とを備えること
を特徴とする画像処理方法。
10. A step of inputting drawing data defined in a first color space, a step of generating an intermediate code from the input drawing data, and a predetermined logical operation when the intermediate code is generated. Creating a first additional information by specifying an area in which there is an area, and converting a part of the intermediate code from the first color space to the second color space with reference to the first additional information. And a part of the intermediate code from the first color space to the second color space.
A step of creating second additional information by specifying a region in which the intermediate code of the first color space that remains without color conversion exists when converting the intermediate code to the output device. A step of converting a region remaining without being color-converted from the first color space to the second color space by referring to the second additional information after performing rendering for conversion into format data; An image processing method comprising:
JP2001340213A 2001-11-06 2001-11-06 Picture processing apparatus and method therefor Pending JP2003143419A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001340213A JP2003143419A (en) 2001-11-06 2001-11-06 Picture processing apparatus and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001340213A JP2003143419A (en) 2001-11-06 2001-11-06 Picture processing apparatus and method therefor

Publications (1)

Publication Number Publication Date
JP2003143419A true JP2003143419A (en) 2003-05-16

Family

ID=19154451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001340213A Pending JP2003143419A (en) 2001-11-06 2001-11-06 Picture processing apparatus and method therefor

Country Status (1)

Country Link
JP (1) JP2003143419A (en)

Similar Documents

Publication Publication Date Title
JP5111268B2 (en) Image processing apparatus, image processing method, program thereof, and storage medium
JP5017031B2 (en) Image processing apparatus, image processing method, image processing program, and storage medium
US7680358B2 (en) Image processing apparatus and control method thereof, and program
JP5137759B2 (en) Image processing device
JP2608571B2 (en) Apparatus and method for vectorizing input scanned image data
JP2958584B2 (en) Noise removal method
JP5335581B2 (en) Image processing apparatus, image processing method, and program
US6850338B1 (en) Method, system, program, and data structure for generating raster objects
JP3834935B2 (en) Print processing device
JP4775723B2 (en) Image processing apparatus and image processing program
JP2002334341A (en) Image processor
JP3085175B2 (en) Drawing equipment
JP2003143419A (en) Picture processing apparatus and method therefor
US7728850B2 (en) Apparatus and methods for processing layered image data of a document
JP4182891B2 (en) Image processing device
JPH0729021A (en) Picture output device
JP2003046746A (en) Image processing method and image processing apparatus
KR101899033B1 (en) Print contolling apparatus, image forming apparatus and method for image forming
JP4627787B2 (en) Dropout color processing apparatus and dropout color processing method using the same
JP4574347B2 (en) Image processing apparatus, method, and program
US20010024285A1 (en) Image processing apparatus
JPH0877336A (en) Area extracting method
JP2800254B2 (en) Image single character processing device
JPH09300769A (en) Printing apparatus, data registration method, and storage medium storing control program
JP2021158441A (en) Image processing device, image processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20060801

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070109