Output method and apparatus

Abstract: A method and apparatus for outputting an image in which the image is divided into plural parts which are serially processed. Each part in turn is compressed in accordance with a first compression method, the same part is selectably recompressed by a second compression method in accordance with the compression results, the method by which the part was compressed is stored, the compressed part is expanded into a memory area that is common for all parts of the image in accordance with the stored compression method, and the expanded image is output.

Description: This invention relates to an output method and apparatus for outputting an image in accordance with data input from an external apparatus, such as a host computer or the like. FIG. 2 is a block diagram showing the flow of processing in a control unit 1 of a conventional output apparatus such as a printing apparatus. In FIG. 2, an external apparatus 2 outputs print data from a host computer or the like. An input unit 3 receives the data. An analyzing unit 4 analyzes input data. A developing unit 5 develops data into an output image, for example, in the form of a bit-map according to analysis of the analyzing unit 4. A frame memory 6 stores the developed output image, and comprises a RAM (random access memory). An output unit 7 controls an output mechanism 8, such as a laser-beam printer or the like, in accordance with the data stored in the frame memory 6 so as to cause the output mechanism 8 to output the data onto recording medium 9 such as paper or the like. In the control unit 1, print data output from the external apparatus 2 are received by the input unit 3, and are analyzed by the analyzing unit 4. According to the result of the analysis, the developing unit 5 forms an output image, for example, in the form of a binary bit-map for one page in the frame memory 6. The output unit 7 performs, for example, on/off control of a laser beam for the output mechanism 8 in accordance with the data stored in the frame memory 6, whereby a print result is recorded on the recording medium 9. Because of the large memory capacity needed for frame memory 6, such a conventional approach is not satisfactory. Specifically, since data are stored in the frame memory 6 in the form of a bit-map or the like which is convenient for development, a very large capacity is needed for the frame memory 6. For example, if the user desires to develop a black-and-white A4-size image with a resolution of 600 dpi (dots per inch), a binary bit-map memory with a capacity of about 4 megabytes is needed for one page. In order to deal with a multivalue output or a color output, a binary bit-map memory with a capacity of several times the above-described value is needed. In order to reduce the necessary size of the frame memory it is further known in the art to compress the bit map data in units of image segments by a suitable compressing method and to store the compressed data. Before printing the bit map data is expanded by a corresponding expansion method (see e.g. EP-A-0 378 316). In accordance with one aspect, the present invention provides an image processing method for developing print data for a page into image data for the page using a first memory area for storing un-compressed image data in units of image segments, and a second memory area for storing compressed image data in units of image segments, the method comprising the steps of: (a) compressing image data corresponding to previously input and developed print data for the page in units of the corresponding image segments and storing it in said second memory area in compressed form; (b) expanding from said second memory area the compressed image data of a particular image segment in which further input print data is to be developed and storing the expanded image data in said first memory area; (c) developing said further input print data of the particular image segment into corresponding further image data and storing the further image data in said first memory area in addition to the expanded image data; and (d) compressing the image data of the image segment stored in said first memory area and storing the compressed image data in said second memory area. In accordance with another aspect, the present invention provides an image processing apparatus for developing print data for a page into image data for the page, the apparatus comprising: a first memory area for storing un-compressed image data in units of image segments; a second memory area for storing image data for the page in units of image segments in compressed form; means for expanding from said second memory area image data of an image segment in which further input print data is to be developed and for storing the expanded image data of the image segment in said first memory area; means for developing said further input print data of the image segment into corresponding further image data and for storing said further image data in addition to the expanded image data in said first memory area; and means for compressing the image data of the image segment stored in said first memory area and for storing the compressed image data in said second memory area. Embodiments of the present invention will now be described with reference to the accompanying drawings, in which: FIG. 1 is a block diagram showing the flow of processing in an output apparatus according to an embodiment of the present invention; FIG. 2 is a block diagram showing the flow of processing in an output apparatus according to an embodiment of the present invention; FIG. 3 is a diagram showing the concept of a divided memory; FIG. 4 is a flowchart showing processing in a developing unit; FIG. 5 is a diagram showing a specific configuration of the printing apparatus of the embodiment shown in FIG. 1; FIG. 6 is a cross-sectional view showing the internal structure of an LBP (laser-beam printer); FIG. 7 is a flowchart showing the processing of registration of form data; and FIG. 8 is a flowchart for determining whether or not compression is to be performed, and whether or not a method of compression is to be switched. Before explaining the configuration of the present embodiment, an explanation will be provided of the configuration of a laser-beam printer to which the present invention is applied with reference to FIG. 6. FIG. 6 is a cross-sectional view showing the internal structure of the laser-beam printer (hereinafter "LBP") of the present embodiment. Character patterns, a document format (form data) and the like can be registered in the LBP from a data source (not shown). In FIG. 6, a main body 100 of the LBP inputs and stores character information (character codes), form information, macroinstruction and the like supplied from an external apparatus (reference numeral 2 shown in FIG. 1) connected thereto, forms the corresponding character patterns, form pattern and the like in accordance with the above-described information, and forms an image on recording paper, serving as a recording medium. Switches for scanning, LED (light-emitting diode) or LCD (liquid-crystal display) display units and the like are arranged on an operation panel 101. A control unit 1 controls the entire LBP 100 and analyzes the character information and the like supplied from the external apparatus. The control unit 1 converts the character information and the like into video signals of the corresponding character patterns, and outputs the signals to a laser driver 102. The laser driver 102 is circuitry for driving a semiconductor laser 103, and performs on-off switching of laser light 104 emitted from the semiconductor laser 103 in accordance with the input video signals. The laser light 104 is deflected to the right and left directions by a rotating polygon mirror 105 to scan an electrostatic drum 106. An electrostatic latent image of character patterns is thereby formed on the electrostatic drum 106. The latent image is developed by a developing unit 107 disposed around the electrostatic drum 106, and the developed image is transferred onto recording paper. Recording paper in the form of cut sheets is used. The cut sheets are accommodated in a paper cassette 108 mounted in the LBP 100. Each sheet is fed within the apparatus by a paper feed roller 109 and conveying rollers 110 and 111, and is supplied to the electrostatic drum 106 where the developed latent image is tranferred from the drum to the paper sheet. The transferred image is fixed onto the paper sheet at fixing station 112 and the paper sheet is then ejected. FIG. 1 is a diagram illustrating the flow of processing of the control unit 1 shown in FIG. 6. In FIG. 1, there are shown an external apparatus 2, an input unit 3, an analyzing unit 4, a developing unit 5, a frame memory 6, an output unit 7, an output mechanism 8, a recording medium 9, and a memory compression unit 10. A work memory 11 stores compressed data and methods of compression. A memory expansion unit 12 expands a compressed memory. The frame memory 6 is not required to have a capacity for one page, but may only have a capacity for one portion of a page. A portion may cover, for example, a few scan lines. In the present embodiment, the analyzing unit 4 checks which data input by input unit 3 must be developed in which portion (hereinafter termed a paint segment), and transmits information relating the result of the check to the developing unit 5. The developing unit 5 develops an output image in a paint segment of the work memory 11 after expanding the paint segment by the memory expansion unit 12 according to a method of compression preset in the work memory 11 and storing the expanded paint segment in the frame memory 6. Before developing the next output image in the next paint segment, the paint segment currently stored in the frame memory 6 is compressed by the method of compression preset in the work memory 11, and the compressed paint segment is stored in the work memory 11. At that time, if the paint segment is not sufficiently compressed as expected and cannot be stored in the work memory 11, recompression is performed by changing to a more-efficient method of compression, and the method of compression set in the work memory 11 is rewritten. Development for one page is completed by repeating the above-described processing, whereupon the output unit 7 sequentially takes out paint segments to be output from the work memory 11, expands the taken-out paint segments in the memory expansion unit 12 in accordance with the stored method of compression, and outputs the expanded portions of the output image by a conventional control. A known algorithm may be used for the above-described compression and expansion. Although the algorithm to be used is not specified, in order to suppress deterioration in an image as much as possible, it is desirable to first use reversible compression, and to use nonreversible compression if high-efficiency compression is needed. For example, ADCT, vector quantization, MH, MR, MMR, Huffman, run length, JBIG or the like may be used as the method of compression. Compression/expansion in the memory compression unit 10 and the memory expansion unit 12 may be performed by programs, or may be performed using certain hardware. FIG. 3 is a diagram showing the relationship among an output image, a work memory and a frame memory when an output image for one page is divided into N paint segments. Paint segments (1) - (N) of the output image correspond to compressed output images (1) - (n) stored in the work memory 11, and methods of compression (e.g., methods A, B and C) which are also stored in work memory 11. One of the compressed portions of the output image is expanded and stored in the frame memory. FIG. 4 is a flowchart showing processing for one page in the developing unit 5. In the developing unit 5, the number of a paint segment to be developed is first determined in step S1. Although not illustrated in FIG. 4, if this is the first development for a page, flow advances directly to step S7 which is described below. On the other hand, if this is not the first development for the page, flow advances to step S2 where it is checked whether or not the number of the paint segment coincides with the number of the currently-developed paint segment. If the result of the check is affirmative, the process proceeds to step S7, where development is performed. If the result of the check is negative, the process proceeds to step S3, where the paint segment stored in the frame memory 6 is compressed by the method of compression, the compressed paint segment is stored in the work memory 11, and the process proceeds to step S4. In step S4, it is checked whether or not the compressed paint segment overflows the work memory 11 (only a short time is required since the capacity of the work memory 11 is small). If the result of the check is affirmative, the method of compression is changed to a high-effeciency method of compression in step S5, the compression method is stored in work memory 11, and the process returns to the processing of step S3. If the result of the check is negative, the process proceeds to step S6, where a necessary paint segment is taken out from the work memory 11 and is expanded, and the process proceeds to step S7. Development processing is performed in step S7. After the completion of the development, in step S8, it is checked whether or not development has been completed for all the paint segments. If the result of the check is negative, the process returns to step S1. If the result of the check is affirmative, the development processing for the page is terminated. FIG. 5 shows a specific configuration of the control unit 1. In FIG. 5, reference numeral 1 represents the control unit 1. A host computer 2 outputs print information. An input interface 21 (corresponding to input unit 3) inputs the print information from the host computer 2. A CPU 22 controls the entire control unit 1. A ROM (read-only memory) 23 stores processing procedures (a program relating to the flowchart shown in FIG. 4 and the like) for the CPU 22, character-font patterns and the like. A RAM 24 is used as work areas of the CPU 22, and a reception buffer for storing print data received from the host computer 2, and stores page data for constructing an output image for one page from received print information, and the like. A frame memory 6 develops an output image, and comprises a RAM. A memory compression unit 10 compresses data stored in the frame memory 6. The work memory 11 (see FIG. 3) comprises a RAM, and stores a compressed output image and methods of compression. A memory expansion unit 12 expands the compressed data. An output interface 29 outputs the output image to the output unit 7 which actually performs a printing operation. These units are connected to a system bus 31. As explained above, according to the present embodiment, a memory to be developed is divided into paint segments and each point segment is compressed, and only a paint segment necessary for development is taken out and developed. Portions not to be developed, as well as already-developed portions, are stored in compressed form, and are only expanded when being output, whereby it is possible to greatly reduce the capacity of a memory to be used. Furthermore, since separate methods of compression can be selected for respective divided compressed portions, optimum methods of compression can be selected in accordance with the contents of an output image, and deterioration in the image can thereby be prevented as much as possible. In the above-described embodiment, a RAM is preferably used, but other storage media, such as hard disks or the like, may be used as a work memory for storing compressed data. In the above-described embodiment, processing of the output unit is started after development for one page has been completely terminated. However, by performing a control to start output processing of an already-developed paint segment even if development for one page has not been completed, output processing and development processing may be performed in parallel, whereby throughput will be increased. Although an image output from the host computer (external apparatus) 2 may be compressed in the above-described manner, the routine shown in FIG. 4 may also be performed when an instruction to register form data from the operation panel 101 or the host computer 2 is present (FIG. 7). This is because it is desired to perform compression by an optimum method and register the form data even though time is needed for such registration. Thus, as shown in FIG. 7, if form data is to be registered, FIG. 4 precessing is performed. In a normal output of an image, whether or not the above-described FIG. 4 processing is to be performed may be selected in accordance with an instruction from the host computer 2 or the operation panel 101. For example, as shown in FIG. 8, the routine shown in FIG. 4 is selectably performed, whereby (a) optimum compression is performed as shown in FIG. 4, (b) compression is performed by one compression method only, and (c) compression is not to be performed at all. As explained above, according to the present invention, a memory necessary for development is divided, data in the memory are compressed and stored, and only a portion to be developed is utilized by being expanded, whereby it becomes possible to greatly reduce the capacity of a memory to be used. Furthermore, an optimum method of compression can be selected in accordance with the contents of an output image, and deterioration in the image can be suppressed as much as possible. Although, in the above-described embodiment, an explanation has been provided illustrating a laser-beam printer, the present invention is not limited to such a printer, but an ink-jet printer or the like may be used, or a serial printer may also be used. As one type of ink-jet printers, there are bubble-jet printers wherein a change in volume is produced in ink due to the function of thermal energy, and recording is performed by discharging ink drops from orifices.

Claims: An image processing method for developing print data for a page into image data for the page using a first memory area (6) for storing un-compressed image data in units of image segments, and a second memory area (11) for storing compressed image data in units of image segments, the method comprising the steps of: (a) compressing image data corresponding to previously input and developed print data for the page in units of the corresponding image segments and storing it in said second memory area (11) in compressed form; (b) expanding from said second memory area (11) the compressed image data of a particular image segment in which further input print data is to be developed and storing the expanded image data in said first memory area (6); (c) developing said further input print data of the particular image segment into corresponding further image data and storing the further image data in said first memory area (6) in addition to the expanded image data; and (d) compressing the image data of the image segment stored in said first memory area (6) and storing the compressed image data in said second memory area (11). A method according to claim 1, wherein said steps (b) to (d) are repeated for a subsequent print data for the page. A method according to claim 1 or 2 further comprising the step of identifying the image segment in which current print data is to be developed and wherein said compressing step is performed after it is determined that a subsequent print data is not to be developed in the identified image segment stored in uncompressed form in said first memory area (6). A method according to any preceding claim, wherein said first memory area (6) has a capacity less than a capacity for storing one page of uncompressed image data. A method according to any preceding claim, wherein said compressing step comprises compressing a segment of uncompressed image data using one of a plurality of compressing methods. A method according to claim 5, wherein said compressing step comprises a step of determining, on the basis of a capacity necessary for storing a segment of compressed image data compressed by a first compressing method, whether the segment of uncompressed image data is to be compressed by a second compressing method or not. A method according to claim 6, wherein the first compressing method is one of reversible compressing methods and the second compressing method is one of irreversible compressing methods. A method according to any of claims 5 to 7, wherein data, which indicates a compressing method used for compressing a segment of uncompressed image data for each segment, is stored in a memory (11). A method according to any preceding claim, further comprising a step of registering or outputting to printing means one page of compressed or uncompressed image data, when one page of the print data has been developed. A method according to claim 1, further comprising a step of outputting one page of uncompressed image data to printing means (8), wherein said outputting step comprises a step of expanding a segment of the compressed image data in said second memory area (6,11) and outputting the expanded image data to said printing means (8), when the segment of the uncompressed image data to be output to said printing means (8) is not stored in said first memory area (6). A method according to claim 6, wherein in said compressing step, it is determined that the segment of the uncompressed image data is to be compressed by a second compressing method, when a capacity necessary for storing the segment of compressed image data compressed by a first compressing method overflows an available capacity for storing the segment of the compressed image data. An image processing apparatus for developing print data for a page into image data for the page, the apparatus comprising: a first memory area (6) for storing un-compressed image data in units of image segments; a second memory area (11) for storing image data for the page in units of image segments in compressed form; means (12) for expanding from said second memory area (11) image data of an image segment in which further input print data is to be developed and for storing the expanded image data of the image segment in said first memory area (6); means (5) for developing said further input print data of the image segment into corresponding further image data and for storing said further image data in addition to the expanded image data in said first memory area (6); and means (10) for compressing the image data of the image segment stored in said first memory area (6) and for storing the compressed image data in said second memory area (11). An apparatus according to claim 12, wherein said expanding means (12) developing means (5), and compressing means (10) are operable repeatedly for subsequent print data for the page. An apparatus according to claim 12 and 13, further comprising means (4) for identifying the image segment in which current print data is to be developed, and wherein said compressing means (10) is operable to compress the image data of said image segment after said identifying means (4) identifies that a subsequent print data is to be developed into a different image segment. An apparatus according to any of claims 12 to 14, wherein said first memory area (6) has a capacity less than a capacity for storing one page of uncompressed image data. An apparatus according to any of claims 12 to 15, wherein said compressing means (10) is capable of compressing image data by a plurality of compressing methods. An apparatus according to claim 16, wherein said compressing means (10) comprises means for determining, on the basis of a capacity necessary for storing the segment of compressed image data compressed by a first compressing method, whether the segment of uncompressed image data is to be compressed by a second compressing method or not. An apparatus according to claim 17, wherein said compressing means (10) is adapted to carry out the first compressing method as a reversible method and the second compressing method as a irreversible compressing method. An apparatus according to claim 17 or 18, including memory means (11) for storing data which indicates a compressing method used for compressing a segment of uncompressed image data for each segment. An apparatus according to any of claims 12 to 19, including output means (7) for outputting to printing means (8) one page of compressed or uncompressed image data, when said one page of the print data has been developed. An apparatus according to claim 12, further comprising means (8) for printing an image corresponding to one page of uncompressed image data, wherein said expanding means (12) is adapted to expand a segment of the compressed image data in said second memory area (11), when the segment of the uncompressed image data to be output to said printing means (8) is not stored in said first memory area (6). An apparatus according to claim 17, wherein said compressing means (10) is adapted to determine that the segment of uncompressed image data is to be compressed by a second compressing method, when a capacity necessary for storing the segment of compressed image data compressed by a first compressing method overflows an available capacity for storing the segment of the compressed image data.

Inventors: KASHIWAZAKI MASAMI, KASHIWAZAKI, MASAMI, Kashiwazaki, Masami, c/o Canon Kabushiki Kaisha
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1992
Main classification: G06K15
IPC codes: B41J21, B41J5, G06F3, G06K15