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:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     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. 
     2. Description of the Related Art 
     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 memory 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 memory 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 memory 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. 
     SUMMARY OF THE INVENTION 
     The present invention has been made in order to solve the above-described problems. 
     It is An object of the present invention to provide an output apparatus for outputting data after developing an output image in a memory, for example, in the form of a bit map or the like. The apparatus comprises means for controlling a memory for developing an image, for example, in the form of a bit map or the like by dividing the memory, means for developing an output image in the divided memory, means for compressing data stored in the divided memory, means for performing recompression by changing to a more-efficient method of compression when the compression ratio in the compression is insufficient, storage means for storing the divided compressed memory, storage means for storing methods of compression for respective compressed portions, and means for expanding the compressed memory to the original divided part. 
     It is another object of the present invention to provide an output method and apparatus, wherein a memory stores data to be developed that is compressed and divided into a plurality of portions, methods of compression for respective divided portions are stored, recompression is performed by changing to a more-efficient method of compression when the compression ratio is insufficient, the recompressed portion is stored in a small-capacity memory, only a portion necessary for development is taken out while being expanded whenever necessary, the taken-out portion is developed and expanded for output while portions not to be developed are stored in compressed form. 
     It is still another object of the present invention to provide an output method and apparatus, wherein a memory for development is stored while being divided and compressed, and only a necessary portion is utilized while being expanded when the portion is developed and output, whereby the capacity of the memory can be greatly reduced. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     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 a conventional printing apparatus; 
     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. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     A preferred embodiment of the present invention will now be explained in detail with reference to the drawings. 
     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 I 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 divided portion. A divided portion may cover, for example, a few scan lines. 
     In the present embodiment, each divided portion of the image is compressed and stored in work memory  11 , and only a portion to be currently developed is taken out and developed. The analyzing unit  4  checks which data input by input unit  3  must be developed in which divided 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 S 1 . Although not illustrated in FIG. 4, if this is the first development for a page, flow advances directly to step S 6  which is described below. On the other hand, if this is not the first development for the page, flow advances to step S 2  where it is checked whether or not the number coincides with the number of the currently-developed paint segment. If the result of the check is affirmative, the process proceeds to step S 7 , where development is performed. If the result of the check is negative, the process proceeds to step S 3 , 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 S 4 . In step S 4 , 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 S 5 , the compression method is stored in work memory  11 , and the process returns to the processing of step S 3 . If the result of the check is negative, the process proceeds to step S 6 , where a necessary paint segment is taken out from the work memory  11  and is expanded, and the process proceeds to step S 7 . 
     Development processing is performed in step S 7 . After the completion of the development, in step S 8 , 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 S 1 . 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 stores data to be developed that is divided into paint segments and each paint 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 processing 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.