Image input-output apparatus and method therefor

An image input-output apparatus is provided with a printing function for printing an image specified by print data from an external device and a reading function for reading an original image. The apparatus includes a printing function realizing unit, a discrimination unit, and a control unit. The printing function realizing unit operates in a first mode for realizing the printing function with a relatively small memory capacity and operates in a second mode for realizing the printing function with a relatively large memory capacity. The discrimination unit discriminates whether printing of the image specified by the print data is to be realized by the first mode or the second mode. If it is discriminated that printing is to be realized by the first mode, the control unit is adapted to allow parallel execution of the printing function and the reading function. Otherwise, parallel execution is inhibited.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image input-output apparatus having operation modes such as copying, printing, image reading etc. and a method therefor.

2. Related Background Art

The image input-output apparatus having such plural functions, generally called multi-function printer or multi-function copier (registered trade mark), can be classified into the following two categories.

1) A first type is so constructed as to execute as many functions as possible at the same time. An example of the configuration of the first type shown in FIG.16.

Referring toFIG. 16, there are provided an image input unit701; an operation panel702for entering various commands; an image processor unit703for applying predetermined image processing on the image read by the image input unit701in order to enable printing by a printer engine unit709; an operation panel interface (I/F)704; a main controller unit705for controlling the entire apparatus according to a control program stored in a ROM707; a network I/F706for connection with a network; a ROM707; RAM's708,712used for example as a work memory; and printer engine709, and a printer engine I/F711.

Such apparatus is divided, as shown inFIG. 16, in a section700including the image input unit701, the printer engine709, the RAM712, the image processor703and a CPU705aand principally realizing the function of the digital copying apparatus, and a section721including a memory composed of the ROM107and the RAM708, the network I/F706and a CPU705band effecting, in the CPU705b, conversion of the document data transmitted through the network I/F706into a dot pattern printable by the printer engine709.

For this reason, as shown inFIG. 16, there are provided completely separate two RAM's707,712as the data work memories.

2) A second type is designed for a reduced cost, realizing multiple functions at a cost as low as possible and sacrificing the simultaneous functions in the first type.

However, the configuration as shown inFIG. 16is inevitably associated with a considerably high cost, because of the necessity of the separate memories mentioned above. For example there is at least a memory capacity of 8.5 Mbytes, including 4 Mbytes for storing the image data entered by a scanner, in binary data of A4 size at 600 dpi, 4 Mbytes for a bit map memory for printing with a full bit map in binary data of A4 size at 600 dpi, and 0.5 Mbytes for a page memory before development into the bit map memory.

SUMMARY OF THE INVENTION

The present invention is to solve the above-mentioned limitation in the prior art, and such object can be attained by the following configuration.

An image input-output apparatus of the present invention is featured by:

reader means for reading an original on an original table; memory means for storing image information; communication means for effecting communication with another information processing apparatus through a communication medium; printer means for printing image data; and control means for selectively executing a copy mode for printing the image data, read by the reader means, by the printer means or a print mode for printing the image data, stored in the memory means, by the printer means or a reading mode for storing the image data, read by the reader means, in the memory means, wherein the control means is adapted, in the copy mode, to directly transmit the image data from the reader means to the printer means by mutually synchronizing the reading operation of the reader means with the printing operation of the printer means, and, in the print mode or the reading mode, to made access to the memory means according to the function of the printer means or the reader means.

The apparatus is also featured, for example, in that the control means operates the printer means in the above-mentioned print mode with the highest priority and the copy mode with the next priority.

The apparatus is also featured, for example, in that the printer means is provided two output locations for the print output and, in case of a request for the copy mode operation in the course of a print mode operation, the control means is adapted to execute such copy mode operation by interrupting the print mode operation in case there is a vacancy in the print output locations of the printer means, and the printer means outputs the print of the copy mode operation in such print output location.

The apparatus is also featured, for example, in that, in case of a request for the copy mode operation in the course of a print mode operation, the control means is adapted to execute such copy mode operation after the completion of the print mode operation in case there is no vacancy in the print output locations of the printer means.

The apparatus is also featured in that the memory means includes an image data memory area for storing the image read by the reader means and a print data memory area for storing the print output image of the printer means, and the memory capacity of such print data memory area does not exceed the image of a page of the printer means.

The apparatus is also featured, for example, in that, in case of printing, by the printer means, print data received from the other information processing apparatus through the communication means, the control means is adapted, in printing the print data stored in the print data memory area of the memory means, if the data storage in the print data memory area is not possible because the data storage of the data received from the communication means into the memory means is faster than the printing operation of the print data and if a vacancy is available in the image data memory area, to assign a part of the image data memory area for the print data memory area.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Now the present invention will be clarified in detail by a preferred embodiment thereof, with reference to the attached drawings.FIG. 1is a block diagram showing the configuration of a multi function printer (hereinafter abbreviated as MFP) which constitutes an image input-output apparatus embodying the present invention, andFIG. 2is an external view of the MFP of the above-mentioned embodiment, wherein components equivalent to those inFIG. 16are represented by corresponding numbers.

InFIG. 1, there are shown an image input unit101for scanning an original placed on an original table shown inFIG. 2thereby obtaining image data; an operation panel102for entering various commands; and an image processor unit103for effecting image processing on the entered image data for enabling the printing operation in a printer engine unit109or conversion into a form required by an information processing apparatus (host computer)10connected to a network50.

There are also shown an operation panel I/F104; a network I/F106for controlling communication with another information processing apparatus10etc. connected through the network50; a ROM107storing an operation program etc. for use by a main controller unit105; a printer engine109such as a laser beam printer, having so-called page printing function for printing in the unit of a page; a system bus110; and a printer engine I/F111.

A main controller150controls the entire MFP according to a control program stored in the ROM107, and is composed for example of a CPU. A RAM170serves to store the image data processed in the image processor103and the text data to be printed by the printer engine109.

Referring toFIG. 2, there are shown an original table201for placing the original to be entered as the image; an operation panel102; a printer engine109for printing image data entered from the original table or document data (described in a printer language such as PCL or PS) transmitted from the host computer such as the information processing apparatus10; a sorter unit202for accepting and sorting the sheets printed in the printer engine; bins203, consisting of 7 bins in the present embodiment, in which the printed sheets are discharged in a sorter-on mode; and a sheet discharge unit204in which the printed sheets are discharged in a sorter-off mode. In each of the bins203there is provided a sensor for detecting whether a printed sheet remains therein.

The details of the operation panel102shown inFIGS. 1 and 2will be explained with reference toFIG. 3, showing the configuration of the operation panel102. InFIG. 3, there are shown a display unit801, a sorter switch802for designating on/off state of the sorter202in the copy mode operation, and an LED803to be turned on when the sorter202is activated.

A scan switch804to be actuated, in case of image reading from the image input unit101, when the original to be entered is set on the original table201and the preparation for the image reading is completed and the image input command for example from the information processing apparatus can be properly responded. An LED805is turned on when the scan switch804is actuated, and is turned off when the image input process is completed.

There are also provided a copy start switch806for instructing the start of operation in the copy mode; a reset switch807; and numeral keys808for designating the number of copies.

In the following there will be explained the function of the above-described MFP embodying the present invention.

[Function in the Print Mode]

In the print mode, the document data transmitted from the information processing apparatus10through the network50and the network I/F106are once stored in the RAM160and are then printed in the printer engine109.

The functions of the present embodiment in the print mode will be explained with reference toFIGS. 4to6, which are flow charts showing the functions of the print mode.

When the data are transmitted from the information processing apparatus10through the network, the main processor106shifts to the process shown inFIGS. 4to7. At first a step S1inFIG. 4discriminates whether the received data is a scan start command, and, if not, a step S2discriminates whether the received data are an inquiry command. If an inquiry command from the information processing apparatus (host)10is identified, the sequence proceeds to a step S3for returning a status, responding to the inquiry, to the information processing apparatus10through the network I/F106.

On the other hand, if the step S2identifies that the received data are not an inquiry command from the information processing apparatus10, a step S4discriminates whether the data received from the information processing apparatus10are document data. If the received data are not document data, a message “data input error” is displayed on the display unit801of the operation panel102and the sequence is terminated.

If the step S4identifies that the received data are document data from the information processing apparatus10, the sequence proceeds to a step S6for storing the received document data in the page memory area of the RAM160. Then a step S7discriminates whether the document data of a page have been received and stored in the page memory area1101of the RAM160, and, if not, the process is terminated without executing a step S8and subsequent process, in order to wait for the entry of the ensuing document data. This operation is to continue the entry and storage of the data into the RAM160until the end of document data of a page, because the printer engine190is composed of so-called page printer.

In the present embodiment, the RAM160has a configuration shown inFIG. 8, including a page memory area1101for storing document data, an intermediate code area1102, a band buffer1area1103, a band buffer2area1104, and a bit map area1105for storing the print image in the print engine109.

The document data transmitted from the information processing apparatus10are prepared in the unit of a page. In contrast, the intermediate code employed in the present embodiment means codes converted into a form that can be processed in the unit of a band, in order that such document data can be handled in a band memory of a capacity smaller than that of the bit map memory for a page.

The received document data are stored in succession in the page memory area1101, and, upon storage of the document data of a page, the sequence proceeds from the step S7to S8for preparing intermediate codes and storing them in the intermediate code area1102of the RAM160.

FIGS. 9A and 9Bshow the operation of converting the document data in the unit of a page, transmitted from the information processing apparatus10, into the intermediate codes in the unit of a band.

InFIG. 9A,1201-1204indicates data of target points for straight line drawing, and the illustrated straight lines can be printed by drawing these target point data1201-1204. There are also shown image data1205and character data1206. The character data1206show an example of input “” (YAMADA TARO). InFIG. 9B,1221-1223indicate a band area to be drawn.

FIG. 10shows an example of the data structure of the document information shown inFIGS. 9A and 9B, wherein the document information is substantially constituted from a header code1301to a footer code1316.

1302-1305are ling drawing commands, in which the command1302is to draw a line connecting the target point data1201and1202, the command1303is to draw a line connecting the target point data1202and1203, the command1304is to draw a line connecting the target point data1203and1204, and the command1305is to draw a line connecting the target point data1204and1201.

A character start address designation command1306designates the print address of the character data1206shown inFIGS. 9A and 9B. A command1307designates the kind of the character font, printable in the printer engine109of the present embodiment. A command1308designates the size of the character font.

1309-1312indicate character codes, corresponding to the character data1206shown inFIGS. 9A and 9B. An image start address designation command1313designates the print start address of the image data1205shown inFIGS. 9A and 9B. A command1314designates the width of the image in the x-direction.1315indicates image data, corresponding to the image1205shown inFIGS. 9A and 9B.

In the following there will be explained the banding method employed in the present embodiment.

If the memory for storing the bit image data to be printed by the printer engine109has a capacity of a page (ca. 4 Mbytes for A4 size in case of 600 dpi), the document data shown inFIG. 10can be developed in succession into such bit map memory. In the present embodiment, however, in order to reduce the total memory capacity of the RAM160, it has two band drawing command1404serves to draw a line connecting the target point data1207and1201. A line drawing command1407serves to draw a line connecting the target point data1210and1212.

A line drawing command1419serves to draw a line connecting the target point data1209and1208. A character start address designation command1409serves to designate the print address of the above-mentioned character data1206in the band1221.

A character font designation command1410designates the font printable by the printer engine109, while a command1411designates the size of the character font. Band drawing commands1412-1415serve to draw the character codes1309-1312belonging to the band1222.

A character start address designation command1420serves to designate the print address of the above-mentioned character data1206in the band1223. A character font designation command1421designates the font printable by the printer engine109, while a command1422designates the size of the character font. Band drawing commands1423-1426serve to draw the character codes1309-1312belonging to the band1223.

An image start address designation command1427serves to draw the image data1205shown inFIGS. 9A and 9Bin the band1223. A command1428serves to designate the width, in the x-direction, of the image memories areas for example of 512 lines each (256 Kbytes at 600 dpi), which are used as so-called double buffers, and there is adopted a method of transmitting the bit image data from a band memory to the printer engine109while developing the dot data of a next band into the other band memory at the same time, and alternating the band memories in succession. Such method is however unable to cope with a drawing command involving plural bands, such as the line drawing command1303shown in FIG.10.

In the present embodiment, therefore, there is executed an operation of converting the document data shown inFIG. 10into intermediate codes of each band, and then developing such intermediate codes of each band into the bit image.FIG. 11shows the data structure of the intermediate codes corresponding to the document data shown in FIG.10.

Referring toFIG. 11, there are provided band start codes1401,1406,1417and band end codes1405,1416,1430to define bands1221,1222,1223in which various drawing commands are incorporated.

1402-1404,1407,1408,1418and1419are line drawing commands, in which a line drawing command1402serves to draw a line connecting the target point data1201and1202.

A line drawing command1403serves to draw a line connecting the target point data1202and1210. A line data1205shown inFIGS. 9A and 9B.1429indicates image data, corresponding to a portion of the image data to be drawn in the band1233.

As shown inFIG. 11, for example the line drawing command1303involved in the bands1221-1223shown inFIG. 9Bis replaced by the line drawing commands1403,1407,1419of the respective bands. Similarly the character and image information are divided into the respective bands.

The data amount of the intermediate codes converted from the document data as explained in the foregoing is generally larger than that of the document data transmitted from the information processing apparatus10, and the amount of such increase depends on the complexity of the document data. As the present embodiment intends to realize an image input-output apparatus (MFP) having sufficient functions while minimizing the memory capacity of the RAM160, the capacity of the intermediate code area is selected as 1 Mbyte while that of each of the two band buffer areas is selected as 256 Kbytes, whereby the total capacity of these three areas does not exceed 1.5 Mbytes.

In practice, the data amount per page of general text data is less than 100 Kbytes, an intermediate code area of 1 Mbyte allows to print most document data in the band memory format explained above.

Again referring to the flow chart shown inFIG. 4, in a step S8, the main controller105prepares the intermediate codes by the conversion of the document data, in the intermediate code area1102of the RAM160. In a next step S9, the main controller105monitors whether the amount of the intermediate codes exceeds the capacity of the intermediate code area1102, and, in case the capacity is not exceeded, the sequence proceeds to a step S10for discriminating whether the preparation of the intermediate codes of,a page has been completed. If not completed, the sequence returns to the step S8to continue the generation and storage of the intermediate codes in succession.

When the preparation of the intermediate codes of a page is completed through the above-described process, the sequence proceeds from the step S10to a step S11inFIG. 6, in which the main controller105discriminates whether the sheet discharge unit of the sorter202of the printer engine109has empty bins of a number required in printing the document data. The number of copies to be printed from the document data and whether the copies are to be sorted into the bins are transmitted at the start of the document data from the information processing apparatus10.

InFIG. 6, steps S11and S12are same as the steps S20and S25inFIG. 5, and steps S15and S16are same as the steps S21and S22. Also steps S13and S14are executed according to the above-described banding method.

FIG. 12shows an example of the data transmitted from the information processing apparatus10. In the following there will be explained, with reference toFIG. 12, the configuration of the data from the information processing apparatus10. The data contains a header code901, data902indicating the network address of the information processing apparatus10which transmits the data, a command903indicating that the following data are related to the printing of a document, data904indicating the number of printed copies of the following document data, data905indicating whether the sorter is used or not in the printing of the following document data, document data906, and an end code907.

For example, if the data904indicates printing of 5 copies and the data905designates the use of the sorter at printing, 5 bins of the sorter should be empty at the printing. If the data905select not to use the sorter, all the printed sheets are discharged to the sheet discharge unit204.

Thus, if a step S20identifies the use of the sorter but that the bins of the necessary number are not empty in the sorter at the printing, the sequence proceeds to a step S21for discriminating whether a copy mode flag is on. If the copy mode flag is on, flag is turned on.

If the scan start flag is on, the bit map area of the RAM160contains stored image data. On the other hand, the off state of the scan start flag indicates that the bit map area1105is empty.

Thus, when the step S26identifies that the scan start flag is turned on, the sequence proceeds to a step S27to turn on a page mode flag, declaring the use of the bit map area1105for printing, and the sequence then proceeds to a step S28.

The step S28stores the image data, entered from the image input unit101and processed in the image processor unit103, in the bit map area1105of the RAM160. A next step S29discriminates whether the development into the bit map memory area1105has been completed, and, if not, the sequence returns to the step S28for continuing the development.

The bit map area1105has a capacity of 4 Mbytes, capable of storing the binary bit image data of A4-sized original at 600 dpi. If the gradation of the original is to be emphasized, the area can store the A4-sized original in the data of 256 levels, at a resolution of 75 dpi (the amount of image data in this case being 2 Mbytes). Whether the emphasis is to be given to the resolution or the gradation is determined by a command from the information processing apparatus10, as will be explained later in more details.

As explained in the foregoing, the bit map area1105has a capacity of 4 Mbytes, enough for storing the binary bit image data of an A4-sized original with a resolution of 600 dpi, so that the main controller105analyzes and converts the intermediate codes of the intermediate code area into a bit image, developed directly in the bit map area1105. Also the remaining document data of the same page, in the page memory area, are directly converted, without conversion into the intermediate data, into the bit image, developed in the bit map area1105.

A next step S29discriminates whether the development of the document data of a page into the bit image has been completed, and, if not, the sequence returns to the step S28to continue the development of the document data of a page into the bit image.

If the step S29identifies that the development of the document data of a page into the bit image has been completed, the sequence proceeds to a step S30, in which the main controller105reads the bit image from the bit map area1105and sends the bit image in succession to the printer engine109through the printer I/F111, thereby executing printing. A next step S31discriminates whether the printing output of a page has been completed, and, if not, the sequence returns to the step S30to continue the printing operation.

If the step S31identifies that the printing of a page has been completed, the sequence proceeds to a step S32to turn off the page mode flag, whereupon the process of the print mode is terminated. Consequently, in this case, the printing operation can be executed without hindrance, if the image input operation is not encountered.

[Function in the Read Mode]

In the read mode, an image is entered from the image input unit101and is transmitted to the information processing apparatus10. The process in this case is started by placing an original to be inputted is placed on the original table201and by depressing the scan button804of the operation panel102. In the following, prior to the explanation of the function in the read mode, the functions of the main controller150caused by the operations on the operation panel102of the present embodiment will be outlined with reference to FIG.13.

The main controller150constantly monitors the input state of the operation panel102, and, in response to the actuation of any of the buttons thereof, shifts to a process shown in FIG.13. At first a step S50discriminates whether the copy button806has been depressed, and, if depressed, the sequence proceeds to a step S86in which the main controller105turns on the copy mode flag, thereby declaring the start of a copying operation and proceeds to a copy mode process starting from a step S66shown in FIG.14.

On the other hand, if the step S50identifies that the copy button806has not been depressed, the sequence proceeds to a step S51for discriminating whether the scan start button804has been depressed. If depressed, the sequence proceeds to a step S52for turning on the scan flag and also turning on the LED805indicating that the start of scanning is enabled, and the sequence is terminated. Thereafter the input of the image can be started by the transmission of a scan start command from the information processing apparatus, and the sequence shifts to a reading mode process starting from a step S35in FIG.7.

On the other hand, if the step S51identifies that the scan start button804has not been depressed, the sequence proceeds to a step S53for discriminating whether any of the numeral keys (copy number setting buttons) has been depressed. If depressed, the sequence proceeds to a step S54for setting and storing the copy number according to the depressed buttons and the sequence is terminated.

In case the step S53identifies that the copy number setting buttons808have not been depressed, the sequence proceeds to a step S55for discriminating whether the sorter button802has been depressed. If depressed, the sequence proceeds to a step S60for discriminating whether the sorter flag, which is turned on when the use of the sorter is designated, is off. If the sorter flag is off, the sequence proceeds to a step S61for turning on the sorter flag and turning on the LED803indicating the sorter mode, thereby informing that the sorter mode is designated, whereupon the sequence is terminated.

On the other hand, if the step S60identifies that the sorter flag is on, the sequence proceeds to a step S62for turning off the sorter flag and also turning off the LED803, thereby informing that the sorter is not used, whereupon the sequence is terminated.

On the other hand, if the step S55identifies that the sorter button802has not been depressed, the sequence proceeds to a step S56for discriminating whether the reset button807has been depressed. If not depressed, there has not been any input from the operation panel102, so that the sequence is terminated without any action.

On the other hand, if the step S56identifies that the reset button807has been depressed, the sequence proceeds to a step S57for terminating the copying operation if it is in progress, and returning various parameters and flags, set at the depression of the reset button807, to the initial state, whereupon the sequence is terminated.

As explained in the foregoing, the main controller150discriminates, in the step S1shown inFIG. 4, whether a scan start command has been received from the information processing apparatus10, and, if such command is present, the sequence shifts to a process starting from a step S35in FIG.7.

In the following there will be explained the scan start commands transmitted from the information processing apparatus10with reference toFIG. 15, which shows an example of such commands.

InFIG. 15, there are shown a header code901, data902showing the network address of the information processing apparatus10which transmits the data, a scan start command1501, resolution designating information1502, gradation number designating information1503, other image processing commands1504and an end code1505.

Upon receiving the scan start command from the information processing apparatus10, the main controller150monitors the setting of the scan flag in a step S35shown in FIG.7. As explained in the foregoing, when the preparation for original reading is completed in the image input unit101, the operator depresses the scan button804whereby the scan flag is set. In response, the sequence proceeds from the step S35to S36.

The step S36discriminates whether the page flag is on. The page mode flag indicates that the bit map terminated.

[Function of the Copy Mode]

The copying operation is started by placing the original to be copied on the original table, designating the number of copies if necessary by the keys808of the operation panel102, also designating the on/off state of the sorter by the sorter switch802, and finally depressing the copy button806. In response to the depression of the copy button806, the main controller105shifts from the step S50shown inFIG. 13to a step S65for turning on the copy mode flag, thereby declaring that the copying operation has been started, then to a step S66for discriminating whether the printer engine109is in use or not. If the printer engine109is in use, the sequence proceeds to a step S67for displaying a message “Printing operation in progress, please wait” in the display unit801of the operation panel102. Then sequence returns to the step S66to wait for the completion of the printing operation of the printer engine109.

When the printing operation is terminated or if the printer engine is available, the sequence proceeds from the step S66to S68, in which the main controller105discriminates whether the sorter flag is on. As explained in the foregoing, the sorter flag is turned on or off respectively when the use of the sorter202is designated or not. Thus, if the sorter flag is off, area1105of the RAM160is used for printing. If the page mode flag is on, the sequence waits until the page mode flag is turned off, since in this state the image data entered from the image input unit101cannot be stored in the RAM160.

If the step S36identifies that the page mode flag is off, or has been turned off, the sequence proceeds to a step S37for turning on the scan start flag and activating the image input unit101to start the image input. Then a step S38executes, in the image processor103, image processing designated by information1502-1505from the information processing apparatus10, then storing the processed data in the bit map area1105of the RAM160and transmits the data to the information processing apparatus10through the network50.

Then a step S39discriminates whether all the data transmission to the information processing apparatus10has been completed. If the image input and the transmission of the input image have not all been completed, the sequence returns to the step S38for continuing the image input and the data transmission to the information processing apparatus10.

Upon completion of the data transmission to the information processing apparatus10, the sequence proceeds to a step S40for turning off the scan flag and the scan start flag, whereupon the sequence is the sequence proceeds to a step S69for turning on the copy mode, thereby initiating the operation of the copy mode. In this case, the copying operation can be started by interruption, when the current printing operation is completed, even in the course of a printing job for printing the document data transmitted from the information processing apparatus10.

Thus, a next step S70activates the image input unit101and the printer engine109, whereby the image data entered from the image input unit101are supplied from the image processor103to the printer I/F111then to the printer engine109directly through the local path112, without going through the system bus110, and are printed whereby the copying operation is achieved. In this case, the copied sheets are discharged to the sheet discharge unit204.

Consequently, the image data inputted from the image input unit are not stored in the RAM160but are directly sent and printed in the printer engine which functions in synchronization with the image input unit. This operation is same as that in the ordinary digital copier (trade name). Therefore, even during the copying operation, the conversion of the document data, transmitted from the information processing apparatus10, can be executed in parallel.

Then a step S71discriminates whether the copying operation has been completed. If not, the sequence returns to the step S70to continue the above-described copying operation. If the copying operation has been completed, the sequence proceeds to a step S72to turn off the copy mode, whereby the operation of the copy mode is terminated.

On the other hand, if the step S68identifies that the sorter flag is on, the sequence proceeds to a step S75in which the main controller105discriminates whether, in the bins203of the sorter202, empty bins are available in the number to be used in the copying operation (namely the number of copies). If the empty bins are available in the sorter202, the sequence shifts to a process starting from a step S69and executes the copying operation in a similar manner as when the sorter flag is off. In this case, however, the printed sheets are not discharged to the sheet discharge unit204but to the bins203of the sorter202after sorting.

On the other hand, if the step S75identifies that the necessary empty bins are not available in the sorter202, the sequence proceeds to a step S76in which the main controller105discriminates whether a print job for printing the document data transmitted from the information processing apparatus is in progress. If such print job is in progress, the sequence proceeds to a step S77for displaying a message “Sorter is used; only N bins are available” (N being the number of empty bins) on the display unit801of the operation panel102. Then a step S78turns off the copy mode and the present sequence is terminated. Thereafter the copying operation can be executed by depressing the reset button of the operation panel102and changing the number of copies to the number of empty bins or less, or turning off the sorter.

On the other hand, if the step S76identifies that the print job is not in progress, the sequence proceeds to a step S79for displaying a message “Remove sheet from the sorter” on the display unit801of the operation panel102. Then the sequence returns to the step S75and waits for the elimination of the sheets from the sorter. If no empty bin is available, the copying operation of any condition can only be executed after the current print job is completed and the printed sheets are removed from the sorter bins.

In the foregoing embodiment, the number of copies and the on/off state of the sorter are selected as the conditions of copying, but there may also be selected other conditions. Also the number of empty bins is checked as the printer state, but other states may also be detected for determining whether or not to execute the copying operation.

As explained in the foregoing, the embodiments of the present invention allow to execute multiple functions at the same time, while minimizing the memory capacity thereby suppressing the cost. More specifically:

1) The memory capacity of the RAM160can be reduced a capacity enabling the banded printing of the printer engine109, plus a capacity allowing to store the image input data from the image input unit101;

2) The ordinary printing operation can be executed by banding, and the image input operation by the scanner can be executed in parallel to the printing operation by such banding; and

3) The operation in the copy mode has priority to other operation, so that the copying function can be achieved as an interruption process even during execution of the print job. In such case, in order to retain the content of the RAM160, the copying operation is executed by synchronizing the input operation of the scanner with the printing operation for printing the input data.

Based on the foregoing, the simultaneous functions equivalent to those in the prior art can be realized with a memory of 6 Mbytes, consisting of 2 Mbytes for printing and 4 Mbytes for storing the image data inputted from the scanner.

In the foregoing embodiments, there is secured a total memory capacity of 6 Mbytes, consisting of a RAM of 2 Mbytes for the banded printing and a RAM of 4 Mbytes for storing the input image data, but such total memory capacity can naturally be reduced to 4 Mbytes (required for storing the input image data) in case multiple functions need not be executed at the same time.

The present invention may be applied to a system consisting of plural equipment (for example host computer, interface devices, reader, printer etc.) or an apparatus consisting of a single equipment (such as a copying machine or a facsimile apparatus).

Also the objects of the present invention can naturally be attained in a case where a memory medium storing program codes of a software for realizing the functions of the aforementioned embodiments is supplied to a system or an apparatus and a computer (CPU or MPU) in the above-mentioned system or apparatus reads and executes the program codes stored in the memory medium.

In such case the program codes themselves of the software read from the memory medium realize the functions of the aforementioned embodiments, and the memory medium itself storing such program codes constitutes the present invention.

The memory medium storing such program codes can be, for example, a floppy disk, a hard disk, an optical disk, a magnetooptical disk, a CD-ROM, a CD-R, a magnetic tape, a non-volatile memory card or a ROM.

Furthermore, the present invention includes not only the case where the functions of the aforementioned embodiments are realized by the execution of the read program codes by the computer, but also a case where an operating system functioning on the computer executes all the actual processes or a part thereof according to the instruction of such program codes, thereby realizing the functions of the aforementioned embodiments.

The present invention further includes a case wherein the supplied program codes are once stored in a function expansion board of the computer or a memory provided in a function expansion unit connected to the computer, and a CPU or the like provided in the function expansion board or the function expansion unit executes all the process or a part thereof according to the instructions of such program codes, thereby realizing the functions of the aforementioned embodiments.

In case the present invention is applied to the above-described memory medium, program codes corresponding to the foregoing flow charts are stored in such memory medium.

As explained in the foregoing, the present invention can provide a multi function printer capable of simultaneously executing multiple functions while minimizing the required memory capacity, thereby achieving a low cost.