Patent Publication Number: US-7595906-B2

Title: Calibration method for density in image forming apparatus

Description:
RELATED APPLICATIONS 
   This application is a divisional of application Ser. No. 10/046,578, filed Jan. 16, 2002, and claims benefit of that filing date, as well as benefit of the filing date of Japanese Patent Application No. 2001-009192, filed Jan. 17, 2001. The entire contents of both of those applications is hereby incorporated herein by reference. 

   BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a calibration method for maintaining a print density characteristics constant in an image forming apparatus. 
   2. Related Background Art 
   In color printers, copying machines and print apparatuses for printing characters and/or images on a print medium such as a paper, in general, it is known that print output characteristics such as gradation, density and the like in a print result may be varied with change in print environments and/or time-lapse change of the apparatus itself. 
   The print environments may, for example, include temperature and humidity of an atmosphere into which the apparatus is installed, and, if such print environment is changed, an amount of toner adhered to the print medium may be changed in electrophotographic systems or an ink discharged amount may be changed in ink jet systems, with the result that desired output characteristics may not be obtained. Further, when a printing operation is continued for a relatively long term, a temperature within the apparatus may be changed, thereby changing the output characteristics. Furthermore, the output characteristics may be varied with a toner remaining amount. 
   On the other hand, in the time-lapse change, while depending upon frequency of use of the print apparatus, when the apparatus has been used for a relatively long term, characteristics of various parts of the apparatus such as a charging property of a photosensitive drum are changed, with the result that the output characteristics are changed. 
   In a case where a plurality of print apparatuses are used via a network as is in information processing systems, the change in the print characteristics of various print apparatuses causes another problem. That is to say, if the output characteristics are changed due to the above-mentioned factors, difference in output characteristics between the plural print apparatuses may occur. In such a case, not only the desired print characteristics cannot be obtained in the respective print apparatuses, but also, if a different printer is selected in the system, the print result will also be differentiated. 
   To solve the above-mentioned problems regarding the print output characteristics, generally, it is known to perform calibration. There are two general methods for performing the calibration. In one method, the calibration is effected in such a manner that a predetermined patch pattern (measuring pattern image) is outputted from the print apparatus to be calibrated and is read by a scanner or the like and calibration data is created on the basis of a read result. In the other method, the calibration is effected individually in the print apparatus. For example, the calibration is effected in such a manner that a patch pattern is formed on a photosensitive drum at a predetermined timing of the apparatus and density of the patch pattern is read by a sensor disposed in the vicinity of the drum and calibration data is created on the basis of density data. Incidentally, in the above-mentioned two methods, more specifically, the creation of the calibration data is effected to create data for renewing or updating contents of a gamma correction table in image processing. 
   As the former calibration method, the Inventors have proposed calibration effected between host computers constituting a system and a color printer. This calibration utilizes an operation of the user. More specifically, the patch pattern is printed out from the color printer on the basis of instruction from a server computer among plural computers constituting the system and the patch pattern is read by a scanner. In the server computer, the calibration data is created on the basis of the read scan data and the created calibration data is downloaded to the color printer. And, in the color printer, for example, gamma correction is effected by using a gamma correction table updated by the downloaded calibration data and the printing is performed on the basis of the data. 
   As a result, dispersion in print output characteristics between the plural print apparatuses can be reduced. Thus, for example, difference in output density characteristics between the respective print apparatuses can be eliminated to determine output density characteristic common to the plural print apparatuses, thereby stabilizing absolute density. Incidentally, the above-mentioned calibration is refereed to as “software calibration” hereinafter. 
   On the other hand, as the latter calibration method, the Inventors have proposed the following technique. 
   That is to say, in a printer engine of the print apparatus, after maximum output densities of cyan (C), magenta (M), yellow (Y) and black (K) colors are corrected at predetermined timings, engine characteristics information is obtained. 
   Then, a printer controller creates the calibration data on the basis of the engine characteristics information transferred from the printer engine. Then, the printer engine can perform the printing on the basis of print data corrected by using the calibration data updated by such production. According to such calibration data, particularly, change in relatively short time print output characteristics (i.e., change in output characteristics dues to change in temperature, humidity and the like) which may occur in the print apparatus can be suppressed. 
   The calibration of this type serves to eliminate change in output density characteristics caused in the respective print apparatuses, thereby stabilizing relative density other than the above-mentioned absolute density. Incidentally, in the following description, such calibration is also referred to as “device calibration”. 
   By the way, the above-mentioned two calibration types can function individually, and, if there is no correlation between them, the following problem will arise. For example, in accordance with the user&#39;s instruction, even when the software calibration is effected at a certain timing, since the device calibration is generated at the predetermined timing individually determined in the print apparatus, the output characteristics of the printer engine are changed due to the device calibration, with the result that the effect of the software calibration is not maintained. In this case, particularly, the print result having the stable absolute density cannot be obtained. Thus, in order to obtain such print result, the user must perform the software calibration frequently. 
   Thus, as disclosed in U.S. Patent Application No. 923992 according to the Applicant, it is considered that execution of the software calibration is correlated with execution of the device calibration and data for correcting the result of the software calibration in accordance with the device calibration is acquired and the result of the software calibration is finely adjusted on the basis of the correction data. With this arrangement, particularly, the output characteristics according to the absolute density obtained by the software calibration can be maintained and the change in the relatively short time relative density in the print apparatuses can also be eliminated. 
   However, in the arrangement in which the software calibration is correlated with the device calibration, if image processing conditions for effecting the respective calibrations (for example, binarizing or multi-value obtaining) are different, the fine adjustment may not be performed with high accuracy. For example, in a case where a dither method is used as the binarizing, when the software calibration is performed, a dither pattern of dot concentration type attaching importance to gradation is set, and, on the other hand, when the device calibration is performed, in a case where the printer engine outputs a patch on the basis of patch data comprised of a dither pattern of dot dispersion type attaching importance to a resolving power, in the respective calibrations, gradation characteristics obtained from the patch patterns outputted with respect to the same gradation value data may be differentiated. In such a case, it cannot be said that the calibration data obtained by the software calibration is well matched to the correction data of the calibration data obtained by the device calibration, with the result that the calibration data accurately reflecting the output characteristics of the print apparatuses cannot be obtained. 
   As mentioned above, the fact that the set image processing conditions as is in the dither method are differentiated between the software calibration and the device calibration is given from the following arrangement. That is to say, there is an arrangement in which, in a printer driver of the host computer, the user can set a binarizing method as the image processing conditions in accordance with an image to be printed directly or indirectly (through selection of the kind of image to be printed). In such an arrangement, when the software calibration is effected, the patch is printed on the basis of the patch data based on the image processing conditions (binarizing method) set by the user, and, on the other hand, when the device calibration is effected, the patch is outputted on the basis of the image processing conditions previously set in the printer engine. As a result, the image processing conditions may be differentiated from each other. 
   SUMMARY OF THE INVENTION 
   An object of the present invention is to provide a calibration method which can solve the above-mentioned drawbacks. 
   Another object of the present invention is to provide a calibration method which permits high accurate calibration in which image processing conditions are matched to each other between software calibration and device calibration. 
   A further object of the present invention is to provide an image forming apparatus in which, when different halftone processes corresponding to the kinds of objects to be printed are performed, calibration may not be effected with respect to all of the halftone processes. 
   The other objects and features of the present invention will be apparent from the following detailed description of the invention referring to the accompanying drawings and the appended claims. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a block diagram showing a construction of a print system; 
       FIG. 2  is a flow chart showing a processing procedure of software calibration; 
       FIG. 3  is a view showing patch data outputted in the software calibration; 
       FIGS. 4A ,  4 B and  4 C are views for explaining a process for creating a calibration table; 
       FIGS. 5A ,  5 B,  5 C and  5 D are views showing a relationship between kinds of halftone patterns and output density characteristics; 
       FIGS. 6A ,  6 B,  6 C and  6 D are views showing a relationship between kinds of halftone patterns and output density characteristics; 
       FIG. 7  is a flow chart showing a process of calibration data received from a server PC; 
       FIG. 8  is a flow chart showing image processing using the calibration table; 
       FIG. 9  is a view showing a table representing correspondence between halftone patterns and calibration tables; 
       FIGS. 10A and 10B  are views for explaining examples for setting a dither pattern; 
       FIG. 11  is a flow chart showing a processing procedure of device calibration; 
       FIG. 12  is a view showing output density characteristics for explaining adjustment of output density characteristics of a printer engine on the basis of the device calibration; 
       FIGS. 13A ,  13 B,  13 C and  13 D are views for explaining adjustment of the calibration table; 
       FIG. 14  is a view for explaining an operating procedure of calibration; and 
       FIG. 15  is a view showing an example of a display screen for the calibration. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   The present invention will now be fully explained in connection with embodiments thereof with reference to the accompanying drawings. 
   Incidentally, in an embodiment described hereinbelow, while an example that a color laser beam printer (LBP) is used as a printer apparatus constituting a system will be explained, it should be noted that the present invention can similarly be applied to print apparatuses such as other printers (for example, ink jet printer) and a copying machine. Further, while an example that four kinds of halftone patterns according to a dither method as image processing conditions are used will be explained, it is apparent that the present invention can be applied to many kinds of patterns, from the following explanation. 
   In an illustrated embodiment, regarding dither methods as binarizing or n-value (n&gt;2) obtaining methods as the image processing conditions, four kinds of dither methods of dot concentration type are used, and software calibration is executed with association with device calibration, and, two calibration data in which similar patterns among four kinds of dither patterns are correctively gathered into two are acquired. That is to say, calibration data in which the dither methods used for outputting patches in the software calibration and in the device calibration become the same as or similar to each other is acquired for each of four kinds of dither patterns. In the following explanation, the two kinds of dither patterns discriminated from four kinds of dither patterns by approximation are referred to as “halftone pattern A” and “halftone pattern B”, respectively. 
   In summary, in the calibration according to the illustrated embodiment, a first calibration table (calibration information, i.e., first gamma correction table) and first engine characteristics information of a printer which correspond to the halftone pattern A and the halftone pattern B are created (generated), and calibration table correction data corresponding to the respective halftone patterns are created on the basis of second engine characteristics information corresponding to the halftone patterns A, B obtained by effecting the device calibration executed by a printer controller of the printer and the first engine characteristics information corresponding to the halftone patterns A, B, and second calibration tables corresponding to the respective halftone patterns are created by using the calibration table correction data and the first calibration table. In an image processing using the second calibration tables corresponding to two kinds of halftone patterns A, B, one of two kinds of halftone patterns is selected in accordance with the halftone pattern presently set from among the four kinds of halftone patterns, and gamma correction is effected by using the selected halftone pattern. Then, printing is effected by sending data obtained after the image processing to a printer engine. 
   Now, a construction of the print system according to the illustrated embodiment and calibration based on such a construction will be explained concretely. 
     FIG. 1  is a block diagram showing the construction of the information processing system or print system according to the first embodiment of the present invention. 
   In  FIG. 1 , a server PC (personal computer)  1  as an information processing apparatus is connected to a network  5  and serves to execute various processing operations in the entire system including calibration which will be described later. 
   To this end, software for realizing such processing operations is installed in the server PC  1 . 
   The server PC  1  includes a calibration data storing portion  11  provided within the server PC  1  and used for holding the following calibration data. That is to say, the reference numerals  111  and  112  denote first engine characteristics A 1  and a first calibration table A 1  which correspond to the halftone pattern A (among the two kinds of halftone patterns). On the other hand, the reference numerals  113  and  114  denote first engine characteristics B 1  and a first calibration table B 1  which correspond to the halftone pattern B. They are stored in the calibration data storing portion  11 . 
   The system includes a plurality of printers  2  as print apparatuses (only one of which is shown in  FIG. 1 ), which printers  2  are connected to the network  5  so that the printers can perform the printing by receiving data such as print data from a plurality of client PCs  4  (only one of which is shown in  FIG. 1 ) similarly connected. 
   The printer  2  includes a calibration data storing portion  21  used for holding the following calibration data. That is to say, the reference numerals  211  and  212  denote first engine characteristics A 1  and a first calibration table A 1  which correspond to the halftone pattern A downloaded from the server PC  1 , and the reference numerals  213  and  214  denote second engine characteristics A 2  (latest engine characteristics) and a second calibration table A 2  (latest calibration table) which correspond to the halftone pattern A acquired from the printer engine, as will be described later. They are stored in the calibration data storing portion  21 . 
   Similarly, the calibration data storing portion  21  stores first engine characteristics (B 1 )  215  and a first calibration table (B 1 )  216  which correspond to the halftone pattern B downloaded from the server PC 1  and second engine characteristics (B 2 ) (latest engine characteristics)  217  and a second calibration table (B 2 ) (latest calibration table)  218  which correspond to the halftone pattern B acquired from the printer engine, as will be described later. 
   Further, the printer includes a printer controller  22  which serves to effect print processing and various controls relating to the printer  2 . The printer controller  22  also serves to store the first engine characteristics and first calibration tables corresponding to two kinds of halftone patterns A, B downloaded from the server PC  1  (as will be described later) into the calibration data storing portion  21  and to renew or update the second calibration tables corresponding to two kinds of halftone patterns stored in the calibration data storing portion  21 . 
   Further, the reference numeral  24  denotes a dither calibration correspondence table for achieving correspondence between the halftone pattern and the calibration table, and, by using this correspondence table, the calibration table corresponding to the halftone pattern A or B can be selected in accordance with the halftone pattern presently set from among the four kinds of halftone patterns. 
   Further, the printer  2  includes a printer engine  23 . Fundamentally, although the printer engine is a part for effecting the printing on the basis of the print data from the printer controller  22 , as will be described later, the printer engine also serves to transmit engine characteristics information relating to output density of the printer engine  23  and to adjust maximum density in the engine characteristics. 
   A scanner  3  connected to the server PC  1  of the system is used for measuring patches outputted in the printer  2  when the calibration is effected and is also used as fundamental application for inputting an original. Further, the client PC  4  as the information processing apparatus is connected to the network  5  to perform creation and edition of desired print data and to emit print instruction to the printer  2 . 
   In the calibration according to the illustrated embodiment effected in the print system or information processing system, as mentioned above, the software calibration is effected in the server PC  1 , and the created calibration table (calibration information) for gamma correction is downloaded to the printer  2 , and the printer  2  performs the gamma correction by fundamentally using this table to create the print data. In the printer  2 , the device calibration is automatically performed at a predetermined individual timing to create correction data for the downloaded calibration table, thereby effecting fine adjustment of the calibration table. Further, in the calibration in which the software calibration is correlated with the device calibration, regarding the halftone pattern A and the halftone pattern B which are dither methods for binarizing processing used in the system, the calibration tables and correction data are created. Further, in the image processing in the printer, the four kinds of halftone patterns are used, and the corresponding table is selected to correspond to the halftone pattern A or B. 
   Now the software calibration using the server PC  1 , download of the created calibration data to the printer  2 , and the image processing using the calibration tables in the printer  2  will be explained with reference to  FIGS. 2 to 8 . 
     FIG. 2  is a flow chart showing processing procedures for the software calibration using the server PC  1  and download of data. Incidentally, after the software calibration is once executed, since the software calibration is adjusted by the device calibration in the printer  2 , the software calibration may be performed only once fundamentally. However, the user may instruct execution of the software calibration at a desired timing. For example, if deterioration of gradation cannot be corrected only by the adjustment based on the device calibration, such instruction can be used. 
   In  FIG. 2 , first of all, in a step S 20 , the server PC  1  outputs patch data to the printer  2  to instruct the printing of the patches. In accordance with this, the printer  2  performs the printing of the patches. 
     FIG. 3  is a view showing a recorded sheet on which the patch data is printed. In  FIG. 3 , the reference numeral  61  denotes the entire patch data; and  62  denotes one block constituting the patch data, i.e., denotes data corresponding to one patch. The numerical value in each block represents a data value of the patch, i.e., a gradation value. The patch data is constituted by 896 (32 (columns)×28 (rows)) blocks. In the row direction, the blocks are repeated in order of cyan (C), magenta (M), yellow (Y) and black (K) as toner colors for printing. On the other hand, in the column direction, the cyan, magenta, yellow and black blocks in which the gradation values are increased by 8 or 16 are arranged. More specifically, in the patch data shown in  FIG. 3 , four patch data as highlight portions in which the gradation values are increased from 8 to 128 by 8 and six patch data as shadow portions in which the gradation values are increased from 140 to 255 by 16 are arranged. 
   The patch data shown in  FIG. 3  include patch data associated with two kinds of halftone patterns. That is to say, in the column direction, the patch data associated with the halftone pattern A and the patch data associated with the halftone pattern B are arranged alternately. When these patches are printed, binarizing processes based on the halftone pattern A and the halftone pattern B are effected, respectively. More specifically, for example, blocks  62  and  64  are associated with the halftone pattern A and blocks  63  and  65  are associated with the halftone pattern B, and, among the patch data having the same gradation value in the column direction, the upper blocks are data for which the binarizing is effected by the halftone pattern A and the lower blocks are data for which the binarizing is effected by the halftone pattern B. Incidentally, in the gradation values of 0 and the gradation values of 255, since the same result can be obtained by the binarizing based on these halftone patterns, only one block is arranged. 
   Incidentally, difference in number between the highlight portion blocks and the shadow portion blocks in the patch data is given for the reason that more minute gradation information for the highlight portions is required in comparison with the shadow portions in this system. Further, difference in number between the highlight portions and the shadow portions is given for the reason that dispersion in input values of the shadow portions in the scanner tends to become greater in comparison with the highlight portions. 
   Further, although the patch data are transferred from the server PC  1  to the printer  2  and the print output is effected from the printer  2  on the basis of the patch data, the printer  2  may store the patch data themselves having the above-mentioned format or information constituting such data and the patches may be printed on the basis of the stored patch data or the patch data constituted by such information in accordance with the print instruction from the server PC  1 . A 1 ternatively, the patch data may be created by sending the information constituting the patch data from the server PC  1  to the printer  2 . Incidentally, the patch data constituting information relies upon a command system included in the printer  2 , but, detailed explanation will be omitted here. 
   Then, in a step S 21 , as the printer engine characteristics when the patches are printed, engine characteristics information is acquired from the printer  2 . The acquisition of the engine characteristics is effected by acquiring the engine characteristics  211 ,  215  (as the latest engine characteristics) corresponding to the halftone patterns A, B stored in the calibration data storing portion  21  of the printer  2 . The second engine characteristics  211 ,  215  stored in the calibration data storing portion  21  may be acquired by executing the device calibration as shown in  FIG. 11  immediately after the patches are printed in the step S 20  or may be latest engine characteristics acquired by the device calibration effected at last. Incidentally, explanation of a command system regarding acquisition of data based on the server PC  1  will be omitted here. 
   In the step S 21 , the server PC  1  further stores the second engine characteristics corresponding to the halftone patterns A, B acquired as mentioned above into the calibration data storing portion  11  as the first engine characteristics  111 ,  113 . These first engine characteristics  111 ,  113  are correlated with first calibration tables (sought as described below) as the engine characteristics when the patches are printed. Incidentally, the detailed procedure for seeking the engine characteristics will be described later with reference to  FIG. 11 . 
   Then, in a step S 22 , the printed patches are read by using the scanner  3 . That is to say, when the user sets the sheet on which the patch patterns were printed onto the scanner  3  and performs a predetermined operation, the scanner  3  measures densities of the patches corresponding to the blocks of the patch data, and measured results are outputted to the server PC  1  as R (red), G (green), B (blue) signals. In the server PC  1 , regarding the halftone patterns A and B, on the basis of the arrangement of the block of the patch data, average of four highlight portions and average of six shadow portions are calculated from the inputted values, with the result that R, G and B signals regarding 24 gradation values are obtained for each of C, M, Y and K colors. Then, by using a brightness density conversion table representing correspondence between R, G and B brightness signals of the scanner  3  and C, M, Y and K density signals of the printer  2 , 24 density characteristics values are obtained from 24 brightness signals for each of the halftone patterns A and B. Incidentally, although not fully described here, the scanning operation of the scanner  3  is performed via a scanner driver installed in the server PC  1 , and setting of a scan resolving power and designation of input area are effected via the scanner driver. 
   Then, in a step S 23 , the calibration table is created. 
     FIGS. 4A to 4C  are views for explaining the principle for creating the calibration table.  FIG. 4A  is a graph showing output density characteristics of the printer  2  upon each printing, in which gradation values of the patch data shown in  FIG. 3  are indicated as input (in) and 24 density values obtained by the scanner are indicated as output (out). Incidentally, in the explanation using  FIGS. 4A to 4C , for simplicity&#39;s sake, although only one color is illustrated and described, it should be noted that similar processes are effected for four C, M, Y and K colors. Further, in  FIG. 4A , it is well-known that a relationship between the input and the output is sought by interpolating calculation on the basis of the above-mentioned 24 values. 
   A calibration table is created to obtain ideal linear output density characteristics as shown in  FIG. 4C  with respect to the characteristics shown in  FIG. 4A . To this end, in order to approximate the present output density characteristics ( FIG. 4A ) to the ideal output density characteristics ( FIG. 4C ), a calibration table having a relationship shown in  FIG. 4B  which is a reversed function of the relationship shown in  FIG. 4A  is sought. That is to say, when the printer  2  has the output density characteristics ( FIG. 4A ), by effecting gamma correction by using the calibration table having the characteristics shown in  FIG. 4B  (more specifically, gamma correction table), characteristics in which the gradation values of the input density data becomes the gradation values of the print output as they are, as shown in  FIG. 4C , can be obtained. 
   Incidentally, as the above-mentioned calibration tables, two tables regarding halftone pattern of the dither method are created, and relationship between the halftone patterns and the output density characteristics will be explained with reference to  FIGS. 5A to 5D  and  FIGS. 6A to 6D . 
     FIGS. 5A and 5C  are views showing patch dot patterns printed out on the basis of data (having gradation values of  128 ) binarized by the respective dither methods. Among them,  FIG. 5A  shows an example of the halftone pattern A as the dither method of dot concentration type attaching importance to gradation. In case of such a pattern, since the gradation is generally high, this pattern is used in photo-image and/or gradation in many cases.  FIG. 5B  shows an example of output density characteristics obtained by measuring the patches of the halftone pattern A. 
   On the other hand,  FIG. 5C  shows an example of the halftone pattern B as the dither method of dot dispersion type attaching importance of a resolving power. In case of such a pattern, since the resolving power is generally high, this pattern is used in fine lines and/or characters in many cases.  FIG. 5D  shows an example of output density characteristics of the halftone pattern B. 
   On the other hand,  FIG. 6A  shows a halftone pattern C approximated to the halftone pattern shown in  FIG. 5A . Thus, as shown in  FIG. 6B , the output density characteristics are also approximated to those of the halftone pattern A shown in  FIG. 5B . On the other hand,  FIG. 6C  shows an example of a halftone pattern D approximated to the halftone pattern B shown in  FIG. 5C . In this case, as shown in  FIG. 6D , the output density characteristics are also approximated to those of the halftone pattern B. 
   As shown in these Figures, since the output density characteristics obtained from the patches are varied with the difference of the halftone patterns as image processing conditions, it is desirable that the calibrations are carried out in accordance with the respective image processing conditions. In the process for creating the calibration table, in accordance with the output density characteristics ( FIG. 5B ,  FIG. 5D ) obtained regarding the halftone patterns A and B, the reversal functions as explained in connection with  FIG. 4B  are created as calibration tables. 
   Regarding calibration tables corresponding to other halftone patterns C and D, calibration tables corresponding to approximated halftone patterns are selected and used, as will be described in connection with  FIG. 8 . 
   In the step S 23 , when the calibration tables are created, the created calibration tables corresponding to the respective halftone patterns are stored in the calibration data storing portion  11  as first calibration tables  112 ,  114 . 
   Then, in a step S 24 , the first engine characteristics  111  and the first calibration table  112  corresponding to the halftone pattern A and the first engine characteristics  113  and the first calibration table  114  corresponding to the halftone pattern B stored in the calibration data storing portion  11  are downloaded to the printer  2 . Incidentally, in this case, although download command depends upon the command system of the printer  2 , detailed explanation thereof will be omitted here. The downloaded the first engine characteristics  111  and first calibration table  112  corresponding to the halftone pattern A and first engine characteristics  113  and first calibration table  114  corresponding to the halftone pattern B are stored in the calibration data storing portion  21  via the printer controller  22 , as first engine characteristics  211  and first calibration table  212  corresponding to the halftone pattern A and first engine characteristics  215  and first calibration table  216  corresponding to the halftone pattern B. 
     FIG. 7  is a flow chart showing a processing procedure of the printer controller  22  when the printer  2  receives the download data from the server PC  1  or the client PC  4 . The processing includes not only download of the calibration data but also receiving of various download data such as print data. 
   First of all, in a step S 70 , data reception is waited. If it is judged that the data reception is effected, in a step S 71 , the received data is analyzed. Judgement of an analyzed result is effected in a step S 72 . If it is judged that the result is calibration download command, in a step S 73 , it is judged whether the data corresponds to the halftone pattern A or not. If the data is associated with the halftone pattern A, in a step S 74 , it is judged whether the data is engine characteristics or not. If the data is the engine characteristics, in a step S 75 , as mentioned above, engine characteristics A 1  are registered in the calibration data storing portion  21  as the first engine characteristics  211  corresponding to the halftone pattern A. In the step S 74 , if it is judged that the data is not the engine characteristics, it is judged that the data is the calibration table, and, in a step S 76 , as mentioned above, a calibration table A 1  is registered in the calibration data storing portion  21  as the first calibration table  212  corresponding to the halftone pattern A. 
   In the step S 73 , if it is judged that the data does not correspond to the halftone pattern A, it is judged that the data corresponds to the halftone pattern B, and, in a step S 77 , it is judged whether the data is engine characteristics or not. If it is judged that the data is the engine characteristics, in a step S 78 , as mentioned above, engine characteristics B 1  are registered in the calibration data storing portion  21  as the first engine characteristics  215  corresponding to the halftone pattern B. In the step S 77 , if it is judged that the data is not the engine characteristics, it is judged that the data is the calibration table, and, in a step S 79 , as mentioned above, a calibration table B 1  is registered in the calibration data storing portion  21  as the first calibration table  216  corresponding to the halftone pattern B. 
   In the step S 72 , it is judged that the data is not the calibration download command, in a step S 710 , processing procedures corresponding to the respective commands are effected. 
   In the illustrated system, the print data is transferred from application on the client PC  4  or the server PC  1  to the printer  2  via the printer driver. On the other hand, the printer controller  22  of the printer  2  serves to effect analysis of the print data in the step S 710  of  FIG. 7 , construction of page layout, image processing, printing and the like. 
     FIG. 8  is a flow chart showing an image processing procedure of the printer controller  22  effected by using the latest calibration tables in which the downloaded calibration tables are adjusted as will be described in connection with  FIG. 11 . 
   First of all, in a step S 110 , color fine adjustment of image signals R, G and B as the print data sent from the client PC  4  as the host apparatus is performed. 
   The color fine adjustment includes brightness correction and contrast correction. Then, in a step S  111 , color matching processing is effected. The color matching processing is processing for matching the coloring of a monitor of the host apparatus with the coloring of the print of the printer  2 . Then, in a step S 112 , brightness density conversion processing is effected. This processing is processing for converting the brightness signals R, G and B into density signals C, M, Y and K as print signals of the printer. 
   Then, in a step S 118 , the optimal calibration table is selected on the basis of the halftone pattern presently set. This selection processing is effected by using a table for making correspondence between the halftone pattern and the calibration table settable in the system. 
     FIG. 9  is a view schematically showing contents of the dither calibration correspondence table  24  ( FIG. 1 ) in which the halftone patterns are correlated with latest calibration tables. 
   The contents of the table are determined in accordance with approximation of the output density characteristics explained in connection with  FIGS. 5A to 5D  and  FIGS. 6A to 6D . 
   That is to say, although the halftone pattern A shown in  FIG. 5A  differs from the halftone pattern C shown in  FIG. 6A , as shown in  FIGS. 5B and 6B , the respective output density characteristics are approximated to each other. The halftone pattern C having the output density characteristics similar to those of the halftone pattern A in this way is correlated with a calibration table based on the halftone pattern A, as shown in  FIG. 9 . 
   Similarly, although the halftone pattern B shown in  FIG. 5C  differs from the halftone pattern D shown in  FIG. 6C , as shown in  FIGS. 5D and 6D , the respective output density characteristics are approximated to each other. Thus, the halftone pattern D is correlated with a calibration table based on the halftone pattern B, as shown in  FIG. 9 . 
   Now, an example for creating the dither calibration correspondence table  24  will be described. A plurality of gradation patches which were processed by using the calibration tables A and B with respect to the halftone patterns C and D are printed out. Colors of the printed patches are measured. A calibration table in which a result is more linear is correlated with the halftone pattern. 
   In order to prevent reduction in calibration accuracy due to the fact that the halftone patterns used between the software calibration and the device calibration are differentiated, it is fundamentally desirable that the software calibration and the device calibration are effected for each of the halftone patterns used in the system thereby to obtain the calibration tables. However, in the illustrated embodiment, as mentioned above, the above-mentioned calibrations are not effected for all of four kinds of halftone patterns, but, the calibrations are effected for fewer two halftone patterns A and B and other halftone patterns C and D are correlated with the obtained tables A and B. As a result, reduction in performance of the system required for creating the calibration tables can be prevented and increase in storing area required for storing the calibration tables can be reduced. 
   Incidentally, in the above example, while a method in which the optimal calibration table is selected from the halftone patterns by using the dither calibration correspondence table was explained, tabling may not be effected and processing for judging which calibration table be used for each halftone pattern may be effected by using condition division. 
   Next, processing for setting the halftone pattern will be explained with reference to  FIGS. 10A and 10B . 
   As shown in  FIG. 10A , this processing is performed by using a setting screen of the printer driver installed in the client PC  4  or the server PC  1 . That is to say, in a screen for setting a color half tone, the user can select either (halftone) pattern A, pattern B, pattern C or pattern D by manipulating a pull-down menu.  FIG. 10B  shows another example of a setting screen for color half tone, in which the halftone pattern used for each object constituting a page such as image, graphics or text can be selected. 
   In  FIG. 8 , after the calibration table is selected in the step S 118 , in a step S 113 , a halftone pattern corresponding to the selected calibration table is judged. When the calibration table A is selected on the basis of the table correspondence in the step S 118  and if it is judged that the halftone pattern A is correlated with such a table, in a step S 114 , gamma correction is effected by using a calibration table A( 2 ) associated with the judged halftone pattern A. That is to say, the gamma correction is effected by using C, M, Y and K 8-bit multi-value signals obtained by the brightness density conversion in the step S 112  as input/output signals and by using the second calibration table  214  (latest calibration table) corresponding to the halftone pattern A, thereby converting input/output characteristics represented by the multi-value signals into linearity. Then, in a step S 115 , the C, M, Y and K 8-bit signals are converted into binary signals matched to the output system by using the dither method associated with the halftone pattern A. Incidentally, in the illustrated embodiment, while the binarizing processing for converting into C, M, Y and K 1-bit signals was explained, four-value processing or eight-value processing may be effected in dependence upon a laser used. 
   On the other hand, in the step S 113 , if it is judged that the calibration table B corresponding to the halftone pattern B is selected, in a step S 116 , the gamma correction is effected by using the second calibration table  218  (latest calibration table) corresponding to the halftone pattern B. Then, in a step S 117 , the binarizing processing is effected by using the halftone pattern B. 
   By using the above-mentioned software calibration, difference in output density characteristics between the apparatuses can be eliminated, thereby stabilizing the absolute density. However, the engine characteristics of the printer is changed relatively easily, for example, if a temperature of the drum is increased during the continuous printing or if an environment temperature is changed. To cope with this, the contents of the calibration table can be adjusted by effecting the device calibration individually in the printer  2  and by correcting the calibration table obtained by the software calibration on the basis of correction data obtained by such device calibration. As a result, the user does not require to effect the software calibration frequently, thereby reducing the user&#39;s burden. By effecting the software calibration and the device calibration (described later) for each of the plural halftone patterns, the accuracy of the calibration can be enhanced. 
   Next, a procedure for effecting the device calibration according to the illustrated embodiment to acquire latest calibration table will be explained mainly with reference to  FIG. 11 . 
     FIG. 11  is a flow chart mainly showing a processing procedure of the device calibration in the printer  2 . 
   The device calibration is started or triggered by an event in which the engine characteristics tend to be changed (for example, upon change in temperature/humidity detected by a temperature/humidity sensor (not shown) provided in the printer engine  23 , upon change in temperature of the drum, upon printing of many sheets, or upon exchange of the drum or a toner cartridge). 
   A 1 though other events constituting the trigger can be considered, details thereof will not be referred to here. 
   In this processing, first of all, in a step S 31 , the maximum densities of C, M, Y and K colors in the printer engine  23  are adjusted. Normally, in design of the printer engine, although target maximum densities are determined, such densities are changed during a long term. In this step, for example, regarding the respective colors, patches having maximum density data and other several gradation value data (patches other than those having maximum density data are used in processing in a next step S 32 ) are formed on the photosensitive drum, and these patches are developed with the respective colors, and maximum density values of C, M, Y and K colors are obtained by measuring the developed patches by sensors. If the maximum value is changed from the target value, adjustment for obtaining optimal maximum density is effected by controlling developing bias and the like. Incidentally, similar to  FIG. 3 , the patches are formed with respect to both halftone pattern A and halftone pattern B. 
     FIG. 12  is a view showing output density characteristics in this case. Now, the maximum density adjustment will be fully explained with reference to  FIG. 12 . A characteristics curve  2  shown in  FIG. 12  shows an example of a density characteristics curve before maximum density adjustment, and a characteristics curve  1  shows an example of a density characteristics curve after the maximum density adjustment. The maximum density in the characteristics curve  2  is represented by “max 2 ”. In the maximum density adjustment processing in the step S 31 , the fact that the maximum density value at that time is max 2  is detected by a patch sensor. To the contrary, since the target value of the maximum density is max 1 , the printer engine  23  controls the developing bias value to effect adjustment so that the maximum density becomes max 1 . 
   After the maximum density adjustment, in the step S 32 , engine characteristics  2  as latest engine characteristics are acquired. This processing is effected by sending several halftone density sensor values from the printer engine  23  to the printer controller  22  in response to demand from the printer controller  22 . That is to say, densities of the plural patches other than those having the maximum density values and formed on the drum upon maximum density adjustment are measured by the sensors, and the measured values are sent to the printer controller  22 . The measured values are stored in the calibration data storing portion  21  as engine characteristics A 2  (or B 2 ) (latest engine characteristics  2 ). 
   Such a situation will be explained with reference to  FIG. 12 . Incidentally, in  FIG. 12 , to simplify the explanation, although four intermediate input gradation values and sensor measured values corresponding thereto are shown, it should be noted that the number is not limited to four. Further, while one halftone pattern, for example, halftone pattern A will be explained, the halftone pattern B can be handled similarly. 
   In  FIG. 12 , point A, B, C and D on the abscissa indicate predetermined input gradation values, and points a, b, c and d on the ordinate indicate density values obtained by measuring the patches formed in correspondence to the input gradation values by the sensors. The printer engine  23  transfers four measured values (a, b, c, d) to the printer controller  22 . 
   Incidentally, the sensor measured values before the maximum density adjustment are indicated by a′, b′, c′ and d′ and these values are changed to a, b, c and d by the maximum density adjustment. Namely, since the sensor measured values, i.e., engine characteristics are greatly influenced by the maximum density adjustment, it is required that the processing operations be effected in order of maximum density adjustment and acquisition of engine characteristics as a continuous flow. 
   In general, sensors for measuring the densities of the developed patches do not have accuracy for surely obtaining the absolute density values since there is dispersion in characteristics between the sensors. However, when the same sensor is used, even if characteristics of the developing system are changed, measured values responding to such change can be obtained. That is to say, although the absolute accuracy is low, accuracy for detecting the relative change can be expected. 
   Then, in a step S 33 , it is judged whether the calibration tables  1  (A 1  and B 1 ) are downloaded in the calibration data storing portion  21 . If the calibration tables  1  are not downloaded, in a step S 34 , the calibration tables  2  (A 2  and B 2 ) are created in the same manner as the conventional device calibration. That is to say, in this case, the software calibration explained in connection with  FIG. 2  is not yet performed, and, in this case, the calibration tables are created by using the sensor measured values and these table are used in the later print processing. 
   Explaining this processing with reference to the characteristics curve  1  shown in  FIG. 12 , first of all, the calibration tables  2  can be created by obtaining the characteristics curve  1  from the sensor measured values a, b, c and d (engine characteristics) by approximation formulae and by seeking a reversal function for acquiring target characteristics as shown in  FIGS. 4A to 4C . 
   On the other hand, in the step S 33 , if it is judged that the calibration tables  1  are downloaded, in a step S 35 , the calibration table correction data corresponding to the halftone patterns are created. 
   The creation of the correction data is effected as follows. Here, while the halftone pattern A will be explained, the other halftone pattern B are handled similarly. First of all, a characteristics curve such as the characteristics curve  1  shown in  FIG. 12  is obtained from the latest engine characteristics (second engine characteristics data  213  in the calibration data storing portion  21 ) acquired in the step S 32  by approximation formulae. Then, similarly, a characteristics curve is obtained from the first engine characteristics  211  (engine characteristics upon execution of the software calibration) from approximation formulae. Provisional calibration tables are acquired by seeking reversal function curves for obtaining the linearity shown in  FIG. 4C  for respective engine characteristics. The calibration correction data is created by determining difference between these two provisional calibration tables. The correction data is information for representing characteristics changes regarding the engine, sensor level and the like. 
   Then, in a step S 36 , the calibration tables  2  (A 2  and B 2 ) corresponding to the halftone patterns and stored in the calibration data storing portion  21  are updated or renewed. This processing is effected by using merge between the calibration table correction data created in the step S 35  and the calibration tables  1  (A 1  and B 1 ) stored in the calibration data storing portion  21 . That is to say, the calibration tables  1  are downloaded by the execution of the software calibration in the server PC  1  and the contents thereof are adjusted by the merge of the correction data. 
   In a next step S 37 , in accordance with the halftone patterns, the updated calibration tables  2  are stored in the calibration data storing portion  21 . 
     FIGS. 13A to 13D  are views for explaining a series of such processing operations. Here, while one of the halftone patterns will be explained, the other halftone pattern can be handled similarly.  FIG. 13A  shows the first calibration table  1  created by the software calibration and downloaded and stored in the calibration data storing portion  21  of the printer  2 . As shown in  FIG. 13B , the maximum density adjustment of C, M, Y and K colors in the printer engine  23  is effected, thereby acquiring the engine characteristics  2 . Then, as shown in  FIG. 13C , the calibration correction data which is the difference between the engine characteristics  2  and the engine characteristics  1  upon software calibration is created. Further, merge between the correction data and the calibration table  1  is effected. The created latest calibration table  2  is stored in the calibration data storing portion  21  as the second calibration table  214 . 
   In this way, the printer controller  22  of the printer  2  can perform the image processing shown in  FIG. 8  by using the second calibration table as the latest calibration table corresponding to the halftone pattern stored in the calibration data storing portion  21 . 
   Incidentally, although the device calibration as mentioned above is automatically effected in the printer, the device calibration can similarly be effected in other printers of print type, as well as the electrophotographic type according to the illustrated embodiment. For example, in case of a printer of ink jet type, an optical sensor may be provided on a carriage for effecting scanning of a recording head and densities of patches recorded by the scanning of the recording head can be detected by similarly scanning the patches by means of the optical sensor. 
     FIGS. 14 and 15  are views for explaining the calibration processing explained in connection with  FIG. 2  to  FIGS. 13A ,  13 B,  13 C and  13 D by using an operation screen (user interface (UI)) of the server PC  1 . That is to say, the calibration according to the illustrated embodiment is constituted on the server PC  1  as certain application. 
   In a step S 80  shown in  FIG. 14 , when the application is started, first of all, in a step S 81 , it is judged whether required printer driver/scanner driver are installed in the system of the server PC  1  or not. If the required drivers are not installed, in a step S 814 , a driver check error is displayed, and, in a step S 813 , the processing is ended. In the step S 81 , if it is judged that the required drivers are installed, in a step S 82 , a main screen is displayed. 
   An example of the main screen is shown in  FIG. 15 . Other screens fundamentally include “next”, “return”, “cancel” and “help” buttons as shown in  FIG. 15  so that, when any button is depressed, the screen is changed to an associated screen. In the main screen shown in  FIG. 14 , as selection menu, there are provided three kinds, i.e., “new”, “existing measurement data is opened” and “deletion of download data”. Here, when “next” is selected and the “next” button is depressed, the processing is shifted to a step S 84 . In the step S 84 , the patch data is outputted to the printer  2 . Then, in a step S 87 , as mentioned above, the densities of the patches printed out are measured in the scanner  3 . 
   Then, in a step S 88 , calibration is applied. In this step, the processing operations in the steps S 23  and S 24  shown in  FIG. 2 , i.e., creation of the calibration data and download of the data to the printer  2  are effected. In the step S 88 , buttons for shifting to steps S 89  and S 810  are prepared so that, upon depression of any button, the processing can be shifted to the corresponding step. The step S 89  includes a screen for effecting reservation of the measurement data and serves to reserve the scan data measured in the step S 87 . The saved data can be used in the processing using the existing measurement data (described later). The step S 810  includes a screen for displaying detailed information and serves to display the detailed information such as the measured density characteristics. When leaving the steps S 89  and S 810 , the processing is returned to the step S 88 . In a step S 811 , a processing end screen is displayed. In this screen, when end of application is designated, the processing is ended in the step S 813 ; whereas, if “return to main screen” is designated, the processing is returned to the step S 82 . 
   If “measurement data is opened” is selected in the main screen of the step S 82  and the “next” button is depressed, in a step S 85 , a screen for designating the measurement data is displayed. Here, by depressing a “reference” button, the processing is shifted to a measurement data reading screen in a step S 812 . In this case, it is possible to search the measurement data in detail. Incidentally, the measurement data is a data file reserved in the step S 89 . Then, in the step S 88 , the calibration is applied. Further processing operations are the same as the above-mentioned processing operations. 
   If “deletion of download data” is selected in the main screen of the step S 82  and the “next” button is depressed, in a step S 86 , the calibration data stored in the calibration data storing portion  21  of the printer  2  is deleted. A 1 though this is effected in response to the command from the server PC  1  to the printer  2 , such command will not be referred to here. Then, the processing is shifted to the end screen (step S 811 ). Further operations are the same as mentioned above. 
   As mentioned above, the present invention may be applied to not only a system constituted by a plurality equipments (for example, host computer, interface equipments, reader, printer and the like) but also an apparatus constituted by a single equipment (for example, copying machine, facsimile apparatus or the like). 
   Further, the present invention can be achieved by supplying a program code of software for executing the functions of the above-mentioned embodiment as shown in  FIGS. 2 ,  7 ,  8  and  11  to a computer of a system or an apparatus to which various devices are connected to operate such devices thereby realize the functions of the embodiment and by operating the various devices in accordance with the program stored in the computer (CPU or MPU) of the system or the apparatus. 
   In this case, the program code itself of the software realizes the functions of the embodiment, and, thus, the program code itself and means for supplying the program code to the computer, for example, a storage medium storing such program code constitute the present invention. 
   As the storage medium for storing the program code, for example, a floppy disk, a hard disk, an optical disk, a photo-magnetic disk, CD-ROM, a magnetic tape, a non-volatile memory card or ROM can be used. 
   Further, it should be noted that, when not only the functions of the above-mentioned embodiment are realized by executing the supplied program code by means of the computer but also the functions of the embodiment are realized by OS (operating system) running on the computer or in combination with other application, such program code is includes in an embodiment of the present invention. 
   Further, it should be noted that the present invention includes a concept that, after the supplied program code is written in a memory of a function expansion board inserted into the computer or a function expansion unit connected to the computer, a CPU of the function expansion board or of the function expansion unit executes the actual processing partially or totally on the basis of instruction of the program code to realize the functions of the embodiments.