Abstract:
In order to provide an image processing apparatus and system, which can effectively use the functions of an interface and can fully use an image forming apparatus, an image processing apparatus of this invention, which is connected to a plurality of image forming apparatuses via an interface, includes an image output means for transmitting the image to be formed via the interface, an input means for inputting the image forming conditions, and a mode designation means for designating the image communication mode of the interface in accordance with the image forming conditions input by the input means.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to an image processing apparatus and system and, more particularly, to an image processing apparatus and system, which can transfer an image to be formed to an image forming apparatus via a digital interface.  
           [0003]    2. Related Background Art  
           [0004]    In recent years, higher-speed digital interfaces have been developed, and for example, a universal serial bus (USB) and faster IEEE1394-1995 (High Performance serial bus) (to be referred to as a 1394 serial bus hereinafter) are known.  
           [0005]    Such serial buses have been developed to transfer a large volume of data such as audio data, video data, and the like in real time among a home digital VTR, electronic camera, and PC (personal computer).  
           [0006]    On the other hand, as color scanners, color copying machines, color printers, and the like have gained higher performance, these apparatuses are often connected to the PC. Hence, if these apparatuses are connected to the PC via the 1394 serial bus, a color image can be printed out, e.g., a color image captured using a video camera can be printed out via the 1394 serial bus.  
           [0007]    The 1394 serial bus has an asynchronous transfer mode (asynchronous transfer) and synchronous transfer mode (isochronous transfer). More specifically, asynchronous transfer is a one-to-one transfer mode for transmitting data from a source node to a destination node during an idle time of isochronous transfer (to be described below, and is used for transferring data with a small information volume, e.g., text data, commands, still image data, and the like.  
           [0008]    On the other hand, isochronous transfer is a characteristic mode of the 1394 serial bus, and is especially suitable for transferring data that requires real-time transfer such as video data, audio data, and the like. Also, asynchronous transfer is a one-to-one transfer mode, but isochronous transfer can transfer data from one node to all other nodes by a broadcast function. These two modes can use a bus time-divisionally, and the 1394 serial bus is characterized by having these two modes.  
           [0009]    However, asynchronous transfer alone may not fully use the functions of a printer since recent printers have multiple functions and higher resolutions. More specifically, when the printer for printing out an image is designated and high-resolution color images are successively printed out in the asynchronous transfer mode, the transfer time may become larger than the time required for printouts.  
           [0010]    Also, asynchronous transfer designates a specific node connected to the 1394 serial bus. For this reason, even when a plurality of printers are connected to the 1394 serial bus, if a plurality of identical color images are to be printed out, the transfer time is likely to be much larger than the time required for printouts.  
           [0011]    If printouts are always executed in the isochronous transfer mode, the print data requires a considerably large band occupation time of the 1394 serial bus, and disturbs transfer of real-time data among apparatuses such as a video camera that requires temporary continuous data transfer.  
         SUMMARY OF THE INVENTION  
         [0012]    It is an object of the present invention to solve the above-mentioned problems.  
           [0013]    It is another object of the present invention to provide an image processing apparatus and system, which can effectively use the functions of an interface, and can fully use the functions of an image forming apparatus.  
           [0014]    In order to achieve the above objects, according to one aspect of the present invention, an image processing apparatus connected to a plurality of image forming apparatuses via an interface, comprises image output means for transmitting an image to be formed via the interface, input means for inputting an image forming condition, and mode designation means for designating an image communication mode in the interface in accordance with the image forming condition input by the input means.  
           [0015]    With this arrangement, the performance of the plurality of image forming apparatuses can be effectively used without lowering the performance of the interface itself.  
           [0016]    According to another aspect of the present invention, an image processing apparatus connected to an image forming apparatus via an interface, which has at least a synchronous mode for transferring a predetermined volume of data at predetermined periods, and an asynchronous mode for transferring data in an idle time of data transmission in the synchronous mode, comprises image output means for transmitting an image to be formed via the interface, input means for inputting an image forming condition, and mode designation means for selecting one of the synchronous and asynchronous modes of the interface in accordance with the image forming condition input by the input means.  
           [0017]    According to the image processing apparatus with the above arrangement, since the synchronous and asynchronous modes can be appropriately selectively used, the performance of the image forming apparatus and, hence, the functions of the interface can be effectively used.  
       
    
    
       [0018]    Other objects and features of the present invention will become apparent from the following detailed description of the preferred embodiments of the present invention.  
       BRIEF DESCRIPTION OF THE DRAWINGS  
       [0019]    [0019]FIG. 1 is a block diagram showing a system according to the present invention, e.g., a system to which a plurality of nodes including a plurality of image forming apparatuses are connected via a serial bus;  
         [0020]    [0020]FIG. 2 is a block diagram showing the arrangement of a personal computer (PC)  1  and controller  2  in FIG. 1 in detail;  
         [0021]    [0021]FIG. 3 comprised of FIGS. 3A and 3B is a flow chart for explaining the operation of the personal computer and controller in the system shown in FIGS. 1 and 2;  
         [0022]    [0022]FIG. 4 is a chart showing progress of asynchronous transfer in the serial bus shown in FIG. 1 along with passage of time;  
         [0023]    [0023]FIG. 5 shows an example of the packet format in asynchronous transfer in the serial bus shown in FIG. 1;  
         [0024]    [0024]FIG. 6 comprised of FIGS. 6A and 6B is a flow chart showing the operation of the personal computer, a video camera, and printers in the system shown in FIGS. 1 and 2;  
         [0025]    [0025]FIG. 7 shows a display example on a monitor shown in FIG. 1;  
         [0026]    [0026]FIG. 8 is a chart showing progress of isochronous transfer in the serial bus shown in FIG. 1 along with passage of time;  
         [0027]    [0027]FIG. 9 shows an example of the packet format in isochronous transfer in the serial bus shown in FIG. 1;  
         [0028]    [0028]FIG. 10 is a chart showing progress of both isochronous transfer and asynchronous transfer in the serial bus shown in FIG. 1 along with passage of time;  
         [0029]    [0029]FIG. 11 shows the display state of a screen used for setting the print conditions and the like on the monitor; and  
         [0030]    [0030]FIG. 12 is a table showing the relationship between the print conditions and transfer modes.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0031]    The preferred embodiments of the present invention will be explained in detail hereinafter with reference to the accompanying drawings.  
         [0032]    [0032]FIG. 1 shows a system according to the present invention, e.g., a system to which a plurality of nodes including a plurality of image forming apparatuses are connected via a serial bus.  
         [0033]    The system shown in FIG. 1 comprises a personal computer (PC)  1 , an image processing apparatus (controller)  2  corresponding to an embodiment of the present invention, a video camera  3  which can output a digital color still image signal, and color printers  4 ,  5 ,  6 , and  7 , which respectively form nodes of a 1394 serial bus. These nodes respectively have 1394 serial bus interfaces (1394-I/Fs)  1   a,    2   a,    3   a,    4   a,    5   a,    6   a,  and  7   a.    
         [0034]    As is well known, in the 1394 serial bus, when bus reset is produced by a connection event of a new node or a power-ON event while a plurality of nodes are connected, a root node is determined, and serial bus access requests are issued to that root node, which must perform bus arbitration. It is assumed, in this specification, that bus reset has already been produced in the state shown in FIG. 1, for the sake of simplicity. Also, one of the nodes  1  to  7  shown in FIG. 1 has a root node function.  
         [0035]    [0035]FIG. 2 is a block diagram showing the arrangement of the PC  1  and controller  2  in FIG. 1 in detail. In FIG. 2, the PC  1  comprises a central processing unit (CPU)  11 , and a hard disk drive (HDD)  12  serving as a storage device. The PC  1  also comprises a monitor  13 , and a manual operation unit  14  including a keyboard and mouse. Using the monitor  13  and manual operation unit  14 , various commands can be input, as will be described later.  
         [0036]    The PC  1  further comprises an optical disk drive  15  which can load and access an optical disk  16  that stores printer drive software (to be described later), a color processing unit  17  including a color processing board set in advance in the PC  1 , a codec  18  including a codec board set in advance in the PC  1 , and the above-mentioned 1394-I/F  1   a.  These units are connected to each other via an internal bus B 1  of the PC  1 . The color processing unit  17  has a function of converting a color image signal input from an input apparatus into color image data independent from that input apparatus, and converting a color image signal independent from the input apparatus into a color image signal matching the characteristics of an output apparatus. The codec  18  has a function of compressing and encoding a non-compressed color image signal by a standard high-compression coding scheme such as JPEG, a function of decoding a color image signal compressed in the video camera, and the like.  
         [0037]    The controller  2  comprises a page memory  21  which can store at least non-compressed data of a color image having a maximum size, and comprises, e.g., an SDRAM or the like. The controller  2  also comprises a CPU  22 , and a color processing unit  23  which can perform the same processing as that of the color processing unit  17  for only limited input apparatuses and printers.  
         [0038]    The controller  2  further comprises codecs A  24 , B  25 , and C  26 . The codec A  24  can decode color image data which is high-compression-encoded by the video camera  3 , and can also implement the same high-compression coding (e.g., compression according to a DVC format) as in the video camera  3 . The codec B  25  can implement compression, e.g., lossless compression that can be decoded by the printers  4  to  7 . The codec C  26  can decode color image data encoded by a high-compression coding scheme such as JPEG as a standard scheme in the PC  1 , and can encode data by that high-compression coding scheme.  
         [0039]    [0039]FIGS. 3A and 3B are flow charts for explaining the operation of this embodiment shown in FIGS. 1 and 2, i.e., the system connected via the 1394 serial bus. In FIGS. 3A and 3B, the left flow chart shows the operation of the PC  1 , and the right flow chart shows the operation of the controller  2 . The operation of this embodiment will be explained below with reference to the flow charts in FIGS. 3A and 3B.  
         [0040]    In the PC  1 , when the printer drive software is read from the optical disk drive  15 , and is opened (step S 102 ), the PC  1  sends a start-up command to the controller  2  using the above-mentioned asynchronous transfer.  
         [0041]    [0041]FIG. 4 shows progress in asynchronous transfer along with passage of time. In FIG. 4, a subaction gap at the left end indicates a bus idle state. When this idle time has reached a given value, the PC  1  determines that the bus can be used, and executes arbitration for managing bus access.  
         [0042]    Note that the arbitration is a process for arbitrating access to the bus among nodes prior to data transport since one and only node can transmit at a certain time in the 1394 serial bus. More specifically, when arbitration starts, more than one nodes issue bus access requests to the root node, and the root node permits only a given node to access the bus, by arbitration.  
         [0043]    When the PC  1  is permitted to access the bus as a result of the arbitration, it executes data transfer including the start-up command as data in the packet format. Upon completion of data transfer, the controller  2  responds by sending back a reception acknowledgement send-back code (ack) for the transferred data (start-up command) after a short gap called an ack gap or sends a response packet to complete the transfer. The code ack consists of 4-bit information and 4-bit check sum and includes information indicating that data transfer is successful, busy, or pending. The code ack is sent back to the source node. However, since such send-back and response processes do not directly pertain to the present invention, these processes are not shown in FIGS. 3A and 3B, and a detailed description thereof will be omitted.  
         [0044]    [0044]FIG. 5 shows an example of the packet format in asynchronous transfer. Each packet has a header field in addition to a data field and error correction data CRC, and the header field contains an objective node ID, source node ID, transfer data length, various codes, and the like to transfer the packet, as shown in FIG. 5. More specifically, in this case, the objective node ID indicates the controller  2 , and the source node ID indicates the PC  1 . Therefore, in step S 102 , the start-up command is transferred while being contained in a command transfer portion in the data field shown in FIG. 5. Since transfer in step S 102  does not include any image data, the data field is short, and does not include any compressed image data in FIG. 5.  
         [0045]    Asynchronous transfer is a one-to-one communication from the own node to the destination node. The packet transferred from the source node is transferred to all the nodes in the network, but each node ignores a packet with an address other than its own address, and only one destination node (controller  2  in this case) can read the packet.  
         [0046]    Referring back to FIGS. 3A and 3B, the dotted line arrows in FIGS. 3A and 3B indicate transfer of data, commands, and the like in the asynchronous transfer mode, and the broken line arrows indicate transfer of data, commands, and the like in the isochronous transfer mode. Note that the one-dashed chain line arrows indicate transfer in either the asynchronous or isochronous transfer mode.  
         [0047]    Upon reception of the start-up command (step S 201 ), the controller  2  starts up the apparatus by, e.g., turning on the power supply of the main body (step S 202 ), and waits for the next command (step S 203 ). The PC  1  similarly issues a start-up command of the video camera  3  by asynchronous transfer after the start-up command of the controller (step S 101 ).  
         [0048]    [0048]FIGS. 6A and 6B are flow charts for explaining the operation of the system of this embodiment. In FIGS. 6A and 6B, the left flow chart shows the operation of the PC  1 , the upper right flow chart shows the operation of the video camera  3 , and the lower right flow chart shows the operation of one of the printers  4  to  7 .  
         [0049]    After the start-up command of the video camera, the PC  1  opens an image retrieve program included in the printer drive software, and displays a screen shown in FIG. 7 on the screen of the monitor  13  (step S 104 ). At the same time, the PC  1  transfers a retrieve command to the video camera in the asynchronous transfer mode. Upon receiving the retrieve command, the video camera  3  retrieves a portion where a still image is recorded from a magnetic tape stored therein, and reproduces a still image (step S 302 ). The video camera  3  transfers the reproduced still image to the PC  1  also in the asynchronous transfer mode. Note that color image data recorded on the magnetic tape has undergone predetermined high-compression coding, and the video camera  3  transfers the compressed image data together with attribution data such as the photographing date, the number of pixels, and the like in the data format shown in FIG. 5 to the PC  1  via the 1394-I/F  3   a.  The transfer data format at that time is as shown in FIG. 5.  
         [0050]    An image display unit  32  in FIG. 7 displays a color image obtained by decoding the compressed image signal transferred from the video camera by the codec  18 . The attribution data transferred together with the compressed image data are displayed within a frame  33 . The user of the PC  1  checks if the color image displayed on a display unit  32  is to be printed. If a print is required, the user clicks a print button  37  with the mouse, and designates that image as the one to be printed (step S 106 ). If the image need not be printed, the user clicks a next image button  34  or previous image button  35  with the mouse in step S 106 . In response to clicking on the next image button  34  or previous image button  35 , the PC  1  transfers a re-retrieve command to the video camera  3  in the asynchronous transfer mode. In step S 302 , the video camera  3  retrieves and reproduces a still image recorded immediately before or after the still image currently displayed on the display unit  32 , and transfers the retrieved still image data to the PC  1  again as a compressed image signal in the asynchronous transfer mode.  
         [0051]    When the image to be printed is designated upon clicking the print button  37 , the PC  1  sends data indicating the designated image and an output command of that image to the video camera  3  (step S 107 ). When the user does not designate any images to be printed, he or she can end processing by clicking a completion button  36  in FIG. 7. However, since this processing is not directly related to the present invention, a description thereof is omitted from the flow charts in FIGS. 3A, 3B and  6 A,  6 B. In response to the image output command (step S 303 ), the video camera  3  decodes the compressed image data recorded on the magnetic tape, and transfers the non-compressed image signal to the controller  2  (step S 304 ). At this time, since a non-compressed color image signal always requires a very large information volume, this transfer is done by isochronous transfer.  
         [0052]    [0052]FIG. 8 shows progress in isochronous transfer along with passage of time. The isochronous transfer is executed at predetermined time intervals on the bus. This time interval is called an isochronous cycle. The isochronous cycle time is 125 μs. A cycle start packet indicates the start time of each cycle, and has a role of performing time adjustment of the individual nodes. A node called a cycle master transmits the cycle start packet. The cycle master transmits the cycle start packet indicating the start of the current cycle a predetermined idle period (subaction gap) after the completion of transfer in the previous cycle. The transmission time interval of cycle start packets is normally 125 μs.  
         [0053]    As indicated by channels A, B, and C in FIG. 8, a plurality of different packets with different channel IDs can be separately transferred within one cycle. With this transfer, a plurality of nodes can attain real-time transfer at the same time, and the receiving node fetches only data with a desired channel ID. The channel ID does not represent any destination address but merely assigns a logical number to data. Hence, a certain packet is transferred from one source node to all other nodes in so-called broadcast communications.  
         [0054]    Prior to packet transfer in the isochronous transfer mode, arbitration is made as in the asynchronous transfer mode. However, since the isochronous transfer mode is not a one-to-one communication mode unlike in the asynchronous transfer mode, no ack (reception acknowledgement send-back code) is present in the isochronous transfer mode. An isochronous gap (iso gap) shown in FIG. 8 represents an idle period required for recognizing the idle state of the bus before the isochronous transfer. After an elapse of the predetermined idle period, the node which wants to start isochronous transfer determines that the bus is idle, and can perform arbitration before the transfer.  
         [0055]    [0055]FIG. 9 shows an example of the packet format of isochronous transfer. Each of various types of packets assigned to the individual channels has a header field in addition to a data field and error correction data CRC. The header field contains the transfer data length, channel No., various codes, error correction header CRC, and the like, as shown in FIG. 9. In case of this embodiment, non-compressed image data is written in a portion indicated by “image data” in the data field.  
         [0056]    [0056]FIG. 10 shows progress of both isochronous transfer and asynchronous transfer within one cycle along with passage of time.  
         [0057]    The PC  1  that has issues the image output command to the video camera  3  in step S 107  then outputs an image getting command to the controller  2  (step S 108 ). The image getting command is transferred in the asynchronous transfer mode, and includes data that defines the channel from which data is to be got. Upon reception of the image getting command (step S 203 ), the controller  2  converts non-compressed image data transferred from the video camera in the isochronous transfer mode, e.g., R (red), G (green), and B (green) image data, into Y (yellow), M (magenta), C (cyan), and K (black), four-color component data by the color processing unit  23 , and stores them in the page memory  21 . Upon completion of getting, the controller  2  transfers a getting completion report as report data to the PC  1  in the asynchronous transfer mode (step S 205 ).  
         [0058]    Upon reception of the getting completion command (step S 109 ), the PC  1  displays a screen shown in FIG. 11 on the screen of the monitor  13  so as to set the print conditions and the like. In FIG. 11, a display screen  41  of the monitor  13  displays a window  42  for setting the number of prints, a window  43  for setting the print size, a window  44  for setting the resolution, and a window  45  for selecting a color/monochrome print mode. The user sets the number of prints, print size, resolution, color/monochrome print mode, and the like by operating the keyboard or mouse of the manual operation unit  14 . A panel  47  is used for designating the print mode in this embodiment, and the type of connected printer is displayed within a window  48 .  
         [0059]    The print conditions set on this screen  41  are transferred to the controller  2  in the asynchronous transfer mode in step S 110 . The controller  2  checks the transferred print conditions, and determines the transfer method of the non-compressed color image signal stored in the page memory  21  to the printers  4 ,  5 ,  6 , and  7 . FIG. 12 shows the relationship between the print conditions and transfer modes.  
         [0060]    As can be seen from FIG. 12, when a monochrome image is transferred, the asynchronous transfer mode is selected independently of the number of prints, resolution, size, and the like, and black (K) data for one page of color image data stored in the page memory is transferred to the printers  4  to  7  as non-compressed image data. More specifically, in case of monochrome data or when even color data has low resolution, e.g., a print at 200 dpi is to be instructed, the asynchronous transfer mode is used. In such case, since image data for one page can be transferred in the asynchronous transfer mode sufficiently within the page print time of the printer (the printer displayed within the window  48  in FIG. 11) without being compressed, the non-compressed data is transferred. In the system shown in FIG. 1, since the four printers  4 ,  5 ,  6 , and  7  are connected to the 1394 serial bus, a maximum of four images can be simultaneously printed. In this case, it is determined that non-compressed data for four pages, i.e., four non-compressed image data for one page, can be transferred sufficiently within the page print time of each printer even in the asynchronous transfer mode.  
         [0061]    On the other hand, when the color image to be transferred has middle resolution (e.g., 400 dpi), if a plurality of identical images are to be simultaneously printed, color image data for one page cannot often be transferred within the page print time of the printer in correspondence with the required number of prints. Although such transfer also depends on the print size, it is confirmed in this embodiment that non-compressed color image data having middle resolution can be surely transferred twice within the page print time of each printer in the asynchronous transfer mode if it has a print size of B4 or larger (B4 or A3), and can be transferred a maximum of five times if it has a print size of A4 or smaller (A4 or B5). In the system shown in FIG. 1, however, since the number of printers connected to the 1394 serial bus is four, all data having an A4 size or smaller are transferred in the asynchronous transfer mode in practice upon printing. As for printouts of data having a B4 size or larger, when three or more images are simultaneously printed, isochronous transfer is used.  
         [0062]    Likewise, when the color image to be transferred has high resolution (e.g., 800 dpi), since the data volume of an image signal for one page is still larger, the number of times of asynchronous transfer of color image data for one page within the page print time of the printer is further reduced. Hence, in this embodiment, data undergoes lossless compression coding with a low compression ratio (e.g., about 1/2) using the codec B  25  of the controller  2 , and the compressed data is transferred to the printers  4 ,  5 ,  6 , and  7 . In this embodiment, it is confirmed that high-resolution color image data which is encoded by lossless compression coding can be surely transferred once within the page print time of each printer in the asynchronous transfer mode if it has a print size of B4 or larger (B4 or A3), and can be transferred a maximum of three times if it has a print size of A4 or smaller (A4 or B5). More specifically, isochronous transfer is used when two images or more are to be simultaneously printed upon printing out data having a size of B4 or larger, or when four or more images are to be simultaneously printed upon printing data having a size of A4 or smaller.  
         [0063]    When the isochronous transfer is used, all the printers can simultaneously print using the transferred color image data. In this case, upon printing a plurality of pages, color image data for the second page can be transferred in the isochronous transfer mode before a plurality of images for the first page are printed out. Hence, a plurality of color image data for a plurality of pages can be printed using ready printers in turn. A mode for printing using ready printers in turn in such manner is called a highest-speed print mode in this embodiment. Also, a mode for printing using only printers corresponding to the number of color images to be printed for each page for the purpose of user&#39;s convenience is called a high-speed sort mode.  
         [0064]    One of these modes is designated by, e.g., the mouse in the window  48  in the screen  41 , and isochronous transfer is done by writing data indicating the designated printer in the data field in FIG. 9 in accordance with the designated mode. When a printer designated mode is designated in the window  48 , asynchronous transfer is unconditionally done.  
         [0065]    As described above, when the controller  2  transfers image data according to the determined mode (step S 206 ), each printer receives the print command and image data (step S 401 ), prints (step S 402 ), and transfers a print completion report upon completion of printout for one page in the asynchronous transfer mode (step S 403 ). Upon reception of the print completion report, the controller  2  checks if all the print jobs are completed (step S 209 ). If the print jobs are not completed, the controller  2  issues the next print command, and transfers the next image data if necessary (steps S 208  and S 207 ). After the controller  2  has received a print completion report for that command, it confirms that all the print jobs are completed (step S 209 ), and transfers an all print completion report to the PC  1  in the asynchronous transfer mode (step S 210 ). Upon reception of the all print completion report (step S 111 ), the PC  1  can close the printer drive software (step S 112 ).  
         [0066]    According to the arrangement of the system of the above embodiment, since the isochronous and asynchronous transfer modes of the 1394 serial sub can be selectively used in consideration of the print conditions, highest-speed, high-quality printouts can be obtained by fully using the functions of the printers and 1394 serial bus.  
         [0067]    Note that the criterion for selectively using the isochronous and asynchronous transfer modes should be appropriately set in correspondence with the printers used, and is not limited to a specific example shown in FIG. 12. In the above embodiment, the 1394 serial bus is used. However, the present invention can also be applied to interfaces having equivalent functions.  
         [0068]    As described above, according to the image processing apparatus and system of the present invention, the function of the interface can be effectively used, and the functions of the image forming apparatus can be fully used.  
         [0069]    Many widely different embodiments of the present invention may be constructed without departing from the spirit and scope of the present invention. It should be understood that the present invention is not limited to the specific embodiments described in the specification, except as defined in the appended claims.