# Patent

## Title
System for determining image resolution using MICR characters

## Abstract

A system for determining the image resolution of a check image using MICR characters. The disclosed system includes an extracting system for extracting a magnetic ink code recognition (MICR) code line from the document image, wherein the extracting system provides coordinate values for each of a plurality of MICR characters in the MICR code line; a calculating system for calculating a set of resolution values based on the coordinate values of the MICR characters; and a statistical analysis system that calculates a representative resolution value from the set of resolution values.

## Background
This is a continuation application of U.S. patent application Ser. No. 11/001,931, SYSTEM AND METHOD FOR DETERMINING IMAGE RESOLUTION USING MICR CHARACTERS, filed on Dec. 2, 2004 now U.S. Pat. No. 7,386,160, the contents of which is hereby incorporated by reference.


BACKGROUND OF THE INVENTION
1. Technical Field
The present invention relates generally to image processing, and relates more specifically to a system and method for determining image resolution using MICR (magnetic ink code recognition) characters.
2. Related Art
The finance industry has adopted electronic images of checks as a key component of check processing. The recent passage of the Check 21 Act, which allows institutions to process check images, as opposed to the actual paper document, further attests to the progressively increasing use of such images. As such, the ability to efficiently process high volumes of check images is a critical requirement for such institutions.
To enable the use of several image processing technologies, such as OCR (optical character resolution), etc., the imaging resolution of the imaged document is required. In general, image resolution is a measurement of pixels/inch. Occasionally, at the time of capture, the imaging resolution is either not recorded in the image header or is recorded incorrectly. Without the resolution, the document cannot be processed. Thus, it becomes necessary that the imaging resolution be established by some independent means.
To date, no one has addressed this problem. Accordingly, a need exists for a process that can determine the imaging resolution of an imaged document, such as a check.
SUMMARY OF THE INVENTION
The present invention addresses the above-mentioned problems, as well as others by providing a system and method for determining image resolution using the MICR characters printed on the imaged document. In a first aspect, the invention provides a system for determining an image resolution of a document image, comprising: an extracting system for extracting a magnetic ink code recognition (MICR) code line from the document image, wherein the extracting system provides coordinate values for each of a plurality of MICR characters in the MICR code line; a calculating system for calculating a set of resolution values based on the coordinate values of the MICR characters; and a statistical analysis system that calculates a representative resolution value from the set of resolution values.
In a second aspect, the invention provides a program product stored on a computer readable medium for determining an image resolution of a document image, comprising: program code configured for extracting a magnetic ink code recognition (MICR) code line from the document image; program code configured for providing coordinate values for each of a plurality of MICR characters in the MICR code line; program code configured for calculating a set of resolution values based on the coordinate values of the MICR characters; and program code configured for calculating a final resolution value from the set of resolution values.
In a third aspect, the invention provides a computerized method for determining an image resolution of a document image, comprising: extracting a magnetic ink code recognition (MICR) code line from the document image; determining coordinate values for each of a plurality of MICR characters in the MICR code line; calculating a set of resolution values based on the coordinate values of the MICR characters; and calculating a final resolution value from the set of resolution values.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings in which:
FIG. 1 depicts a diagram of a system for determining image resolution in accordance with present invention.
FIG. 2 depicts a table displaying coordinate and resolution values of a first image in accordance with present invention.
FIG. 3 depicts a graph of the X coordinate resolution values of the first image.
FIG. 4 depicts a graph of the Y coordinate resolution values of the first image.
FIG. 5 depicts a table displaying coordinate and resolution values of a second image in accordance with present invention.
FIG. 6 depicts a graph of the X coordinate resolution values of the second image.
FIG. 7 depicts a graph of the Y coordinate resolution values of the second image.



The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.
DETAILED DESCRIPTION OF THE INVENTION
Referring now to the drawings, FIG. 1 depicts an illustrative computer system 10 that inputs a check image 14 and outputs a resolution 30 of the check image 14. Check image 14 may comprise a bitonal, e.g., black white, image, or a grayscale image. Computer system 10 generally includes a processor 17, input/output (I/O) 16, and memory 12. Stored in memory 12, e.g., as a program product, is a system 18 for determining image resolution. As described in further detail below, the system 18 for determining image resolution determines the resolution 30 of the check image 14 by examining the MICR (magnetic ink character recognition) code line 15 on the check. Once the resolution 30 is calculated, the information can be fed into an image processing system (e.g., optical character recognition, storage, etc.), where the check image 14 can be further processed.
As is known in the art, a MICR code line 15 complying with the E13B standard is printed on every check. The E13B standard dictates the spacing and height of the characters in the code line. Namely, the standard dictates a right justified spacing between characters of 0.125 inches and a character height of 0.117 inches. Accordingly, by analyzing the corresponding image pixels of the MICR code line 15 in the check image 14, the image resolution (i.e., pixels/inch or dots per inch “dpi”) of the check image 14 can be readily calculated in both horizontal (X) and vertical (Y) directions. Note that while the invention is described with reference to determining a resolution of a check image 14 by analyzing the MICR code line 15, the invention could be used to determine a resolution of any imaged document that contains MICR characters or the like that have known spatial characteristics (e.g., E13B).
In the illustrative embodiment of FIG. 1, the system 18 for determining image resolution includes a system 20 for extracting MICR code line data, a resolution calculations system 22, a statistical analysis system 24, and a tolerance system 26. The system 20 for extracting MICR code line data can use any known means for locating the MICR code line 15 on the check image 14, and extracting the MICR characters and their coordinates from the check image 14. For example, connected component analysis, which is a well know technique for locating chunks of connected pixel data on a black white image, may be utilized.
Data from an illustrative check image 14 is shown in FIG. 2, which includes a table that shows the MICR characters 34 appearing on the check, MICR character coordinates 36 within the check, and resulting resolution values 38 for the MICR code line 15. In this case, the MICR code line data 15 is made up of 32 MICR characters as shown in the first two columns, and the MICR character coordinates 36, which comprise a top left X coordinate, a top left Y coordinate, a bottom right X coordinate, and a bottom right Y coordinate.
The horizontal distance or “pitch” between each character in the check image 14 is calculated as the difference between bottom right X coordinate of adjacent characters, i.e., the control spacing per ANSI specification. This value is determined as follows:

BottomRx(n+1)−BottomRx(n),

where n is nth character in the printed sequence of characters in the MICR code line 15. The height of each character can for example be calculated as the vertical difference between the bottom right Y coordinate and the top left Y coordinate for the character, i.e.,

BottomRy(n)−TopLy(n).

Given the ability to determine these measurements, a set of resolution values 38 can be determined comprised of the resolution data, Diff Rx and Diff Ry, where

DiffRx=(BottomRx(n+1)−BottomRx(n))*8,

which represents the distance between bottom right coordinates of successive characters multiplied by 1/0.125 (i.e., 8). Accordingly, Diff Rx represents eight times the number of calculated pixels in 0.125 inches of length, or the pixels per inch in the horizontal direction, i.e., the X direction image resolution of two successive characters.

DiffRy=(BottomRy(n)−TopLy(n))*8.55,

which represents the height of a given character n multiplied by 1/0.117 (i.e., 8.55). Diff Ry represents 8.55 times the number of calculated pixels in 0.117 inches of height, or the pixels per inch in the vertical direction, i.e., the Y direction image resolution for each character.

Once the resolution values 38 (Diff Rx and Diff Ry) are made, statistical analysis system 24 may be utilized to eliminate any bad data points and determine a representative value for both Diff Rx and Diff Ry. Because the fields of a MICR code line can be printed at different times and be spaced from each other is a non-regimented fashion, statistical anomalies may be introduced among the resolution values 38, particularly for the Diff Rx values, which relate to the horizontal pitch. For example, as shown in FIG. 3, a number of bad data points (i.e., spikes) are apparent when the Diff Rx values are plotted for each character pair. Statistical analysis system 24 is utilized to eliminate such anomalies.
One illustrative method for achieving this involves determining a median value of the resolution values 38. A median value is determined, e.g., by ordering all of the resolution values 38 in descending order and then identifying the center of the population. For the Diff Rx example shown in FIGS. 2 and 3, this would result in an ordering of (792, 720, 472, 472, 248, 248, 248, 240, 240, 240, 240, 240, 240, 240, . . . 232, 232, 232, 232), with center of the population being 240. Thus, the bad data points 792, 720, 472, 472, which likely relate to the distances between printed fields in the MICR code line, have been essentially eliminated using this analysis.
Once a representative value for both the Diff Rx and Diff Ry are established, tolerance system 26 can be implemented to identify a resolution 30 by matching the representative values to known industry standard resolution operating points. As is known in the art of check imaging, there exist a number of practiced operating points used for resolution, e.g., 200 and 240 are common operating points for black white images. In the plot shown in FIG. 3, the representative value, in this case 240, is matched against the set of possible resolution operating points (+/−a tolerance, e.g., 15) to determine a matching operating point. Tolerance system 26, which sets the tolerance value, is used to accommodate for scanning inaccuracies, bitonal conversion inaccuracies, etc. In this case, assuming two possible operating points of 200 and 240, and a tolerance of +/−15, the representative value of 240 would be matched against both a first tolerance range of 185-215 (for operating point 200) and a second tolerance range of 225-255 (for operating point 240). In this example, because the representative value falls within the second tolerance range, the X direction resolution would be 240 dpi.
Similarly, as shown in FIG. 4, Diff Ry is plotted for each character. A representative (e.g., median) value of 247.95 is determined, which would match the tolerance range of 225-255, resulting in a calculated resolution of 240. Thus, for the example shown in FIGS. 2-4, it can be deduced the resolution is 240 for both the X and Y directions. The calculated resolution values for one or both of the X and Y directions may be outputted as the final resolution 30.
FIGS. 5-7 show a second example where the representative values of Diff Rx and Diff Ry are 200 and 205.2 respectively. In this case, it can be readily deduced that the matching operating point would be 200 in both directions, thus resulting in a calculated resolution of 200 dpi.
It should also be understood that computer system 10 may comprise any type of computer, e.g., workstation, laptop, handheld device, PDA, cell phone, smart appliance, etc. The processor 17 may comprise a single processing unit, or may be distributed across one or more processing units in one or more locations. Memory 12 may comprise any known type of data storage and/or transmission media, including magnetic media, optical media, random access memory (RAM), read-only memory (ROM), etc. Moreover, similar to the processor, the memory 12 may reside at a single physical location, comprising one or more types of data storage, or be distributed across a plurality of physical systems in various forms.
I/O 16 may comprise any system for exchanging information to/from an external source. External devices/resources may comprise any known type of external device, including a scanner, a CRT, LED screen, handheld device, keyboard, mouse, voice recognition system, speech output system, printer, monitor/display, facsimile, pager, etc. A bus provides a communication link between each of the components in computer system 10, and likewise may comprise any known type of transmission link, including electrical, optical, wireless, etc. In addition, although not shown, other components, such as cache memory, communication systems, system software, etc., may be incorporated into computer system 10.
The system 18 for determining image resolution may be stored in the computer system memory 12, such that the functional components are provided as a computer program product. It should be appreciated that the teachings of the present invention can be offered as a business method on a subscription or fee basis. For example, system 18 for determining image resolution could be created, maintained, supported, and/or deployed by a service provider that offers the functions described herein for customers.
It should also be understood that the present invention can be realized in hardware, software, a propagated signal, or any combination thereof. Any kind of computer/server system(s)—or other apparatus adapted for carrying out the methods described herein—is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when loaded and executed, carries out the respective methods described herein. Alternatively, a specific use computer, containing specialized hardware for carrying out one or more of the functional tasks of the invention, could be utilized. The present invention can also comprise a computer-readable medium for storing a computer program product or a propagated signal, which comprises all the respective features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods. Computer program, propagated signal, software program, program, or software, in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form.
The foregoing description of the preferred embodiments of this invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. For example, the invention could be implemented by determining either or both the horizontal and vertical resolution. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of this invention as defined by the accompanying claims.

## Claims

1. A system for determining an image resolution of a document image, comprising:
at least one computer system, including:
an extracting system for extracting a magnetic ink code recognition (MICR) code line from the document image, wherein the extracting system provides coordinate values for each of a plurality of MICR characters in the MICR code line;
a calculating system for calculating a set of resolution values based on the coordinate values of the MICR characters and a known spatial characteristic of a MICR character set; and
a statistical analysis system that calculates a representative resolution value from the set of resolution values, wherein the representative resolution value is given as a number of pixels per unit length.

2. The system of claim 1, wherein the extracting system utilizes connected component analysis.

3. The system of claim 1, wherein the coordinate values include horizontal and vertical data.

4. The system of claim 1, wherein the calculating system determines a horizontal resolution value for sequential MICR characters in accordance with the equation:


(BottomRx(n+1)−BottomRx(n))*8,


where BottomRx(n) is a bottom right horizontal direction coordinate of an nth character.

5. The system of claim 1, wherein the calculating system determines a vertical resolution value for each MICR character in accordance with the equation:


(BottomRy(n)−TopLy(n))*8.55,


where BottomRy(n) is the bottom right vertical direction coordinate of the nth character and TopLy(n) is a top left vertical direction coordinate of an nth character.

6. The system of claim 1, wherein the representative resolution value comprises a median value calculated from the set of resolution values.

7. The system of claim 6, further comprising a tolerance system that matches the representative resolution value against a set of known resolution operating points to determine a final resolution value.

8. A tangible computer readable storage medium storing program code for determining an image resolution of a document image, comprising:
program code configured for extracting a magnetic ink code recognition (MICR) code line from the document image;
program code configured for providing coordinate values for each of a plurality of MICR characters in the MICR code line;
program code configured for calculating a set of resolution values based on the coordinate values of the MICR characters and a known spatial characteristic of a MICR character set; and
program code configured for calculating a final resolution value from the set of resolution values, wherein the final resolution value is given as a number of pixels per unit length.

9. The tangible computer readable storage medium of claim 8, wherein program code configured for extracting the MICR code line utilizes connected component analysis.

10. The tangible computer readable storage medium of claim 8, wherein the coordinate values include horizontal and vertical data.

11. The tangible computer readable storage medium of claim 8, wherein the program code configured for calculating the set of resolution values determines a horizontal resolution value for sequential MICR characters in accordance with the equation:


(BottomRx(n+1)−BottomRx(n))*8,


where BottomRx(n) is a bottom right horizontal direction coordinate of an nth character.

12. The tangible computer readable storage medium of claim 8, wherein the program code configured for calculating the set of resolution values determines a vertical resolution value for each MICR character in accordance with the equation:


(BottomRy(n)−TopLy(n))*8.55,


where BottomRy(n) is the bottom right vertical direction coordinate of the nth character and TopLy(n) is a top left vertical direction coordinate of an nth character.

13. The tangible computer readable storage medium of claim 8, wherein program code configured for calculating a final resolution value matches a median value from the set of resolution values with a set of known resolution operating points to determine the final resolution value.

14. The tangible computer readable storage medium of claim 13, further comprising program code configured for incorporating a tolerance value into the matching process.