The print verification system (PVS) scans and processes printed pages, in real time, to verify that their print quality meets application-critical customer needs. Adding to the challenge is the high rate at which the images are printed - more than 750 printed pages per minute. The most significant technical challenge is that of aligning the intended and actual prints because the paper physically deforms in the printing process. The system has now been in use at the initial customer’s location for several months. In replacing visual inspection, done necessarily in less-than-real time by human observers using randomly selected pages, it both reduces operational costs and delivers more consistent results.
The system’s printer is an IBM Infoprint 4100 production printer, which prints pages on both sides of a continuous sheet, or web, of paper. Moving the paper through the printer at a high rate is itself a sophisticated task. In the process, the paper is heated, stretched and warped. The feed mechanism of the web scanner must also move the paper at the rate it is printed – another challenge that leads to apparent paper warping and image stretching. Hence, the images scanned from the printed pages, even when the printer is working properly, are stretched and warped versions of the ideal (see Figure 1).
Figure 1: Typical horizontal pixel offset variations at the top, center and bottom of a web segment. Horizontal (and vertical) pixel offsets are primarily caused by warping of the paper web because its moisture content changes as it is heated and cooled in the toner-fusion process.
In operation, the 4100’s controller produces two streams of high-resolution rasterized source images – one for the top and one for the bottom side of the web. These are presumed to be correct and unblemished copies of what is intended to be printed. These rasterized images are obtained after the printer has finished all its print quality adjustments (for example to improve the appearance of characters). The web scanner also produces two streams of lower-resolution digitized images (obtained from actual optical scanning), one stream from each side of the web. These images are grayscale, unlike the rasterized images which have binary pixels. Print verification requires the scanned images to be enlarged and spatially aligned page by page, line by line and pixel by pixel with images from the corresponding source stream.
The alignment problem by and large is the essential challenge in this system. In Figure 2, on the left we show the rasterized (source) image and on the right we show the optically scanned image. In both left and right borders of each image we find synchronization strips, which have regularly spaced markers denoted by an integer index.
Figure 2. The image on the left is the source; the image on the right is a scaned image of the actual print. An affine transformation based on the markers in the borders is used to map one to the other.
These markers are used to scale and coarsely align the scanned image with the source image. Note that simple translation and scaling of the X and Y axis will not work; for example the 403 marker may not lie exactly in the vertical line where the 401 marker lies.
The solution is to do a general two-dimensional affine transformation. This transformation relates two coordinates (x,y) in the left image with two coordinates (u,v) in the right image via the equations
There are six unknowns (a,b,c,d,e,f). To find these, we partition the images into triangles as shown in Figure 2. Thus each partition can be defined by three coordinates, each consisting of a pair of real numbers, and the system of equations is neither over nor under determined. After computing the transformation for the first triangle (in red), the transformation for the second triangle (in blue) is computed. Note that the triangles share two vertices. This is true for all adjacent triangles, including the next triangle below the blue one (not shown). Thus the affine transformations are such that pixels on the shared boundary are mapped to exactly the same point for both transformations, a key requirement for this first step.
The next step is a fine alignment. After the transformation above, the coarsely aligned scanned image is interpolated and a threshold is applied, yielding another binary image. However, the objects in these images may still not coincide. The images are partitioned in squares with sides of length ½ in, and a cross-correlation is performed to find how much these squares moved in the X and Y direction. Ideally, one would like to perform a two-dimensional cross-correlation, but complexity and speed considerations dictate that two one-dimensional cross-correlations are used instead, one in the vertical and one in horizontal direction. It may be noted that because the images are binary, cross-correlation can be implemented using XOR and Count-1s instructions, which is much faster and more economical than computing it in the real number domain.
The problem of actually detecting errors is much simpler after alignment. In Figure 3 we show a test defect inserted in the letter “o”. In Figure 4 we magnify this region and illustrate how the PVS compares the source mask and the scanned mask after the processing described above. Comparison masks are created by dilating the properly aligned scanned image and eroding the source image of the text (and vice-versa). When overlaid, dilated mask (magenta) on eroded mask (black), areas protruding from under the dilated mask represent printing defects, in this case a detected "missing black" defect (see arrow pointing to protruding area, shown in green), as shown in Figure 4.
Figure 3 : Performance of the Print Verification System is tested by inserting defects into the original text that is to be printed. The defect inserted into the small 6.5 point letter “o” is a seven pixel [0.012 inch] square (see arrow).
Figure 4 : The top image shows the enlarged text with the inserted defect. For testing, it is to be compared to the scanned image of a second page that is identical except for the absence of the inserted defect. Comparison masks are created by dilating the properly aligned scanned image and eroding the original image of the text. When overlaid, dilated mask (magenta) on eroded mask (black), areas protruding from under the dilated mask represent printing defects, in this case a detected "missing black" defect. (see arrow pointing to protruding area, shown in green).
The differences in the masks may represent defects in the printed copies or, at the very least, cosmetic differences that may or may not be tolerable. An example significant defect is a 0.013 inch square. Either of two types of significant defects, missing black or unexpected black, constitutes a printing error, and the page on which it is detected and its position on that page are recorded in an error log of defective pages. As previously stated, a substantial problem is that at dimensions approaching 0.013 inches the accuracy of alignment required to compensate for the poor dimensional stability of paper creates a need for very sophisticated alignment of scanned and source images.
Related Publications
G. Braudaway, F. Mintzer, J. Socolofsky and C. Wu. Application of Invisible Image Watermarks to Produce Remotely Printed, Duplication Resistant, and Demonstrably Authentic Documents. IS&T/SPIE’s Electronic Imaging Conference. January 2001.
G. Braudaway and F. Mintzer. Automatic Recovery of Invisible Image Watermarks from Geometrically Distorted Images. Journal of Electronic Imaging 9(4):477-483, October 2000.
G. Braudaway. Recovering Invisible Image Watermarks from Images Distorted by the “StirMark” Algorithm. SPIE PICS Conference. 1999.
G. Braudaway. Detection of very small print defects in real time for high-speed digital printing. Proceedings of SPIE-IS&T Electronic Imaging 6076, 2006.

