Abstract:
An image processing apparatus receives print data from a print data source through a connection section connected to a network, interprets the language of the received print data and develops the data, and creates a first image data from the developed print data. The apparatus reads an image from a document to be copied, and creates a second image data. The apparatus compresses and temporarily stores at least one of the first and second image data. The apparatus transfers the stored compressed data to an image forming unit connected to the network.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to an image processing apparatus, which obtains information necessary to disperse the load from another image forming apparatus connected to a network, and disperses the load based on the obtained information.  
           [0003]    2. Description of the Related Art  
           [0004]    In recent years, many offices build up a system in which a plurality of computers (PC) and multifunction peripherals (MFP) having the printing and copying functions are connected to a network.  
           [0005]    Such a system is provided with a control unit (monitor server) to control the load by the data transferred through the network. This control unit performs the following operations, for example, to disperse the load. When image data is transmitted from a certain PC to an MFP but the MFP is busy, the control unit transfers the data to another MFP.  
           [0006]    As the above-mentioned system needs a control unit to disperse the load, the system cost is increased by the control unit. Further, as the control unit executes centralized load control, it becomes impossible to disperse the load from the MFP connected to the network.  
           [0007]    Therefore, there is need for an image processing apparatus, which requires no control unit to disperse the load on the network, obtains independently necessary information from other units connected to the network, and disperses the load based on the obtained information.  
         BRIEF SUMMARY OF THE INVENTION  
         [0008]    According to an aspect of the present invention, there is provided an image processing apparatus which receives print data from a print data source through a connection section connected to a network, interprets the language of the received print data and develop the data, and generates a first image data from the developed print data. The apparatus reads an image from a copy document and generates a second image data. The apparatus compresses at least one image data of the first and second image data, and stores it temporarily. The apparatus transfers the stored compressed data to an image forming unit connected to the network.  
           [0009]    Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out hereinafter.  
       
    
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING  
       [0010]    The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate an embodiment of the invention, and together with the general description given above and the detailed description of the embodiment given below, serve to explain the principles of the invention.  
         [0011]    [0011]FIG. 1 is a schematic block diagram showing a configuration of a whole system of a network and MFP in an embodiment of the present invention;  
         [0012]    [0012]FIG. 2 is a diagram showing the flow of data;  
         [0013]    [0013]FIG. 3A is a flowchart showing the first half of image data transfer process;  
         [0014]    [0014]FIG. 3B is a flowchart showing the latter half of image data transfer process; and  
         [0015]    [0015]FIG. 4 is a flowchart showing a process of calculating the transfer number of prints or copies. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0016]    An embodiment of the present invention will be described hereinafter with reference to the accompanied drawings. Description will be given to the case where the present invention is applied to a multifunction peripherals (MFP)  1 .  
         [0017]    [0017]FIG. 1 shows a system in which MFP  1  is communicably connected via a network  5  to a PC  2 , another plurality of MFP  3  and a device  4  having a printing function.  
         [0018]    The MFP  1  roughly comprises a CPU  11 , a ROM  12 , a RAM  13 , an information memory section  14 , an image memory section  15 , a data compressing section  16 , a data extending section  17 , an operation section  18 , a display section  19 , a scanner section  20  as an image reader section, a printer section  21 , a clock section  22 , a communication section  23  and a network interface  24 . The CPU  11  is connected via a bus line  25  to the ROM  12 , RAM  13 , information memory section  14 , image memory section  15 , data compressing section  16 , data extending section  17 , operation section  18 , display section  19 , scanner section  20 , printer section  21 , clock section  22 , communication section  23  and interface  24  as a network connection section.  
         [0019]    The CPU  11  realizes the function as MFP  1  by executing the control operation to generally control each section based on the control program stored in the ROM  12 . The ROM  12  stores the control program of CPU  11 . The RAM  13  is used by the CPU  11  as a work area to execute various operations.  
         [0020]    The information memory section  14  consists of a flash memory, for example. The information memory section  14  includes a print number setting section  141  and a transfer destination setting section  142 . The print number setting section  141  stores the number of prints used to decide whether the number of copies or prints is high or not. The transfer destination setting section  142  stores the automatic transfer data to decide whether to automatically transfer the temporarily held image data when an error occurs in the MFP  1 , and stores the transfer destination unit when the automatic transfer is set. The image memory section  15  consists of a large capacity DRAM or a hard disk drive, for example. The image memory section  15  temporarily stores the received image data and the image data waiting for transmission.  
         [0021]    The data compressing section  16  encodes the image data to compress the redundancy. The data extending section  17  extends the image data encoded to compress the redundancy. The scanner section  20  reads the document sent from a not-shown automatic document feeder (ADF). The scanner section  20  also generates the image data of the document from the read image. The printer section  21  forms an image on paper based on the image data generated by the scanner section  20  or the image indicated by the print data received through the network interface  24 .  
         [0022]    The communication section  23  consists of a not-shown modem, an NCU, a telephone control section and a line signal detection section. The communication section  23  is connected with a PSTN subscriber telephone line  27  contained in a PSTN  26 . The network interface  24  is connected to the network  5  via a line  28 . Therefore, the MFP  1  can communicate with the PC  2 , a plurality of MFP  3  and the device  4  having the printing function.  
         [0023]    The operation section  18  accepts various user commands input to the CPU  11 . The display section  19  displays various information to be notified to the user under the control of CPU  11 . By operating the operation section  18 , the user can set the MFP  1  so that it executes the following functions. The user can set various colors representing of copy functions, such as full-color copy function, monochrome/full-color function, three-color copy function and twin-color copy function. The user can set the magnification/reduction rate, printable paper size and type, number of prints, double-side printing function, sorting function, stapling function, middle-stitching function and Nin1 function. The double-side printing function, sorting function and stapling function cannot be used if the respective optional units are not provided. Further, by operating the operation section  18 , the user can set the number of prints stored in the information memory section  14 , the automatic transfer and the transfer destination unit. The clock section  22  always ticks and output the current time information showing the current time, and counts the preset time under the control of CPU  11 .  
         [0024]    Description will now be given of the copy function of MFP  1  configured as above described, i.e., the flow of the image data when realizing the printing function for the print data received through the network  5 , with reference to FIG. 2.  
         [0025]    A control section  31  in FIG. 2 comprises a CPU  11 , a ROM  12 , a RAM  13 , an information memory section  14  and an image memory section  15 . The control section  31  is functionally composed of a printer language interpreter section  311 , a printer image generator section  312  and a memory section  313 .  
         [0026]    The printer language interrupter section  311  interprets the postscript (PS) language from the print data received through the network interface  24 , and develops the print data.  
         [0027]    The printer image generator section  312  generates the image data from the data developed by the printer language interpreter section  311 .  
         [0028]    The memory section  313  temporarily stores the data processed by the printer language interpreter section  311 , printer image generator section  312  and data compressing section  16 .  
         [0029]    First, description will be given of the case where the MFP  1  prints the print data received through the network  5 . In the MFP  1 , for example, the print data sent from the PC  2  through the network  5  by using TCP/IP protocol, is received as a print request. The print data is once stored in the memory section  313 , and registered in the queue for interpretation of the printer language.  
         [0030]    The print data coming to the turn for processing is developed in the postscript (PS) language by the printer language interpreter section  311 . And, the data is once stored in the memory section  313 , and image data is generated through the printer image generator section  312 . Next, the image data is compressed by the data compressing section  16 , stored temporarily in the memory section  313 , and registered in the spool queue for printing. At this time, the data relating to the printing method included in the print data is also compressed and saved together with the image data. The printing method data includes the information about how to output the image data in the printer, such as double-side printing, stapling, number of prints, sorting and specification of paper.  
         [0031]    Next, description will be given of the flow of image data when MFP  1  performs copying. When the copy function is selected by the user by operating the operation section  18 , a document image is taken by the scanner section  20  based on the copying method specified by the user, and image data is generated. This image data is compressed through the data compressing section  16 . At this time, the set data necessary for printing out of the copying method set by the user is compressed as a printing method data and saved in the memory section  313  together with the image data, and registered in the spool queue for printing.  
         [0032]    Paths P 1 , P 2  and P 3  shown in the drawing conceptually show the flow of image data when it is transferred by the image data transfer process. This is described later.  
         [0033]    The paths P 1  and P 2  show the flow of data when transferring the print data when printing is executed. The print data is transferred through one of the transfer paths P 1  and P 2 . The path P 1  shows the flow of transferring the print data, when the print data developed by the printer language interpreter section  311  is once stored in the memory section  313 . The path P 2  shows the flow of transferring the print data, when the print data developed by the printer image generator section  312  is compressed by the data compressing section  16  and once stored in the memory section  313 . The path P 3  shows the flow of image data when the image data read and generated by the scanner section  20  is compressed by the data compressing section  16  and temporarily stored in the memory section  313 . When the system is configured to transfer the image data as in the path P 2 , the data format becomes the same as the data read from the scanner. Therefore, transfer of the data common to both printer and copier is possible, and the cost is reduced.  
         [0034]    Next, description will be given of the flow of processing executed by the CPU  11  when printing or copying, with reference to FIG. 3A and FIG. 3B. In this description, the print data transfer path is the above-mentioned path P 2 .  
         [0035]    In step ST 101 , the CPU  11  decides whether the number of prints of the image data coming up to the turn of copying or printing is more or less than the number of prints stored in the print number setting section  141  (a decision section). The process advances to step ST 102  when YES in this decision, and advances to step ST 114  if NO. In step ST 102 , the CPU  11  extends the image data coming up to the turn for processing by the data extending section  17 , and operates the printer section  21  to execute printing.  
         [0036]    Next, in step ST 103 , the CPU  11  decides whether an error is detected or not (a detection section). The error mentioned here means the state where printing is interrupted. For example, the error includes paper exhausted, toner exhausted or paper jam. If a unit which restricts the user is installed, the error includes detection of failure in inserting a control key or a control card. Further, the error includes the case where an operator error such as failure in inputting an ID code occurs, or the case where a serviceman error such as a defect occurring in MFP  1  and maintenance by a serviceman is necessary. The process advances to step ST 104  when YES in this step, and advances to step ST 117  if NO.  
         [0037]    In step ST 104 , the CPU  11  makes polling with a plurality of MFP  3  and the device  4  having the printing function which are connected to the network  5 . By the polling, the CPU  11  obtains the information about the operating status and error status, information about optional units, information about the installation places and information about the processing capacity of the units connected to the network  5  (an information obtaining section).  
         [0038]    In step ST 105 , the CPU  11  creates a list of units capable of transferring the image data, based on the information obtained by polling (an information creating section). Considering the finishing capacity of a transfer destination unit, based on the information about the obtained optional unit, a unit which can correctly execute the printing method included in the print request is selected as a unit capable of transferring the image data. This enables the user to select only the transfer destination which can print as specified by the print/copy request. The user can also get the desired finishing output result, when transferring the image data. The above list can be made including the image data transferable unit and the information about the operating status and installation place of that unit. This permits the user to determine the state of the transfer destination unit and the distance to the transfer destination unit which cannot be automatically determined. Further, even if the image data transfer destination unit is not installed nearby, the user can transfer the print data to a desired unit. It is also possible to make the transfer destination list based on the information about the obtained processing capacity, so that the destination units are displayed on the display section  19  in the order of the image data processing speed. Further, It is also possible to make the transfer destination list based on the obtained information about the optional unit, so that the destination units are displayed on the display section  19  separately in a group of units meeting the finishing capacity specified by the print/copy request and a group of the other units. This makes it possible to enforce the unit, which does not match the finishing capacity, to output the data when urgent printing or copying is required. If the information about the processing capacity and the information about the finishing capacity are displayed together, the user can output data by changing the printing method by operating the operation section  18 , based on the display. The user can previously set what type of list to make, by operating the operation section  18 .  
         [0039]    In step ST 106 , the CPU  11  displays the created list of units together with the operating status, error status, finishing capacity, processing capacity and installation place of each unit, on the display section  19  based on the user&#39;s setting.  
         [0040]    In step ST 107 , the CPU  11  determines whether the key input to execute transfer is received from the operation section  18 . The process advances to step ST 111  when YES, and the process advances to step ST 108  if NO.  
         [0041]    In step ST 108 , the CPU  11  continues printing the image data. In step ST 109 , the CPU  11  determines whether the occurrence of error is detected or not (another detection section). The process advances to step ST 117  when YES, and the process advances to step ST  110  if NO. In step ST 110 , the CPU  11  determines whether the image data printing ends or not. The process is finished when YES, and the process goes back to step ST  107  if NO. Namely, the CPU  11  waits for the key input to determine whether to execute transfer, from the operation section  18 , and watches occurrence of error, until the printing is finished.  
         [0042]    In step ST 111 , the CPU  11  determines whether the received key input command is to execute transfer of the image data or not. For example, the CPU  11  accepts the input of YES for the transfer and specification of the transfer destination, or determines whether the input of NO for the transfer is accepted. The process advances to step ST 112  when YES, and the process advances to ST  114  if NO.  
         [0043]    In step ST 112 , the CPU  11  calculates the number of prints or copies to transfer to another unit (a calculation section). The calculating operation will be explained later. In step ST 113 , the CPU  11  transfers the image data corresponding to the calculated number of prints or copies, to the specified unit through the network  5  (a transfer section).  
         [0044]    In step ST 114 , the CPU  11  continues printing the image data. In step ST 115 , the CPU  11  decides whether the occurrence of error is detected or not (a still another detection section). The process advances to step ST 117  when YES, and the process advances to step ST 116  if NO. In step ST 116 , the CPU  11  decides whether the image data printing is finished or not. The process is finished when YES, and the process goes back to step ST 114  if NO.  
         [0045]    In step ST 117 , the CPU  11  displays the message corresponding to the detected error on the display section  19 . As above described, when an error occurs in the MFP  1  used by the user, the user can confirm the type of the error on the display section  19 . This enables the user to determine not to transfer the image data. This is useful when the occurred error can be immediately corrected or when the destination unit is installed far away, for example.  
         [0046]    In step ST 118 , the CPU  11  make polling with the units connected to the network  5 . In step ST 119 , the CPU  11  creates a list of the units connected to the network  5 , based on the result of polling. In step ST 120 , the CPU  11  displays the created list on the display section  19 . As steps ST 118  to ST 120  are the same as steps ST 104  to ST 106  described above, the detail explanation will be omitted.  
         [0047]    In step ST 121 , the CPU  11  decides whether automatic transfer is set, according to the setting of the transfer destination setting section  142 . The process advances to step ST 122  when NO, and the step advances to step ST 125  if YES.  
         [0048]    In step ST 122 , the CPU  11  operates the clock section  22  and starts counting the predetermined time, and decides whether specification of the image data transfer unit is accepted from the list displayed on the display section  19 . The CPU  11  waits for the user&#39;s specification of a destination unit, until the preset time counted by the clock section  22  expires. In step ST 123 , the CPU  11  decides whether the preset time expires or not, that is, timeout or not (a timeout decision section). When timeout is decided, the process advances to step ST 124 . In step  124 , the CPU  11  automatically sets the unit of the highest processing speed, for example, as an image data transfer destination. Then, the process advances to step ST 125 . As above described, the automatic image data transfer is enabled by the timeout upon occurrence of error, thereby the operation is automated when the user is absent, preventing a time loss caused by printing after time passes.  
         [0049]    In step ST 125 , the CPU  11  transfers the image data not yet printed to the destination unit set by the transfer destination setting section  142  or the destination unit specified by the user in step ST 122  (a transfer section). As above described, when occurrence of an error is detected and automatic transfer is set, the MFP does not transfer the data unless the user&#39;s transfer command is accepted, and the network  5  is not given a load. And, in step ST 126 , the CPU  11  displays the name of the image data transferred unit and the end of transfer on the display section  19 . The process is completed by this step.  
         [0050]    Description will now be given to the processing executed by the CPU  11  in step ST 112 , that is, calculation of the number of transfer prints (i.e., transfer data) with reference to FIG. 4.  
         [0051]    In the description, P denotes the residual number of prints, Q denotes the number of substitutive prints, N denotes the printing capacity of MFP 1 , M denotes the printing capacity of other units, and T denotes the time required to start printing in other units. An equation (P−Q)/N=Q/M+T is established. According to this equation, the optimum number of substitutive prints in other units is expressed by an equation Q=(MP−MNP)/(M+N)  
         [0052]    In step ST 201 , the CPU  11  decides whether the image data is to be printed in set of two or more. The process advances to step ST 202  when NO, and the process advances to step ST 203  if YES. In step ST 202 , the CPU  11  calculates the optimum number of substitutive prints which can be obtained from the above-mentioned equation.  
         [0053]    In step ST 203 , the CPU  11  determines whether the printing method is sort or group, according to the data about the printing method supplied with the image data. The step advances to step ST 204  when the method is sort, and the process advances to step ST 205  if group.  
         [0054]    In step ST 204 , the CPU  11  calculates the transfer set of number. Assuming the number of prints to be a total number, the transfer set of number can be calculated by the equation: Transfer set of number=Total copy number×Q/P. In the case of sort printing, post-processing such as punching and stapling may be included, and the data is to be transferred to other units by each number of copies. At this time, the number of pages is not necessarily divided and needs to be rounded. Round off of the number of pages is performed when the printing capacity of the destination unit is greater than that of the source unit, and reduction is performed when it is equivalent or lower.  
         [0055]    In step ST 205 , the CPU  11  calculates the transfer set of pages. Using the total page number included in the print data, the transfer set of pages can be calculated by the equation: Transfer set of pages=Total page number×Q/P. In the case of group printing, a plurality of number is printed on each page, and the page number is rounded to prevent the same page from being divided by two MFPS. Rounding is the same as that in step ST 204 .  
         [0056]    Therefore, when an error occurs or a request to print/copy a number more than the predetermined number occurs, the MFP 1  makes polling for the MFP 3  and the device  4  having the printing function connected to the network  5 , and collects the information about each unit. The MFPl can display the transfer destination unit together with the operating status, error status and available functions of each unit on the display section  19  of MFP 1 . This enables the user to select the data transfer destination unit, and the user can transfer the image data based on his/her decision. This permits the MFP 1  to execute substitutive printing in other units.  
         [0057]    As above described, the MFPl does not require a control unit to transfer image data, and the system cost is lowered. Further, the MFP 1  used by the user accepts the user&#39;s decision whether to transfer or not, improving the user&#39;s convenience.  
         [0058]    Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.