`[11] Patent Number:
`[19]
`United States Patent
`
`Benson
`[45] Date of Patent:
`*Apr. 4, 2000
`
`USOO6046818A
`
`[54]
`
`IMPOSITION IN A RASTER IMAGE
`PROCESSOR
`
`5,740,338
`
`4/1998 Gauthier et al.
`
`........................ 395/116
`
`[75]
`
`.
`[*] Not1ce:
`
`Inventor: Craig H. Benson, Fremont, Calif.
`.
`[73] Ass1gnee: Adobe SYStems Incorporated’ San
`Jose, Callf.
`.
`~
`~
`Th1s patent 1ssued on a contmued pros-
`ecution application filed under 37 CFR
`153(d)’ and IS “We?“ to the twenty year
`patent
`term prov1s1ons of 35 U.S.C.
`154(a)(2)
`
`.
`[21] Appl. No.: 08/868,045
`.
`Jun. 3’ 1997
`Flled:
`Int. Cl.7 ...................................................... B41B 15 00
`/
`....................... 358/118; 358/1.18; 358/115;
`358/11; 358/19
`[58] Field Of Search ..................................... 395/116, 114,
`395/101> 117’ 109’ 111’ 115; 101/136
`References Cited
`U.S. PATENT DOCUMENTS
`
`[22]
`51
`[
`l
`[52] US. Cl.
`
`[56]
`
`Primary Examiner—Edward L. Coles
`Assistant Examiner—Twyler Lamb
`Attorney, Agent, or Firm—Fish & Richardson P.C.
`
`57]
`
`ABSTRACT
`
`A method and apparatus for rendering one or more page
`description language descriptions of pages to be printed by
`.
`.
`.
`.
`a pr1nt1ng deV1ce on a sheet. The apparatus includes an
`assembler, an interpreter and a rendering engine. The assem-
`bler receives as an input a job ticket including layout and
`page identifier information. The assembler operates to gen-
`erate an ordered list of objects to be printed by the printing
`device on the sheet. The inter reter receives the
`a e
`p
`p g
`description language input and the ordered list and generates
`display list objects for each object in the ordered list. The
`d1sp1ay 11st objects may be stored 111 a display 11st memory.
`The rendering engine receives the display list objects ren-
`ders the objects. The rendered objects may be printed by a
`print engine onto the sheet.
`
`5,163,368
`
`11/1992 Penasavecchia et a1.
`
`.............. 101/136
`
`35 Claims, 8 Drawing Sheets
`
`LAYOUT
`FILE
`
`
`
` GENERATIONINTERFACE COMPUTER
`UTILITY
`STORAGE
`
`INTERPRETER
`
`
`
`
`
`
`
`DISPLAY
`LIST
`MEMORY
`
`ENGINE
`
`34
`
`
`
`PRINTING INDUSTRIES OF AMERICA
`
`EXHIBIT 1 2 l 2
`
`
`
`US. Patent
`
`Apr. 4, 2000
`
`Sheet 1 0f 8
`
`6,046,818
`
`ms
`
`mu__n_
`
`m0<m0._.m
`
`mmEEmEZ.m5m§mmm<
`
`mm.
`
`___
`
`r/h
`
`><._n_m_n_
`
`._.m_._
`
`>IO_>_m=>_
`
`_mm8
`
`rllllllll|ll
`
`__
`
`mm»._m2<E
`"autism
`
`vm
`
`EEQ
`
`mz_ozm
`
`F1.6E
`
`._.DO><._
`
`>._._.=._.D
`
`
`
`ZO_._.<mm_Zm_Gm_O<n_m_m_._.Z_
`
`EMFDQEOO
`
`
`
`
`
`
`
`
`US. Patent
`
`Apr. 4, 2000
`
`Sheet 2 0f 8
`
`6,046,818
`
`AwkzmhzooF52d:awe/E:
`Each.onoz560.mN_mFzmzaooe29259.2.382
`
`
`
`
`wmmPFZMEDOOD
`
`
`
`_.m_.=u_._.Zm=>_DDOn_
`
`
`
`Nw.=u_._.Zm=>_DOOn_
`
`
`
`FHOm—wm—ODmo<n_n_._.maxim—3m
`
`wmmFPDOk§4
`
`
`
`Xm0<uEDwxFowwmoDmo<._n_.
`
`
`
`Xm..=n_._.Zm=>_DOOD
`
`Ne
`w
`
`VON
`
`mew
`
`mew
`
`
`
`US. Patent
`
`Apr. 4,2000
`
`Sheet 3 0f8
`
`6,046,818
`
`%JTF— 1 .2
`
`301
`
`1 0 obj
`<<
`II‘ype /Cata10g
`/JobTicket 2 0 R
`>>
`
`/
`
`302
`
`[-
`
`endobj
`2 0 obj
`<<
`fI‘ype /JobTicket
`/Audit [ 3 0 R ]
`/Contents 4 0 R
`>>
`
`306
`
`f
`
`endobj
`3 0 obj
`<<
`IType /Audit
`/Date (199705141446+08’00’)
`/JTManager (ScenicSoft Preps 3.x)
`>>
`
`endobj
`4 0 obj
`<<
`/Type /JobTicketC0ntents
`[Layout 5 0 R
`/Documents [ 6 0 R ]
`>>
`
`304
`
`/
`
`endobj
`5 0 obj
`<<
`nype ILayout
`ISignatures [7 0 R]
`>>
`
`/
`
`310
`
`308
`
`[-
`
`endobj
`6 0 obj
`<<
`nype /Document
`/Files [ 8 0 R ]
`>>
`
`314
`
`endobj
`7 0 obj
`<<
`/Type /Signature
`/Sheets [9 0 R]
`/MediaSource 10 O R
`>>
`
`[-
`
`301
`
`301
`
`312
`
`[—
`
`endobj
`8 0 obj
`<<
`/Type /JTFile
`/File (testfiles/testtest20.pdf)
`/FileType IPDF
`>>
`
`316
`
`/.
`
`endobj
`9 0 obj
`<<
`/Type /Sheet
`/Front110 R
`[Back 12 0 R
`e):dobj
`
`300
`
`202
`
`206
`
`FIG. _ 3a
`
`
`
`US. Patent
`
`Apr. 4, 2000
`
`Sheet 4 0f 8
`
`6,046,818
`
`1000bj
`<<
`ITpr IMediaSource 4/
`/Media 13 0 R
`>>
`
`4/3
`
`318
`
`endobj
`11 0 obj
`<<
`/I'ype /Surface
`/P1acedObjects[140R 150R 160R 170R 180R 190R 200R 210R]
`>>
`
`/
`
`322
`
`endobj
`12 0 obj / 324
`/Type /Surface
`/Placed0bjects[220R 230R 240R 250R 260R 270R 280R 290R]
`>>
`
`endobj
`13 0 obj
`<<
`/Type lMedia
`/Dimensions [ 2736000000 1800000000 2736000000 1800000000 ]
`>>
`
`/
`
`319
`
`320
`
`/
`
`f 326
`
`endobj
`14 0 obj
`<<
`/Type /Placed0bject
`330
`332k /Name /Page
`334\ /CTM [ 1.000000 0.000000 0.000000 1.000000 873000000 405000000 ]
`/Clipping [ -9.000000 —9.000000 198.000000 198000000]
`/Ord 1
`>>
`endobj & 336
`15 0 obj
`<<
`/Type /P1acedObject
`/Name /Page
`/CTM[0.000046 1.000000 —1.000000 0.000046 1269.000000 405.000000]
`/Clipping [ —9.000000 0.000000 198000000 198000000 ]
`IOrd 1
`>>
`
`326
`
`[-
`
`326
`
`/
`
`endobj
`16 0 obj
`<<
`/Type [PlacedObject
`/Name /Page
`/CTM[—1.000000 0.000093 -0.000093 —1.000000 1467000000 603000000]
`/Clipping [0.000000 0.000000 198000000 207 .000000 ]
`/Ord 1
`>>
`
`326
`
`[—
`
`endobj
`17 0 obj
`<<
`/Type /PlacedObject
`/Name /Page
`/CTM [—0.000139 —l.000000 1.000000 —0.000139 1467.000000 603.000000]
`/Clipping [ 0.000000 0.000000 207.000000 198.000000 ]
`/Ord 1
`
`Zidobj
`
`FIG._3b
`
`
`
`US. Patent
`
`Apr. 4,2000
`
`Sheet 5 0f8
`
`6,046,818
`
`326
`
`/
`
`18 0 obj
`<<
`/Type lPlacedObject
`/Name /Page
`/CTM[1.000000 0.000000 0.000000 1.000000 873000000 603000000]
`/C1ipping[—9.000000 0.000000 198000000 198000000]
`/Ord 2
`>>
`
`326
`
`/
`
`endobj
`19 0 obj
`<<
`lType /P1acedObject
`/Name /Page
`/CTM [0.000046 1.000000 -1.000000 0.000046 1269000000 603000000]
`[Clipping [0.000000 0.000000 198000000 198000000]
`/Ord 2
`>>
`endobj
`20 0 obj
`<<
`/Type /Placed0bject
`/Name lPage
`ICTM [—1.000000 0.000093 -0.000093 -1.000000 1467.000000 801.000000]
`/C1ipping [ 0.000000 0.000000 198000000 198000000]
`/Ord 2
`>>
`
`326
`
`[—
`
`326
`
`{—
`
`endobj
`21 0 obj
`<<
`/Type /Placed0bject
`/Name /Page
`/CTM[—0.000139 —1.000000 1.000000 -0.000139 1467.000000 801.000000]
`/C1ipping [0.000000 0.000000 198000000 198000000]
`/Ord 2
`>>
`endobj
`22 0 obj
`<<
`IType /PlacedObject
`/Name /Page
`/CTM[1.000000 0.000000 0.000000 1.000000 1665.000000 405.000000]
`/C1ipping [0.000000 -9.000000 207000000 198000000]
`IOrd 2
`>>
`
`328
`
`[-
`
`328
`
`[-
`
`endobj
`23 0 obj
`<<
`IType /Placed0bject
`/Name /Page
`/CTM [0.000046 —1.000000 1.000000 0.000046 1467.000000 603.000000]
`/C1ipping [0.000000 0.000000 207000000 198000000]
`IOrdl
`>>
`
`endobj
`
`FIG._3c
`
`
`
`US. Patent
`
`Apr. 4,2000
`
`Sheet 6 0f8
`
`6,046,818
`
`328
`
`/
`
`24 0 obj
`<<
`/Type /Placed0bject
`/Narne /Page
`/CTM [ —1.000000 —0.000093 0.000093 -1.000000 1467.000000 603.000000]
`/Clipping [0.000000 0.000000 198.000000 207.000000]
`IOrd 1
`>>
`
`328
`
`/
`
`endobj
`25 0 obj
`<<
`IType /Placed0bject
`[Name /Page
`/CTM [ -0.000139 1.000000 -1.000000 -0.000139 1269.000000 405.000000 ]
`/Clipping [ -9.000000 0.000000 198000000 198000000 ]
`/Ord 1
`>>
`
`328
`
`/
`
`endobj
`26 0 obj
`<<
`lType /P1aced0bject
`/Name /Page
`/CTM[1.000000 0.000000 0.000000 1.000000 1665.000000 603.000000]
`/Clipping [ 0.000000 0.000000 207000000 198000000 ]
`IOrd 2
`>>
`
`328
`
`[—
`
`endobj
`27 0 obj
`<<
`/Type /Placed0bject
`/Name /Page
`/CTM [0.000046 —1.000000 1.000000 0.000046 1467.000000 801.000000]
`/C1ipping [ 0.000000 0.000000 198000000 198000000 ]
`/Ord 2
`>>
`
`328
`
`[-
`
`endobj
`28 0 obj
`<<
`nype /P1accd0bject
`/Name /Page
`/CTM [-1.000000 —0.000093 0.000093 -1.000000 1467000000 801000000]
`/Clipping [0.000000 0.000000 198000000 198000000]
`/Ord 2
`>>
`
`328
`
`/
`
`endobj
`29 0 obj
`<<
`/Type /PlacedObject
`/Name /Page
`ICTM [—0.000139 1.000000 —1.000000 —0.000139 1269000000 603000000]
`/C1ipping [ 0.000000 0.000000 198.000000 198.000000]
`/Ord 2
`>>
`
`endobj
`
`FIG._3d
`
`
`
`US. Patent
`
`Apr. 4, 2000
`
`Sheet 7 0f 8
`
`6,046,818
`
`xref
`
`0 30
`
`0000000000 65535 f
`
`0000000009 00000 n
`
`0000000067 00000 n
`
`0000000145 00000 n
`
`0000000248 00000 n
`
`0000000336 00000 n
`
`0000000398 00000 n
`
`0000000457 00000 n
`
`0000000540 00000 n
`
`0000000630 00000 n
`
`0000000698 00000 n
`
`0000000758 00000 n
`
`0000000882 00000 n
`
`0000001006 00000 n
`
`0000001113 00000 n
`
`0000001316 00000 n
`
`0000001520 00000 n
`
`0000001725 00000 n
`
`0000001930 00000 n
`
`0000002132 00000 n
`
`0000002335 00000 n
`
`0000002540 00000 n
`
`0000002745 00000 n
`
`0000002948 00000 n
`
`0000003 15 1 00000 n
`
`0000003356 00000 n
`
`0000003562 00000 n
`
`0000003764 00000 n
`
`0000003967 00000 n
`
`0000004172 00000 n
`
`trailer
`
`<<
`
`/Root 1 0 R
`
`>>
`
`startxref
`
`4377
`
`%EOF
`
`FIG._3e
`
`
`
`US. Patent
`
`Apr. 4,2000
`
`Sheet 8 0f8
`
`6,046,818
`
`402
`
`RECEIVE PDL FILE(S) RETRIEVE OBJECTS FROM
`THE LIST IN DISPLAY ORDER 404
`WITH EACH OBJECT
`EACH PAGE TO BE PRINTED INTERPRET PARAMETERS
`INTO DEVICE SPACE
`
`STORE ALL FILES
`IN FILE STORAGE
`
`406
`
`DETERMINE THE NUMBER
`OF PAGES AND SIZE OF
`
`422
`
`424
`
`426
`
`RETRIEVE PDL FILE
`DATA ASSOCIATED
`
`ERROR
`
`NO
`
`408
`
`ALL
`RESOURCES
`AVAILABLE
`?
`
`
`
`
`
`
`
`YES
`
`412
`
`428
`
`INTERPRET PDL FILE
`
`DATA INTO DEVICE SPACE
`
`430
`
`RECEIVE A JOB TICKET
`
`FOR PROCESSING
`
`DIVIDE THE RESULTANT
`DISPLAY DATA INTO BANDS
`
`414
`
`432
`
`DISPLAY LIST MEMORY
`
`CREATE A LIST OF OBJECTS
`FOR EACH SURFACE TO
`BE PRINTED ON A SHEET
`
`STORE THE DISPLAY LIST
`DATA IN LISTS IN THE
`
`416
`
`434
`
`DATA INTO PIXELMAPS
`
`SORT OBJECTS IN LIST
`BY DISPLAY ORDER
`
`RENDER THE DISPLAY LIST
`
`420
`
`436
`
` TRANSFER THE ORDERED LIST
`
`TO THE INTERPRETER (OR
`
`
`INTERPRETER PORTION OF RIP)
`
`
`
`
`
`
`PRINT THE RESULTANT
`PIXELMAPS
`
`FIG._4
`
`
`
`6,046,818
`
`1
`IMPOSITION IN A RASTER IMAGE
`PROCESSOR
`
`BACKGROUND OF THE INVENTION
`
`The present invention relates generally to methods and
`systems for printing computer generated images and more
`particularly to methods and apparatus for formatting a sheet
`in preparation for printing on a printing device.
`A computer system can output data to a wide variety of
`output display devices. Output display devices such as laser
`printers, plotters, imagesetters, and other printing devices
`produce an image or “visual representation” on a sheet of
`paper or the like. Aprinting device can print dots on a piece
`of paper corresponding to the information of a bitmap (or
`pixelmap where a pixelmap is characterized as having a
`depth of two or more bits). A “raster” printing device creates
`a visual representation by printing an array of pixels
`arranged in rows and columns from the bitmap.
`One type of printing device is a printing press. Aprinting
`press may be used to produce books, newspapers,
`pamphlets, posters and other single and multi-page printed
`matter. The printing press advantageously prints multiple
`pages of printed matter at the same time onto a single sheet.
`Other devices used for printing multiple pages at the same
`time include imagesetters and plate setters.
`When printing multiple pages, the individual pages are
`arranged in one or more sheets. Each sheet includes a layout
`of pages that may be ordered or otherwise optimized to
`facilitate post-printing processes. For example, the layout of
`the sheet may be arranged such that individual pages are in
`sequence when folding occurs.
`Printing devices that produce output in response to page
`description language input are widely used. Apage descrip-
`tion language (PDL) is a high level language for describing
`objects to be displayed by an output device. A printing
`device may receive page description data in the form of a
`PDL file. In order to produce a finished sheet, the printing
`device interprets the data contained in the PDL file, renders
`objects within the data into bitmaps, and after all objects for
`the sheet are rendered, prints the sheet.
`Imposition is the pre-printing process of arranging the
`pages for a sheet to achieve a proper sequence or position of
`each page relative to other pages. Imposition is performed to
`facilitate post-printing processes. These processes include
`fold and cut operations followed by some form of binding.
`Conventional imposition processes are executed on a com-
`puter workstation prior to the printing process. An imposi-
`tion process operates on one or more PDL files or image data
`files and layout information for a given sheet. The PDL files
`are representative of the various pages (or sub-pages) of
`content to be displayed on a given sheet. The layout infor-
`mation describes how the pages are to be arranged to achieve
`the desired output
`result. The output of an imposition
`process is a single PDL file that includes all the data required
`(including external references if any) to print the sheet by a
`printing device.
`
`SUMMARY
`
`In general, in one aspect, the invention features a method
`imposing and rendering image data for a surface to be
`printed by a printing device. The method includes receiving
`one or more page description files defining a plurality of
`pages to be printed on a surface of a media sheet. Ajob ticket
`is received defining the layout of the pages on the surface.
`An ordered list of objects is constructed for the surface from
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`is ordered according to layers.
`the job ticket. The list
`Thereafter, data from the page description files is interpreted
`resulting in display data. The display data is rendered in
`layer order to create pixelmaps. The pixelmaps are printed
`on the surface of the media sheet.
`Preferred embodiments of the invention include one or
`
`more of the following features. The page description files are
`PDF files. All page description files received are translated
`into PDF files prior to rendering. The printing device is
`selected from the group of an imagesetter, a digital press, a
`printing press and a plate setter.
`is built by
`If no job ticket
`is received, a job ticket
`processing a user defined signature describing the position
`of each page on the media sheet and determining the
`numbers and size of pages to be printed from each page
`description file received. A job ticket is created by mapping
`the page size into the signature to determine a list of objects
`to be printed for each surface of the media sheet.
`The step of interpreting includes dividing the display data
`into bands and storing the display data in a display list
`memory until all the pages are interpreted. The layer ordered
`list of objects may be sorted according to band order.
`The method further includes verifying the availability of
`all resources called in each page description file received. A
`proof may be printed on a second printing device prior to
`printing on the media sheet. A visual representation of the
`sheet may be displayed on a visual output device prior to
`printing on the media sheet.
`the invention features a
`In general,
`in another aspect,
`method printing a sheet by a printing device including
`receiving one or more files including one or more pages of
`content for display on the sheet. The files are stored in a file
`storage device. A job ticket is received including a layout
`and document tree. The document tree defines which pages
`in the files are to be printed on the sheet. The layout tree
`defines the location on the sheet for each page in the
`document tree. An object list is derived from the job ticket
`including an entry for each page to be printed on the sheet.
`Entries in the object list are arranged in layer order and each
`entry includes a pointer to a page in the files stored in the file
`storage device. Objects are interpreted from the object list in
`layer order including retrieving associated pages from the
`file storage device and interpreting page data to create
`display data. The display data is stored in display lists. When
`all the objects from the object list have been interpreted, the
`display list data is rendered to create pixelmaps which are
`printed on the sheet.
`the invention features a
`In general,
`in another aspect,
`method rendering an image on a sheet of media in an
`imagesetter configured to receive a page description lan-
`guage description of a plurality of pages to be printed on the
`sheet and having a display list memory for storing display
`list objects. The method includes deriving an ordered list of
`objects from user defined layout information for the sheet.
`The page description language input is interpreted according
`to a layer order defined by the ordered list into display list
`objects stored in the display list memory. Thereafter, the
`display list data is rendered.
`the invention features a
`In general,
`in another aspect,
`method an imposition method for defining the layout of a
`sheet to be printed by a printing device. The sheet includes
`one or more pages of content defined by one or more page
`description files. The method includes receiving one or more
`page description files defining one or more pages for display
`on the sheet and user input defining the layout of the pages
`on the sheet. A layout for the sheet is imposed without
`
`
`
`6,046,818
`
`3
`interpreting the received page description files and without
`creating an intermediary page description file including the
`page description files. The imposing step includes building
`a job ticket having an ordered list of objects to be rendered
`on the sheet. The job ticket is derived from the user layout
`input and provided along with the received page description
`files to a printing device for printing of the sheet.
`Preferred embodiments of the invention include one or
`
`more of the following features. The step of imposing
`includes receiving a user defined signature defining the
`layout of the pages to be printed on the sheet. The step of
`building a job ticket includes processing a user defined
`signature describing the position of each page on the sheet,
`determining the numbers and size of pages to be printed
`from each page description file received and creating a job
`ticket by mapping the page size into the signature to deter-
`mine a list of objects to be printed for each surface of the
`sheet.
`
`the invention features a
`In general, in another aspect,
`method of printing a sheet by a printing device where the
`sheet includes one or more pages of content defined by one
`or more page description files. The method includes receiv-
`ing one or more page description files defining one or more
`pages for display on the sheet and user input defining the
`layout of the pages on the sheet. A layout for the sheet is
`imposed without interpreting the received page description
`files and without creating an intermediary page description
`file including original page description file data. The impos-
`ing step includes building a job ticket having an ordered list
`of objects to be rendered on the sheet. Data from the page
`description files is interpreted resulting in display data. The
`display data is rendered in layer order to create pixelmaps
`and printed on the sheet.
`the invention features a
`In general, in another aspect,
`printing device configured to receive a plurality of page
`description language descriptions of pages to be printed on
`a sheet. The printing device includes an assembler connected
`to receive a job ticket including layout and page identifier
`information. The assembler operates to generate an ordered
`list of objects to be printed by the printer on the sheet. An
`interpreter is connected to receive page description language
`input and the ordered list and operates to generate display
`list objects for each object in the ordered list and cause
`display list objects to be stored in a display list memory. A
`rendering engine is coupled to the display list memory and
`operates to receive display list objects stored in the display
`list memory and to render the objects. A print engine
`receives the rendered objects and prints them on the sheet.
`Preferred embodiments of the invention include one or
`
`more of the following features.
`The printing device includes a layout generation utility
`that receives as an input a user defined signature describing
`the position of each page on the sheet and operates to
`determine the numbers and size of pages to be printed from
`each page description language description received. The
`layout generation utility creates a job ticket by mapping the
`page size into the signature to determine a list of objects to
`be printed for each surface of the sheet.
`The printing device includes a sorting mechanism for
`sorting the ordered list of objects according to band order.
`The printing device includes a resource verifier operating to
`verifying the availability of all resources called in each page
`description language description received. A proof print
`routine is included operating to cause the printing of a proof
`on a second printing device prior to printing on the sheet. An
`on-screen display routine is included operating to cause the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`display of a visual representation of the sheet on a visual
`output device prior to printing on the sheet.
`Among the advantages of the invention are one or more
`of the following. File storage requirements are minimized in
`the development of layout
`information. Original source
`material is operated on in the rendering process after a layout
`is developed thereby saving processing time by not requiring
`the transformation of the original source material to an
`intermediary form. File transfer requirements are minimized
`because the layout mechanism is not required to consume
`(interpret) the original source material or required to pro-
`duce an output which includes all of the original source
`material. Late stage editing of the layout and of source
`material may be readily accomplished without having to
`repeat the imposition process for a given sheet.
`Other features and advantages of the invention will
`become apparent from the following description and from
`the claims.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram of a printer according to the
`invention.
`
`FIG. 2 is functional block diagram of a job ticket accord-
`ing to the invention.
`FIGS. 361—36 show an example of a job ticket for use with
`the present invention.
`FIG. 4 is a flow chart for a rendering and marking process
`for a raster output device including imposition in the RIP
`process according to the invention.
`
`DETAILED DESCRIPTION
`
`The present invention may be embodied in any output
`device that receives page description data and produces from
`the data visual output, for example on a piece of paper. An
`output device may include a prepress routine for implement-
`ing layout functions, a raster image processor for producing
`pixelmaps (or bitmaps depending on the depth of the result-
`ant data) from received data and one or more engines for
`producing images on varied output media. The invention has
`particular applicability to printing presses,
`imagesetters,
`plate setters, digital presses and the like and will be
`described in terms of an embodiment in such a device, which
`will be referred to simply as an imagesetter.
`Referring to FIG. 1, an imagesetter 16 receives input data
`files, from a computer 12, for example, and turns the input
`data files into marks on a piece of paper by sending signals
`to a print engine 34. The imagesetter 16 is configured to
`receive page description language input data files and layout
`information from one or more users and process it as will be
`described later. One suitable page description language is
`the Portable Document Format available from Adobe Sys-
`tems Incorporated of San Jose, Calif. Another suitable page
`description language is the PostScript® language available
`from Adobe Systems Incorporated of San Jose, Calif. The
`PostScript
`language is described in Adobe Systems
`Incorporated, Adobe PostScript® Language Reference
`Manual, Addison-Wesley (2d ed., @1990). Another suitable
`page description language is the PCL language available
`from Hewlett-Packard Company of Palo Alto, Calif. Another
`page description language is CT and LW by Scitex America,
`Inc., of Bedford Mass. Apage description language file sent
`to an imagesetter specifies objects to be displayed and
`related information. A PostScript object can, for example,
`include a pixelmap defining a pattern of pixels to be
`displayed, or it can reference an outline curve defining in
`
`
`
`6,046,818
`
`5
`mathematical terms a shape to be marked. The object may
`also include other rasterizing information such as font and
`size.
`
`The imagesetter 16 includes an interface 24, file storage
`25, a digital data processor, random access memory 28, and
`print engine 34. It also includes read-only memory, I/O
`interfaces, and data transfer paths and busses, none of which
`are shown, for storing and transferring data in support of the
`functions described below.
`
`Interface 24 regulates the flow of information between
`imagesetter 16 and computer 12 according to a standard
`communication protocol. Alternatively,
`interface 24 may
`support a file transfer protocol for sharing files between
`computers in networks on a intranet or internet. Interface 24
`may include a buffer for buffering data received from
`computer 12 in the event imagesetter 16 is not ready to
`process or otherwise unable to manipulate the received data.
`The buffer may be part of file storage 25.
`File storage 25 is a mass storage device such as hard disk
`or disk array for storing files received from computer 12.
`Each file includes one or more objects associated with a
`given sheet to be outputted by the imagesetter. Imagesetter
`16 may store all the files associated with a particular sheet
`in file storage 25 prior to rendering data objects associated
`with a given file. Alternatively, imagesetter 16 may begin
`render operations prior to the receipt of all page description
`files based on the availability of the job ticket and the receipt
`of the page description file including pages associated with
`the first object to be interpreted based on an ordered list. The
`ordered list and the interpretation process are described in
`greater detail below.
`The processor may be a general or special purpose
`microprocessor operating under control of computer pro-
`gram instructions executed from a memory. In the embodi-
`ment illustrated in FIG. 1, the processor includes a number
`of special purpose sub-processors including an layout gen-
`eration utility 50, an assembler 52, interpreter 54 and a raster
`image processor (RIP) 56. Each sub-processor may be a
`separate circuit able to operate substantially in parallel with
`the other sub-processors. Some or all of the sub-processors
`may be implemented as computer program processes
`(software) tangibly stored in a memory to perform their
`respective functions. These may share an instruction
`processor, such as a general purpose integrated circuit
`microprocessor, or each sub-processor may have its own
`microprocessor for executing instructions. Alternatively,
`some or all of the sub-processors may be implemented in an
`ASIC (application specific integrated circuit). In addition,
`the sub-processors may be distributed or may form a part of
`computer 12.
`Layout generation utility 50 processes input files received
`from computer 12 prior to storage in file storage 25. The
`processing may include layout functions, such as page
`sizing,
`resource checking,
`file translation, on-screen
`viewing, and job ticket generation.
`Input files may be of varying formats and include PDL
`files, PCL files, Portable Document Format (PDF) files,
`image files, and the like. Layout generation utility 50 may
`determine the page size for each file received (in terms of
`physical length and width that the page is to occupy on a
`printed sheet). The page size information may be coupled
`with layout information (signature) received from a user to
`create a job ticket as will be described in greater detail
`below.
`
`Layout generation utility 50 may include a resource
`checker for determining the resources required for printing
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`a particular page. The resource checker enables early detec-
`tion of error conditions,
`for example Postscript errors,
`thereby freeing system resources early in a printing process
`in the event of an error condition. Examples of resources
`include fonts, halftones, color rendering dictionaries, and
`open prepress interface (OPI) files. In addition, the resource
`checker may check all reference calls embedded within a file
`to assure the objects that are called are available to imag-
`esetter 16.
`
`Layout generation utility 50 may include an on-screen
`preview function or proof print function. The on-screen
`preview function displays a visual representation of a sheet
`to be printed on a visual output display (not shown) coupled
`to imagesetter 16. The display of the sheet on a visual
`display prior to printing allows a user to adjust
`layout
`parameters as required prior to printing a final image on the
`media. The on-screen preview function may be invoked
`before or after rendering the original source page description
`files, resulting in either shadow boxes or actual rendered
`images to be displayed on the visual display device. The
`proof print function prints a visual representation on a
`desktop printer, plotter or other printing device (not shown)
`coupled to imagesetter 16 prior to a final print on imagesetter
`16. Again, display of the sheet in printed form on a lower
`resolution output display device prior to final printing allows
`a user to adjust
`layout parameters as required prior to
`printing a final image on the media. Layout generation utility
`50 may also include a data translator for converting files
`from one format
`(an original equipment manufacturer
`(OEM) proprietary format, for example) to a second format
`(PDF, for example) which may be interpreted by interpreter
`54. The data translator is invoked for all such files and the
`
`resultant files may be stored in file storage 25.
`Layout generation utility 50 may receive order informa-
`tion and signature data from a user defining the ordering of
`files to be printed and a signature. A signature includes
`media information, transformation matrix information, clip-
`ping information, fold, cut and bind parameters and RIP
`parameters. Upon receipt of the ordering information, layout
`generation utility 50 may be invoked to map the file infor-
`mation (page size) into the signature to generate a list of
`sheets and surfaces to be processed. This list may be used to
`create a job ticket for transfer to assembler 52. Alternatively,
`a job ticket may be generated by a routine executed on an
`external computer and may be provided directly to assem-
`bler 52. Preps by ScenicSoft Corporation of Everett, Wash.
`is an example of a layout generation utility application
`which may be used to create a job ticket. Job tickets are
`discussed in greater detail below in association with FIGS.
`3 and 4.
`
`Assembler 52 processes user requests received in the form
`of a job ticket and generates an ordered list of objects to be
`processed by interpreter 54 and RIP 56. In one embodiment,
`the list is ordered based on a layer order. That is, objects that
`are to be printed in the same layer are grouped, and the
`layers are ordered according to a user preference for the
`printing of the individual layers in the final output. Assem-
`bler 52 receives as an input a job ticket from either computer
`12 or layout generation utility 50 and outputs an object list
`53 to interpreter 54 for processing.
`Referring now to FIG. 2, a job ticket 200 describes the
`layout of pages for one or more sheets in a given job. The
`layout defines the specific placement of pages on a sheet in
`view of media considerations (including the type of media
`and thickness of sheets) and in accordance with user selected
`post printing requirements such as folding, cutting, stacking
`and binding operations. Job ticket 200 may be generated by
`
`
`
`6,046,818
`
`7
`computer 12 and includes a header 202, media information
`204, a document tree 206 and a layout tree 208. Header 202
`identifies a particular job ticket. Media information 204
`includes information for identifying a media type including
`the dimensions of the target media. Document tree 206
`includes a list of files and respective pages in the files which
`are to be placed in the final printed sheet. Layout tree 208
`includes a list of layout objects which define exactly where
`and how a particular document object (page or file) in
`document tree 206 is to be placed on the media. As was
`described above, a job ticket may be provided from com-
`puter 12, or generated by a layout generation utility resident
`in or external to imagesetter 16. In one embodiment, job
`ticket 200 is coded such that the various sub-components of
`the job ticket are described by one or more objects.
`Referring now to FIGS. 3a—3e, a detailed example of a job
`ticket 300 for use with an imagesetter is shown. Job ticket
`300 includes a plurality of objects 301. Header 202 includes
`a general header 301 and a header object 302 that points to
`a content object 304 and an audit object 306. Audit object
`306 includes the date and author of the particular job ticket.
`Content object 304 includes a document object 308 and a
`layout object 310 which define the document and layout
`trees respectively for job ticket 300.
`Document object 308 includes a single file object 312. For
`this particular job ticket, single file object 312 represents the
`entire document tree 206 for job ticket 300. Alternatively, a
`plurality of file objects can be defined in a job ticket, each
`including one or more pages of content (or portions of
`pages) to be displayed in a final image.
`Layout object 310 includes a signature object 314. Sig-
`nature object 314 includes a sheet object 316 and media
`source object 318. Media source object 318 indicate