Image recording apparatus

Abstract: An image recording apparatus compares the memory size for storing image data corresponding to an image to be recorded with a recording sheet size designated by a recording sheet size designation command included in printing data output from an external apparatus. If the recording sheet size exceeds the memory size, the apparatus forms image data in a resolution lower than a normal resolution and stores the data in the memory. On printing the image in accordance with the stored image data, the apparatus multiplies the data in the memory and records the image in the initial resolution.

Description: The present invention relates to an apparatus and method for supplying image data to an image recording apparatus which records a visible image on a recording medium in accordance with the printing data. Generally, when a host computer outputs printing data to a printer, it outputs printing data including command data to designate the size of the recording sheets. The printer stores dot image data based on the input printing data in a memory. The printer reads the image data out of the memory sequentially and outputs the data to a recording portion. This processing requires the memory to store at least image data corresponding to an image to be recorded by one printing motion of the recording portion. At this time, the number of dots of the image data should coincide with that of the image to be recorded. Recently, printing apparatus having a resolution of 300 dpi (300 dots per inch or approximately 12 dots per millimeter) has been generally used. This type of apparatus should be equipped with a memory having about 900 kilobyte(KB) capacity (for an A4-sized sheet). In a printer capable of printing an A3-sized image, the capacity of the memory should be doubled to 1.8 megabyte(MB). Further, a high resolution printing apparatus capable of outputting an A4 sized image with 600 dpi resolution requires a quadruple capacity of 3.6 MB. In this manner, the higher resolution becomes the larger memory capacity is required, resulting in large-sizing of apparatuses and raising the costs. GB-A-2224187 discloses an image data processor for processing image data into bit map data to be stored in a memory for subsequent use by a display or printer to output images with a predetermined resolution. A comparator determines whether the memory capacity required to store the bit map data defining an image at a normal output resolution is larger than the available memory capacity. If there is not sufficient available memory capacity, the bit map data is converted into second bit map data which defines the image at reduced resolution so that the second bit map data does not exceed the available memory capacity. The present invention has been made in consideration of the above conventional apparatuses. The invention provides an apparatus as set out in claim 1. The invention also provides a method of generating image data as set out in claim 9. Optional features are set out in claims 2 to 8 and 10 to 12. An embodiment provides an image recording apparatus capable of recording an image on a predetermined recording medium even if the amount of printing data of the image exceeds the memory capacity for storing the image data. An embodiment provides an image recording apparatus for, even when the amount of received printing data exceeds the memory capacity for storing the data, at least recording an image according to the printing data on a predetermined recording medium. An embodiment provides an image recording apparatus which, even when an area for storing recording image data based on designated printing data cannot be secured, at least records an image in an image size designated by the printing data. Other features and advantages of embodiments of the 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 thereof. Fig. 1 is a block diagram of a printer according to anembodiment of the present invention; Fig. 2 is a flowchart showing an outline of a printing processing in the embodiment; Fig. 3 is a diagram showing an example of an image in a bit map memory in the embodiment; Fig. 4 illustrates an image as a correction processing result in the embodiment; Figs. 5A to 5D are diagrams for explaining the correction processing in the embodiment; Figs. 6 and 7 are flowcharts showing in detail step S7 of Fig. 2; Fig. 8 is a cross-sectional view of a laser-beam printer in the embodiment; Fig. 9 illustrates an area structure of a RAM according to another embodiment; Fig. 10 illustrates the structure of a printing mechanism in another embodiment; and Fig. 11 is a block diagram of a printing apparatus comprising the printing mechanism of Fig. 10. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described in detail in accordance with the accompanying drawings. [First Embodiment] Fig. 8 is a cross-sectional view showing the inside structure of a laser-beam printer (hereinafter abbreviated to LBP) applied to an embodiment of the present invention. This LBP can register character pattern data and form data from a data generating source (not shown) and can print images in 600 dpi resolution. In Fig. 8, a LBP main body 100 stores information such as character information (character code information), form information and a macro instruction from a host computer (data generating source) connected to an external device. The LBP main body 100 forms corresponding character patterns and form patterns in accordance with the input information, and form an image on a recording sheet as a recording medium. Numeral 300 denotes a control panel 300 on which various operating switches and a LED(light emitting diode) display and the like are arranged. A printer control unit 101 controls the overall LBP 100 and analyzes information such as character information supplied from the host computer. Further, the printer control unit 101 converts mainly character information corresponding to character pattern into a video signal and outputs the signal to a laser driver 102. The laser driver 102 is a circuit for driving a semiconductor laser unit 103. The laser driver 102 generates a laser beam 104 by driving the semiconductor laser unit 103. A polygon mirror 105 rotating at a constant speed reflects the laser beam 104 with one of the side faces so that the laser beam 104 scans and exposes on an electrostatic drum 106 by being swept back and forth along a perpendicular direction to a conveying direction of a recording sheet. An electrostatic latent image such as a character pattern is formed on the electrostatic drum 106. A developing unit 107 arranged around the electrostatic drum 106 develops the latent image and transfer the image onto a recording sheet. The recording sheet is a cut-sheet type recording sheet set in a cassette 108 attached to the LBP 100. A paper feeding roller 109, document feeding rollers 110 and 111 convey the sheet into the LBP 100 and supply the sheet to the electrostatic drum 106. Fig. 1 is a block diagram of the printer control unit 101 which mainly controls the overall LBP main body 100. In Fig. 1, a host computer 1-1 transfers printing data. A receiving buffer 1-2 stores the input printing data. A CPU 1-3 for controlling the LBP 100 incorporates a ROM which stores programs necessary for image recording including a program about a processing procedure to be described with reference to Figs. 2, 6 and 7, and a RAM used as a work area. A font memory 1-4 stores font patterns and a page buffer 1-5 stores page information based on received data. Output image data for one page are stored in a bit map memory (first memory) 1-6, and output to an output memory (second memory) 1-7, where the resolution of the output image data is adjusted to that of an printer engine 1-8. The printer engine 1-8 (Fig. 8) forms an image on a recording medium based on a video signal sent corresponding to the output memory 1-7. Numeral 1-9 denotes a printed recording sheet. In the structure as described above, in this embodiment, when the amount of image data to be stored in the bit map memory 1-6 is insufficient for the resolution of the printer engine 1-8, the data in the bit map memory 1-6 are doubled and stored in the output memory 1-7 so that the resolution of the data in the output memory 1-7 is adjusted to that of the printer engine 1-8. It should be assumed that the original recording sheet size of the printing apparatus of this embodiment is defined as "size one", and the recording sheet size of an image to be printed is "size two" larger than the "size one". Conventionally, the image in the "size two" cannot be printed without installing additional memory board(s). However, this embodiment enables the printing in the "size two" without any additional memory board(s). The overall operation of the printing apparatus of this embodiment will be described with reference to a flowchart of Fig. 2. Note that this embodiment is premised that the printer engine 1-8 has 600 dpi resolution, and the page buffer 1-5 already stores printing data for one page. First, in step S101, the printing data are read out of the page buffer 1-5, then in step S102, whether the bit map memory 1-6 can secure a memory capacity for 600 dpi resolution (about 3.6 MB for A-4 sized sheet) is determined. This determination is made by examining a recording sheet designation command included in the printing data. If the memory capacity is sufficient, in step S103, output image data are formed in the bit map memory 1-6 in accordance with input image drawing information, adjusting the resolution of the output image data to that of output resolution (600 dpi). Thereafter, in step S104, data for several lines stored in the bit map memory 1-6 are transferred to the output memory 1-7, at the same time, the content of the output memory 1-7 is converted into a video signal and transferred to the printer engine 1-8 which prints images on the recording sheet 1-9. On the other hand, if it is determined in step S102 that the memory capacity of the bit map memory 1-6 is insufficient, i.e., it is determined that the bit map memory 1-6 cannot secure a bit map memory for 600 dpi resolution, the process proceeds to step S106, where a bit map memory for 300 dpi resolution (about 900 KB) is secured and output image data for 300 dpi resolution are formed. This is followed by step S107 for performing a processing A to be described below. Fig. 3 shows an example of image data in 300 dpi resolution stored in the bit map memory 1-6 in step S106. The size of each cell is 1/300 × 1/300 inch (85 µm × 85 µm) to represent one dot in the 300 dpi resolution data. Numerals 31 to 36 represent dots in "on" bit statuses. In this embodiment, the 300 dpi pixel data shown in Fig. 3 are converted into 600 dpi pixel data as shown in Fig. 4. As shown in Fig. 4, data for two lines in the 600 dpi resolution are equivalent to data for one line in the 300 dpi resolution. In other words, the same line data are read out of the bit map memory 1-6 twice to form a first line and a second line in the 600 dpi resolution to be output to the printer engine 1-8. More detailed explanation is as follows. First, in the first output processing of line data of the 600 dpi data (the first line data), the output memory 1-7 stores the line data in the 600 dpi resolution data to be output. Note that the pixel data read out of the bit map memory 1-6 are in 300 dpi resolution and the number of pixels of the data would be reduced to be half in 600 dpi resolution if they were written into the output memory 1-7 as they are. For this reason, a read-out address for the bit map memory 1-6 is controlled to be incremented by one at every second read-out operation. Otherwise, data for one pixel read out of the bit map memory 1-6 may be converted into data for two pixels before the data are written into the output memory 1-7. This doubling processing with respect to a main scanning direction is made by a software, however, if the processing is easy, can be made in a hardware. As described above, the pixel number for 600 dpi printing can be prepared. Further, the CPU 1-3 examines the statuses of lines of the data in the bit map memory 1-6 corresponding to the data written into the output memory 1-7, and performs correction (interpolation) to the pixel data. Thus, by outputting the corrected data to the printer engine 1-8, the first line data in the 600 dpi resolution are recorded. Next, a second processing (second line data) is followed, where line data in 300 dpi resolution are processed in the above manner and stored the output memory 1-7. Also the data in the memory 1-7 is interpolated and output to the printer engine 1-8. Fig. 4 illustrates the result of the correction processing. Pixels 41 to 48 represent black pixels in 600 dpi ("on" bit statuses) formed by simply doubling the 300 dpi data. Pixels 49b and 50a are corrected black pixels which were initially white ("off" bit statuses). Pixels 49a and 50b are maintained to be white. In the correction processing, whether a current processing is toward a first line of the 600 dpi data corresponding to an object 300 dpi line data or toward a second line of the 600 dpi data also corresponding to the object 300 dpi line is determined. Thereafter, whether the status of the object 600 dpi pixel data should be changed to "on" or not is determined based upon previous line data and next line data of the object 300 dpi line data. This correction processing will be described in detail with reference to Figs. 5A to 5D respectively showing four types of the correction. In Fig. 5A, if an object 600 dpi pixel (51) is positioned in the second line in 600 dpi output processing and made white by simple doubling processing, further, the next pixel and the pixel in the next line are both black, the object pixel is corrected to be black. In Fig. 5B, if an object 600 dpi pixel (52) is positioned in the second line in the 600 dpi output processing and the previous pixel and the pixel in the next line are both black, the object pixel is corrected to be black. In Fig. 5C, if an object 600 dpi pixel (53) is in the first line in the 600 dpi output processing and the next pixel and the pixel in the previous line are both black, the object pixel is corrected to be black. In Fig. 5D, if an object pixel (54) is in the first line in the 600 dpi output processing and the previous pixel and the pixel in the previous line are both black, the object pixel is corrected to be black. In the above processing, when an object 600 dpi pixel stored in the output memory 1-7 is white and the neighboring pixel is black, whether the object pixel should be corrected to be black or maintained white is determined. If the above conditions are satisfied, the object pixel is corrected to be black. Detailed explanation of the correction processing will be made with reference to flowcharts of Figs. 6 and 7. Note that variables n 1 , n 2 , b and L are secured in the RAM in the CPU 1-3 in advance. The variable n 1 is indicative of a line number of the 300 dpi data to be read in the bit map memory 1-6; the variable n 2 , a pixel position of uncorrected 600 dpi data stored in the output memory 1-7; the variable b, a status of the previous pixel in the output memory 1-7; and the variable L, a value showing whether a 600 dpi line being currently corrected is the first line or the second line corresponding to a 300 dpi line. It should be noted that the pixel in the output memory 1-7 indicated by variable n 2 corresponds to a n 2 /2th pixel of the object 300 dpi line in the bit-map memory 1-6 indicated by the variable n 1 , since the number of pixels in the output memory 1-7 is made by doubling the number of pixels in a 300 dpi line. First, in step S1, the variable n 1 is made "1" to indicate the first line of the 300 dpi data in the bit map memory 1-6, the variable L is made "1" to indicate the first line of 600 dpi data as an object line to be processed. Next, in step S2, the variable n 2 is made "0" and the variable b indicative of the status of the above described previous pixel is set to indicate "off" status as an initial stage of the processing. In step S3, a first line data of the 300 dpi data in the bit map memory 1-6 indicated by the variable n 1 are doubled along the main scanning direction and written into the output memory 1-7. In step S4, the variable n 2 is incremented by "1". In step S5, the value of the variable n 2 is examined to determine whether the processing for one line of the 600 dpi data has been finished. If NO, the process proceeds to step S6, while if YES, the process proceeds to step S18. When the process advances to step S6, a bit the position of which is indicated by the variable n 2 is read out of the output memory 1-7. In step S7, whether the variable b and the status of the read bit coincide is determined, i.e., whether the status of the pixels is changed is determined. If it is not changed, the object pixel is not regarded as an object to be corrected, therefore the process returns to step S4 where the next pixel is read. If it is determined that the status of the read object pixel is different from that of the previous pixel, the process advances to step S8, where the read bit status is stored in the variable b so that the variable b can be updated. In step S9, the content of the status of the read object pixel is examined to determine whether the bit status of variable b is off or not. If YES, the process proceeds to step S10, while if NO, the process proceeds to step S14. The off-status of the object pixel means that at least the previous pixel of the object pixel was in on-status, and the status of the object pixel has been changed to off-status. More specifically, the object pixel may be in the status of pixel 52 in Fig. 5B or that of pixel 54 in Fig. 5D. If the object pixel is actually in pixel 52 or 54 status, the bit status should be changed to on-status. The status-change processing is made in step S10 and the subsequent steps. In step S10, the variable L is examined to detect whether it is "1" or not, i.e., whether the processing currently being performed is to the first line or the second line of the 600 dpi data. In case L = 1, the process proceeds to step S11, where the status of a pixel at a position corresponding to the object pixel position in the previous line in the 300 dpi data in the bit map memory 1-6 is examined. More specifically, whether the status of the n 2 /2th pixel in the n 1 -1th line, i.e., the previous line of the object line is "on" or "off" is examined. If it is on-status, the status of the object pixel coincides with that of pixel 54 in Fig. 5D. Accordingly, in step S13, the pixel at the position indicated by the variable n 2 in the output memory 1-7 is changed to "on". The process returns to step S2. Further, if the decision in step S11 is "NO", the object pixel is kept white, then the process returns to step S2. If "NO" in step S10 (the processing is for the second line in the 600 dpi data), the status of a pixel n 2 /2 in the next line in the bit map memory 1-6 is examined. If it is on-status, the status of the object pixel corresponds to that of pixel 52 in Fig. 5B. Accordingly, the status of the pixel n 2 th in the 600 dpi data in the output memory 1-7 is changed to "on", and the process returns to step S2. If the decision in step S12 is "NO", the object pixel is keep white and the process returns to step S2. On the other hand, in step S9, if it is determined that the status of the object pixel is "on", it means that at least the previous pixel of the object pixel was in off-status and the object pixel has been changed to on-status. More specifically, the status of the previous pixel of the object pixel is may be the status of pixel 51 in Fig. 5A or that of pixel 53 in Fig. 5C. If the previous pixel is actually in pixel 51 or 53 status, the bit status should be changed to on-status. The status-change processing is performed in step S14 and the subsequent steps. In step S14, the variable L is examined to detect whether it is "1" or not, i.e., whether the processing currently being performed is to the first line of the 600 dpi data or not. In case L = 1, the process proceeds to step S15, where the status of a pixel at a previous pixel position (n 2 -1)/2 of the object pixel position in the previous line is "on" is determined. More specifically, whether the status of the n 2 /2th pixel in the n 1 -1th line in the bit map memory 1-6 is "on" or "off" is examined. If YES, the status of the previous pixel of the object pixel coincides with that of pixel 53 in Fig. 5C. Accordingly, the previous pixel, i.e., n 2 -1th pixel in the 600 dpi data in the output memory 1-7 is changed to "on", and the process returns to step S2. Further, if "NO" in step S15, the pixel is kept white and the process returns to step S2. If "NO" in step S14, i.e., it is detected that the line currently being processed is the second line of the 600 dpi data, the status of a pixel at a previous pixel position (n 2 -1) of the object pixel position in the next line is examined. If it is in on-status, the status of the previous pixel of the object pixel coincides with that of pixel 51 in Fig. 5A. Accordingly, the status of the previous pixel (n 2 -1) of the object pixel in the 600 dpi data in the output memory 1-7 is changed to "on", and the process returns to step S2. The correction processing is performed to the pixel(s) in the 600 dpi data in the output memory 1-7 in the above-described manner. When it is determined that the correction processing to one 600 dpi line is completed, the process proceeds to step S18, where the corrected data for one line in the 600 dpi data are output to the printer engine 1-8. In step S19, the variable L is examined to detect whether it is "2". If NO, i.e., it is detected that L = 1, the variable L is made "2" so that a correction processing to the second line of the 600 dpi data is performed. As the variable n 1 is not updated at this time, the same line in the 300 dpi data as the line read for the first line of the 600 dpi data is read out and doubled along the main scanning direction as the second line in the 600 dpi data. In step S19, if it is determined that L = 2, the variable n 1 is incremented by "1" in step S21 so that the next line in the 300 dpi data in the bit map memory 1-6 is processed, and at the same time, the variable L is changed to "1" so that the processing to the first line of the 600 dpi data is performed. In step S22, the variable n 1 is examined to determine whether the processing to the all lines have been completed. If NO, the process returns to step S2, the above-described processing is continued to the last line of the data in the bit map memory 1-6, and thereafter, the series of printing processing is completed. According to this embodiment, even if the recording apparatus receives printing data which requires a memory capacity larger than the original memory capacity, the apparatus can print the received image data while preventing degradation of image quality as much as possible. For example, when the bit map memory 1-6 has only the capacity for data for an A4 sized recording sheet, the apparatus can print an A3 sized image. It should be noted that the interpolation (correction) processing is not limited to the above-described described processing, and any other methods can be employed. In this embodiment, image information for one page in lower resolution (300 dpi) is formed before the resolution conversion. However, the unit for the image information is not limited to this page unit. For example, it is also possible to adapt to a printer for printing a whole image by printing a plurality of partial images, such partial images may be called band image. Further, though the correction processing is performed after the lower resolution (300 dpi) has been converted into the higher resolution (600 dpi), the processing can be performed while data for one line are transferred, with the lower resolution being converted into the higher resolution. In this embodiment, the lower resolution image information is formed using the bit map memory, however, the lower resolution information is not limited to the image. Other information such as form information may be formed to be lower resolution information and stored, thereafter, the stored information can be converted to higher resolution data to be output. [Second Embodiment] The embodiment described above is premised that the independent bit map memory 1-6 has a memory capacity enough to store image data in 600 dpi resolution for A4 sized sheet and that the printing apparatus has received a recording sheet designation command designating A3 size recording sheets. However, the present invention is not limited to the above case. The work area in the CPU, the receiving buffer, the page buffer and the bit map memory can be arranged into one common memory. Fig. 9 illustrates the administration status of a RAM divided into areas respectively corresponding to the above memories. In a RAM 90, a work area 91 and a register area 94 correspond to the RAM in the CPU 1-3; a receiving buffer area 92, the receiving buffer 1-2; a page buffer area 93, the page buffer 1-5; a bit map area 95, the bit map memory 1-6. The register area 94 registers external character data and form data from the host computer 1-1. In order to register large amount of information in the register area 94, the area 94 must be large. Since the size of the RAM 90 is limited, the bit map area 95 must be reduced for the extended area of the area 94. Accordingly, if the apparatus capable of recording images on A4 size recording sheets registers too many external character data and form data, it cannot secure a bit map area for data for a A4 sized sheet. In this situation, however, the apparatus can change image data in 300 dpi resolution in the bit map area. Then the data in the bit map area are transferred to the output memory 1-7 by line, and the doubling processing and the correction processing described above are performed to print an image in 600 dpi resolution. Note that in the case of the RAM having the memory map as shown in Fig. 9, the size of the bit map area can be calculated by subtracting the last address of the register area 94 from the whole size of the RAM. Further, when the register area 94 is enlarged, the receiving buffer area 92 can be reduced in place of the bit map area 95. In this case, however, it takes long before the host computer 1-1 is released from a printing processing. As one of factors in the reduction of the bit map area 95, a case where an operator instructs the size of the respective areas via the control panel 300 can be considered. For example, the operator wishes to shorten the time before the host computer is released from the printing processing and may enlarge the receiving buffer area 92. [Third Embodiment] The present invention is not limited to a laser-beam printer in the first and second embodiments, it is applicable to an ink-jet printer to be described below. Fig. 10 illustrates an ink-jet recording apparatus IJRA. In Fig. 10, numeral 5013 denotes a driving motor. Numeral 5004 is a lead screw which rotates interlocking with the forward/reverse rotation of the driving motor 5013 via driving force transmission gears 5011 and 5009. A carriage HC having a pin (not shown) which engages with a spiral groove 5005 of the lead screw 5004 is reciprocally moved toward an arrows a and b directions. An ink-jet cartridge IJC is mounted on the carriage HC. Numeral 5002 denotes a paper holder to press a recording sheet against a platen 5000 along a moving direction of the carriage HC. Numeral 5003 denotes a carriage guide. Photocouplers 5007 and 5008 are home-position detectors for recognizing a lever 5006 of the carriage HC and switching over the rotational direction of the motor 5013. A support member 5016 supports a cap member 5022 to cap the front face of an ink-jet head IJH. A suction member 5015 sucks the recording head IJH in contact with an opening 5023 in the cap member 5022 for preventing choking of the recording head with ink. A cleaning blade driving member 5019 drives a cleaning blade 5017. A main body support plate 5018 supports the cleaning blade 5017 and the cleaning blade driving member 5018. Note that a general cleaning blade can also be applied to this ink-jet printer. Numeral 5021 denotes a lever for starting the suction by the suction member 5015. The lever 5021 moves with the motion of a cam 5020 which engages with the carriage HC. The cam 5020 is driven by a driving force from the driving motor 5013 transmitted by well-known transmission means such as a switching over of a clutch. When the carriage HC comes to the home position side area, the recording head receives desired processings of the above capping, cleaning and sucking at corresponding positions, led by the lead screw 5005. Next, the structure of a control circuit for performing recording control of the above-described inkjet printer will be described with reference to a block diagram of Fig. 11. Note that in the third embodiment, it is premised that the recording head IJH comprises 48 nozzles lined in a vertical direction, and each interval between the respective nozzles is 1/300 inch, which means this ink-jet printer records in 300 dpi resolution. In Fig. 11, numeral 1700 denotes an interface to which recording signals are input. A MPU 1701 controls the overall printer. A ROM 1702 stores control program(s) performed by the MPU 1701. A D-RAM 1703 is used as a work area of the MPU 1701 and also used for storing bit map data. A gate array 1704 controls the supply of recording data to a recording head 1708, and controls data transfer among the interface 1700, the MPU 1701 and the RAM 1703. A carrier motor 1710 carries the recording head (IJH) 1708, and a convey motor 1709 conveys a recording sheet. Motor drivers 1706 and 1707 drive the carrier motor 1710 and the convey motor 1709 respectively. A print buffer 1711 stores image data to be recorded by one printing motion of the recording head 1708. A head driver 1705 drives the recording head 1708 in predetermined timing in accordance with image data in the print buffer 1711. A recording signal entered the interface 1700 is converted into recording data for printing between the gate array 1704 and the MPU 1701, and is stored in the D-RAM 1703. The image data stored in the D-RAM 1703 are transferred at one printing motion of the recording head 1708. In the third embodiment, if it is determined that the D-RAM cannot secure a memory having enough capacity for image data to be recorded, the image data are stored in a resolution lower than a normal resolution (150 dpi) in the D-RAM 1703. In the print buffer 1711, image data of 48 dot-width are formed based on the image data of 24 dot-width in 150 dpi resolution stored in the D-RAM 1703. This forming processing of the 48 dot-width image data from the 24 dot-width image data is similar to the conversion process in the first embodiment and therefore the explanation will be omitted. When the image data for one printing motion of the recording head 1708 are stored in the print buffer 1711, the MPU 1701 drives the motor drivers 1706 and 1707 and controls the head driver 1705 to perform image recording in accordance with the data stored in the print buffer 1711. As apparent from the third embodiment, the present invention can be applied to an ink-jet printer as described above as well as a laser-beam printer. It goes without saying that the present invention can also be applied to other printers such as a wire-dot printer and a thermal transfer printer. Further, the present invention can be applied to an apparatus capable of recording without reciprocally moving, where a plurality of recording elements respectively having a recording-sheet -width as employed in a facsimile apparatus are arranged on a line, and the apparatus records images without reciprocally moving. In the first to third embodiments, the employed printers are for monochromatic printing, however, multicolor printers can be employed. In multi-color printing, the aforementioned processings are performed with respect to each color component. In the embodiments, when it is determined that the memory capacity is not sufficient for storing image data in an original resolution, the image data in half resolution of the original resolution can be stored. However, it is impossible, e.g., to record an A2 size image for a printer having a bit map memory for data for an A4 sized image. In this case, the maximum resolution among storable resolutions is employed based on the memory capacity and the size of the image data as instructed, then image data in the selected resolution are formed. The image data are stored in a 1/4 resolution of a normal resolution. The original resolution is resumed on actual printing. As the resolution of the stored image data is 1/4 of the original resolution, the image quality of a recorded image is degraded. However, an embodiment at least realizes an image having inconspicuous jagged edge portions. As described above, embodiments enable image recording which prevents degradation of image quality as much as possible even when the amount of received printing data exceeds the memory capacity. In the embodiments, the smoothing processing is performed after image data for one line are transferred to the output memory 1-7. However, the procedure is not limited to the above. The data for one line can be smoothing-processed before they are transferred to the output memory 1-7. As many apparently widely different embodiments of the present invention can be made, it is to be understood that the invention is not limited to the specific embodiments above.

Claims: Apparatus (101) for supplying image data for output to printing means (1-8; 1705-1711) for printing an image on a recording medium (1-9; P), comprising conversion means (1-3; 1-4; 1-5; 93; 1701; 1702) for converting data received from a data source (1-1) into image data having a resolution dependent upon a memory capacity available for storing the converted image data; characterised in that: said conversion means is responsive to designating data, included in the data sent from the data source, designating the size of the recording medium on which the image is to be printed; the conversion means is arranged to generate the image data with a resolution dependent upon both the designated size of the recording medium and the available memory capacity; and interpolating means is provided for interpolating converted image data from the memory to generate output image data at a higher resolution than the converted image data when the resolution of the converted image data is lower than that of image data to be printed by said printing means. Apparatus according to claim 1, wherein the conversion means is arranged to determine the resolution for the image data by comparing the memory capacity necessary for storing image data at a first resolution for an image of a size determined by the designated size of the recording medium and the memory capacity available for storing the image data. Apparatus according to claim 2, wherein the conversion means is arranged to convert the received data into image data at a second resolution lower than the first resolution when it is determined that the necessary memory capacity is larger than the available memory capacity. Apparatus according to any preceding claim, wherein the interpolating means is arranged to generate smoothed pixel data based on the pixel data of a plurality of neighbouring pixels. Apparatus according to any preceding claim, wherein the data from the data source includes character code data, form information or macro information. Apparatus according to any preceding claim, further comprising the memory (1-6; 95; 1703) for storing the image data. Apparatus according to claim 6, wherein the capacity available within the memory for storing the image data is variable. A printer incorporating apparatus according to any preceding claim. A method of generating image data for output to printing means for printing an image on a recording medium, comprising converting data received from a data source into image data having a resolution dependent upon the capacity of a memory capacity available for storing the converted image data; characterised in that: the data from the data source includes designating data designating the size of the recording medium on which the image is to be printed; in the conversion step, the image data is generated with a resolution dependent upon both the designated size of the recording medium and the available memory capacity; and data from the memory is interpolated to generate output image data at a higher resolution than the converted image data when the resolution of the converted image data is lower than that of image data to be printed by the printing means. A method according to claim 9, wherein the resolution for the image data is determined by comparing the memory capacity necessary for storing image data at a first resolution for an image of a size determined by the designated size of the recording medium and the memory capacity available for storing the image data. A method according to claim 10, wherein the received data is converted into image data at a second resolution lower than the first predetermined resolution when it is determined that the necessary memory capacity is larger than the available memory capacity. A method according to any of claims 9 to 11, wherein the step of generating the output image data includes generating smoothed pixel data based on the pixel data of a plurality of neighbouring pixels.

Inventors: SUGAYA AKIO, SUGAYA, AKIO, Sugaya, Akio, c/o Canon Kabushiki Kaisha
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1992
Main classification: G06K15
IPC codes: H04N1, G06T3, G06T1, B41J5, G06K15, B41J2