Abstract:
A method of controlling an image processing condition comprises: a first step of inputting a first test image on a recording sheet, and performing first calibration that determines an image processing condition based on a density of the first test image; a second step of automatically forming a second test image, measuring a density thereof, and performing second calibration that determines the image processing condition based on the measured density, a third step of receiving the image processing condition, calibrating the received condition and an engine characteristic at first calibration time, and storing a calibrated result, and a fourth step of correcting, at the second calibration and the image processing condition storage, the stored condition based on the calibrated and stored engine characteristic and the measured engine characteristic. Thus, a printing characteristic can be stabilized as a user&#39;s load is reduced by combining plural calibrations.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to calibration for gradation correction of a color printer.  
           [0003]    2. Related Background Art  
           [0004]    In general, in a case where color printing is performed by a color printer connected to a PC (personal computer), a printing characteristic of the color printer changes as time passes, a printed result might resultingly change. Such a change of the printing characteristic is generally called a successive change. The successive change occurs in accordance with temperature, humidity, the reminder of toner being a printing agent, a use frequency of a photosensitive drum, and the like.  
           [0005]    As a result, in a case where printing data generated based on a printer characteristic at a certain time is subjected to printing at another time, the printed result of proper color can not occasionally be obtained.  
           [0006]    Further, even in a case where plural printers of the same type are used, an individual difference occurs in the printing characteristic between, e.g., a printer A and a printer B because of the above reason, whereby the printed result by the printer A might be different from the printed result by the printer B.  
           [0007]    In order to solve such problems, calibration that the printing characteristics of the printers are measured and, e.g., a gradation correction condition is thus rectified (or corrected) is performed.  
           [0008]    As an example of the conventional calibration, there is calibration between an engine and a controller which together constitute the printer.  
           [0009]    This conventional calibration is automatically performed within the printer irrespective of an instruction by a user or a host computer. Such a process is called device calibration hereinafter. In the device calibration, a latent image for each of C (cyan), M (magenta), Y (yellow) and K (black) is formed on the photosensitive drum, potentials of the formed latent images are measured to obtain the printing characteristic, and the gradation correction condition is thus rectified. It should be noted that, in the device calibration, instead of the latent image formed on the photosensitive drum, the printing characteristic is occasionally obtained by measuring a density of a toner image formed by developing the latent image with toner.  
           [0010]    By the above device calibration, the calibration is regularly performed without troubling the user.  
           [0011]    However, in the device calibration, characteristics of sensors themselves using the calibration are relatively dispersed, whereby there is no accuracy necessary to be able to ensure the absolute density value by which the individual difference between the printers is excluded. Namely, it is possible to stabilize a relative density characteristic being a density characteristic peculiar to each printer, by suppressing a change in the characteristic due to factors such as temperature, humidity and the like which the change may occur in the printer. However, it is difficult to obtain and stabilize an absolute density characteristic.  
           [0012]    On the other hand, one calibration method is disclosed in Japanese Patent Laid-Open Application No. 2000-318266. This is the calibration which is performed, through a user&#39;s operation, between a computer and a color printer together constituting a system. Namely, in response to an instruction from a computer, a patch for measurement is formed on a sheet by the color printer, the sheet is read by a scanner, calibration data is generated by the computer on the basis of patch data read from the sheet, and the generated calibration data is downloaded to the printer. Such a process is called soft calibration. The soft calibration can achieve higher-accurate patch measurement as compared with the device calibration, whereby it is possible to stabilize the absolute density characteristic and greatly reduce the dispersion in the printing characteristics among the plural printers. It should be noted that, in the soft calibration, since the user&#39;s operation is necessary to cause the scanner to read the created patch, a load is put to the user.  
           [0013]    Incidentally, there are following problems in the above conventional calibration technique.  
           [0014]    Namely, in one of the above two kinds of calibrations, the relative density characteristic can be stabilized, and in the other thereof, the absolute density characteristic can be stabilized. In other words, each calibration has the different merit and demerit. Since these two calibrations respectively function independently, they did not conventionally function with a correlation mutually. Thus, for example, even if the soft calibration is performed at certain timing to adjust the printing characteristic, the adjusted printing characteristic changes due to the device calibration occurred at predetermined timing, whereby the absolute density characteristic based on the soft calibration may not be maintained. Therefore, in order to obtain the stabilized printed result at any time, the soft calibration to which the user&#39;s operation is necessary must be performed frequently.  
           [0015]    Further, the printing using the above calibration data is limited to a case of a PDL (page description language) mode where the above image process is performed in a printer controller. Namely, in a so-called image mode that all image processes including rasterizing and binarization are performed on a client computer connected to a conventional printing system, the image process which uses the above calibration data can not be achieved.  
           [0016]    On the other hand, although the image process using the calibration data can be performed in the PDL mode, the image process using the calibration data can not be performed in the image mode, whereby there is the drawback that a tint of a printed image output in the PDL mode is different from a tint of a printed image output in the image mode.  
         SUMMARY OF THE INVENTION  
         [0017]    An object of the present invention is to provide an image processing apparatus and a calibration method which solved the above problems.  
           [0018]    Another object of the present invention is to provide an image processing apparatus and a calibration method which can stabilize a printing characteristic as reducing a user&#39;s load by appropriately combining plural calibrations respectively having different merits.  
           [0019]    Still another object of the present invention is to provide an image processing apparatus and a calibration method which can obtain a stabilized printing characteristic in any mode by providing even in an image mode a structure of performing calibration same as that in a PDL mode.  
           [0020]    Still another object of the present invention is to provide an image processing apparatus and a calibration method which can reduce a load to a network by reducing as much as possible information necessary in the image mode, and can also reduce a load to a process of creating a calibration table in the image mode by obtaining the calibration table itself.  
           [0021]    Other objects and features of the present invention will be clarified through the following description in the specification and the attached drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0022]    [0022]FIG. 1 is a block diagram showing an example of a structure of a printer calibration system according to the first embodiment;  
         [0023]    [0023]FIG. 2 is a flow chart showing a printer calibration process based on soft calibration according to the first embodiment;  
         [0024]    [0024]FIG. 3 is a flow chart showing a calibration data correction process based on device calibration according to the first embodiment;  
         [0025]    [0025]FIGS. 4A, 4B and  4 C are diagrams showing a concept of calibration data generation;  
         [0026]    [0026]FIGS. 5A, 5B,  5 C and  5 D are diagrams showing the details of the calibration data correction process;  
         [0027]    [0027]FIG. 6 is a diagram showing an example of patch data used in the printer calibration system;  
         [0028]    [0028]FIG. 7 is a flow chart showing a storage process of calibration data downloaded into a printer according to the first embodiment;  
         [0029]    [0029]FIG. 8 is a diagram showing a series of processing screens of a UI (user interface) concerning the calibration process according to the first embodiment;  
         [0030]    [0030]FIG. 9 is a diagram showing an example of the screen of the UI shown in FIG. 8;  
         [0031]    [0031]FIG. 10 is a diagram showing relation between values representing patch data arrangement positions of FIG. 6 and output data;  
         [0032]    [0032]FIG. 11 is a flow chart showing an image process of the printer using the corrected calibration data according to the first embodiment;  
         [0033]    [0033]FIG. 12 is a diagram for explaining an engine characteristic of the printer according to the first embodiment;  
         [0034]    [0034]FIG. 13 is a block diagram showing an example of a structure of a printer calibration system according to the second embodiment;  
         [0035]    [0035]FIG. 14 is a flow chart showing a first printer calibration process;  
         [0036]    [0036]FIG. 15 is a flow chart showing a second printer calibration process;  
         [0037]    [0037]FIGS. 16A, 16B 16 C and  16 D are diagrams showing a concept of calibration data generation;  
         [0038]    [0038]FIG. 17 is a flow chart showing a process in a case where a calibration data download command is received in the printer;  
         [0039]    [0039]FIG. 18 is a flow chart showing a series of processes based on a UI according to an application;  
         [0040]    [0040]FIG. 19 is a diagram showing a concept of calibration data generation in second calibration;  
         [0041]    [0041]FIG. 20 is a flow chart showing an image process in the printer;  
         [0042]    [0042]FIG. 21 is a block diagram showing an example of a structure of a printer calibration system according to the third embodiment;  
         [0043]    [0043]FIG. 22 is a block diagram showing an example of a structure of a printer calibration system according to the fourth embodiment;  
         [0044]    [0044]FIG. 23 is a flow chart showing a second printer calibration process according to the fourth embodiment;  
         [0045]    [0045]FIG. 24 is a diagram showing a concept of calibration data generation according to the fourth embodiment;  
         [0046]    [0046]FIG. 25 is a flow chart showing a calibration data deletion process according to the fourth embodiment;  
         [0047]    [0047]FIG. 26 is a block diagram showing an example of a structure of a printer calibration system according to the fifth embodiment;  
         [0048]    [0048]FIG. 27 is a flow chart showing a first printer calibration process according to the fifth embodiment;  
         [0049]    [0049]FIG. 28 is a flow chart showing a second printer calibration process according to the fifth embodiment;  
         [0050]    [0050]FIG. 29 is a flow chart showing a process in a case where a calibration data download command is received in a printer according to the fifth embodiment;  
         [0051]    [0051]FIGS. 30A and 30B are flow charts showing an image process in a driver according to the fifth embodiment;  
         [0052]    [0052]FIG. 31 is a flow chart showing an image process in the printer according to the fifth embodiment;  
         [0053]    [0053]FIG. 32 is a flow chart showing a calibration data generation process in a client PC according to the fifth embodiment;  
         [0054]    [0054]FIG. 33 is a block diagram showing an example of a structure of a printer calibration system according to the sixth embodiment; and  
         [0055]    [0055]FIG. 34 is a flow chart showing a calibration data generation process in a client PC according to the sixth embodiment. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0056]    Hereinafter, the embodiments of the present invention will be explained in detail with reference to the attached drawings.  
         [0057]    It should be noted that, in each of the embodiments explained hereafter, although a color LBP (laser beam printer) is used as an example of a printer constituting a system, it is needless to say that the present invention is similarly applicable to another printer such as a color inkjet printer or the like.  
         [0058]    (First Embodiment)  
         [0059]    A printer calibration system according to the present embodiment is the system which stabilizes a printing characteristic of an arbitrary color printer in a system which includes computers, scanners, color printers and the like connected on a network. Further, this printer calibration system achieves higher-accurate calibration by appropriately combining later-described two kinds of calibrations.  
         [0060]    [0060]FIG. 1 is a block diagram showing an information processing system according to the first embodiment of the present invention. In this system, the two kinds of calibrations are performed respectively to calibrate the printer.  
         [0061]    In FIG. 1, numeral  1  denotes a server PC (personal computer) in which software to achieve the information processing system has been installed. It should be noted that the server PC  1  is connected to a network  5 .  
         [0062]    Numeral  2  denotes a color printer which is connected to the network  5  and is the target apparatus of the calibration in the system. The printer  2  is made to be able to perform printing in response to instructions respectively sent from PC&#39;s connected on the network. Numeral  21  denotes a calibration data storage unit which is provided inside the printer  2  and used to hold or store later-described calibration data inside the printer  2 . Numeral  22  denotes a printer controller which is similarly provided inside the printer  2  and controls various operations such as a printing operation and the like in the printer  2 . As described later, the printer controller  22  stores the calibration data in the calibration data storage unit  21  when the calibration data is downloaded from the server PC  1 , and corrects the calibration data in the calibration data storage unit  21  on the basis of later-described engine information obtained from a printer engine  23 .  
         [0063]    Numeral  23  denotes the printer engine which is provided inside the printer  2  and is the part basically performing the printing operation to output printing data from the printer controller  22 . However, as described later, the printer engine  23  also transmits the engine information to the printer controller  22  and adjusts a maximum density in the engine characteristic.  
         [0064]    Numeral  3  denotes a scanner which is connected to the server PC  1 . In the system, the scanner  3  is used to measure a density of a patch output by the printer  2 , and essentially used to read an original. Numeral  4  denotes a client PC which is connected on the network  5  and instructs to generate, edit and print desired printing data.  
         [0065]    With respect to the above structure, a process in case of performing the calibration will be explained hereinafter with reference to flow charts shown in FIGS. 2 and 3.  
         [0066]    [0066]FIG. 2 is the flow chart showing the process of soft calibration performed between the server PC  1  and the color printer  2  included in the information processing system. It should be noted that the soft calibration is defined as first calibration in the two kinds of calibrations.  
         [0067]    In this process, it is first instructed in a step S 21  to output patch data for printing from the server PC  1  to the printer  2 . In response to such an instruction, the printer  2  outputs and prints the patch according to the sent patch data.  
         [0068]    [0068]FIG. 6 is a diagram showing an example of the patch data. As shown in FIG. 6, on the basis of the patch data in the present embodiment, the patch which consists of  1024  sections (longitudinally 32×laterally 32 sections) within one page of sheet is created. One section corresponds to any of M, C, Y and K respectively corresponding to toner colors, and the number described in each section represents arrangement position information of this section in the patch. Further, as shown in FIG. 10, such the number corresponds to density data (gradation data) of each section in the patch. For example, the arrangement position “0” corresponds to the gradation value “0”, the arrangement position “32” corresponds to the gradation value “128”, and the arrangement position “63” corresponds to the gradation value “255”. Further, as shown in FIG. 10, the gradation value in the present embodiment is given as eight-bit data for each color, i.e., any of values “0” to “255”. However, if the gradation value is given by bit numbers other than eight bits, the gradation values respectively corresponding to the arrangement position information in FIG. 10 may be changed according to such the bit numbers.  
         [0069]    The patch shown in FIG. 6 can be divided into two blocks, i.e., a highlight block of which the density is relatively lower, and a shadow block of which the density is relatively higher. Namely, the numbers representing the arrangement position information in the highlight block are “0” to “31” (i.e., the gradation values are “0” to “124”), and the numbers representing the arrangement position information in the shadow block are “33”, “35”, “37” . . . , “59”, “61” and “63” (i.e., the gradation values are “132”, “140”, “148”, . . . , “236”, “244” and “255”). The highlight block and the shadow blocks are respectively arranged entirely in the longitudinal direction of the patch (corresponding to 32 blocks) and alternately arranged in the lateral direction of the patch. In this case, as clearly shown in FIG. 6, in the shadow block, the same block pattern is repeated by two in the longitudinal direction. On the other hand, in the highlight block, the gradation values corresponding to the respective block arrangements in the pattern repeated in the lateral direction are periodically changed.  
         [0070]    Namely, in the patch of the present embodiment, the four blocks each corresponding to the 32-level gradation values are arranged as the highlight block, while the eight blocks each corresponding to the 16-level gradation values are arranged as the shadow block. The reason why the number of gradation values is different between the highlight block and the shadow block is that information on a more detailed density change (i.e., a printing characteristic change) is necessary on the highlight block side being the lower-density side. Further, the reason why the number of pattern arrangements in the shadow block is made larger is that the dispersion in the reading by the scanner tends to be greater in the shadow part as compared with the highlight part. According to such the patch structure, it is possible to perform highly accurate calibration with the less number of patches.  
         [0071]    The explanation returns to FIG. 2. After the patch was printed on the basis of the above patch data, in a step S 22 , a sheet on which the patch has been printed is set to the scanner  3  by a user, the patch is scanned by the scanner  3  to measure its density. Then, the scanner  3  obtains R (red), G (green) and B (blue) signal values being the measured values for each block of the patch shown in FIG. 6, and sends the obtained signal values to the server PC  1 . On the basis of the sent signal values, the server PC  1  calculates the average of the four blocks of the highlight block and the average of the eight blocks of the shadow block, and resultingly obtains the 48-gradation R, G and B signal values for each of C, M, Y and K patches. Then, the server PC  1  obtains a 48-gradation density signal from a 48-gradation luminance signal by using a previously prepared luminance/density conversion table which shows the correspondence between R, G and B luminance signals from the scanner  3  and C, M, Y and K density signals of the printer  2 .  
         [0072]    Although it is not described in detail here, the scan is ordinarily performed through a scanner driver installed in the server PC  1 . Further, scan resolution setting, input area designation, and the like are performed by the scanner driver.  
         [0073]    Next, in a step S 23 , a calibration table is created by the server PC  1 . This process will be explained with reference to FIGS. 4A to  4 C.  
         [0074]    For example, the density characteristic based on the 48-gradation density values for each color is shown in FIG. 4A. Here, although the density characteristic for one color is illustrated to simplify the explanation, actually the same process is performed to the four (C, M, Y and K) colors. In FIG. 4A, on the curve representing the relation of input and output, the value existing among the 48 gradations is obtained by interpolation calculation based on the 48-gradation values. Although the actual density characteristic is shown in FIG. 4A, an ideal value of the density characteristic is represented by the linear curve as shown in FIG. 4C. Therefore, in order to approximate the actual density characteristic (FIG. 4A) to the ideal density characteristic (FIG. 4C), an inverse function shown in FIG. 4B is set as the content of the calibration table. Namely, if the calibration table (FIG. 4B) is applied to the actual density characteristic (FIG. 4A), the calibrated output result (FIG. 4C) can be obtained.  
         [0075]    [0075]FIGS. 5A to  5 D are diagrams showing the details of the calibration data correction process. Namely, the maximum density adjustment for C, M, Y and K is performed, and the engine characteristic is obtained (FIGS. 5A and 5B). Then, as shown in FIG. 5C, the calibration correction data is generated by subtracting, from the current engine characteristic, one-previous engine characteristic, and the generated calibration correction data is merged with the calibration table. The latest calibration table is thus created as shown in FIG. 5D.  
         [0076]    [0076]FIG. 7 is a flow chart showing a storage (or registration) process of the calibration data downloaded into the printer  2 . In a step S 70 , it is judged whether or not the data is received. If judged that the data is not received, the process in the step S 70  is repeated. Conversely, if judged that the data is received, the received data is analyzed in a step S 71 . Then, in a step S 72 , it is judged whether or not the received data is a calibration download command. If judged that the received data is the calibration download command, the flow advances to a step S 73  to register the engine characteristic in the calibration data storage unit. Conversely, if judged in the step S 72  that the received data is not the calibration download command, the flow advances to a step S 74  to perform an appropriate process according to the judged result.  
         [0077]    [0077]FIG. 8 shows the calibration process according to the present invention. If the application is started, it is first judged in a step S 81  whether or not necessary printer driver and scanner driver have been installed in the system of the server PC  1 . If judged that the necessary driver is not installed, a driver check error is displayed in a step S 814 , and the process ends. Conversely, if judged in the step S 81  that the necessary drivers have been installed, a main screen is displayed in a step S 82 . FIG. 9 shows an example of the main screen. As shown in FIG. 9, basically the main screen, as well as other screen, is changed to relative other screen by appropriately depressing “NEXT”, “RETURN”, “CANCEL” and/or “HELP” buttons. On the main screen shown in FIG. 9, three options “PERFORM NEW MEASUREMENT”, “OPEN MEASUREMENT DATA FILE” and “DELETE DOWNLOADED DATA” are prepared as a selectable menu. If the option “PERFORM NEW MEASUREMENT” is selected and then the “NEXT” button is depressed, the flow advances to a step S 84 . In the step S 84 , the patch data is output to the printer  2 . Next, in a step S 87 , the patch (chart) output and printed by the printer  2  on the basis of the patch data is measured by using the scanner  3 . Next, in a step S 88 , the calibration is applied. Then, the processes in the steps S 23  and S 24  in FIG. 2 are performed, i.e., the calibration data is generated, and the generated calibration data is downloaded to the printer  2 . On the display screen in the process of the step S 88 , since buttons to advance to steps S 89  and S 810  are prepared, the process advances to the corresponding process when the appropriate button is depressed by the user. Since the display screen in the process of the step S 89  is the screen enabling to store the measured data, the scan data measured in the step S 87  is stored. The storage file is used in a later-described process using already-measured data. Since the display screen in the process of the step S 810  is the screen displaying detailed information, the detailed information such as the measured density characteristic or the like is displayed. After the processes in the steps S 89  and S 810  ended, the flow returns to the step S 88 . Next, a process end screen is displayed in a step S 811 . Namely, if the end of application is designated on the process end screen, the entire process ends. On the other hand, if it is designated on the process end screen to return to the main screen, the flow returns to the step S 82 .  
         [0078]    On the other hand, on the main screen of the step S 82 , if the option “OPEN MEASUREMENT DATA FILE” is selected and then the “NEXT” button is depressed, the flow advances to a step S 85 , and a screen on which measurement data is indicated is displayed. On this screen, if a “REFERENCE” button (not shown) is depressed, the screen is changed to a measurement data reading screen used in a process of a step S 812 . Thus, it is possible to search the measurement data in detail. Here, it should be noted that the measurement data is the data file stored in the step S 89 . Next, the calibration is applied in the step S 88 , and subsequent processes are the same as those described above.  
         [0079]    On the other hand, on the main screen of the step S 82 , if the option “DELETE DOWNLOADED DATA” is selected and then the “NEXT” button is depressed, the flow advances to a step S 86  to delete the calibration data stored in the calibration data storage unit  21  of the printer  2 . Although such deletion is performed in response to an instruction based on a command sent from the server PC  1  to the printer  2 , this command is not referred here. Next, the screen is changed to the process end screen in the step S 811 , and subsequent processes are the same as those described above.  
         [0080]    [0080]FIG. 11 is a flow chart showing an image process of the printer using the corrected calibration data. In FIG. 11, in a step S 110 , color fine tuning is performed to the input R, G and B signals. Here, it should be noted that the color fine tuning includes processes such as luminance correction, contrast correction and the like. Next, in a step S 111 , a color matching process is performed to match a tint of a monitor and a tint of a printed result with each other. Next, in a step S 112 , a luminance/density conversion process is performed to convert the R, G and B input luminance signals into the Y, M, C and K density signals being the printing signals for the printer. Next, in a step S 113 , the calibration process is performed. Next, in a step S 114 , the C, M, Y and K eight-bit signals are converted into the signals according to an output system. Generally, the C, M, Y and K eight-bit signals are binarized into C, M, Y and K one-bit signals, respectively.  
         [0081]    [0081]FIG. 12 is a diagram for explaining the engine characteristic of the printer. In FIG. 12, symbols A, B, C and D on the x-axis respectively indicate predetermined input values, and symbols a, b, c and d on the y-axis respectively indicate measurement density values corresponding to the respective input values.  
         [0082]    (Second Embodiment)  
         [0083]    Next, the second embodiment will be explained in detail.  
         [0084]    [0084]FIG. 13 is a block diagram showing a printer calibration system according to the second embodiment of the present invention. It should be noted that, in the second embodiment, the same parts as in the first embodiment are added with the same numerals as those in the first embodiment.  
         [0085]    In FIG. 13, numeral  1  denotes a server PC in which software to achieve the system in the present embodiment has been installed. It should be noted that the server PC  1  is connected to a network  5 .  
         [0086]    Numeral  11  denotes a calibration data storage unit which is disposed inside the server PC  1  and used to hold and store later-described calibration data in the server PC  1 . Numerals  111  and  112  respectively denote a first engine characteristic and a first calibration table which are both stored in the calibration data storage unit  11 . Here, it should be noted that the first engine characteristic and the first calibration table are equivalent respectively to an engine characteristic  1  and a calibration table  1  both shown in the drawings.  
         [0087]    Numeral  2  denotes a color printer which is connected to the network  5  and is the target apparatus of the calibration in the system. The printer  2  is made to be able to perform printing in response to instructions respectively sent from PC&#39;s connected on the network. Numeral  21  denotes a calibration data storage unit which is provided inside the printer  2  and used to hold or store later-described calibration data inside the printer  2 . Numerals  211  and  212  respectively denote the first engine characteristic and the first calibration table which were downloaded from the server PC  1  and are both stored in the calibration data storage unit  21 . Numeral  213  denotes a second engine characteristic which is obtained from a later-described engine and is the latest engine characteristic, and numeral  214  denotes a second calibration table which is the latest calibration table. The second engine characteristic  213  and the second calibration table  214  are stored in the calibration data storage unit  21 . Here, it should be noted that the second engine characteristic and the second calibration table are respectively equivalent to an engine characteristic  2  and a calibration table  2  both shown in the drawings.  
         [0088]    Numeral  22  denotes a printer controller which is provided inside the printer  2  and controls various operations concerning the printer  2 . The printer controller  22  stores the first engine characteristic and the first calibration table in the calibration data storage unit  21  when the first engine characteristic and the first calibration table are downloaded from the server PC  1 , and updates the second calibration table in the calibration data storage unit  21 .  
         [0089]    Numeral  23  denotes a printer engine which is provided inside the printer  2  and is the part basically outputting printing data from the printer controller  22 . The printer engine  23  also transmits engine characteristic information to the printer controller  22  and adjusts a maximum density in the engine characteristic.  
         [0090]    Numeral  3  denotes a scanner which is connected to the server PC  1 . In the system, the scanner  3  is used to measure a density of a patch output by the printer  2 , and essentially used to read an original. Numeral  4  denotes a client PC which is connected on the network and instructs to generate, edit and print desired printing data.  
         [0091]    With respect to the above structure, a process in case of performing the calibration will be explained hereinafter with reference to flow charts shown in FIGS. 14 and 15.  
         [0092]    [0092]FIG. 14 is the flow chart showing the process of soft calibration performed between the computer and the color printer included in the system.  
         [0093]    In this process, it is first instructed in a step S 141  to output patch data from the server PC  1  to the printer  2 , and thus the printer  2  outputs and prints the patch according to the sent patch data. As an example of the patch data, the patch data shown in FIG. 6 can be used.  
         [0094]    As described above, the patch is output from the printer  2  in response to the instruction from the server PC  1 . However, it is possible to previously store information in the printer  2  to generate the patch data of such a format as above, and actually generate the patch data on the basis of the stored information in response to the instruction from the server PC  1 . Further, it is also possible to generate the patch data by transmitting the patch data generation information from the server PC  1  to the printer  2 .  
         [0095]    In the step S 141  of the FIG. 14, engine characteristic information at the patch output time is obtained immediately after the patch data was output. Namely, by obtaining from the server PC  1  the second engine characteristic being the latest engine characteristic stored in the calibration data storage unit  21  of the printer  2 , the engine characteristic information is obtained.  
         [0096]    In a step S 142 , the obtained second engine characteristic is stored as the first engine characteristic  111  in the calibration data storage unit  11  by the server PC  1 . The first engine characteristic  111  is correlated, as the engine characteristic in case of outputting the patch data, with the later-described first calibration table. The details of the engine characteristic will be described later.  
         [0097]    In a step S 143  of FIG. 14, the output patch data is measured by the scanner  3 . The scanner  3  inputs R, G and B signal values of each block of the patch data, and returns the values to the server PC  1 . From the sent signal values, the server PC  1  calculates the average of the four blocks of the highlight block and the average of the eight blocks of the shadow block on the basis of the block arrangement of the patch data, and resultingly obtains 48-gradation R, G and B signal values for each of C, M, Y and K. Then, the server PC  1  obtains a 48-gradation density signal from a 48-gradation luminance signal by using a previously prepared luminance/density conversion table (not shown) which shows the correspondence between R, G and B luminance signals from the scanner  3  and C, M, Y and K density signals of the printer  2 .  
         [0098]    Although it is not described in detail here, the scan is ordinarily performed through a scanner driver installed in the server PC  1 . Further, scan resolution setting, input area designation, and the like are performed by the scanner driver.  
         [0099]    Next, in a step S 144 , a calibration table is created by the server PC  1 . Since this process has been already explained with reference to FIGS. 4A to  4 C, redundant explanation is omitted.  
         [0100]    In the step S 144 , the calibration table created by the server PC  1  is stored as the first calibration table  112  in the calibration data storage unit  11 .  
         [0101]    Next, in a step S 145 , the first engine characteristic  111  and the first calibration table  112  in the calibration data storage unit  11  are downloaded to the printer  2  by the server PC  1 . The first engine characteristic  111  and the first calibration table  112  both downloaded are stored as the first engine characteristic  211  and the first calibration table  212  in the calibration data storage unit  21  through the printer controller  22 .  
         [0102]    A process by the printer controller  22  in a case where the downloaded data is received by the printer  2  will be explained with reference to a flow chart shown in FIG. 17.  
         [0103]    In a step S 171 , it is judged whether or not the data is received. If judged that the data is not received, the process in the step S 171  is repeated. Conversely, if judged that the data is received, the received data is analyzed in a step S 172 . Then, in a step S 173 , it is judged whether or not the received data is a calibration download command. If judged that the received data is the calibration download command, it is further judged in a step S 174  whether or not the data to be downloaded is engine characteristic data. If judged that the data is the engine characteristic data, the flow advances to a step S 175  to register the engine characteristic as the first engine characteristic  211  in the calibration data storage unit  21 . Conversely, if judged in the step S 174  that the data to be downloaded is not the engine characteristic data, it is judged that the received data represents the calibration table, and the flow advances to a step S 176  to register the calibration table as the first calibration table  212  in the calibration data storage unit  21 . Further, if judged in the step S 173  that the received data is not the calibration download command, the flow advances to a step S 177  to perform an appropriate process according to the judged result.  
         [0104]    Ordinarily, the printing data is given from the application on the server PC  1  to the printer  2  through the printer driver on the server PC  1 . Thus, in the process of FIG. 17, the printer controller  22  of the printer  2  performs printing data analyzing, page layout making, image editing, printing and the like.  
         [0105]    Next, the image process which is performed by the printer controller  22  with use of the calibration data will be explained with reference to FIG. 20. This process is substantially the same as that of the first embodiment, and will be thus explained with the same step numbers as those shown in FIG. 11.  
         [0106]    First, in a step S 110 , color fine tuning is performed to the input R, G and B signals. Here, it should be noted that the color fine tuning includes processes such as luminance correction, contrast correction and the like. Next, in a step S 111 , a color matching process is performed to match a tint of a monitor and a tint of a printed result with each other. Next, in a step S 112 , a luminance/density conversion process is performed to convert the R, G and B input luminance signals into the Y, M, C and K density signals being the printing signals for the printer. Next, in a step S 113 , the calibration process is performed. Namely, by using the C, M, Y and K eight-bit multivalue signals as input/output signals and using the calibration table  2  being the latest calibration table, the output characteristic is made linear. Next, in a step S 114 , the C, M, Y and K eight-bit signals are converted into the signals according to an output system. Generally, the C, M, Y and K eight-bit signals are binarized into C, M, Y and K one-bit signals, respectively.  
         [0107]    As explained in the first embodiment, a color printing characteristic can be relatively stabilized by the soft calibration shown in FIG. 14. However, an engine characteristic has a tendency to easily change relatively if a drum temperature increases due to, e.g., continuous printing or the like. Thus, a user must frequently perform the soft calibration to always obtain a steady printed result.  
         [0108]    Thus, even in the present embodiment, in order to reduce a user&#39;s load and increase calibration accuracy, the device calibration is combined with the soft calibration as follows.  
         [0109]    [0109]FIG. 15 is the flow chart for explaining the device calibration which is performed between the printer controller  22  and the printer engine  23  both constituting the color printer  2  in the present embodiment, and a process to combine the soft calibration and the device calibration with each other.  
         [0110]    The device calibration is performed between the printer engine  23  and the printer controller  22  on the basis of an event, as a trigger, with high possibility by which the engine characteristic changes. For example, this event includes a change in output of a not-shown temperature/humidity sensor, the number of printing, an exchange of a drum and a toner cartridge, and the like. It should be noted that, although other various matters can be considered to be included in this event, these matters are not referred here.  
         [0111]    In FIG. 15, in a step S 151 , an image formation condition is optimized by the printer engine  23 . In the present embodiment, a maximum density of each of C, M, Y and K is adjusted. Ordinarily, in the printer engine, although a target maximum density at designing time has been determined, the set maximum density swings up and down due to a successive change. In this step, the maximum density value of each of C, M, Y and K is obtained by a not-shown development system such as a density sensor on a drum. If the maximum density swings up and down, the appropriate maximum density adjustment is performed by controlling the image formation condition such as a development bias value and the like.  
         [0112]    Then, a change of a density characteristic curve when the device calibration is performed will be explained with reference to FIG. 19.  
         [0113]    In FIG. 19, a characteristic curve  2  is an example of the density characteristic curve before the maximum density adjustment, while a characteristic curve  1  is an example of the density characteristic curve after the maximum density adjustment. Here, symbol max 2  indicates the maximum density value of the characteristic curve  2 . If the maximum density adjustment is started, it is detected by the density sensor disposed oppositely to the drum that the current maximum density value is the max 2 . Symbol maxi indicates the target value of the maximum density value in the printer. Thus, the printer engine controls the development bias value and the like such that the maximum density value becomes the max 1 .  
         [0114]    Next, in a step S 152 , the second engine characteristic being the latest engine characteristic is obtained. Concretely, in this step, a patch for density measurement is generated on the drum in response to a request from the printer controller  22 , and sensor output values of plural intermediate densities are returned from the printer engine  23  to the printer controller  22 . Such a state will be explained with reference to FIG. 19. In FIG. 19, although the intermediate density values of, e.g., four points are picked up and explained to simplify the explanation, the number of points to be picked up is not limited to this. Symbols A, B, C and D on the x-axis respectively indicate predetermined input values, and symbols a, b, c and d on the y-axis respectively indicate measurement density values corresponding to the respective input values. The printer engine  23  communicates with the printer controller  22  to give the four points a, b, c and d to the printer controller  22 .  
         [0115]    Incidentally, symbols a′, b′, c′ and d′ indicate intermediate density sensor values before the maximum density adjustment. Namely, the intermediate density sensor values a′, b′, c′ and d′ are respectively changed to the measurement density values a, b, c and d through the maximum density adjustment. Namely, since the intermediate density sensor value, i.e., the engine characteristic, is greatly influenced by the maximum density adjustment, it is necessary to always perform the process in the order of the maximum density adjustment and the engine characteristic obtaining as a series of flow.  
         [0116]    Generally, in the sensors of the above development system, since the characteristics of the sensors themselves are dispersed, there is no accuracy by which the absolute density value can be obtained. However, when the characteristic of the development system itself changes, the identical sensor produces a sensor output value according to such a change. Namely, relative accuracy can be expected although absolute accuracy is low.  
         [0117]    Next, in a step S 153 , it is judged whether or not the first calibration table has been downloaded into the calibration data storage unit  21 .  
         [0118]    If judged that the first calibration table is not yet downloaded into the calibration data storage unit  21 , the flow advances to a step S 154  to create the second calibration table in the same manner as that in the conventional device calibration. Such a process will be explained with reference to the characteristic curve  1  shown in FIG. 19. In the conventional device calibration, the characteristic curve  1  is first obtained by an approximation expression from the intermediate density sensor values a, b, c and d being the engine characteristic, and the second calibration table is created by generating the inverse function for obtaining the target characteristic with use of the relation shown in FIGS. 4A to  4 C.  
         [0119]    Conversely, if judged in the step S 153  that the first calibration table has been downloaded into the calibration data storage unit  21 , the flow advances to a step S 155 . In the step S 155 , calibration table correction data is generated by the printer controller  22  in the following manner. Namely, such a characteristic curve as shown by the characteristic curve  1  of FIG. 19 is first obtained by an approximation expression from the second engine characteristic  213  being the latest engine characteristic in the calibration data storage unit  21 . Next, a characteristic curve is similarly obtained by an approximation expression from the first engine characteristic  211  being the engine characteristic at the soft calibration time. Then, as temporary calibration tables (data) for the respective characteristic curves, the tables are obtained from the inverse function curve such that the linear curve as shown in FIG. 4C can be obtained. The calibration table correction data is generated by obtaining the difference between these two temporary calibration tables. Such information is the information which represents a characteristic change of a sensor level measuring a patch density on the drum.  
         [0120]    As described above, according to the present invention, the result of the soft calibration can be corrected on the basis of the result of the device calibration.  
         [0121]    Further, since the calibration table correction data is generated on the basis of the engine characteristic obtained by the sensor used in the device calibration, it is possible to generate highly accurate data without any influence of the difference of the sensor characteristic.  
         [0122]    Next, in a step S 156 , the second calibration table stored in the calibration data storage unit  21  is updated by the printer controller  22 . This process is performed by merging the calibration table correction data generated in the step S 155  with the first calibration table stored in the calibration data storage unit  21 .  
         [0123]    In a step S 157 , the created second calibration table is stored in the calibration data storage unit  21 .  
         [0124]    Such a series of operations will be explained with reference to FIGS. 16A to  16 D. FIG. 16A shows the first calibration table which is created by the server PC  1  through the soft calibration and stored in the calibration data storage unit  21 . As shown in FIG. 16B, the maximum density adjustment for C, M, Y and K is performed by the printer engine  23 , and the second engine characteristic is exchanged between the printer controller  22  and the printer engine  23 . Then, as shown in FIG. 16C, the calibration table correction data is generated by the printer controller  23  on the basis of the second engine characteristic and the first engine characteristic at soft calibration time, and the generated calibration table correction data is merged with the first calibration table. The latest second calibration table thus created is stored as the second calibration table  214  in the calibration data storage unit  21 . Then, the printer controller  22  always performs the density correction process shown in the step S 113  of FIG. 20 by using the second calibration table stored in the calibration data storage unit  21 .  
         [0125]    Next, a flow of UI (user interface) in the server PC  1  of the printer calibration system according to the present invention will be explained with reference to FIG. 18. It should be noted that this system is made on the server PC  1  as a kind of application.  
         [0126]    If the application is started, it is first judged in a step S 1801  whether or not necessary printer driver and scanner driver have been installed in the system of the server PC  1 . If judged that the necessary driver is not installed, a driver check error is displayed in a step S 1812 , and the process ends. Conversely, if judged in the step S 1801  that the necessary drivers have been installed, a main screen is displayed in a step S 1802 . As previously described, FIG. 9 shows an example of the main screen. On the main screen shown in FIG. 9, if the option “PERFORM NEW MEASUREMENT” is selected and then the “NEXT” button is depressed, the flow advances to a step S 1803 . In the step S 1803 , the patch data is output to the printer  2 . Next, in a step S 1806 , as described above, the patch data is measured by the scanner  3 . Next, in a step S 1807 , the calibration is applied. In this step, the processes in the steps S 144  and S 145  in FIG. 14 are performed, i.e., the calibration data is generated, and the generated calibration data is downloaded to the printer  2 . On the display screen in the step S 1807 , since buttons to advance to steps S 1808  and S 1809  are prepared, the process advances to the corresponding process when the appropriate button is depressed by the user. Since the display screen in the step S 1808  is the screen enabling to store the measured data, the scan data measured in the step S 1806  is stored. The storage file can be used in a later-described process using already-measured data. Since the display screen in the step S 1809  is the screen displaying detailed information, the detailed information such as the measured density characteristic or the like is displayed. After the processes in the steps S 1808  and S 1809  ended, the flow returns to the step S 1807 . Next, a process end screen is displayed in a step S 1810 . Namely, if the end of application is designated on the process end screen, the entire process ends, while if it is designated on the process end screen to return to the main screen, the flow returns to the step S 1802 .  
         [0127]    On the other hand, on the main screen of the step S 1802 , if the option “OPEN MEASUREMENT DATA FILE” is selected and then the “NEXT” button is depressed, the flow advances to a step S 1804 , and a screen on which measurement data is indicated is displayed. On this screen, if a not-shown “REFERENCE” button is depressed, the screen is changed to a measurement data reading screen used in a process of a step S 1811 . Thus, it is possible to search the measurement data in detail. Here, it should be noted that the measurement data is the data file stored in the step S 1808 . Next, the calibration is applied in the step S 1807 , and subsequent processes are the same as those described above.  
         [0128]    On the other hand, on the main screen of the step S 1802 , if the option “DELETE DOWNLOADED DATA” is selected and then the “NEXT” button is depressed, the flow advances to a step S 1805  to delete the calibration data stored in the calibration data storage unit  21  of the printer  2 . Although such deletion is performed in response to an instruction based on a command sent from the server PC  1  to the printer  2 , this command is not referred here.  
         [0129]    Next, the screen is changed to the process end screen in the step S 1810 , and subsequent processes are the same as those described above.  
         [0130]    As above, the flow of the printer calibration system UI operating as the application on the server PC  1  was described.  
         [0131]    Incidentally, if judged in the step S 153  of FIG. 15 that the first calibration table does not exist inside the printer  2 , the printer  2  inquires the server PC  1  about whether the first calibration table has been held or stored in the server PC  1 . If the first calibration table has been held or stored in the server PC  1 , the first engine characteristic and the first calibration table may be downloaded to the printer  2 .  
         [0132]    According to the present embodiment, in response to the instruction through the computer constituting the system, the user performs the soft calibration at frequency not higher so far, generates the calibration data, and downloads the generated calibration data to the color printer. For this reason, after that, basically the engine characteristic change is automatically subjected to fine tuning on the printer side, whereby the user&#39;s load can be reduced. Further, a synergistic effect of the merits of both the conventional soft calibration and the conventional device calibration can be obtained. Thus, it is possible to always perform steady color printing.  
         [0133]    (Third Embodiment)  
         [0134]    [0134]FIG. 21 is a block diagram showing a printing system according to the third embodiment of the present invention. It should be noted that the third embodiment is a modification of the second embodiment, and the feature of the present embodiment is to provide a hard disk (this might be called “HD” hereinafter) inside the printer  2  as shown in FIG. 21.  
         [0135]    Hereafter, the structure different from the second embodiment will be explained. It should be noted that, in the third embodiment, the same parts as in the second embodiment are added with the same numerals as those in the second embodiment, and the explanations thereof will be omitted.  
         [0136]    In FIG. 21, numeral  2  denotes a color printer which is connected to a network  5 , and numeral  24  denotes a storage device such as a hard disk or the like which is provided inside the printer  2 . Numeral  241  denotes a calibration data storage unit which is provided inside the hard disk  24  and used to hold or store calibration data inside the printer  2 . Numerals  2411  and  2412  respectively denote a first engine characteristic and a first calibration table which were downloaded from the server PC  1  and are both stored in the calibration data storage unit  241 . Numeral  21 ′ denotes a temporary memory such as a RAM (random-access memory) which is provided inside the printer  2 , and numeral  211 ′ denotes a calibration data storage unit which is provided inside the memory  21 ′. Numeral  2111  denotes a second engine characteristic which is the latest engine characteristic obtained from an engine and is stored in the calibration data storage unit  211 ′, and numeral  2112  denotes a second calibration table which is the later-described latest calibration table and is stored in the calibration data storage unit  211 ′.  
         [0137]    The feature of the present embodiment is to store in the temporary memory (RAM) the second engine characteristic and the second calibration table created and generated in the device calibration, and store in the hard disk the first engine characteristic and the first calibration table created and generated in the soft calibration and then downloaded from the server PC  1 .  
         [0138]    According to the present embodiment, the first engine characteristic and the first calibration table can be held even if a power supply is cut. Further, by holding or storing the calibration data in the hard disk or the like, such the calibration data can be restored without performing again the sort calibration when the power supply of the color printer is again turned on.  
         [0139]    (Fourth Embodiment)  
         [0140]    [0140]FIG. 22 is a block diagram showing a printing system according to the fourth embodiment. In the third embodiment, the first calibration table and the first engine characteristic information are stored in the hard disk of the printer, and the second calibration table is created on the basis of the stored information. On the other hand, in the present embodiment, a first calibration table and first engine characteristic information are stored in a memory of a printer, and simultaneously reproduced (duplicated) and stored in a hard disk. Therefore, although the process concerning calibration in the present embodiment is basically the same as that in the third embodiment, the present embodiment is different from the third embodiment in the point that a flow of each data corresponds to the reproduction to the hard disk and a control method corresponds to such the flow.  
         [0141]    It should be noted that, in the fourth embodiment, the same parts as in the above first to third embodiments are added with the same numerals as those in the above embodiments, and the explanations thereof will be omitted.  
         [0142]    Further, it should be noted that the present embodiment is not limited to the hard disk. Namely, the present invention is of course applicable to any nonvolatile memory capable of being used as a backup memory.  
         [0143]    In FIG. 22, numeral  21 ′ denotes a temporary memory such as a RAM or the like which is provided inside a printer  2 , and numeral  211 ′ denotes a calibration data storage unit which is provided on the memory. Numerals  2113  and  2114  respectively denote a first engine characteristic and a first calibration table which are stored in the calibration data storage unit  211 ′. Numeral  24  denotes a storage device such as a hard disk or the like which is provided inside the printer  2 . Numeral  241  denotes a calibration data storage unit which is provided on the hard disk. Numerals  2411  and  2412  respectively denote a first engine characteristic and a first calibration table which are reproduced from the first engine characteristic  2113  and the first calibration table  2114  and stored in the calibration data storage unit  241 . As described later, if the calibration data does not exist on the memory, a printer controller  22  acts to reproduce the calibration data from the hard disk and store it in the memory.  
         [0144]    In such a structure as described above, a flow of the calibration will be explained with reference to FIG. 23.  
         [0145]    First, in a step S 2301 , as well as the second embodiment, a maximum density of each of C, M, Y and K is adjusted by the printer engine  23 . Next, in a step S 2302 , as well as the second embodiment, a second engine characteristic being the latest engine characteristic is obtained. Then, in a step S 2303 , it is judged whether or not the first calibration table  2114  exists in the calibration data storage unit  211 ′ of the memory  21 ′. If judged that the first calibration table  2114  does not exist in the calibration data storage unit  211 ′, then it is judged in a step S 2304  whether or not the hard disk  24  exists in the printer  2 . If judged that the hard disk  24  does not exist, the flow advances to a step S 2308  to create a second calibration table  2111  in the same manner as that in the conventional device calibration. Conversely, if judged in the step S 2304  that the hard disk  24  exists in the printer  2 , then it is judged in a step S 2305  whether or not the first calibration table  2412  exists in the calibration data storage unit  241 . If judged that the first calibration table does not exist, the flow advances to the step S 2308  to create a second calibration table  2112  in the same manner as that in the conventional device calibration. Conversely, if judged in the step S 2305  that the first calibration table exists, the flow advances to a step S 2306  to reproduce the first engine characteristic  2411  stored in the calibration data storage unit  241  of the hard disk  24  and store the reproduced first engine characteristic  2411  to the first engine characteristic  2113  in the calibration data storage unit  211 ′ of the memory  21 ′. Next, in a step S 2307 , the first calibration table  2412  stored in the calibration data storage unit  241  of the hard disk  24  is reproduced and stored to the first calibration table  2114  in the calibration data storage unit  211 ′ of the memory  21 ′. On the other hand, if judged in the step S 2303  that the first calibration table  2114  exists in the calibration data storage unit  211 ′, the flow advances to a step S 2309 . In the step S 2309 , calibration table correction data is generated by the printer controller  22 . Next, in a step S 2310 , the second calibration table is updated by the printer controller  22 . Then, in a step S 2311 , the created second calibration table is stored in the calibration data storage unit  211 ′.  
         [0146]    Next, a process by the printer controller  22  in a case where the downloaded data is received by the printer  2  will be explained with reference to a flow chart shown in FIG. 24. In this case, it should be noted that, since processes in steps S 2401  to S 2405 , S 2408  and S 2411  are the same as those in the steps S 171  to S 177  in FIG. 17, the explanation thereof will be omitted.  
         [0147]    In a step S 2406 , it is judged whether or not the hard disk  24  exists in the printer  2 . If judged that the hard disk  24  exists in the printer  2 , the flow advances to a step S 2407  to reproduce the first engine characteristic  2113  in the calibration data storage unit  211 ′ of the memory  21 ′ and store the reproduced first engine characteristic  2113  to the first engine characteristic  2411  in the calibration data storage unit  241  of the hard disk  24 .  
         [0148]    If judged in the step S 2404  that the received data is not the engine characteristic data, and if judged in a step S 2409  that the hard disk  24  exists in the printer  2 , the flow advances to a step S 2410  to reproduce the first calibration table  2114  in the calibration data storage unit  211 ′ and store the reproduced first calibration table  2114  to the first calibration table  2412  stored in the calibration data storage unit  241 .  
         [0149]    [0149]FIG. 25 shows a process in a case where deletion of the downloaded data is instructed in the present embodiment. In FIG. 25, it is judged in a step S 2501  whether or not the calibration table exists in the calibration data storage unit  211 ′ of the memory  21 ′. If judged that the calibration table exists in the calibration data storage unit  211 ′, the flow advances to a step S 2502  to delete the existing calibration table. Next, it is judged in a step S 2503  whether or not the hard disk exists. If judged that the hard disk exists, then it is judged in a step S 2504  whether or not the calibration table exists in the hard disk. If judged that the calibration table exists in the hard disk, the flow advances to a step S 2505  to delete the calibration table existing in the hard disk.  
         [0150]    According to the present embodiment, since the calibration table can be created by using the calibration data on the memory, it is possible to create the calibration table at higher speed as compared with the above third embodiment. Further, it is possible to separately and properly use the hard disk for a backup and the memory for high-speed access.  
         [0151]    (Fifth Embodiment)  
         [0152]    [0152]FIG. 26 is a block diagram showing a structure of a printer calibration system according to the fifth embodiment. It should be noted that, in the fifth embodiment, the same parts as in the above first to fourth embodiments are added with the same numerals as those in the above embodiments. Numeral  1  denotes a server PC which is connected to a network  55  and in which software for achieving the system in the present embodiment has been installed.  
         [0153]    A calibration data storage unit  11  provided inside the server PC  1  is used to hold and store later-described calibration data inside the server PC  1 .  
         [0154]    A first engine characteristic  111  and a first calibration table  112  have been stored in the calibration data storage unit  11 .  
         [0155]    A printer  2  which is connected to the network  5  is the apparatus to which calibration in the system is performed. The printer  2  is made to be able to perform printing in response to instructions from plural PC&#39;s connected on the network.  
         [0156]    A calibration data storage unit  21  provided inside the printer  2  is used to hold and store later-described calibration data inside the printer  2 .  
         [0157]    The calibration data storage unit  21  stores a first engine characteristic  211  and a first calibration table  212  which are both downloaded from the server PC  1 , and time stamp information  215  which represents a time when the first calibration table  212  was downloaded.  
         [0158]    Further, the calibration data storage unit  21  stores a second engine characteristic  213  being the latest engine characteristic obtained from a later-described engine, a second calibration table  214  being the latest calibration table, and a second engine characteristic update counter  216  counted and updated every time the second engine characteristic  213  being the latest engine characteristic is obtained.  
         [0159]    A printer controller  22  which is provided inside the printer  2  performs various control for the printer  2 . Also, when a later-described first engine characteristic, a first calibration table and the time stamp information are downloaded from the server PC  1 , the printer controller  22  acts to store the downloaded data in the calibration data storage unit  21 . Further, as described later, the printer controller  22  acts to update the second calibration table in the calibration data storage unit  21  and transmit the data in the calibration data storage unit  21  to a later-described client PC.  
         [0160]    Basically, a printer engine  23  which is provided inside the printer  2  outputs printing data from the printer controller  22 . Further, the printer  23  acts to transmit later-described engine characteristic information to the printer controller  22  and adjust a maximum density in the engine characteristic.  
         [0161]    A scanner  3  which is connected to the server PC  1  is used to measure patch data output in the printer  2  of the system. However, as essential use, the scanner  3  can be used to input an original.  
         [0162]    A client PC  4  which is connected on the network instructs to, e.g., generate desired printing data, edit the generated data, and print the edited data. The process by the client PC  4  includes a process in a PDL mode and a process in an image mode. In the PDL mode, rasterizing and binarizing are performed in the printer controller  22  of the printer  2 , and R, G and B multivalue data are sent from the client PC  4  to the printer  2 . On the other hand, in the image mode, image processes including the rasterizing and the binarizing are performed on the client PC  4 , and C, M, Y and K binary data are sent to the printer  2 . In this case, although the explanation is performed with use of binary data by way of example, the data depends on an engine output form, whereby four-value data, 16-value data and the like can be also applied.  
         [0163]    It is possible to thought a case where these two modes are switched and used by a user through a not-shown UI of the printer driver, and a case where these two modes are automatically switched and used based on a utility program on the client PC  4 . Anyway, the detailed processes in these two modes will be described later.  
         [0164]    A calibration data storage unit  41  provided inside the client PC  4  is used to hold and store later-described calibration data inside the client PC  4 . Numerals  411  and  412  respectively denote a first engine characteristic and a first calibration table which are uploaded from the printer  2  and stored in the calibration data storage unit  41 . Numeral  413  denotes a second engine characteristic which is the latest engine characteristic uploaded from the printer  2  and stored in the calibration data storage unit  41 . Numeral  414  denotes a second calibration table which is the latest calibration table created by a calibration table creation unit  43  in the client PC  4 .  
         [0165]    An image processing unit  42  provided inside the client PC  4  performs a later-described image process. A calibration table creation unit  43  provided inside the client PC  4  creates a calibration table on the basis of the information stored in the calibration data storage unit  41 . An information obtaining unit  431  provided in the calibration table creation unit  43  uploads the first engine characteristic, the first calibration table and the second engine characteristic from the printer  2 , and stores the uploaded data in the calibration data storage unit  41 , as described above.  
         [0166]    [0166]FIGS. 27 and 28 are flow charts showing the calibration. Concretely, FIG. 27 is the flow chart showing the calibration performed between a computer and a color printer both included in the system. In this process, it is first instructed in a step S 271  to output patch data from the server PC  1  to the printer  2 , and thus the printer  2  outputs and prints the patch according to the sent patch data.  
         [0167]    As an example of the patch data, the patch data shown in FIG. 6 is used.  
         [0168]    In a step S 272 , engine characteristic information at the patch output time is obtained immediately after the patch data was output. Namely, by obtaining from the server PC  1  the second engine characteristic being the latest engine characteristic stored in the calibration data storage unit  21  of the printer  2 , the engine characteristic information is obtained. A command system concerning data obtaining is not referred here.  
         [0169]    In a step S 272 , the obtained second engine characteristic is stored as the first engine characteristic  111  in the calibration data storage unit  11  by the server PC  1 . The first engine characteristic  111  is correlated, as the engine characteristic in case of outputting the patch data, with the later-described first calibration table. The details of the engine characteristic will be described later.  
         [0170]    In a step S 273 , the output patch data is measured by the scanner  3 . Namely, the scanner  3  inputs R, G and B signal values of each block of the patch data, and returns the values to the server PC  1 . From the sent signal values, the server PC  1  calculates the average of the four blocks of the highlight block and the average of the eight blocks of the shadow block on the basis of the block arrangement of the patch data, and resultingly obtains 48-gradation R, G and B signal values for each of C, M, Y and K. Then, the server PC  1  obtains a 48-gradation density signal from a 48-gradation luminance signal by using a previously prepared luminance/density conversion table (not shown) which shows the correspondence between R, G and B luminance signals of the scanner  3  and C, M, Y and K density signals of the printer  2 .  
         [0171]    Although it is not described in detail here, the scan is ordinarily performed through a scanner driver installed in the server PC  1 . Further, scan resolution setting, input area designation, and the like are performed by the scanner driver.  
         [0172]    Next, in a step S 274 , the calibration table is created by the server PC  1 .  
         [0173]    In the step S 274 , the calibration table created by the server PC  1  is stored as the first calibration table  112  in the calibration data storage unit  11 .  
         [0174]    Next, in a step S 275 , the first engine characteristic  111  and the first calibration table  112  in the calibration data storage unit  11  are downloaded to the printer  2  by the server PC  1 . At this time, time stamp information representing a time of download is also downloaded. Although a download command or the like at this time depends on a command system of the printer  2 , this is not referred here.  
         [0175]    The first engine characteristic  111 , the first calibration table  112  and the time stamp information all downloaded are stored respectively as the first engine characteristic  211 , the first calibration table  212  and the time stamp information  215  in the calibration data storage unit  21  through the printer controller  22 .  
         [0176]    A process by the printer controller  22  in a case where the downloaded data is received by the printer  2  will be explained with reference to a flow chart shown in FIG. 29. In FIG. 29, it is judged in a step S 291  whether or not the data is received. If judged that the data is not received, the process in the step S 291  is repeated. Conversely, if judged that the data is received, the received data is analyzed in a step S 292 .  
         [0177]    Then, it is judged in a step S 293  whether or not the received data is a calibration download command. If judged that the received data is the calibration download command, it is further judged in a step S 294  whether or not the data is engine characteristic data. If judged that the data is the engine characteristic data, the flow advances to a step S 295  to register the first engine characteristic as the first engine characteristic  211  in the calibration data storage unit  21 , as above.  
         [0178]    Conversely, if judged in the step S 294  that the data is not the engine characteristic data, it is judged in a step S 296  whether or not the received data represents the calibration table. If judged that the data represents the calibration table, the flow advances to a step S 297  to register the first calibration table as the first calibration table  212  in the calibration data storage unit  21 , as above.  
         [0179]    Further, if judged in the step S 296  that the data does not represent the calibration table, such the data is judged to be the time stamp information, and the flow advances to a step S 298  to register the time stamp information as the time stamp information  215  of the download of the first calibration table in the calibration data storage unit  21 , as above.  
         [0180]    On the other hand, if judged in the step S 293  that the received data is not the calibration download command, the flow advances to a step S 299  to perform an appropriate process according to the judged result.  
         [0181]    Ordinarily, printing data is flowed from the application on the client PC  4  to the printer  2  through the printer driver on the client PC  4 . Thus, in the step S 299  of FIG. 29 or the like, the printer controller  22  of the printer  2  performs printing data analyzing, page layout making, image editing, printing and the like.  
         [0182]    As described above, the process by the client PC  4  includes a process in a PDL mode and a process in an image mode. In the PDL mode, rasterizing and binarizing are performed in the printer controller  22  of the printer  2 , and R, G and B multivalue data are sent from the client PC  4  to the printer  2 . On the other hand, in the image mode, image processes including the rasterizing and the binarizing are performed on the client PC  4 , and C, M, Y and K binary data which are easy to be output by the printer engine  23  are sent to the printer  2 . These processes are performed by using a PDL driver and an image driver, respectively.  
         [0183]    Hereinafter, by using the PDL mode as an example, an operation flow in a case where the image process using the calibration data is performed by the PDL driver in the printer controller  22  will be explained with reference to FIGS. 30A and 31. Incidentally, an example of the image mode will be explained later.  
         [0184]    [0184]FIG. 30A is the flow chart of the PDL driver process, and FIG. 31 is the flow chart of the controller process. First, in FIG. 30A, in a step S 3001 , color fine tuning is performed to the input R, G and B signals by the PDL driver on the client PC  4 . Here, it should be noted that the color fine tuning includes processes such as luminance correction, contrast correction and the like.  
         [0185]    Next, in a step S 3002 , a color matching process is performed to match a tint of a monitor and a tint of a printed result with each other. Although the data to be processed is the R, G and B multivalue signals at this time, in the PDL mode the data transmission is performed from the client PC  4  to the printer  2  in such a form (step S 3003 ).  
         [0186]    Next, in a step S 3101  of FIG. 31, data analysis is performed by the controller  22  in the printer  2 . In this step, if it is judged that the data sent from the client PC  4  is PDL mode data, then a luminance/density conversion process is performed in a step S 3102 . The luminance/density conversion process is the process to convert the input R, G and B luminance signals into the C, M, Y and K density signals being the printing signals managed by the printer  2 .  
         [0187]    Next, in a step S 3103 , a calibration process is performed. Namely, in this process, an output characteristic is made linear by using eight-bit C, M, Y and K multivalue signals as input/output signals and using the second calibration table being the latest calibration table.  
         [0188]    Next, in a step S 3104 , the eight-bit C, M, Y and K signals are converted into signals suitable for an output system. Generally, the eight-bit C, M, Y and K signals are binarized into one-bit C, M, Y and K signals. Thus, the appropriate output to which the calibration has been applied can be obtained in the printer system.  
         [0189]    As above, the flow of the calibration to be performed between the computer and the color printer was explained. A color printing characteristic can be relatively stabilized by such the calibration. However, an engine characteristic has a tendency to easily change relatively if a drum temperature increases due to, e.g., continuous printing or the like. Thus, a user must frequently perform the calibration to always obtain a steady printed result only by the calibration. For this reason, in order to reduce a user&#39;s load and increase calibration accuracy, the present embodiment proposes that the device calibration is combined as follows.  
         [0190]    [0190]FIG. 28 is the flow chart for explaining the calibration which is performed between the printer controller  22  and the printer engine  23  both constituting the color printer  2  in the present embodiment.  
         [0191]    The device calibration is performed between the printer engine  23  and the printer controllers  22  on the basis of an event, as a trigger, with high possibility by which the engine characteristic changes. For example, this event includes a change in output of a not-shown temperature/humidity sensor provided in the printer engine  23 , the number of printing, an exchange of the drum and a toner cartridge, and the like. It should be noted that, although other various matters can be considered to be included in this event, these matters are not referred here.  
         [0192]    Here, as well as the above embodiments, in a step S 281 , a maximum density of each of C, M, Y and K is adjusted by the printer engine  23 .  
         [0193]    Next, in a step S 282 , the second engine characteristic being the latest engine characteristic is obtained. Concretely, in this step, sensor output values corresponding to plural intermediate densities are returned from the printer engine  23  to the printer controller  22  in response to a request from the printer controller  22 .  
         [0194]    Next, in a step S 283 , it is judged whether or not the first calibration table has been downloaded into the calibration data storage unit  21 . If judged that the first calibration table is not yet downloaded, the flow advances to a step S 284  to create the second calibration table in the same manner as that in the conventional device calibration.  
         [0195]    Conversely, if judged in the step S 283  that the first calibration table has been downloaded into the calibration data storage unit  21 , the flow advances to a step S 285 . In the step S 285 , such calibration table correction data as explained in the above embodiments is generated by the printer controller  22 .  
         [0196]    Next, in a step S 286 , the second calibration table stored in the calibration data storage unit  21  is updated by the printer controller  22 . This process is performed by merging the calibration table correction data generated in the step S 285  with the first calibration table stored in the calibration data storage unit  21 .  
         [0197]    In a step S 287 , the created second calibration table is stored in the calibration data storage unit  21 .  
         [0198]    Next, in a step S 288 , the number of updates of the second engine characteristic is counted up by the second engine characteristic update counter  216 . Such information is used in the later-described image mode.  
         [0199]    The created latest second calibration table is stored as the second calibration table  214  in the calibration data storage unit  21 . The printer controller  22  performs the calibration process shown in the step S 3103  of FIG. 31, always by using the second calibration table stored in the calibration data storage unit  21 .  
         [0200]    Next, by using the image mode as an example, an operation flow in a case where the image process using the calibration data is performed by the image driver in the printer controller  22  will be explained with reference to FIGS. 30B and 31.  
         [0201]    [0201]FIG. 30B is the flow chart of the image driver process. First, in FIG. 30B, in a step S 3004 , the calibration table is created by the image driver on the client PC  4 .  
         [0202]    Such a state will be explained with reference to FIG. 32. In FIG. 32, a time stamp of the first calibration table is obtained in a step S 3201 . Concretely, the time stamp information  215  of the first calibration table in the calibration data storage unit  21  of the printer  2  is obtained by the information obtaining unit  431  of the client PC  4 . A protocol or the like in case of obtaining the time stamp is not referred here.  
         [0203]    Next, in a step S 3202 , the obtained time stamp is evaluated, i.e., it is judged whether or not such the time stamp has been updated. Although it is needless to say, the judged result is “YES” in a state that the first calibration table is never obtained. If “YES” in the step S 3202 , the flow advances to a step S 3203 . In this step, the first engine characteristic  211 , the first calibration table  212  and the second engine characteristic  213  in the calibration data storage unit  21  of the printer  2  are obtained by the information obtaining unit  431 . Then, in the calibration data storage unit  41  of the client PC  4 , the first engine characteristic  211  is stored as the first engine characteristic  411 , the first calibration table  212  is stored in the first calibration table  412 , and the second engine characteristic  213  is stored as the second engine characteristic  413 .  
         [0204]    Next, in a step S 3207 , the second calibration table is created by using the first engine characteristic  411 , the first calibration table  412  and the second engine characteristic  413 . The operation is this case is the same as that in the PDL mode.  
         [0205]    Namely, such a characteristic curve as shown by the characteristic curve  1  of FIG. 19 is first obtained by an approximation expression from the second engine characteristic  413  being the latest engine characteristic in the calibration data storage unit  41 . Next, a characteristic curve is similarly obtained by an approximation expression from the first engine characteristic  411  being the engine characteristic at the soft calibration time. After then, as temporary calibration tables (data) for the respective characteristic curves, the tables are obtained from the inverse function curve such that the linear curve as shown in FIG. 4C can be obtained.  
         [0206]    The calibration table correction data is generated by obtaining the difference between these two temporary calibration tables. Next, the latest second calibration table  414  is created and then stored by merging the generated calibration table correction data with the first calibration table  412  stored in the calibration data storage unit  41 .  
         [0207]    On the other hand, if “NO” in the step S 3202  of FIG. 32, the flow advances to a step S 3204  to obtain the second engine characteristic update counter. Namely, the second engine characteristic update counter  216  in the calibration data storage unit  21  of the printer  2  is obtained by the above information obtaining unit  431 .  
         [0208]    Next, in a step S 3205 , the value of the engine characteristic update counter is evaluated, i.e., it is judged whether or not such the value has been updated. Although it is needless to say, the judged result is “YES” in a state that the second engine characteristic is never obtained. As previously described, the engine characteristic update counter is the counter which is incremented every time the maximum density adjustment between the printer engine  23  and the printer controller  22  in the printer is performed and the second calibration table is thus updated by the printer controller  22 .  
         [0209]    Namely, the client PC  4  may judge whether or not calibration relation information should be obtained from the printer  2 , according to whether or not the engine characteristic update counter has been incremented. Thus, since it is unnecessary to obtain the information in the case where the counter is not updated, it is possible to reduce a network graphic load.  
         [0210]    If “YES” in the step S 3205 , the flow advances to a step S 3206  to obtain the second engine characteristic  213  in the printer  2  by the information obtaining unit  431 , and store the obtained second engine characteristic  213  as the second engine characteristic  413  in the calibration data storage unit  41  of the client PC  4 .  
         [0211]    Here, the second calibration data can be obtained directly from the printer  2  and used in the client PC  4 . However, since the size of the calibration table (i.e., several tens kilobytes) is larger than that of the engine characteristic information (i.e., several tens bytes), the load to the network graphic increases when the second calibration table is frequently obtained. Thus, the method of obtaining the second engine characteristic information and creating the second calibration table on the side of the client PC  4  is adopted in the present embodiment.  
         [0212]    Next, in the step S 3207 , the second calibration table is created by using the first engine characteristic  411  and the first calibration table  412  previously obtained and stored in the calibration data storage unit  41 , and the second engine characteristic  413  obtained in the step S 3206 . The operation is this case is the same as that in the PDL mode.  
         [0213]    Next, in a step S 3005  of FIG. 30B, color fine tuning is performed to the input R, G and B signals by the image driver, as well as the PDL driver, on the client PC  4 . Next, in a step S 3006 , a color matching process is performed.  
         [0214]    Next, in a step S 3007 , a luminance/density conversion process is performed by the image driver. The luminance/density conversion process is the process to convert the input R, G and B luminance signals into the C, M, Y and K density signals being the printing signals managed by the printer  2 . Next, in a step S 3008 , a calibration process is performed. Namely, in this process, an output characteristic is made linear by using eight-bit C, M, Y and K multivalue signals as input/output signals and using the second calibration table  414  being the latest calibration table.  
         [0215]    Next, in a step S 3009 , the eight-bit C, M, Y and K signals are converted into signals suitable for an output system. Generally, the eight-bit C, M, Y and K signals are binarized into one-bit C, M, Y and K signals. The data at this time is the C, M, Y and K binary signals, and in a next step S 3010  data transmission from the client PC  4  to the printer  2  is performed based on such a form in the image mode.  
         [0216]    Next, in the step S 3101  of FIG. 31, the data analysis is performed by the controller  22  in the printer  2 . In this step, if it is judged that the data sent from the client PC  4  is image mode data, then subsequent processes are skipped, the data transmitted from the client PC  4  is sent to the printer engine  23  as it is, and the printing is performed.  
         [0217]    Thus, the appropriate output to which the calibration has been applied can be obtained even in the image mode of the printer system.  
         [0218]    As described above, the flow of the calibration performed between the computer and the color printer has been explained with reference to FIG. 27. A color printing characteristic can be relatively stabilized by such the calibration.  
         [0219]    An operation flow of a UI in the server PC  1  of the printer calibration system in the present embodiment is the same as that in the above embodiment (FIG. 8).  
         [0220]    As described above, according to the present embodiment, the patch data is output from the color printer  2  in response to the instruction from the server PC  1 , the first engine characteristic information at the time of outputting the patch data is obtained from the color printer  2 , the obtained information is held and stored, and the patch data is read by the arbitrary scanner  3  on the side of the server PC  1 .  
         [0221]    Then, the first calibration table is created based on the read scan data on the server PC  1 , and the created first calibration table, the first engine characteristic information and the time stamp information representing the download time are downloaded from the server PC  1  to the color printer  2 .  
         [0222]    Then, in the printer controller  22 , the first calibration table  212 , the first engine characteristic information  211  and the time stamp information  215  all downloaded from the server PC  1  are stored.  
         [0223]    Further, in the printer engine  23 , the maximum density of each of C, M, Y and K is corrected at arbitrary timing, and the second engine characteristic information  213  being the latest engine characteristic information is given in response to an inquiry from the printer controller  22  at the maximum density correction timing.  
         [0224]    Then, in the printer controller  22 , the second engine characteristic information  213  is stored, the second engine characteristic update counter  216  indicating the number of maximum density corrections is incremented, and the calibration table correction data is generated on the basis of the second engine characteristic information  213  and the first engine characteristic information  211  both stored.  
         [0225]    Further, in the printer controller  22 , the second calibration table  214  is created by using the calibration table correction data and the stored first calibration table  212 , and the created second calibration table  214  is stored.  
         [0226]    Then, in the PDL mode, the image process is performed by using the second calibration table  214 , and the data subjected to the image process is sent to the printer engine  23 , whereby the printing is performed.  
         [0227]    Thus, it is possible to reduce a user&#39;s load and always perform steady color printing.  
         [0228]    Further, in the image mode, the time stamp information  215  representing the download time of the first calibration table is obtained by the client PC  4 .  
         [0229]    It is judged based on the time stamp information  215  whether or not the first calibration table  212  has been updated. If judged that the first calibration table  212  has been updated, the first engine characteristic  211 , the first calibration table  212  and the second engine characteristic  213  are obtained from the printer  2  to the client PC  4 , and the second calibration table  414  is created based on the obtained data.  
         [0230]    On the other hand, if judged that the first calibration table  212  is not yet updated, the second engine characteristic update counter  216  is obtained by the client PC  4 , and it is judged based on this counter whether or not second engine characteristic  213  is updated. If judged that the second engine characteristic  213  is updated, the second engine characteristic  213  is obtained from the printer  2 , and the second calibration table  414  is created from the first engine characteristic  411  and the first calibration table  412  previously obtained and stored and the obtained second engine characteristic  413 .  
         [0231]    In the image mode, the image process is performed based on the second calibration table  414  by the client PC  4 , and the image data subjected to the image process is sent to the printer  2 , whereby the printing is performed.  
         [0232]    For this reason, without depending on each printing mode prepared in the printer system, it is possible to always perform color printing while suppressing network traffic as much as possible in any mode.  
         [0233]    (Sixth Embodiment)  
         [0234]    In the above fifth embodiment, the case where the second calibration table is created on the client computer was explained. In the sixth embodiment, a case where the second calibration table is obtained on the client computer will be explained.  
         [0235]    [0235]FIG. 33 is a block diagram showing a structure of a printer calibration system according to the present embodiment. In FIG. 33, the same parts as in the structure shown in FIG. 26 are added with the same numerals as those shown in FIG. 26. Namely, numeral  1  denotes a server PC, and numeral  11  denotes a calibration data storage unit which holds and stores a first engine characteristic  111  and a first calibration table  112 . Further, numeral  3  denotes a scanner, and numeral  5  denotes a network.  
         [0236]    A calibration data storage unit  41  provided inside a client PC  4  is used to hold and store calibration data inside the client PC  4 . Numeral  414  denotes a second calibration table which is the latest calibration table uploaded from a printer  2  and stored in the calibration data storage unit  41 .  
         [0237]    An image processing unit  42  provided inside the client PC  4  performs a later-described image process. Numeral  431  denotes an information obtaining unit which uploads the second calibration table from the printer  2 , and stores the uploaded data in the calibration data storage unit  41 .  
         [0238]    A calibration process in the present embodiment is the same as that explained with reference to FIGS. 27 and 28, and a patch to be used is shown in FIG. 6. Further, an operation flow of a process by a printer controller  22  in a case where downloaded data is received by the printer  2  is the same as that explained with reference to FIG. 29. Further, an operation flow of a process in a case where an image process is performed by using a PDL driver in a PDL mode and calibration data in the printer controller  22  is the same as that explained in the fifth embodiment.  
         [0239]    An operation flow of a process in a case where the image process is performed by using an image driver in an image mode and calibration data in the printer controller  22  will be explained.  
         [0240]    The process by the image driver has been explained with reference to FIG. 30B. First, as explained in the step S 3004  of FIG. 30B, the image driver on the client PC  4  obtains the calibration table.  
         [0241]    Such a state will be explained with reference to FIG. 34. First, in a step S 3401 , a second engine characteristic update counter is obtained. Concretely, a second engine characteristic update counter  216  in a second calibration data storage unit  21  of the printer  2  is obtained by the information obtaining unit  431 . Besides, the calibration data storage unit  21  of the printer  2  holds and stores a first engine characteristic  211 , a first calibration table  212 , a second engine characteristic  213 , a second calibration table  214 , and first calibration table time stamp information.  
         [0242]    Next, in a step S 3402 , the value of the engine characteristic update counter is evaluated, i.e., it is judged whether or not such the value has been updated. Although it is needless to say, the judged result is “YES” in a state that the second engine characteristic is never obtained. As previously described, the engine characteristic update counter is the counter which is incremented every time the maximum density adjustment between the printer engine  23  and the printer controller  22  is performed and the second calibration table is thus updated by the printer controller  22 .  
         [0243]    Namely, the client PC  4  may judge whether or not the second calibration table should be obtained from the printer  2 , according to whether or not the engine characteristic update counter has been incremented. Thus, since it is unnecessary to obtain the information in the case where the counter is not updated, it is possible to reduce a network graphic load. If “YES” in the step S 3402 , the flow advances to a step S 3403  to obtain the second calibration table. This process is the same as that already explained above.  
         [0244]    The subsequent process of the image driver is the same as that explained with reference to FIG. 30B. As described above, by the calibration performed between the computer and the color printer, a color printing characteristic can be relatively stabilized.  
         [0245]    Further, an operation flow of a UI in the server PC  1  of the printer calibration system in the present embodiment is the same as that in the above embodiment (FIG. 8).  
         [0246]    As described above, according to the present embodiment, the patch data is output from the color printer  2  in response to the instruction from the server PC  1 , the first engine characteristic information at the time of outputting the patch data is obtained from the color printer  2 , the obtained information is held and stored, and the patch data is read by the arbitrary scanner  3  on the side of the server PC  1 .  
         [0247]    Then, the first calibration table is created based on the read scan data on the server PC  1 , and the created first calibration table, the first engine characteristic information and the time stamp information representing the download time are downloaded from the server PC  1  to the color printer  2 .  
         [0248]    Then, in the printer controller  22 , the first calibration table, the first engine characteristic information and the time stamp information concerning the first calibration table download all downloaded from the server PC  1  are stored.  
         [0249]    Further, in the printer engine  23 , the maximum density of each of C, M, Y and K is corrected at arbitrary timing, and the second engine characteristic information being the latest engine characteristic information is given in response to an inquiry from the printer controller  22  at the maximum density correction timing.  
         [0250]    Then, in the printer controller  22 , the second engine characteristic information is stored. The second engine characteristic update counter indicating the number of maximum density corrections is incremented by the printer controller  22 . Further, the calibration table correction data is generated by the printer controller  22  on the basis of the second engine characteristic information  213  and the first engine characteristic information  211  both stored.  
         [0251]    Further, in the printer controller  22 , the second calibration table  214  is created by using the calibration table correction data and the stored first calibration table  212 , and the created second calibration table  214  is stored.  
         [0252]    Then, in the PDL mode, the image process is performed by using the above second calibration table, and the data subjected to the image process is sent to the printer engine  23 , whereby the printing is performed.  
         [0253]    Thus, it is possible to reduce a user&#39;s load and always perform steady color printing.  
         [0254]    Further, in the image mode, an update counter of the second engine characteristic is obtained by the client PC  4 .  
         [0255]    It is judged based on the update counter whether or not the second engine characteristic has been updated. If judged that the second engine characteristic has been updated, the second calibration table is obtained. In the image mode, the image process is performed based on the second calibration table by the client PC  4 , and the image data subjected to the image process is sent to the printer  2 , whereby the printing is performed.  
         [0256]    For this reason, without depending on each printing mode prepared in the printer system, it is possible to always perform color printing while suppressing network traffic as much as possible in any mode.  
         [0257]    The present invention is applicable to a system composed of plural equipments or to an apparatus including a single equipment. Further, it is needless to say that the present invention is applicable to a case where the functions of the above embodiments can be achieved by supplying programs to the system or the apparatus. In this case, a storage medium which stores the programs concerning the present invention constitutes the present invention. Then, in a case where the programs are read from the storage medium to the system or the apparatus, such the system or the apparatus operates in a predetermined method.  
         [0258]    The present invention is not limited to the above embodiments, and various modifications and changes are possible in the present invention without departing from the spirit and scope of the appended claims.