Patent Description:
Electrophotography is a useful process for printing images on a receiver (or "imaging substrate"), such as a piece or sheet of paper or another planar medium (e.g., glass, fabric, metal, or other objects) as will be described below. In this process, an electrostatic latent image is formed on a photoreceptor by uniformly charging the photoreceptor and then discharging selected areas of the uniform charge to yield an electrostatic charge pattern corresponding to the desired image (i.e., a "latent image").

After the latent image is formed, charged toner particles are brought into the vicinity of the photoreceptor and are attracted to the latent image to develop the latent image into a toner image. Note that the toner image may not be visible to the naked eye depending on the composition of the toner particles (e.g., clear toner).

After the latent image is developed into a toner image on the photoreceptor, a suitable receiver is brought into juxtaposition with the toner image. A suitable electric field is applied to transfer the toner particles of the toner image to the receiver to form the desired print image on the receiver. The imaging process is typically repeated many times with reusable photoreceptors.

The receiver is then removed from its operative association with the photoreceptor and subjected to heat or pressure to permanently fix (i.e., "fuse") the print image to the receiver. Plural print images (e.g., separation images of different colors) can be overlaid on the receiver before fusing to form a multicolor print image on the receiver.

In-track position errors in digital printing systems having linear printheads can result in objectionable in-track alignment errors between color channels. Therefore, there remains a need for a method to characterize and correct for the in-track position errors that can be implemented without the need for complex and costly fixtures.

Reference is made to <CIT> related to a method for aligning multi-channel digital image data for a digital printer having an array of ink-jet printheads for each of a plurality of channels. A test pattern including test pattern indicia printed using individual printheads is scanned and analyzed to detect locations of the printed test pattern indicia. For each array position, one of the printheads is designated to be a reference printhead, and one or more of the other printheads are designated to be non-reference printheads. Spatial adjustment parameters are determined for each of the non-reference printheads responsive to the detected test pattern indicia locations. Digital image data to be printed with the non-reference printheads is modified in accordance with the determined spatial adjustment parameters.

The present invention provides for a method as set forth in claims <NUM> to <NUM> and a digital printing system as set forth in claims <NUM> to <NUM>.

This invention has the advantage that in-track alignment errors are reduced in a digital printing system.

It has the additional advantage that the in-track position correction function can be determined using a simple process that includes printing and scanning a test target including a plurality of alignment marks.

It has the further advantage that the in-track position corrections can be non-linear to account for localized in-track alignment error characteristics.

It is to be understood that the attached drawings are for purposes of illustrating the concepts of the invention and may not be to scale. Identical reference numerals have been used, where possible, to designate identical features that are common to the figures.

The invention is inclusive of combinations of the embodiments described herein. References to "a particular embodiment" and the like refer to features that are present in at least one embodiment of the invention. Separate references to "an embodiment" or "particular embodiments" or the like do not necessarily refer to the same embodiment or embodiments; however, such embodiments are not mutually exclusive, unless so indicated, or as are readily apparent to one of skill in the art. The use of singular or plural in referring to the "method" or "methods" and the like is not limiting. It should be noted that, unless otherwise explicitly noted or required by context, the word "or" is used in this disclosure in a non-exclusive sense.

As used herein, the terms "parallel" and "perpendicular" have a tolerance of ±<NUM>°.

As used herein, "sheet" is a discrete piece of media, such as receiver media for an electrophotographic printer (described below). Sheets have a length and a width. Sheets are folded along fold axes (e.g., positioned in the center of the sheet in the length dimension, and extending the full width of the sheet). The folded sheet contains two "leaves," each leaf being that portion of the sheet on one side of the fold axis. The two sides of each leaf are referred to as "pages. " "Face" refers to one side of the sheet, whether before or after folding.

As used herein, "toner particles" are particles of one or more material(s) that are transferred by an electrophotographic (EP) printer to a receiver to produce a desired effect or structure (e.g., a print image, texture, pattern, or coating) on the receiver. Toner particles can be ground from larger solids, or chemically prepared (e.g., precipitated from a solution of a pigment and a dispersant using an organic solvent), as is known in the art. Toner particles can have a range of diameters (e.g., less than <NUM>, on the order of <NUM>-<NUM>, up to approximately <NUM>, or larger), where "diameter" preferably refers to the volume-weighted median diameter, as determined by a device such as a Coulter Multisizer. When practicing this invention, it is preferable to use larger toner particles (i.e., those having diameters of at least <NUM>) in order to obtain the desirable toner stack heights that would enable macroscopic toner relief structures to be formed.

"Toner" refers to a material or mixture that contains toner particles, and that can be used to form an image, pattern, or coating when deposited on an imaging member including a photoreceptor, a photoconductor, or an electrostatically-charged or magnetic surface. Toner can be transferred from the imaging member to a receiver. Toner is also referred to in the art as marking particles, dry ink, or developer, but note that herein "developer" is used differently, as described below. Toner can be a dry mixture of particles or a suspension of particles in a liquid toner base.

As mentioned already, toner includes toner particles; it can also include other types of particles. The particles in toner can be of various types and have various properties. Such properties can include absorption of incident electromagnetic radiation (e.g., particles containing colorants such as dyes or pigments), absorption of moisture or gasses (e.g., desiccants or getters), suppression of bacterial growth (e.g., biocides, particularly useful in liquid-toner systems), adhesion to the receiver (e.g., binders), electrical conductivity or low magnetic reluctance (e.g., metal particles), electrical resistivity, texture, gloss, magnetic remanence, florescence, resistance to etchants, and other properties of additives known in the art.

In single-component or mono-component development systems, "developer" refers to toner alone. In these systems, none, some, or all of the particles in the toner can themselves be magnetic. However, developer in a mono-component system does not include magnetic carrier particles. In dual-component, two-component, or multi-component development systems, "developer" refers to a mixture including toner particles and magnetic carrier particles, which can be electrically-conductive or -non-conductive. Toner particles can be magnetic or non-magnetic. The carrier particles can be larger than the toner particles (e.g., <NUM>-<NUM> or <NUM>-<NUM> in diameter). A magnetic field is used to move the developer in these systems by exerting a force on the magnetic carrier particles. The developer is moved into proximity with an imaging member or transfer member by the magnetic field, and the toner or toner particles in the developer are transferred from the developer to the member by an electric field, as will be described further below. The magnetic carrier particles are not intentionally deposited on the member by action of the electric field; only the toner is intentionally deposited. However, magnetic carrier particles, and other particles in the toner or developer, can be unintentionally transferred to an imaging member. Developer can include other additives known in the art, such as those listed above for toner. Toner and carrier particles can be substantially spherical or non-spherical.

The electrophotographic process can be embodied in devices including printers, copiers, scanners, and facsimiles, and analog or digital devices, all of which are referred to herein as "printers. " Various embodiments described herein are useful with electrostatographic printers such as electrophotographic printers that employ toner developed on an electrophotographic receiver, and ionographic printers and copiers that do not rely upon an electrophotographic receiver. Electrophotography and ionography are types of electrostatography (printing using electrostatic fields), which is a subset of electrography (printing using electric fields). The present invention can be practiced using any type of electrographic printing system, including electrophotographic and ionographic printers.

A digital reproduction printing system ("printer") typically includes a digital front-end processor (DFE), a print engine (also referred to in the art as a "marking engine") for applying toner to the receiver, and one or more post-printing finishing system(s) (e.g., a UV coating system, a glosser system, or a laminator system). A printer can reproduce pleasing black-and-white or color images onto a receiver. A printer can also produce selected patterns of toner on a receiver, which patterns (e.g., surface textures) do not correspond directly to a visible image.

In an embodiment of an electrophotographic modular printing machine useful with various embodiments (e.g., the NEXPRESS SX <NUM> printer manufactured by Eastman Kodak Company of Rochester, NY) color-toner print images are made in a plurality of color imaging modules arranged in tandem, and the print images are successively electrostatically transferred to a receiver adhered to a transport web moving through the modules. Colored toners include colorants, (e.g., dyes or pigments) which absorb specific wavelengths of visible light. Commercial machines of this type typically employ intermediate transfer members in the respective modules for transferring visible images from the photoreceptor and transferring print images to the receiver. In other electrophotographic printers, each visible image is directly transferred to a receiver to form the corresponding print image.

Electrophotographic printers having the capability to also deposit clear toner using an additional imaging module are also known. The provision of a clear-toner overcoat to a color print is desirable for providing features such as protecting the print from fingerprints, reducing certain visual artifacts or providing desired texture or surface finish characteristics. Clear toner uses particles that are similar to the toner particles of the color development stations but without colored material (e.g., dye or pigment) incorporated into the toner particles. However, a clear-toner overcoat can add cost and reduce color gamut of the print; thus, it is desirable to provide for operator/user selection to determine whether or not a clear-toner overcoat will be applied to the entire print. A uniform layer of clear toner can be provided. A layer that varies inversely according to heights of the toner stacks can also be used to establish level toner stack heights. The respective color toners are deposited one upon the other at respective locations on the receiver and the height of a respective color toner stack is the sum of the toner heights of each respective color. Uniform stack height provides the print with a more even or uniform gloss.

<FIG> are elevational cross-sections showing portions of a typical electrophotographic printer <NUM> useful with various embodiments. Printer <NUM> is adapted to produce images, such as single-color images (i.e., monochrome images), or multicolor images such as CMYK, or pentachrome (five-color) images, on a receiver. Multicolor images are also known as "multi-component" images. One embodiment involves printing using an electrophotographic print engine having five sets of single-color image-producing or image-printing stations or modules arranged in tandem, but more or less than five colors can be combined on a single receiver. Other electrophotographic writers or printer apparatus can also be included. Various components of printer <NUM> are shown as rollers; other configurations are also possible, including belts.

Referring to <FIG>, printer <NUM> is an electrophotographic printing apparatus having a number of tandemly-arranged electrophotographic image-forming printing subsystems <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, also known as electrophotographic imaging subsystems. Each printing subsystem <NUM>, <NUM>, <NUM>, <NUM>, <NUM> produces a single-color toner image for transfer using a respective transfer subsystem <NUM> (for clarity, only one is labeled) to a receiver <NUM> successively moved through the modules. In some embodiments one or more of the printing subsystem <NUM>, <NUM>, <NUM>, <NUM>, <NUM> can print a colorless toner image, which can be used to provide a protective overcoat or tactile image features. Receiver <NUM> is transported from supply unit <NUM>, which can include active feeding subsystems as known in the art, into printer <NUM> using a transport web <NUM>. In various embodiments, the visible image can be transferred directly from an imaging roller to a receiver, or from an imaging roller to one or more transfer roller(s) or belt(s) in sequence in transfer subsystem <NUM>, and then to receiver <NUM>. Receiver <NUM> is, for example, a selected section of a web or a cut sheet of a planar receiver media such as paper or transparency film.

In the illustrated embodiments, each receiver <NUM> can have up to five single-color toner images transferred in registration thereon during a single pass through the five printing subsystems <NUM>, <NUM>, <NUM>, <NUM>, <NUM> to form a pentachrome image. As used herein, the term "pentachrome" implies that in a print image, combinations of various of the five colors are combined to form other colors on the receiver at various locations on the receiver, and that all five colors participate to form process colors in at least some of the subsets. That is, each of the five colors of toner can be combined with toner of one or more of the other colors at a particular location on the receiver to form a color different than the colors of the toners combined at that location. In an exemplary embodiment, printing subsystem <NUM> forms black (K) print images, printing subsystem <NUM> forms yellow (Y) print images, printing subsystem <NUM> forms magenta (M) print images, and printing subsystem <NUM> forms cyan (C) print images.

Printing subsystem <NUM> can form a red, blue, green, or other fifth print image, including an image formed from a clear toner (e.g., one lacking pigment). The four subtractive primary colors, cyan, magenta, yellow, and black, can be combined in various combinations of subsets thereof to form a representative spectrum of colors. The color gamut of a printer (i.e., the range of colors that can be produced by the printer) is dependent upon the materials used and the process used for forming the colors. The fifth color can therefore be added to improve the color gamut. In addition to adding to the color gamut, the fifth color can also be a specialty color toner or spot color, such as for making proprietary logos or colors that cannot be produced with only CMYK colors (e.g., metallic, fluorescent, or pearlescent colors), or a clear toner or tinted toner. Tinted toners absorb less light than they transmit, but do contain pigments or dyes that move the hue of light passing through them towards the hue of the tint. For example, a blue-tinted toner coated on white paper will cause the white paper to appear light blue when viewed under white light, and will cause yellows printed under the blue-tinted toner to appear slightly greenish under white light.

Receiver 42a is shown after passing through printing subsystem <NUM>. Print image <NUM> on receiver 42a includes unfused toner particles. Subsequent to transfer of the respective print images, overlaid in registration, one from each of the respective printing subsystems <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, receiver 42a is advanced to a fuser module <NUM> (i.e., a fusing or fixing assembly) to fuse the print image <NUM> to the receiver 42a. Transport web <NUM> transports the print-image-carrying receivers to the fuser module <NUM>, which fixes the toner particles to the respective receivers, generally by the application of heat and pressure. The receivers are serially de-tacked from the transport web <NUM> to permit them to feed cleanly into the fuser module <NUM>. The transport web <NUM> is then reconditioned for reuse at cleaning station <NUM> by cleaning and neutralizing the charges on the opposed surfaces of the transport web <NUM>. A mechanical cleaning station (not shown) for scraping or vacuuming toner off transport web <NUM> can also be used independently or with cleaning station <NUM>. The mechanical cleaning station can be disposed along the transport web <NUM> before or after cleaning station <NUM> in the direction of rotation of transport web <NUM>.

In the illustrated embodiment, the fuser module <NUM> includes a heated fusing roller <NUM> and an opposing pressure roller <NUM> that form a fusing nip <NUM> therebetween. In an embodiment, fuser module <NUM> also includes a release fluid application substation <NUM> that applies release fluid, e.g., silicone oil, to fusing roller <NUM>. Alternatively, wax-containing toner can be used without applying release fluid to the fusing roller <NUM>. Other embodiments of fusers, both contact and non-contact, can be employed. For example, solvent fixing uses solvents to soften the toner particles so they bond with the receiver. Photoflash fusing uses short bursts of high-frequency electromagnetic radiation (e.g., ultraviolet light) to melt the toner. Radiant fixing uses lower-frequency electromagnetic radiation (e.g., infrared light) to more slowly melt the toner. Microwave fixing uses electromagnetic radiation in the microwave range to heat the receivers (primarily), thereby causing the toner particles to melt by heat conduction, so that the toner is fixed to the receiver.

The fused receivers (e.g., receiver 42b carrying fused image <NUM>) are transported in series from the fuser module <NUM> along a path either to an output tray <NUM>, or back to printing subsystems <NUM>, <NUM>, <NUM>, <NUM>, <NUM> to form an image on the backside of the receiver (i.e., to form a duplex print). Receivers 42b can also be transported to any suitable output accessory. For example, an auxiliary fuser or glossing assembly can provide a clear-toner overcoat. Printer <NUM> can also include multiple fuser modules <NUM> to support applications such as overprinting, as known in the art.

In various embodiments, between the fuser module <NUM> and the output tray <NUM>, receiver 42b passes through a finisher <NUM>. Finisher <NUM> performs various paper-handling operations, such as folding, stapling, saddle-stitching, collating, and binding.

Printer <NUM> includes main printer apparatus logic and control unit (LCU) <NUM>, which receives input signals from various sensors associated with printer <NUM> and sends control signals to various components of printer <NUM>. LCU <NUM> can include a microprocessor incorporating suitable look-up tables and control software executable by the LCU <NUM>. It can also include a field-programmable gate array (FPGA), programmable logic device (PLD), programmable logic controller (PLC) (with a program in, e.g., ladder logic), microcontroller, or other digital control system. LCU <NUM> can include memory for storing control software and data. In some embodiments, sensors associated with the fuser module <NUM> provide appropriate signals to the LCU <NUM>. In response to the sensor signals, the LCU <NUM> issues command and control signals that adjust the heat or pressure within fusing nip <NUM> and other operating parameters of fuser module <NUM>. This permits printer <NUM> to print on receivers of various thicknesses and surface finishes, such as glossy or matte.

<FIG> shows additional details of printing subsystem <NUM>, which is representative of printing subsystems <NUM>, <NUM>, <NUM>, and <NUM> (<FIG>). Photoreceptor <NUM> of imaging member <NUM> includes a photoconductive layer formed on an electrically conductive substrate. The photoconductive layer is an insulator in the substantial absence of light so that electric charges are retained on its surface. Upon exposure to light, the charge is dissipated. In various embodiments, photoreceptor <NUM> is part of, or disposed over, the surface of imaging member <NUM>, which can be a plate, drum, or belt. Photoreceptors can include a homogeneous layer of a single material such as vitreous selenium or a composite layer containing a photoconductor and another material. Photoreceptors <NUM> can also contain multiple layers.

Charging subsystem <NUM> applies a uniform electrostatic charge to photoreceptor <NUM> of imaging member <NUM>. In an exemplary embodiment, charging subsystem <NUM> includes a wire grid <NUM> having a selected voltage. Additional necessary components provided for control can be assembled about the various process elements of the respective printing subsystems. Meter <NUM> measures the uniform electrostatic charge provided by charging subsystem <NUM>.

An exposure subsystem <NUM> is provided for selectively modulating the uniform electrostatic charge on photoreceptor <NUM> in an image-wise fashion by exposing photoreceptor <NUM> to electromagnetic radiation to form a latent electrostatic image. The uniformly-charged photoreceptor <NUM> is typically exposed to actinic radiation provided by selectively activating particular light sources in an LED array or a laser device outputting light directed onto photoreceptor <NUM>. In embodiments using laser devices, a rotating polygon (not shown) is sometimes used to scan one or more laser beam(s) across the photoreceptor in the fast-scan direction. One pixel site is exposed at a time, and the intensity or duty cycle of the laser beam is varied at each dot site. In embodiments using an LED array, the array can include a plurality of LEDs arranged next to each other in a line, all dot sites in one row of dot sites on the photoreceptor can be selectively exposed simultaneously, and the intensity or duty cycle of each LED can be varied within a line exposure time to expose each pixel site in the row during that line exposure time.

As used herein, an "engine pixel" is the smallest addressable unit on photoreceptor <NUM> which the exposure subsystem <NUM> (e.g., the laser or the LED) can expose with a selected exposure different from the exposure of another engine pixel. Engine pixels can overlap (e.g., to increase addressability in the slow-scan direction). Each engine pixel has a corresponding engine pixel location, and the exposure applied to the engine pixel location is described by an engine pixel level.

The exposure subsystem <NUM> can be a write-white or write-black system. In a write-white or "charged-area-development" system, the exposure dissipates charge on areas of photoreceptor <NUM> to which toner should not adhere. Toner particles are charged to be attracted to the charge remaining on photoreceptor <NUM>. The exposed areas therefore correspond to white areas of a printed page. In a write-black or "discharged-area development" system, the toner is charged to be attracted to a bias voltage applied to photoreceptor <NUM> and repelled from the charge on photoreceptor <NUM>. Therefore, toner adheres to areas where the charge on photoreceptor <NUM> has been dissipated by exposure. The exposed areas therefore correspond to black areas of a printed page.

In the illustrated embodiment, meter <NUM> is provided to measure the post-exposure surface potential within a patch area of a latent image formed from time to time in a non-image area on photoreceptor <NUM>. Other meters and components can also be included (not shown).

A development station <NUM> includes toning shell <NUM>, which can be rotating or stationary, for applying toner of a selected color to the latent image on photoreceptor <NUM> to produce a developed image on photoreceptor <NUM> corresponding to the color of toner deposited at this printing subsystem <NUM>. Development station <NUM> is electrically biased by a suitable respective voltage to develop the respective latent image, which voltage can be supplied by a power supply (not shown). Developer is provided to toning shell <NUM> by a supply system (not shown) such as a supply roller, auger, or belt. Toner is transferred by electrostatic forces from development station <NUM> to photoreceptor <NUM>. These forces can include Coulombic forces between charged toner particles and the charged electrostatic latent image, and Lorentz forces on the charged toner particles due to the electric field produced by the bias voltages.

In some embodiments, the development station <NUM> employs a two-component developer that includes toner particles and magnetic carrier particles. The exemplary development station <NUM> includes a magnetic core <NUM> to cause the magnetic carrier particles near toning shell <NUM> to form a "magnetic brush," as known in the electrophotographic art. Magnetic core <NUM> can be stationary or rotating, and can rotate with a speed and direction the same as or different than the speed and direction of toning shell <NUM>. Magnetic core <NUM> can be cylindrical or non-cylindrical, and can include a single magnet or a plurality of magnets or magnetic poles disposed around the circumference of magnetic core <NUM>. Alternatively, magnetic core <NUM> can include an array of solenoids driven to provide a magnetic field of alternating direction. Magnetic core <NUM> preferably provides a magnetic field of varying magnitude and direction around the outer circumference of toning shell <NUM>. Development station <NUM> can also employ a mono-component developer comprising toner, either magnetic or non-magnetic, without separate magnetic carrier particles.

Transfer subsystem <NUM> includes transfer backup member <NUM>, and intermediate transfer member <NUM> for transferring the respective print image from photoreceptor <NUM> of imaging member <NUM> through a first transfer nip <NUM> to surface <NUM> of intermediate transfer member <NUM>, and thence to a receiver <NUM> which receives respective toned print images <NUM> from each printing subsystem in superposition to form a composite image thereon. The print image <NUM> is, for example, a separation of one color, such as cyan. Receiver <NUM> is transported by transport web <NUM>. Transfer to a receiver is effected by an electrical field provided to transfer backup member <NUM> by power source <NUM>, which is controlled by LCU <NUM>. Receiver <NUM> can be any object or surface onto which toner can be transferred from imaging member <NUM> by application of the electric field. In this example, receiver <NUM> is shown prior to entry into a second transfer nip <NUM>, and receiver 42a is shown subsequent to transfer of the print image <NUM> onto receiver 42a.

In the illustrated embodiment, the toner image is transferred from the photoreceptor <NUM> to the intermediate transfer member <NUM>, and from there to the receiver <NUM>. Registration of the separate toner images is achieved by registering the separate toner images on the receiver <NUM>, as is done with the NexPress <NUM>. In some embodiments, a single transfer member is used to sequentially transfer toner images from each color channel to the receiver <NUM>. In other embodiments, the separate toner images can be transferred in register directly from the photoreceptor <NUM> in the respective printing subsystem <NUM>, <NUM>, <NUM>, <NUM>, <NUM> to the receiver <NUM> without using a transfer member. Either transfer process is suitable when practicing this invention. An alternative method of transferring toner images involves transferring the separate toner images, in register, to a transfer member and then transferring the registered image to a receiver.

LCU <NUM> sends control signals to the charging subsystem <NUM>, the exposure subsystem <NUM>, and the respective development station <NUM> of each printing subsystem <NUM>, <NUM>, <NUM>, <NUM>, <NUM> (<FIG>), among other components. Each printing subsystem can also have its own respective controller (not shown) coupled to LCU <NUM>.

Various finishing systems can be used to apply features such as protection, glossing, or binding to the printed images. The finishing system scan be implemented as an integral components of the printer <NUM>, or can include one or more separate machines through which the printed images are fed after they are printed.

<FIG> shows a conventional processing path that can be used to produce a printed image <NUM> using a print engine <NUM>. A pre-processing system <NUM> is used to process a page description file <NUM> to provide image data <NUM> that is in a form that is ready to be printed by the print engine <NUM>. In an exemplary configuration, the pre-processing system <NUM> includes a digital front end (DFE) <NUM> and an image processing module <NUM>. The pre-processing system <NUM> can be a part of printer <NUM> (<FIG>), or may be a separate system which is remote from the printer <NUM>. The DFE <NUM> and an image processing module <NUM> can each include one or more suitably-programmed computer or logic devices adapted to perform operations appropriate to provide the image data <NUM>.

The DFE <NUM> receives page description files <NUM> which define the pages that are to be printed. The page description files <NUM> can be in any appropriate format (e.g., the well-known Postscript command file format or the PDF file format) that specifies the content of a page in terms of text, graphics and image objects. The image objects are typically provided by input devices such as scanners, digital cameras or computer generated graphics systems. The page description file <NUM> can also specify invisible content such as specifications of texture, gloss or protective coating patterns.

The DFE <NUM> rasterizes the page description file <NUM> into image bitmaps for the print engine to print. The DFE <NUM> can include various processors, such as a raster image processor (RIP) <NUM>, a color transform processor <NUM> and a compression processor <NUM>. It can also include other processors not shown in <FIG>, such as an image positioning processor or an image storage processor. In some embodiments, the DFE <NUM> enables a human operator to set up parameters such as layout, font, color, media type or post-finishing options.

The RIP <NUM> rasterizes the objects in the page description file <NUM> into an image bitmap including an array of image pixels at an image resolution that is appropriate for the print engine <NUM>. For text or graphics objects the RIP <NUM> will create the image bitmap based on the object definitions. For image objects, the RIP <NUM> will resample the image data to the desired image resolution.

The color transform processor <NUM> will transform the image data to the color space required by the print engine <NUM>, providing color separations for each of the color channels (e.g., CMYK). For cases where the print engine <NUM> includes one or more additional colors (e.g., red, blue, green, gray or clear), the color transform processor <NUM> will also provide color separations for each of the additional color channels. The objects defined in the page description file <NUM> can be in any appropriate input color space such as sRGB, CIELAB, PCS LAB or CMYK. In some cases, different objects may be defined using different color spaces. The color transform processor <NUM> applies an appropriate color transform to convert the objects to the device-dependent color space of the print engine <NUM>. Methods for creating such color transforms are well-known in the color management art, and any such method can be used in accordance with the present invention. Typically, the color transforms are defined using color management profiles that include multi-dimensional look-up tables. Input color profiles are used to define a relationship between the input color space and a profile connection space (PCS) defined for a color management system (e.g., the well-known ICC PCS associated with the ICC color management system). Output color profiles define a relationship between the PCS and the device-dependent output color space for the printer <NUM>. The color transform processor <NUM> transforms the image data using the color management profiles. Typically, the output of the color transform processor <NUM> will be a set of color separations including an array of pixels for each of the color channels of the print engine <NUM> stored in memory buffers.

The processing applied in digital front end <NUM> can also include other operations not shown in <FIG>. For example, in some configurations, the DFE <NUM> can apply the halo correction process described in commonly-assigned <CIT>) entitled "Reducing halo artifacts in electrophotographic printing systems.

The image data provided by the digital front end <NUM> is sent to the image processing module <NUM> for further processing. In order to reduce the time needed to transmit the image data, a compressor processor <NUM> is typically used to compress the image data using an appropriate compression algorithm. In some cases, different compression algorithms can be applied to different portions of the image data. For example, a lossy compression algorithm (e.g., the well-known JPEG algorithm) can be applied to portions of the image data including image objects, and a lossless compression algorithm can be applied to portions of the image data including binary text and graphics objects. The compressed image values are then transmitted over a data link to the image processing module <NUM>, where they are decompressed using a decompression processor <NUM> which applies corresponding decompression algorithms to the compressed image data.

A halftone processor <NUM> is used to apply a halftoning process to the image data. The halftone processor <NUM> can apply any appropriate halftoning process known in the art. Within the context of the present disclosure, halftoning processes are applied to a continuous-tone image to provide an image having a halftone dot structure appropriate for printing using the printer module <NUM>. The output of the halftoning can be a binary image or a multi-level image. In an exemplary configuration, the halftone processor <NUM> applies the halftoning process described in commonly assigned <CIT>), entitled "Multilevel halftone screen and sets thereof. " For this halftoning process, a three-dimensional halftone screen is provided that includes a plurality of planes, each corresponding to one or more intensity levels of the input image data. Each plane defines a pattern of output exposure intensity values corresponding to the desired halftone pattern. The halftoned pixel values are multi-level values at the bit depth appropriate for the print engine <NUM>.

The image enhancement processor <NUM> can apply a variety of image processing operations. For example, an image enhancement processor <NUM> can be used to apply various image enhancement operations. In some configurations, the image enhancement processor <NUM> can apply an algorithm that modifies the halftone process in edge regions of the image (see <CIT>, entitled "Edge enhancement processor and method with adjustable threshold setting" and <CIT>)).

The pre-processing system <NUM> provides the image data <NUM> to the print engine <NUM>, where it is printed to provide the printed image <NUM>. The pre-processing system <NUM> can also provide various signals to the print engine <NUM> to control the timing at which the image data <NUM> is printed by the print engine <NUM>. For example, the pre-processing system <NUM> can signal the print engine <NUM> to start printing when a sufficient number of lines of image data <NUM> have been processed and buffered to ensure that the pre-processing system <NUM> will be capable of keeping up with the rate at which the print engine <NUM> can print the image data <NUM>.

A data interface <NUM> in the print engine <NUM> receives the data from the pre-processing system <NUM>. The data interface <NUM> can use any type of communication protocol known in the art, such as standard Ethernet network connections. A printer module controller <NUM> controls the printer module <NUM> in accordance with the received image data <NUM>. In an exemplary configuration, the printer module <NUM> can be the printer <NUM> of <FIG>, which includes a plurality of individual electrophotographic printing subsystems <NUM>, <NUM>, <NUM>, <NUM>, <NUM> for each of the color channels. For example, the printer module controller <NUM> can provide appropriate control signals to activate light sources in the exposure subsystem <NUM> (<FIG>) to exposure the photoreceptor <NUM> with an exposure pattern. In some configurations, the printer module controller <NUM> can apply various image enhancement operations to the image data. For example, an algorithm can be applied to compensate for various sources of non-uniformity in the printer <NUM> (e.g., streaks formed in the charging subsystem <NUM>, the exposure subsystem <NUM>, the development station <NUM> or the fuser module <NUM>. One such compensation algorithm is described in commonly-assigned <CIT>), entitled "Electrophotographic printing with column-dependent tonescale adjustment.

In the configuration of <FIG>, the pre-processing system <NUM> is tightly coupled to the print engine <NUM> in that it must supply image data <NUM> in a state which is matched to the printer resolution and the halftoning state required for the printer module <NUM>. As a result, when new versions of the print engine <NUM> having different printer resolutions or halftone state requirements are developed, it has been necessary to also provide an updated version of the pre-processing system <NUM> that provides image data <NUM> in an appropriate state. This has the disadvantage that customers are required to upgrade both the pre-processing system <NUM> and the print engine <NUM> at the same time, both of which can have significant costs. The present invention addresses this problem by providing an improved print engine design which is compatible with a variety of different pre-processing systems.

<FIG> shows an improved print engine <NUM> as described in commonly-assigned <CIT>, entitled " Print engine with adaptive processing. " The improved print engine <NUM> is adapted to produce printed images <NUM> from image data <NUM> provided by a plurality of different pre-processing systems <NUM> that are configured to supply image data <NUM> having different image resolutions and halftoning states. In an exemplary configuration, the pre-processing systems <NUM> are similar to that discussed with respect to <FIG>, and includes a digital front end <NUM> and an image processing module <NUM>. Details of the processing provided by the digital front end <NUM> and an image processing module <NUM> are not included in <FIG> for clarity, but will be analogous to the processing operations that were discussed with respect to <FIG>. In this case, in addition to supplying image data <NUM>, the pre-processing system <NUM> also supplies appropriate metadata <NUM> that provides an indication of the state of the image data <NUM>. In particular, the metadata <NUM> provides an indication of the image resolution and the halftoning state of the image data <NUM>.

In an exemplary configuration, the metadata <NUM> includes an image resolution parameter that provides an indication of an image resolution of the image data <NUM> provided by the pre-processing system <NUM> and a halftone state parameter that provides an indication of a halftoning state of the image data provided by the pre-processing system <NUM>.

The image resolution parameter (R) can take any appropriate form that conveys information about the image resolution of the image data <NUM>. In some embodiments, the image resolution parameter can be an integer specifying the spatial resolution in appropriate units such as dots/inch (dpi) (e.g., R=<NUM> for <NUM> dpi and R=<NUM> for <NUM> dpi). In other embodiments, the image resolution parameter can be an index to an enumerated list of allowable spatial resolutions (e.g., R=<NUM> for <NUM> dpi and R=<NUM> for <NUM> dpi).

The halftone state parameter (H) can also take any appropriate form. In some embodiments, the halftone state parameter can be a Boolean variable indicating whether or not a halftoning process was applied in the pre-processing system <NUM> such that the image data <NUM> is in a halftoned state (e.g., H=FALSE indicates that a halftoning process was not applied so that the image data <NUM> is in a continuous tone state, and H=TRUE indicates that a halftoning process was applied sot that the image data <NUM> is in a halftoned state. ) In other embodiments, when the pre-processing system <NUM> applied a halftoning process, the halftone state parameter can also convey additional information about the type of halftoning process that was applied. For example, the halftone state parameter can be an integer variable, where H=<NUM> indicates that no halftoning process was applied, and other integer values represent an index to an enumerated list of available halftoning states (e.g., different screen frequency/angle/dot shape combinations).

The metadata <NUM> can also specify other relevant pieces of information. For example, for the case where the image data <NUM> is in a continuous tone state such that a halftone processor <NUM> in the print engine <NUM> will be required to apply a halftoning operation, the metadata <NUM> can also include one or more halftoning parameters that are used by the halftone processor <NUM> to control the halftoning operation. In some embodiments, the halftoning parameters can include a screen angle parameter, a screen frequency parameter, or a screen type parameter. In other embodiments, the halftoning parameters can include a halftone configuration index that is used to select one of a predefined set of halftone algorithm configurations.

The print engine <NUM> receives the image data <NUM> and the metadata <NUM> using an appropriate data interface <NUM> (e.g., an Ethernet interface). The print engine includes a metadata interpreter <NUM> that analyzes the metadata <NUM> to provide appropriate control signals <NUM> that are used to control a resolution modification processor <NUM> and a halftone processor <NUM>, which are used to process the image data <NUM> to provide processed image data <NUM>, which is in an appropriate state to be printed by the printer module <NUM>. Printer module controller <NUM> then controls the printer module <NUM> to print the processed image data <NUM> to produce the printed image <NUM> in an analogous manner to that which was discussed relative to <FIG>.

<FIG> shows additional details of the resolution modification processor <NUM> and the halftone processor <NUM> of <FIG> according to an exemplary configuration. In this example, the control signals <NUM> provided by the metadata interpreter <NUM> (<FIG>) in response to analyzing the metadata <NUM> (<FIG>) include a resolution modification flag <NUM>, a resize factor <NUM>, a halftoning flag <NUM> and halftoning parameters <NUM>.

The resolution modification flag <NUM> provides an indication of whether a resolution modification must be performed. In an exemplary configuration the resolution modification flag <NUM> is a Boolean variable that would be set to FALSE if no resolution modification is required (i.e., if the image resolution of the image data <NUM> matches the printer resolution of the printer module <NUM>), and would be set to TRUE of a resolution modification is required.

The halftoning flag <NUM> provides an indication of whether a halftoning operation is required. In an exemplary configuration the halftone flag <NUM> is a Boolean variable that would be set to FALSE if no halftoning operation is required (i.e., if the image data <NUM> is in a halftoning state that is appropriate for the printer module <NUM>), and would be set to TRUE if a halftoning operation must be applied to the image data <NUM> before it is ready to be printed.

The resolution modification processor <NUM> applies modify resolution test <NUM> to determine whether a resolution modification should be performed responsive to the resolution modification flag <NUM>. If a resolution modification is required, a resolution modification operation <NUM> is performed. In some configurations, the metadata interpreter <NUM> (<FIG>) provides a resize factor <NUM> that specifies the amount of resizing that must be provided to adjust the resolution of the image data <NUM> to the resolution required by the printer module <NUM> (<FIG>). In some configurations, the resize factor <NUM> is a variable specifying the ratio between the printer resolution and the image resolution. For example, if the image data <NUM> is at <NUM> dpi and the printer module <NUM> prints at <NUM> dpi, the resize factor <NUM> would specify that a <NUM>× resolution modification is required. In various configurations the resize factor <NUM> could be greater than <NUM> if the printer module <NUM> has a higher resolution than the image data <NUM>, or it could be less than <NUM> if the printer module <NUM> has a lower resolution than the image data <NUM>.

In an exemplary configuration, if the image resolution of the image data <NUM> supplied by the pre-processing system <NUM> is an integer fraction of the printer resolution of the printer module <NUM> so that the resize factor <NUM> is a positive integer, the resolution modification operation <NUM> performs the resolution modification by performing a pixel replication process. For example, each <NUM> dpi image pixel in the image data <NUM> would be replaced with a <NUM>×<NUM> array of <NUM> dpi image pixels, each having the same pixel value. In other configurations, an appropriate interpolation process can be used by the resolution modification operation <NUM> (e.g., nearest neighbor interpolation, bi-linear interpolation or bicubic interpolation). The use of an interpolation algorithm is particularly useful of the resize factor is not an integer.

For cases where the resize factor is less than <NUM>, the resolution modification operation <NUM> can perform appropriate averaging operations to avoid aliasing artifacts. For example, if the resize factor <NUM> is <NUM>, then <NUM>×<NUM> blocks of image pixels in the image data <NUM> can be averaged together to provide the new resolution. In other configurations, the resolution modification operation <NUM> can apply a low-pass filter operation followed by a resampling operation.

The halftone processor <NUM> applies halftone image test <NUM> to determine whether a halftoning operation should be performed responsive to the halftoning flag <NUM>. If a halftoning operation is required (e.g., if the image data <NUM> is in a continuous-tone state), a halftoning operation <NUM> is performed. In some configurations, the metadata interpreter <NUM> (<FIG>) provides one or more halftoning parameters <NUM> that are used to control the halftoning operation. As discussed earlier, the halftoning parameters <NUM> can include a screen angle parameter, a screen frequency parameter, or a screen type parameter. In other embodiments, the halftoning parameters <NUM> can include a halftone configuration index that is used to select one of a predefined set of halftone algorithm configurations.

The halftoning operation applied by the halftone processor <NUM> can use any appropriate halftoning algorithm known in the art. In some embodiments, any of the halftoning algorithms described in commonly-assigned <CIT>), entitled "Gray level halftone processing," commonly-assigned <CIT>), entitled "Method of making a multilevel halftone screen," and commonly-assigned <CIT>), entitled, "Multilevel halftone screen and sets thereof," can be used. Such halftoning algorithms typically involve defining look-up tables defining the halftone dot shape as a function of position for a tile of pixels. Different look-up tables can be specified to produce different halftone dot patterns. For example, different look-up tables can be specified for different screen angles, screen frequencies and dot shapes. In this case, the halftoning parameters <NUM> can include a halftone configuration index that selects which look-up table should be used to halftone the image data <NUM>. In a preferred configuration, the halftone processor <NUM> uses a computational halftone process to compute halftoned pixel values using a defined set of calculations. An exemplary computational halftone process that can be used in accordance with the present invention is described in the aforementioned <CIT>.

Consider the case where the printer module <NUM> prints halftoned image data at <NUM> dpi, but where different pre-processing systems <NUM> and configurations can be used to supply image data <NUM> at either <NUM> dpi or <NUM> dpi, and in either a halftoned state or a continuous tone state. In this case, there will be four different combinations of the image resolution parameters and the halftone state parameters that the print engine must deal with.

The exposure subsystem <NUM> (<FIG>) in each printing subsystem <NUM>, <NUM>, <NUM>, <NUM>, <NUM> (<FIG>) typically includes a printhead <NUM> having a linear array of light sources <NUM> as illustrated in <FIG>. In an exemplary embodiment, the light sources <NUM> are LED light sources, although other types of light sources such as laser diodes can also be used. In the illustrated configuration, the printhead <NUM> is fabricated using three light source tiles <NUM>, each of which includes fifteen light source chips <NUM>. The light source chips <NUM> include a linear array of <NUM> individual light sources <NUM> as illustrated in <FIG>. Each of the light sources <NUM> is connected to a corresponding connection pad <NUM> through which an electrical signal is provided to selectively activate the light source <NUM> in accordance with image data. The light sources <NUM> have a width WS, a height HS and a light source pitch (i.e., a light source-to-light source spacing) PS. In an exemplary configuration, WS = <NUM>, HS = <NUM> and PS = <NUM> (corresponding to <NUM> dots/inch).

The light source chips <NUM> are positioned end-to-end in the printhead <NUM> to form a single array of <NUM>×15x3 = <NUM>,<NUM> light sources <NUM>. Ideally, each of the light sources <NUM> are spaced with an identical spacing PS, such that they expose the photoreceptor <NUM> in a predictable location. However, in practice there will be a number of sources of variability that can introduce cross-track position errors in the exposed pixels relative to their expected positions. Sources of cross-track position errors can include variations in the light source pitch PS within a light source chip <NUM>, variation in the length of the light source chips <NUM>, placement errors in the position of the light source chips <NUM> within a light source tile <NUM>, variation in the length of the light source tiles <NUM>, placement errors in the position of the light source tiles <NUM> within the printhead <NUM>, and placement errors in the position of the printhead <NUM>. Additionally, the light sources <NUM> in the printhead <NUM> are typically imaged onto the photoreceptor <NUM> with an array of micro-lenses. The micro-lenses are typically gradient index "SELFOC" lens rods. Variations in the position and orientation of the micro-lenses can also introduce variability in the position of the image of the light sources <NUM> on the photoreceptor <NUM>, which will combine with the other sources of variation.

Cross-track position errors for the light sources <NUM> in the printhead <NUM> can be particularly problematic when they differ from one printing subsystem <NUM>, <NUM>, <NUM>, <NUM>, <NUM> to another, resulting in color-to-color alignment errors which can be visible and objectionable in many instances. To provide acceptable alignment, the color-to-color alignment errors should typically be less than <NUM>, and more preferably should be less than <NUM>. However, with typical manufacturing tolerances, alignment errors as large as <NUM> have been observed. Therefore, there is a need for a method to characterize and correct for the cross-track position errors that can be implemented without the need for complex and costly fixtures.

As described in commonly-assigned, co-pending <CIT>, <FIG> shows a flowchart of a method for determining a position correction function <NUM> that characterizes the cross-track position errors associated with a printhead <NUM> (<FIG>) in accordance with an exemplary embodiment. The method includes providing digital image data for a test target <NUM>. The test target <NUM> preferably includes a plurality of alignment marks <NUM> positioned at predefined cross-track positions as illustrated in the exemplary arrangement shown in <FIG>. The alignment marks <NUM> are preferably distributed along the length of the printhead <NUM> which spans the test target <NUM> in a cross-track direction <NUM>. The test target <NUM> may optionally include other content such as solid patches <NUM> that can be used for other calibration or characterization purposes. In an exemplary arrangement, the test target <NUM> includes alignment marks <NUM> for a plurality of different color channels. In the illustrated example, the test target includes first color channel image content <NUM> for a first color channel printed by a first printing subsystem <NUM> (<FIG>), second color channel image content <NUM> for a second color channel printed by a second printing subsystem <NUM> (<FIG>), third color channel image content <NUM> for a third color channel printed by a third printing subsystem <NUM> (<FIG>), and fourth color channel image content <NUM> for a fourth color channel printed by a fourth printing subsystem <NUM> (<FIG>). The image content for each color channel is provided in different image regions distributed in the in-track direction <NUM>. The different color channels can be, for example, black, cyan, magenta and yellow. However, one skilled in the art will recognize that the color channels can use other colorants as well. Each of different image regions includes a corresponding set of alignment marks <NUM>. In other embodiments, rather than using a single test target <NUM> including alignment marks <NUM> for all of the color channels, they can be included in a plurality of test targets <NUM> (e.g., one for each color channel).

In the illustrated example of <FIG>, the alignment marks <NUM> are pictured as an array of equally spaced vertical lines. However, one skilled in the art will recognize that there are a wide variety of different alignment mark spacings and geometries that could be used in accordance with the present invention. In some configurations, the width or the cross-track position of the vertical lines can be varied along the length of the line in order to enable the centroid of the printed line to be more accurately measured. In other cases, the alignment marks could include crossed lines, circles, diamonds, squares or any other geometric shape that can be analyzed to determine a cross-track position of the alignment marks.

In an exemplary arrangement, an alignment marks <NUM> are provided in proximity to the boundaries between adjacent light source chips <NUM> in the printhead <NUM> (<FIG>). This reflects the fact that the most common sources of position errors relate to length variability and positioning errors for the light source chips <NUM> and light source tiles <NUM>. Therefore, forty-four alignment marks <NUM> would be used for a printhead <NUM> that includes three light source tiles, each including fifteen light source chips <NUM>. Preferably, at least ten alignment marks <NUM> are provided across the length of the printhead <NUM> to enable the characterization and correction of localized, non-linear cross-track alignment errors.

Returning to a discussion of <FIG>, a print test target step <NUM> is used to print the test target <NUM> to produce a printed test target <NUM>. In a preferred embodiment, the printed test target <NUM> is formed on a piece of receiver <NUM> (<FIG>) such as a sheet of paper. In other cases, the printed test target <NUM> can be an image transferred directly onto the transport web <NUM> rather than onto a sheet of receiver <NUM>. In other embodiments, the printed test target <NUM> can correspond to an intermediate image formed on the surface of the imaging member <NUM> (i.e., the photoreceptor <NUM>) or the surface <NUM> of an intermediate transfer member <NUM> (see <FIG>).

A capture image step <NUM> is next used to capture a digital image of the printed test target <NUM> using a digital image capture system to provide a captured image <NUM>. In an exemplary embodiment, the digital image capture system is a flatbed scanner external to the printer <NUM> which is used to scan the printed test target <NUM> formed on a receiver <NUM> after it has been completely printed and fused. In other embodiments, a digital image capture system (e.g., a digital scanner system or a digital camera system) which is integrated into the printer <NUM> can be used to capture an image of the printed test target <NUM> on the receiver <NUM> while the receiver <NUM> is traveling through the printer <NUM> (e.g., while it is being carried on the transport web <NUM>), or before it has been transferred to the receiver <NUM> (e.g., on surface of the imaging member <NUM> or the intermediate transfer member <NUM>).

Next, an analyze captured image step <NUM> is used to automatically analyze the captured image <NUM> to determine measured alignment mark positions <NUM>. The measured alignment mark positions <NUM> include at least the cross-track positions of the alignment marks <NUM> in the test target <NUM>. In some embodiments the measured alignment mark positions <NUM> can also include the in-track positions of the alignment marks <NUM>. (The in-track positions of the alignment marks <NUM> can be utilized to correct for artifacts such as substrate skew. ) In an exemplary embodiment, a plurality of image lines in the captured image <NUM> are identified which intersect the alignment marks <NUM>. The image lines are averaged to determine a combined image trace which includes traces through the individual alignment marks <NUM>. Equivalently, a low-pass filter can be applied to the image data to average the pixel values in a range of in-track positions, and the combined image trace can be determined by taking a single trace through the filtered image. Preferably, any skew in the captured image <NUM> can be characterized (e.g., by detecting the boundaries of the solid patches <NUM>) and accounted for in the image analysis process. For example, the captured image <NUM> can be rotated to remove the skew. Alternatively, the image traces can be taken along lines parallel to the skew angle, or the image can be filtered using a low-pass filter which is rotated by the skew angle.

The combined image trace can then be analyzed to determine the measured alignment mark positions <NUM>. <FIG> shows an example of a combined image trace <NUM>, which includes alignment mark profiles <NUM> for each of the alignment marks <NUM>. The "scanner code values" on the y-axis have been inverted such that "<NUM>" is white and "<NUM>" is black. The measured alignment mark positions <NUM> for each of the alignment marks can then be determined by computing a quantity corresponding to a measure of the central tendency for each of the alignment mark profiles <NUM>. For example, the measure of the central tendency can be the centroid (i.e., the mean), the median or the mode of the alignment mark profile <NUM>.

In an exemplary embodiment, an idealized profile function <NUM> is fit to the alignment mark profile <NUM> as illustrated in <FIG>. The alignment mark profile <NUM> in this figure corresponds to the circled alignment mark profile <NUM> in <FIG>, and has been shifted to remove the density of the paper. A Gaussian function was then fit to the alignment mark profile <NUM> to determine the idealized profile function <NUM>. The measured alignment mark position <NUM> is then determined by computing the measure of central tendency (i.e., the centroid) of the idealized profile function <NUM>. This approach has the advantage that it is less susceptible to noise in the image data.

Next, a determine cross-track position errors step <NUM> is used to determine cross-track position errors <NUM> by comparing the measured alignment mark positions <NUM> with corresponding reference alignment mark positions <NUM>. In some embodiments, the reference alignment mark positions <NUM> can correspond to ideal positions of the alignment marks <NUM> determined from their positions in the original test target <NUM>. In a preferred embodiment, one of the color channels is designated to be a reference color channel, and the other color channels are designated to be non-reference color channels. In this case, the measured alignment mark positions <NUM> for the reference color channel are used as the reference alignment mark positions <NUM> for the non-reference color channels. In this way, the cross-track position errors <NUM> for the non-reference color channels correspond to cross-track differences between the image content printed in the non-reference color channel and the reference color channel. In some configurations, a predefined color channel (e.g., the black color channel) is designated to be the reference color channel. In other cases, it can be advantageous to designate the color channel that has the largest cross-track line length (e.g., the color channel having the largest cross-track distance between the first and last alignment marks) to be the reference color channel. In this case, the position corrections that are applied to the non-reference color channels will stretch out the image data (e.g., by repeating certain image pixels) rather than shortening the image data (e.g., by deleting certain image pixels). This eliminates the possibility that a portion of a single-pixel wide line might be erased by deleting the corresponding image pixels.

<FIG> illustrates the cross-track position errors <NUM> determined for a printed test target <NUM> produced using an exemplary printhead <NUM>. The cross-track position errors <NUM> were determined by computing the difference between the measured alignment mark positions <NUM> and the corresponding reference alignment mark positions <NUM>. A positive cross-track position error <NUM> corresponds to the case where the position of the alignment mark in the printed image is longer than the reference position (i.e., to the right), and a negative cross-track position error <NUM> corresponds to the case where the printed image is shorter than the reference position (i.e., to the left). It can be seen in this example, that a portion of the printhead has negative cross-track position errors, while another portion of the printhead has positive cross-track position errors, indicating that the spacing between the light sources varies across the width of the printhead.

A determine position correction function step <NUM> is then used to determine a position correction function <NUM> based on the measured cross-track position errors <NUM>. The position errors in this example are scaled by the output pixel spacing so that they represented in terms of the number of output pixels (e.g., the number of <NUM> dpi pixels). In an exemplary embodiment, a smooth function is fit to the measured cross-track position errors <NUM> to determine a cross-track position error function <NUM>. For example, the cross-track position error function <NUM> can be determined by fitting a smoothing spline or a polynomial function to the measured cross-track position errors <NUM>. Such smoothing operations are well-known to those skilled in the art.

Corrections are applied by resampling the image data. In this case, the resampling operation effectively shifts the image data as a function of pixel position by an integer number of output pixels. The required shift is determined by quantizing the cross-track position error function <NUM> to determine a quantized cross-track position error function <NUM>. The quantized cross-track position error function <NUM> gives an indication of how many pixels to the right or left the output pixel position has been shifted. For example, the quantized position error for pixel indices in the range of <NUM>-<NUM> are one pixel to the left of their expected positions.

In order to correct for the cross-track position errors, a position correction function <NUM> can be determined by inverting the quantized cross-track position error function <NUM> as shown in <FIG>. In an exemplary embodiment, the correction is applied by resampling the image data at shifted pixel positions. The position correction function <NUM> gives an indication of how many output pixels the image data should be shifted as a function of cross-track pixel position.

A representation of the position correction function <NUM> can be stored in a digital memory in any appropriate format to be used in the correction of digital image data. The full position correction function <NUM> is stored in the digital memory, either in a quantized form such as that illustrated in <FIG>, or in an unquantized form. Alternatively, the position correction function <NUM> can be represented in other formats. The quantized position correction function <NUM> of <FIG> is fully represented by storing the differences between the quantized position correction values at sequential pixel positions. An example of such a position correction function representation <NUM> is illustrated in <FIG>. The position correction function representation <NUM> can be stored in digital memory in a variety of encoding formats. For example, the differences (i.e., which can also referred to as the "transition direction" or the "delta modulation values") can be stored as a function of pixel index. Alternatively, the cross-track positions and transition directions (i.e., the delta modulation values) of the transitions where the quantized position correction values change (i.e., the pixel indices having non-zero delta modulation values) can be stored in a table such as that shown in Table <NUM>.

Once the position correction function <NUM> has been determined, the image lines of a digital image can be modified to determine corrected image lines responsive to the stored position correction function. In a preferred embodiment, the image lines are resampled at positions corresponding to the pixel shifts specified in a position correction function <NUM> such as that shown in <FIG>.

<FIG> shows an improved processing path including a print engine that is adapted to produce printed images incorporating cross-track position corrections in accordance with an exemplary embodiment. The improved processing path is analogous to the processing path of <FIG> except that the resolution modification processor <NUM> has been replaced by a resolution/alignment processor <NUM>, which corrects the alignment responsive to the position correction function <NUM> in addition to performing any resolution modifications specified by the control signals <NUM>.

<FIG> shows additional details for the resolution/alignment processor <NUM> and the halftone processor <NUM> of <FIG>. This process is similar to that of <FIG> except for the addition of a position correction operation <NUM>. As discussed earlier, the resolution modification operation <NUM> involves resampling the image data <NUM> in accordance with a resize factor. The position correction operation <NUM> also involves a resampling of the image data. In an exemplary embodiment, the resolution modification operation <NUM> and the position correction operation <NUM> can be combined into a single unified resampling operation <NUM> rather than two sequential resampling operations.

In an exemplary embodiment, the unified resampling operation <NUM> uses a "nearest neighbor" resampling process where each output pixel is set to the value of the input pixel nearest to the corresponding sampling position. This ensures that the density of thin lines and text is maintained. In other embodiments, an interpolation process can be used to interpolate between the input pixel values to determine the output pixel values at the determined sampling positions.

<FIG> shows an exemplary method for processing an input pixel <NUM> of the image data <NUM> (<FIG>) having an associated cross-track pixel index <NUM> using the unified resampling operation <NUM> of <FIG>. This exemplary method corresponds to the special case where the resize factor <NUM> is <NUM>× (e.g., when the image data <NUM> (<FIG>) has a resolution of <NUM> dpi and the processed image data <NUM> (<FIG>) has a resolution of <NUM> dpi). A determine delta modulation value step <NUM> is used to determine a delta modulation value (Δ) <NUM> corresponding to the pixel index <NUM> responsive to the pixel correction function <NUM>. For example, the pixel index <NUM> can be used to look-up the delta modulation value <NUM> in a position correction function <NUM> such as that shown in <FIG>. Alternatively, the pixel index <NUM> can be compared to the pixel indices in a table such as that shown in Table <NUM> to determine whether the delta modulation value <NUM> is non-zero, and if so what its value should be.

An adder <NUM> is then used to combine the resize factor <NUM> and the delta modulation value <NUM> to determine a repeat value <NUM>. The repeat value <NUM> indicates how many times the input pixel <NUM> should be repeated in the line of output pixels <NUM>. For example, If the resize factor <NUM> is <NUM>× and the delta modulation value <NUM> is Δ = <NUM>, the repeat value <NUM> will have a nominal value of "<NUM>" so that the input pixel <NUM> will be repeated twice in accordance with the resize factor <NUM>. If the delta modulation value <NUM> is Δ = -<NUM> or Δ = +<NUM>, the repeat value <NUM> will be adjusted to be "<NUM>" or "<NUM>," respectively, to correct for the cross-track position errors.

A repeat input pixel step <NUM> is then used to determine output pixels <NUM> corresponding to the input pixel <NUM> by repeating the input pixel <NUM> a number of times (e.g., <NUM>, <NUM> or <NUM> times) according to the repeat value <NUM>. The process of <FIG> is repeated for every input pixel <NUM> in each image line of the image data <NUM> (<FIG>). Note that each determined line of output pixels <NUM> will be repeated twice in output image data given the resize factor <NUM> of <NUM>×.

For the case where the resize factor <NUM> is <NUM>×, a delta modulation value <NUM> of Δ = -<NUM> would give a repeat value <NUM> of "<NUM>. " A consequence of this would be that if the input pixel <NUM> corresponds to a single pixel wide line, then it would be erased from the output image. To avoid such artifacts, if the resize factor is <NUM>× it is generally desirable to avoid negative delta modulation values <NUM>. This can be generally be accomplished by designating the color channel that is determined to have a longest cross-track line length to be the reference color channel. In this way, the length of the other color channels will be stretched rather than compressed.

Even if the resize factor <NUM> is <NUM>× or larger, non-zero delta modulation values <NUM> can cause the line widths of thin lines (e.g., single pixel wide lines) to be modified to a degree that a user may detect the difference. For example, a line which would normally be two output pixels wide after applying the <NUM>× resize factor <NUM> could be one or three output pixels wide. To avoid such artifacts, it is generally desirable to avoid aligning the non-zero delta modulation values <NUM> with thin features in the input image. In one embodiment, a plurality of different position correction functions <NUM> can be provided where the cross-track positions of the transitions are shifted to the left or right. If the user observes objectionable changes in the feature widths, then the user can select one of the alternate position correction functions <NUM>. In other embodiments, the input image can be analyzed to identify the position of thin image features, and the positions of the transitions can be shifted such that they are moved away from the thin image features (e.g., into a white background region).

In some embodiments, the printer <NUM> (<FIG>) includes an image capture system which can be used to capture images of the printed test target <NUM> on an appropriate imaging surface as discussed earlier. In such cases, the calibration method of <FIG> can be performed automatically without the need for a user to manually handle the printed test target <NUM>. The calibration method can be performed at predefined intervals, or can be initiated by a user when it is observed that the printer is producing printed images having objectionable cross-track position errors.

The method for correction cross-track alignment errors that was described relative to <FIG> can be adapted to also be used to correct for in-track alignment errors. <FIG> shows a flowchart of a method for determining an in-track position correction function <NUM> that characterizes and corrects the in-track position errors associated with a printhead <NUM> (<FIG>) in accordance with an exemplary embodiment. The in-track position errors may result from a variety of sources including skew of the printhead <NUM> relative to the imaging member <NUM> (<FIG>), misalignment of the individual light source chips <NUM> or light source tiles <NUM> within the printhead <NUM>, misalignment of the imaging optics (e.g., the SELFOC lens), or deformation of the imaging member <NUM>. The method includes providing digital image data for a test target <NUM>. The test target <NUM> preferably includes a plurality of in-track alignment marks <NUM> positioned at predefined cross-track positions as illustrated in the exemplary arrangement shown in <FIG>. The in-track alignment marks <NUM> are preferably distributed along the length of the printhead <NUM> which spans the test target <NUM> in a cross-track direction <NUM>. The test target <NUM> may optionally include other content such as cross-track alignment marks <NUM> that can be used to correct for cross-track alignment errors as has been previously described, and solid patches <NUM> that can be used for other calibration or characterization purposes. In an exemplary arrangement, the test target <NUM> includes in-track alignment marks <NUM> for a plurality of different color channels. In the illustrated example, the test target includes first color channel image content <NUM> for a first color channel printed by a first printing subsystem <NUM> (<FIG>), second color channel image content <NUM> for a second color channel printed by a second printing subsystem <NUM> (<FIG>), third color channel image content <NUM> for a third color channel printed by a third printing subsystem <NUM> (<FIG>), and fourth color channel image content <NUM> for a fourth color channel printed by a fourth printing subsystem <NUM> (<FIG>). Each of different color channels includes a corresponding set of in-track alignment marks <NUM>. The different color channels can be, for example, black, cyan, magenta and yellow. However, one skilled in the art will recognize that the color channels can use other colorants as well. In other embodiments, rather than using a single test target <NUM> including in-track alignment marks <NUM> for all of the color channels, they can be included in a plurality of test targets <NUM> (e.g., one for each color channel).

In the illustrated example of <FIG>, the in-track alignment marks <NUM> are pictured as an array of equally spaced horizontal lines all positioned at the same nominal position in the in-track direction <NUM>. However, one skilled in the art will recognize that there are a wide variety of different alignment mark spacings and geometries that could be used in accordance with the present invention. In some configurations, the width or the in-track position of the horizontal lines can be varied along the length of the line in order to enable the centroid of the printed line to be more accurately measured. In other cases, the in-track alignment marks <NUM> could include crossed lines, circles, diamonds, squares or any other geometric shape that can be analyzed to determine the in-track position of the alignment marks. In some cases, the cross-track alignment marks <NUM> and the in-track alignment marks <NUM> can be combined into a single set of alignment marks that are adapted to enable the determination of both in-track and cross-track positions of the alignment marks.

In an exemplary arrangement, in-track alignment marks <NUM> are provided in proximity to the boundaries between adjacent light source chips <NUM> in the printhead <NUM> (<FIG>). This reflects the fact that some of the most common sources of in-track position errors relate to positioning errors for the light source chips <NUM> and light source tiles <NUM>. Therefore, forty-four in-track alignment marks <NUM> can be used for a printhead <NUM> that includes three light source tiles, each including fifteen light source chips <NUM>. In other arrangements, multiple sets of in-track alignment marks <NUM> can be provided for each light source chip <NUM>. For example, two sets of in-track alignment marks <NUM> could be provided for each light source chip <NUM>, one closer to the left edge and one closer to the right edge. Preferably, at least ten in-track alignment marks <NUM> are provided across the length of the printhead <NUM> to enable the characterization and correction of localized, non-linear cross-track alignment errors.

Next, an analyze captured image step <NUM> is used to automatically analyze the captured image <NUM> to determine measured in-track alignment mark positions <NUM>. The measured in-track alignment mark positions <NUM> include at least the in-track positions of the in-track alignment marks <NUM> (<FIG>) in the test target <NUM>. In an exemplary embodiment, a plurality of image columns in the captured image <NUM> are identified which intersect the in-track alignment marks <NUM>. The image columns are averaged to determine a combined image trace (which can also be referred to as an in-track alignment mark profile) for each of the individual in-track alignment marks <NUM>. Equivalently, a low-pass filter can be applied to the image data to average the pixel values in a range of cross-track positions, and the combined image trace can be determined by taking a single trace through the filtered image. Preferably, any skew in the captured image <NUM> can be characterized (e.g., by detecting the boundaries of the solid patches <NUM>) and accounted for in the image analysis process. For example, the captured image <NUM> can be rotated to remove the skew. Alternatively, the image traces can be taken along lines parallel to the skew angle, or the image can be filtered using a low-pass filter which is rotated by the skew angle. The in-track alignment mark profile then be analyzed to determine the measured alignment mark positions <NUM>. In an exemplary embodiment, an idealized profile function <NUM> is fit to the in-track alignment mark profile in a manner analogous to the method that was described earlier relative to the cross-track alignment mark profile <NUM> in the discussion of <FIG>. The measured in-track alignment mark position <NUM> is then determined by computing the measure of central tendency (i.e., the centroid) of the idealized profile function <NUM>. This approach has the advantage that it is less susceptible to noise in the image data.

Next, a determine in-track position errors step <NUM> is used to determine in-track position errors <NUM> by comparing the measured in-track alignment mark positions <NUM> with corresponding reference in-track alignment mark positions <NUM>. In some embodiments, the reference in-track alignment mark positions <NUM> can correspond to ideal positions of the alignment marks <NUM> corresponding to their positions in the original test target <NUM>. In some embodiments, the reference in-track alignment mark positions <NUM> can correspond to the measured in-track alignment mark position <NUM> for one of the alignment marks (e.g., the leftmost alignment mark or the center alignment mark). In some embodiments, one of the color channels is designated to be a reference color channel, and the other color channels are designated to be non-reference color channels. In this case, the reference in-track alignment mark positions <NUM> for the non-reference color channels can be specified given the known relative positions of the alignment mark positions in the original test target <NUM>. In this way, the in-track position errors <NUM> for the non-reference color channels will reflect any channel-to-channel registration errors in addition to any within-channel skew.

<FIG> illustrates the in-track position errors <NUM> determined for a printed test target <NUM> produced using an exemplary printhead <NUM>. The in-track position errors <NUM> were determined by computing the difference between the measured in-track alignment mark positions <NUM> and the corresponding reference in-track alignment mark positions <NUM>. A positive cross-track position error <NUM> corresponds to the case where the position of the in-track alignment mark in the printed image is above than the reference position on the printed test target <NUM> (i.e., downstream relative to the printing direction assuming that the top of the image is printed first), and a negative in-track position error <NUM> corresponds to the case where the printed image is below the reference position (i.e., upstream relative to the printing direction assuming that the top of the image is printed first). In this example, the printhead <NUM> is skewed so that the right edge of the printed image is printed higher on the page than the left edge. Additionally, there are some local deviations in the in-track position.

A determine in-track position correction function step <NUM> is then used to determine an in-track position correction function <NUM> based on the measured in-track position errors <NUM>. The in-track position errors in this example are scaled by the output pixel spacing so that they represented in terms of the number of output pixels (e.g., the number of <NUM> dpi pixels). In an exemplary embodiment, a smooth function is fit to the measured in-track position errors <NUM> to determine an in-track position error function <NUM>. For example, the in-track position error function <NUM> can be determined by fitting a smoothing spline or a polynomial function to the measured in-track position errors <NUM>. Such smoothing operations are well-known to those skilled in the art.

In an exemplary embodiment, in-track alignment corrections are applied by resampling the image data. In this case, the resampling operation effectively shifts the image data in the in-track direction as a function of cross-track pixel position by an integer number of output pixels. The required shift can be determined by quantizing the in-track position error function <NUM> to determine a quantized in-track position error function <NUM>. The quantized in-track position error function <NUM> gives an indication of how many pixels up or down the output pixel position has been shifted. For example, the quantized in-track position error for cross-track pixel indices in the range of <NUM>-<NUM> indicate that the pixels are approximately one pixel below their expected positions.

In order to correct for the in-track position errors, an in-track position correction function <NUM> can be determined by inverting the quantized in-track position error function <NUM> as shown in <FIG>. In an exemplary embodiment, the correction is applied by resampling the image data at shifted pixel positions. The in-track position correction function <NUM> gives an indication of how many output pixels the image data should be shifted in the in-track direction as a function of cross-track pixel position.

A representation of the in-track position correction function <NUM> can be stored in a digital memory in any appropriate format to be used in the correction of digital image data. For example, the full in-track position correction function <NUM> can be stored in the digital memory, either in a quantized form such as that illustrated in <FIG>, or in an unquantized form. Alternatively, the in-track position correction function <NUM> can be represented in other formats. For example, the quantized in-track position correction function <NUM> of <FIG> can be fully represented by storing the differences between the quantized position correction values at sequential pixel positions. An example of such an in-track position correction function representation <NUM> is illustrated in <FIG>. The in-track position correction function representation <NUM> can be stored in digital memory in a variety of encoding formats. For example, the differences (i.e., which can also referred to as the "transition direction" or the "delta modulation values") can be stored as a function of pixel index. Alternatively, the cross-track positions and transition directions (i.e., the delta modulation values) of the transitions where the quantized position correction values change (i.e., the pixel indices having non-zero delta modulation values) can be stored in a table such as that shown in Table <NUM>.

Once the in-track position correction function <NUM> has been determined, the image lines of a digital image can be modified to determine corrected image lines responsive to the stored in-track position correction function. In a preferred embodiment, the image lines are shifted in the in-track direction, where the amount of the shift varies as a function of cross-track position in accordance with the in-track position correction function <NUM>.

<FIG> shows an improved processing path including a print engine that is adapted to produce printed images incorporating cross-track position corrections in accordance with an exemplary embodiment. The improved processing path is analogous to the processing path of <FIG> except that the resolution/alignment processor <NUM> has been replaced by a new resolution/alignment processor <NUM>, which corrects the alignment responsive to both the cross-track position correction function <NUM> and the in-track position correction function <NUM> in addition to performing any resolution modifications specified by the control signals <NUM>.

<FIG> shows additional details for the resolution/alignment processor <NUM> and the halftone processor <NUM> of <FIG>. This process is similar to that of <FIG> except for position correction operation <NUM>, which applies both the cross-track position correction function <NUM> and the in-track position correction function <NUM>. As discussed earlier, the resolution modification operation <NUM> involves resampling the image data <NUM> in accordance with a resize factor. The position correction operation <NUM> also involves a resampling of the image data. In an exemplary embodiment, the resolution modification operation <NUM> and the position correction operation <NUM> can be combined into a single unified resampling operation <NUM> rather than two sequential resampling operations.

In an exemplary embodiment, the unified resampling operation <NUM> works by first performing the cross-track resizing and position correction operation using the process that was described earlier with respect to <FIG>. An in-track resizing operation is then performed by replicating the processed lines to provide buffered image lines at output resolution. An in-track position correction operation is then performed in which the output image lines are determined by resampling the buffered image lines in accordance with the in-track position correction function <NUM>, which is preferably expressed in terms of the number of output pixels that the image data should be shifted as a function of cross-track position.

An exemplary embodiment of the in-track position correction operation is illustrated in <FIG>, which shows an image buffer <NUM> containing nine image lines, where the center image line corresponds to the nominal image for a particular in-track position y<NUM>. (Note that, for purposes of illustration, the image lines in this example are shortened relative to real image lines which can have as many as <NUM>,<NUM> pixels or more. ) For each cross-track pixel index i, the image buffer <NUM> is sampled at a shifted in-track position yi given by: <MAT> where Cy(i) is the value of the in-track position correction function <NUM> evaluated at the ith pixel index. The shaded pixel positions in the image buffer <NUM> indicate the selected pixel positions corresponding to the exemplary in-track position correction function <NUM>. The pixel values at these pixel positions are copied into the output image line <NUM>. For the case where a delta modulation function is used as an in-track position correction function representation <NUM>, the shifted in-track position yi for each cross-track pixel index can be determined by incrementing the shifted in-track position for the previous cross-track pixel index by the in-track delta modulation value for that cross-track pixel index <MAT> where Δy(i) is the in-track delta modulation value for the ith cross-track pixel index.

The image buffer <NUM> should include at least as many image lines that are needed to cover the largest expected range of corrections for the in-track position correction function <NUM>. After each output image line <NUM> is processed, the image lines in the image buffer <NUM> are shifted up and a new image line is added to the bottom of the image buffer <NUM>. In an alternate embodiment, the image buffer <NUM>, can store the entire image. This makes it unnecessary to perform the image line shifting operations, but requires a much larger amount of memory which may be impractical in many systems.

For cases where an in-line resize factor of <NUM>× or more is used, there will be redundant image lines in the image <NUM>, which is an inefficient use of the buffer memory. In such cases, it can be advantageous to integrate the in-track resizing operation with the in-track position correction operation. In an exemplary embodiment, the image buffer can be used to store the image lines before the in-track resizing operation is performed. The image line index for each pixel position yi can be determined as before corresponding to the output image resolution and can be mapped to a corresponding image line ŷi in the image buffer containing the pre-in-track resizing image lines: <MAT> where M is the resize factor <NUM> and Int(·) is a function that returns the integer portion of a number. (Note that the same resizing factor will typically be used in both the in-track and cross-track directions, although this is not a requirement.

As discussed earlier, in some embodiments the in-track position correction functions <NUM> for each color channel can be determined relative to a reference color channel so that they will not only correct for the skew of the individual color channels, but will also account for color-to-color registration errors. In other cases, the overall color-to-color registration errors can be performed separately, for example by introducing a time delay in the printing operation for the non-reference color channels corresponding to an overall shift that is detected between the color channels.

In some embodiments, the printer <NUM> (<FIG>) includes an image capture system which can be used to capture images of the printed test target <NUM> on an appropriate imaging surface as discussed earlier. In such cases, the calibration method of <FIG> can be performed automatically without the need for a user to manually handle the printed test target <NUM>. The calibration method can be performed at predefined intervals, or can be initiated by a user when it is observed that the printer is producing printed images having objectionable in-track position errors.

<FIG> is a high-level diagram showing the components of a system for processing image data according to embodiments of the present invention. The system includes a data processing system <NUM>, a peripheral system <NUM>, a user interface system <NUM>, and a data storage system <NUM>. The peripheral system <NUM>, the user interface system <NUM> and the data storage system <NUM> are communicatively connected to the data processing system <NUM>.

The data processing system <NUM> includes one or more data processing devices that implement the processes of the various embodiments of the present invention, including the example processes described herein. The phrases "data processing device" or "data processor" are intended to include any data processing device, such as a central processing unit ("CPU"), a desktop computer, a laptop computer, a mainframe computer, a personal digital assistant, a Blackberry™, a digital camera, cellular phone, or any other device for processing data, managing data, or handling data, whether implemented with electrical, magnetic, optical, biological components, or otherwise. In some embodiments, the data processing system <NUM> a plurality of data processing devices distributed throughout various components of the printing system (e.g., the pre-processing system <NUM> and the print engine <NUM>).

The data storage system <NUM> includes one or more processor-accessible digital memories configured to store information, including the information needed to execute the processes of the various embodiments of the present invention, including the example processes described herein. The data storage system <NUM> may be a distributed processor-accessible memory system including multiple processor-accessible digital memories communicatively connected to the data processing system <NUM> via a plurality of computers or devices. On the other hand, the data storage system <NUM> need not be a distributed processor-accessible digital memory system and, consequently, may include one or more processor-accessible digital memories located within a single data processor or device.

The phrase "processor-accessible digital memory" is intended to include any processor-accessible data storage device, whether volatile or nonvolatile, electronic, magnetic, optical, or otherwise, including but not limited to, registers, floppy disks, hard disks, Compact Discs, DVDs, flash memories, ROMs, and RAMs.

The phrase "communicatively connected" is intended to include any type of connection, whether wired or wireless, between devices, data processors, or programs in which data may be communicated. The phrase "communicatively connected" is intended to include a connection between devices or programs within a single data processor, a connection between devices or programs located in different data processors, and a connection between devices not located in data processors at all. In this regard, although the data storage system <NUM> is shown separately from the data processing system <NUM>, one skilled in the art will appreciate that the data storage system <NUM> may be stored completely or partially within the data processing system <NUM>. Further in this regard, although the peripheral system <NUM> and the user interface system <NUM> are shown separately from the data processing system <NUM>, one skilled in the art will appreciate that one or both of such systems may be stored completely or partially within the data processing system <NUM>.

The peripheral system <NUM> may include one or more devices configured to provide digital content records to the data processing system <NUM>. For example, the peripheral system <NUM> may include digital still cameras, digital video cameras, cellular phones, or other data processors. The data processing system <NUM>, upon receipt of digital content records from a device in the peripheral system <NUM>, may store such digital content records in the data storage system <NUM>.

The user interface system <NUM> may include a mouse, a keyboard, another computer, or any device or combination of devices from which data is input to the data processing system <NUM>. In this regard, although the peripheral system <NUM> is shown separately from the user interface system <NUM>, the peripheral system <NUM> may be included as part of the user interface system <NUM>.

The user interface system <NUM> also may include a display device, a processor-accessible memory, or any device or combination of devices to which data is output by the data processing system <NUM>. In this regard, if the user interface system <NUM> includes a processor-accessible memory, such memory may be part of the data storage system <NUM> even though the user interface system <NUM> and the data storage system <NUM> are shown separately in <FIG>.

A computer program product for performing aspects of the present invention can include one or more non-transitory, tangible, computer readable storage medium, for example; magnetic storage media such as magnetic disk (such as a floppy disk) or magnetic tape; optical storage media such as optical disk, optical tape, or machine readable bar code; solid-state electronic storage devices such as random access memory (RAM), or read-only memory (ROM); or any other physical device or media employed to store a computer program having instructions for controlling one or more computers to practice the method according to the present invention.

Claim 1:
A method for correcting in-track position errors in a digital printing system having a linear printhead, the linear printhead extending in a cross-track direction and including an array of light sources for exposing a photosensitive medium, comprising:
a) providing digital image data for a test target including a plurality of alignment marks positioned at predefined cross-track positions;
b) printing the test target using the digital printing system to provide a printed test target;
c) using a digital image capture system to capture an image of the printed test target;
d) using a data processing system to automatically analyze the captured image to determine a measured in-track position for each of the alignment marks;
e) comparing the measured in-track positions for the alignment marks to reference in-track positions to determine measured in-track position errors;
f) determining an in-track position correction function responsive to the measured in-track position errors, wherein the in-track position correction function specifies in-track position corrections to be applied as a function of cross-track position;
g) storing a representation of the in-track position correction function in a digital memory;
h) receiving digital image data for a digital image to be printed by the digital imaging system, wherein the digital image includes a plurality of image lines extending in the cross-track direction;
i) determining corrected image lines by resampling the digital image data responsive to the stored representation of the in-track position correction function;
wherein the representation of the in-track position correction function is non-linear; and
wherein the representation of the in-track position correction function stored in the digital memory includes the cross-track positions and transition direction of transitions in the in-track position correction function.