Not applicable
Not applicable
Not applicable
1. Field of the Invention
The present invention relates generally to printing systems and more particularly to a system that generates data to be printed by a plurality of printing cartridges.
2. Description of the Background of the Invention
Composition programs such as QuarkXpress™ and Adobe InDesign™ enable a document designer to specify the content that is to appear on one or more pages of a document. Thereafter, the composition program generates a representation of the pages of the document in accordance with a page description language (PDL) such as PostScript or Portable Document Format (PDF) developed by Adobe Systems, Inc., or Printer Command Language (PCL) developed by Hewlett Packard, Inc. A raster image processor (RIP) generates a raster image representation of each page of the document from the PDL representation. The raster image representation may be used by a platemaker to create plates that are used on lithographic presses, an engraver to create engraved cylinders for a gravure press, or by a controller to drive the print units in a digital press. The raster image representation may be bitmap representation (one bit per pixel), a grayscale representation, or a color representation.
If a document incorporates variable data then the designer uses the composition program to create a template that specifies content of the fixed portion of the document (i.e., those portions that are not variable) and information regarding the position and content of the variable data areas. The designer may use a composition program that is specialized for creating the template. Alternately, the designer may use a composition program like InDesign or QuarkXPress with a plug-in or an XTension (a type of plug-in that works with by QuarkXPress) that allows the specification of information regarding variable data areas of a document. An example of a composition system that may be used to create templates is described in Warmus et al., U.S. Pat. No. 6,327,599, that is incorporated herein by reference. A data system combines information from a database with the template to generate PDL representations of the pages that represent the renditions of the variable data documents. The PDL representations may be in PostScript or PDF as described above or in formats (languages) designed to facilitate representation of renditions of variable data documents such as PPML, PPML/VDX, VPS, etc. The PDL representation may also be in page description languages based on PostScript or PDF that extend such formats through additional operators or libraries.
A RIP uses the PDL representation of the pages generated by the data system to create raster image representations of the pages for printing on a digital press. Such raster image representations are sent to one or more controllers in the press. The press controllers use the raster image representations to control printing by the press. The digital press may use any of number of printing technologies including electrophotography, ion deposition, magnetography, or ink jet.
Some printing systems use a printing unit that is capable of printing an raster image representation that is the width of a substrate supported by the printing system. However, the cost and complexity of such printing units increases as the width of the raster image representation printed thereby. To overcome this problem, printing systems have been developed where a first and a second printing unit are arranged such that the first printing unit prints a first swath of a first raster image representation and the second printing unit prints a second swath of a second raster image representation, wherein the first swath is printed adjacent to the second swath. In this fashion, a printing system have use two printing units, wherein each printing unit is able to print a 12 inch wide swath of a raster image representation, to print on a substrate that is 24 inches wide. Similarly, a printing system may use more than two printing units arranged in this manner to print on even wider substrates.
A RIP is associated with each printing unit of the printing system in which multiple print units are arranged to achieve a print width wider than the print width of an individual printing unit. Each RIP generates a raster image representation that is as wide as the printing unit associated therewith. Furthermore, typical RIPS operate on page boundaries. If a page is to be printed on the region of the substrate where a swath printed by a first printing unit abuts a swath printed by the second printing unit, the page must be composed using the composition system as two sub-pages. In particular, a first sub-page is composed that contains the information to be printed by the first printing unit and a second sub-page is composed that contains information to be printed by the second printing unit. Separate PDL representations are created for each of the first and second sub-pages, which are sent to the RIPs associated with first printing unit and the second printing unit, respectively. If a content element (e.g., an image or a text box) spans the boundary between the first sub-page and the second sub-page, the content element must be split into two sub-elements, wherein the first sub-element is part of the first sub-page and the second sub-element is part of the second sub-page. The splitting of the page and, possibly, the components thereof requires operator skill or additional features in composition tools. In addition, once a page is split into two sub-pages, the resulting sub-pages are bound to a particular type of printing system that is defines dimensions of the sub-pages. If the page is split in accordance with the characteristics of a first printing system and then needs to be printed on a second printing system (e.g., one with printing units that have a different print width), the page may have to be split again into sub-pages in accordance with the second printing system. For these reasons, it is difficult to use existing composition systems and RIP's to a generate raster image representation of a page that spans multiple printing units of a printing press.
According to one aspect of the invention a system for printing a page on a substrate, wherein the page is designated by a page description language representation, includes a first print unit for printing a color on a first portion of the substrate, a second print unit for printing the color on a second portion of the substrate wherein the first and second portions of the substrate do not substantially overlap, and a first RIP that determines a first portion of the page description language representation to rasterize and rasterizes the first portion of the page description language representation to generate a first raster image representation, wherein the first raster image representation is used by the first print unit to print a first portion of the page on the first portion of the substrate. The system further includes a second RIP that determines a second portion of the page description language representation different than the first portion of the page description language representation and rasterizes the second portion of the page description language representation to generate a second raster image representation, wherein the second raster image representation is used by the second print unit to print a second portion of the page on the second portion of the substrate.
In another aspect of the present invention a method for printing a page on a substrate, wherein the page is designated by a page description language representation, comprises the steps of determining and rasterizing a first portion and a second portion of the page description language representation to generate a first and a second raster image representation, respectively, wherein the first and second portions are determined by first and second raster image processors, respectively, and the first and second raster image representations are generated by first and second raster image processors, respectively; controlling a first print unit to print a color in accordance with the first raster image representation to print thereby the first portion of the page on a first portion of the substrate, wherein the first portion of the page is less than the entirety thereof; controlling a second print unit to print the color in accordance with the second raster image representation to print thereby the second portion of the first page on a second portion of the substrate; and wherein the first portion of the page description language representation is different than the second portion of the page description language representation and the first and second portions of the substrate do not substantially overlap.
Other aspects and advantages of the present invention will become apparent upon consideration of the following detailed description.
The data system 110 may also be used to impose PDL representations of pages generated by the composition system. Imposing the PDL's involves selecting which pages are to be printed adjacent to one another or which pages are to be printed on opposite sides of a sheet (e.g., for duplexing). The data system 110 may also be used to convert the PDL representation of a page from a first format (e.g., PDF) produced by the composition system into a second format (e.g., PostScript) that may be consumed by the RIP.
As noted above, the data system 110 is optional and in some embodiments, the composition system 108 generates and provides PDL representations of pages 102-A and 102-B to the RIP 112-A and PDL representations of pages 102-B and 102-C to the RIP 112-B.
The RIP 112-A uses the PDL representation of the pages 102-A and 102-B, from either the data system 110 or the composition system 108, to generate raster image representations of these pages. In particular, the RIP 112-A generates a raster image representation of the page 102-A and a portion of the page 102-B that are to be printed using the print unit 106-A. These raster image representations are provided to a controller 114-A that controls the operation of the print unit 106-A. In one embodiment, the print unit 106-A uses a plurality of ink jet nozzles to transfer ink onto the paper 104 and the controller 114-A controls the firing of the individual ink jet nozzles that comprise the print unit 1060A. In another embodiment, the print unit 106-A may use electrophotography and the controller 114-A controls a charge source (e.g., laser, LED) to select where a charge is placed on an electrophotographic drum. It should be apparent that although the embodiments of printing system described herein refer to printing on paper, such printing system may be adapted for printing onto other types of substrates by one skilled in the art. Examples of other types of substrates include textiles, plastics, vinyl, foils, etc.
The RIP 112-B operates in a manner similar to the RIP 112-A described above, except that the RIP 112-B produces a raster image representation of a portion of the page 102-B and of the page 102-C, and such raster image representations are used by a controller 114-B to control the print unit 106-B.
In some embodiments the RIP 112-A generates a raster image representation of only those page elements of the page 102-B that are to be printed using print unit 106-A. In addition, if an element of the page 102-B straddles the boundary between the portions of the page 102-B to be printed by the print units 106-A and 106-B, the RIP 112-A produces a raster image representation of only that portion of the element that to be printed by the print unit 106-A. Similarly, the RIP 112-B produces a raster image representation of only that portion of the element that is to be printed by the print unit 106-B.
In another embodiment, the RIP 112-A produces a raster image representation of the entire element that straddles the boundary and includes such raster image representation into the raster image representation that is provided to the controller 114-A. The controller thereafter clips the raster image representation to in accordance with the portions of the page 102-A and 102-B that are to be printed by the print unit 106-A. Note that the RIP 112-A provides a raster image representation to the controller 114-A that contains the raster image representations of the page 102-A and the portion of the page 102-B that is to be printed by print unit 106-A.
In some embodiments, the print units 106-A and 106-B are comprised of ink jet printing cartridges. Referring once again to
The controller 114-A coordinates the division of an image into swaths and the printing of each swath by one of the printing cartridges 116-A through 116-F. In particular, each line of the raster image representation created by the RIP 112-A is divided into segments and raster data corresponding to each segment is used to determine when a nozzle of the printing cartridge that is to print that segment ejects ink.
In some embodiments, the cartridges 116-A through 116-F that comprise the print unit 106-A are mounted on a carrier plate. The carrier plate has apertures cut therein that are, typically, precisely positioned. The apertures provide a means to affix the cartridges to the carrier plate in particular positions. The printing cartridges 116-A through 116-F may be affixed to the carrier directly, or a mount (or holder) may be affixed to the carrier semi-permanently and a printing cartridge may be inserted into the mount. Such mounts allow a cartridge to be easily inserted and removed (e.g., for maintenance), yet the mount provides sufficient support to the cartridge to prevent movement thereof during operation.
The print unit 106-B may be similar to the print unit 106-A and be comprised of printing cartridges 118-A through 118-F. In this case, the controller 114-B divides the raster image representation generated by the RIP 112-B into swaths for printing using the printing cartridges 118-A through 118-F in a manner identical to that described above with respect to the print unit 106-A. It is possible to use two print units 106-A and 106-B, where in the print unit 106-A is comprised of printing cartridges 116-A through 116-F but the print unit 106-B is a discrete printing unit (i.e., is not comprised of printing cartridges). It is even possible that the print units 106-A and 106-B use different printing technologies.
Similarly, the values I2offset, P2max and P2width shown in
The display lists have been used by PDL interpreters and are known in the art. Typically, a display list is an array of elements that are defined by the PDL representation of the page. For example, if the PDL representation uses the PDF format, then the display list may contain an element for each object defined in the PDL that produces marks on a page (e.g., rendering of an image, or text block). In some embodiments, if the PDL representation is in PostScript, then each element of the display list may contain rendering commands corresponding to the PostScript commands that are interpreted between saving and restoring of a graphics state. In other embodiments, an element is created in the display list each time a new path is started.
In some embodiments, the elements of the display list are primitive drawing commands. In other embodiments, the elements are references to bitmaps or image data, typically, created from the PDL.
A block 506 is optional and orders the elements of the display list in accordance with the horizontal position of each element. If the block 506 is not used then processing proceeds from the block 504 to a block 508. The block 508 sets the value of a variable N to the number of elements in the display list and a block 510 sets the value of a variable i to zero. A block 512 determines if the value i is less than the value N and, if so, continues to a block 514. The block 514 sets a variable E to the ith element of the display list (assuming that indexes into arrays are zero based as is common with many programming languages such as C, Objective-C, C++, and Java). A block 516 sets the value of a variable x to the x-origin of the element E with respect to the origin of the page represented by the PDL representation. A block 518 sets the value of a variable w to the width of the element E (or the bounding box of the element E if such element is rotated). A block 520 increments the value of i.
A block 522 determines if the value of x is less than the value of the parameter Ioffset and if so proceeds to a block 524. The block 524 determines if the value of x is less than the value of the sums of the parameters Pwidth and Poffset. If the block 524 evaluates to true then the element is within the portion of that page that is to be printed by the print unit associated with the RIP and so processing proceeds to the block 526, which adds a raster image representation of the element E to the raster image representation of the page. If the element E comprises a raster image representation of the element E at the resolution of the raster image representation initialized at the block 502, then the raster image representation of the element E is copied (e.g., using a memory copy or a BitBLT type of operation) into the raster image representation initialized at the block 502. If the resolution of the two raster image representations are not identical, then the raster image representation of the element E is up-sampled or down-sampled so that the resolution thereof is identical to the raster image representation initialized at the block 502. The up/down-sampled version of the raster image representation of the element E is thereafter copied into the raster image representation initialized at the block 502.
If either of the blocks 522 or 524 evaluate to false, processing returns to the block 512. Processing continues in this manner until all of the elements of the display list have been considered and the comparison in block 512 evaluates to a false. Thereafter, processing proceeds to a block 528 that makes the raster image representation of the page available to the controller associated with the RIP. In some embodiments, block 528 sends the raster image representation created by the RIP to the controller. In other embodiments, the block 528 marks the raster image representation created by the RIP as completed and provides the raster image representation to the controller on demand. In still other embodiments, the block 528 provides the raster image representation to the controller as demanded by the controller one raster line at a time. Typically, the RIP uses a double buffering scheme, wherein elements are added to one raster image representation while another, previously completed, raster image representation is being provided to the controller.
Referring once again to
In some embodiments of a RIP, the raster image representation of a portion of a page to be printed is generated in a memory thereof (e.g., by the blocks 502-526) and comprises only those page elements that are to be provided to the controller associated with the RIP.
As described above, each of the first, second, and third print units that print the page 700 are associated with a RIP. Each RIP receives the page description language representation of the page 700 and generates a raster image representation of the portion of the page that is to be printed by the print unit associated with the RIP. In particular, a RIP associated with the second print unit generates and provides to a controller associated with the second print unit a raster image representation of the portion 708 of the page 700. The raster image representation includes at least the element 716 and a portion of the element 718 and a portion of the element 720.
Each RIP comprises a page buffer (i.e., memory) into which the raster image representation generated thereby is stored and the memory is read and provided to the controller associated with the print unit. The raster representation of each element that comprises (either wholly or a partially) the raster image representation is stored in the page buffer at a memory location that corresponds to the location where the element is to appear in the raster image representation.
In some embodiments, the RIP comprises a page buffer that is larger that the portion of the page is to be printed by the print unit that is associated with the RIP. The boundaries of the page buffer delimit a rasterization region of the page buffer. The portion of the page buffer that is sent to the controller associated with the print unit and printed thereby represents a printable region of the page buffer. In such embodiments, the RIP compares the boundary of each element that is represented in the page description language and if any portion of the element is within the printable region, a raster representation of the element is added to the page buffer. Furthermore, any elements that have boundaries that are within the boundaries of the rasterizable region are also added to the page buffer. Only those elements that are partially in the printable region and whose boundaries extend beyond a boundary of the rasterizable region are clipped. Such elements are clipped to the boundaries of the rasterizable region. After all such elements are processed in this manner, the portion of the page buffer that comprises the printable region is provided to the controller associated with the print unit.
Generally, throughput of the RIP should improve as the number of comparison operation performed to determine whether to add an element to the page buffer is reduced or the number of elements that are clipped is reduced.
In some embodiments the RIP is implemented as software executed in a computer and software may be written using Java, C, C++, or other common programming languages. In other embodiments, the RIP is implemented as a combination of software and hardware components. It should be apparent that portions of the RIP (e.g., those requiring high throughput) may be implemented using field programmable gate arrays (FPGAs) or application specific integrated circuits (ASICs).
It should be apparent that the above-described printing system may comprise any number of print units to print on sheets or webs of paper of any width. In particular, the width of the paper is limited by the ability to transport the paper and not by any limitations related to the number of printing units that may be used in the printing system. It should also be apparent, that any number of pages may be simultaneously printed by a particular print unit of a printing system, wherein a page is defined by a PDL representation. Specifically, the number of such pages may only be limited by the resolution of the print unit.
Numerous modifications to the present invention will be apparent to those skilled in the art in view of the foregoing description. Accordingly, this description is to be construed as illustrative only and is presented for the purpose of enabling those skilled in the art to make and use the invention and to teach the best mode of carrying out same. The exclusive rights to all modifications which come within the scope of the appended claims are reserved.
Number | Name | Date | Kind |
---|---|---|---|
4025925 | Jensen et al. | May 1977 | A |
4430668 | Miles, Jr. | Feb 1984 | A |
4477833 | Clark et al. | Oct 1984 | A |
4709246 | Piatt et al. | Nov 1987 | A |
4709247 | Piatt et al. | Nov 1987 | A |
4789147 | Berger et al. | Dec 1988 | A |
5634091 | Sands et al. | May 1997 | A |
5652711 | Vennekens | Jul 1997 | A |
5706410 | Bagley et al. | Jan 1998 | A |
5793397 | Barker et al. | Aug 1998 | A |
5796411 | Cyman et al. | Aug 1998 | A |
5949438 | Cyman et al. | Sep 1999 | A |
5960164 | Dorfman et al. | Sep 1999 | A |
5995721 | Rourke et al. | Nov 1999 | A |
6003988 | McCann et al. | Dec 1999 | A |
6019454 | Serra et al. | Feb 2000 | A |
6049390 | Notredame et al. | Apr 2000 | A |
6088702 | Plantz et al. | Jul 2000 | A |
6088710 | Dreyer et al. | Jul 2000 | A |
6134018 | Dziesietnik et al. | Oct 2000 | A |
6224192 | Robinson et al. | May 2001 | B1 |
6227661 | Hayakawa | May 2001 | B1 |
6243172 | Gauthier et al. | Jun 2001 | B1 |
6256104 | Rumph et al. | Jul 2001 | B1 |
6275303 | Fukaya | Aug 2001 | B1 |
6309046 | Izawa et al. | Oct 2001 | B1 |
6327599 | Warmus et al. | Dec 2001 | B1 |
6332149 | Warmus et al. | Dec 2001 | B1 |
6353483 | Laverty et al. | Mar 2002 | B1 |
6357847 | Ellson et al. | Mar 2002 | B1 |
6375296 | McGarry et al. | Apr 2002 | B1 |
6381028 | Gauthier | Apr 2002 | B1 |
6396593 | Laverty et al. | May 2002 | B1 |
6446100 | Warmus et al. | Sep 2002 | B1 |
6540315 | Nystrom et al. | Apr 2003 | B1 |
6563601 | Yamada et al. | May 2003 | B1 |
6606165 | Barry et al. | Aug 2003 | B1 |
6608697 | Schorr et al. | Aug 2003 | B1 |
6633890 | Laverty et al. | Oct 2003 | B1 |
6789879 | Khalid | Sep 2004 | B2 |
6814511 | Bhatti | Nov 2004 | B2 |
6826534 | Gupta et al. | Nov 2004 | B1 |
6863367 | Hamamoto et al. | Mar 2005 | B2 |
6891630 | Miyasaka et al. | May 2005 | B1 |
6895554 | Endress et al. | May 2005 | B2 |
6898601 | Amado et al. | May 2005 | B2 |
6952801 | Warmus et al. | Oct 2005 | B2 |
6980964 | Cocotis et al. | Dec 2005 | B1 |
6981214 | Miller et al. | Dec 2005 | B1 |
7088462 | Bhogal et al. | Aug 2006 | B2 |
7168784 | Donovan et al. | Jan 2007 | B2 |
7454162 | Segerer et al. | Nov 2008 | B2 |
7505157 | Christodoulou et al. | Mar 2009 | B2 |
20010048533 | Koana | Dec 2001 | A1 |
20020078012 | Ryan et al. | Jun 2002 | A1 |
20020149792 | Gauthier et al. | Oct 2002 | A1 |
20020152183 | Soares et al. | Oct 2002 | A1 |
20020165760 | Delurgio et al. | Nov 2002 | A1 |
20030002069 | Bhogal et al. | Jan 2003 | A1 |
20030023636 | Lee et al. | Jan 2003 | A1 |
20030154137 | Carroll et al. | Aug 2003 | A1 |
20030231328 | Chapin et al. | Dec 2003 | A1 |
20040008359 | Christiansen | Jan 2004 | A1 |
20040049608 | Sakurai | Mar 2004 | A1 |
20040196496 | Klassen | Oct 2004 | A1 |
20040205462 | Levine | Oct 2004 | A1 |
20050063010 | Giannetti | Mar 2005 | A1 |
20050080750 | Carling et al. | Apr 2005 | A1 |
20050111044 | Giannetti | May 2005 | A1 |
20050111867 | Hatano | May 2005 | A1 |
20050125726 | Harper et al. | Jun 2005 | A1 |
20050216832 | Giannetti | Sep 2005 | A1 |
20050289461 | Amado et al. | Dec 2005 | A1 |
20060082814 | Gardner | Apr 2006 | A1 |
20060092198 | Conca et al. | May 2006 | A1 |
20060103689 | Vinas et al. | May 2006 | A1 |
20060107194 | Gale | May 2006 | A1 |
20060136307 | Hays et al. | Jun 2006 | A1 |
20060156232 | Giannetti et al. | Jul 2006 | A1 |
20060164679 | Kim et al. | Jul 2006 | A1 |
20060248454 | Giannetti | Nov 2006 | A1 |
20070070376 | Owen et al. | Mar 2007 | A1 |
20080037047 | Condon et al. | Feb 2008 | A1 |
20080151287 | Birkenfeld et al. | Jun 2008 | A1 |
20080278740 | Bird et al. | Nov 2008 | A1 |
20090033986 | Himpe | Feb 2009 | A1 |
20100110467 | Coniglio et al. | May 2010 | A1 |
Number | Date | Country |
---|---|---|
2 287 011 | Mar 2001 | CA |
917 042 | May 1999 | EP |
1 033 645 | Sep 2000 | EP |
1 498 839 | Jan 2005 | EP |
1 724 673 | Nov 2006 | EP |
1 975 772 | Oct 2008 | EP |
2 387 817 | Oct 2003 | GB |
2007156903 | Jun 2007 | JP |
Number | Date | Country | |
---|---|---|---|
20090128841 A1 | May 2009 | US |