1. Field of the Invention
The present invention relates to an image-forming system such as a printer connected to a host device such as a host computer and an image-forming program.
2. Description of Related Art
An image-forming system according to a related art has a restriction of memory capacity, and therefore, divides image data into a plurality of bands each containing divided bitmap data. The bands of divided bitmap data are successively loaded into, for example, band memories 1 and 2. For example, first and second bands are loaded into the band memories 1 and 2, and thereafter, the first band is transferred from the band memory 1 to a print engine. Thereafter, a third band is loaded into the band memory 1 by overwriting the first band existing in the band memory 1. The first band transferred to the print engine is printed on a sheet of paper. All the bands are transferred to the print engine to be printed like wise manner.
The image-forming system may read a plurality of image data pieces, enlarge or reduce the read data pieces, combine the enlarged or reduced data pieces into one, and print the combined data piece on a single sheet of paper. This process is called an N-up process. The N-up or the like process needs a large processing capacity to limit the processing speed of the image-forming system.
Rearranging the final image in the memory region into bands increases the number of processes and delays a processing speed.
In
To increase a processing speed, there is a technique to change the height of one band. This technique, however, is not effective for the N-up process or when a data end is in the middle of a band because the above-mentioned data rearranging process and data end memorizing process are needed in such a case.
Changing the heights of some bands causes an incident that a band of higher height must be loaded into a band memory within a short period in which a band of lower height is output to a print engine. Then, the band of higher height is not completely loaded into the band memory within the period, to cause a print overrun error. (Refer to Japanese Unexamined Patent Application Publications No. 2000-301781, No. 2001-171185, No. 2003-80771, and No. 2003-72161.)
An object of the present invention is to provide an image-forming system and an image-forming program, capable of speedily carrying out the N-up process and other processes in a printer or the like. Another object of the present invention is to provide an image-forming system capable of preventing a print overrun error even if there are bands having different heights.
In order to accomplish the objects, a first aspect of the present invention provides an image-forming system having a band divider that divides image data into bands so that an end of the image data agrees with the boundary of a last one of the bands, to thereby improve a processing speed.
The first aspect divides image data into bands and adjusts the height of a last one of the bands. When carrying out the N-up process, the first aspect needs no special processes for the last band such as forming a final image in a memory region and rearranging the final image in the memory region into bands. Accordingly, the first aspect can increase a processing speed.
A second aspect of the present invention provides an image-forming system having a band divider that divides image data into bands so as to change the height of at least one of the bands from the height of the remaining bands and a band memory including a main part into which the remaining bands are loaded and an auxiliary part into which the band, whose height is changed, is loaded.
The second aspect can smoothly load image data divided into bands of different heights, which may include a short height involving a short transfer time, into the band memory, thereby preventing a print overrun error.
An image-forming system according to an embodiment of the present invention will be explained. This system realizes a high-speed operation by making an end of image data agree with the boundary of a last band that corresponds to an end piece of divided image data. The system employs an auxiliary memory to prevent a print overrun error even if there are bands of divided image data having different heights.
[Image-Forming System]
In
The hardware organization and image-forming program in the image-forming system 1 realize a band divider 3, an image shaping unit 5, an image combiner 7, a loader 9, and an output unit 11. In addition, the image-forming system 1 has the print engine 13.
The band divider 3 receives image data from an image generator 17, a scanner 19, and a facsimile 21. The image generator 17 is connected to a host computer 15. The band divider 3 divides the received image data into a plurality of bands each containing divided bitmap data. At this time, the band divider 3 aligns an end of the read image data with the boundary of a last band. Namely, the band divider 3 can vary the height of the last band. The details of this will be explained later. The band divider 3 sends the bands of divided bitmap data to the image shaping unit 5.
The image shaping unit 5 reduces, enlarges, or rotates the image and sends the bands of bitmap data to the image combiner 7.
The image combiner 7 carries out an N-up process so that the bands of bitmap data may be printed on a single piece of paper. For this, the image combiner 7 combines the bands in a main scanning direction and sends the combined bands to the loader 9. According to this embodiment, the main scanning direction is the same meaning as a direction orthogonal to a sheet feeding direction.
The loader 9 sequentially loads the bands into a band memory, from which the bands are sequentially sent to the output unit 11. The band memory is comprised of a main video memory and an auxiliary video memory. According to this embodiment, the main video memory includes two video random access memories VRAM 1 and VRAM 2 each capable of storing a band whose height is greater than a threshold N. Particularly, the VRAMs 1 and 2 store the bands excepting the last band. The auxiliary video memory according to this embodiment is a single video random access memory VRAM-special capable of storing a band whose height is equal to or smaller than the threshold N. Particularly, the VRAM-special stores the last band.
Namely, the loader 9 successively loads all bands as the remaining bands except the last band as one band into the VRAMs 1 and 2 and the last band into the VRAM-special.
The output unit 11 sequentially outputs, at predetermined timing, the bands in the video memories to the print engine 13.
The print engine 13 prints the output bands on a sheet of paper.
In this way, the band divider 3 divides image data into bands each containing divided bitmap image data. The image shaping unit 5 and image combiner 7 scale and combine the bands of image data, and the loader 9 loads the bands of image data into the video memories band by band. The output unit 11 outputs the bands from the video memories to the print engine 13 that prints the bands of image data on a sheet of paper.
[Band Boundary]
According to the 4-up process of
Ends 31, 33, 35, and 37 of the read image data pieces 23, 25, 27, and 29 are set as the boundaries of last ones of the bands divided from the data pieces 23, 25, 27, and 29. The height of the last bands 4 and 8 is lower than the height of the other bands.
According to the 2-up process of
Ends 43 and 45 of the read image data pieces 39 and 41 are set as the boundaries of last ones of the bands divided from the data pieces 39 and 41. The height of the last bands 4 and 8 is lower than the height of the other bands.
[Data Load and Output]
In
First, the bands 1 and 2 of divided bitmap data are sequentially loaded into the VRAMs 1 and 2. Thereafter, the loading of a band into one of the video memories is carried out whenever a band is output to the print engine 13.
The bands of divided bitmap data are sequentially output from the video memories to the print engine 13 from the band 1. Namely, when the band 1 is completely output to the print engine 13, the band 2 is output to the print engine 13, and at the same time, the bitmap data of the band 3 is loaded into the VRAM 1.
After the band 2 is completely output to the print engine 13, the band 3 is output to the print engine 13.
After the loading of the band 3, the bitmap data of the band 4 is loaded into the VRAM-special.
After outputting the band 2 and after loading the band 4, the bitmap data of the band 5 is loaded into the VRAM 2.
After outputting the band 3, the band 4 is output to the print engine 13, and at the same time, the bitmap data of the band 6 is loaded into the VRAM 1.
After outputting the band 4, the band 5 is output to the print engine 13. Before the completion of outputting the band 5, the loading of the band 6 is completed.
After outputting the band 5, the band 6 is output to the print engine 13, and at the same time, the bitmap data of the band 7 is loaded into the VRAM 2.
After loading the band 7, the bitmap data of the band 8 is loaded into the VRAM-special.
After outputting the band 6, the bands 7 and 8 are successively output to the print engine 13.
According to this embodiment, the band 5 is loaded not within the short output time of the band 4 but it is loaded with the use of the long output time of the band 3. This is achievable because the band 4 is loaded into the VRAM-special instead of the VRAM 1 or 2. Also, the band 6 is loaded not within the short output time of the band 4 alone but it is loaded within the long output time of a combination of the bands 4 and 5. In this way, this embodiment can smoothly load and output bands of divided bitmap image data, thereby preventing a print overrun error.
If there is no VRAM-special, the band 4 must be loaded into the VRAM 2, and the band 5 must be loaded within the short output time of the band 4. As a result, loading the band 5 within the short output time of the band 4 fails and causes a print overrun error.
In this way, the above-mentioned embodiment loads a low-height band of bitmap data into the VRAM-special, to surely prevent a print overrun error.
[Image-Forming Process]
The process starts when the image generator 17, for example, outputs image data to the band divider 3.
In step S1, the image data are input into the image-forming system 1 and the input image data are transferred to and received by the band divider 3.
In step S2, the band divider 3 divides the image data into a plurality of bands each containing divided bitmap image data.
Step S3 determines whether or not the image data must be reduced or enlarged for an N-up process. If reduction or enlargement is needed (YES), step S4 is carried out, and if not (NO), step S5 is carried out. If two image data pieces each of A4-size (Japanese Industrial Standard) are printed on a single sheet of paper of A4-size in the example of
In step S4, a reduction/enlargement operation is conducted. When printing two image data pieces each of A4-size on a single sheet of paper of A4-size, each A4 image data piece is reduced into an image data piece of A5-size (Japanese Industrial Standard), and step S5 is carried out. When printing two A6-size (Japanese Industrial Standard) image data pieces on an A4 sheet, the A6-size image data pieces are each enlarged to an A5-size.
In step S5, it is determined whether or not a rotation operation is needed. The rotation is carried out when, for example, orienting image data pieces for an N-up process. If rotation is needed (YES), step S6 is carried out, and if not (NO), step S7 is carried out.
Step S6 carries out a rotational operation to adjust the orientation of each image data piece for an N-up process. Thereafter, step S7 is carried out.
In step S7, it is determined whether or not all pages to be combined together are present for an N-up process. If there are a required number of pages for an N-up process (YES), step S8 is carried out, and if not (NO), the steps starting from step S1 are repeated.
Step S8 combines image data pieces to be adjacent to each other in the direction orthogonal to a sheet feeding direction. In the 4-up process of
In step S9, first two bands are loaded into the VRAMs. In the example of
In step S10, it is determined whether or not if a given band has been output from the VRAMs to the print engine 13. Namely, the bands 1 to 8 shown in
When step S10 determines that the band 1 has been output to the print engine 13, step S11 is carried out.
In step S11, it is determined whether or not the output is from the VRAM-special. Namely, step S11 checks to see if the output in step S10 has been made from the VRAM 1 or 2 or from the VRAM-special. If it has been from the VRAM-special (YES), step S12 is carried out, and if it has been from the VRAM 1 or 2 (NO), step S13 is carried out. In this example (
In step S13, the next band is loaded into the VRAM in question. In the example of
In step S14, it is determined whether or not all of the bands 1 to 8 have been loaded into the VRAMs. If it is so (YES), step S15 is carried out to end the process, and if not (NO), step S16 is carried out. In this example (
In step S16, it is determined whether or not the height of the next un-loaded band is equal to or less than a threshold N. Namely, step S16 checks to see if the next un-loaded band is the band 4 or 8 whose height is lower than the threshold N. If the height is equal to or lower than the threshold N (YES), step S17 is carried out, and if not (NO), step S18 is carried out. In this example (
In step S17, the band whose height is equal to or lower than the threshold N is loaded into the VRAM-special. In this example (
In step S19, a wait operation is carried out so that the band 4 is completely loaded as shown in
The resumed step S10 checks to see if the band 2 has been output to the print engine 13. If it has been output, steps S11 and S13 are carried out. In step S13, the band 5 as the next un-loaded band is loaded into the VRAM 2, and steps S14 and S16 are carried out.
In step S16, the band 6 as the next un-loaded band and is next to the band 5 loaded in step S13 has a height exceeding the threshold N, and therefore, step S18 is carried out.
In step S18, a wait operation is executed so that the band 5 is completely loaded as shown in
Step S10 checks to see if the band 3 already loaded has been output to the print engine 13. If it has been output, steps S11 and S13 are carried out. In step S13, the next un-loaded band 6 is loaded into the VRAM 1, and steps S14, S16, and S18 are carried out.
In step S18, a wait operation is executed so that the band 6 is completely loaded. Thereafter, step S10 is again carried out.
In step S10, it is checked to see if the band 4 has been output to the print engine 13. If it has been completely output, step S11 is carried out. In step S11, it is determined that the band 4 just output is from the VRAM-special, and step S12 is carried out.
Step S12 executes a wait operation, and step S10 is again carried out.
In step S10, it is checked to see if the next loaded band 5 has been output to the print engine 13. If it has been output, steps S11 and S13 are carried out. In step S13, the band 7 as the next un-loaded band is loaded into the VRAM 2, and steps S14, S16, and S17 are carried out.
In step S17, the band as the next un-loaded band is loaded into the VRAM-special, and step S19 is carried out.
Step S19 executes a wait operation so that the band 8 is completely loaded. Thereafter, step S10 is again carried out.
In step S10, it is checked to see if the loaded band 6 has been output to the print engine 13. If it has been output, steps S11, S13, and S14 are carried out. Since the band 8 has been loaded in step S14, step S15 is carried out to end the loading process.
After the completion of the output of the band 6 to the print engine 13, the bands 7 and 8 are successively output to the print engine 13 to finish the printing work.
The steps shown in the flowcharts of
The image-forming program makes the controller (for example, a computer) of the image-forming system 1 execute the dividing step S2 to divide image data into a plurality of bands each containing divided bitmap image data, the loading steps S13 and S17 to load the bands into the band memory, and the output step S10 to sequentially output the bands to the print engine 13 at predetermined timing.
The dividing step S2 sets an end of the image data as the boundary of a last one of the bands.
The loading step S13 is a main loading step to load bands except the last band into the VRAMs 1 and 2 that are main video memories. The loading step S17 is an auxiliary loading step to load the last band into the VRAM-special that is an auxiliary video memory.
The auxiliary loading step S17 loads a band whose height is equal to or smaller than a threshold N into the VRAM-special.
To print a plurality of image data pieces on a single sheet of paper, the image combining step S8 combines bands divided from the image data pieces in a direction orthogonal to a sheet feeding direction into a combined image.
[Effect]
The image-forming system 1 according to the embodiment mentioned above of the present invention sets an end of an image data piece as the boundary of a last one of bands that are divided from the image data piece. Therefore, the system 1 only has to read an image data piece and divide the data piece into a plurality of bands, and it can set the height of a last one of the bands according to an end of the data piece. The system 1 can carry out an N-up process without forming a final image combining all the image data pieces 23, 25, 27, and 29 together in a memory region and rearranging the final image into bands or without specially processing image data in the last band. Accordingly, the system 1 achieves a high processing speed.
To print a plurality of image data pieces on a single sheet of paper, the image-forming system 1 according to the present invention has the image combiner 7 that combines divided image pieces in the main scanning direction into a combined image. The image combiner 7 enables to speedily and smoothly carry out an N-up process.
The image-forming program executed in the image-forming system 1 according to the present invention includes the dividing step S2 to divide image data into a plurality of bands each containing divided bitmap image data, the loading steps S13 and S17 to load the bands into a band memory, and the output step S10 to sequentially output the bands from the band memory to a print engine at predetermined timing. The dividing step S2 sets an end of the image data as the boundary of a last one of the bands. The program can carry out an N-up process without forming a final image and rearranging the final image into bands or without specially processing image data in the last band. The program, therefore, can improve the processing speed of a computer that executes the program.
To print a plurality of image data pieces on a single sheet of paper, the image-forming program includes the image combining step S8 to combine bands divided from the image data pieces in the main scanning direction into a combined image. This step helps the computer speedily and smoothly executing an N-up process.
In the image-forming system 1 according to the present invention, the band divider 3 can change the height of a last band corresponding to an end of an image data piece from the height of the remaining bands. In the system 1, the band memory is comprised of the VRAMs 1 and 2 into which bands of normal height are loaded and the VRAM-special into which a height variable last band is loaded. Even if a short output time occurs due to a band having a lower height, the bands of the normal height are surely loaded into the VRAMs 1 and 2, and therefore, no print overrun error will occur.
Although the embodiment has been mainly explained in connection with an N-up process, the present invention is also useful to speed up a normal printing process because the present invention eliminates the processing of the end of a given divided data piece.
According to an embodiment of the present invention, the height of not only a last band but also a given intermediate band is changeable. Namely, two or more bands whose heights are changed may be existed.
Number | Date | Country | Kind |
---|---|---|---|
2005-318185 | Nov 2005 | JP | national |
2005-318186 | Nov 2005 | JP | national |