Abstract:
An information processing apparatus comprises acquiring means for acquiring a memory capacity of a printer connected through a bi-directional interface, compare means for comparing the memory capacity acquired by the acquiring means with a capacity of data to be outputted to the printer, and determination means for determining a memory size of a memory of the printer in accordance with the comparison result. 
     An output apparatus comprises receiving means for receiving memory size information determined by a capacity of data to be outputted from an information processing apparatus connected through a bi-directional interface and a capacity of a memory for storing the data, from the information processing apparatus, and setting means for dynamically setting a size of the memory for storing the data in accordance with the memory size information received by the receiving means.

Description:
This application is a continuation of Application Ser. No. 08/694,839 filed Aug. 9, 1996, now abandoned, which was a continuation of Application Ser. No. 08/076,832 filed Jun. 15, 1993, now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an information processing apparatus for sending data to an output apparatus such as a printer connected through a bi-directional interface, and an output apparatus for receiving data from an information processing apparatus such as a host computer and outputs data in accordance with the input data. 
     2. Related Background Art 
     In a recent recording apparatus of this type, output information inputted from a host computer is analyzed to develop bit map data as an output data of a printer engine such as a laser beam printer, and a laser beam modulated in accordance with the developed data is scanned and exposed to a photo-conductor drum to record an image. 
     A recording apparatus which can output data WYSIWYG-processed (What You See Is What You Get) by a host computer, that is, bit map developed data has also been put into practice. 
     On the other hand, a resolution power of a printer has been rapidly improved from 240 DPI to 300-400 DPI. As a result, a print memory of a predetermined capacity provided in the printer is not large enough to develop one full page of record data. Thus, a band recording system has been proposed in which the record data are sequentially developed into a band memory of a capacity which permits synchronization of the development of the record data and print processing speed of a printer engine to transfer the record data to the printer engine. Namely, the setting of one full page of memory and the setting of the band memory of a fixed capacity are switched in accordance with the capacity of the printer memory and the resolution power to attain the printing correctly. 
     However, in the switching to the band memory of the prior art, only the capacity of the printer memory and the resolution power are taken into account. As a result, when the WYSIWYG process becomes complex, namely, when page edit data which is mixture of graphics, characters, tables and images is to be printed, one page of record data to be actually outputted cannot be developed in spite of the fact that the memory has a capacity to store one page of record data. For example, when font data, hatching data, image data and page data relating to the print job are stored and a work to bit map-develop outline font is secured, it frequently happens that one page of record data cannot be developed, and the record information is not correctly outputted or the band memory of the fixed capacity cannot be secured. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide an information processing apparatus which acquires a memory capacity of an output apparatus such as a printer connected thereto through a bi-directional interface to determine a required band size of a memory for each print job or each page in the job, and an output apparatus which receives memory size information corresponding to a capacity of data to be sent from an information processing apparatus such as a host computer connected thereto through a bi-directional interface to dynamically and variably set a memory optimal to the data to be sent in accordance with the memory size information. 
     In order to achieve the above object, the present invention provides an information processing apparatus comprising acquiring means for acquiring a memory capacity of a printer connected through a bi-directional interface, compare means for comparing the memory capacity acquired by the acquiring means with a capacity of data to be outputted to the printer, and determination means for determining a memory size of a memory of the printer in accordance with the comparison result. 
     Further, in order to achieve the above object, the present invention provides an output apparatus comprising receiving means for receiving memory size information determined by a capacity of data to be outputted from an information processing apparatus connected through a bi-directional interface and a capacity of a memory for storing the data, from the information processing apparatus, and setting means for dynamically setting a size of the memory for storing the data in accordance with the memory size information received by the receiving means. 
     In accordance with the present invention, the print memory capacity data of the printer connected to the host computer is acquired, the memory capacity and the capacity of the data to be outputted to the printer are compared, the band memory size on the printer memory is variably determined based on the comparison result, and the band memory of the determined size is dynamically secured on the printer memory in accordance with the determined memory map. Accordingly, the band memory which can process the recording process is effectively secured while the optimum memory map to the print memory capacity is dynamically set in accordance with the capacity of the data of the print job to be sent. 
     Further, the capacity data of the printer memory and the capacity of data of the print job to be sent are compared to determine the size of the band memory to be structured on the printer memory, and the band memory of the determined size is dynamically set on the printer memory by acquiring the determined band memory size data. Accordingly, even if the band memory capacity is tight by the storage of other record information because of the fixed capacity of the printer memory, the optimum band memory to the data of the print job to be outputted from the host computer can be effectively secured. 
     Accordingly, even if the memory capacity of the printer memory is limited, complex print process can be attained. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a sectional view of a construction of a first recording apparatus to which the present invention is applied; 
     FIG. 2 shows an external view of a construction of a second recording apparatus to which the present invention is applied; 
     FIG. 3 shows a block diagram of a control unit of the second recording apparatus shown in FIG. 2, 
     FIG. 4 shows a block diagram of a printer control system in one embodiment of the present invention; 
     FIG. 5 shows a diagram of a data processing path between a printer and a host computer shown in FIG. 4; 
     FIG. 6 shows a flow chart of a mapping process of a print memory by the host computer shown in FIG. 4; 
     FIG. 7 shows a diagram of a memory map of a print memory of a printer of the present invention; 
     FIGS. 8A and 8B show diagrams of a memory map of the print memory of the printer of the present invention; 
     FIG. 9 shows a diagram of a memory map of the print memory of the printer of the present invention; and 
     FIG. 10 shows a diagram of compaction of data to be sent to the printer of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Before describing a construction of an embodiment, constructions of a laser beam printer and an ink jet printer to which the embodiment is to be applied are explained with reference to FIGS. 1 to 3. A printer in the embodiment is not to be limited to the laser beam printer or the ink jet printer but it may be other type of printer. 
     FIG. 1 shows a sectional view of a construction of a first recording apparatus to which the present invention is applied. It may be a laser beam printer (LBP). 
     In FIG. 1, numeral 1500 denotes an LBP main unit which receives print information (character codes), form information or macro instructions supplied from an externally connected host computer, stores them, generates a character pattern or a form pattern in accordance with the stored information, and forms an image on a record sheet which is a recording medium. Numeral 1501 denotes a console panel having console switches and LED displays arranged thereon, and numeral 1000 denotes a printer control unit for controlling the overall LBP main unit 1500 and analyzing the print information supplied from the host computer. The printer control unit 1000 converts the print information supplied from the host computer 100 to a corresponding video signal of a bit pattern and supplies it to a laser driver 1502, which drives a semiconductor laser 1503, and it turns on and off a laser beam 1504 emitted from a semiconductor laser 1503 in accordance with the input video signal. The laser beam 1504 is laterally swung by a rotating polygon mirror 1505 to scan and expose to an electrostatic drum 1506. Thus, an electrostatic latent image of a character pattern is formed on the electrostatic drum 1506. The latent image is developed by a developing unit 1507 arranged around the electrostatic drum 1506 and then transferred to a record sheet. The record sheet may be a cut sheet, and cut sheet recording sheets are contained in a sheet cassette 1508 mounted in the LBP 1500, and the sheet is taken into the apparatus by a sheet feed roller 1509 and a transport roller 1511, and it is supplied to the electrostatic drum 1506. 
     FIG. 2 shows an external view of a second recording apparatus to which the present invention is applied. It may be an ink jet recording apparatus (IJRA). 
     In FIG. 2, a carriage HC which engages with a helical groove 5004 of a lead screw 5005 rotated by the forward or backward rotation of a drive motor 5013 through drive force transmission gears 5011 and 5009 has a pin (not shown) and it is reciprocally driven in the directions of arrows a and b. An ink jet cartridge IJC is mounted on the carriage HC. Numeral 5002 denotes a sheet retainer plate which presses a sheet to a platen 5000 over the range of movement of the carriage. Numerals 5007 and 5008 denotes photo-couplers which serves as home position detection means for detecting the presence of a lever 5006 of the carriage in the range to switch the direction of rotation of a motor 5013. Numeral 5016 denote a member for supporting a capping member 5022 which caps the entire surface of a recording head, and numeral 5015 denotes suction means for sucking the interior of the cap and it suction-recovers the recording head through an aperture 5023 in the cap. Numeral 5017 denotes a cleaning blade which is movable back and forth by a member 5019. Numeral 5018 denotes a main unit support plate which supports 5017 and 5019. Numeral 5012 denotes a lever for starting the suction of the suction recovery, and it is moved with the movement of a cam 5020 which is engaged with the carriage so that a drive force from the drive motor is controlled by known transmission means such as a clutch. 
     The capping, cleaning and suction recovery are conducted at the corresponding positions by the action of the lead screw 5005 when the carriage is brought to the home position. It may conduct desired operations at a desired timing. 
     FIG. 3 shows a block diagram of a control unit of the second recording apparatus shown in FIG. 2. 
     In FIG. 3, numeral 1700 denotes an interface to which a record signal is applied, numeral 1701 denotes an MPU, numeral 1702 denotes a program ROM for storing a control program to be executed by the MPU 1701, and numeral 1703 denotes a DRAM which stores various data (including the record signal record data to be supplied to a head). Numeral 1704 denotes a gate array for controlling the supply of the record data to a recording head 1708, and it also controls the transfer of data among the interface 1700, the MPU 1701 and the DRAM 1703. Numeral 1710 denotes a carrier motor for carrying the recording head 1708, numeral 1709 denotes a transport motor for transporting a record sheet, numeral 1705 denotes a head driver for driving the recording head, numeral 1706 denotes a motor driver for driving the transport motor 1709, and numeral 1707 denotes a motor driver for driving the carrier motor 1710. 
     In the recording apparatus constructed as described above, when a record signal is applied from the host computer 100 to be described later through the interface 1700, the record signal is converted to print record data by the gate array 1704 and the MPU 1701. The motor drivers 1706 and 1707 are driven and the recording head is driven in accordance with the record data sent to the head driver 1705 to print it out. 
     FIG. 4 shows a block diagram of a configuration of a printer control system in one embodiment of the present invention. A laser beam printer (see FIG. 1) is used in the present embodiment. 
     The present invention may be applied to any system in which process is made through a network such as a LAN, whether it is a single unit system or a multi-unit system. 
     In FIG. 4, numeral 100 denotes a host computer which has a CPU 1 for processing a document having mixture of graphics, images, characters and tables (including spread sheets) in accordance with a document processing program stored in a ROM 2, and the CPU 1 centrally controls devices connected to a system bus 4. 
     A control program for the CPU 1 shown in flow charts of FIGS. 6 and 7 is stored in the ROM 2. Numeral 3 denotes a RAM which functions as a main memory and a work area of the CPU 1. Numeral 5 denotes a keyboard controller (KBC) which controls the key entry from a keyboard 9. Numeral 6 denotes a CRT controller (CRTC) which controls the display of a CRT display (CRT) 10. Numeral 7 denotes a disk controller (DKC) which controls the access of a hard disk (HD) 11 which stores a boot program, various application programs, font data, a user file and an edit file, and a floppy disk (FD) 12. Numeral 8 denotes a printer controller (PRTC) which is connected to the printer 1500 through an interface 13 to control the communication with the printer 1500. 
     The CPU 1 may develop (rasterize) an outline font to a display information RAM set on the RAM 3 to permit the WYSIWYG processing on the CRT 10. Further, the CPU 1 may open various registered windows in accordance with a command indicated by a mouse cursor, not shown, to process various data. The document processing program may be stored in the hard disk 11 or the floppy disk 12 and loaded to the RAM 3 through the DKC 7 for execution. 
     In the printer 1500, numeral 14 denotes a CPU which centrally controls the access to various devices connected to a system bus 17 in accordance with a control program stored in a ROM 15 and outputs an image signal as print data to a print unit (printer engine) 20 connected through a printer interface 19. 
     Numeral 16 denoted a RAM which is uses as a work area of the CPU 14 and a storage for record information. The RAM 16 may be constructed to be expanded in the memory capacity by an optional RAM connected to an expansion port, not shown. 
     The printer interface 19 converts the print data to a format compatible to the mechanism of the print unit 20 and outputs it. It may convert parallel data to serial data. The printer interface 19 is provided with separate connectors so that it is compatible to a plurality of interfaces (SCSI interface, Centronics interface). 
     At least one card slot, not shown, may be provided to permit the connection of a build-in font as well as an optional card and a card containing a program for interpreting a different printer control language (an emulation card). An NVRAM which stores printer mode setting information from a console unit, not shown, may be provided. 
     In the recording system of the present embodiment, the CPU 1 compares the capacity data of the memory of the printer and the capacity of the data of the print job to be sent to determine the size of the band memory to be structured on the printer memory, and the CPU 14 acquires the determined size data of the band memory to dynamically set the band memory of the determined size on the printer memory. Accordingly, even if the band memory capacity is tight by the storage of other record information because of the fixed capacity of the printer memory, the optimum band memory to the data of the print job to be sent from the host computer is effectively secured. 
     A flow of a print job process of the recording system of the present invention is now explained with reference to FIGS. 5 and 6. 
     FIG. 5 shows a diagram of a data process path between the printer 1500 and the host computer 100 shown in FIG. 4. 
     In FIG. 5, numeral 101 denotes an application being executed, which may be a DTP processing program. Numeral 103 denotes a data analyzer which analyzes and classifies content of a print job for each page or each job, calculates memory capacities for the font data, the hatching data, the image data and the page data, and delivers the results to the printer memory controller 108, which acquires the memory capacity of the printer memory by the inquiry to the definition file stored in the host computer or the printer, and determined the allocation of the printer memory (the memory map such as the processing band size and the size of font registration area) based on the printer memory size and the memory sizes of the respective data calculated by the data analyzer, and sends the determined allocation back to the data analyzer 102. The data analyzer 102 issues a command to set the determined allocation of the printer memory to a page generator 106 and directs the process data to the font 103, the font scaler (which functions as the first rasterizer) 104, the graphics rasterizer (which functions as the first rasterizer) 105, and the page data generator 106 in accordance with the determined allocation. The page data generator 106 combines the output data from the data analyzer 102, the graphics rasterizer 105, the font 103, the font scaler 104 and the graphics rasterizer 105 and delivers the combined page data to the input/output handler 107. 
     Numerals 107 and 201 denote input/output handlers which control the input/output of the printer 1500 and the host computer 100. Numeral 202 denotes a rasterizer which develops the rasterized data to a bit map. Numeral 203 denotes a rasterizer which rasterizes a font by referring a memory 204 which stores the outline data by referring the received outline font or based on the received character codes. Numeral 205 denotes a print control unit which controls the transfer of the bit map data outputted from the rasterizer 202 to the print unit 20 (see FIG. 4). A-N denote data process paths. 
     As shown in FIG. 5, where it is determined by the print job by the data analyzer 102 that there are rasterizer 202 and font rasterizer 203 in the printer 1500, the rasterization of the font may be distributed in accordance with the performances of the host computer 100 and the printer 1500, and one font may be processed by the rasterization by the host computer 100 and transferred to the printer 1500 (paths C-H-J-K) in the form of bit map and the remaining fonts may be transferred (paths D-G-J-K) to the printer 1500 in the form of outline for the rasterization by the font rasterizer 203. Further, the printer 1500 allocates the memory on the RAM 16 of FIG. 4 in accordance with the command from the data analyzer 102 to process the print data sent from the host computer 100. For example, it sets a smaller band size for a page having many bit map data of font or the bit image data to be down-loaded to the printer 1500. 
     On the other hand, when there is a band which may cause a smaller memory size of the printer when the bit map is developed in the host computer 100 rather than registering the font and the hatching pattern to the printer, that band is bit map-developed in the host computer 100 so that a larger band size can be secured accordingly. 
     On the other hand, where a full bit map memory can be secured in the printer 1500, the band size of the printer is set to one page. Thus, the printer memory can be effectively utilized in accordance with the print job and more complex print job can be processed with a smaller printer memory. 
     A method for controlling the printer of the present invention is now explained with reference to FIGS. 6 to 8B. 
     FIG. 6 shows a flow chart of a mapping process of the print memory by the host computer 100. Numerals (1)-(11) denote steps. 
     The CPU 1 first analyzes the print job (the capacity of the page data, the capacity of the font to be down-loaded, and the capacity of the hatching pattern) to calculate the capacity of the data to be sent to the printer 1500 (1). Then, it compares the acquired total capacity of the memory of the printer 1500 (which corresponds to the RAM 16 in the present embodiment) with the capacity of the data to be sent to determine whether one page of bit map can be developed in the printer memory as shown in FIG. 7 (2). If the decision is YES, the CPU 1 indicates the band (command) to secure a full page of bit map memory on the RAM 16 to the CPU 14 (11), and the process proceeds to a step (9). 
     On the other hand, if the decision in the step (2) is NO, the CPU 1 calculates a band memory size to be secured on the RAM 16 (3), and determines if it is smaller than a band size to secure the band size (4). If the decision is NO, the CPU 1 indicates the band (command) to the CPU 14 to secure the bit map memory of the predetermined size on the RAM 16 of the printer 1500 as shown in FIG. 8A or FIG. 8B (5), and the process proceeds to the step (9). FIG. 8A shows the band memory designation when the data to be registered is in a small amount, and FIG. 8B shows the band memory designation when the data to be registered is in a large amount. 
     On the other hand, if the decision in the step (4) is YES, the possibility of the compaction of the memory is evaluated (6), that is, when the font data and the image are to be printed in overlap, the host computer 100 previously process the font as the image data to reduce the amount of font data to be sent and determines if the allocatable band size is smaller than the minimum band size or not (7). If the decision is NO (that is, the band memory can be secured), the compaction of the memory is executed (in the present embodiment, the compaction is made by reading the font data into the image data) as shown in FIG. 9 (8), and the record data to execute the print job is sent to the printer 1500 (9), and the process is terminated. 
     On the other hand, if the decision in the step (7) is YES, the disability of the recording process is informed to a user through the CRT 10, for example (10), and the expansion of the printer memory is requested. Then, the process is terminated. 
     In this manner, the memory map of the printer memory is dynamically switched such that when there is a band which causes a smaller printer memory if the bit map is developed in the host computer 100 rather than registering the font and the hatching pattern to the printer, that band is bit map-developed in the host computer 100 so that a larger band size can be secured accordingly (see FIG. 9). 
     As described above, the print memory capacity data of the printer 1500 connected to the host computer 100 is acquired, the memory capacity data and the capacity of the data of the print job to be sent are compared, and memory map of the printer memory is determined while the band memory size on the printer memory is varied for each print job based on the comparison result so that the band memories of different sizes are dynamically secured on the printer memory of the printer in accordance with the determined memory map. 
     On the other hand, where a full bit map memory can be secured in the printer 1500, the band size of the printer is set to one page (see FIG. 7). 
     As a result, the efficient use of the printer memory in accordance with the print job is attained and a more complex print job can be processed with a smaller printer memory. 
     When the compaction of the memory to be used or required, if the band memory is smaller than the minimum band size as shown in FIG. 9, the font data is combined with the image to reduce the amount of font data. For example, as shown in FIG. 10, when the font data is to be overlapped on the image data (hatching pattern), the font data is combined with the image data to reduce the amount of font data to be sent to the printer 1500 so that the band memory of the at least minimum band size is secured on the RAM 16. 
     In the present embodiment, when the amount of data to be sent to calculated, a condition of the resolution power may be added to set the band size so that a bit map memory of the optimum band size to the resolution power can be secured. 
     In the present embodiment, when the band size is to be secured, the compaction at a fixed ratio is made, although the band size may be compacted at any desired ratio.