CA2100177A1 - System and method of printer banding - Google Patents

System and method of printer banding

Info

Publication number
CA2100177A1
CA2100177A1 CA002100177A CA2100177A CA2100177A1 CA 2100177 A1 CA2100177 A1 CA 2100177A1 CA 002100177 A CA002100177 A CA 002100177A CA 2100177 A CA2100177 A CA 2100177A CA 2100177 A1 CA2100177 A1 CA 2100177A1
Authority
CA
Canada
Prior art keywords
page
primitives
data file
bit
bands
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002100177A
Other languages
French (fr)
Inventor
Stephen V. Dennis
Gabe L. Newell
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CA2100177A1 publication Critical patent/CA2100177A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1296Printer job scheduling or printer resource handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition

Abstract

SYSTEM AND METHOD OF PRINTER BANDING

Abstract of the Disclosure A system and method for printer banding by which stored printer data files are processed a single time to create a set of bandable primitives corresponding to the entire page to be printed. If an object is larger than a preselected band size, the bandable primitives associated with that object are cut into banded sets of primitives corresponding to the preselected band size. The banded sets of primitives are sequentially converted to a bit-map data file for each of the bands. The bit-map data files are stored within a buffer until printed.
The printer prints the entire page in the proper drawing order and allows a faster return to application than previously possible. A scrolling buffer may be used to increase efficiency of data processing by the printer.

Description

~ 00177 Description SYSTEM AND METHOD OF PRINTER BAND~NG

Technical Field The present invention relates to a system and method of printer banding.
More specifically, the present invention relates to a system and method for using banding to increase efficiency of printing on a computer system.

Back roundoftheInvention Computer systems are highly useful for compiling and assimilating large amounts of data. Computer systems frequently include graphic capabilities which allow the display and printing of graphic images. Printing a page of text and/orgraphics images on a laser printer, for example, requires the conversion of data from the forrnat used by the host computer system to the format used by a particular printer.
Typically, the computer data is translated into a bit-map where each bit represents a dot on the printed page. The bit-map is generated within the host computer system and transferred to the printer in compressed data format. The compressed bit-map is expanded and transferred to a print engine, which is the name for the device that receives the bit-map data and converts it into the appropriate voltages to create a printed image. Some printer systems use large memories in the printer so that the host computer system can transfer the description for an entire printed page using anintermediate level printer language. The printer processes the entire page into a single bit-map data file.
The printed page is comprised of individual dots, called pixels. On a typical laser printer, there rnay be 300, 600, or rnore pixels per inch. ~ach pixel is usually represented by a single data bit in the printer memory. As the laser print engine scans a line, the data bits corresponding to that line are read and the laser bearn turns on or off depending on the logic level of the data bit stored in that memory location. At a resolution of 3~)0 pixels per inch, a printer requires approximately one megabyte of memory to store the bit-map data file for an entire page. As previously mentioned, some laser printers contain large memories to enable them l:o store an entire page. If a color laser printer is used, there can be as many as 24 bits per pixel to represent the various shades of color and intensities. Thus, a color laser printer would require 24 megabytes of memory tO store an entire page.
Tc, reduce the memory requirements of the printer, computers and printers of the prior art commonly use a technique known as banding. Banding involves breaking a printed page up into a number of horizontal segments or bands of a selected band size. It should be noted that the term horizontal refers to the orientation of the bands as referenced to the leading edge of the page as the page moves into the printer. The host computer system transfers the bit-map data file to the printer one 5 band at a time. Because the band is smaller than an entire page, there is a corresponding decrease in the printer memory required to print a band. For example, a page, identified by reference numeral 2 in Figure 1, may typically be broken do~,vn into sixteen bands 4a-4p of equal size. The printer memory requirements would be reduced by a factor of sixteen. The arrow 6 indicates the direction of movement of the leading 10 edge of the page into the printer (not shown).
The trade-off is that the printing process takes longer. In systems of the prior art, a data file to be printed is stored in a file, typically called a metafile. The metafile contains the data for the entire page to be printed. To process the data for printing, the entire metafile is processed and converted into a bit-map format suitable 15 for printing by the print engine. The systems of the prior art capture only that portion of the bit-map data that is needed for the particular band currently being printed and throws out the rest of the file. For example, the system processes the entire metafile into a bit-map data and prints the first band 4a of Figure 1. The system only stores the bit-map data for the first band 4a, and does not retain the bit-map data for any other 20 band. The system must then reprocess the entire metafile and take the bit-map data for the next band 4b to be printed, again throwing out everything else. In the case of a printer with sixteen bands, the systems of the prior art must process the metafile sixteen times in order to produce a single page. Computers do not store the entire bit-map data file in memory for the same reason that printers do not; namely the large amount of 25 memory required to store a single pag~. Computers generally do not store the entire bit-map data file on a disk storage unit because the disk access and transfer times are unacceptably long.
While memory requirements have been reduced through the use of banding, the processing time has been drastically increased. Therefore, it can be 30 appreciated that there is a significant need for a system and method of banding that will require less memory, but will not cause an increase in data processing time Summarv of the Invention The inventive system determines the band size for a particular page and 35 stores the data file which describes the entire printed page. The data file is read and transforrned into a set of bandable primitives corresponding to the entire page and in a sequence that reflects the desired drawing order of objects on the printed page. The system then divides the bandable primitives at the predetermined band boundaries to create a set of primitives for each band. The band generator converts each banded set of primitives into a band of printer data corresponding to the predetermined band size and stores the band of printer data within a buffer. The system prints the data stored in 5 the buffer and repeats the process for each band of data such that the host computer system does not need to process the stored data file once for each band.
The inventive method involves reading the stored data file and transforming the stored data file into a set of bandable primitives. The primitives are divided into bands corresponding to a predetermined band size. The method involves 10 reading the first set of banded primitives and converting the banded primitives into a corresponding band of bit-map data. The bit-map data is temporarily stored in a buffer and printed. The steps are repeated for the remaining bands of data.

Brief Description of the_rawin~s Figure 1 shows a typical printed divided into sixteen bands.
Figure 2 shows a block diagram of the presently preferred embodiment of the present invention.
Figure 3 depicts a typical printed page on which objects overlap each other and also extend beyond a single band on the page using a page divided into only 20 three bands for simplicity.
Figure4 depicts a circle as a graphic object extending over a band boundary.
Figure 5 depicts a magnified portion of the circle of Figure4 and illustrates a manner in which graphic objects can be approximated.

Detailed DescriQt on of the Invention The present invention uses bands in the same manner as systems of the prior art. However, the data is processed in a novel fashion so that the host computer 30 system does not transfer a bit-map band of data one band at a time like host computer systerns of the prior art. Injtead, the host computer system transmits a set of bandable primitives to the printer for the entire page. A primitive is a widely used term for a directive for drawing an object such as an alphanumeric character or a graphic object such as a line or rectangle. There is generally a one-to-one correspondence between 35 draw primitives and printed objects such as an alphanumeric character or a graphic line. However, in some cases where graphic lines are closely associated with oneanother, a single draw primitive may define more than one graphics line. For exarnple, a rec~angle comprises four individual graphics lines that can be readily described by one dra-v primitive such as "draw object I with corners w, x, y, and z." A bandable primitive is a directive for drawing an object so that the object can be divided into horizontal segments corresponding to the bands. The printer processes the set of5 bandable primitives, following a task sequence list, to create a bit-map for each consecutive band. The band size is selected so that the bit-map data file describing the band may fit conveniently within a buffer memory in the printer used for temporary storage of the bit-map. The selected band size may vary depending on the amount of memory available on a particular band.
The data that is to be printed is stored within the host computer system in a format that may generically be called page description language (PDL). PDL is well known to those skilled in the art and will not be described herein. The PDL format describes the entire page in a single file called a metafile. The host computer system of the present invention processes the metafile and converts all objects into bandable 15 primitives. In the presently preferred embodiment, the host computer system processes the metafile only one time to create a set of bandable primitives for the entire page.
When processing a page for printing, there are two conflicting goals to be met. The first is that drawing order must be maintained. That is, objects that appear to be drawn on top of one another on the display screen must appear that same way 20 when they are printed on a printer. The second goal is that the page must be printed from top to bottom. A laser print engine cannot stop printing in the middle of a page or reverse itself without leaving unacceptable streaks on the printed page. The system of the present invention compromises to meet these two goals. The page is printed from top to bottom, and drawing order is maintained within a particular band by 25 maintaining the task sequence list for each band. The task sequence list is ordered by the way in which the metafile has stored the graphic objects. When a user creates objects, the objects are stored within the metafile in the order in which the objects were created. If one object overlaps another, the objects have a specific drawing sequence or order by virtue of the sequence in which the objects were created and stored. Because 30 the objects are transformed into bandable primitives and broken at the band boundaries, there is no need to be concerned about drawing order of any band except the bandcurrently being processed. According to the principles of the present invention, a task sequence list is created for each band. The task sequence list is essentially a set of draw primitives for each band. The result is that the finished printed page looks 35 exactly as the user had intended, and the system printed the page with less processing time than systems of the prior art without requiring any additional memory.

21001~7 In the presently preferred embodiment, a host computer system 30 of the present invention is illustrated in Figure2. Under the direction of a central processor 38, the host computer system 30 reads a stored metafile from a metafile storage area 34 via a bus 33 which interconnects the various portions of the host 5 computer system. A band size 36 is selected to correspond to the memory limitations of the host computer or a laser or other type printer 46 to which the host computer is connected. A bandable prisnitives generator 40 transforms the metafile into a set of bandable primitives that describe an entire page to be printed. A band divider 42 divides the bandable plimitives at precise locations corresponding to the selected band 10 size 36 creating a set of banded primitives for each of the bands. A host computer VO
interface44 sends the entire set of banded primitives, in the form of a banded primitives data file, to the laser printer 46 connected to the host computer system 30.
A printer VO interface 48 receives the banded primitives data file and stores the file within a memory S0 of the printer 46. The printer memory S0 may comprise both 15 random access memory (RAM) and read-only memory (ROM). The host computer VO
interface 44 and the printer I/O interface 48 may be a standard serial interface, parallel printer interface, or the like. A band generator 52 converts each band of the banded primitives data file into a bit-map data file for the particular band being processed. The bit-map data file is stored within a storage bufferS4 and transferred to a print20 engine 56 of the printer 46. The host computer system 30 needs to process the metafile only one time thus saving a great deal of data processing time while still using less memory than non-banding s~stems.
In an alternative embodiment, the band divider 42 is located within the printer 46. The band divider 42 operates in the same manner as described above. The 25 host computer 30 contains the bandable primitives generator 40 and transfers the bandable primitives to the printer 46. Alternatively, the bandable primitives generator 40 and the band divider 42 could be located within the printer 46. In this embodirnent, the host computer 30 transfers the metafile from the metafile storage area 34 to the printer 46. In yet another alternative embodiment, the band generator 52 is located 30 within the host computer 30. This embodiment is useful in situations where the data transfer rate between the host computer 30 and the printer 46 is high enough to allow the bit-map data file for each band to be transferred to the printer 46 in real-time. That is, while the print engine 56 is processing one bit-map data file, the band generator 52 in the host computer 30 must convert the next set of banded primitives to a bit-map 35 data file and transfer the bit-map data file to the printer 46. It is also possible to locate the storage buffer 54 in the host computer 30. In this embodiment all processing 21~0177 occurs in the host computer 30 and the print engine 56 would merely accept the data provided and create the analog voltages required to create the printed page.
The host computer system 30 perforrns initial processing of the data. As previously discussed, the data file that represents the page to be printed is often called a metafile. The metafile is stored in the storage area34 within the host computer system 30. The storage area 34 may be a portion of a system memory 32 or a file on a hard disk or the like, however, any suitable storage area will suffice The host computer system 30 also stores within the system memory 32, a value representing the selected band size 36. The value for the selected band size may also be stored within any other suitable storage location.
Under control of the central processor 38 of the host computer system 30, the metafile is read a single time from the metafile storage area 34. As the metafile is read, the bandable prirnitives generator 40 analyzes the data and transforms the data into a set of primitives that may easily be broken into bands that correspond to the predetermined band size 36. In Figure 3, for example, a page 100 has been divided into three horizontal bands 102, 104, and 106 for simplicity. A first object 108 is drawn in the first two bands 102 and 104, and appears to be beneath a second object 110. A second object 110 extends across all three bands 102, 104, and 106, and appears to be beneath a third object 112 which is contained entirely within the third band 106.
Prior art systems define the printed page 100 of Figure 3 in the following manner:

1. Play the metafile, create bit-map data for first object 108 with corners A, B, C, and D and ignore all data that falls outside band 102, create bit-map data for second object 110 with corners E, F, G, and H and ignore all data that falls outside band 102, create bit-map data for third object 112 with corners I, J, K, and L and ignore all data that falls outside band 102 and transmit the bit-map data for band 102 to the printer;
2. Replay the metafile, create bit-map data for first object 108 with corners A, B, C, and D and ignore all data that falls outside band 104, cre~te bit-map data for second object 110 with corners E, F, G, and H and ignore all data that falls outside band 104, create bit-map data for third object 112 with corners I, J, K, and L and ignore all data that falls outside band 104 and transmit the bit-map data for band 104 to the printer; and 3. ~eplay the metafile, create bit-map data for first object 108 with corners A, B, C, and D and ignore all data that falls outside band 106, create bit-map data for second object 110 with corners E, F, G, and H and ignore all data that falls outside band 106, S create bit-map data for third object 112 with corners I, J, K, and L and ignore all data that falls outside band 106 and transmit the bit-map data for band 106 to the printer.

Note that the metafile must be replayed for each band and each time the data for the remaining bands is discarded.
In contrast, the host computer system 30 of the present invention plays the metafile a single time and transmits a banded primitives file to the printer to describe the entire page. The host computer system maintains the drawing order for the entire page by maintaining the drawing order for the band presently being processed. The drawing order is specified by the sequence in which the objects were initially created. The host computer system processes the metafile a single time to create the bandable primitives list for the entire page. Objects that cross bandboundaries, such as first and second objects 108 and 110 are divided at the bandboundaries. The host computer system then addresses the drawing order within thefirst band 102, and creates a list of tasks to be performed in sequential order by the printer 46. Thus, the first and second objects 108 and 110 will be drawn in the correct order. The host computer system then creates a task list for the second band 104 that will maintain the proper drawing order for that band, with the result that the first and second objects 108 and 110 are still in the proper order for the second band 104.
Sirnilarly, the host computer system creates a task list for third band 106, which specif1es the drawing order for the overlapping second and third objects 110 and 112.
For exarnple, the first obJect 10X in Figure 3 overlaps bands 102 and 104. The band divider42 (see Figure2) of the present invention divides the firstobject 108 into object 108a with corners A, B, C', and D', contained within the band 102 and object 10~b with corners D', C', C, and D contained in the band 104.
Similarly, the second object 110, which overlaps three bands 102, 104, and 106, is divided into three objects. Object 110a with corners E, F, F', and E' is contained within the band 102, ob~ect 110b with comers E', F', G', and H' contained within the band 104, and object 110c with corners H', G', G, and H contained within the band 106. Thethird object 112 is contained entirely within the band 106. Therefore the band divider 42 does not divide object 112 into banded primitives, but merely defines the third object 112 with corners I, J, K, and L within the band 106. The host computer 21~0177 system places these six defined objects into their respective bands and creates a task sequence list for each band so that the drawing order is maintained. A typical task sequence list for the present invention is illustrated by steps 2-4 of the follo~,ving sequence of events:

1. Play the metafile;
2. For band 102, draw the object 108a with corners A, B, C', and D' then draw object 1 lOa with corners E, F, F', and E';
3. For band 104, draw the object 108b with corners D', C', C, and D
then draw the object 1 lOb with corners E', F', G', and Hl;
4. For band 106, draw the object I lOc with corners H', a, G, and H then draw the object 112 with corners I, J, K, and L; and 5. Transmit the task sequence lists to the printer.

15 Note that the host computer system 30 has not created nor transmitted bit-map data.
Instead, the host computer system transmits much shorter task sequence lists to the printer 46. The task sequence lists instruct the printer to create the objects deflned by the banded prirnitives in the order defined by the order of the instructions. Further processing of the data occurs within the printer 46 leaving the host computer system 30 20 free to perform other tasks. The processing of task sequence lists by the printer will be discussed in greater detail below.
It is clear that certain shapes such as rectangles and straight lines can be easîly divided into a series of horizontal bands. Similarly, any data already stored within the host computer system 30 as a bit-map, such as character fonts, are also easily 25 divided into horizontal bands. Many newer laser printers have font scaling technology, such as "TrueType" fonts, which use mathematical algorithms to construct bit-maps of alphanumeric characters rather than storing a limited number of fonts in printer read only memory (ROM) as a bit-map. When these printers receive a command to print aparticular character of a certain size and font style, the printer uses the appropriate 30 algorithm to construct a bit-map of that character and stores the bit-map within the printer memory 50 in case that character is used again. The present invention works equally well with older laser printers and the newer prints with font scaling technology.
As previously discussed, if the host computer system 30 has a graphic object stored as a bit-map, the task of dividing the object into bands is simple because 35 some bits of the bit-map will fall into each band. For alphanumeric characters stored as bit-maps in the printer, or for font scaling printers, the host computer system 30 transfers two arguments to the printer 46. The first argument identifies the character, 21~0177 the font type and the font size. The second argument tells the printer 46 where to cut the character for a particular band. Some alphanumeric characters may be used inmany locations throughout a page. Since the printer 46 already has the character stored in bit-map form in printer memory 50 (for both the old ROM stored fonts and the font 5 scaling printers), the host computer system 30 will specify the same f1rst argument and a different second argument when a particular character is used a second time. This is particularly useful with font scaling printers because a great deal of time is saved by not having to convert alphanumeric characters to bit-maps within the host computer system 30 and allowing the printer 46 to store the bit-map within its own memory 50.
10 While the previous process described the conversion of alphanumeric characters to a bit-map within the printer, it is clear to those skilled in the art that the conversion to a bit-map could take place within the computer or the printer. The bit-maps of thecharacters are divided into the appropriate bands according to the directives of the second argument passed to the printer 46 from the host computer system 30.
Other graphic objects, such as circles, are more difficult to divide into horizontal bands. Objects such as circles must be approximated in a manner that allows them to be easily divided into horizontal bands. It is well known to those skilled in the art that graphic objects may be represented by a series of simplegeometric shapes. For example, circles are often represented as a series of rectangles 20 or trapezoids with varying dimensions. In Figure 4, a partial page 200 is divided into two bands 202 and 204. According to the principles of the present invention, a circle 206 is divided into two objects 206a and 206b corresponding to the bands 202 and 204, respectively. In the presently preferred embodiment, graphic objects such circles are divided into a series of trapezoids. The object 206a of the top portion of the 25 circle 206 is in band 202 of Figure 4, and is approximated by a series of trapezoids 208a-208h, shown in Figure 5. The lower side of trapezoid 208h coincides with a boundary 210 between bands 202 and 204. Therefore, the circle 206 will bedivided between the two bands at the lower side of the trapezoid 208h. In similar fashion, other complex graphic objects may be approximated. The point of intersection 30 of an object and a band boundary can be determined for any object through the use of simple geometry and mathematics. The various techniques for determining the point of intersection with a band boundary are well known to those of ordinary skill in the art and will not be discussed herein.
Except for the font scaling discussed above, all of the processing 35 described up to this point takes place within the host computer system 30 without any interaction with the printer 46. However, it is clear to those of ordinary skill in the art that the inventive process could occur within the printer as well. The metaf1le can be transferred to the printer without any processing. In this embodiment, the bandable primitives generator 40 and the band divider 42 are located within the printer 46. The bandable primitives generator 40 and the band divider 42 perform the identical function as previously described, but the functions are perfommed within the printer 46.
5 Altematively, the bandable primitives generator 40 could be in the host computer system 30, and the band divider 42 could be located within the printer 46.
In prior art systems, the host computer system does all of the processing and transmits only the bit-map data corresponding to each band to the printer. In contrast, the host computer system 30 of the present invention analyzes each of the 10 objects and breaks the objects into bands. The host computer system then transmits the task sequence lists, which define an entire page rather than a single band, to the printer.
Only the task sequence lists are transmitted to the printer thus allowing the host computer systern to return to an application program in less time than prior art systems.
The time required to actually transmit data to the printer 46 is also minimized due to 15 the fact that the task sequence lists are generally shorter in length than a bit-map data file.
The task sequence list is transmitted to the printer46 by the host computer I/O interface 44 within the host computer system 30. The task sequence list is received by the printer I/O interface 48 witbin the printer 46 and stored in the printer 20 memory 50. Once the printer46 has received the task sequence list, the printer performs the conversion from bandable primitives format into a bit-map. As previously stated, the present invention must meet the twin goals of printing the page from top to bottom and maintaining the proper drawing order. The f~rst goal is met by printing the bands in the appropriate sequence. The second goal, maintaining proper 25 drawing order, is met by printing the objects in the order specified by the task sequence list.
The task sequence list is converted into a bit-map file, one band at a time, by the band generator 52 of the printer 46. Within each band, the proper drawing order is maintained by virtue of the order in which the task sequence list was created by 30 the host computer system 30 from the metafile. The bit-map data for the band is temporarily stored in the printer storage buffer 54 which may comprise part of the printer memory 50, but may be stored in any other suitable storage location. The bit-map data for the band is transferred to the print engine 56 scan line by scan line the sarne as with prior art systems. The print engine 56 converts the bit-map data into 35 voltage signals that create the printed page.
The present invention also checks the task sequence list for each of the bands to see if any tasks from one band are repeated in a subsequent band. If a part of ~!110()177 any task sequence list is repeated, the printer memory will retain the bit-map data corresponding to the repeated portion of the task sequence list. Saving bit-map data that will be repeated in a subsequent band saves time by converting a portion of a task sequence list only once and reusing the same bit-map data in another band. This is S particularly useful with font scaling laser printers where alphanumeric characters are frequently used in multiple locations on a single page.
Another time saving technique of the present invention utilizes the storage buffer 54 as a scrolling storage buffer. The transfer of data from the storage buffer S4 to the print engine 56 occurs at a much slower rate than the rate of data 10 transfer from the band generator 52 to the storage buf~er 54. Therefore, the printer 46 can be processing task sequence lists for subsequent bands while the print engine 56 is printing out the current band. The storage buffer 54 has a capacity that is larger than needed for a single band. The capacity is about twice the size of a band so that the bit-map for one band may be loaded into the storage buffer 54 and, while the bit-map data 15 for one band is being transferred from the storage buffer to the print engine 56 scan line by scan line, the band generator 52 is converting the next sequential band into a bit-map and storing it in the additional storage space within the scrolling storage buffer. Thus, the storage buffer 54 is being filled up with the bit-map for the next sequential band while the bit-map data for the present band is being transferred to the 20 print engine 56. This continuous process allows maximum utilization of resources as the storage buffer 54 scrolls from the top of the page to the bottom.
Those skilled in the art will appreciate that the dramatic new approach taken by the present invention increases the speed and efficiency of data processing for printer applications without requiring more memory than prior art systems. The end-25 user will notice that the printing speed has been greatly increased while the printedpage is exactly what the user expected.
It is to be understood that even though various embodiments and advantages of the present invention have been set forth in the foregoing description, the above disclosure is illustrative only, and changes may be made in detail and yet remain 30 within the broad principles of the present invention. Therefore, the present invention is to be limited only by the appended claims.

Claims (25)

1. A system using a computer and a printer for printing an entire page of data by defining a plurality of bands for the page, each of the bands having a selected size, the host computer system comprising:
storage means within the computer for storing a data file in an unprocessed form that describes a plurality of objects to be printed on the page and the desired order in which said plurality of objects are to be printed on the page;
rendering means within the computer for transforming said stored data file into a set of bandable primitives, said bandable primitives corresponding to said plurality of objects and stored in a manner indicative of the desired order in which said bandable primitives are to be printed on the page;
dividing means within the computer for dividing said bandable primitives into portions corresponding to the bands for any of said plurality of objects that exceed the selected band size and generating a banded set of primitives for each of the bands, each of said banded set of primitives for a particular one of the bands maintaining the desired order in which said portions corresponding to said one particular band should be printed within said one particular band;
conversion means within the printer for sequentially converting each of said banded sets of primitives into a corresponding printer data file;
buffer storage means within the printer for sequentially receiving each of said printer data files from said conversion means and temporarily storing said printer data files;
and print means within the printer for sequentially printing each of said printer data files stored in said buffer storage means on the page, whereby the computer does not process said stored data file one time for each of the bands in order to generate said printer data files.
2. A system using a computer and a printer for printing an entire page of data, the system comprising:
means for selecting a band size for each of a plurality of bands into which the printed page is divided;
a memory storing an unprocessed data file in a form that describes a plurality of objects to be printed on the page and the desired order in which said plurality of objects should be printed on the page;
a bandable primitives generator receiving said unprocessed data file and transforming said unprocessed data file into a set of bandable primitives, said bandable primitives corresponding to said plurality of objects and stored in a manner indicative of the desired order in which said plurality of objects should be printed on the page;
a band divider dividing said bandable primitives into portions corresponding to said bands for any of said plurality of objects that exceed said band size and generating a banded set of primitives for each of said bands, each of said banded set of primitives for a particular one of said bands maintaining the desired order in which said portions corresponding to said one particular band should be printed within said one particular band;
a band generator sequentially converting each of said banded sets of primitives into a bit-map data file corresponding to each of said bands;
a storage buffer with size at least as large as said horizontal band size, sequentially receiving each of said bit-map data files, one bit-map data file at a time, from said band generator and temporarily storing said bit-map data files; and a print engine within the printer sequentially receiving said bit-map data filesfrom said storage buffer, one bit-map data file at a time, and printing each of said sequential bit-map data files on the page, whereby the computer processes said unprocessed data file only a single time in order print an entire page.
3. A computer system for printing a page of data on a printer by defining a plurality of horizontal bands for the page, each of said bands having a selected band size, the printer containing a conversion means to sequentially convert data corresponding to the plurality of bands into sequential bit-map data files corresponding to the plurality of bands for printing on the page, buffer storage means for temporarily storing the sequential bit-map data files until printed, and print means for sequentially printing the bit-map data files on the page, the system comprising:
storage means within the computer for storing a data file in an unprocessed form that describes a plurality of objects to be printed on the page and the desired order in which said plurality of objects are to be printed on the page;
rendering means within the computer for transforming said stored data file into a set of bandable primitives, said bandable primitives corresponding to said plurality of objects and stored in a manner indicative of the desired order in which said bandable primitives are to be printed on the page; and dividing means within the computer for dividing said bandable primitives into portions corresponding to the bands for any of said plurality of objects that exceed the selected band size and generating a banded set of primitives for each of the bands, each of said banded set of primitives for a particular one of the bands maintaining the desired order in which said portions corresponding to said one particular band should be printed within said one particular band, whereby the computer does not process said stored data file one time for each of the bands in order to generate the bit-map data files.
4. A computer system for printing a page of data on a printer, the printer containing a buffer for temporarily storing bit-map data files until printed and a print engine for sequentially printing bit-map data files on the page, the system comprising:means for selecting a band size for each of a plurality of bands into which the printed page is divided;
a central processor;
a memory connected to said central processor via a bus carrying data and control signals storing an unprocessed data file in a form that describes a plurality of objects to be printed on the page and the desired order in which said plurality of objects should be printed on the page;
a bandable primitives generator, connected to said bus, receiving said unprocessed data file and transforming said unprocessed data file into a set of bandable primitives, said bandable primitives corresponding to said plurality of objects and stored in a manner indicative of the desired order in which said plurality of objects should be printed on the page;
a band divider, connected to said bus, dividing said bandable primitives into portions corresponding to said horizontal bands for any of said plurality of objects that exceed said band size and generating a banded set of primitives for each of said bands, each of said banded set of primitives for a particular one of said bands maintaining the desired order in which said portions corresponding to said one particular band should be printed within said one particular band; and a band generator sequentially converting each of the banded sets of primitives into a bit-map data file corresponding to each of the bands, whereby the computer does not process said unprocessed data file one time for each of said bands in order to print an entire page.
5. A computer system for printing a page of data on a printer, the printer containing a band divider dividing a data file into a plurality of banded data files corresponding in size to a plurality of bands into which the page is divided, a convertor for sequentially converting the banded data files into bit-map data files for printing on the page, a buffer for temporarily storing the bit-map data files until printed and a print engine for sequentially printing the bit-map data files on the page, the system comprising:means for selecting a band size for each of a plurality of bands into which the printed page is divided;

a central processor;
a memory connected to said central processor via a bus carrying data and control signals storing an unprocessed data file in a form that describes a plurality of objects to be printed on the page and the desired order in which said plurality of objects should be printed on the page; and a bandable primitives generator, connected to said bus, receiving said unprocessed data file and transforming said unprocessed data file into a set of bandable primitives, said bandable primitives corresponding to said plurality of objects and stored in a manner indicative of the desired order in which said plurality of objects should be printed on the page, whereby the computer does not process said unprocessed data file one time for each of said bands in order to print an entire page.
6. A printer system for printing a page of data by defining a plurality of bands for the page, each of said bands having a selected band size, the printer connected to a computer having a storage means for storing a data file in an unprocessed form that describes a plurality of objects to be printed on the page and the desired order in which said plurality of objects are to be printed on the page, rendering means for transforming said stored data file into a set of bandable primitives, said bandable primitives corresponding to said plurality of objects and stored in a manner indicative of the desired order in which said bandable primitives are to be printed on the page, and dividing means for dividing said bandable primitives into portions corresponding to the bands for any of said plurality of objects that exceed the selected band size and for generating a banded set of primitives for each of the bands, each of said banded set of primitives for a particular one of the bands maintaining the desired order in which said portions corresponding to said one particular band should be printed within said one particular band, the system comprising:
conversion means within the printer to sequentially convert each of said banded sets of primitives into a corresponding printer data file;
buffer storage means within the printer for sequentially receiving each of said printer data files from said conversion means and temporarily storing said printer data files;
and print means within the printer for sequentially printing each of said printer data files stored in said buffer storage means on the page, whereby the computer does not process said stored data file one time for each of the bands in order to generate said printer data files.
7. A printer system for printing a page of data by defining a plurality of bands for the page, each of the bands having a selected size, the printer connected to a computer having a memory storing an unprocessed data file in a form that describes a plurality of objects to be printed on the page and the desired order in which the plurality of objects should be printed on the page, the system comprising:
a bandable primitives generator receiving the unprocessed data file and transforming the unprocessed data file into a set of bandable primitives, said bandable primitives corresponding to the plurality of objects and stored in a manner indicative of the desired order in which the plurality of objects should be printed on the page;
a band divider, connected to said bus, dividing said bandable primitives into portions corresponding to said horizontal bands for any of the plurality of objects that exceed the band size and generating a banded set of primitives for each of the bands, each of said banded set of primitives for a particular one of the bands maintaining the desired order in which said portions corresponding to said one particular band should be printed within said one particular band;
a band generator within the printer sequentially converting each of said banded sets of primitives into a bit-map data file corresponding to each of the bands;
a storage buffer within the printer, with size at least as large as the band size, sequentially receiving each of said bit-map data files, one bit-map data file at a time, from said band generator and temporarily storing said bit-map data files; and a print engine within the printer sequentially receiving said bit-map data filesfrom said storage buffer, one bit-map data file at a time, and printing each of said sequential bit-map data files on the page, whereby the computer does not process said unprocessed data file one time for each of the bands in order to print an entire page.
8. A printer system for printing a page of data by defining a plurality of bands for the page, each of the bands having a selected size, the printer connected to a computer having a memory storing an unprocessed data file in a form that describes a plurality of objects to be printed on the page and the desired order in which the plurality of objects should be printed on the page, a bandable primitives generator receiving the unprocessed data the and transforming the unprocessed data file into a set of bandable primitives, the bandable primitives corresponding to the plurality of objects and stored in a manner indicative of the desired order in which the plurality of objects should be printed on the page, the system comprising:
a band divider, connected to said bus, dividing said bandable primitives into portions corresponding to said horizontal bands for any of the plurality of objects that exceed the band size and generating a banded set of primitives for each of the bands, each of said banded set of primitives for a particular one of the bands maintaining the desired order in which said portions corresponding to said one particular band should be printed within said one particular band;
a band generator within the printer sequentially converting each of said banded sets of primitives into a bit-map data file corresponding to each of the bands;
a storage buffer within the printer, with size at least as large as the band size, sequentially receiving each of said bit-map data files, one bit-map data file at a time, from said band generator and temporarily storing said bit-map data files; and a print engine within the printer sequentially receiving said bit-map data filesfrom said storage buffer, one bit-map data file at a time, and printing each of said sequential bit-map data files on the page, whereby the computer does not process said unprocessed data file one time for each of the bands in order to print an entire page.
9. A printer system for printing a page of data by defining a plurality of bands for the page, each of the bands having a selected size, the printer connected to a computer having a memory storing an unprocessed data file in a form that describes a plurality of objects to be printed on the page and the desired order in which the plurality of objects should be printed on the page, a bandable primitives generator receiving the unprocessed data file and transforming the unprocessed data file into a set of bandable primitives, the bandable primitives corresponding to the plurality of objects and stored in a manner indicative of the desired order in which the plurality of objects should be printed on the page, a band divider dividing the bandable primitives into portions corresponding to the horizontal bands for any of said plurality of objects that exceed the selected band size and generating a banded set of primitives for each of the bands, each of the banded set of primitives for a particular band maintaining the desired order in which the portions corresponding to that particular band should be printed within that particular band, the system comprising:
a band generator within the printer sequentially converting each of said banded sets of primitives into a bit-map data file corresponding to each of the bands;
a storage buffer within the printer sequentially receiving each of said bit-map data files, one bit-map data file at a time, from said band generator and temporarily storing said bit-map data files; and a print engine within the printer sequentially receiving said bit-map data filesfrom said storage buffer, one bit-map data file at a time, and printing each of said sequential bit-map data files on the page, whereby the computer does not process said unprocessed data file one time for each of the bands in order to print an entire page.
10. The system of any of the preceding claims 1 and 6 wherein said buffer storage means accepts the next one of said sequential printer data files from said conversion means while said print means is printing the current one of said sequential printer data files, whereby said buffer storage means is continuously receiving said printer data files from said conversion means and said print means is continuously printing said printer data files on the page.
11. The system of any of the preceding claims 2, 7, 8, and 9 wherein said storage buffer is larger in size than said selected band size and accepts the next one of said sequential bit-map data files from said band generator while said print engine is printing the current one of said sequential bit-map data files, whereby said storage buffer is continuously receiving said bit-map data files from said band generator and said print engine is continuously printing said bit-map data files on the page.
12. The system of any of the preceding claims 1, 6, 7, 8, and 9, further including means within the printer for saving a portion of said printer data file from one of the bands if said saved portion will be used in a subsequent one of the bands.
13. The system of any of the preceding claims 1, 2, 3, 4, and 5, further including means for selecting a band size for each of a plurality of bands into which the page is divided.
14. The system of any of the preceding claims 1, 2, 3, 4, and 5 wherein the bands are horizontal bands for the page.
15. A method used on a computer connected to a printer for printing an entire page of data by defining a plurality of bands for the page, each of the bands having a selected band size, the method comprising the steps of:
(a) reading a stored data file in the computer, said stored data file being in an unprocessed form which describes a plurality of objects to be printed on the page and the desired order in which said plurality of objects should be printed on the page;
(b) transforming said stored data file into a set of bandable primitives, said bandable primitives corresponding to said plurality of objects and stored in a manner indicative of the desired order in which said bandable primitives are to be printed on the page;
(c) dividing said bandable primitives into portions corresponding to the selected band size for any of said plurality of objects that exceed the selected band size;

(d) sequentially generating a banded set of primitives for each of the bands, each of said banded sets of primitives for a particular one of the bands maintaining the desired order in which said portions corresponding to said one particular band are to be printed within said one particular band;
(e) converting a first sequential banded set of primitives into a first sequential bit-map data file, said sequential bit-map data file corresponding to the selected band size of the printed page;
(f) temporarily storing said sequential bit-map data file in a storage buffer, said storage buffer having a size at least as large as the selected band size;
(g) printing said bit-map data file stored in said buffer on the page; and (h) repeating steps e-g for the next sequential banded set of primitives until each of said banded sets of primitives has been converted into said bit-map data files and printed on the page, whereby the system requires processing of said stored data file only a single time in order to generate said bit-map data files.
16. A method using a computer for printing a page of data on a printer, the printer containing a print engine for sequentially printing the bit-map data on the page, the method comprising the steps of:
(a) reading a stored data file in the computer, said stored data file being in an unprocessed form which describes a plurality of objects to be printed on the page and the desired order in which said plurality of objects should be printed on the page;
(b) transforming said stored data file in the computer into a set of bandable primitives, said bandable primitives corresponding to said plurality of objects and stored in a manner indicative of the desired order in which said bandable primitives are to be printed on the page;
(c) dividing said bandable primitives into portions corresponding to said selected band size for any of said plurality of objects that exceed said selected band size;
(d) generating a banded set of primitives for each of said bands, each of said banded sets of primitives for a particular one of the bands maintaining the desired order in which said portions corresponding to said one particular band are to be printed within said one particular band;
(e) converting the first sequential banded set of primitives into a first sequential bit-map data file, said sequential bit-map data file corresponding to the selected band size;
(f) temporarily storing said sequential bit-map data file in a storage buffer; and (g) repeating steps e and f for the next sequential banded set of primitives until each of the banded sets of primitives has been converted into said bit-map data files and printed on the page, whereby the computer does not process said stored data file one time for each of said bands in order to print an entire page.
17. A method using a computer for printing a page of data on a printer, the printer containing a buffer for temporarily storing the bit-map data file until printed, and a print engine for sequentially printing the bit-map data on the page, the method comprising the steps of:
(a) reading a stored data file in the computer, said stored data file being in an unprocessed form which describes a plurality of objects to be printed on the page and the desired order in which said plurality of objects should be printed on the page;
(b) transforming said stored data file in the computer into a set of bandable primitives, said bandable primitives corresponding to said plurality of objects and stored in a manner indicative of the desired order in which said bandable primitives are to be printed on the page;
(c) dividing said bandable primitives into portions corresponding to said selected band size for any of said plurality of objects that exceed said selected band size;
(d) generating a banded set of primitives for each of said bands, each of said banded sets of primitives for a particular one of the bands maintaining the desired order in which said portions corresponding to said one particular band are to be printed within said one particular band; and (e) converting the first sequential banded set of primitives into a first sequential bit-map data file, said sequential bit-map data file corresponding to the selected band size of the printed page, whereby the computer does not process said stored data file one time for each of said bands in order to print an entire page.
18. A method using a computer for printing a page of data on a printer, the printer containing a convertor for sequentially converting data into a bit-map data file for printing on the page, a buffer for temporarily storing the bit-map data file until printed, and a print engine for sequentially printing the bit-map data on the page, the method comprising the steps of:
(a) reading a stored data file in the computer, said stored data file being in an unprocessed form which describes a plurality of objects to be printed on the page and the desired order in which said plurality of objects should be printed on the page;
(b) transforming said stored data file in the computer into a set of bandable primitives, said bandable primitives corresponding to said plurality of objects and stored in a manner indicative of the desired order in which said bandable primitives are to be printed on the page;
(c) dividing said bandable primitives into portions corresponding to said selected band size for any of said plurality of objects that exceed said selected band size; and (d) generating a banded set of primitives for each of said bands, each of said banded sets of primitives for a particular one of the bands maintaining the desired order in which said portions corresponding to said one particular band are to be printed within said one particular band, whereby the computer processes said stored data file only a single time in order print an entire page.
19. A method using a computer for printing a page of data on a printer, the printer containing a band divider for dividing a data file into a plurality of banded data files corresponding in size to a plurality of bands into which the page is divided, a convertor for sequentially converting the banded data files into bit-map data files for printing on the page, a buffer for temporarily storing the bit-map data files until printed, and a print engine for sequentially printing the bit-map data files on the page, the method comprising the steps of:
(a) reading a stored data file in the computer, said stored data file being in an unprocessed form which describes a plurality of objects to be printed on the page and the desired order in which said plurality of objects should be printed on the page; and (b) transforming said stored data file in the computer into a set of bandable primitives, said bandable primitives corresponding to said plurality of objects and stored in a manner indicative of the desired order in which said bandable primitives are to be printed on the page, whereby the computer does not process said stored data file one time for each of said bands in order to print an entire page.
20. A method used on a printer for printing a page of data by defining a plurality of bands for the page, each of the bands having a selected band size, the printer connected to a computer having a memory storing an unprocessed data file in a form that describes a plurality of objects to be printed on the page and the desired order in which the plurality of objects should be printed on the page, the method comprising the steps of:
(a) receiving the unprocessed data file from the computer;
(b) transforming the unprocessed data file into a set of bandable primitives, said bandable primitives corresponding to the plurality of objects and stored in a manner indicative of the desired order in which said bandable primitives are to be printed on the page;

(c) dividing said bandable primitives into portions corresponding to the selected band size for any of the plurality of objects that exceed the selected band size;
(d) generating a banded set of primitives for each of the bands, each of said banded sets of primitives for a particular one of the bands maintaining the desired order in which said portions corresponding to said one particular band are to be printed within said one particular band;
(e) converting within the printer the first sequential banded set of primitives into a first sequential bit-map data file, said sequential bit-map data file corresponding to the selected band size of the printed page;
(f) temporarily storing said sequential bit-map data file in a storage buffer within the printer;
(g) printing said bit-map data file stored in said buffer on the page; and (h) repeating steps e-g for the next sequential banded set of primitives until each of the banded sets of primitives has been converted into said bit-map data files and printed on the page, whereby the computer is not required to process the unprocessed data file one time for each of said bands in order to generate said bit-map data files.
21. A method used on a printer for printing a page of data by defining a plurality of bands for the page, each of the bands having a selected band size, the printer connected to a computer having a memory storing an unprocessed data file in a form that describes a plurality of objects to be printed on the page and the desired order in which the plurality of objects should be printed on the page, a bandable primitives generator receiving the unprocessed data file and transforming the unprocessed data file into a set of bandable primitives, the bandable primitives corresponding to the plurality of objects and stored in a manner indicative of the desired order in which the plurality of objects should be printed on the page, the method comprising the steps of:
(a) receiving the set of bandable primitives from the computer;
(b) dividing the bandable primitives into portions corresponding to the selected band size for any of the plurality of objects that exceed the selected band size;
(c) generating a banded set of primitives for each of the bands, each of said banded sets of primitives for a particular one of the bands maintaining the desired order in which said portions corresponding to said one particular band are to be printed within said one particular band;
(d) converting within the printer the first sequential banded set of primitives into a first sequential bit-map data file, said sequential bit-map data file corresponding to the selected band size of the printed page;

(e) temporarily storing said sequential bit-map data file in a storage buffer within the printer;
(f) printing said bit-map data file stored in said buffer on the page; and (g) repeating steps d-f for the next sequential banded set of primitives until each of the banded sets of primitives has been converted into said bit-map data files and printed on the page, whereby the computer is not required to process the unprocessed data file one time for each of said bands in order to generate said bit-map data files.
22. A method used on a printer for printing a page of data by defining a plurality of bands for the page, each of the bands having a selected band size, the printer connected to a computer having a memory storing an unprocessed data file in a form that describes a plurality of objects to be printed on the page and the desired order in which the plurality of objects should be printed on the page, a bandable primitives generator receiving the unprocessed data file and transforming the unprocessed data file into a set of bandable primitives, the bandable primitives corresponding to the plurality of objects and stored in a manner indicative of the desired order in which the plurality of objects should be printed on the page, a band divider dividing the bandable primitives into portions corresponding to the bands for any of said plurality of objects that exceed the selected band size and generating a banded set of primitives for each of the bands, each of the banded set of primitives for a particular band maintaining the desired order in which the portions corresponding to that particular band should be printed within that particular band, the method comprising the steps of:
(a) converting within the printer the first sequential banded set of primitives into a first sequential bit-map data file, said sequential bit-map data file corresponding to the selected band size of the printed page;
(b) temporarily storing said sequential bit-map data file in a storage buffer within the printer;
(c) printing said bit-map data file stored in said buffer on the page; and (d) repeating steps a-c for the next sequential banded set of primitives until each of the banded sets of primitives has been converted into said bit-map data files and printed on the page, whereby the computer is not required to process the unprocessed data file one time for each of said bands in order to generate said bit-map data files.
23. The method of any of the preceding claims 15, 16, 17, 18, and 19, further including the step of selecting a band size for each of a plurality of bands into which the printed page is divided.
24 24. The method of any of the preceding claims 15, 16, 17, 20, 21, and 22, further including the step of saving a portion of data from one of said bit-map data files if said saved portion will be used in a subsequent one of said bit-map data files, whereby the step of converting said bit-map data file is simplified by having said saved portion already converted.
25. The method of any of the preceding claims 15, 16, 20, 21, and 22 wherein said storage buffer stores said next sequential bit-map data file while the printer is printing said current bit-map data file, whereby the printer is continuously generating said bit-map data files, storing said bit-map data files, and printing said bit-map data files on the page.
CA002100177A 1992-07-10 1993-07-09 System and method of printer banding Abandoned CA2100177A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/911,523 US5577173A (en) 1992-07-10 1992-07-10 System and method of printer banding
US07/911,523 1992-07-10

Publications (1)

Publication Number Publication Date
CA2100177A1 true CA2100177A1 (en) 1994-01-11

Family

ID=25430386

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002100177A Abandoned CA2100177A1 (en) 1992-07-10 1993-07-09 System and method of printer banding

Country Status (5)

Country Link
US (3) US5577173A (en)
EP (1) EP0578256A1 (en)
JP (1) JPH06195182A (en)
KR (1) KR940006016A (en)
CA (1) CA2100177A1 (en)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL106297A (en) * 1993-07-09 1997-11-20 Indigo C O C O Indigo Ltd Page make-up system
AUPM822394A0 (en) * 1994-09-16 1994-10-13 Canon Inc. Object based rendering system
US6339654B1 (en) * 1994-09-29 2002-01-15 Canon Kabushiki Kaisha Apparatus and method for efficiently processing color and monochrome images
WO1996032725A2 (en) * 1995-04-12 1996-10-17 Eastman Kodak Company Color office printer with a high capacity digital page image store
US5984446A (en) * 1995-04-12 1999-11-16 Eastman Kodak Company Color office printer with a high capacity digital page image store
US6124867A (en) * 1995-07-18 2000-09-26 Kabushiki Kaisha Toshiba Picture output apparatus, picture preparation apparatus, and picture output method for outputting picture in the state developed into bitmap data
US5768487A (en) * 1995-10-31 1998-06-16 Seiko Epson Corporation System and method using a split printer driver to control a computer printer device
JP3154393B2 (en) 1995-11-28 2001-04-09 キヤノン株式会社 Information processing apparatus and information processing method
KR0155081B1 (en) * 1996-04-08 1998-12-01 김광호 Printer with compulsory stoppage function and method of the same
JP3631848B2 (en) * 1996-06-28 2005-03-23 富士通株式会社 Image display system
US5987245A (en) 1996-07-01 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server failure reporting process
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US5848246A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system
US5999972A (en) 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US6038590A (en) 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
US6665081B1 (en) 1996-07-19 2003-12-16 Seiko Epson Corporation Print system printer driver and printer
JP3204136B2 (en) * 1996-12-13 2001-09-04 富士ゼロックス株式会社 Image processing apparatus and compression processing method
KR100225071B1 (en) * 1996-12-23 1999-10-15 윤종용 Print margin changing method with manual feeding
KR100208033B1 (en) * 1996-12-27 1999-07-15 윤종용 Optimum method of adjusting print speed
US5930469A (en) * 1997-05-15 1999-07-27 Hewlett-Packard Company Printing driver and printer which utilize adaptive object banding
AU4395397A (en) 1997-09-30 1999-04-23 Indigo N.V. Page composition system
US6392758B2 (en) * 1997-10-09 2002-05-21 Hewlett-Packard Company Wait-band alleviation via host-PC buffering
JPH11203061A (en) * 1998-01-12 1999-07-30 Fuji Xerox Co Ltd Image processor, output device, image processing system and method
US6252614B1 (en) 1998-07-20 2001-06-26 Toshiba American Information Systems, Inc. Software architecture which maintains system performance while pipelining data to an MFP and uses shared DLL
JP3284464B2 (en) * 1998-09-29 2002-05-20 セイコーエプソン株式会社 Page printer and page print system
US6257690B1 (en) * 1998-10-31 2001-07-10 Hewlett-Packard Company Ink ejection element firing order to minimize horizontal banding and the jaggedness of vertical lines
US20030147682A1 (en) * 2002-02-05 2003-08-07 Lester Samuel M. System and methods for real-time printing
US7529823B2 (en) * 2003-03-27 2009-05-05 Microsoft Corporation Notifications for shared resources
US20050068549A1 (en) * 2003-09-26 2005-03-31 Denny Jaeger Graphic user interface and method for selectively printing objects displayed on a display device
CN100378754C (en) * 2005-02-17 2008-04-02 致伸科技股份有限公司 Pre-processing method and system for data column print
US8477365B2 (en) * 2005-04-06 2013-07-02 Primax Electronics, Ltd. Method and system for preliminary data processing before printing
EP1785838B1 (en) * 2005-11-01 2017-07-05 Kyocera Mita Corporation Image-forming system and image-forming program
US20070216696A1 (en) * 2006-03-16 2007-09-20 Toshiba (Australia) Pty. Limited System and method for document rendering employing bit-band instructions
CN101622493A (en) * 2006-12-04 2010-01-06 科锐Led照明科技公司 Lighting device and lighting method
KR102172354B1 (en) * 2013-06-28 2020-10-30 삼성전자주식회사 Image file generating method and apparatus thereof
US20150370441A1 (en) * 2014-06-23 2015-12-24 Infosys Limited Methods, systems and computer-readable media for converting a surface to a touch surface
DE102014110864B4 (en) * 2014-07-31 2017-11-09 Océ Printing Systems GmbH & Co. KG Method of printing a PDF file using a printing system
US10095962B2 (en) * 2015-12-21 2018-10-09 Canon Kabushiki Kaisha Y-Z banding/layering for complex page rip
KR102247353B1 (en) * 2020-10-26 2021-05-03 삼성전자주식회사 Image file generating method and apparatus thereof

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4660029A (en) * 1984-07-06 1987-04-21 Tektronix, Inc. Method of providing raster information for a graphics display employing linked lists
US4752894A (en) * 1985-12-30 1988-06-21 Deering Michael F Color plotter controller
US4896275A (en) * 1987-07-10 1990-01-23 Bull Hn Information Systems Inc. Full page graphics image display data reduction
EP0435190B1 (en) * 1989-12-26 1996-07-03 New Oji Paper Co., Ltd. Dot printer
JP2740568B2 (en) * 1990-05-22 1998-04-15 沖電気工業株式会社 Printing equipment
US5115493B1 (en) * 1990-06-21 1995-11-21 Dh Technology Inc Continuous laser printer for printing over page boundaries
ATE134272T1 (en) * 1990-08-08 1996-02-15 Peerless Group METHOD AND DEVICE FOR IMAGE REPRODUCTION
US5303334A (en) * 1992-03-05 1994-04-12 Adobe Systems Incorporated System for generating a rasterized graphic image

Also Published As

Publication number Publication date
US5604847A (en) 1997-02-18
EP0578256A1 (en) 1994-01-12
KR940006016A (en) 1994-03-22
US5577173A (en) 1996-11-19
JPH06195182A (en) 1994-07-15
US5588095A (en) 1996-12-24

Similar Documents

Publication Publication Date Title
US5604847A (en) System and method of printer banding
EP0887763B1 (en) Method and apparatus for building bitmap data in a printer
US5801716A (en) Pipeline structures for full-color computer graphics
US5524186A (en) Method and apparatus for preventing print overruns by pre-rasterizing and storing complex page strips in supplemental printer memory
US5500928A (en) Digital printing system and process using adaptive compression
EP0412925B1 (en) Page printer memory allocation
US5949968A (en) Method and apparatus for processing data for a visual-output device with reduced buffer memory requirements
US5949438A (en) High resolution real time Raster image processing system and method
EP0423051B1 (en) Page printer on which plotter graphics are merged within a text
US5966136A (en) Efficient method for clipping numerous objects against an arbitrary clipping path
US5444827A (en) Method and apparatus for preventing print overruns by rasterizing complex page strips using an increased clock frequency
EP0870277B1 (en) Image rendering for page printers
US5459818A (en) Display list with crossing queues
EP0886243B1 (en) Printer with procedure for pattern tiling and scaling
JP3204136B2 (en) Image processing apparatus and compression processing method
JP3825883B2 (en) Information processing apparatus, information processing method, storage medium, and printing system
JPH10151815A (en) Printing-processing apparatus
EP1093080B1 (en) Printer with high bandwidth compression architecture
JP3018692B2 (en) Printing device
JPH03112668A (en) Printer
JPH07137355A (en) Image processor
JPH10202960A (en) Printing equipment
JPH11119928A (en) Device and method for processing printing
JPH10191066A (en) Image processor
JPH03127094A (en) Character generating device

Legal Events

Date Code Title Description
FZDE Dead