Patent Publication Number: US-8994981-B2

Title: Calibration system

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     This application claims priority from Japanese Patent Application No. 2007-310337 filed Nov. 30, 2007. The entire content of this priority application is incorporated herein by reference. 
     TECHNICAL FIELD 
     The present invention relates to a calibration system for correcting density at high efficiency. 
     BACKGROUND 
     Various methods of performing a calibrating process have been proposed in order to correct density of an image formed by a printing apparatus such as a printer various calibrating processes for use in printers connected to a network have been proposed. 
     The calibrating process for correcting the density accompanies the consumption of toner and waste of time. Therefore, in a system having a plurality of printers connected to the network, it is preferable to acquire calibrating data from a specific printer, and use the acquired calibrating data for other printers. For example, Unexamined Japanese Patent Application Publication No. 2005-119011 describes a system in which calibrating data acquired from a specific printer is transmitted to another printer designated by a user. 
     In the system disclosed in Unexamined Japanese Patent Application Publication No. 2005-119011 the user needs to designate the printer from which the calibrating data should be acquired. The designation of the printer is troublesome for the user. 
     SUMMARY 
     In view of the foregoing, it is an object of the present invention to provide an improved calibration system which can increase the efficiency regarding the calibrating process. 
     In order to attain the above and other objects, the invention provides a calibration system including a plurality of printers, a grouping unit, a printer-selecting unit, a correction data acquiring unit, a group determining unit, and a print-data creating unit. A set of condition data is set for each printer. The grouping unit allocates each printer into either one of at least one group, based on the set of condition data for each printer. The printer-selecting unit selects, for each group, a printer among at least one printer belonging to the each group. The correction data acquiring unit acquires, for each group, one set of correction data created by the selected printer. The group determining unit determines one group, to which one of the printers that is desired to perform printing belongs. The print-data creating unit creates a set of print data based on the set of correction data corresponding to the determined group. 
     According to another aspect, the present invention provides a computer connectable to a plurality of printers, a set of condition data being set for each printer. The computer includes a grouping unit, a printer-selecting unit, a correction data acquiring unit, a group determining unit, and a print-data creating unit. The grouping unit allocates each printer into either one of at least one group, based on the set of condition data for each printer. The printer-selecting unit selects, for each group, a printer among at least one printer belonging to the each group. The correction data acquiring unit acquires, for each group, one set of correction data from the selected printer. The group determining unit determines one group, to which one of the printers that is desired to perform printing belongs. The print-data creating unit creates a set of print data based on the set of correction data corresponding to the determined group. 
     According to another aspect, the present invention provides a method executed by a computer connectable to a plurality of printers, a set of condition data being set for each printer. The method includes: allocating each printer into either one of at least one group, based on the set of condition data for each printer; selecting, for each group, a printer among at least one printer belonging to the each group; acquiring, for each group, one set of correction data from the selected printer; determining one group, to which one of the printers that is desired to perform printing belongs; and creating a set of print data based on the set of correction data corresponding to the determined group. 
     According to another aspect, the present invention provides a computer readable recording medium storing a set of program instructions executable on a computer connectable to a plurality of printers, a set of condition data being set for each printer. The program instructions includes: allocating each printer into either one of at least one group, based on the set of condition data for each printer; selecting, for each group, a printer among at least one printer belonging to the each group; acquiring, for each group, one set of correction data from the selected printer; determining one group, to which one of the printers that is desired to perform printing belongs; and creating a set of print data based on the set of correction data corresponding to the determined group. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The particular features and advantages of the invention as well as other objects will become apparent from the following description taken in connection with the accompanying drawings, in which: 
         FIG. 1  is a diagram showing an example of the configuration of a calibration system according to an embodiment of the present invention, the calibration system including a computer and a plurality of printers; 
         FIG. 2  is a diagram showing an example of the configuration of environment data; 
         FIG. 3  shows an example of the configuration of toner-using-state data; 
         FIG. 4  shows an example of the configuration of mechanism-characteristic data; 
         FIG. 5  is a flowchart explaining a calibrating process executed by a printer; 
         FIG. 6  is a diagram illustrating an example of density patches; 
         FIG. 7  is a diagram explaining how a density sensor is used to measure the density patches formed on a conveyor belt in the printer; 
         FIG. 8  is a graph representing a relation among input densities, measured densities and target densities; 
         FIG. 9  is diagram showing an example of a lookup table showing input densities and corrected input densities as density-correcting data; 
         FIG. 10  is a diagram showing an example of the data configuration of calibration result data; 
         FIG. 11  is a flowchart explaining a basic process executed by the computer; 
         FIG. 12  is a diagram showing how data is exchanged between the computer and the printers during a printer list creating process; 
         FIG. 13  is a flowchart explaining the printer list creating process performed by the computer; 
         FIG. 14  is a diagram showing an example of the configuration of printer-grouping data; 
         FIG. 15  is a diagram illustrating an example of the data configuration of printer list; 
         FIG. 16  is a diagram showing how data is exchanged between the computer and printers during a calibration result data list updating process; 
         FIG. 17  is a flowchart explaining the calibration result data list updating process executed by the computer; 
         FIG. 18  is a diagram showing an example of the data configuration of calibration result data list; 
         FIG. 19  is a diagram showing how data is exchanged between the computer and a printer during a printing process; 
         FIG. 20  is a flowchart explaining the printing process executed by the computer; 
         FIG. 21  is a diagram illustrating a relation between multilevel density values and binary data; 
         FIG. 22  is a diagram showing how data is exchanged between the computer and a printer during a calibration result data list updating process according to a modification of the embodiment; 
         FIG. 23  is a flowchart explaining the calibration result data list updating process using a round-robin scheme according to the modification; and 
         FIG. 24  is a flowchart explaining a calibration result data list updating process using a method of determining a printer in accordance with installation date according to the modification of the embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     A calibration system according to an embodiment of this invention will be described.  FIG. 1  is a diagram showing an example of the configuration of the calibration system. As shown in  FIG. 1 , the calibration system  1000  according to the embodiment includes a computer  1 , a plurality of printers  2 , and a relay apparatus  3 . 
     The relay apparatus  3  connects the printers  2  to the computer  1 . The computer  1  and each printer  2  function to exchange (transmit and receive) various data with each other. The method for exchanging the various sets of data between the computer  1  and each printer  2  will be described later. The computer  1  functions to execute various programs (will be described later). Specifically, the computer  1  includes a processor or CPU (not shown) that executes various programs and a computer-storing unit (also not shown) that is prestored with the various programs and is for storing various data. The various programs include: a program for a basic process shown in  FIG. 11 ; a program for a printer list creating process shown in  FIG. 13 ; a program for a calibration result data list updating process shown in  FIG. 17 ; and a program for a printing process shown in  FIG. 20 , all of which will be described later. The various data includes: printer-grouping data shown in  FIG. 14 ; a printer list shown in  FIG. 15 ; a calibration result data list shown in  FIG. 18 . 
     Each printer  2  includes a CPU (not shown) executing programs in response to an instruction received from the computer  1 , a printer-storing unit (also not shown) is prestored with programs and is for storing various data, and a printing unit that performs a printing operation in response to an instruction received from the CPU of the computer  1 . The programs include: a program for a calibrating process shown in  FIG. 5 . The various data includes: data representing an installation date when the subject printer  2  was installed in a manner as being usable in the calibration system  1000 ; environment data shown in  FIG. 2 ; toner-using-state data shown in  FIG. 3 : mechanism-characteristic data shown in  FIG. 4 ; test patch data; and calibration result data shown in  FIG. 10 . 
     Each printer  2  is configured to prepare the environment data as indicative of information on the environment of the printer, and will be used for allocating the printer into one of one or more groups to be described later.  FIG. 4  is a diagram showing an example of the configuration of environment data stored in the printers storing unit of each printer  2 . The printer-storing unit in each printer  2  stores, as environment data, an average temperature and an average humidity inside the printer  2  for the past one week. These numerical values have been acquired by using a thermometer and a hygrometer (not shown) provided in the printer  2 . The thermometer and hygrometer repeatedly measure the temperature and humidity inside the printer  2 , respectively, at preset time intervals (e.g., once a day, or once a few hours). It is noted that the items of the environment data are not limited to those shown in  FIG. 2 . For example, the printer  2  may store, as the environment data, an average temperature and an average humidity for each of a plurality of past periods. Further, the printer  2  may store parameters other than temperature and humidity. 
     Each of the computer  1  and the printers  2  has a set of identification data (e.g., IP address) identifying the subject device. In each printer  2 , the actual print density varies depending on: (1) how much toner has been used or how many sheets have been printed (toner-using state data); (2) what types of components, such as toner, photosensitive body, and a fixing device make up the printer (mechanical factor); and (3) the environmental factor such as temperature and humidity. 
     Each printer  2  stores the toner-using-state data in the printer-storing unit thereof.  FIG. 3  shows an example of configuration of the toner-using-state data. As shown in  FIG. 3 , the toner-using-state data for each printer  2  contains the number of sheets that the printer  2  has printed by using each type of toner. Each printer  2  updates the toner-using-state data every time the printer  2  executes the printing process. 
     Further, each printer  2  stores the mechanism-characteristic data in the printer-storing unit thereof.  FIG. 4  shows an example of the mechanism-characteristic data. As shown in  FIG. 4 , the mechanism-characteristic data for each printer contains version information of the respective components of the printer  2  (toner, photosensitive body and fixing device, in this example). The mechanism-characteristic data is not limited to the data shown in  FIG. 4 . For example, the mechanism-characteristic data may contain the version information of any other components of the printer  2 . Moreover, the mechanism-characteristic data may contain the model numbers, product numbers, etc. of the components of the printer  2 , instead of the version information thereof. 
     The amount of changes in print density can be formulated in terms or the toner consumption and in terms or the mechanical factors. 
     For example, the print density “Dp” that the printer  2  will actually obtain for each color of toner in response to the input density “D” indicative of a target print density can be formulated as follows dependently on the number of prints or copies “x” that the printer has attained:
 
 Dp=D +( ax+b )
 
     wherein numbers “a” and “b” are constant numbers. 
     So, in order to compensate for the toner-using state dependent change in the actual print density “Dp”,the input density “D” should be corrected into a corrected input density “D′” as follows:
 
 D′=D −( ax+b ).
 
     It is noted that equations other than the above-described equation may be used to formulate the print density in terms of the number of copies. 
     Print density changes resulting from mechanical factor is independent from the number of prints. The print density “Dp” that the printer  2  actually obtains in response to the input density “D” for each color of toner can be formulated by using the following equation:
 
 Dp=f ( D )
 
     where function “f” is determined based on the mechanism-characteristic data. 
     So, in order to compensate for the mechanism-factor-dependent change in the actual print density “Dp”, the input density “D” should be corrected into a corrected input density “D′” as follows:
 
 D′=f   −1 ( D )
 
     Contrarily, the amount of changes in the print density can hardly be formulated in terms of the environmental factor (temperature and humidity). Hence, each printer  2  has to perform a calibrating process to obtain the set of density-correcting data as correction data ( FIG. 9 ) that can correct the input density in order to compensate for the changes depending on the environmental factor. 
     Next, the calibrating process will be described in detail with reference to  FIGS. 5-10 . Each printer  2  stores the print patch data in the printer-storing unit thereof. The print patch data includes input densities “D” varying at 20%-intervals. Each printer  2  is configured to start the calibrating process, upon receiving an instruction to perform calibration from the computer X, the printer  2  performs the calibrating process and stores density-correcting data acquired in the calibrating process in the printer-storing unit thereof. 
     For example, the user can input to the computer  1  the instruction instructing his/her desired printer  2  to perform the calibrating process, at a prescribed timing. More precisely, the user operates an input unit (not shown) of the computer  1 . In response to the instruction input by the user, the computer  1  outputs, to the user&#39;s desired printer  2 , instruction signals instructing to perform the calibrating process. Alternatively, the user may directly operate an input unit in each printer  2 , thereby to instruct that the calibrating process be performed. Upon receiving the instruction, the user&#39;s desired printer  2  executes the calibrating process. By executing the calibrating process, the printer  2  creates a set of lookup tables (density-correcting data), and stores, in the printer-storing unit thereof, the density-correcting data together with creating-time data indicative of the date and time when the density-correcting data is created as shown in  FIG. 10 . The density-correcting data and the creating-time data serve as calibration result data. 
       FIG. 5  is a flowchart explaining the calibrating process performed by each printer  2 . When the calibrating process starts, in S 21 , the printer  2  reads the print patch data from the printer-storing unit thereof, corrects the print patch data to compensate for print-density changes resulting from the toner-using state and the mechanical characteristics of the printer, and forms density patches ( FIG. 6 ) on a recording medium conveyor belt provided in the printer  2  ( FIG. 7 ), based on the corrected print patch data. 
     More specifically, by using the toner-using-state data shown in  FIG. 3 , the printer  2  corrects, for each color, the input densities “D” in the print patch data into first corrected input densities “Dt” as follows:
 
 Dt=D −( ax+b ).
 
     Next, by using the mechanism-characteristic data shown in  FIG. 4 , the printer  2  corrects, for each color, the first corrected input densities “Dt” into second corrected input densities “Dm” as follows:
 
 Dm=f   − ( Dt ).
 
     The printer  2  forms density patches based on the second corrected input densities “Dm” for each color. 
     The printer  2  may form the density patches on a photosensitive body or an intermediate transfer belt provided in the printer  2 . Each density patch is of a rectangular shape and has a corresponding uniform density.  FIG. 6  is a diagram illustrating an example of the density patches. The density patches include four groups of density patches that are formed by four colors, i.e., cyan, magenta, yellow and black, respectively, each group having density patches whose original input densities “D” are each varying at 20%-intervals. The density patches may be another type of patches. 
     Returning to  FIG. 5 , the printer  2  measures densities of the density patches formed on the conveyor belt in S 22 . Specifically, a density sensor incorporated in the printer  2  is controlled to measure densities of the density patches as shown in  FIG. 7 .  FIG. 7  is a diagram explaining how the density sensor measures the densities of the density patches formed on the recording medium conveyor belt. 
     Returning to  FIG. 5 , in S 23  the printer  2  calculates, for each color, density-correcting data ( FIG. 9 ) that can compensate for differences between the densities actually detected by the sensor (as referred to “measured values”) and the desirable densities (as referred to “target values”). The density-correcting data can compensate for the changes in the print density, resulting from the environment in which the printer  2  is installed. 
     How the density-correcting data of  FIG. 9  are corrected for one color of toner will be explained in detail below.  FIG. 8  is a graph representing the relation between the original input densities “D” and actual print densities for the one color of toner. Specifically, the left half part of  FIG. 8  shows the relation between the original input densities “D” and the target densities, and the right half shows the relation between the original input densities “D” and the measured densities of the density patches. 
     In order to create the density-correcting data for each color of toner, the printer  2  determines first a density value supposed to be measured when each of all the input density values CEDE ranging from 0% to 100% is inputted, by interpolating the measured densities. For example, the printer  2  may interpolate the measured density values by using a spline interpolation, to thereby create the right half part of the graph of  FIG. 8 . 
     Then, the printer  2  compares, for each input density “D”, the target density value and the density value measured or supposed to be measured. Based on the result of this comparison, the printer  2  creates a lookup table shown in  FIG. 9  for converting the original input densities “D” into corrected densities. In the lookup table of  FIG. 9 , the corrected densities are set in one to one correspondence with the input densities “D” that are arranged at an interval of 1%. In the manner described above, the printer  2  creates a lookup table for each of all the colors of toner. The printer  2  sets the lookup tables for all the colors of toner as density-correcting data. 
     The left part of  FIG. 8  shows that the target density is 0.64 when the input density “D” is 40%. The right part of  FIG. 8  shows that the measured density is 0.64 when the input density “D” is 60%. So, the printer  2  creates the lookup table of  FIG. 9  convert or correct the input density “D” of 40% to 60%. 
     In the above description, the input density ranges from 0% to 100%. However, the input densities may be represented as numerical values in the range of 0 to 255, rather than in the range of 0 to 100%. 
     Returning to  FIG. 5 , the printer  2  stores the density-correcting data created in S 23 , in the printer-storing unit thereof, together with the creating-time data indicative of the date and time when the density-correcting data is created (S 24 ). Thus, the calibration result data is generated and stored in the printer-storing unit of the printer  2 .  FIG. 10  is a diagram showing an example of the data configuration of the calibration result data. As shown in  FIG. 10 , the calibration result data has a pair of data items of density-correcting data and creating-time data. The printer  2  sends the density-correcting data stored in the printer-storing unit to the computer  1  when the printer  2  receives from the computer  1  a request signal for the density-correcting data. 
     Next, the basic process executed by the computer  1  will be described below.  FIG. 11  is a flowchart explaining the basic process. This process is repeated at regular time intervals (for example, 20 ms). The basic process is configured of three sub-processes. The first sub-process is a process of creating a printer list shown in  FIG. 15  (S 1  and S 2 ). The second sub-process is a process for updating a density-correction parameter list shown in  FIG. 18  (S 3  and S 4 ). The third sub-process is a printing process (S 5  and S 6 ). 
     When the computer  1  starts the basic process, the computer  1  first determines whether a condition for starting the printer list creating process is satisfied in S 1 . The decision is made affirmative in S 1  when an instruction, instructing to start the printer list creating process, is issued from a prescribed process at a prescribed timing, or when a user of the computer  1  performs an operation to issue an instruction to start the printer list creating process. 
     If the computer  1  determines that the instruction for starting the printer list creating process is issued (S 1 : YES), the computer  1  performs the printer list creating process in S 2 . The printer list creating process will be described later in detail with reference to  FIGS. 12-15 . 
     On the other hand, if the computer  1  determines no instruction for starting the printer list creating process is issued (S 1 : NO), the process proceeds to S 3 . 
     In S 3 , the computer  1  determines whether the condition for starting the calibration result data list updating process is satisfied. The decision is made affirmative in S 3  when an instruction, instructing to start the calibration result data list updating process, is issued from a prescribed process at a prescribed timing or when the user performs an operation for issuing the instruction to start the calibration result data list updating process. 
     If the computer  1  determines that the instruction for starting the calibration result data list updating process is issued (S 3 : YES), the computer  1  performs the calibration result data list updating process in S 4 . The calibration result data list updating process will be described later in detail with reference to  FIGS. 16-18 . 
     On the other hand, if the computer  1  determines that no instruction for starting the calibration result data list updating process is issued (S 3 : NO), the process proceeds to S 5 . 
     In S 5 , the computer  1  determines whether a condition for starting the printing process is satisfied. The decision is made affirmative in S 5  when an instruction, instructing to start the printing process, is issued from a prescribed process at a prescribed timing. The decision is also made affirmative when the user performs an operation for issuing the instruction to perform the printing process. 
     If the computer  1  determines that an instruction for starting the printing process is issued (S 5 : YES), the computer  1  performs the printing process in S 6 . The printing process will be described later in detail with reference to  FIGS. 19-21 . 
     On the other hand, if the computer  1  determines that no instruction for starting the printing process is issued (S 5 : NO), the computer  1  ends the basic process. 
     Next, the printer list creating process performed by the computer  1  in S 2  will be described in detail with reference to  FIGS. 12-15 . 
       FIG. 12  is a diagram explaining how data is exchanged between the computer  1  and each printer  2  during the printer list creating process. It will be assumed that two printers A and B are connected to the computer  1  in the case shown in  FIG. 12 . 
     The computer  1  outputs, to each of the printers A and B, request signals requesting the printer to send to the computer  1  environment data ( FIG. 2 ) that is stored in the printer-storing unit of the printer (STAGE  1  and STAGE  4 ). In this embodiment the computer  1  transmits the request signals to printer A (STAGE  1 ), before the computer  1  transmits the request signals to printer B (STAGE  4 ). However, the computer  1  may simultaneously transmit the request signals to all the printers  2  connected to the computer  1 . 
     Upon receiving the request signals, each printer A or B transmits, to the computer  1 , the environment data of  FIG. 2  stored in the printer-storing unit provided therein (STAGE  2  and STAGE  5 ). 
     On, receiving the environment data from the printer A or printer B, the computer  1  updates the printer-grouping data (STAGE  3  or STAGE  6 ). The printer-grouping data is indicative of information on the environments of all the printers  2  connected to the computer  1 , and is used for dividing all the printers into one or more groups. 
       FIG. 14  is a diagram showing an example of the configuration of the printer-grouping data. As shown in  FIG. 14 , the computer  1  stores, in the form of a list, the environment data received from the respective printers  2 , thereby updating the printer-grouping data. It is noted that the items of the printer-grouping data are not limited to those shown in  FIG. 14 . That is, the computer  1  may store, as the printer-grouping data, various data items other than the temperature and humidity in association with each printer  2 . 
     Returning to  FIG. 12 , after receiving the environment data from all the printers  2  connected to the computer  1  and updating the printer-grouping data based on the received environment data, the computer  1  creates the printer list shown in  FIG. 15  described later (STAGE  7 ). 
     The printer list creating process executed by the computer  1  will be described with reference to  FIG. 13 . When the computer  1  starts the printer list creating process of S 2 , the computer  1  first recognizes in S 11  all the printers  2  that are presently being connected to the computer  1 . Instead, the computer  2  may recognize all the printers  2  that are being connected to the computer  1  when the computer  1  is started. Or, the computer  1  may continuously monitor all the printers  2  that are being connected to the computer  1 . Alternatively, the computer  1  may store a list of the printers  2  connected to the computer  1  in a particular printer-staring unit provided therein, and may refer to this list in S 11 . 
     In S 12 , the computer  1  transmits, to one of the recognized printers  2 , a request signal requesting the printer  2  to send environment data ( FIG. 2 ) to the computer  1 . On receiving the request signal, the printer  2  transmits its own environment data, to the computer  1 . In S 13 , the computer  1  receives the environment data from the printer  2 . 
     In S 14 , the computer  1  updates the printer-grouping data ( FIG. 14 ) based on the environment data received from the printer  2 . For example, when the computer  1  receives environment data from the printer A, the computer  1  updates the temperature and humidity data items that are contained in the printer-grouping data in association with the printer A. If the computer  1  has not yet created the printer-grouping data of  FIG. 14 , the computer  1  creates the printer-grouping data in S 14 . 
     In S 15 , the computer  1  determines whether the computer  1  has requested all printers recognized in S 11  for the environment data. If the computer  1  has not yet requested all printers recognized in S 11  for the environment data (S 15 : NO), the computer  1  returns to S 12 , after determining which printer  2  the computer  1  should request for the environment data next. 
     If the computer  1  has requested all printers recognized in S 11  for the environment data (S 35 : YES), the process proceeds to S 16 . 
     In S 16 , the computer  1  creates the printer list based on the printer-grouping data updated in S 14 . After creating the printer list, the program proceeds to S 3  ( FIG. 11 ).  FIG. 15  is a diagram illustrating an example of data configuration of the printer list. 
     In the printer list shown  FIG. 15 , unique printer numbers  1 - 6  are allocated to the respective printers A-F connected to the computer  1 . Further, printer names and installation dates of the printers A-F are stored in the printer list, as printer information. The installation date for each printer  2  indicates the date when the subject printer  2  became usable in the calibration system  1000 . It is noted that each printer  2  stores therein the data representing its installation date. Each printer  2  sends the data representing its own installation date to the computer  1  at a prescribed timing. For example, each printer  2  may transmit to the computer  1  in STAGE  2  or STAGE  5  shown in  FIG. 3  the data representing its own installation date together with the environment data. 
     A plurality of groups are defined in one to one correspondence with a plurality of ranges for a combination of temperature and humidity. Among all the printers, those printers, whose temperature and humidity fall within the same range among the plurality of ranges, are set as forming a corresponding one of the plurality of groups. To each group, an environment ID identifying the corresponding range is assigned. In the example of  FIG. 15 , the same environment ID “A” is assigned to printers A, B and F, which are regarded as being in the same environment. Likewise, the same environment ID “B” is assigned to printers C, D and E, which are regarded as being in the same environment. Furthermore, environment printer numbers are allocated to respective printers  2  in each group to identify the printers in the same group. In the example of  FIG. 15 , the environment printer numbers “ 1 ”, “ 2 ”, and “ 3 ” are assigned respectively to the printers A, B, and F in the environment with the environment ID “A”. The environment printer numbers “ 1 ”, “ 2 ”, and “ 3 ” are assigned respectively to the printers C, D, and E in the environment with the environment ID “B”. 
     The range of temperature and the range of humidity, which are associated with each environment, can be set arbitrarily. 
     As described above, in the printer list creating process, the printers  2  are divided into one or more groups in accordance with the environment in which the printers  2  are installed as described above. According to the embodiment, the printers  2  having the same or similar environmental factor (temperature and humidity) are grouped into the same group so that the printers belonging to the same group can share the same density-correcting data. The printer-grouping data ( FIG. 14 ) may include the model numbers of the printers and/or the model numbers or the product numbers of the printer components that make up the printers, for example. The printers  2  may be divided into a larger number of groups in accordance with not only the environments but also the model numbers of the printers  2  and/or the model numbers or the product numbers of the printer components. 
     Next, the calibration result data list updating process of S 4  ( FIG. 11 ) will be described in detail with reference to  FIGS. 16-18 . 
       FIG. 16  is a diagram showing how data is exchanged between the computer  1  and the printers  2  (printers A and B) during the calibration result data list updating process. 
     In the calibration result data list updating process, the computer  1  acquires the calibrating result data ( FIG. 15 ) stored in all the printers  2 , and updates the calibration result data list ( FIG. 16 ) based on the calibrating result data acquired from the printers  2 . 
       FIG. 16  is a diagram showing an example of data configuration of the calibration result data list stored in the computer-storing unit provided in the computer  1 . As shown in  FIG. 18 , the calibration result data list contains, for each of the environment IDs: the calibration result data (data of the density-correcting data and the creating-time data of the density-correcting data); the name of the source printer  2  that has transmitted the calibration result data; and the environment printer number of the source printer  2 . 
     As shown in  FIG. 16 , the computer  1  outputs request signals to the printers A and B, requesting the printers to send the computer  1  the calibration result data stored in the printers A and B (STAGES  21  and STAGS  24 ). 
     On receiving the request signal, each of the printers A and B transmits to the computer  1  the calibrating result data of  FIG. 10  (STAGE  22  and STAGE  25 ). 
     On receiving data of the calibration result data from the printer A or B, the computer  1  updates selectively the calibration result data list of  FIG. 18  (STAGE  23  and STAGE  26 ). 
     Next, the calibration result data list updating process executed by the computer  1  will be described with reference to the flowchart of  FIG. 17 . By performing this process, the computer  1  determines, as a common density-correcting data for all the printers  2  belonging to each group (environment), one set of density-correcting data that has been created latest among all the density-correcting data that have been created through the calibrating processes executed in those printers  2  that belong to the subject group. 
     In S 31 , the computer  1  sets one environment ID (group), for which the density-correcting data should be updated, by referring to the printer list of  FIG. 15 . In the example of the printer list shown in  FIG. 15 , the computer  1  sets the environment ID “A” or “B”. 
     In S 32 , the computer  1  sets one printer among all the printers listed in the printer list of  FIG. 15 . In the printer list shown in  FIG. 15 , the computer  1  sets the printer by using its printer number. For example, the computer  1  successively sets all the six printers A through F in this order corresponding to the order of the printer numbers “ 1 ” through “ 6 ”, while repeating the processes S 32 -S 39  to be described later. 
     In S 33 , the computer  1  determines whether the environment ID for the printer  2  set in S 32  is identical to the environment ID set in S 31 . If the environment ID for the printer set in S 32  is identical to the environment ID set in S 31  (S 33 : YES), the process proceeds to S 34 . If the environment ID for the printer set in S 32  is different from the environment ID determined in S 31  (S 33 : NO), the process proceeds to S 39 . 
     In S 34 , the computer  1  transmits, to the printer  2  set in s 32 , a request signal requesting for the density-correcting data. Upon receiving the request signal, the printer  2  transmits to the computer  1  the calibration result data ( FIG. 10 ) stored therein. In S 35 , the computer  1  receives the calibration result data transmitted from the printer  2 . 
     In S 36 , the computer  1  compares the creating date and time indicated by the creating time-data included in the calibration result data received in S 35  with the creating data and time indicated by the creating-time data stored in the calibration result data list in correspondence with the environment ID set in S 31 . 
     In S 37 , the computer  1  determines whether the density-correcting data in the calibration result data that has been just received from the printer  2  was created later than the density-correcting data stored in the calibration result data list for the environment ID set in S 31 . If the computer  1  determines that the density-correcting data that has been just received was created later (S 37 : YES), the process proceeds to S 38 . If the computer  1  determines that the density-correcting data was not created later (S 37 : NO), the process jumps to S 39 . 
     In S 38 , the computer  1  updates the calibration result data list of  FIG. 18 . More specifically, the computer  1  updates, with the calibration result data received in S 35 , the calibration result date stored in the calibration result data list for the environment ID set in S 31 . The computer  1  further updates, with the printer name and the environment printer number of the source printer  2  set in S 32 , the printer name and the environment printer number stored in the calibration result data list for the environment ID set in S 31 . 
     In S 39 , the computer  1  determines whether the process has been performed for all printers in the printer list shown in  FIG. 15 . If the process has been performed for all printers (S 39 : YES), the process proceeds to S 40 . If the process has not yet been performed for all printers (S 39 : NO), the process returns to S 32  to set the next printer for which the process should be performed. 
     In S 40 , the computer  1  determines whether the process has been performed for all environments. If the computer  1  determines that the process has been performed for all environments (S 40 : YES), the computer  1  ends the calibration result data list updating process. If the computer  1  determines that the process has not yet been performed for all environments (S 40 , NO), the process returns to S 31  to set the next environment for which the process should be performed. 
     Next, the printing process performed by the computer  1  in S 6  of  FIG. 11  will be described with reference to  FIGS. 19-21 .  FIG. 19  is a diagram showing how data is exchanged between the computer  1  and the printer A in the printing process when the user desires to use the printer A to print data. 
     The computer  1  transmits a request signal requesting the printer A to send toner-using-state data ( FIG. 3 ) to computer  1  (STAGE  31 ). On receiving this request signal, the printer A transmits toner-using-state data to the computer  1  (STAGE  32 ). On receiving the toner-using-state data from the printer A, the computer  1  stores the toner-using-state data in the computer-storing unit thereof (STAGE  33 ). 
     Next, the computer  1  transmits, to the printer A, a request signal requesting the printer A to send mechanism-characteristic data ( FIG. 4 ) to the computer  1  (STAGE  34 ). In response to this request signal, the printer A transmits mechanism-characteristic data to the computer  1  (STAGE  35 ). Upon receiving the mechanism-characteristic data from the printer A, the computer  1  stores the mechanism-characteristic data in the printer-storing unit thereof (STAGE  36 ). 
     After acquiring the toner-using-state data and the mechanism-characteristic data from the printer A, the computer  1  generates binary data based on image data by using the toner-using-state data and the mechanism-characteristic data acquired from printer A, and by using the density-correcting data that is for the group, to which the printer A belongs, and that has been selectively updated in S 4  of  FIG. 11  (STAGE  37 ). The process of generating the binary data will be described later in detail. 
     The computer  1  transmits the binary data to the printer A (STAGE  38 ). The printer A performs printing based on the binary data received from the computer  1  (STAGE  39 ). 
     The printing process of SE executed by the computer  1  will be described below with reference to the flowchart of  FIG. 20 . 
     In S 61 , the computer  1  transmits a request signal requesting for toner-using-state data to the printer  2  that the user desires to use to perform the printing process (which will be referred to as “the user&#39;s desired printer  2 ” hereinafter). On receiving this request signal, the user&#39;s desired printer  2  transmits the toner-using-state data to the computer  1 . 
     In S 62 , the computer  1  receives the toner-using-state data transmitted from the printer  2  and stores the toner-using-state data in the computer-storing unit of the computer  1 . 
     In S 63 , the printer  1  transmits a request signal requesting for mechanism-characteristic data to the user&#39;s desired printer  2 . In response to this request signal, the printer  2  transmits the mechanism-characteristic data to the computer  1 . 
     In S 64 , the computer  1  receives the mechanisms characteristic data transmitted from the printer  2  and stores the mechanism-characteristic data in the computer-storing unit of the computer  1 . 
     In S 65 , the computer  1  performs a color-converting process for creating print data based on image data. Specifically, the computer  1  determines relation between the color space defined in the computer  1  (RGB space, for example) and the color space defined in the printer  2  (CMYK space, for example) by using a color profile. For example, the computer  1  converts an RGB-pixel value (=255, 0, 0) (image data) to a CMYK-pixel value (=0, 220, 133, 0) (print data). Thus, the print data includes input densities “D” for each color of cyan, magenta, yellow, and black. 
     In S 66 , the computer  1  corrects the print date (CMYK input densities) created in S 65  based on the toner-using-state data acquired in S 62  in order to compensate for the toner-using state dependent change in the print density. Specifically, the computer  1  corrects, for each color, the input densities “D” indicative of the target density into first corrected input densities “Dt” as follows.
 
 Dt=D −( ax+b )
 
     In S 67 , the computer  1  further corrects the first corrected input densities “Dt” obtained in S 66  based on the mechanism-characteristic data ( FIG. 4 ). Specifically, the computer  1  correct-s each first corrected input density “Dt” into a second corrected input density “Dm” as follows:
 
 Dm=f   −1 ( Dt )
 
     By virtue of the corrections effected in S 66  and S 67 , CMYK-pixel value (=0, 220, 133, 0) is converted to CMYK-pixel value (=0, 230, 140, 0), for example. 
     In S 68 , the computer  1  refers to the printer list ( FIG. 15 ) to identify the environment ID of the group, to which the user&#39;s desired printer  2  belongs. Thus, the computer  1  refers to the calibration result data list ( FIG. 18 ), and identifies one set of density-correcting data for the environment ID of the environmental group, to which belongs the user&#39;s desired printer  2 . 
     In S 69 , the computer  1  corrects the second corrected input densities “Dm” obtained in S 67 , based on the density-correcting data identified in S 68 . For example, if the density-correcting parameter set identified in S 68  includes the lookup table as shown in  FIG. 9  for one color and if the second corrected input density “Dm” for one pixel for the subject color is 102 (=40%), the second corrected input density “Dm” is corrected into 153 (−60%). 
     In S 70 , the computer  1  performs a data-converting process to create binary data based on the corrected print data obtained in S 69 . Specifically, the computer  1  converts the corrected print data indicating the tone level in each color to binary data indicative of the tone level in terms of area gradation. Specifically, the computer  1  creates the binary data that represents a high-density region by arranging dots with a high density and a low-density region by arranging dots with a low-density. 
       FIG. 21  is a diagram illustrating the relation between density values and binary data. The corrected print data indicative of the density value of area A is converted into binary data indicating that the area A should be formed by printing dots in the entire part of the area A. The corrected print data indicative of the density value of area B is converted into binary data indicating that the area B should be formed by printing dots in some part of the area B. The corrected print data indicative of the density value of area C is converted into binary data indicating that the area C should be formed by printing dots in some part of the area C. As shown in  FIG. 21 , the density value of area A is higher than the density value of area B, which in turn is higher than density value of area C. The dot density in the area A is higher than the dot density in the area  8 , which in turn is higher than the dot density in the area C. 
     Returning to  FIG. 20 , in S 71  the computer  1  transmits, to the printer  2 , the binary data converted in S 70 . On receiving the binary data, the printer  2  prints an image based on the binary data received from the computer  1 . 
     In the calibration result data list updating process, the computer  1  can determine the density-correcting data for each environment (group), based on the calibration result data transmitted from the respective printers  2 , without newly performing the calibrating process. Thus, each printer can improve the quality of images to be formed, by utilizing the density-correcting data created in another printer belonging to the same environment, without newly executing the calibrating process. 
     While the invention has been described in detail with reference to the embodiment described above, it would be apparent to those skilled in the art that various changes and modifications may be made therein without departing from the spirit of the invention. 
     For example, the calibration system  1000  of  FIG. 1  includes only one computer  1 , but may include a plurality of computers. In this case, the plurality of computers may perform a decentralized process. 
     Further, any printer  2  may perform some or all of the various processes that the computer  1  performs. That is, any printer  2  may operate as a computer if the printer  2  has a processor that can execute a specific program and a printer-storing unit that can store various data temporarily or permanently. Moreover, an external apparatus connected to the calibration system  1000  by a network may perform some or all of the processes the computer  1  performs. Further, the system  1000  may employ a processor or a memory, or both, designed for practicing the embodiment, rather than the general-purpose computer  1 . 
     Further, the flowcharts described above are no more than examples. The processes may be performed in any other ways than those explained with reference to the flowcharts. 
     Next, the calibration result data list updating process of S 4  in  FIG. 11  may be modified as described below. During the calibration result data list updating process of S 4  in the embodiment described above, the computer  1  outputs instruction signals to all printers  2  to send the density-correcting data stored therein, rather than to cause the printers  2  to newly perform a calibrating process. During the calibration result data list updating process of S 4  according to the modification, the computer  1  outputs an instruction signal to only a single selected printer  2 , causing the printer  2  to newly perform a calibration. 
       FIG. 22  is a diagram depicting how data is exchanged between the computer  1  and the printers  2  in the calibration result data list updating process of the modification. It will be assumed that two printers A and B are connected to the computer  1  in the case shown in  FIG. 22 . Further, it will be assumed that the printers A and B are set in the same environment group. 
     The computer  1  determines a printer  2  in which calibrating process should be performed. Examples of a method for determining the printer  2  to perform calibration includes: a method of using a round-robin scheme and another method of using the date when the printer  2  was installed in the calibration system  1000 . 
     In the example of  FIG. 22 , the computer  1  determines the printer A as the printer in which to perform calibrating process (STAGE  41 ). The computer  1  transmits to the printer A an instruction signal to instruct the printer A to perform calibrating process (STAGE  42 ). On receiving the instruction signal, the printer A performs calibrating process (STAGE  43 ). 
     After finishing the calibrating process, the printer A transmits a notification signal to the computer  1 , informing the computer  1  of the completion of the calibrating process (STAGE  44 ). 
     Upon receiving the notification signal, the computer  1  transmits a request signal to the printer A, requesting the printer A to send a newly-determined density-correcting data to the computer  1  (STAGE  45 ). 
     On receiving the request signal, the printer A transmits the density-correcting data to the computer  1  (STAGE  46 ). 
     Using the density-correcting data received, the computer  1  updates the calibration result data list (STAGE  47 ). 
     In this modification, a printer  2  to perform calibration is determined by using a round-robin scheme.  FIG. 23  is a flowchart explaining the calibration result data list updating process that uses the round-robin scheme. 
     First, in S 81 , the computer  1  sets an environment for which the density-correcting data should be updated, by using the environment ID contained in the calibration result data list. In the example of  FIG. 18 , the computer  1  sets environment ID “A” or “B”. 
     In S 82 , the computer  1  identifies the printer  2  that belongs to a group of the environment set in S 81  and that has performed a calibrating process latest among all the printers belonging to the group of the environment. The computer  1  determines the printer by referring to the environment printer number contained in the calibration result data list of  FIG. 18 . If no printer has performed the calibrating process yet, the computer  2  sets, according to a prescribed method, one among the printers belonging to the group of the environment set in S 81 . 
     In S 83 , the computer  1  determines a printer  2  in which to perform the calibrating process. For example, the computer  1  determines, as the printer  2  in which the calibrating process should be performed, a printer whose environment printer number is equal to a new environment printer number that is obtained by incrementing the environment printer number acquired in S 82  by 1. If the new environment printer number exceeds a prescribed maximum environment printer number for the environment in question, the computer  1  resets the new environment printer number to “1”, and determines a printer whose environment printer number is equal to “1” as one in which to perform a calibrating process. 
     In S 84 , the computer  1  transmits, to the printer  2  determined in S 83 , an instruction signal instructing to perform the calibrating process. On receiving the instruction signal, the printer  2  performs the calibrating process shown in  FIG. 15 . 
     In S 85 , the computer  1  determines whether the printer  2  has completed the calibrating process. Thus, the process remains at S 85  until the printer  2  finishes the calibrating process. If the computer  1  determines that the calibrating process has been completed (S 85 : YES), the process proceeds to S 86 . It is noted that the computer  1  determines that the calibrating process has been completed when the computer  1  receives, from the printer  2 , a notification signal showing the completion of the calibrating process. Upon finishing the calibrating process, the printer  2  transmits the notification signal to the computer  1  and stores the calibration result data ( FIG. 10 ) determined through the calibrating process in the printer-storing unit of the printer  2 . 
     In S 66 , the computer  1  transmits a request signal requesting for the density-correcting data ( FIG. 10 ) to the printer  2  which the computer  1  has instructed to perform the calibrating process. On receiving this request signal, the printer  2  transmits, to the computer  1 , the density-correcting data stored in the computer-storing unit together with data representing the creating-time data when the printer  2  created the density-correcting data. Thus, the printer  2  transmits the calibration result data. 
     In S 87 , the computer  1  receives the calibration result data transmitted from the printer  2 . In S 88 , the computer  1  updates the calibration result data list ( FIG. 18 ) in the computer-storing unit of the computer  1  based on the calibration result data received from the printer  2 . 
     In S 89 , the computer  1  determines whether the calibration result data list has been updated for all the environments set in the calibration result data list. If the computer  1  determines that the calibration result data list has been updated for all environments (S 89 : YES), the computer  1  ends the calibration result data list updating process. If the computer  1  determines that the calibration result data list has not yet been updated for all environments (S 89 : NO), the computer  1  returns to S 81  to set an environment in which the density-correcting data should be updated next. 
     The calibration result data list updating process shown in  FIG. 23  may be performed when a specific condition is satisfied. For example, the computer  1  may refer to the calibration result data list shown in  FIG. 18  and determine such an environment ID, for which the difference between the present time and the creating time of the density-correcting data is greater than a prescribed value. The computer  1  performs the calibration result data list updating process, only for the determined environment ID. 
     The computer  1  may not update the calibration result data list for all environments each time. The computer  1  may update the density-correcting data only for an environment designated by user. 
     In the modification, since all printers need not perform the calibrating process, the computer  1  can reduce the cost required to perform the calibrating process. 
     Further, if the computer  1  performs the calibration result data list updating process at predetermined time intervals, all the printers belonging to one group sequentially perform the calibrating process. Therefore, instructions for the calibrating process will not concentrate on the same printer. Hence, no printer will keep using density-correcting data that are obtained in another printer. Therefore, print density errors that will possibly occur by using density-correcting data determined in other printers will be dispersed among the printers of the group. 
     Next, a calibration result data list updating process that uses a method of determining a printer  2  in accordance with the date when the printer  2  was installed will be described.  FIG. 24  is a flowchart explaining a calibration result data list updating process performed by the computer  1 , in which the computer  1  determines a printer in which to perform the calibrating process based on the installation dates of the printers  2 . 
     First, in S 91 , the computer  1  sets an environment in which to perform the calibrating process by using the environment ID in the calibration result data list shown in  FIG. 18 . In the example of  FIG. 18 , the computer  1  sets either the environment ID “A” or “B”. 
     In S 92 , the computer  1  determines one printer that belongs to a group of the environment set in S 91  by using, for example, an environment printer number in the printer list shown in  FIG. 15 . That is, the computer  1  is identifies one printer whose environment printer number is equal to environment printer number “a” for the environment set in S 91 . When the computer  1  performs the process of S 92  for the first time, the computer  2 , initializes the environment printer number “a” to “1”. So, the computer  1  initially identifies a printer  2  that belongs to the group of the environment set in S 91  and that has the environment printer number “a” (=“1”). 
     In S 93 , the computer  1  acquires the installation date “d” of the printer  2  identified in S 92 , by referring to the printer list shown in  FIG. 15 . 
     In S 94 , the computer  1  compares an installation date “t” that is temporarily stored in the computer  1  with the installation date “d” acquired in S 93 . The installation date “t” is initially set to such a date that is supposed to be earlier than a date when the calibration result data list updating process will be executed for the first time. For example, “Jan. 1, 1980” is set to the installation date “t” as the initial value. 
     In  595 , the computer  1  determines whether the installation date “d” is later than the installation date “t”. If the computer  1  determines that the installation date “d” is later than the installation date “t” (S 95 ; YES), the process proceeds to S 96 . If the computer  1  determines that the installation date “d” is not later than the installation date “t” (S 95 : NO), the process jumps to S 97 . 
     In S 96 , the computer  1  sets the installation date “d” to the installation date “t”. The computer  1  sets the environment printer number “a” to a variable “x.” 
     In S 97  the computer  1  determines whether the process of S 92 -S 96  has been performed for all printers in the environment (group) set in S 91 . If the computer  1  determines that the process has been performed for all printers in the environment (S 97 : YES), the process proceeds to S 98 . At this time, the installation date “t” has been updated to the installation date latest among the installation dates of all the printers  2  belonging to the environment (group). If the computer  1  determines that the process has not been performed for all printers in the environment (S 97 : NO), the computer  1  returns to S 92  to determine a printer which belongs to the environment set in S 91  and whose environment printer number is equal to a result obtained by adding “1” to the current environment printer number “a.” 
     In S 98 , the computer  1  transmits, to the printer whose environment printer number is “x”, an instruction signal instructing to perform a calibrating process. 
     The process remains at S 99  until the printer with the environmental printer number “x” finishes the calibrating process. If the computer  1  determines that the calibrating process has been completed (S 99 : YES), the process proceeds to S 100 . The computer  1  determines whether the calibrating process has been completed in accordance with whether the printer  2  has transmitted to the computer  1  a notification signal showing the completion of the calibrating process. It is noted that upon finishing the calibrating process, the printer  2  transmits the notification signal to the computer  1  and stores the density-correcting data ( FIG. 10 ) in the printer-storing unit of the printer  2 . 
     In S 100 , the computer  1  transmits a request signal requesting for the density-correcting data to the printer  2  that the computer  1  instructed to perform the calibrating process. On receiving this request signal, the printer  2  transmits, to the computer  1 , the calibration result data stored in the printer-storing unit of the printer  2 . 
     In S 101 , the computer  1  receives the calibration result data from the printer  2 . In S 102 , the computer  1  updates the calibration result data list based on the calibration result data received from the printer  2 . 
     In S 103 , the computer  1  determines whether the calibration result data list has been updated for all environments. If the computer  1  determines that the calibration result data list has been updated for all environments (S 103 : YES), the computer  1  ends the calibration result data list updating process. If the computer  1  determines that the calibration result data list has not yet been updated for all environments (S 103 : NO), the computer  1  returns to S 91  to set an environment for which the calibration result data list should be updated next. 
     In the calibration result data list updating process of this modification, for each environment, the printer  2  whose installation date is the latest among all the printers in the environment is selected to perform a calibrating process. Hence, for each environment, a density-correcting data that is obtained by a printer that is supposed to be most unlikely influenced with changes across the ages can be used for all the printers in the group. This can reduce the total print density errors occurred by the printers belonging to the same group. 
     In the case shown in  FIG. 22 , in response to the request signal, the printer A transmits the density-correcting data after transmitting the notification signal, informing the computer  1  of the completion of calibrating process. However, the printer A may transmit the density-correcting data together with the notification signal. Alternatively, the printer A may transmit to the computer  1  the density-correcting data only, but not transmit the notification signal to the computer  1 .