Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4861084B2 - Drawing processing apparatus and control method thereof - Google Patents
[go: Go Back, main page]

JP4861084B2 - Drawing processing apparatus and control method thereof - Google Patents

Drawing processing apparatus and control method thereof Download PDF

Info

Publication number
JP4861084B2
JP4861084B2 JP2006202585A JP2006202585A JP4861084B2 JP 4861084 B2 JP4861084 B2 JP 4861084B2 JP 2006202585 A JP2006202585 A JP 2006202585A JP 2006202585 A JP2006202585 A JP 2006202585A JP 4861084 B2 JP4861084 B2 JP 4861084B2
Authority
JP
Japan
Prior art keywords
command sequence
drawing processing
processing units
scanning line
drawing command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006202585A
Other languages
Japanese (ja)
Other versions
JP2008027395A (en
JP2008027395A5 (en
Inventor
孝幸 長島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006202585A priority Critical patent/JP4861084B2/en
Publication of JP2008027395A publication Critical patent/JP2008027395A/en
Publication of JP2008027395A5 publication Critical patent/JP2008027395A5/ja
Application granted granted Critical
Publication of JP4861084B2 publication Critical patent/JP4861084B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Generation (AREA)

Description

本発明は、ページ記述言語(PDL)等の描画データに従って画像データを生成するための描画処理に関する。   The present invention relates to a drawing process for generating image data according to drawing data such as a page description language (PDL).

印刷装置等の画像形成装置は、入力デバイスから送られてくるPostScriptやPDF等のページ記述言語(PDL)で記述された描画データを解釈してラスタ画像を形成する描画処理装置を具備する。ここで、描画データは複数種類の描画オブジェクトの集合として構成され、その種類としては図形、テキスト、他の画像などが挙げられる。これらの描画オブジェクトの処理はそれぞれ異なる処理となっており、複雑な描画オブジェクトの描画処理には多くのプロセスおよび時間が必要となる。   An image forming apparatus such as a printing apparatus includes a drawing processing apparatus that interprets drawing data described in a page description language (PDL) such as PostScript or PDF sent from an input device to form a raster image. Here, the drawing data is configured as a set of a plurality of types of drawing objects, and examples of the types include graphics, text, and other images. The processing of these drawing objects is different from each other, and a lot of processes and time are required for drawing processing of a complicated drawing object.

そこで、画像出力を高速化するために、画像形成装置に対して各種処理機能を有するユニットを付加することが行われている。これら付加されるユニットの多くはハードウェアによって実装されることが多い。しかしながら、ハードウェアによる実装は高速な反面、対象となる処理毎に専用のユニットを付加していくため回路規模が増大してしまう。一方、高速化の他の手法として描画処理の並列化が行われている。このような並列化では以下のような手法がとられる。例えば、入力された描画データを解析して描画オブジェクト単位に分割し、分割された描画データを複数の描画処理装置に振り分けて並列処理する方法が挙げられる。或は、描画データに対して領域分割を行って部分画像を生成するための描画データを再構成し、再構成された描画データを複数の描画処理装置に振り分けて並列に処理する方法が挙げられる。   Therefore, in order to speed up image output, units having various processing functions are added to the image forming apparatus. Many of these added units are often implemented by hardware. However, while hardware implementation is fast, a circuit scale increases because a dedicated unit is added for each target process. On the other hand, parallelization of drawing processing is performed as another method for speeding up. In such parallelization, the following method is taken. For example, there is a method in which input drawing data is analyzed and divided into drawing objects, and the divided drawing data is distributed to a plurality of drawing processing devices and processed in parallel. Alternatively, there is a method in which drawing data for generating a partial image is reconstructed by dividing the drawing data into regions, and the reconstructed drawing data is distributed to a plurality of drawing processing devices and processed in parallel. .

上記のように専用の描画処理装置を設け、かつ並列化を行って描画オブジェクトを処理する構成は、特許文献1に開示されている。特許文献1では、文字、画像、描画図形毎に専用の描画処理ユニットを設け、それぞれの処理の高速化と並列実行による高速化を達成している。
特開平02−063760
A configuration in which a dedicated drawing processing apparatus is provided as described above and a drawing object is processed by performing parallel processing is disclosed in Patent Document 1. In Patent Document 1, a dedicated drawing processing unit is provided for each character, image, and drawing figure, and each processing is speeded up and speeded up by parallel execution.
JP 02-063760

一般に、描画図形としては、直線によって構成される図形、本来曲線によって構成されているが直線で近似的に表現されている図形、高次関数で表現される曲線によって構成される図形等が挙げられる。これら描画図形の外形追跡処理は、画素単位あるいは走査線単位で行う必要があり、特に高精細化が進むにつれて演算回数が増大するため、高次関数の処理時間が描画時間に大きく影響してくる。特許文献1のように、並列処理すべく配置されている複数の描画処理装置が描画オブジェクトの種類毎の専用の描画処理装置である場合には、印刷データに含まれる描画オブジェクトの種類に偏りがあると並列化の効果が小さくなるという課題がある。   In general, the drawing figure includes a figure constituted by a straight line, a figure originally constituted by a curved line but approximately expressed by a straight line, a figure constituted by a curve expressed by a high-order function, and the like. . The outline tracing processing of these drawing figures must be performed in units of pixels or scanning lines, and the number of operations increases especially as the definition becomes higher, so the processing time of the higher-order function greatly affects the drawing time. . When a plurality of drawing processing devices arranged for parallel processing are dedicated drawing processing devices for each type of drawing object as in Patent Document 1, there is a bias in the types of drawing objects included in the print data. If there is, there is a problem that the effect of parallelization becomes small.

一方、そのような偏りを防止するべく、並列処理すべく配置されている全ての描画処理装置が広範な描画オブジェクトに対応できるようにすると、高機能な描画処理装置が必要以上に配置されることになる。例えば、配列処理すべく配置されているすべての描画処理装置が高次関数を高速に実行できる必要はなく、むしろこのような構成はハードウェアに必要以上の性能とコストをかけることとなり望ましくない。   On the other hand, if all the drawing processing devices arranged for parallel processing can cope with a wide range of drawing objects in order to prevent such a bias, a highly functional drawing processing device is arranged more than necessary. become. For example, it is not necessary that all drawing processing apparatuses arranged for array processing can execute high-order functions at high speed. Rather, such a configuration undesirably increases the performance and cost of hardware.

本発明は以上の問題に鑑みてなされたものであり、回路規模を過剰に増大させることなく図形に関する描画処理を高速に実行可能にすることを目的とする。   The present invention has been made in view of the above problems, and an object of the present invention is to enable drawing processing relating to graphics to be executed at high speed without excessively increasing the circuit scale.

上記の目的を達成するための本発明の一態様による描画処理装置は以下の構成を備える。即ち、
描画命令列を処理するソフトウエアを実行する第1及び第2の描画処理部と、前記第1の描画処理部は乗算器を持たず、前記第2の描画処理部は乗算器を有し、
入力された描画データから図形オブジェクト毎に描画命令列を抽出し、抽出された描画命令列を、高次関数演算を必要とするかに基づいて分類する分類手段と、
複数の描画命令列の各々を処理する描画処理部を、前記分類手段による分類結果に基づいて、前記第1及び第2の描画処理部から選択する選択手段と、
前記選択手段で選択した描画処理部へ前記描画命令列を送信する送信手段と、
前記第1及び第2の描画処理部が前記送信手段により送信された描画命令列を処理することにより生成した描画結果を合成する合成手段とを備え
前記選択手段は、前記複数の描画命令列を処理するにおいて前記第1及び第2の描画処理部の並列動作が維持されるように、高次関数演算を必要とする描画命令列を乗算器を有する描画処理部に優先的に割り当て、高次関数演算が不要な描画命令列を乗算器を持たない描画処理部に優先的に割り当てる。
In order to achieve the above object, a drawing processing apparatus according to an aspect of the present invention has the following arrangement. That is,
First and second drawing processing units that execute software for processing a drawing command sequence, and the first drawing processing unit does not have a multiplier, and the second drawing processing unit has a multiplier,
A classification means for extracting a drawing command sequence for each graphic object from the input drawing data, and classifying the extracted drawing command sequence based on whether higher-order function operations are required;
Selection means for the drawing processing unit for processing each of the plurality of drawing instruction sequence, based on the classification result by the classifying means, for selecting from said first and second rendering unit,
Transmitting means for transmitting the drawing command sequence to the drawing processing unit selected by the selecting means;
And a synthesizing means for synthesizing the drawing result generated by processing the drawing instruction sequence transmitted by the first and second rendering processing unit and the transmission unit,
The selecting means includes a multiplier for drawing command sequences that require higher-order function operations so that parallel operations of the first and second drawing processing units are maintained in processing the plurality of drawing command sequences. preferentially assigned to the drawing processing unit having preferentially allocated Ru to the drawing processing unit that high order function calculating has no multiplier unnecessary drawing instruction sequence.

又、上記の目的を達成するための本発明の他の態様による描画処理装置は以下の構成を備える。即ち、
描画命令列を処理するソフトウエアを実行するための複数の描画処理部と、
入力された描画データから図形オブジェクト毎に描画命令列を抽出し、抽出された描画命令列を、高次関数演算を必要とするかに基づいて分類する分類手段と、
前記描画命令列が高次関数演算を必用としない描画命令列に分類された場合は、前記複数の描画処理部の一つへ前記描画命令列を送信し、前記描画命令列が高次関数演算を必要とする描画命令列に分類された場合は、前記図形オブジェクトを分割した描画範囲毎に別の描画処理部により処理されるように、前記複数の描画処理部から選択された複数の描画処理部へ当該描画命令列を送信する送信手段と、
前記複数の描画処理部が前記送信手段により送信された描画命令列を処理することにより生成した描画結果を合成する合成手段とを備える。
In addition, a drawing processing apparatus according to another aspect of the present invention for achieving the above object has the following configuration. That is,
A plurality of drawing processing units for executing software for processing a drawing command sequence;
A classification means for extracting a drawing command sequence for each graphic object from the input drawing data, and classifying the extracted drawing command sequence based on whether higher-order function operations are required;
When the drawing command sequence is classified as a drawing command sequence that does not require higher-order function operations , the drawing command sequence is transmitted to one of the plurality of drawing processing units, and the drawing command sequence is processed by higher-order function operations. A plurality of drawing processes selected from the plurality of drawing processing units so that each drawing range obtained by dividing the graphic object is processed by another drawing processing unit. Transmitting means for transmitting the drawing command sequence to the unit;
And a synthesizing means for synthesizing the drawing result generated by the plurality of drawing processing section processes the drawing instruction sequence transmitted by the transmission means.

本発明によれば、回路規模を過剰に増大させることなく図形に関する描画処理を高速に実行することが可能となる。   According to the present invention, it is possible to execute a drawing process on a graphic at a high speed without excessively increasing the circuit scale.

以下、添付図面を参照して本発明の好適な実施形態を説明する。   Preferred embodiments of the present invention will be described below with reference to the accompanying drawings.

<第1実施形態>
図1Aは第1実施形態に係る画像形成装置の構成例を示すブロック図である。画像形成装置1において、入力I/F11は外部の情報処理装置(例えばパーソナルコンピュータ)からPDLにより記述された印刷データを受信する。描画処理装置100は印刷データを処理して、ビットマップイメージを生成する。ビデオ信号化部12は描画処理装置100で生成されたビットマップイメージを走査線順次のビデオ信号に変換してプリンタエンジン13に出力する。プリンタエンジン13は受信したビットマップイメージに従って記録媒体上に可視画像を形成する。尚、プリンタエンジン13には、例えばレーザビームを利用した静電写真方式やインクジェット方式など、周知のいかなる記録方式も適用できる。尚、インクジェット方式を採用した場合等において、バンド単位でイメージデータをプリンタエンジン13に供給する場合は、ビデオ信号化部12の代わりに、バンドメモリにバンド単位でイメージを書き込む処理ユニットを設けることになる。
<First Embodiment>
FIG. 1A is a block diagram illustrating a configuration example of an image forming apparatus according to the first embodiment. In the image forming apparatus 1, the input I / F 11 receives print data described in PDL from an external information processing apparatus (for example, a personal computer). The drawing processing apparatus 100 processes the print data to generate a bitmap image. The video signal converting unit 12 converts the bitmap image generated by the drawing processing apparatus 100 into a scanning line sequential video signal and outputs it to the printer engine 13. The printer engine 13 forms a visible image on the recording medium according to the received bitmap image. For the printer engine 13, any known recording method such as an electrostatic photographic method using a laser beam or an ink jet method can be applied. When the image data is supplied to the printer engine 13 in band units when the inkjet method is adopted, a processing unit for writing the image in band units in the band memory is provided instead of the video signal converting unit 12. Become.

上記の構成において、描画処理装置100は、例えばPostScriptやPDF等のPDLによる印刷データを入力とし、該PDLに基づいて画像データを形成する。図1Bは第1実施形態による描画処理装置100の構成例を示すブロック図である。   In the above configuration, the drawing processing apparatus 100 receives print data in PDL such as PostScript or PDF, for example, and forms image data based on the PDL. FIG. 1B is a block diagram illustrating a configuration example of the drawing processing apparatus 100 according to the first embodiment.

描画処理装置100において、命令解析部101は、印刷データ(PDL)を入力し、入力した印刷データの描画命令を解析する。命令解析部101は、このような描画命令列から描画オブジェクト毎に描画命令列を抽出する。印刷データ(描画データ)が図2により後述するような図形を描画するための描画命令列を含む場合、命令解析部101は、図形オブジェクト毎の描画命令列を抽出する。図形グループ決定部102は、その図形を描画するのに要求される処理能力(例えば高次関数演算が必要か否か)によって、図形オブジェクトに対応した描画命令列を分類する。描画命令分配部103は、分類された描画命令列を、各々の分類結果に応じて第1プロセッサ104と第2プロセッサ105に分配する。第1プロセッサ104及び第2プロセッサ105はそれぞれ描画命令に従って画像の描画を行う画像処理部である。画素合成部106は、第1プロセッサ104によって生成された画素情報と第2プロセッサ105によって生成された画素情報を併合して印刷データに対応するビットマップデータを出力する。尚、本実施形態では図形描画のためのプロセッサのみを示したが、描画処理装置100は文字や画像を描画するための専用のプロセッサも有するものとする。或いは、文字や画像を第1プロセッサまたは第2プロセッサで描画するように構成してもよい。但し、これらのプロセッサの構成や、これらのプロセッサへの描画命令の分配は周知であるので、ここでは説明を省略する。   In the drawing processing apparatus 100, a command analysis unit 101 inputs print data (PDL) and analyzes a drawing command of the input print data. The command analysis unit 101 extracts a drawing command sequence for each drawing object from such a drawing command sequence. When the print data (drawing data) includes a drawing command sequence for drawing a graphic as will be described later with reference to FIG. 2, the command analysis unit 101 extracts a drawing command sequence for each graphic object. The graphic group determination unit 102 classifies the drawing command sequence corresponding to the graphic object according to the processing capability required to draw the graphic (for example, whether higher-order function calculation is necessary). The drawing command distribution unit 103 distributes the classified drawing command sequence to the first processor 104 and the second processor 105 according to each classification result. Each of the first processor 104 and the second processor 105 is an image processing unit that draws an image in accordance with a drawing command. The pixel composition unit 106 combines the pixel information generated by the first processor 104 and the pixel information generated by the second processor 105 and outputs bitmap data corresponding to the print data. In the present embodiment, only a processor for drawing graphics is shown, but the drawing processing apparatus 100 also has a dedicated processor for drawing characters and images. Or you may comprise so that a character and an image may be drawn with a 1st processor or a 2nd processor. However, since the configurations of these processors and the distribution of drawing commands to these processors are well known, the description thereof is omitted here.

以下、各構成についてより詳細に説明する。
命令解析部101はPDLにより記述された印刷データを受け取り、その印刷データをPDLの規約に沿って解釈する機能と、非描画命令を実行する機能と、描画オブジェクト毎に描画命令列(コマンド群)を切り出す機能を有する。
Hereinafter, each configuration will be described in more detail.
The command analysis unit 101 receives print data described in PDL, interprets the print data in accordance with PDL rules, executes a non-render command, and render command sequences (command group) for each rendering object. Has the function of cutting out

図形グループ決定部102は、描画命令と図形グループとの対応を定義した図形グループ対応テーブル400を参照し、命令解析部101によって切り出された各描画命令列を高次関数演算が不要な第1グループと高次関数演算が必要な第2グループに分類する。図4は図形グループ対応テーブル400のデータ構成例を示す図である。図4に示す図形グループ対応テーブル400では、直線を描画する命令「lineto」401が第1グループに対応付けられている。また、円を描画する命令「arc」402や曲線(ベジエ曲線)を描画する命令「curveto」403は第2グループに対応付けられている。即ち、第1グループは一次関数で解決できる図形であることを示しており、第2グループは高次関数の計算を要する図形であることを示している。例えば、描画命令列に「curveto」なるコマンドが含まれていた場合は、当該描画命令列の図形グループは第2グループであると決定される。このように、図形グループ決定部102は、図形グループ対応テーブル400を参照することで、描画命令列(図形)が描画の際に高次関数演算を必要とするグループ(第2グループ)に属するか、そうでないグループ(第1グループ)に属するかを判定する。   The graphic group determination unit 102 refers to the graphic group correspondence table 400 that defines the correspondence between drawing commands and graphic groups, and the first group that does not require higher-order function operations for each drawing command sequence cut out by the command analysis unit 101 And a second group that requires higher-order function operations. FIG. 4 is a diagram showing a data configuration example of the figure group correspondence table 400. In the graphic group correspondence table 400 shown in FIG. 4, a command “lineto” 401 for drawing a straight line is associated with the first group. A command “arc” 402 for drawing a circle and a command “curveto” 403 for drawing a curve (Bézier curve) are associated with the second group. That is, the first group indicates a figure that can be solved by a linear function, and the second group indicates a figure that requires calculation of a high-order function. For example, when the command “curveto” is included in the drawing command sequence, the graphic group of the drawing command sequence is determined to be the second group. In this way, the graphic group determination unit 102 refers to the graphic group correspondence table 400 to determine whether the drawing command sequence (graphic) belongs to a group (second group) that requires a higher-order function operation when drawing. It is determined whether it belongs to a group (first group) that is not so.

描画命令分配部103は上記図形グループ決定部102によって決定されたグループに基いて、対応する図形の描画命令列を第1プロセッサ104に対して第1描画命令列として分配し、第2プロセッサ105に第2描画命令列として分配する機能を有する。本実施形態では、上記第1グループに属する描画命令を第1描画命令列とし、上記第2グループに属する描画命令を第2描画命令列として生成する。   Based on the group determined by the graphic group determination unit 102, the drawing command distribution unit 103 distributes the drawing command sequence of the corresponding graphic to the first processor 104 as the first drawing command sequence, and distributes it to the second processor 105. It has a function of distributing as a second drawing command sequence. In the present embodiment, the drawing command belonging to the first group is generated as a first drawing command sequence, and the drawing command belonging to the second group is generated as a second drawing command sequence.

第1プロセッサ104は加算器、論理演算器、シフト演算器を有するプロセッサである。第1プロセッサ104は、描画命令分配部103によって分配された第1描画命令列を処理してラスタ画像を生成するソフトウェアを実行することにより、第1描画命令列に対応する第1のビットマップデータを生成する。第2プロセッサ105は第1プロセッサ104の構成に加えさらに乗算器を有するプロセッサである。第2プロセッサ105は、描画命令分配部103によって分配された第2描画命令列を処理してラスタ画像を生成するソフトウェアを実行することにより、第2描画命令列に対応する第2のビットマップデータを生成する。又、乗算器を利用することにより、高次関数演算を高速に処理することができる。   The first processor 104 is a processor having an adder, a logical operator, and a shift operator. The first processor 104 processes the first drawing command sequence distributed by the drawing command distribution unit 103 and executes software for generating a raster image, whereby first bitmap data corresponding to the first drawing command sequence is executed. Is generated. The second processor 105 is a processor having a multiplier in addition to the configuration of the first processor 104. The second processor 105 processes the second drawing command sequence distributed by the drawing command distribution unit 103 and executes software for generating a raster image, thereby generating second bitmap data corresponding to the second drawing command sequence. Is generated. Further, by using a multiplier, high-order function calculation can be processed at high speed.

画素合成部106は第1プロセッサ104で生成された第1のビットマップデータと、第2プロセッサ105で生成された第2のビットマップデータとを印刷データの中で定義された上下関係に基いて合成する。合成されたビットマップデータは、印刷データに対応する画像のビットマップデータとして画素合成部106より出力される。   The pixel synthesis unit 106 uses the first bitmap data generated by the first processor 104 and the second bitmap data generated by the second processor 105 based on the vertical relationship defined in the print data. Synthesize. The synthesized bitmap data is output from the pixel synthesis unit 106 as bitmap data of an image corresponding to the print data.

以上のような構成を備えた本実施形態の描画処理装置100の動作について、図2、図3の描画例を用いてより詳細に説明する。   The operation of the drawing processing apparatus 100 according to the present embodiment having the above-described configuration will be described in more detail with reference to drawing examples shown in FIGS.

図2は、図1に示した命令解析部101に入力されるPostScirpt言語で記述された印刷データ(描画命令列)の一例を示す。又、この印刷データによって描画される画像を図3に示す。図2において、記述201、202は各描画オブジェクトの描画命令に相当し、それぞれ図3に示されている三角形オブジェクト301、曲線オブジェクト302を描画する描画命令列である。   FIG. 2 shows an example of print data (drawing instruction sequence) described in the PostScirpt language that is input to the instruction analysis unit 101 shown in FIG. FIG. 3 shows an image drawn by this print data. In FIG. 2, descriptions 201 and 202 correspond to drawing commands for each drawing object, and are drawing command sequences for drawing the triangle object 301 and the curve object 302 shown in FIG. 3, respectively.

図2の記述203によって示される描画命令は、これから描画しようとしている図形の形状を定義している部分である。記述203は、三角形オブジェクト301の形状を定義している。具体的に説明すると、最初に、moveto命令によってペン座標を(X,Y)=(180,280)に移動させる。そして、そこから順にlineto命令によって座標(120,70)、(315,170)、(180,280)に直線を引き、三角形オブジェクト301を描画する。記述203ではclosepathまでにlinetoのみが現れている。従って、図形グループ決定部102は図4に示す図形グループ対応テーブルの401を参照し、記述203により描画される図形が一次関数の計算のみを要する第1グループに属する図形であると決定する。もし記述203の中にcurveto等が含まれていた場合には、記述403で描画される図形を第2グループに属する図形であると判断する。この判断結果(第1グループに属していることを示すグループ情報)は記述203の描画命令列とともに描画命令分配部103に入力される。描画命令分配部103は、この第1グループであることを示すグループ情報に基づいて、記述203〜205に至る描画命令列を第1プロセッサ104に対して出力する。   The drawing command indicated by the description 203 in FIG. 2 is a part that defines the shape of a graphic to be drawn. The description 203 defines the shape of the triangle object 301. More specifically, first, the pen coordinates are moved to (X, Y) = (180, 280) by a moveto command. Then, a straight line is drawn to the coordinates (120, 70), (315, 170), (180, 280) in order by the lineto command, and the triangle object 301 is drawn. In the description 203, only lineto appears until closepath. Therefore, the graphic group determining unit 102 refers to the graphic group correspondence table 401 shown in FIG. 4 and determines that the graphic drawn by the description 203 belongs to the first group requiring only the calculation of the linear function. If curve 203 or the like is included in the description 203, it is determined that the graphic drawn in the description 403 is a graphic belonging to the second group. This determination result (group information indicating that it belongs to the first group) is input to the drawing command distribution unit 103 together with the drawing command sequence of the description 203. The drawing command distribution unit 103 outputs, to the first processor 104, a drawing command sequence that reaches the descriptions 203 to 205 based on the group information indicating the first group.

第1プロセッサ104は記述203〜205に至る描画命令列を処理する。通常一次関数に対しては座標毎に差分計算が行われるため加算器があれば座表計算には十分である。記述204(setrgbcolor)は記述203で定義した三角形の色を定義する。ここでは、赤が指定されている。記述205は、三角形を記述204で定義した赤色に塗り潰す処理が指示されている。従って、第1プロセッサ104は、記述203で定義される三角形に包含される座標に対応する画素に対して赤を示す画素データを出力する。   The first processor 104 processes a drawing command sequence extending from the descriptions 203 to 205. Since a difference calculation is usually performed for each coordinate for a linear function, an adder is sufficient for a table calculation. A description 204 (setrgbcolor) defines the color of the triangle defined in the description 203. Here, red is designated. The description 205 is instructed to fill the triangle defined in the description 204 with the red color. Therefore, the first processor 104 outputs pixel data indicating red for the pixels corresponding to the coordinates included in the triangle defined by the description 203.

図2の記述206は、曲線オブジェクト302(ベジエ曲線)の描画を指示している。ここでは最初に、ペンの座標を(30,20)に移動させ、現在のペン座標と(85,120)、(160,60)、(140,20)の4点で囲まれるベジエ曲線を描く。記述206に続く線は定義されてないので、これは単一のベジエ曲線であることが分かる。   A description 206 in FIG. 2 instructs to draw a curved object 302 (Bézier curve). Here, first, the coordinates of the pen are moved to (30, 20), and a Bezier curve surrounded by the current pen coordinates and four points (85, 120), (160, 60), and (140, 20) is drawn. Since the line following description 206 is not defined, it can be seen that this is a single Bezier curve.

図形グループ決定部102は図4に示す図形グループ対応テーブル400を参照し、記述206の図形(curveto)が高次関数の計算を要する第2グループに属する図形であることを決定する。   The graphic group determination unit 102 refers to the graphic group correspondence table 400 shown in FIG. 4 and determines that the graphic of the description 206 belongs to the second group that requires the calculation of a higher-order function.

この判断結果(第2グループに属していることを示すグループ情報)は記述202の描画命令列とともに描画命令分配部103に入力される。描画命令分配部103は、第2グループであることを示すグループ情報に従って、記述202の描画命令列を第2プロセッサ105に出力する。   This determination result (group information indicating that it belongs to the second group) is input to the drawing command distribution unit 103 together with the drawing command sequence of the description 202. The drawing command distribution unit 103 outputs the drawing command sequence of the description 202 to the second processor 105 in accordance with the group information indicating the second group.

第2プロセッサ105は記述202の描画命令列を処理する。高次関数の計算には乗算が必要とされるため、第2プロセッサ105は乗算を高速に実行する構成を具備している。第2プロセッサ105は記述206で定義されるベジエ曲線の座標に対応する画素に対して赤を示す画素データを出力する。尚、描画命令分配部103は、記述202に色の指定が無いことから、記述202に記述204を付加して第2プロセッサ105へ送信する。したがって、記述206により描画されるベジェ曲線の色は記述204によって設定された色となる。   The second processor 105 processes the drawing command sequence of the description 202. Since the calculation of the high-order function requires multiplication, the second processor 105 has a configuration for executing multiplication at high speed. The second processor 105 outputs pixel data indicating red for the pixel corresponding to the coordinates of the Bezier curve defined by the description 206. The drawing command distribution unit 103 adds the description 204 to the description 202 and transmits the description 202 to the second processor 105 because no color is specified in the description 202. Therefore, the color of the Bezier curve drawn by the description 206 is the color set by the description 204.

画素合成部106は以上のようにして第1プロセッサ104が出力した第1のビットマップデータと第2プロセッサ105が出力した第2ビットマップデータとを合成し、入力した印刷データに対するビットマップデータとしてこれを出力する。尚、図2の印刷データにおいて三角形オブジェクト301と曲線オブジェクト302が重なる場合、画素合成部106は次のように処理する。即ち、画素合成部106は、描画命令列の中で先に出現する記述203に対応する三角形オブジェクト301が後に出現する記述206に対応する曲線オブジェクト302よって上書きされるように第1ビットマップデータと第2ビットマップデータを合成する。   The pixel synthesizing unit 106 synthesizes the first bitmap data output from the first processor 104 and the second bitmap data output from the second processor 105 as described above, as bitmap data for the input print data. Output this. When the triangle object 301 and the curve object 302 overlap in the print data of FIG. 2, the pixel composition unit 106 performs the following process. That is, the pixel composition unit 106 includes the first bitmap data and the first bitmap data so that the triangle object 301 corresponding to the description 203 that appears first in the drawing command sequence is overwritten by the curve object 302 corresponding to the description 206 that appears later. The second bitmap data is synthesized.

以上のように、第1実施形態によれば、印刷データに含まれる図形は描画に高次関数の計算が必要か否かにより、それぞれ異なる構成のプロセッサに割当てられ、並列に処理される。   As described above, according to the first embodiment, graphics included in print data are assigned to processors having different configurations depending on whether or not higher-order functions need to be calculated for drawing, and are processed in parallel.

尚、第2プロセッサ105に既にいくつかの図形の描画処理が割当てられている場合に、第1プロセッサ104に対して第2グループに属する図形の描画を割当てるスケジュール機能を描画命令分配部103に持たせてもよい。同様に、第1プロセッサ104に既にいくつかの図形の描画処理が割当てられている場合に、第2プロセッサ105に対して第1グループに属する図形の描画を割当てるスケジュール機能を描画命令分配部103に持たせてもよい。即ち、描画命令分配部103が高次関数演算を必要とする描画命令列を乗算器を有するプロセッサに優先的に割り当て、高次関数演算が不要な描画命令列を乗算器を持たないプロセッサに優先的に割り当てるようにしてもよい。このようにすれば、ページ内に現れる図形に偏りがあった場合にも、より効果的に並列性を維持することが可能になる。   The drawing command distribution unit 103 has a schedule function for assigning drawing of graphics belonging to the second group to the first processor 104 when drawing processing of some figures has already been assigned to the second processor 105. It may be allowed. Similarly, the drawing command distribution unit 103 has a scheduling function for assigning drawing of graphics belonging to the first group to the second processor 105 when drawing processing of some graphics has already been assigned to the first processor 104. You may have it. That is, the rendering command distribution unit 103 preferentially assigns a rendering command sequence that requires a higher-order function operation to a processor having a multiplier, and prioritizes a rendering instruction sequence that does not require a higher-order function operation to a processor that does not have a multiplier. May be assigned automatically. In this way, parallelism can be more effectively maintained even when there is a bias in the graphics that appear in the page.

又、上記実施形態では、第1プロセッサ104及び第2プロセッサ105においてビットマップデータを生成したが、これに限られるものではない。例えば、第1プロセッサ104、第2プロセッサ105が、走査線毎に各図形の交点座標のみを計算する構成にも適用可能である。この場合の画像合成部106の構成及び動作について図7を参照して説明する。   In the above embodiment, the bitmap data is generated by the first processor 104 and the second processor 105, but the present invention is not limited to this. For example, the present invention can be applied to a configuration in which the first processor 104 and the second processor 105 calculate only the intersection coordinates of each figure for each scanning line. The configuration and operation of the image composition unit 106 in this case will be described with reference to FIG.

画像合成部106は第1プロセッサ104及び第2プロセッサ105の演算結果や印刷データから得られる命令ストリームを含む表示リスト71を参照し、走査線毎の画像データを生成する画像処理パイプライン72を有する。表示リスト71において、命令ストリーム711は印刷データから取得される描画命令ストリームである。エッジ情報712は第1プロセッサ104及び第2プロセッサ105から取得される走査線毎の、各図形の交点座標の情報である。   The image composition unit 106 has an image processing pipeline 72 that generates image data for each scanning line with reference to a display list 71 including an instruction stream obtained from the calculation results of the first processor 104 and the second processor 105 and print data. . In the display list 71, an instruction stream 711 is a drawing instruction stream acquired from print data. Edge information 712 is information of intersection coordinates of each figure for each scanning line acquired from the first processor 104 and the second processor 105.

画素合成部106は、画像処理パイプライン72を有する。画像処理パイプライン72は、命令処理ユニット721、エッジ処理ユニット722、優先順位決定ユニット723、塗りつぶし色決定ユニット724、画素生成ユニット725および画素出力ユニット726により構成される。721〜726の各ユニットは、直列に接続されている。
命令処理ユニット721は、表示リスト71中の命令ストリーム711を解釈し、その命令を下流の各ユニットに適合したフォーマットへ変換し、送出する。エッジ処理ユニット722は、スキャンラインを走査し、表示リスト71中のエッジ情報712の交点座標をソートする。即ち、エッジ処理ユニット722は、走査線毎に第1プロセッサ104と第2プロセッサ105とから図形の交点座標座標を受け取り、受け取った座標を走査線方向座標順にソートして、エッジ交差情報を生成する。そして、エッジ処理ユニット722は、命令処理ユニット721から受信した優先順位情報や塗りつぶし情報とともに、エッジ交差情報およびスキャンライン終了情報を下流の画像処理ユニットへ送出する。
The pixel composition unit 106 includes an image processing pipeline 72. The image processing pipeline 72 includes an instruction processing unit 721, an edge processing unit 722, a priority order determination unit 723, a fill color determination unit 724, a pixel generation unit 725, and a pixel output unit 726. The units 721 to 726 are connected in series.
The instruction processing unit 721 interprets the instruction stream 711 in the display list 71, converts the instruction into a format suitable for each downstream unit, and sends it out. The edge processing unit 722 scans the scan lines and sorts the intersection coordinates of the edge information 712 in the display list 71. That is, the edge processing unit 722 receives the intersection coordinate coordinates of the graphics from the first processor 104 and the second processor 105 for each scanning line, sorts the received coordinates in the order of the scanning line direction coordinates, and generates edge intersection information. . Then, the edge processing unit 722 sends the edge crossing information and the scan line end information to the downstream image processing unit together with the priority order information and the fill information received from the instruction processing unit 721.

優先順位決定ユニット723は、エッジ交差情報と優先順位情報に基づいて、交点座標と図形との対応から当該走査線上の各位置で有効な図形を決定し、有効図形情報を生成する。即ち、優先順位決定ユニット723は、上記のソート処理によって並べ替えられた交点座標列と図形との対応を参照して、当該走査線において描画対象図形として活性化している図形(図形の優先順位(即ち、上下関係))を決定し、有効図形情報とする。そして、優先順位決定ユニット723は、上流のエッジ処理ユニット722から受信した塗りつぶし情報、スキャンライン終了情報とともに、有効図形情報を塗りつぶし色決定ユニット724へ送出する。   Based on the edge intersection information and the priority order information, the priority order determination unit 723 determines a valid figure at each position on the scanning line from the correspondence between the intersection coordinates and the figure, and generates valid figure information. That is, the priority order determining unit 723 refers to the correspondence between the intersection coordinate sequence rearranged by the above sort processing and the figure, and the figure activated as the drawing target figure in the scanning line (the figure priority order ( That is, the vertical relationship)) is determined and used as effective graphic information. Then, the priority order determination unit 723 sends the effective graphic information to the fill color determination unit 724 together with the fill information and the scan line end information received from the upstream edge processing unit 722.

塗りつぶし色決定ユニット724は、有効図形情報と塗りつぶし情報に基づいて、当該走査線上の各画素の色を決定し色合成情報を生成する。即ち、塗りつぶし色決定ユニット724は、上記活性化している図形の上下位置関係(有効図形情報)と色の透明度情報(塗りつぶし情報)とから画素の色に関与する図形を決定して各図形の色を決定する。即ち、各図形の色情報に従って表される色を、図形の上下位置関係に従って合成し、当該走査線上の各画素の色を決定し、これを色合成情報とする。塗りつぶし色決定ユニット724は、生成した色合成情報、画素終了情報およびスキャンライン終了情報を画素生成ユニット725へ送出する。画素生成ユニット725では、受信した情報から当該走査線の画素を生成し、画素出力ユニット726へ送出する。画素出力ユニット726は、画素生成ユニット725から受信した画素データをビットマップデータとしてプリンタなどへ出力する。以上のようにして、画素合成部106は、走査線上の画素または画素から画素のスパンに対して有効になっている図形の色を合成して画素の座標順にビットマップデータを出力する。   The fill color determination unit 724 determines the color of each pixel on the scanning line based on the effective graphic information and the fill information, and generates color composition information. In other words, the fill color determination unit 724 determines the figure related to the color of the pixel from the vertical positional relationship (effective figure information) of the activated figure and the color transparency information (fill information), and determines the color of each figure. To decide. That is, the colors represented according to the color information of each figure are synthesized according to the vertical positional relationship of the figure, the color of each pixel on the scanning line is determined, and this is used as the color synthesis information. The fill color determination unit 724 sends the generated color composition information, pixel end information, and scan line end information to the pixel generation unit 725. The pixel generation unit 725 generates a pixel of the scanning line from the received information and sends it to the pixel output unit 726. The pixel output unit 726 outputs the pixel data received from the pixel generation unit 725 to the printer or the like as bitmap data. As described above, the pixel synthesizing unit 106 synthesizes the colors of the figure effective for the pixel or the pixel span on the scanning line and outputs the bitmap data in the pixel coordinate order.

又、第1実施形態は、処理能力の異なる複数のプロセッサを備え、描画命令分配部103が図形オブジェクトに対応した描画命令列の処理に必要となる演算能力に応じて、複数のプロセッサから当該描画命令列を処理させるべきプロセッサを選択する。従って、図1Bでは図形オブジェクトを描画するためのプロセッサとして2つのプロセッサを設けた例を示したが、プロセッサの数はこれに限られるものではない。   In addition, the first embodiment includes a plurality of processors having different processing capabilities, and the drawing command distribution unit 103 draws the drawing from the plurality of processors according to the calculation capability necessary for processing the drawing command sequence corresponding to the graphic object. Select a processor to process the instruction sequence. Therefore, although FIG. 1B shows an example in which two processors are provided as processors for drawing a graphic object, the number of processors is not limited to this.

以上述べたように、第1実施形態によれば、PDLに含まれる図形をそれぞれ必要十分な機能を有するプロセッサに割当て並列に処理することにより、回路規模の過剰な増大なしに描画時間を短縮することができる。   As described above, according to the first embodiment, the graphics included in the PDL are assigned to processors having necessary and sufficient functions and processed in parallel, thereby reducing the drawing time without excessive increase in circuit scale. be able to.

<第2実施形態>
上記第1実施形態では、能力の異なる複数のプロセッサを用意し、描画命令の実行に必要な演算能力に応じて描画命令を複数のプロセッサのいずれかに振り分ける構成を示した。第2実施形態では、同じ能力のプロセッサを複数用意しておき、高い処理能力が必要な描画命令(処理時間のかかる描画命令)については、描画される図形オブジェクトを分割し、複数のプロセッサで分担して1つの図形オブジェクトを描画させる。
Second Embodiment
In the first embodiment, a configuration is shown in which a plurality of processors having different capabilities are prepared and a drawing command is distributed to one of the plurality of processors according to the calculation capability necessary for executing the drawing command. In the second embodiment, a plurality of processors having the same capability are prepared, and for drawing commands that require high processing power (drawing commands that require processing time), the graphic object to be drawn is divided and shared by the plurality of processors. One graphic object is drawn.

図5は第2実施形態による描画処理装置500の構成例を示すブロック図である。尚、描画処理装置500を適用可能な画像形成装置の構成例は図1Aに示したとおりであり、第2実施形態では、描画処理装置100の代わりに描画処理装置500が配置されることになる。   FIG. 5 is a block diagram illustrating a configuration example of a drawing processing apparatus 500 according to the second embodiment. A configuration example of an image forming apparatus to which the drawing processing apparatus 500 can be applied is as shown in FIG. 1A. In the second embodiment, the drawing processing apparatus 500 is arranged instead of the drawing processing apparatus 100. .

図5において、命令解析部101、図形グループ決定部102、図形グループ対応テーブル400は第1実施形態(図1B)と同様の構成である。描画命令分配部503は、図形グループ決定部102で決定されたグループ情報に基づいて、プロセッサ501a〜501cに図形オブジェクトに対応する描画命令列を分配する。第2実施形態では、画像処理部であるところの複数のプロセッサ501a〜501cは、すべて同じ描画処理能力を有するものとする(但し、複数のプロセッサ間に処理能力の差があってもかまわない)。画素合成部504はプロセッサ501a〜501cによって生成された画素情報を併合してビットマップデータを生成し、これを印刷データに対応するビットマップデータとして出力する。   In FIG. 5, the instruction analysis unit 101, the figure group determination unit 102, and the figure group correspondence table 400 have the same configuration as that of the first embodiment (FIG. 1B). The drawing command distribution unit 503 distributes a drawing command sequence corresponding to the graphic object to the processors 501a to 501c based on the group information determined by the graphic group determination unit 102. In the second embodiment, the plurality of processors 501a to 501c, which are image processing units, all have the same drawing processing capability (however, there may be a difference in processing capability between the plurality of processors). . The pixel synthesis unit 504 merges the pixel information generated by the processors 501a to 501c to generate bitmap data, and outputs this as bitmap data corresponding to the print data.

上述したように、図形グループ決定部102は、描画命令列を高次関数演算を必要としない第1グループの図形オブジェクトの描画命令列と、高次関数演算を必要とする第2グループの図形オブジェクトの描画命令列に分ける。図形グループ決定部102は、描画命令列を、第1グループ、第2部グループのいずれに属するかを示すグループ情報とともに描画命令分配部503に提供する。描画命令分配部503は、第1グループの図形オブジェクトの描画命令列を第1描画命令列とし、高次関数演算を必要とする第2グループの図形オブジェクトの描画命令列を第2描画命令列とする。そして、描画分配部503は、第1描画命令列をプロセッサ501a〜501cのうちの単一のプロセッサ(例えばプロセッサ501a)に分配し、第2描画命令列を単一または複数のプロセッサ(例えばプロセッサ501b、501c)に分配する。   As described above, the graphic group determination unit 102 uses the drawing command sequence for the first group of graphic objects that do not require higher-order function operations and the second group of graphic objects that require higher-order function operations. Are divided into drawing command sequences. The graphic group determination unit 102 provides the drawing command sequence to the drawing command distribution unit 503 together with group information indicating which of the first group and the second group belongs. The drawing command distribution unit 503 sets the drawing command sequence of the first group of graphic objects as the first drawing command sequence, and sets the drawing command sequence of the second group of graphic objects that require higher-order function operations as the second drawing command sequence. To do. The drawing distribution unit 503 distributes the first drawing instruction sequence to a single processor (for example, the processor 501a) among the processors 501a to 501c, and distributes the second drawing instruction sequence to a single processor or a plurality of processors (for example, the processor 501b). , 501c).

プロセッサ501a〜501cは、加算器、論理演算器、シフト演算器を有するプロセッサであり、描画命令分配部503によって分配された描画命令列を処理してラスタ画像を生成するためのソフトウェアを実行する。こうして、プロセッサ501a〜501cにより第1描画命令列に対応する第1ビットマップデータと第2描画命令列に対応する第2ビットマップデータが生成される。画素合成部504は、プロセッサ501a〜501cで生成された第1ビットマップデータと第2ビットマップデータを印刷データの中で定義された上下関係に基いて合成し、印刷データに対応する画像のビットマップデータを出力する機能を有する。   The processors 501a to 501c are processors each having an adder, a logical operation unit, and a shift operation unit, and execute software for processing a drawing command sequence distributed by the drawing command distribution unit 503 to generate a raster image. In this way, the first bitmap data corresponding to the first drawing instruction sequence and the second bitmap data corresponding to the second drawing instruction sequence are generated by the processors 501a to 501c. The pixel synthesis unit 504 synthesizes the first bitmap data and the second bitmap data generated by the processors 501a to 501c based on the vertical relationship defined in the print data, and the image bits corresponding to the print data. It has a function to output map data.

以下、第1実施形態と同様に、図2に示す描画命令に従って図3に示す図形を描画する場合について第2実施形態の画像形成装置による詳細な動作を説明する。
命令解析部101及び図形グループ決定部102により、記述201が第1グループの描画命令列に分類され、記述202が第2グループの描画命令列に分類される処理までは第1実施形態と同様である。
Hereinafter, as in the first embodiment, the detailed operation of the image forming apparatus according to the second embodiment will be described in the case of drawing the graphic shown in FIG. 3 in accordance with the drawing command shown in FIG.
The process until the description 201 is classified into the first group drawing command sequence and the description 202 is classified into the second group drawing command sequence by the command analysis unit 101 and the graphic group determination unit 102 is the same as in the first embodiment. is there.

描画命令分配部503は、第1グループに分類された一図形オブジェクト分の描画命令列を単一のプロセッサに分配する。例えば、一つの三角形オブジェクト301に対応する描画命令列(記述201)はプロセッサ501aに供給され、第1実施形態で説明したような手順で三角形が描画される。   The drawing command distribution unit 503 distributes a drawing command sequence for one graphic object classified into the first group to a single processor. For example, a drawing command sequence (description 201) corresponding to one triangle object 301 is supplied to the processor 501a, and a triangle is drawn according to the procedure described in the first embodiment.

一方、第2グループに分類された一図形オブジェクト分の描画命令列については、当該図形の大きさが所定の描画範囲(例えば走査線方向の大きさ)に収まるか否かを判断し、収まらない場合は描画範囲指定とともに複数のプロセッサに分配する。この場合、所定の描画範囲で図形を分割し、分割された部分が別々のプロセッサで描画されるように、描画範囲指定とともに複数のプロセッサに描画命令列を送る。所定の描画範囲に収まる場合は、単一のプロセッサに描画命令列を送る。即ち、分割数と等しい数のプロセッサに一つの図形オブジェクトの描画を分担させることになる。分割数が具備するプロセッサの数を超えた場合には、例えば、図形オブジェクトをプロセッサ数で分割するようにすればよい。或いは、プロセッサに複数の分割部分を処理させるようにしてもよい。例えば5つに分割された図形オブジェクトを3つのプロセッサで実行する場合には、2つのプロセッサに2つの分割部分を、1つのプロセッサに1つの分割部分を処理させるように分配するようにしてもよい。尚、本実施形態の場合、図形オブジェクトの大きさが所定の描画範囲に収まる場合は、第2グループに分類された描画命令列であっても単一のプロセッサにより処理されることになる。尚、第2グループに分類された図形オブジェクトの分割方法はこれに限られるものではなく、例えば、必ず所定数に分割するといったように、種々の変形が可能である。   On the other hand, regarding the drawing command sequence for one graphic object classified into the second group, it is determined whether or not the size of the graphic falls within a predetermined drawing range (for example, the size in the scanning line direction). In this case, it is distributed to a plurality of processors together with the drawing range designation. In this case, the figure is divided in a predetermined drawing range, and a drawing command sequence is sent to a plurality of processors together with the drawing range specification so that the divided parts are drawn by different processors. If it falls within the predetermined drawing range, a drawing command sequence is sent to a single processor. In other words, the number of processors equal to the number of divisions is assigned to draw one graphic object. If the number of divisions exceeds the number of processors provided, for example, the graphic object may be divided by the number of processors. Or you may make it make a processor process a some division | segmentation part. For example, when a graphic object divided into five is executed by three processors, two divided parts may be distributed to two processors so that one processor processes one divided part. . In the case of the present embodiment, when the size of the graphic object is within a predetermined drawing range, even a drawing command sequence classified into the second group is processed by a single processor. Note that the method of dividing the graphic objects classified into the second group is not limited to this, and various modifications are possible, for example, dividing into a predetermined number.

プロセッサ501a〜501cは、入力された描画命令列を実行して描画処理を行う。描画範囲指定がなされている場合は、指定された範囲内について描画処理を行う。第2グループの描画命令を実行する際には、乗算を伴う高次関数の計算が必要とされるため、乗算を高速に実行する必要がある。第1実施形態では、このような描画命令に対応するべく高速なプロセッサを用いたが、第2実施形態では描画範囲を小さくして、複数のプロセッサで並列処理することにより、第2グループの描画命令による描画処理を高速に実行する。   The processors 501a to 501c execute a drawing process by executing the inputted drawing command sequence. When the drawing range is specified, the drawing process is performed within the specified range. When executing the second group of drawing commands, it is necessary to calculate a high-order function with multiplication, so that the multiplication needs to be executed at high speed. In the first embodiment, a high-speed processor is used to cope with such a drawing command. However, in the second embodiment, the drawing range is reduced and parallel processing is performed by a plurality of processors, thereby drawing the second group. The drawing process by the command is executed at high speed.

例えば、記述202により示される曲線オブジェクト302は、図6に示されるように部分Aと部分Bの2つに分割され、部分AとBは2つのプロセッサにより並列に描画される。これは、記述206の「curveto」におけるパラメータを変更して、部分Aのみを描画する描画命令と、部分Bのみを描画する描画命令を生成し、それぞれ別々のプロセッサへ送ることで実現できる。或いは、描画範囲を示すコマンドを付加できる命令体系であれば、そのような描画範囲指定コマンドを付加して各プロセッサへ描画命令列を送るようにすればよい。   For example, the curve object 302 indicated by the description 202 is divided into two parts A and B as shown in FIG. 6, and the parts A and B are drawn in parallel by two processors. This can be realized by changing the parameter in “curveto” of the description 206 to generate a drawing command for drawing only the part A and a drawing command for drawing only the part B, and sending them to different processors. Alternatively, in the case of an instruction system that can add a command indicating a drawing range, such a drawing range designation command may be added to send a drawing command sequence to each processor.

画素合成部504は複数のプロセッサ501a〜501cから入力されたビットマップデータを合成して印刷データに対するビットマップデータとして外部へ出力する。上記例の場合、三角形オブジェクト301を含むビットマップデータと、曲線オブジェクト302の部分Aを含むビットマップデータと、曲線オブジェクト302の部分Bを含むビットマップデータが合成され、図6に示すようなビットマップデータが生成される。   The pixel synthesizing unit 504 synthesizes the bitmap data input from the plurality of processors 501a to 501c and outputs the synthesized bitmap data to the outside as bitmap data for the print data. In the case of the above example, the bitmap data including the triangle object 301, the bitmap data including the part A of the curve object 302, and the bitmap data including the part B of the curve object 302 are combined, and the bit as shown in FIG. Map data is generated.

尚、図2の印刷データにおいて三角形203と曲線206が重なる場合、画素合成部504は次のように処理する。即ち、画素合成部504は、描画命令列の中で先に出現する記述203に対応する三角形オブジェクト301が後に出現する記述206に対応する曲線オブジェクト302によって上書きされるようにビットマップデータを合成する。
When the triangle 203 and the curve 206 overlap in the print data of FIG. 2, the pixel composition unit 504 performs the following process. That is, the pixel synthesis unit 504 synthesizes the bitmap data so that the triangle object 301 corresponding to the description 203 that appears first in the drawing command sequence is overwritten by the curve object 302 corresponding to the description 206 that appears later. .

以上のように、第2実施形態では、印刷データに含まれる図形は描画に高次関数の計算が必要か否かにより、それぞれ異なる数のプロセッサに割当てられ、並列に処理される。即ち、描画処理の重さに応じて1つの図形の描画を複数のプロセッサにより分担させて、効率よく並列処理を実行させることにより、描画処理の高速化が達成される。   As described above, in the second embodiment, graphics included in print data are assigned to different numbers of processors and processed in parallel depending on whether or not higher-order functions need to be calculated for drawing. In other words, the drawing process can be performed at high speed by sharing the drawing of one figure by a plurality of processors according to the weight of the drawing process and efficiently executing the parallel processing.

尚、図5に示した第2実施形態は、プロセッサ501a〜501cにおいて走査線毎に各図形の交点座標のみを計算する実施形態に応用可能である。この場合、図7により上述した画像処理パイプライン72の構成を画素合成部504に適用すればよい。即ち、画素合成部504は走査線毎に複数のプロセッサ501a〜501cから走査線毎に座標データを受け取り、座標データを走査線方向座標順にソートする。そして、交点と図形との対応から走査線上で有効な図形を決定し、走査線上の画素または画素から画素のスパンに対して有効になっている図形の色を合成して画素の座標順にビットマップデータを出力する。   The second embodiment shown in FIG. 5 can be applied to an embodiment in which only the intersection coordinates of each figure are calculated for each scanning line in the processors 501a to 501c. In this case, the configuration of the image processing pipeline 72 described above with reference to FIG. That is, the pixel composition unit 504 receives coordinate data for each scanning line from the plurality of processors 501a to 501c for each scanning line, and sorts the coordinate data in the order of the scanning line direction coordinates. Then, the effective figure on the scanning line is determined from the correspondence between the intersection and the figure, and the pixel color on the scanning line or the color of the figure that is valid for the span of the pixel from the pixel is synthesized, and the bitmap is in the pixel coordinate order. Output data.

尚、図5では3つのプロセッサを示したが、これに限られるものではない。又、第1実施形態と第2実施形態の構成を組み合わせてもよい。例えば、第1プロセッサと第2プロセッサを複数個ずつ設けておき、第1グループに分類された描画命令列は第1プロセッサへ優先的に分配し、第2グループに分類された描画命令列は第2プロセッサへ優先的に分配するようにする。そして、第2プロセッサの利用状況により、第2グループの描画命令列を第1プロセッサに実行させる状況が生じた場合には、複数の第1プロセッサにより第2グループの描画命令列を実行させる。   Although FIG. 5 shows three processors, the present invention is not limited to this. Moreover, you may combine the structure of 1st Embodiment and 2nd Embodiment. For example, a plurality of first processors and second processors are provided, drawing command sequences classified into the first group are distributed preferentially to the first processor, and drawing command sequences classified into the second group It is preferentially distributed to two processors. Then, when a situation in which the first processor executes the second group of drawing instruction sequences due to the usage status of the second processor, the second group of drawing instruction sequences is executed by a plurality of first processors.

以上述べたように、第2実施形態によれば、PDLに含まれる図形をそれぞれの演算負荷に応じて単一または複数のプロセッサに描画処理が割当てられ、並列に処理されることになる。このため、回路規模の過剰な増大なしに描画時間を短縮することができる。   As described above, according to the second embodiment, a drawing process is assigned to a single or a plurality of processors in accordance with the respective computation loads, and a graphic included in the PDL is processed in parallel. For this reason, the drawing time can be shortened without excessive increase in circuit scale.

第1実施形態による画像形成装置の構成例を示す図である。1 is a diagram illustrating a configuration example of an image forming apparatus according to a first embodiment. 第1実施形態による描画処理装置の構成例を示す図である。It is a figure which shows the structural example of the drawing processing apparatus by 1st Embodiment. PostScriptによる描画コマンド例を示す図である。It is a figure which shows the example of a drawing command by PostScript. 図2の描画コマンドにより描画される画像を示す図である。It is a figure which shows the image drawn by the drawing command of FIG. 図形グループ対応テーブルのデータ構成例を示す図である。It is a figure which shows the example of a data structure of a figure group corresponding | compatible table. 第2実施形態による描画処理装置の構成例を示す図である。It is a figure which shows the structural example of the drawing processing apparatus by 2nd Embodiment. 図2の描画コマンドにより描画される画像において、画像の分割を説明する図である。FIG. 3 is a diagram illustrating image division in an image drawn by the drawing command of FIG. 2. プロセッサからの交点座標に基づいて画素合成を行う画素合成部の構成を説明するブロック図である。It is a block diagram explaining the structure of the pixel synthetic | combination part which performs a pixel synthesis | combination based on the intersection coordinate from a processor.

Claims (11)

描画命令列を処理するソフトウエアを実行する第1及び第2の描画処理部と、前記第1の描画処理部は乗算器を持たず、前記第2の描画処理部は乗算器を有し、
入力された描画データから図形オブジェクト毎に描画命令列を抽出し、抽出された描画命令列を、高次関数演算を必要とするかに基づいて分類する分類手段と、
複数の描画命令列の各々を処理する描画処理部を、前記分類手段による分類結果に基づいて、前記第1及び第2の描画処理部から選択する選択手段と、
前記選択手段で選択した描画処理部へ前記描画命令列を送信する送信手段と、
前記第1及び第2の描画処理部が前記送信手段により送信された描画命令列を処理することにより生成した描画結果を合成する合成手段とを備え
前記選択手段は、前記複数の描画命令列を処理するにおいて前記第1及び第2の描画処理部の並列動作が維持されるように、高次関数演算を必要とする描画命令列を乗算器を有する描画処理部に優先的に割り当て、高次関数演算が不要な描画命令列を乗算器を持たない描画処理部に優先的に割り当てることを特徴とする描画処理装置。
First and second drawing processing units that execute software for processing a drawing command sequence, and the first drawing processing unit does not have a multiplier, and the second drawing processing unit has a multiplier,
A classification means for extracting a drawing command sequence for each graphic object from the input drawing data, and classifying the extracted drawing command sequence based on whether higher-order function operations are required;
Selection means for the drawing processing unit for processing each of the plurality of drawing instruction sequence, based on the classification result by the classifying means, for selecting from said first and second rendering unit,
Transmitting means for transmitting the drawing command sequence to the drawing processing unit selected by the selecting means;
And a synthesizing means for synthesizing the drawing result generated by processing the drawing instruction sequence transmitted by the first and second rendering processing unit and the transmission unit,
The selecting means includes a multiplier for drawing command sequences that require higher-order function operations so that parallel operations of the first and second drawing processing units are maintained in processing the plurality of drawing command sequences. assigned to the drawing processing unit preferentially with, drawing processing apparatus according to claim preferentially assign to the drawing processing unit that high order function calculating has no multiplier unnecessary drawing instruction sequence.
前記第1及び第2の描画処理部の各々は、前記描画結果として描画された図形のビットマップイメージを生成し、
前記合成手段は、前記第1及び第2の描画処理部により生成された描画結果としてのビットマップイメージを、前記入力された描画データに基づいて決定されるビットマップイメージどうしの重なりの上下位置関係に従って合成することを特徴とする請求項1に記載の描画処理装置。
Each of the first and second drawing processing units generates a bitmap image of a figure drawn as the drawing result,
The synthesizing unit is configured so that a bitmap image as a rendering result generated by the first and second rendering processing units is a vertical positional relationship between overlapping bitmap images determined based on the input rendering data. The drawing processing apparatus according to claim 1, wherein the image processing is performed according to the following.
前記第1及び第2の描画処理部の各々は、可視画像を形成するための走査線毎に、描画された図形オブジェクトと走査線との交点を描画結果として生成し、
前記合成手段は、走査線毎に、前記第1及び第2の描画処理部より取得した同一走査線上の交点を走査線方向座標順にソートし、前記入力された描画データに基づいて決定される、描画結果としてのビットマップイメージどうしの重なりの上下位置関係に従って交点及び交点間の画素値を決定することを特徴とする請求項1に記載の描画処理装置。
Each of the first and second drawing processing units generates, as a drawing result, an intersection between the drawn graphic object and the scanning line for each scanning line for forming a visible image,
The synthesizing unit sorts intersections on the same scanning line acquired from the first and second drawing processing units in order of scanning line direction coordinates for each scanning line, and is determined based on the input drawing data . The drawing processing apparatus according to claim 1, wherein intersections and pixel values between the intersections are determined according to a vertical positional relationship between overlapping bitmap images as drawing results .
描画命令列を処理するソフトウエアを実行するための複数の描画処理部と、
入力された描画データから図形オブジェクト毎に描画命令列を抽出し、抽出された描画命令列を、高次関数演算を必要とするかに基づいて分類する分類手段と、
前記描画命令列が高次関数演算を必用としない描画命令列に分類された場合は、前記複数の描画処理部の一つへ前記描画命令列を送信し、前記描画命令列が高次関数演算を必要とする描画命令列に分類された場合は、前記図形オブジェクトを分割した描画範囲毎に別の描画処理部により処理されるように、前記複数の描画処理部から選択された複数の描画処理部へ当該描画命令列を送信する送信手段と、
前記複数の描画処理部が前記送信手段により送信された描画命令列を処理することにより生成した描画結果を合成する合成手段とを備えることを特徴とする描画処理装置。
A plurality of drawing processing units for executing software for processing a drawing command sequence;
A classification means for extracting a drawing command sequence for each graphic object from the input drawing data, and classifying the extracted drawing command sequence based on whether higher-order function operations are required;
When the drawing command sequence is classified as a drawing command sequence that does not require higher-order function operations , the drawing command sequence is transmitted to one of the plurality of drawing processing units, and the drawing command sequence is processed by higher-order function operations. A plurality of drawing processes selected from the plurality of drawing processing units so that each drawing range obtained by dividing the graphic object is processed by another drawing processing unit. Transmitting means for transmitting the drawing command sequence to the unit;
Drawing processing apparatus, characterized in that it comprises a synthesizing means for synthesizing the drawing result generated by the plurality of drawing processing section processes the drawing instruction sequence transmitted by the transmission means.
前記送信手段は、高次関数を必要とする描画命令列によって描画される図形オブジェクトの大きさに基づいて、当該描画命令列を処理する描画処理部の数を決定し、前記描画命令列が高次関数演算を必要とする描画命令列に分類された場合は、決定した数の描画処理部へ当該描画命令列を送信することを特徴とする請求項4に記載の描画処理装置。 The transmission unit, based on the size of the graphic object drawn by the drawing instruction sequence which requires a high-order function to determine the number of drawing processing unit for processing the drawing instruction sequence, the higher the drawing instruction sequence 5. The drawing processing apparatus according to claim 4, wherein when the drawing command sequence is classified into a drawing command sequence requiring a next function operation, the drawing command sequence is transmitted to the determined number of drawing processing units. 前記複数の描画処理部の各々は、前記描画結果として描画された図形のビットマップイメージを生成し、
前記合成手段は、前記複数の描画処理部により生成された描画結果としてのビットマップイメージを、前記入力された描画データに基づいて決定されるビットマップイメージどうしの重なりの上下位置関係に従って合成することを特徴とする請求項4に記載の描画処理装置。
Each of the plurality of drawing processing units generates a bitmap image of a figure drawn as the drawing result,
The synthesizing unit synthesizes a bitmap image as a drawing result generated by the plurality of drawing processing units according to a vertical positional relationship between overlapping bitmap images determined based on the input drawing data. The drawing processing apparatus according to claim 4.
前記複数の描画処理部の各々は、可視画像を形成するための走査線毎に、描画された図形と走査線との交点を描画結果として生成し、
前記合成手段は、走査線毎に、前記複数の描画処理部より取得した交点を走査線方向座標順にソートし、前記入力された描画データに基づいて決定される、描画結果としてのビットマップイメージどうしの重なりの上下位置関係に従って交点及び交点間の画素値を決定することを特徴とする請求項4に記載の描画処理装置。
Each of the plurality of drawing processing units generates, as a drawing result, an intersection of a drawn figure and a scanning line for each scanning line for forming a visible image,
The synthesizing unit sorts the intersections acquired from the plurality of drawing processing units in order of scanning line direction coordinates for each scanning line, and determines bitmap images as drawing results determined based on the inputted drawing data. The drawing processing apparatus according to claim 4, wherein the intersection and the pixel value between the intersections are determined according to a vertical positional relationship of the overlaps .
描画命令列を処理するソフトウエアを実行する第1及び第2の描画処理部を有する描画処理装置の制御方法であって、前記第1の描画処理部は乗算器を持たず、前記第2の描画処理部は乗算器を有し、
分類手段が、入力された描画データから図形オブジェクト毎に描画命令列を抽出し、抽出された描画命令列を、高次関数演算を必要とするかに基づいて分類する分類工程と、
選択手段が、複数の描画命令列の各々を処理する描画処理部を、前記分類工程による前記描画命令列の分類結果に基づいて、前記第1及び第2の描画処理部から選択する選択工程と、
送信手段が、前記選択工程で選択した描画処理部へ前記描画命令列を送信する送信工程と、
合成手段が、前記第1及び第2の描画処理部が前記送信工程により送信された描画命令列を処理することにより生成した描画結果を合成する合成工程と、を有し、
前記選択工程では、前記複数の描画命令列を処理するにおいて、前記第1及び第2の描画処理部の並列動作が維持されるように、高次関数演算を必要とする描画命令列を乗算器を有する描画処理部に優先的に割り当て、高次関数演算が不要な描画命令列を乗算器を持たない描画処理部に優先的に割り当てることを特徴とする描画処理装置の制御方法。
A control method of a drawing processing apparatus having first and second drawing processing units for executing software for processing a drawing command sequence, wherein the first drawing processing unit does not have a multiplier, and The drawing processing unit has a multiplier,
A classifying step in which the classifying means extracts a drawing command sequence for each graphic object from the input drawing data, and classifies the extracted drawing command sequence based on whether a higher-order function operation is required;
Selection means, a selection step of a drawing processing unit for processing each of the plurality of drawing instruction sequence, based on the classification result of the drawing instruction sequence by the classification process, selecting from said first and second drawing processing unit ,
A transmission step of transmitting the drawing command sequence to the drawing processing unit selected in the selection step;
A synthesizing unit that synthesizes a drawing result generated by the first and second drawing processing units processing the drawing command sequence transmitted in the transmitting step ;
In the selection step, when processing the plurality of drawing command sequences, a multiplier is applied to the drawing command sequence that requires a higher-order function operation so that the parallel operation of the first and second drawing processing units is maintained. preferentially assigned to the drawing processing unit having a method of controlling a drawing processing apparatus according to claim preferentially assign to the drawing processing unit that high order function calculating has no multiplier unnecessary drawing instruction sequence.
前記第1及び第2の描画処理部の各々は、可視画像を形成するための走査線毎に、描画された図形オブジェクトと走査線との交点を描画結果として生成し、Each of the first and second drawing processing units generates, as a drawing result, an intersection between the drawn graphic object and the scanning line for each scanning line for forming a visible image,
前記合成工程では、走査線毎に、前記第1及び第2の描画処理部より取得した同一走査線上の交点を走査線方向座標順にソートし、前記入力された描画データに基づいて決定される、描画結果としてのビットマップイメージどうしの重なりの上下位置関係に従って交点及び交点間の画素値を決定することを特徴とする請求項8に記載の描画処理装置の制御方法。  In the synthesis step, for each scanning line, the intersection points on the same scanning line acquired from the first and second drawing processing units are sorted in order of scanning line direction coordinates, and determined based on the inputted drawing data. 9. The method according to claim 8, wherein the intersections and pixel values between the intersections are determined in accordance with a vertical positional relationship between overlapping bitmap images as rendering results.
描画命令列を処理するソフトウエアを実行するための複数の描画処理部を有する描画処理装置の制御方法であって、
分類手段が、入力された描画データから図形オブジェクト毎に描画命令列を抽出し、抽出された描画命令列を、高次関数演算を必要とするかに基づいて分類する分類工程と、
送信手段が、前記描画命令列が高次関数演算を必用としない描画命令列に分類された場合は、前記複数の描画処理部の一つへ前記描画命令列を送信し、前記描画命令列が高次関数演算を必要とする描画命令列に分類された場合は、前記図形オブジェクトを分割した描画範囲毎に別の描画処理部により処理されるように、前記複数の描画処理部から選択された複数の描画処理部へ当該描画命令列を送信する送信工程と、
合成手段が、前記複数の描画処理部が前記送信工程により送信された描画命令列を処理することにより生成した描画結果を合成する合成工程と有することを特徴とする描画処理装置の制御方法。
A control method of a drawing processing apparatus having a plurality of drawing processing units for executing software for processing a drawing command sequence,
A classifying step in which the classifying means extracts a drawing command sequence for each graphic object from the input drawing data, and classifies the extracted drawing command sequence based on whether a higher-order function operation is required;
If the drawing command sequence is classified as a drawing command sequence that does not require higher-order function operations , the transmitting means transmits the drawing command sequence to one of the plurality of drawing processing units, and the drawing command sequence is When it is classified into a drawing command sequence that requires higher-order function calculation, it is selected from the plurality of drawing processing units so that each drawing range obtained by dividing the graphic object is processed by another drawing processing unit. A transmission step of transmitting the drawing command sequence to a plurality of drawing processing units;
A method for controlling a drawing processing apparatus, characterized in that: a combining unit includes a combining step of combining drawing results generated by the plurality of drawing processing units processing the drawing instruction sequence transmitted in the transmitting step. .
前記複数の描画処理部の各々は、可視画像を形成するための走査線毎に、描画された図形と走査線との交点を描画結果として生成し、Each of the plurality of drawing processing units generates, as a drawing result, an intersection of a drawn figure and a scanning line for each scanning line for forming a visible image,
前記合成工程では、走査線毎に、前記複数の描画処理部より取得した交点を走査線方向座標順にソートし、前記入力された描画データに基づいて決定される、描画結果としてのビットマップイメージどうしの重なりの上下位置関係に従って交点及び交点間の画素値を決定することを特徴とする請求項10に記載の描画処理装置の制御方法。In the synthesizing step, for each scanning line, the intersection points acquired from the plurality of drawing processing units are sorted in order of scanning line direction coordinates, and bitmap images as drawing results are determined based on the inputted drawing data. The method according to claim 10, wherein the intersection and the pixel value between the intersections are determined according to a vertical positional relationship of the overlaps.
JP2006202585A 2006-07-25 2006-07-25 Drawing processing apparatus and control method thereof Expired - Fee Related JP4861084B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006202585A JP4861084B2 (en) 2006-07-25 2006-07-25 Drawing processing apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006202585A JP4861084B2 (en) 2006-07-25 2006-07-25 Drawing processing apparatus and control method thereof

Publications (3)

Publication Number Publication Date
JP2008027395A JP2008027395A (en) 2008-02-07
JP2008027395A5 JP2008027395A5 (en) 2009-10-22
JP4861084B2 true JP4861084B2 (en) 2012-01-25

Family

ID=39117931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006202585A Expired - Fee Related JP4861084B2 (en) 2006-07-25 2006-07-25 Drawing processing apparatus and control method thereof

Country Status (1)

Country Link
JP (1) JP4861084B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6394623A (en) * 1986-10-09 1988-04-25 Hitachi Ltd Device for pattern generation
JPH02168361A (en) * 1988-09-14 1990-06-28 Toshiba Corp Pattern data preparing device to prepare coordinates data and processor
JPH05313634A (en) * 1992-05-12 1993-11-26 Toshiba Corp Outline font developing device
JP2910649B2 (en) * 1995-12-28 1999-06-23 富士ゼロックス株式会社 Image forming apparatus and image forming method
JPH1040360A (en) * 1996-07-26 1998-02-13 Fuji Xerox Co Ltd Device for analyzing instruction

Also Published As

Publication number Publication date
JP2008027395A (en) 2008-02-07

Similar Documents

Publication Publication Date Title
JP3919754B2 (en) A method for reducing the number of compositing operations performed in a sequential pixel drawing system
EP1627346B1 (en) Parallel processing of page description language data
US8830506B2 (en) Image processing system utilizing plural parallel processors and image processing method utilizing plural parallel processors
US5936634A (en) Image forming apparatus and method of forming images by interpreting a page description language with a plurality of processors
JP6029344B2 (en) Image processing apparatus, image processing method, and program
JP2012200934A (en) Image data processing system
US20150331643A1 (en) Image processing method and image processing apparatus
US6456298B1 (en) Image processing apparatus and method
US8334989B2 (en) Printing device and method for parallel processing of data
JP2018047611A (en) Image processing apparatus, image processing method and program
JP4614389B2 (en) Image forming apparatus, printing apparatus, display apparatus, drawing processing method, and program
JP4646436B2 (en) Digital image processing device
JP6330481B2 (en) Image processing apparatus, print information generating apparatus, image forming apparatus, image forming system, and program
JP6135329B2 (en) Print data processing apparatus, program, and system
JP6230268B2 (en) Image processing apparatus, image processing method, and program
JP4861084B2 (en) Drawing processing apparatus and control method thereof
JP6904717B2 (en) Image processing equipment, its control method, and programs
JP2007226465A (en) Image output system and image output method
JP2006159738A (en) Print control apparatus, data processing method thereof, and storage medium.
JP5424546B2 (en) Image processing apparatus and image forming system
JP2021022024A (en) Image processing system, image processing method and program
JP2016206934A (en) Image processing apparatus, image processing method, and program
JPH10151815A (en) Printing-processing apparatus
JP2009075805A (en) Image forming apparatus
JP2007122188A (en) Image forming apparatus, 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: 20090727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111031

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111104

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

Free format text: PAYMENT UNTIL: 20141111

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees