1. Field of the Invention
The present invention relates to a computer-readable record medium recording a driver program or the like for causing the host device to execute processing for generating image data in a host device and transferring this image data to a printing device and in particular relates to a computer-readable record medium recording a driver program or the like capable of performing efficient transfer of the image data, taking into account both the amount of data to be accumulated in the host device and the timing of commencement of printing by the printing device.
2. Description of the Related Art
Usually, in a printing system in which printing is executed on a printing medium such as paper, printing data are transmitted from a host device such as a personal computer and the printing is executed in accordance with this printing data by the printing device that receives this printing data. Until printing is completed, processing such as processing to convert the data of the printing request that is issued from an application in the host device into image data represented by color density values for each pixel, and processing to convert the color representation of this image data into a color representation on the printing device and processing to convert the data after this color conversion into a dot image are performed on this printing data.
In such a printing system, in recent years, so-called host-based processing has come to be performed, in which the processing up to and including the processing for the above color conversion is performed by the host device. If this is done, the image data after color processing is transmitted to the printing device after compression by the host device and the printing device employs the data which it receives after decompression. Also, in the compression processing of image data that is transmitted from the host device, usually, processing is performed for each region, called a band, obtained by dividing a range corresponding to one page of the printing medium with a prescribed length in the height direction. For example, if the image data after the color conversion is expressed by Y (yellow), M (magenta), C (cyan), and K (black), image data including these four colors is subjected to sequential compression processing in band units to convert it to a condition capable of transmission to the printing device.
Such data transfer to a printing device after compression processing was conventionally performed by various methods. One of these methods was to perform transmission to the printing device sequentially from band image data in respect of which compression had been completed, in the order of the compression processing described above. Transmission of data in accordance with band sequence irrespective of the color of the image data in this way will hereinbelow be termed band sequential data transfer. In the case where the printing device is a device that performs printing processing, one color at time, in respect of a single page of the printing medium, such as for example a 4-cycle laser printer, the printing device must receive image data such that the image data of at least the first color arrives in time for the printing processing of this color. Usually, the printing processing i.e. the printing processing of the page cannot be commenced until substantially all of the image data of this first color has been received. In the method in which transmission to the printing device is effected sequentially from the image data (corresponding to all the colors) of a band whose compression has been completed, in accordance with the band sequence referred to above, reception of the image data of the first color in respect of the page that is being processed takes place with substantially the same timing as the timing of reception of all of the image data of the page by the printing device. Consequently, in this method of data transfer, printing processing in respect of the page that is to be processed cannot be commenced ahead of time.
Another method of data transfer is the method in which the compressed image data in each band is accumulated in the host device and data transfer to the printing device of the image data corresponding to one page is effected in the order in which printing processing of the colors is performed by the printing device. For example in the case where the image data is constituted by YMCK four-color data, first of all, all of the Y data, of the image data corresponding to one page, is transferred and then all of the M data, all of the C data and all of the K data are transferred in turn. This method, in which the image data corresponding to one page is thus transmitted in color sequence irrespective of the order of the bands, will hereinbelow be referred to as plane sequential data transfer. Such a method is adopted for example in the device described in Laid-open Japanese Patent Application No. 2002-236563. In the case of a printing device such as for example a 4-cycle laser printer in which printing processing is performed one color at a time for each page, if the method is adopted, as described above, in which data transfer of image data corresponding to one page to the printing device is performed in the order in which the printing processing of the colors is performed, it becomes possible to commence printing processing of the page at an early stage during this data transfer. This method, in which printing processing in respect of the page is commenced before all of the image data in respect of a single page have been received, will be termed the “flying start” method.
However, if the method of transmitting to the printing device sequentially after the image data (corresponding to all the colors) of a band whose compression has been completed, always in accordance with band sequence as described above, is adopted, as described above, in the case of a printing device that performs processing in page sequence, a flying start cannot be achieved at an early time-point, giving rise to the problem that throughput of the printing device cannot be improved.
Also, if the method is adopted in which data transfer to the printing device is performed in a sequence according to which printing processing of the colors is performed in respect of the image data corresponding to a single page, always in accordance with the plane sequence described above, although a flying start can be achieved at an early time-point, most of the image data corresponding to a single page must be temporarily accumulated in the host device, so the memory (RAM or the like) of the host device is employed for this purpose, giving rise to the possibility that the processing performance of the host device may be adversely effected.
Accordingly, an object of the present invention is to provide a driver program or the like wherein the processing for generating image data at the host device and transferring this image data to the printing device is executed in the host device, and whereby efficient data transfer can be achieved in terms of achieving a balance of processing performance of the host device and throughput of the printing device.
In order to achieve the above object, according to one aspect of the present invention, a computer-readable record medium recording a driver program that causes the host device to execute processing for generating image data comprising data of a plurality of colors and transferring the image data to the printing device causes said host device to execute processing whereby, when performing transfer of said image data corresponding to one page to said printing device, if the amount of said image data corresponding to one page is smaller than a predetermined first amount, said image data corresponding to one page is transferred to said printing device by band sequential transfer in which data transfer is performed in accordance with the order of bands obtained by dividing said image data corresponding to one page at prescribed heights irrespective of color; if said image data amount corresponding to one page is equal to or more than said first amount but smaller than a predetermined second amount that is larger than said first amount, said image data corresponding to one page is transferred to said printing device by plane sequential transfer in which data transfer is performed in accordance with the order of colors, irrespective of said bands; and if said image data amount corresponding to one page is equal to or more than said second amount, said image data corresponding to one page is transferred to said printing device in mixed fashion using both said band sequential transfer and said plane sequential transfer. Consequently, according to the present invention, efficient data transfer can be performed taking into account both processing performance of the host device and throughput of the printing device, by selection of a suitable data transfer method depending on the size of the data of that is transmitted to the printing device.
Furthermore, in the invention described above, in a preferred embodiment, the transfer processing in which said band sequential transfer and plane sequential transfer are employed in mixed fashion comprises a first step wherein data of all or some of the colors of said plurality of colors is transferred to said printing device by said band sequential transfer and, if this transfer is performed in respect of said data of some of the colors, data of the colors that were not transferred is accumulated in said host device, and a second step in which the data accumulated in said first step is transferred to said printing device by said plane sequential transfer, wherein the number of colors whose data is transferred in said first step changes with a prescribed timing such that the volume of the data of each color that is accumulated in said host device is smaller for the color that is used earlier in said printing device. In this way, data transfer can be performed in an advantageous fashion, since the timing of a flying start when data transfer to the printing device is performed in which band sequential transfer and plane sequential transfer are employed in mixed fashion is advanced.
In order to achieve the above object, according to another aspect of the present invention, in a data transfer method whereby image data comprising data of a plurality of colors generated in an host device is transferred to a printing device, when performing transfer of said image data corresponding to one page to said printing device, if the amount of said image data corresponding to one page is smaller than a predetermined first amount, said image data corresponding to one page is transferred to said printing device by band sequential transfer in which data transfer is performed in accordance with the order of bands obtained by dividing said image data corresponding to one page at prescribed heights irrespective of color; if said image data amount corresponding to one page is equal to or more than said first amount but smaller than a predetermined second amount that is larger than said first amount, said image data corresponding to one page is transferred to said printing device by plane sequential transfer in which data transfer is performed in accordance with the order of colors, irrespective of said bands; and if said image data amount corresponding to one page is equal to or more than said second amount, said image data corresponding to one page is transferred to said printing device in mixed fashion using both said band sequential transfer and said plane sequential transfer.
Furthermore, in the invention described above, in a preferred embodiment, the transfer processing in which said band sequential transfer and plane sequential transfer are employed in mixed fashion comprises a first step wherein data of all or some of the colors of said plurality of colors is transferred to said printing device by said band sequential transfer and, if this transfer is performed in respect of said data of some of the colors, data of the colors that were not transferred is accumulated in said host device, and a second step in which the data accumulated in said first step is transferred to said printing device by said plane sequential transfer, wherein the number of colors whose data is transferred in said first step changes with a prescribed timing such that the volume of the data of each color that is accumulated in said host device is smaller for the color that is used earlier in said printing device.
Further objects and features of the present invention will become clear from the embodiments of the invention described below.
An embodiment of the present invention is described below with reference to the drawings. However, this embodiment is not limitative of the technical scope of the present invention. Identical or similar items in the drawings are described by giving them the same reference numerals or reference symbols.
The host computer 1 is the host device in this embodiment and performs printing requests by transmitting image data, after color conversion processing, to the printer 2. As shown in
The printer driver 12 is installed in and executed by the host computer 1. The printer driver 12 is read from a floppy disk or a CD-ROM and then installed in the host computer 1 or is downloaded from a server via the Internet or the like and then installed in the host computer 1.
The printer driver 12 is the section that receives a printing request from the application 11 and generates image data and transmits this image data to the printer 2. The printer driver 12 first of all interprets the data from the application 11 and expands it to the image data constituting the data to be printed for each pixel. This image data that is thus generated is data comprising density values of each color of for example R (red), G (Green), and B (blue). After this, the printer driver 12 performs color conversion processing in band units as described above on this RGB image data to convert it to the YMCK image data that is used by the printer 2. The printer driver 12 performs compression processing on this image data that is thus generated having data of each of the colors YMCK for each pixel, in band units. This is in order to shorten the data transfer time to the printer 2.
The image data that has thus been subjected to compression processing is in a condition in which it is capable of being transferred to the printer 2, the printer driver 12 performs data transfer processing on the image data after this compression processing has been completed. A characteristic feature of this printer driver 12 is in this data transfer method. A specific description will be given later, but separate use is made, as appropriate, in accordance with the data size of the page that is to be subjected to transfer processing, of a method in accordance with band sequence described above, a method in accordance with plane sequence or a method in which both of these are employed. The printer driver 12 may comprise a program that designates the procedure for processing as described above and a control device that executes the processing in accordance with this program.
Next, the memory 13 is RAM that is provided in the host computer 1 and is used in various applications. However, when executing printing, some of the image data that has been subjected to compression processing by the printer driver 12 is temporarily stored therein. The view that is shown below the memory 13 in
The printer 2 receives image data from the host computer 1 and executes printing in accordance with this image data and is a 4-cycle laser printer. As shown in
The printing processing from the processing in the decompressing section 22, to be described, to the point where printing is executed by the engine 24 is executed continuously, one color at a time, in page units, so the printer data for each color must all be received and stored in the data buffer 21 until processing of data transfer from the data buffer 21 for this color to the engine 24 has been completed. In other words, printing processing in respect of the page whose printing processing is to be performed can be commenced even in a condition in which the plane data for all the colors has not been received from the host computer 1. In other words, a flying start is possible. It should be noted that, in this embodiment, it is assumed that this printing processing is executed in YMCK order. For example, in the view below the data buffer 21 shown in
The decompression section 22 is a section that extracts the compressed data from the data buffer 21 when the printing processing is commenced and performs processing to restore this data to its original condition. Also, the screen processing section 23 is a section that executes screen processing on the data that have been decompressed by this decompression section 22 to convert the data of each pixel to dot image data. The engine 24 is a section that executes printing on to a printing medium in accordance with the data produced by the screen processing. In the printing processing that is performed by this decompression section 22, screen processing section 23 and engine 24, the various processes are performed synchronously, so that, as described above, they are executed continuously, one color at time, in page units.
First of all the printer driver 12 finds (step S10) the data size (S) (image data amount) in respect of the page to be processed. The data size S that is thus found is preferably the size after this compression processing of this page, but, since, at this time-point, the compression processing in respect of this page will not have been completed, the exact size after compression cannot be found. Accordingly, the data size S is found by inference from for example the data size prior to compression processing. Also, it would be possible to assume a suitable data size S for the data size prior to compression processing.
Next, the data size S that is thus found is compared with a predetermined first size S1 (first amount) (step S20) and, if S is smaller than this (Yes in step S20), the printer driver 12 transfers all of the image data corresponding to this page by the band sequential method described above (step S30).
Returning to
In this way, when data transference is performed in the plane sequence (step S50), data is successively transferred from left to right in the direction of the arrow shown in
Returning to
As described above, data transfer is performed by one or other method, depending on the data size S until transfer processing to the printer 2 in respect of the page has been completed. In this way, in the printer driver 12 according to this embodiment, if the data size of the page to be processed is small, transfer processing is performed in the band sequence; if the data size is intermediate, transfer processing is performed in accordance with the plane sequence; and if the data size is large, transfer processing is performed by the transfer sequence and plane sequence in mixed fashion. Hereinbelow, a specific method whereby such band sequence and plane sequence transfer may be performed in mixed fashion will be described.
Next, when transfer of the band Bk has been completed, the printer driver 12 continues transfer in band sequence, but, up to and including the predetermined band (the l-th band), processing (step S62) is performed whereby, in respect of the data of a band that has been subjected to compression processing, the YMC data is transferred in band sequence but the remaining data i.e. the K data is accumulated in the memory 13. In the example shown in
Next, when the transfer of band B1 has been completed, the printer driver 12 performs transfer in band sequence of the YM data of the bands that have been subjected to compression processing, and performs processing to accumulate the remaining data i.e. the CK data in the memory 13 up to and including a predetermined band (the m-th band) (step S63). In the example shown in
Next, when transfer of the band Bm has been completed, the printer driver 12 performs transfer in band sequence, in respect of the data of the bands that have been compressed, only of the Y data, up to and including a predetermined band (the n-th band) i.e. in respect of the data corresponding to this one page whose compression processing has been terminated, and performs processing to accumulate the remaining, MCK data in the memory 13 (step S64). In the example shown in
At the time-point where this processing of step S64 has been completed i.e. at the time-point where the compression processing in respect of the data corresponding to this one page has been completed all of the data in respect of Y will have been transferred, the data in respect of M will have been transferred up to and including the band Bm, the data in respect of C will have been transferred up to and including the band Bl and the data in respect of K will have been transferred up to and including the band Bk.
In this way, when data transfer in band sequence has been completed from the step S61 to the step S64, the printer driver 12 transfers the data accumulated in the memory 13 to the printer 2 in plane sequence. First of all, all of the data in respect of M accumulated in the memory 13 are transferred (step S65). In the example shown in
Next, all of the C data accumulated in the memory 13 are likewise transferred (step S66). In the example shown in
When the transfer of the data are accumulated in the memory 13 has been completed in this way, the data transfer processing in respect of the image data corresponding to this one page in the case where the band sequence and the plane sequence are employed in mixed fashion is terminated.
As described above, when image data corresponding to one page is transmitted, the printer driver 12 according to this embodiment transfers data to the printer 2 in a transfer order (method) in accordance with the data size S and appropriate to this size.
In
In the case of the band sequence shown in
In
In the case of the plane sequence shown in this
As described above, comparing the case in which transfer is performed solely in band sequence and the case where transfer is performed solely in plane sequence, Tp>Tb, so, in the case of transfer using plane sequence, the transfer processing (printing processing) can be commenced earlier.
As described above, in a printing system according to this embodiment, if the data size S corresponding to one page is smaller than the first size S1, data transfer is performed entirely using band sequence so that processing with the timing as shown in
Also, in this embodiment, as described above, if the data size S corresponding to one page is larger than the first size S1 but smaller than the second size S2, data transfer is performed entirely in plane sequence. This second size S2 is set to a size such that the size of the data (for example within the thick line in
Furthermore, in this embodiment, as described above, in the case where the data size S corresponding to one page is larger than the second size S2, data transfer is performed employing the band sequence and plane sequence in mixed fashion, as described with reference to
As described above, at the time-point where the Y data has all been transmitted to the printer 2, some of the data in respect of the other colors will have also been transmitted, so the timing of reception (tbpy in the Figure) of all of the Y data at the printer 2 will be later than the timing (tpy in the Figure) in the case where transfer is effected entirely in plane sequence. Also, usually, the times of completion of reception in respect of the M and C data also (tbpm and tbpc in the Figure) will be later than the timings for transfer performed entirely in plane sequence (tpm and tpc in Figure). Usually therefore in the case of this mixed-method transfer, it will not be possible to perform a flying start earlier than in the case where transfer is performed entirely in plane sequence. On the other hand, compared with the case where transfer is performed entirely in band sequence (for example the case of
From the above, for the flying timing in the case where such mixed-method transfer is performed, a timing can be adopted that is intermediate between the case of entirely plane sequential transfer and the case of entirely band sequential transfer. In the example shown in
Also, the amount of data that must be accumulated in the memory 13 of the host computer 1 in the case of this mixed-method transfer can be relatively smaller than in the case where transfer is performed entirely in plane sequence (see
In the case where band sequential transfer and plane sequential transfer are employed in mixed fashion, some degree of benefit can therefore be obtained by performance of flying start, without interfering with the processing performance of the host computer 1. Usually, the timing with which a flying start can be formed is delayed if the amount of data that can be accumulated in the memory 13 is reduced and, conversely, the timing with which a flying start can be performed is advanced if the amount of data that can be accumulated in the memory 13 is made larger. Such adjustment can be made by altering the timings Bk, B1 and Bm described with reference to
As described above, with a printer driver 12 according to this embodiment, when image data corresponding to one page is transmitted, data transmission to the printer 2 is performed by a method in accordance with each data size: if the data size is small, data transmission is performed entirely in band sequence, if the data size is intermediate, data transmission is performed entirely in plane sequence, and if the data size is large, data transmission is performed in accordance with band sequence and plane sequence in mixed fashion. Consequently, efficient data transfer can always be implemented taking into consideration both processing performance of the host computer 1 and throughput at the printer 2.
It should be noted that, in the case in which a transfer is effected in mixed fashion using both band sequence and plane sequence, in this embodiment, as shown by way of example in
The range of protection of the present invention is not restricted to the embodiment described above but extends to the inventions set out in the claims and equivalents thereof.
| Number | Date | Country | Kind |
|---|---|---|---|
| 2004-156513 | May 2004 | JP | national |