« PreviousContinue »
SYSTEMS AND METHODS FOR DESIGNING
IMAGE PROCESSING FILTERS USING
BACKGROUND OF THE INVENTION 5
1. Field of Invention
This invention relates to systems and methods for processing images using niters. More specifically, this invention relates to systems and methods for designing image pro- 10 cessing filters using templates with optimality criterion based on aspects of human visual perception.
2. Description of Related Art
A wide variety of digital document processing tasks are performed using template-based filters. Illustratively, digital :5 document processing tasks include resolution conversion, enhancement, restoration, appearance tuning and de-screening of images. These tasks are commonly performed on monochrome and color images, as well as binary and continuous tone images. A continuous tone image may 20 also be referred to as a grayscale image.
In conventional systems and methods, a typical filter includes template operators to perform filtering of the images. That is, a filter may be characterized as an operator or device that transforms one image into another image. The 25 filter is formed of a number of imaging template operators or templates. These templates may be, for example, stored in a look-up table. The number of templates in a filter may vary between a small number of templates to thousands of templates. Accordingly, a look-up table is typically used to 30 implement a filter.
A raster is a one-dimensional array of image data, reflecting a single line of data across a single dimension, i.e., the length or the width, of the image. Further, each location in 3J an image may be called a pixel. In an array defining an image in which each item of data provides a value, each value indicating the properties of a location may be called a pixel value. Each pixel value is a bit in a binary form of an image, a grayscale value in a grayscale form of an image, or 4Q a set of color spaced coordinates in a color coordinate form of an image. The binary form, grayscale form, and color coordinate form are each arranged in a two-dimensional array, which defines an image.
The filter, using the templates, transforms certain 45 observed pixel patterns in a binary image, for example, into a corresponding enhanced binary pixel pattern, for example. Specifically, the filter observes an arrangement of pixels using a suitable window or mask. A window is an imaging component that observes a plurality of pixels at the same 50 time and inputs properties of the observed pixels. After observing the arrangement of pixels, the filter then attempts to match the observed pixel pattern with one of the templates in the look-up table. If the look-up table contains a match to the observed pixel pattern, the look-up table generates an 55 appropriate output. The output may be an enhanced pixel pattern that corresponds to the observed pixel pattern.
A wide variety of types and sizes of observation windows or masks are known. The particular window used in a particular application depends on the image to be analyzed 60 and the particular process to be performed on the image. Illustratively, a 3x3 window may be used to process an image. The 3x3 window, at various locations in the image, observes a 3x3 block, i.e., a 9-pixel block, of binary-valued pixels, for example. One pixel in the window is the target 65 pixel, which is typically the center pixel, while the other pixels in the window are the neighboring pixels. The target
pixel and the neighboring pixels result in a neighborhood. The window is typically scanned across an image advancing from target pixel to target pixel.
After the neighborhood is observed in the window, the neighborhood is then processed in some manner. For example, the observed neighborhood may be transformed into a vector. The vector is expressed in the form of (A1; A2 . . . A„) and is used to represent the properties of the target pixel, including the neighborhood of the target pixel. Each element of the vector represents one of the pixels observed in the window. The vector is then used in the look-up table to generate a desired output, for example.
A look-up table may be created in a wide variety of ways. Typically, an input value is input into the look-up table and, in response, the look-up table outputs an output value. Further, the look-up table is typically created using a training image or a set of training images. Restoration and Enhancement of Digital Documents, by R. Loce and E. Dougherty, teaches a variety of methods for designing templates based on sets of training images. The training image will occur in pairs, where one member is the "typically input image," or the "typically observed image," i.e., the "observed image," and the other image is the "ideal desired processed version of the image," i.e., the "ideal image." The training image pairs may be input into a computer program that acquires and analyzes pattern statistics between the two images, i.e., using computer-aided filter design techniques.
Conventional computer-aided filter design may be accomplished through using training-sets of document bitmaps, for example. A bitmap is a binary digital image whose pixels possess values of 0 or 1. Alternatively, conventional computer-aided filter design may be accomplished through the use of training-sets of a binary half-toned image and a grayscale image. Specifically, one member of a set of training images is a binary half-toned image, and the other member is the original grayscale, i.e., the original image used to generate the binary halftoned image. In this case, the "typically observed image" is the halftone image, and the ideal output of a de-screening filter would be the original gray-scale image.
Illustratively, for a given pattern that occurs in the binary image about a target pixel, a training analysis systelm examines a target pixel at that corresponding location in the gray-scale image. The center of the window may be placed at the target pixel, for example. Based on the set of grayscale pixels associated with corresponding target pixel in the grayscale image, a "best grayscale pixel value" is determined for the target pixel. In other words, a template is created for the target pixel in the binary image. This analysis is performed for all binary patterns that are significant.
In this process of template selection, significance may be due to either the pixel pattern's frequency of occurrence, the pattern's effect on the generated image, or both. Accordingly, if a template, i.e., a pattern of pixels in the binary image, is observed and considered significant, the observed target pixel value will be assigned or associated with a certain value, i.e., a corresponding grayscale value. Both the observed value and the corresponding grayscale value are stored in the look-up table. Accordingly, the look-up table accepts an input value and outputs a desired corresponding output value, i.e., maps an input value to a desired corresponding output value.
However, it should be apparent that this input/output process may be performed in various other ways without using a look-up table. One alternative approach that is equivalent to using a look-up table representation is a