Printing resolution and/or gradation control

Abstract: A printing system includes an information processing apparatus for generating print data and a printing apparatus, in which the information processing apparatus is provided with conditions for deciding the resolution and/or gray scale gradation of the print data, and continue or cancel printing processing by an operator's decision based upon the condition, in case of continuation of the printing processing, a command for lowering resolution and/or gradation at time of printing is inserted into the print data, which is transmitted to the printing apparatus, on a per-printing-job basis, and produces an output in accordance with the command by the printing apparatus.

Description: This invention relates to a printing apparatus in a system having the printing apparatus and an information processing apparatus such as a personal computer, and to control of the resolution and/or gradation (gray level) of the printing apparatus. A method of controlling the printing resolution or gray level of a printing apparatus in dependence upon the complexity of the print data and the processing capability of the printing apparatus itself is known in the art. Most page printers comprise a video controller and a printer engine. The video controller receives print data described in Printer Language from a host computer or the like and develops the print data into the image data represented with a dot image matrix. To store one page of image data, large amount of memory capacity is required in the printer. As the paper size or the resolution increases, the number of bits necessary for the memory increases. To reduce the memory capacity, a band buffer technique is often used. In the band buffer technique, a page corresponding to a print image is divided into bands in a sheet feed direction. A plurality of band buffers is cyclically used for each output page, and the developing process for one band buffer and the transmitting the image data from another band buffer to the printer engine are performed in parallel. But, in some cases, as when the amount of the print data in one page is too large and this data overflows from the print data buffer or when the developing process takes too much time to prepare the image data supplied to the printer engine so that an overrun error occurs, the image data can't be printed on the sheet correctly. To alleviate these situations, there is a method which decreases the amount of time for the developing process or the amount of memory for storing the image data by taking a lower resolution or gradation for processing the image data than the prevailing resolution or gradation. However, no determination as to whether lower resolution or gradation is used is made until the processing time for all of the band buffers has been estimated based on the received print data from the host computer for one page or the print data buffer is full, Thus the print data are converted into the intermediate code depending on the resolution or gradation in parallel with reception of the printer data. Accordingly, when the need to lower printing resolution or gradation actually arises, it is necessary to invalidate previous processing executed based upon the prevailing resolution or gradation delete the above type of the intermediate code and generate a page image whose resolution or gradation is lower than the prevailing resolution or gradation using all of the received data again to produce the image. This is disadvantageous in that rapid printout cannot be performed. European Patent Specification No. EP-A-0575134 discloses a printing apparatus which is capable of predicting resource usage for a printing operation and changes the printing operation as a result of this prediction. European Patent Specification No. EP-A-0588513 discloses a printing system which includes a plurality of printers. A controller controls a printer selection for a particular job in accordance with the nature of the job and the profiles of the printers. Accordingly, a concern of the present invention is control of printing resolution and gray level that makes possible precise, high-speed printing even in a case where a page image is generated upon lowering resolution or gradation when an output is obtained from a printing apparatus. According to one aspect of the present invention, there is provided an information processing apparatus as set out in claim 1. According to a second aspect of the present invention there is provided an image processing method as set out in claim 8. Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. Fig. 1 illustrates the hardware implementation of the present invention; Fig. 2 is a block diagram illustrating the hardware architecture to which the present invention is applied; Fig. 3 is a functional block diagram illustrating the hardware architecture according to the first embodiment of the present invention; Fig. 4 is a diagram illustrating an example of print data that have been saved in a file for temporary saving of print data according to the first embodiment of the invention; Fig. 5 is a diagram illustrating examples of indices generated as the result of retrieving print data according to the first embodiment of the invention; Fig. 6 is a diagram illustrating format when indices are inserted as part of print data according to the first embodiment of the invention; Fig. 7 is a diagram illustrating an example of print data after insertion of indices (Fig. 6) in print data (Fig. 4) according to the first embodiment of the invention; Fig. 8 is a flowchart of processing executed by an information processing apparatus according to the first embodiment of the invention; Fig. 9 is a flowchart of processing executed by the printing apparatus according to the first embodiment of the invention; Fig. 10 is a functional block diagram illustrating the hardware architecture according to a second embodiment of the present invention; Fig. 11 is a diagram illustrating a command for lowering resolution according to the second embodiment of the invention; Fig. 12 is a diagram illustrating an example of print data after insertion of the command for lowering resolution according to the second embodiment of the invention; Fig. 13 is a diagram illustrating resolution deciding conditions according to the second embodiment of the invention; Fig. 14 is a functional block diagram illustrating the hardware architecture according to a third embodiment of the present invention; Fig. 15 is a flowchart of processing for lowering resolution according to the second embodiment of the present invention; Fig. 16 is a functional block diagram illustrating the hardware architecture according to a modification of the first embodiment of the present invention; Fig. 17 is a flowchart of processing executed by a printing apparatus according to a modification of the first embodiment of the present invention; Fig. 18 is a functional block diagram illustrating the hardware architecture according to a modification of the second embodiment of the present invention; Fig. 19 is a command for reducing resolution and a command for reducing gradation according to a modification of the second embodiment of the present invention; Fig. 20 is a diagram showing an example of print data after insertion of the command for lowering resolution according to a modification of the second embodiment of the invention; Fig. 21 is a diagram illustrating gradation deciding conditions according to a modification of the first and second embodiments of the invention; Fig. 22 is a functional block diagram illustrating the hardware architecture according to a modification of the third embodiment of the present invention; Fig. 23 is a flowchart illustrating processing for reducing resolution/gradation according to a modification of the second embodiment of the present invention; Fig. 24 is a functional block diagram illustrating the hardware architecture according to a fourth embodiment of the present invention; Fig. 25 is a flowchart of an information processing apparatus for deciding where processing for reducing resolution/gradation is executed according a fifth embodiment of the invention; Fig. 26 is a diagram illustrating a message screen according to the fifth embodiment of the invention; Fig. 27 is a flowchart illustrating processing for reducing resolution/gradation according to the fourth embodiment of the invention; Fig. 28 is a diagram illustrating examples of indices generated as the result of retrieving print data according to the another modification of the first embodiment of the invention; Fig. 29 is a diagram illustrating format when indices are inserted as part of print data according to the modification of the first embodiment of the invention; Fig. 30 is a flowchart of processing executed by an information processing apparatus according to the another modification of the first embodiment of the invention; Fig. 31 is a flowchart of processing executed by the information processing apparatus according to the another modification of the first embodiment of the invention; and Fig. 32 is a flowchart of processing executed by the printing apparatus according to the another modification of the first embodiment of the invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will now be described with reference to the drawings. The architecture of the system to which the invention is applied will be described first. Fig. 1 illustrates the hardware implementation of the present invention. As shown in Fig. 1, an information processing apparatus and a printing apparatus 2 are connected via a Centronics I/F connection 3. Fig. 2 is a block diagram illustrating the hardware architecture to which the present invention is applied. As shown in Fig. 2, the information processing apparatus 1 has a data processor 21, an input unit 22, a CRT 25 and an auxiliary storage unit 26. The data processor 21 is internally provided with a RAM 23 and CPU 24. The printing apparatus 2 has a ROM 28, a RAM 29, a CPU 30, a controller 31 and an engine 32. The controller 31 executes processing for actually outputting, on paper, print data received from the information processing apparatus 1 via the Centronics I/F connection 3. The engine 32 conveys the paper and performs the actual printing operation. <First Embodiment> The software of the first embodiment of the invention will now be described based upon the hardware shown in Figs. 1 and 2. Fig. 3 is a functional block diagram illustrating the internal functions of the hardware architecture according to the first embodiment of the present invention. As shown in Fig. 3, the information processing apparatus 1 has a print data generating module 52 serving as printing processing means, a module 53 for temporarily saving the print data, a print data transfer module 54, a file 58 in which print data are temporarily saved, a print data retrieval module 55, an index generating module 56, an index insertion module 57 and a file 59 in which print data are saved after index insertion. The printing apparatus 2 has a module 51 for deciding printing resolution based upon indices sent as part of print data from the information processing apparatus 1 via a data transfer unit 60. Fig. 4 is a diagram illustrating an example of print data that have been saved in the file for temporarily saving the print data according to the first embodiment of the invention. The print data in Fig. 4 are generated in the information processing apparatus 1 by the print data generating module 52 of Fig. 3 and illustrate the content of the file temporarily saved in the module 58 by the module 53. Such instructions as a "Job Start Instruction", "Printing Environment Setting Instruction Group", etc., are markings for facilitating an understanding of the print data in the file. In actuality, these instructions are stored in a binary format. Further, "FF" represent a page feed code. Fig. 5 is a diagram illustrating examples of indices generated as the result of retrieving print data according to the first embodiment of the invention. Fig. 5 illustrates data, which constitute information for index generation, generated in the information processing apparatus 1 by the print data retrieval module 55 of Fig. 3. The data of Fig. 5 are generated using the RAM 29 shown in Fig. 1. In this embodiment, there are five pages of print data. The print data consist of indices 71 - 75, one per page, and an index 76 indicating the entirety of the print data generated from these indices. Fig. 6 is a diagram illustrating format when indices are inserted as part of print data according to the first embodiment of the invention. Fig. 6 shows an example of a data stream generated for each index by the index generating module 56 (Fig. 3) in the information processing apparatus 1. Fig. 7 is a diagram illustrating an example of print data after insertion of the indices of Fig. 6 in print data of Fig. 4 according to the first embodiment of the invention. The data shown in Fig. 7 are generated in the information processing apparatus 1 by the index inserting module 57 of Fig. 3 and illustrate the print data file saved in the module 59 after the indices are inserted in the file. The indices in Fig. 7 are underlined. Fig. 8 is a flowchart of processing executed by the information processing apparatus 1 according to the first embodiment of the invention. This is a flowchart of processing executed by the print data retrieval module 55, the index generating module 56 and the index insertion module 57 of Fig. 3. Fig. 9 is a flowchart of processing executed by the printing apparatus 2 according to the first embodiment of the invention. This is a flowchart of processing executed by the module 51 for deciding printing resolution based upon the indices of Fig. 6. Fig. 13 is a diagram illustrating resolution deciding conditions according to first and second embodiments of the invention. The operation of this embodiment will now be described in detail with reference mainly to the flowcharts of Figs. 8 and 9. As for operation in the information processing apparatus 1, print data are generated by the print data generating module 52 and the generated print data are temporarily saved in the file 58 by the module 53 which temporarily saves the print data. When generation of the print data by the print data generating module 52 is completed, the print data retrieval module 55 is called by the module 53 so that retrieval of print data, generation of indices and insertion of the indices in the print data are carried through the procedure shown in Fig. 8. First, when the print data retrieval module 55 is called by the module 53 which temporarily saves the print data, the module 55 acquires the file name from the file 58, which is the file which temporarily saves the print data. Next, in order for the print data to be retrieved, the print data retrieval module 55 opens the file 58 (step S801). Next, the job index 76 shown in Fig. 5 is created in the RAM 23 of Fig. 2 and a variable n for the page index is initially set to 1 (step S802). The page index 71 of the first page is then generated in the RAM 23 in the same manner (step S803). Upon completion of the initialization processing described above, retrieval of the print data is actually started. First, readout of the print data is performed in units of the print commands shown in Fig. 4 (step S804). The item of print data read out first from the print data shown in Fig. 4 is the "Job Start Instruction". - Next, print data from "Printing Environment Setting Instruction Group" to the end of the file are read out. In the process of reading out the print data, first it is determined whether the print data read out are indicative of page feed (step S805). If the data are not indicative of page feed ("NO" at step S805), then it is determined whether this is the end of the print data (step S806). If the answer is "NO", then it is determined whether the data are indicative of a graphic object (step S807). If the answer is "YES", then the page index is updated (step S808) and readout of print data is performed again (step S804). If it is found at step S804 that the print data indicate page feed, then the contents of the page index 71 of the first page are reflected in the job index 76 and the job index 76 is updated (step S809). This is followed by updating of a counter for generating the page index of the next page (step S810) and then by the processing of steps S803 onward. If it is found at step S806 that the print data are at an end, then the job index 76 and page indices 71 ~ 75 shown in Fig. 6 are inserted into the print data in file 58, which is the file for saving the print data. To accomplish this, the print data streams shown in Fig. 6 are generated and inserted, with the job index data being inserted to immediately follow the "Printing Environment Setting Instruction Group" and the page index data being inserted to immediately follow respective ones of the feed page codes FF, as shown in Fig. 7. As a result, a print data file into which the indices have been inserted is generated in the file 59 (step S811). Next, the print data file into which the indices have been inserted is transmitted to the printing apparatus 2 by the print data transfer module 54 via the data transfer unit 60 (step S812). As shown in Fig. 9, the printing apparatus 2 acquires the print data via the data transfer unit 60 (step S902). If the data are indicative of a "Job End Instruction", the remainder of the received data is outputted at the usual resolution (step S908) and processing ends. If the data are not indicative of a "Job End Instruction" ("NO" at step S902), then it is determined whether the data indicate a job index or page index or not (step S903). If the data indicate neither a job index nor a page index ("NO" at step S903), then the processing of step S905 is executed. If the data indicate either a job index or a page index ("YES" at step S903), then it is determined whether the resolution deciding conditions of Fig. 13 satisfied, i.e., matched (step S904). If the resolution conditions are satisfied ("YES" at step S904), then processing is executed at low resolution until a job end instruction is received (step S907). If the low-resolution printing conditions are not satisfied ("NO" at step S904), then it is determined whether the index is indicative of page feed (step S905). If the answer is "NO", then the program returns to step S901 and processing is continued. If the index is indicative of page feed ("YES" at step S905), then page output is performed at the usual resolution, after which the program returns to step S901 to continue processing. In accordance with the first embodiment, as described above, conditions for deciding resolution are furnished in the printing apparatus 2, the information processing apparatus 1 creates print data streams from the page indices 71 - 75 and job index 76, inserts the job index data of the print data streams immediately after the "Printing Environment Setting Instruction Group" of the print data file, and inserts the page index data immediately after respective ones of the page feed codes FF in the print data file. As a result, resolution used at the time the print data file is printed can be determined and changed on a per-page basis in concurrence with execution of print processing. <Modification of First Embodiment> A modification of the first embodiment will be described next. The basic processing technique used in this modification is similar to that of the first embodiment and only the processing steps that differ will be described. In this modification, gray level is determined in addition to printing resolution based upon the indices sent to the printing apparatus 1 from the information processing apparatus 1 as part of the print data. Fig. 16 is a functional block diagram illustrating the internal functions of the hardware architecture according to this modification of the first embodiment of the present invention. Here the printing apparatus 2 is provided with a resolution/gradation decision module 1601 instead of the resolution decision module 51 of Fig. 3. Fig. 17 is a flowchart of processing executed by the printing apparatus 2 according to this modification of the first embodiment. Fig. 21 is a diagram illustrating gray level deciding conditions according to a modification of the first and second embodiments of the invention. The processing of the printing apparatus 2 shown in Fig. 17 differs from the flowchart of Fig. 9 mainly in terms of steps S1704 and S1707. Specifically, at step S1704, whether low-resolution printing is to be performed is judged based upon the resolution deciding conditions of Fig. 13 or whether gradation is to be lowered is judged based upon the gray level deciding conditions of Fig. 21. If printing at low resolution or lowering of gradation is to be performed ("YES" at step S1704), then low-resolution printing or lowering of gradation is carried out at step S1707. Processing is executed until the job ends. Other steps in the processing of Fig. 17 are similar to those of the first embodiment and need not be described again. <Another Modification of First Embodiment> An another modification of the first embodiment will be described next. The basic processing technique used in this modification is similar to that of the first embodiment and only the construction of the index of print data is differed. In this modification, each page index as described in Fig. 5 is divided into a number of the band index as described in Fig. 28. This modification is suitable for a printing apparatus which uses a band buffer technique. Figs. 30 and 31 are different steps from Fig. 8's flowchart of processing executed by the information processing apparatus 1 according to the another modification of the first embodiment of the invention. Fig. 32 is a different step from Fig. 9's flowchart of processing executed by the printing apparatus 2 according to the another modification of the first embodiment to the invention. The processing of the information processing apparatus 1 shown in Fig. 30 differs from the flowchart of Fig. 8 mainly in terms of step S803. Specifically, at step S803, the creating process of the number of band index for N page is added. After S3001 step is done, processing returns to step S804. Fig. 31 also differs from the flowchart of Fig. 8 mainly in terms of step S807. Specifically at step S807, the updating process of a band index in N page is added. After step S3101 step is done, processing returns to step S808. The processing of the printing apparatus 2 shown in Fig. 32 differs from the flowchart of Fig. 9 mainly in terms of step S903. Specifically, at step S3201, a band index is added for S903, so if the data are not indicative of a "Job End Instruction"("NO" at step S902), it is determined whether the data indicate a job index or page index or band index or not (S3201). If the data doesn't indicate nay of a job index, page index and band index ("NO" at step S3201), then the processing of step S905 is executed. If the data indicate any of a job index, page index and band index ("YES" at step S3201), then the processing of step S904 executed. Other processing of an another modification of the first embodiment is executed with the same steps shown in Figs. 8 and 9, and need not be described again. <Second Embodiment> A second embodiment of the invention will now be described based on the hardware of Figs. 1 and 2 with reference to Figs. 10 ~ 13 and Fig. 15. Fig. 10 is a functional block diagram illustrating the hardware architecture according to a second embodiment of the present invention. The internal functions of the hardware of Fig. 10 according to the second embodiment are basically the same as those of Fig. 3 according to the first embodiment. As shown in Fig. 10, the information processing apparatus 1 has a print data generating module 1002 serving as printing processing means, a module 1003 for temporarily saving the print data, a print data transfer module 1004, a print data retrieval module 1005, an index generating module 1006, a file 1007 in which print data are saved, and a file 1008 in which print data are saved after index insertion. The information processing apparatus 1 further includes a resolution decision module 1013, a module 1014 for generating and inserting a resolution lowering command and a file 1015 of resolution deciding conditions. The printing apparatus 2 has a module 1011 for interpreting the resolution lowering command based upon indices sent as part of print data from the information processing apparatus 1 via the data transfer unit 60. The processing of the second embodiment is basically similar to that of the first embodiment. However, the resolution deciding conditions shown in Fig. 13 are provided in the file 1015 of the information processing apparatus 1. Further, if end of the print data is found at step S806 of Fig. 8 in the operation of the information processing apparatus 1, the processing described below is executed instead of step S811. Fig. 11 is a diagram illustrating a command for lowering resolution according to the second embodiment of the invention, Fig. 12 is a diagram illustrating an example of print data after insertion of the command for lowering resolution according to the second embodiment of the invention, and Fig. 15 is a flowchart of processing for lowering resolution according to the second embodiment of the present invention. If end of the print data is found at step S806 of Fig. 8, the processing of Fig. 15 is executed instead of step S811 in Fig. 8. Specifically, whether resolution is to be lowered is determined by the resolution decision module 1013 based upon the file 1015 (Fig. 13) of resolution deciding conditions (step S1511 in Fig. 15). If the conditions of Fig. 13 for lowering resolution have been satisfied, then the module 1014 for generating and inserting the resolution lowering command inserts the resolution lowering command of Fig. 11 immediately after the "Printing Environment Setting Instruction Group" of the print data in the file 1008, as shown in Fig. 12, and generates a file in which the print data having the inserted resolution lowering command is temporarily saved (step S1502). The program then proceeds to step S812 of Fig. 8 so that processing similar to that of the first embodiment is executed. Meanwhile, if the module 1011 for interpreting the resolution lowering command in the printing apparatus 2 which has received the print data determines that the resolution lowering command has been received, the printing apparatus 2 executes printing processing under conditions of lowered resolution. In this case, whether or not the resolution lowering command has been received is determined at step S904 of Fig. 9 instead of determining whether the resolution conditions are satisfied. If the command has not been received, printing is performed at the usual resolution. Processing other than that described above is similar to that of the first embodiment and need not be described again. In accordance with the second embodiment, as described above, conditions for deciding resolution are furnished in the printing apparatus 2, the decision regarding the resolution of the print data is rendered on a per-printing-job basis and the command for lowering resolution is inserted in the print data file on a per-printing-job basis. As a result, the printing apparatus 2 can be freed from the need to decide resolution at the time of a printing operation, thus making it possible to raise the efficiency of printing processing. <Modification of Second Embodiment> A modification of the second embodiment will be described next. The basic processing technique used in this modification is similar to that of the second embodiment and only the processing steps that differ will be described. In this modification, the above-described resolution deciding conditions (Fig. 13) and gray level deciding conditions (Fig. 21) are provided in the information processing apparatus 1. The latter is capable of inserting a gradation lowering command in the print data based upon the decision regarding gradation and the results of the decision. If the gradation lowering command is contained in print data received by the printing apparatus 2, the latter lowers gradation at the time of printing. Further, according to this modification, if the conditions for deciding resolution or gradation are satisfied, the operator is allowed to select whether printing is to be continued or canceled under lowered resolution and/or gradation. Fig. 18 is a functional block diagram illustrating the internal functions of the hardware architecture according to the modification of the second embodiment of the present invention. This modification differs from the second embodiment (Fig. 10) in that the architecture of the information processing apparatus 1 is further provided with a gradation decision module 1816, a module 1817 for generating and inserting a gradation lowering command and a file 1818 of gray level deciding conditions. Instead of a file 1408 (Fig. 14) in which print data are saved after insertion of the command for lowering resolution, the information processing apparatus 1 is provided with a file 1808 in which print data are saved after index insertion. Fig. 19 is a command for reducing resolution and a command for reducing gradation according to a modification of the second embodiment of the present invention, Fig. 20 is a diagram showing an example of print data after insertion of the command for lowering resolution according to a modification of the second embodiment of the invention, Fig. 23 is a flowchart illustrating processing for reducing resolution/gradation according to a modification of the second embodiment of the present invention, and Fig. 26 is a diagram illustrating a message screen according to the modification of the second embodiment. If the print data are found to end at step S806 in Fig. 8, the information processing apparatuses 1 executes the following processing instead of step S811: Specifically, as shown in Fig. 23, whether resolution is to be lowered is decided by the resolution decision module 1813 based upon the file 1815 (Fig. 13) of resolution deciding conditions, and whether gradation is to be lowered is decided by the gradation decision module 1816 based upon the file 1818 (Fig. 21) of gray level deciding conditions (step S2301). If the conditions for lowering resolution shown in Fig. 13 or the conditions for lowering gradation shown in Fig. 21 are satisfied ("YES" at step S2301), the information processing apparatus 1 displays the screen of Fig. 26 on the CRT 25, thereby allowing the operator to enter, from the input unit 22, a signal indicating continuation/cancellation of printing under reduced resolution and/or gradation (step S2302 in Fig. 23). If the operator selects "NO", printing is canceled (step S2303 in Fig. 23). If the operator selects "YES", then printing is continued and the module 1814 for generating and inserting the resolution lowering command or the module 1817 for generating and entering the gradation lowering command inserts the resolution lowering command and/or gradation lowering command of Fig. 19 immediately after the "Printing Environment Setting Instruction Group" of the print data in the file 1808, as shown in Fig. 20, and generates a file in which the print data having the inserted resolution/gradation lowering command is temporarily saved (step S2304 in Fig. 23). The program then proceeds to step S812 of Fig. 8 so that processing similar to that of the first and second embodiments is executed. Meanwhile, if the module 1811 for interpreting the resolution lowering command and the module 1819 for interpreting the gradation lowering command in the printing apparatus 2 which has received the print data determine that the resolution lowering command and/or gradation lowering have/has been received, the printing apparatus 2 executes printing processing under conditions of lowered resolution and/or gradation. In this case, whether or not the command has been received is determined at step S904 of Fig. 9 instead of determining whether the conditions are satisfied. If neither command has been received, printing is performed at the usual resolution. Processing other than that described above is similar to that of the second embodiment and need not be described again. A third embodiment will now be described based on the hardware of Figs. 1 and 2 with reference to Fig. 14. <Third Embodiment> Fig. 14 is a functional block diagram illustrating the internal functions of the hardware architecture according to a third embodiment of the present invention. As shown in Fig. 14, the internal functions of the hardware of Fig. 14 according to the third embodiment are basically similar to those of the second embodiment shown in Fig. 10. The information processing apparatus 1 has a print data generating module 1402 serving as printing processing means, a module 1403 for temporarily saving the print data, a print data transfer module 1404, a print data retrieval module 1405, an index generating module 1406, a file 1407 in which print data are saved, a file 1408 in which print data are saved after index insertion, a resolution decision module 1413, a module 1414 for generating and inserting a command for lowering resolution, and a module 1415 for acquiring resolution deciding conditions. The printing apparatus 2 has a module 1411 for interpreting the resolution lowering command based upon indices sent as part of print data from the information processing apparatus 1 via the data transfer unit 60, and a module 1416 for transmitting the resolution deciding conditions. According to the third embodiment, the information processing apparatus 1 is provided with the module 1415 for acquiring resolution deciding conditions instead of the file 1015 of resolution deciding conditions shown in Fig. 10, and the printing apparatus 2 is provided with the module 1416 for transmitting the resolution deciding conditions. The resolution deciding conditions are acquired from the printing apparatus 2 whenever one printing job is started, and the processing of the resolution decision module 1413 is executed using the conditions acquired. Processing other than that described above is similar to that of the first and second embodiments and need not be described again. In accordance with the third embodiment, as described above, the information processing apparatus 1 is provided with the module 1415 for acquiring resolution deciding conditions and the module 1416 for transmitting the resolution deciding conditions, and the latest resolution deciding conditions are acquired whenever one printing job is started.- As a result, the printing apparatus 2 can be freed from the need to decide resolution at the time of a printing operation, thus making it possible to raise the efficiency of printing processing and to realize flexible resolution control on a per-printing-job basis. <Modification of Third Embodiment> A modification of the third embodiment will now be described. The basic processing technique used in this modification is similar to that of the first embodiment and only the processing steps that differ will be described. Fig. 22 is a functional block diagram illustrating the internal functions of the hardware architecture according to a modification of the third embodiment of the present invention. This modification differs from the second embodiment (Fig. 10) in that the architecture of the information processing apparatus 1 is further provided with a gradation decision module 2217, a module 2218 for generating and inserting a gradation lowering command and a module 2219 for acquiring gray level deciding conditions. Instead of the file 1408 (Fig. 14) in which print data are saved after insertion of the command for lowering resolution, the information processing apparatus 1 is provided with a file 2208 in which print data are saved after insertion of a command for lowering resolution/gradation. The printing apparatus 2 is further provided with a module 2220 for interpreting the gradation lowering command, and a module 2221 for transmitting the gradation deciding conditions. According to this modification also, if the conditions for deciding resolution or gradation are satisfied, the operator is allowed to select whether printing is to be continued or canceled under lowered resolution and/or gradation. This is similar to the modification of the second embodiment. According to this embodiment, the information processing apparatus 1 is provided with a module 2215 for acquiring resolution deciding conditions and a module 2219 for acquiring gray level deciding conditions instead of the file 1815 of resolution deciding conditions and the file 1818 of gray level deciding conditions. The printing apparatus 2 is provided with a module 2216 for transmitting resolution deciding conditions and a module 2221 for transmitting gray level deciding conditions. The information processing apparatus 1 acquires the resolution deciding conditions and gradation deciding conditions from the printing apparatus 2 whenever one printing job is started, and the processing of the resolution decision module 2213 and gradation decision module 2217 is executed using the conditions acquired. Processing other than that described above is similar to that of the second embodiment, the modification thereof and the third embodiment. <Fourth Embodiment> The hardware architecture of this embodiment is similar to that of Figs. 1 and 2. However, the processing for lowering resolution and gradation in the information processing apparatus 1 is executed before the print data are transmitted to the printing apparatus 2. Fig. 24 is a functional block diagram illustrating the hardware architecture according to a fourth embodiment of the present invention. The architecture of the information processing apparatus 1 up to the components for deciding resolution and gray level is similar to that of the modification (Fig. 18) of the second embodiment. However, the information processing apparatus 1 is provided with a processing module 2413 for lowering resolution and a processing module 2416 for lowering gradation instead of the module 1814 for generating and inserting the resolution lowering command and the module 1817 for generating and entering the gradation lowering command. Those processing steps executed by the information processing apparatus 1 that differ from the steps of the flowchart shown in Fig. 8 will be described. Fig. 27 is a flowchart illustrating processing for reducing resolution/gradation according to the fourth embodiment of the invention. If lowering of resolution and/or gradation is detected at step S2701 in Fig. 27 following step S811 in Fig. 8, the information processing apparatus 1 displays the screen of Fig. 26 on the CRT 25, thereby allowing the operator to enter, from the input unit 22, a signal indicating continuation/cancellation of printing under reduced resolution and/or gradation (step S2702). If the operator selects "NO", printing is canceled (step S2704). If the operator selects "YES", then printing is continued and processing for lowering resolution and/or gradation is executed based upon the data in the file 2408 in which the print data having the inserted indices are saved (step S2703). This is followed by generating a file 2418 (step S2705) in which the print data are temporarily saved after undergoing processing for lowering resolution and/or gradation. The processed data are transmitted to the printing apparatus 2 at step S812 in Fig. 8. The printing apparatus 2 is provided with a module 2419 for interpreting the print data that have been subjected to the processing for lowering resolution/gradation. The printing apparatus 2 executing printing in conformity with the interpreted data. <Fifth Embodiment> The architecture of the hardware in this embodiment is similar to that of Figs. 1 and 2. Here the location to undergo processing for lowering resolution and gradation is decided by the information processing apparatus 1 in dependence upon the memory capacity of the printing apparatus 2. Fig. 25 is a flowchart of an information processing apparatus for deciding where processing for lowering resolution/gradation is executed according the fifth embodiment of the invention. As shown in Fig. 25, it is determined whether the memory capacity of the printing apparatus 2 is less than 20 MB (step S2501). If the answer is "YES", then the information processing apparatus 1 executes the processing of the fourth embodiment (Fig. 25) for lowering resolution and/or gradation (step S2502). If the memory capacity is greater than 20 MB ("NO" at step S2501), the printing apparatus 2 executes processing for lowering resolution and/or gradation according to the method of the second embodiment (Fig. 10) or the modification thereof (Fig. 18). It should be noted that the memory capacity of the printing apparatus 2 in this embodiment is acquired by providing the information processing apparatus 1 with a module for acquiring memory capacity and the printing apparatus 2 with a module for transmitting memory capacity. Operation is similar to that performed by the module 1415 for acquiring resolution deciding conditions and the module 1416 for transmitting the resolution deciding conditions. The memory capacity acquired is stored in the RAM 23. The present invention can be applied to a system constituted by a plurality of devices (e.g., a host computer, interface, reader, printer, etc.) or to an apparatus comprising a single device (e.g., a copier or facsimile machine, etc.), as in the foregoing embodiments. Further, it goes without saying that the object of the present invention can also be achieved by providing a storage medium storing the program codes of the software for performing the aforesaid functions of the embodiments to a system or an apparatus, reading the program codes with a computer (e.g., a CPU or MPU) of the system or apparatus from the storage medium, then executing the program. In this case, the program codes read from the storage medium realize the functions of the embodiments, and the storage medium storing the program codes constitutes the invention. Further, the storage medium, such as a floppy disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, magnetic tape, non-volatile type memory card or ROM can be used to provide the program codes. Furthermore, besides the case where the aforesaid functions according to the embodiments are implemented by executing the program codes read by a computer, the present invention covers a case where an operating system (OS) or the like working on the computer performs a part of or the entire process in accordance with the designation of program codes and implements the functions according to the embodiments. Furthermore, the present invention further covers a case where, after the program codes read from the storage medium are written in a function extension card inserted into the computer or in a memory provided in a function extension unit connected to the computer, a CPU or the like contained in the function extension card or function extension unit performs a part of or the entire process in accordance with the designation of program codes and implements the function of the above embodiments.

Claims: An information processing apparatus (1) comprising generation means (1402, 1814, 1817) for generating print data for output to a printer, the printer being capable of selectively converting the print data into image data having one of a range of grades and printing the resultant image data, the information processing apparatus being characterised by comprising: determining means (1413, 1813, 1816) for determining, on the basis of grade lowering conditions which determine whether the grade of the printer output should be lowered or not, whether or not print data to be output to the printer is capable of being converted by the printer into image data having a first grade, and wherein when it is determined by said determining means that print data to be output to the printer is incapable of being converted by the printer into image data having said first grade, said generation means (1402, 1814, 1817) generates the print data in such a manner that it is converted by the printer into image data having a second grade different from said first grade. Apparatus according to claim 1, characterised in that said generation means is adapted to generate a command indicating the second grade and to insert this command into the print data. Apparatus according to claim 1 or 2, characterised by further comprising register means (1815, 1818) for storing the grade lowering conditions in advance, wherein said determining means determines whether or not the printer is capable of converting the print data into image data of the first grade on the basis of the grade lowering conditions stored in said register means. Apparatus according to any one of claims 1, 2 or 3, characterised by further comprising obtaining means (1415) for obtaining the grade lowering conditions from the printer, and wherein said determining means (1413) is adapted to determine whether or not the print data to be output to the printer is capable of being converted to the image data having the first grade by the printer on the basis of the grade lowering conditions obtained by said obtaining means. Apparatus according to any of the preceding claims, wherein said generation means is adapted to insert a resolution lowering command to cause the printer to lower its resolution when the print data has the second grade and not to insert the resolution lowering command when the print data is to be converted by the printer so as to have the second grade. Apparatus according to any one of claims 1 to 4 or 13, wherein the first and second grades relate to at least one of resolution and gradation. Apparatus according to any preceding claim, characterised by further comprising: informing means for providing information that said determining means cannot make a decision; and input means for, when said informing means give information that a decision cannot be made, enabling an operator to input a request for printing on the basis of image data having the second grade. A method of generating print data in an information processing apparatus for a printer which can selectively convert the print data into image data having one of a plurality of grades, and outputting the print data to the printer, the method being characterised by determining, on the basis of grade lowering conditions which determine whether the grade of the printer output should be lowered or not, whether or not print data to be output to the printer is capable of being converted by the printer into image data having a first grade; and generating the print data in such a manner that it is converted by the printer into image data having a second grade different from the first grade when it is determined that print data to be output to the printer is incapable of being converted by the printer into image data having the first grade. A method according to claim 8, characterised by generating in said generating step a command indicating the second grade and inserting the command into the print data output to the printer. A method according to claim 8 or 9 characterised by further comprising the step of obtaining the grade lowering conditions from the printer. A method according to claim 8 or claim 9, further comprising the step of registering the grade lowering conditions in advance, wherein in said determining step, it is determined using said grade lowering conditions whether or not the printer is capable of converting print data into image data having the first grade. A method according to any one of claims 8 to 11, wherein the first and second grades are at least one of resolution and gradation. A method according to claim 8, characterised by , in said generation step, inserting a resolution lowering command for causing the printer to lower its resolution into the print data when the print data is to be converted into image data of the second grade, the resolution lowering command not being inserted into the print data when it is to be converted into image data of the first grade. A method according to any one of claims 8 to 11, characterised by further comprising the steps of: informing an operator if a decision cannot be made in said determining step so as to enable the operator to input a request for printing on the basis of image data having the second grade. A storage medium storing processor implementable instructions for controlling a processor to carry out the method of any of claims 8 to 14. An electrical signal carrying processor implementable instructions for controlling a processor to carry out the method of any one of claims 8 to 14.

Inventors: KAWAMOTO HIROKAZU, KAWAMOTO, HIROKAZU
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1996
Main classification: G06F3
IPC codes: B41J5, G06F3