Patent Publication Number: US-2011075165-A1

Title: Image processing system, image processing method and computer readable medium

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2009-219933 filed on Sep. 25, 2009. 
     BACKGROUND 
     1. Technical Field 
     The present invention relates to an image processing system, an image processing method and a computer readable medium. 
     2. Related Art 
     A technique of processing print data in parallel by the use of plural RIPs (Raster Image Processors) to speed up a printout operation has been proposed. The RIP is hardware for developing data described in a page description language (PDL) such as PostScript (registered trademark) into raster data which can be printed or displayed. 
     SUMMARY 
     According to an aspect of the invention, an image processing system includes a plurality of intermediate data generating sections and a plurality of drawing data generating sections. The plurality of intermediate data generating sections analyze distributed data of document data described in a page description language, and generate intermediate data. The plurality of drawing data generating sections acquire the intermediate data from the plurality of intermediate data generating sections and generate drawing data including information of pixels of a print image based on the acquired intermediate data. The plurality of intermediate data generating sections generate the intermediate data by pages of the document data. The plurality of drawing data generating sections correspond to a plurality of different basic colors and generate the drawing data for the corresponding basic colors. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Exemplary embodiment(s) of the present invention will be described in detail based on the following figures, wherein: 
         FIG. 1  is a block diagram illustrating a configuration of an image processing system; 
         FIG. 2  is a block diagram schematically illustrating an internal configuration of a print job processor; 
         FIG. 3  is a diagram schematically illustrating an example of a target document; 
         FIG. 4  is a diagram illustrating an example of intermediate data; 
         FIG. 5  is a block diagram illustrating internal configurations of a drawing processor and a printer; 
         FIG. 6  is a block diagram illustrating a configuration of a drawing data generator; 
         FIG. 7  is a diagram illustrating a data process flow in an analyzer and the drawing data generator; 
         FIG. 8  is a flowchart illustrating a flow of processes in the print job processor and the drawing processor; 
         FIG. 9  is a block diagram illustrating another configuration of the drawing data generator; 
         FIG. 10  is a block diagram illustrating another configuration of the drawing data generator; 
         FIG. 11  is a block diagram illustrating configurations of the drawing processor and the printer; 
         FIG. 12  is a diagram illustrating another data process flow in the analyzer and the drawing data generator; 
         FIG. 13  is a block diagram illustrating another configuration of the drawing data generator; 
         FIG. 14  is a diagram illustrating another data process flow in the analyzer and the drawing data generator; 
         FIG. 15  is a flowchart illustrating a flow of processes in the drawing data generator; 
         FIG. 16  is a diagram illustrating another data process flow in the analyzer and the drawing data generator; 
         FIG. 17  is a flowchart illustrating a flow of processes in the analyzer; 
         FIG. 18  is a diagram illustrating another data process flow in the analyzer and the drawing data generator; 
         FIG. 19  is a diagram illustrating an example of the intermediate data generated by the analyzer; 
         FIG. 20  is a diagram illustrating another example of the intermediate data generated by the analyzer; and 
         FIG. 21  is a diagram illustrating a hardware configuration of a computer. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  is a block diagram illustrating a configuration of an image processing system. The system shown in  FIG. 1  includes a terminal device  10 , a print job processor  20 , a drawing processor  30 , and a printer  40 . The terminal device  10  is connected to the print job processor  20  via a communication line  50  and transmits a print job including a document printing command to the print job processor  20  in accordance with a user&#39;s instruction. The print job processor  20  is connected to the drawing processor  30  via communication line  52  and the drawing processor  30  is connected to the printer via communication line  54 . The communication line  50 ,  52 , and  54  may be a network such as a LAN (Local Network). The communication lines  50 ,  52 , and  54  may be one common communication means or may be different communication means. 
     In the system shown in  FIG. 1 , the print job transmitted from the terminal device  10  is processed by the print job processor  20 , the resultant data is transmitted to the drawing processor  30 , and a printing operation is performed by the printer  40  based on the drawing data generated by the drawing processor  30 . 
       FIG. 2  is a diagram schematically illustrating an internal configuration of the print job processor  20 . The print job processor  20  includes a print job receiver  22 , a distribution processor  24 , and plural analyzers  26   a,    26   b,  . . . (may be referred to as “analyzer  26 ”). 
     The print job receiver  22  receives a print job from the terminal device  10 . In this exemplary embodiment, the print job includes a document printing command and data in which a target document is described in a page description language. The page description language is a computer program language for allowing an information processor to perform a display process, a printing process, and the like. The data described in the page description language includes position information, form information, and color information of objects such as characters or figures of a target document. In the following description, the data in which a target document is described in the page description language is called “PDL”. The print job receiver  22  sends the PDL included in the received print job to the distribution processor  24 . 
     The distribution processor  24  determines what page of the pages included in the PDL acquired from the print job receiver  22  should be processed by the respective analyzers  26   a,    26   b,  . . . . The distribution processor  24  determines the pages to be processed by the analyzers  26   a,    26   b,  . . . based on operation states of the analyzers  26   a,    26   b,  . . . . For example, priority is given to the analyzer  26  not performing a process or the analyzer  26  performing a process with a load lower than that of the other analyzers  26  and the processing pages are sequentially distributed from the first page of the PDL. The distribution processor  24  sends the distributed pages and s the PDL acquired from the print job receiver  22  to the analyzers  26   a,    26   b,  . . . . In this exemplary embodiment, the entire PDL in addition to the corresponding pages in the PDL are sent to the analyzers  26   a,    26   b,  . . . . In a modified example, the distribution processor  24  may distribute the pages of the PDL to the analyzers  26   a,    26   b,  . . . and may send the divided pages to the corresponding analyzers  26   a,    26   b,  . . . based on the distribution. 
     The analyzer  26  analyzes the PDL acquired from the distribution processor  24 , generates the intermediate data including a command indicating the generation order of the drawing data for the corresponding pages sent from the distribution processor  24 , and outputs the generated intermediate data. The analyzer  26  includes an intermediate data generator  260  and an intermediate data output unit  262 . 
     The intermediate data generator  260  analyzes the PDL and generates intermediate data, which is separated by the basic colors used in printing of the printer  40 , for the corresponding page. Here, the intermediate data generated by analyzing the PDL, and data in the stage before it is converted into data finally output to a print engine. An example of the intermediate is a display list. An example where four basic colors of yellow (Y), magenta (M), cyan (C), and black (K) are used will be described below. The intermediate data includes a drawing command indicating the sequence of drawing objects, which are elements of a document to be printed, in a print image of the document. A language expressing a sequence more detailed than the page description language is used as a language describing the drawing command. For example, when information indicating a position, a shape, and a size of an object in the print image is defined in the page description language, the sequence of drawing the object in the unit of scanning line in the print image may be described in the drawing command of the object in the intermediate data. 
     A specific example of the intermediate data will be described below with reference to  FIGS. 3 and 4 .  FIG. 3  is a diagram schematically illustrating an example of the document to be printed.  FIG. 4  is a diagram illustrating an example of the intermediate data corresponding to the example shown in  FIG. 3 . Document D in the example shown in  FIG. 3  is a document including one page. Document D includes two objects Obj 1  (hatched portion) and Obj 2  (black portion). In  FIG. 3 , rule marks in document D are for explanation and are not elements of document D. The PDL indicating document D includes descriptions of the colors, positions, shapes, and sizes of the objects Obj 1  and Obj 2 . The positions of the objects are expressed by coordinates in which the left-upper corner of document D is used as an origin, the left-right direction is an x axis, and the up-down direction is a y axis.  FIG. 4  shows an example of the intermediate data generated by causing the analyzer  26  to analyze the PDL of document D in the example shown in  FIG. 3 . Referring to  FIG. 4 , the intermediate data of Y, M, C, and K include the drawing command of Obj 1  (rows  1  to  6 ) and the drawing command of Obj 2  (rows  7  to  11 ). Each row of the drawing command corresponds to one scanning line (one row in the x axis direction in  FIG. 3 ) in the print image of document D. The intermediate data shown in  FIG. 4  includes drawing commands described in the format of “line”, “duplicate”, and “window”. The formats mean the followings. 
     (1) line, Y, M, xl, xr, c 
     In the scanning line of ym in the y coordinates, an image is drawn with gray scale c from xl to xr- 1  in the x coordinates. 
     (2) duplicate 
     An image is drawn in the same shape (x coordinates and gray scale) as the scanning line drawn just before. 
     (3) window, xl, xr 
     An image is drawn with the same gray scale as the scanning line drawn just before from xl to xr- 1  in the x coordinates. 
     As shown in  FIG. 4 , the intermediate data of a page can be understood as a set of commands indicating drawing sequences of the objects of the page. The data amount of the intermediate data of one page is smaller than that of the raster data including the values of the pixels of the page. 
     The intermediate data may further express a hierarchical relation of the objects in the print image. The hierarchical relation of the objects means the hierarchical relation in a hierarchical structure of an image. That is, the “upper” in the relation of the objects means a viewing-surface side (side close to a viewer and referred to as a front side) and the “lower” means a non-viewing-surface side (side apart from the viewer and referred to as a back side). Accordingly, an expression “object B is disposed on object A” means that object B obscures the viewing-surface side (front side) of object A. For example, in the intermediate data, the hierarchical relation of the objects is expressed by describing the drawing commands of the objects sequentially from the object disposed in the lowermost (or uppermost) in the print image. 
     Referring to  FIG. 2  again, the intermediate data output unit  262  outputs the separated intermediate data to the drawing processor  30 . 
     Schematic configurations of the drawing processor  30  and the printer  40  are shown in  FIG. 5 . The printer  40  includes print engines  42 Y,  42 M,  42 C, and  42 K printing the separations of four basic colors Y, M, C, and K, respectively. The drawing processor  30  includes drawing data generators  32 Y,  32 M,  32 C, and  32 K corresponding to the print engines  42 Y,  42 M,  42 C, and  42 K of the printer  40 . 
     The drawing data generators  32 Y,  32 M,  32 C, and  32 K acquire the intermediate data of the corresponding basic colors from the analyzers  26  of the print job processor  20 , and generate the drawing data of the corresponding basic colors using the acquired intermediate data. Configurations of the drawing data generators  32  are shown in  FIG. 6  using the drawing data generator  32 Y. The drawing data generators  32 M,  32 C, and  32 K corresponding to the other basic colors M, C, and K may have the same configuration as shown in  FIG. 6 . 
     Referring to  FIG. 6 , the drawing data generator  32 Y includes an intermediate data acquiring unit  320 Y, a drawing unit  322 Y, a gamma correction/halftone processor  324 Y, and an output buffer  326 Y. The intermediate data acquiring unit  320 Y acquires the intermediate data of the corresponding basic color Y from the analyzers  26   a  and  26   b  of the print job processor  20  and sends the acquired intermediate data to the drawing unit  322 Y. The drawing unit  322 Y generates the drawing data based on the intermediate data sent from the intermediate data acquiring unit  320 Y. The generated drawing data is raster data including the pixel values of the basic color Y of the pixels of the print image in this exemplary embodiment. The gamma correction/halftone processor  324 Y performs a gamma correcting process and a halftone process on the drawing data generated by the drawing unit  322 Y. The gamma correction/halftone processor  324 Y performs the gamma correcting process using parameters acquired from the print engine  42 Y taking charge of the operation of printing the separation of the basic color Y in the printer  40 . The drawing data processed by the gamma correction/halftone processor  324 Y is stored in the output buffer  326 Y and is then output to the print engine  42 Y. The output buffer  326 Y is a memory device temporarily storing the drawing data to be output. The separation of the basic color Y is printed by the print engine  42 Y using the drawing data. The print engine is not limited to an electrophotographic engine, but may be an ink jet type or other type. 
     A flow of processes in the analyzers  26  of the print job processor  20  and the drawing data generators  32  of the drawing processor  30  will be described with reference to  FIG. 7 . In the example shown in  FIG. 7 , the print job processor  20  includes four analyzers  26   a,    26   b,    26   c,  and  26   d,  and the drawing processor  30  includes the drawing data generators  32 Y,  32 M,  32 C, and  32 K as shown in  FIG. 5 .  FIG. 7  shows an example of the PDL of a document including five pages of Page  1  to Page  5 . In  FIG. 7 , the broken arrows directed to one of the analyzers  26   a  to  26   d  from the respective pages Page  1  to Page  5  indicate the analyzers  26  taking charge of the processes of the pages. Pages  1 ,  2 , and  3  are processed by the analyzers  26   a,    26   b,  and  26   c,  respectively, and Pages  4  and  5  are processed by the analyzer  26   d.  The analyzers  26  analyze the PDL and generate the intermediate data in which the corresponding pages are separated by the basic colors Y, M, C, and K. For example, the analyzer  26   a  generates the intermediate data  1 Y, the intermediate data  1 M, the intermediate data  10 , and the intermediate data  1 K of Page  1 . The intermediate data generated by the analyzers  26  is output to the corresponding drawing data generators  32 Y,  32 M,  32 C, and  32 K by the basic colors of Y, M, C, and K. Accordingly, the drawing data generators  32 Y,  32 M,  32 C, and  32 K acquire the intermediate data of the corresponding basic colors from the analyzers  26   a  to  26   d.  For example, the drawing data generator  32 Y acquires the intermediate data  1 Y, the intermediate data  2 Y, and the intermediate data  3 Y of the basic color Y of Pages  1 ,  2 , and  3  from the analyzers  26   a,    26   b,  and  26   c,  respectively, and acquires the intermediate data  4 Y and the intermediate data  5 Y of the basic color Y of Pages  4  and  5  from the analyzers  26   d.  The drawing data generators  32 Y,  32 M,  32 C, and  32 K each generate the raster data of the pages of the corresponding basic color using the acquired intermediate data. For example, the drawing data generator  32 Y generates the raster data Y of the basic color Y of Page  1  to Page  5 . The raster data of the basic colors of the pages are output to the print engines  42 Y,  42 M,  42 C, and  42 K of the basic colors. 
     The operation of the system shown in  FIG. 1  will be described with reference to  FIG. 8 .  FIG. 8  is a flowchart illustrating the flow of processes performed by the print job processor  20  and the drawing processor  30 . The processes of steps S 10  to S 16  in  FIG. 8  are performed by the print job processor  20  and the processes of steps S 18  and S 20  are performed by the drawing processor  30 . 
     First, a print job from the terminal device  10  is received by the print job receiver  22  of the print job processor  20  (step S 10 ). 
     Then, the distribution processor  24  determines the analyzers  26  taking charge of the processes of pages in the PDL included in the print job received in step S 10  depending on the operating states of the analyzers  26 . That is, the distribution processor  24  distributes the pages of the PDL to the analyzers  26  (step S 12 ). 
     The analyzers  26  acquire the PDL to be processed from the distribution processor  24  along with the notification of the corresponding pages distributed in step S 12 . The analyzers analyze the acquired PDL, specify the corresponding pages, and generate the intermediate data separated by the basic colors of Y, M, C, and K for the pages (step S 14 ). In step S 14 , the analyzers  26  perform a parallel process in the unit of pages. 
     The analyzers  26  output the generated intermediate data (Y, M, C, and K) to the drawing data generators  32 Y,  32 M,  32 C, and  32 K corresponding to the basic colors in the drawing processor  30  (step S 16 ). 
     The drawing data generators  32 Y,  32 M,  32 C, and  32 K each generate the page drawing data of the corresponding basic color using the intermediate data of the basic colors acquired from the analyzers  26  (step S 18 ). In step S 18 , the drawing data generators  32  cause the drawing unit  322  to process the acquired intermediate data and to calculate the values of pixels of the print image, thereby generating the raster data. The gamma correction/halftone processor  324  performs the gamma correction process and the halftone process on the generated raster data. In step S 18 , the parallel process in the unit of basic colors is performed by the four drawing data generators  32 Y,  32 M,  32 C, and  32 K. 
     The page raster data having been subjected to the gamma correction process and the halftone process by the drawing data generators  32 Y,  32 M,  32 C, and  32 K is stored in the output buffer  326  and then is output to the print engine  42 Y,  42 M,  42 C, and  42 K corresponding to the basic colors (step S 20 ). 
     In the above-mentioned exemplary embodiment, the corresponding pages of the analyzers  26  are determined depending on the operating states of the analyzers  26  and the PDL is analyzed in parallel in the unit of pages. The drawing data is generated in parallel by the basic colors of separations in the printing by the drawing data generators  32 . Accordingly, the drawing data generators  32  store the gamma correction parameters acquired from the print engines  42  of the corresponding basic colors. The drawing data generators need not hold the gamma correction parameters of the print engines  42  of the other basic colors. 
     In the above-mentioned exemplary embodiment, the analyzers  26  output the generated intermediate data of the basic colors to only the drawing data generators  32  corresponding to the basic colors. That is, the drawing data generators  32  each acquire only the intermediate data of the corresponding basic color. In another example, the drawing data generators  32  may acquire the intermediate data of all the basic colors. In this example, the analyzers  26  output all the generated intermediate data to four drawing data generators  32 Y,  32 M,  32 C, and  32 K, respectively. 
       FIG. 9  shows the configurations and the data processes of the drawing data generators when the drawing data generators  32  acquire the intermediate data of all the basic colors. The intermediate data shown in  FIG. 9  is similar to the intermediate data generated by the analyzers  26   a  to  26   d  in the example shown in  FIG. 7 . In  FIG. 9 , the drawing data generators  32 Y,  32 M,  32 C, and  32 K acquire the intermediate data of all the basic colors Y, M, C, and K for each page of Pages  1  to  5 . The same elements as shown in  FIG. 6  out of the elements of the drawing data generators  32  shown in  FIG. 9  are referenced by the same reference numerals and signs as shown in  FIG. 6 .  FIG. 9  is different from  FIG. 6 , in that each drawing data generator  32  includes a filter unit  328  of the corresponding basic color in addition to the intermediate data acquiring unit  320 , the drawing unit  322 , the gamma correction/halftone processor  324 , and the output buffer  326 . The filter unit  328  receives data including plural color components as an input and performs a filtering process of extracting and outputting only the data of the corresponding basic color. In the example shown in  FIG. 9 , the drawing unit  322  generates run-length data as the drawing data instead of the raster data. The run-length data is drawing data including information indicating the number of pixels having the same pixel value for the corresponding basic color continuously every scanning line of the print image. The drawing units  322  shown in  FIG. 9  generate the run-length data including the data of all the basic colors of Y, M, C, and K and write the generated run-length data to the output buffers  326 . The filter units  328  read the run-length data from the output buffers  326 , extract the corresponding run-length data from the read run-length data, and outputs the extracted run-length data to the gamma correction/halftone processors  324 . The run-length data processed by the gamma correction/halftone processors  324  is output to the print engines  42  of the corresponding basic colors. 
       FIG. 10  shows another configuration of the drawing data generator  32  when the drawing data generators  32  acquire the intermediate data of all the basic colors. The elements of the drawing data generators  32  shown in  FIG. 10  are the same as shown in  FIG. 9 . However, in the example shown in  FIG. 10 , the processing sequence of the drawing unit  322  and the filter unit  328  is different that shown in  FIG. 9 . In the example shown in  FIG. 10 , each filter unit  328  receives the intermediate data (including all the data of Y, M, C, and K) acquired by the corresponding intermediate data acquiring unit  320  as an input, extracts the intermediate data of the corresponding basic color, and outputs the extracted intermediate data to the corresponding drawing unit  322 . The drawing unit  322  generates the run-length data of the corresponding basic color using only the intermediate data of the corresponding basic color, and writes the generated run-length data to the output buffer  326 . Each gamma correction/halftone processor  324  performs the gamma correction process and the halftone process on the run-length data read from the corresponding output buffer  326 , and then outputs the resultant run-length data to the print engine  42  of the corresponding basic color. 
     In the exemplary embodiments described above with reference to  FIGS. 1 to 10 , the drawing processor  30  includes the drawing data generators  32  corresponding to the print engines  42  of the basic colors of one printer  40 . In another exemplary embodiment, plural printers  40  may be connected to the drawing processor  30  and the drawing processor  30  may include the drawing data generators  32  corresponding to the plural printers  40 . For example, when a printing operation is performed on both sides of a printing medium such as a sheet of paper, it can be considered that one printer  40  of two printers  40  performs the printing operation on one surface (front surface) of the printing medium and the other printer  40  performs the printing operation on the other surface (back surface) of the printing medium. In this case, the drawing processor may include two drawing data generators  32   f  and  32   b  corresponding to two printers  40   f  and  40   b  performing the printing operation on the front surface and the back surface, respectively, as shown in  FIG. 11 . The inner configurations of the drawing data generators  32   f  and  32   b  may be the same as shown in  FIG. 6 . That is, the drawing data generators  32   f  and  32   b  each include an intermediate data acquiring unit  320 , a drawing unit  322 , a gamma correction/halftone processor  324 , and the output buffer  326 . The gamma correction/halftone processor  324  of the drawing data generators  32   f  and  32   b  each perform the gamma correction process using the parameters acquired from the printers  40   f  and  40   b.  In the system including the drawing processor  30  and the printers  40   f  and  40   b  shown in  FIG. 11 , the configuration of the print job processor  20  may the same as shown in  FIG. 2 . 
       FIG. 12  shows an example of a flow of print job processing in the system including the drawing processor  30  and the printers  40   f  and  40   b  shown in  FIG. 11 .  FIG. 12  shows an example where the print job including the PDL of a document five pages of Page  1  to Page  5  is processed when the print job processor  20  includes two analyzers  26   a  and  26   b  and the drawing processor  30  has the configuration shown in  FIG. 11 . The PDL shown in  FIG. 12  includes a command instructing to print an odd page on the front surface of the printing medium and to print an even page on the back surface of the printing medium. The distribution processor  24  of the print job processor  20  determines the processing pages to be distributed to the analyzers  26   a  and  26   b  depending on the operating states of the analyzers  26   a  and  26   b  without distinguishing the front surface and the back surface of each page of the PDL. In the example shown in  FIG. 12 , the analyzer  26   a  takes charge of Pages  1 ,  2 , and  3 , and the analyzers  26   b  takes charge of Pages  4  and  5 . The analyzers  26   a  and  26   b  generate the intermediate data, which is separated by the basic colors, for the corresponding pages. For example, the intermediate data generated by the analyzer  26   a  is the intermediate data of the basic colors of Y, M, C, and K for the corresponding pages of Pages  1 ,  2 , and  3 . The analyzers  26   a  and  26   b  output the intermediate data of the front page (odd page) out of the generated intermediate data to the drawing data generator  32   f,  and outputs the intermediate data of the back page (even page) to the drawing data generator  32   b.  Accordingly, the drawing data generator  32   f  corresponding to the printer  40   f  performing a front printing operation acquires the intermediate data of the basic colors Y, M, C, and K of the odd pages (Pages  1 ,  3 , and  5 ), and the drawing data generator  32   b  corresponding to the printer  40   b  performing the back printing operation acquires the intermediate data of the basic colors Y, M, C, and K of the even pages (Pages  2  and  4 ). The raster data of the basic colors of the pages is generated using the intermediate data acquired by the drawing data generators  32   f  and  32   b  and the generated raster data is output to the printers  40   f  and  40   b.    
     The document as a print target may include objects (figures, marks, characters, images, and the like) common to plural pages. For example, objects such as a frame line for defining the format of a document, a mark (such as a logo) indicating an enterprise or an organization having prepared the document, or a string (strings such as “important”, “confidential”, and “secret”) indicating the type or secret level of the document may appear in common to plural pages of the document. In the below description, the common object is called “form”. The PDL of the document including the form includes information such as the form such as information specifying an object serving as the form, information specifying the pages including the form, and information indicating the arrangement position and size of the form on the pages. An exemplary embodiment where the PDL of the document including the form is processed and printed will be described below. 
     In the exemplary embodiment where the PDL of the document including the form is processed, the configuration of the image processing system may be the same as the configuration shown in  FIG. 1 . The configuration of the print job processor  20  may be the same as the configuration shown in  FIG. 2 . However, the analyzers  26  of the print job processor  20  according to this exemplary embodiment distinguishes and generates the intermediate data of the form and the intermediate data of the objects other than the form in the corresponding page, when the form is included in the corresponding page. 
       FIG. 13  shows a configuration of a drawing data generator  32  of the drawing data processor  30  according to this exemplary embodiment. Configurations of the drawing data generators  32  are shown in  FIG. 13  using the drawing data generator  32 Y. The drawing data generators  32 M,  32 C, and  32 K corresponding to the other basic colors M, C, and K may have the same configuration as shown in  FIG. 13 . In  FIG. 13 , the same elements as the drawing data generator  32 Y shown in  FIG. 6  are referenced by the same reference numerals and signs as shown in  FIG. 6 , and the detailed description thereof is not repeated. The drawing data generator  32 Y shown in  FIG. 13  is different from the drawing data generator  32 Y shown in  FIG. 6 , in that it includes a form storage unit  321 Y and the drawing unit  322 Y includes a form processor  3220 Y. The form storage unit  321 Y is a memory device storing information on the intermediate data of the form out of the intermediate data acquired from the analyzers  26  by the intermediate data acquiring unit  320 Y. The form storage unit  321 Y stores the drawing data of the form generated from the intermediate data of the form as the information on the form. Although described later in detail, the intermediate data of the form may be stored in the form storage unit  321 Y. The form processor  3220 Y of the drawing unit  322 Y performs a process of compositing (assembling) the form into the drawing data, when it generates the drawing data of the page including the form. The process of assembling the form in to the drawing data will be described later in detail. 
     In this exemplary embodiment, the printer  40  includes the print engines  42 Y,  42 M,  42 C, and  42 K performing printing operations of the basic colors Y, M, C, and K, respectively, similarly to the example shown in  FIG. 3 . 
       FIG. 14  shows a data processing flow in the analyzers  26  of the print job processor  20  and the drawing data generators  32  of the drawing processor  30  according to this exemplary embodiment.  FIG. 14  shows an example where the PDL of a document including four pages of Page  1  to Page  4  and including a form common to the pages is processed. In the example shown in  FIG. 14 , four analyzers  26   a  to  26   d  take charge of Pages  1  to  4 . The analyzers  26   a  to  26   d  analyze the PDL and specify the corresponding pages and the form in the corresponding pages. The analyzers generate the intermediate data (form Y, form M, form C, and form K) of the form separated by the basic colors Y, M, C, and K and the intermediate data (data  1 Y,  1 M, . . . ) of the objects having different forms in the corresponding pages. The intermediate data  1 Y,  1 M, . . . and forms Y, M, C, and K generated by the analyzers  26   a  to  26   d  are output to the drawing data generators  32 Y,  32 M,  32 C, and  32 K corresponding to the basic colors. Therefore, the drawing data generators  32 Y,  32 M,  32 C, and  32 K acquire the intermediate data of Pages  1  to  4  of the corresponding basic colors and the intermediate data of the form of the corresponding basic colors output from the analyzers  26 . The drawing data generators  32  generate the raster data of the pages including the form by the corresponding basic colors using the acquired intermediate data, and output the generated raster data to the corresponding print engines  42 . 
       FIG. 15  is a flowchart illustrating a flow of processes performed by the drawing data generators  32  according to this exemplary embodiment. The drawing data generators  32  start the flow of processes shown in  FIG. 15 , when they acquire the intermediate data output from the analyzers  26 . The flow of processes shown in  FIG. 15  will be described below when the intermediated data shown in  FIG. 14  is acquired by the drawing data generators  32 . 
     When the intermediate data of the form is included in the acquired intermediate data (the intermediate data to be processed) (YES in step S 30 ), the intermediate data acquiring unit  320  of each drawing data generator  32  determines whether the information on the form is stored in the form storage unit  321  (step S 32 ) with reference to the form storage unit  321 . In this example referring to  FIG. 14 , since the form is included in the intermediate data to be processed, the determination of step S 32  is performed. 
     When the information of the form included in the intermediate data to be processed is not stored in the form storage unit  321  (NO in step S 32 ), the information of the form is stored in the form storage unit  321  (step S 34 ). When the information of the form is stored (YES in step S 32 ), the process of step S 34  is skipped and the process of step S 36  is performed. In this example referring to  FIG. 14 , the intermediate data of the same form is output to the drawing data generators  32  from the analyzers  26   a  to  26   d.  Accordingly, when the intermediate data earliest acquired by the drawing data generators  32  out of the intermediate data (including the form) output from the analyzers  26   a  to  26   d  is to be processed, NO is determined in step S 32  and the process of storing the information of the form in the form storage unit  321  (step S 34 ) is performed. 
     Regarding the information of the form stored in the form storage unit  321  in step S 34 , the acquired intermediate data of the form is processed by the drawing unit  322  to generate the drawing data of the form, and the generated drawing data is stored in the form storage unit  321  as the information of the form. In this case, the drawing data may the drawing data having been subjected to the gamma correction process and the halftone process by the gamma correction/halftone processor  324  or may be the drawing data not having been subjected to the gamma correction process and the halftone process. 
     After step S 34  or after YES is determined in step S 32 , the drawing unit  322  generates the drawing data including the form using the information of the form stored in the form storage unit  321  (step S 36 ). When the drawing data of the form not having been subjected to the gamma correction process and the halftone process is stored in the form storage unit  321 , the form processor  3220  of the drawing unit  322  first writes the drawing data stored in the form storage unit  321  to a drawing data forming buffer (not shown) in step S 36 . Then, the drawing unit  322  synthesizes and writes the drawing data to the buffer to which the drawing data of the form has been written, based on the intermediate data of the objects having different forms in the pages (overlay process). Accordingly, the drawing data of the page including the form is generated. The drawing data is subjected to the gamma correction process and the halftone process by the gamma correction/halftone processor  324  and the resultant drawing data is written to the output buffer  326 . The form may be disposed as a background image in the lowermost of the print image or may be disposed in the uppermost of the print image. The setting may be described in the PDL and may be included in the intermediate data of the form. 
     In another example of the process of step S 36 , when the drawing data of the form having been subjected to the gamma correction process and the halftone process is stored in the form storage unit  321 , the drawing unit  322  generates the drawing data of the objects having different forms in the pages and performs the gamma correction process and the halftone process thereon. The drawing data generated by performing the overlay process on the drawing data of the objects having the different forms and the drawing data of the form stored in the form storage unit  321  is written to the output buffer  326 . 
     When the generation of the drawing data is finished, the drawing data is output from the output buffers  326  to the print engines  42  of the corresponding basic colors (step S 40 ). 
     When the intermediate data of the form is not included in the intermediate data to be processed (NO in step S 30 ), the drawing data is generated by the drawing unit  322  using the intermediated data and is processed by the gamma correction/halftone processor  324  (step S 38 ), similarly to the example shown in  FIG. 6  where the form is not processed, and the resultant drawing data is output to the printing engines  42  of the corresponding basic colors (step S 40 ). 
     In the exemplary embodiment described with reference to  FIGS. 14 and 15 , the analyzers  26  generate the intermediate data (forms Y, M, C, and K) of the same form and output the generated intermediate data to the drawing data generators  32  of the basic colors in processing the PDL of the document including the form. In another exemplary embodiment, one of the analyzers  26  may be determined as the analyzer  26  taking charge of the generation of the intermediate data of the form and only the determined analyzer  26  may generate the intermediate data of the form. For example, a condition for taking charge of the generation of the intermediate data of the form is set in advance in the analyzers  26  and it is determined based on the condition whether the intermediate data of the form should be generated by the analyzers  26 . The condition may be defined such as “the intermediate data of the form is generated when it takes charge of the processing of the page first appearing in the document out of the pages including the form”. Alternatively, the analyzer  26  taking charge of the generation of the intermediate data of the form may be determined by the distribution processor  24  and the result may be sent to the corresponding analyzer  26 . In this case, the analyzer  26  having been notified that it should take charge of the generation of the intermediate data of the form generates the intermediate data of the form and the analyzers  26  not having been notified do not generate the intermediate data of the form. 
       FIG. 16  shows the intermediate data generated by the analyzers  26  and the intermediate data acquired by the drawing data generators  32  according to this exemplary embodiment. In  FIG. 16 , the configuration of the PDL to be processes is the same as shown in  FIG. 14 . In the example shown in  FIG. 16 , the analyzer  26   a  processing Page  1  which is the first page including the form takes charge of the generation of the intermediate data of the form. Accordingly, only the analyzer  26   a  generates the intermediate data of the form and the other analyzers  26   b,    26   c,  and  26   d  taking charge of the processing of the different pages (Pages  2 ,  3 , and  4 ) do not generate the intermediate data of the form. The drawing data generators  32 Y,  32 M,  32 C, and  32 K acquire the intermediate data (forms Y, M, C, and K) of the form of the basic colors from the analyzer  26   a.    
       FIG. 17  shows a flow of processes performed by the analyzers  26  in the example shown in  FIG. 16 . When the corresponding pages are notified from the distribution processor  24  and the PDL to be processed is acquired, the analyzers  26  start the flow of processes shown in  FIG. 17 . Referring to  FIG. 17 , first, the intermediate data generators  260  of the analyzers  26  analyze the PDL to be processed, specify the corresponding pages, and determines whether a form is included in the corresponding pages (step S 50 ). 
     When the form is included in the corresponding pages (YES in step S 50 ), the intermediate data generators  260  determine whether the intermediate data of the form should be generated (step S 52 ). The determination of step S 52  is made, for example, depending on whether a predetermined condition is satisfied. For example, when the above-mentioned condition “the intermediate data of the form is generated when it takes charge of the processing of the page first appearing in the document out of the pages including the form” is defined in advance, the intermediate data generators specify whether the corresponding page is the first page including the form based on the analysis result of the PDL. When the corresponding page is the first page, the above-mentioned condition is satisfied. Accordingly, the intermediate data generators  260  determine that it should generate the intermediate data of the form (YES in step S 52 ) and generate the intermediate data of the form (step S 54 ). At this time, the intermediate data generator generates the intermediate data of the form separated by the basic colors Y, M, C, and K. On the other hand, when the corresponding page is not the first page, the above-mentioned condition is not satisfied. Accordingly, the intermediate data generator determines that it should not generate the intermediate data of the form (NO in step S 52 ), does not perform the process of step S 54 , and performs the process of step S 56 . For example, when the distribution processor  24  determines and notifies the analyzer  26  taking charge of the generation of the intermediate data of the form, the determination of step S 52  can be made depending on whether the notification is received from the distribution processor  24 . When the notification of taking charge of the generation of the intermediate data of the form is received, YES is determined in step S 52  and the intermediate data of the form is generated (step S 54 ). When the notification is not received, NO is determined in step S 52  and the process of step S 56  is performed. 
     In step S 56 , the intermediate data generators  260  generate the intermediate data of the corresponding pages separated by the basic colors Y, M, C, and K. In step S 56 , the intermediate data of the objects having different forms in the corresponding pages are generated, not depending on whether the form is included in the corresponding pages. The intermediate data of the basic colors generated in step S 56  further includes the information indicating whether the form is included in the pages corresponding to the intermediate data. 
     When the intermediate data of the corresponding pages is generated, the generated intermediate data of the basic colors of the corresponding pages is output to the drawing data generators  32  of the corresponding basic colors from the intermediate data output units  262  (step S 58 ). When the intermediate data generators  260  generate the intermediate data of the form as well as the intermediate data of the corresponding pages (step S 54 ), the intermediate data of the form of the basic colors is also output to the drawing data generators  32  of the corresponding basic colors in step S 58 . 
     According to the flow shown in  FIG. 17 , as shown in  FIG. 16 , only the analyzer  26  taking charge of the generation of the intermediate data of the form generates the intermediate data of the form and the intermediate data of the corresponding page and the other analyzers  26  generate only the intermediate data of the corresponding pages. 
     When the intermediate data of the form is acquired, the drawing data generators  32  shown in  FIG. 16  store the acquired information of the form in the form storage unit  321 . At this time, the acquired intermediate data itself may be stored in the form storage unit  321 . Alternatively, similarly to the above-mentioned example, the information of the form may be generated from the intermediate data from which the drawing data of the form is acquired (in the state before or after the gamma correction process and the halftone process) and may be stored in the form storage unit  321 . 
     In the example shown in  FIG. 16 , the flow of processes of generating the drawing data from the intermediate data in the drawing data generators  32  may be almost the same as described above with reference to  FIG. 15 . The part of the process flow of the drawing data generators  32  shown in  FIG. 16  different from the description with reference to  FIG. 15  will be described below. In the example shown in  FIG. 16 , the drawing data generators  32  determines whether the form is included in the intermediate data to be processed (step S 30 ) with reference to the information of the intermediate data indicating whether it includes the form, instead of determining whether the intermediate data of the form is acquired along with the intermediate data of the pages. When the form is included in the intermediate data and the information of the form is not stored in the form storage unit  321  (NO in step S 32 ), the output of the intermediate data of the form from the analyzer  26  having generated the intermediate data of the form is waited for, instead of performing the process of step S 34  in  FIG. 15 . When the intermediate data of the form is acquired, the information of the form is stored in the form storage unit  321  and the processes of step S 36  and steps subsequent thereto are performed. For example, when the intermediate data of the form is not acquired in a predetermined time, an error message is output and the flow of processes may be ended. When the intermediate data of the form is stored in the form storage unit  321 , the drawing data is generated from the intermediate data of the form in step S 36 , and the drawing data is generated by the overlay process using the intermediate data corresponding to the pages in the document. 
     The example where the PDL of the document including one type of form is processed is described above with reference to  FIGS. 13 to 17 . An example where the PDL of the document including different types of forms is processed will be described below. 
       FIG. 18  shows a data processing flow in the analyzers  26  and the drawing data generators  32  when the PDL of the document including two types of forms of “form  1 ” and “form  2 ” is processed. In the example shown in  FIG. 18 , form  1  is included in Pages  1  and  3  of the PDL and form  2  is included in Pages  2  and  4 . Pages  1  to  4  are processed by the analyzers  26   a  to  26   d,  respectively. It is assumed that the analyzer  26   a  taking charge of the processing of Page  1  in which form  1  first appears generates the intermediate data of form  1  and the analyzer  26   b  taking charge of the processing of Page  2  in which form  2  first appears generates the intermediate data of form  2 . The analyzers  26  correlate the identification information of the form included in the corresponding pages with the intermediate data  1 Y,  1 M, . . . of the basic colors generated for the objects having different forms in the corresponding pages and outputs the correlated data to the drawing data generators  32  of the corresponding basic colors. In  FIG. 18 , the identification information of form  1  is represented by “F 1 ” and the identification information of form  2  is represented by “F 2 ”. The identification information of the form may be correlated as data different from the intermediate data with the intermediate data or may be included in the intermediate data of the basic colors. 
     When acquiring the intermediate data of the form, the drawing data generators  32  shown in  FIG. 18  stores the information of the form (the intermediate data itself or the drawing data) in the form storage unit  321  in correlation with the identification information of the form. When the intermediate data correlated with the identification information of the form is processed, the information of the form correlated with the identification information of the form is read from the form storage unit  321  and the drawing data including the form is generated by the above-mentioned overlay process using the read information of the form. 
     In the examples with reference to  FIGS. 13 to 18 , the form is disposed in the lowermost (or the uppermost) of the print image in processing the drawing data of the form. In another exemplary embodiment where the PDL of the document including the form is processed, the intermediate data further including information of the hierarchical relation in the print image between the form and other objects may be generated by the analyzers  26  and the drawing data reproducing the hierarchical relation indicated by the information may be generated by the drawing data generators  32 . 
       FIG. 19  shows an example of the configuration of the intermediate data generated by the analyzers  26  according to this exemplary embodiment. In the example shown in  FIG. 19 , the PDL to be processed is a PDL of a document including four pages of Pages  1  to  4 . Form  1  is included in the pages of Page  1  and Page  3  and form  1  and form  2  are included in the pages of Page  2  and Page  4 . In this example, the analyzers  26  generate the intermediate data in which the drawing commands of the object of the form and the object of the different form in the corresponding pages are described in the arrangement sequence (from down to up or from up to down) in the print image. Referring to the intermediate data  1 Y in  FIG. 19 , reference sign P 1 - 1 Y represents the drawing command of the basic color Y of the object arranged below (or above) of form  1  in Page  1 , form  1 Y represents the drawing command of the basic color Y of form  1 , and reference sign P 1 - 2 Y represents the drawing command of the basic color Y of the object arranged above (or below) form  1  in Page  1 . Although not shown in  FIG. 19 , the intermediate data  1 M,  1 C, and  1 K has the same configuration as the intermediate data  1 Y. Similarly, referring to the intermediate data  2 Y, the objects represented by the drawing commands of reference sign P 2 - 1 Y, form  1 Y, reference sign P 2 - 2 Y, and form  2 Y are arranged in this order from up to down (or from down to up) in the print image. The configurations of the intermediate data  3 Y and  4 Y is the same as the configurations of the intermediate data  1 Y and  2 Y. The intermediate data is output to the drawing data generators corresponding to the basic colors. The drawing data generators  32  generate the drawing data of the pages of the intermediate data based on the hierarchical relation of the object and the form expressed by the acquired intermediate data. At this time, when the drawing data of the form is generated, the drawing data generators  32  store the generated drawing data of the form in the form storage unit  321  in correlation with the identification information of the form. When the form stored in the form storage unit  321  is included in the intermediate data to be processed at the time of processing the intermediate data of a different page, the process of generating the drawing data of the form from the intermediate data of the form is not performed and the drawing data of the page is generated using the drawing data of the form stored in the form storage unit  321 . 
       FIG. 20  shows an example where the intermediate data of the form is generated by only one analyzer  26  at the time of generating the intermediate data expressing the hierarchical relation of the form and the different object. In the example shown in  FIG. 20 , the same PDL as the PDL shown in  FIG. 19  is to be processed. In  FIG. 20 , the analyzer  26   a  takes charge of the generation of the intermediate data of form  1  and the analyzer  26   b  takes charge of the generation of the intermediate data of form  2 . The intermediate data  1 Y,  1 M, . . . generated by the analyzers  26  includes the identification information of the form but does not include the intermediate data of the form. The intermediate data  1 Y in  FIG. 20  states that the object represented by the drawing command of reference sign P 1 - 1 Y, form  1  (the identification information F 1 ), and the object represented by the drawing command of reference sign P 1 - 2 Y are arranged sequentially from down to up (or from up to down) in the print image. The intermediate data  2 Y states that the object represented by the drawing command of reference sign P 2 - 1 Y, form  1  (the identification information of F 1 ), the object represented by the drawing command of reference sign P 2 - 2 Y, and form  2  (the identification information F 2 ) are arranged sequentially from down to up (or from up to down). The intermediate data of the form and the intermediate data  1 Y and  1 M are output to the drawing data generators  32  of the corresponding basic colors, similarly to the above-mentioned exemplary embodiments. When the intermediate data of the form is acquired, the drawing data generators store the information of the form (the intermediate data itself or the drawing data) in the form storage unit  321  in correlation with the identification information of the form. When processing the intermediate data  1 Y,  1 M, . . . , the drawing data generators  32  refer to the identification information included in the intermediate data, read the information of the corresponding form from the form storage unit  321 , and then generate the drawing data in accordance with the hierarchical relation expressed by the intermediate data. 
     The above-mentioned exemplary embodiments are not limited to the above descriptions, but may be modified in various forms. For example, although it has been described above that four colors of Y, M, C, and K are used as the basic colors for printing, other colors may be used as the basic colors, or the processes of the above-mentioned exemplary embodiments are embodied as described above even when five or more colors or three or less colors are used. Although the system including the analyzers  26  and the drawing data generators  32  with the same number has been described above, the number of analyzers  26  and the number of drawing data generators  32  may not be equal to each other. 
     For example, in the exemplary embodiment in which the raster data is generated as the drawing data, the run-length data may be generated instead of the raster data. On the contrary, in the exemplary embodiment in which the run-length data is generated as the drawing data, the raster data may be generated instead of the run-length data. 
     For example, when the raster data is generated as the drawing data by the drawing data generators  32 , the analyzers  26  may generate the run-length data as the intermediate data instead of the data described with reference to  FIGS. 3 and 4 . 
     In the above-mentioned exemplary embodiments, the drawing data generators  32  write the drawing data in the unit of pages to the output buffer  326 , but may write the drawing data in the unit of bands, which are obtained by further dividing the pages, to the output buffer  326 . 
     The print job processor  20  and the drawing processor in the above-mentioned exemplary embodiments are embodied by causing a computer having, for example, a hardware configuration shown in  FIG. 21  to execute programs describing the functions or the process details of the print job processor  20  and the drawing processor  30 . The computer shown in  FIG. 21  has a configuration in which a CPU (Central Processing Unit)  60 , a memory (primary memory)  62 , various I/O (Input/Output) interfaces  64 , and a communication interface  65  as hardware are connected to each other via a bus  66 . The computer transmits and receives data to and from other devices via the communication interface  65 . An input device  68  such as a keyboard or a mouse and a display device  70  such as a CRT (Cathode Ray Tube) or a liquid crystal display are connected to the bus  66 , for example, via the I/O interfaces  64 . An HDD (Hard Disc Driver)  72  or a disk driver  74  reading a portable non-volatile recording medium of various standards, such as a CD, a DVD, or a flash memory, are connected to the bus  66  via the I/O interfaces  64 . The drivers  72  and  74  serve as an external storage device for the memory. The programs describing the processing details of the exemplary embodiments are stored in the fixed storage device such as the HDD  72  via the recording medium such as a CD or a DVD or via a network and are then installed in the computer. The programs stored in the fixed storage device are read into the memory  62  and are executed by the CPU  60 , whereby the processes of the above-mentioned exemplary embodiments are carried out. 
     Partial functions of the print job processor  20  and the drawing processor  30  may be embodied by hardware processes using a circuit such as an ASIC (Application Specific Integrated Circuit), not by software processes resulting from the execution of the programs. For example, a circuit performing the processes of the gamma correction/halftone processor  324  included in the drawing data generators  32  of the drawing processor  30  may be constructed in advance and may be connected to the bus  66  of the computer shown in  FIG. 19 , whereby the gamma correction process and the halftone process may be performed by the circuit. 
     The print job processor  20 , the drawing processor  30 , and the printer  40  described above may not be individual devices. For example, the functions of the elements of the drawing processor  30  may be embodied as a part of a controller included in the printer  40 . The print job processor  20  and the drawing processor  30  may be embodied by plural computers, not by only one computer. For example, the plural analyzers  26  and the plural drawing data generators  32  may be embodied by plural computers connected to each other. 
     The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.