Method and apparatus for contextual data enhancement
First Claim
1. A method of enhancing intensity data for each of a plurality of data elements in an N×
- M matrix of data elements each including data representative of an intensity within a range of intensities and data representative of a feature flow direction or "no direction," comprising the steps of;
forming an I×
I intensity enhancement window of data elements within the N×
M matrix, with I<
N, I<
M, and having a center data element,determining the mean of the intensity values of the intensity data for the data elements within the scan window;
selecting a plurality of data elements within the intensity enhancement scan window defining a direction slit having the direction represented by the feature flow direction data of the center data element;
modifying the intensity value of the intensity data of the center data element according to the relationship of the intensity data of each data element in the direction slit to the mean, and the relationship of the direction represented by the direction data in each data element in the direction slit to the direction represented by the direction data of the center data element.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to contextual enhancement of data comprising a matrix of data elements wherein each matrix data location has contained therein data representative of certain characteristics, for example, in the case of image data, the intensity of the image within a range of intensities, or the direction of image contour flow lines at each particular data element within the matrix. A preferred embodiment of the invention described in the present application relates to the field of the enhancement of image data obtained from the scanning of a fingerprint image by a digital black and white camera. This results in a matrix of data elements each of which data elements in the matrix contains data representative of the intensity of the image at the particular matrix point, from a 0 black value to a maximum intensity white value. The variations in intensity therebetween are represented by shades of gray between black and white.
-
Citations
19 Claims
-
1. A method of enhancing intensity data for each of a plurality of data elements in an N×
- M matrix of data elements each including data representative of an intensity within a range of intensities and data representative of a feature flow direction or "no direction," comprising the steps of;
forming an I×
I intensity enhancement window of data elements within the N×
M matrix, with I<
N, I<
M, and having a center data element,determining the mean of the intensity values of the intensity data for the data elements within the scan window; selecting a plurality of data elements within the intensity enhancement scan window defining a direction slit having the direction represented by the feature flow direction data of the center data element; modifying the intensity value of the intensity data of the center data element according to the relationship of the intensity data of each data element in the direction slit to the mean, and the relationship of the direction represented by the direction data in each data element in the direction slit to the direction represented by the direction data of the center data element. - View Dependent Claims (2, 3, 14, 15, 16)
- M matrix of data elements each including data representative of an intensity within a range of intensities and data representative of a feature flow direction or "no direction," comprising the steps of;
-
4. The method of enhancing data contained in an N×
- M matrix of data elements each including data representative of a first parameter, comprising the steps of;
incrementing a first Q×
Q scan window, having a center data element with Q<
N, Q<
M, through the N×
M matrix and assigning a second parameter value to each center data element position of the Q×
Q scan window within the N×
M matrix based upon the contents of selected ones of the data elements in the Q×
Q scan window representative of the first parameter;subsequently incrementing a second Q'"'"'×
Q'"'"' scan window, having a center data element with Q<
N, Q<
M, through an N×
M matrix of data elements containing data representative of the second parameter, and assigning an enhanced second parameter value to each center data element position of the Q'"'"'×
Q'"'"' scan window within the N×
M matrix based upon the contents of selected ones of the data elements in the Q'"'"'×
Q'"'"' scan window representative of the second parameter;subsequently incrementing a Q"×
Q" scan window, having a center data element, with Q"<
N, Q"<
M, through the N×
M matrix and assigning an enhanced first parameter value to each center data element position of the Q"×
Q" scan window within the N×
M matrix based upon the contents of selected ones of the data elements in the Q"×
Q" scan window representative of at least one of the first parameter and the enhanced second parameter. - View Dependent Claims (5, 6)
- M matrix of data elements each including data representative of a first parameter, comprising the steps of;
-
7. The method of enhancing data contained in an N×
- M matrix of data elements each containing data representative of an intensity value within a range of intensity values, comprising the steps of;
incrementing a Q×
Q scan window, having a center data element, through the N×
M matrix and assigning to each center data element position of the Q×
Q scan window in the N×
M matrix an estimated direction based upon the direction of selected data elements within the Q×
Q scan window defining a slit in which the contrast in intensity values between data elements in the slit, spaced apart by a selected number of data elements, is least pronounced,subsequently incrementing a Q'"'"'×
Q'"'"' scan window, having a center data element, through the N×
M matrix and assigning an enhanced direction value to each center data element position of the Q'"'"'×
Q'"'"' scan window within the N×
M matrix, based upon the predominance of an estimated direction and its adjacent directions, or an estimated direction and its adjacent directions and "no direction," or an average of a first estimated direction and a second estimated direction based upon the predominance of the first direction and the second direction, or the first direction, the second direction and "no direction";subsequently incrementing a Q"×
Q" scan window, having a center data element, through the N×
M matrix and assigning an enhanced intensity value to each center data element position of the Q"×
Q" scan window within the N×
M matrix based upon the relationship of the intensity value of each data element within the Q"×
Q" scan window defining a direction slit having the direction of the enhanced direction of the center data element, and the mean of the intensity values of all data elements in the Q"×
Q" scan window, and based upon the relationship of the enhanced direction data of the center data element and the enhanced direction data in each data element within the direction slit.
- M matrix of data elements each containing data representative of an intensity value within a range of intensity values, comprising the steps of;
-
8. A data enhancement apparatus for performing the comparison between the data in a center data element of an S×
- S scan window, being incremented through an N×
M matrix of data elements, with s being an odd number, and the data elements defining a slit, from among a plurality of slits generally equally spaced through the S×
S window and passing through the center data element, and enhancing the data in the center data element according to the comparison comprising;scanning and delay circuit means for selecting an abbreviated scan window having a plurality of selected data elements in a selected pattern within a J×
J matrix in the leading corner of the S×
S scan window with ##EQU2## control means connected to the scanning and delay circuit means for reading the direction data in the incoming data element incremented into the abbreviated scan window and storing that direction data for J-2 incrementation periods, and for controlling the selection of one of the data elements within the abbreviated scan window for each of a plurality of center data element positions within the leading row of the abbreviated scan window, and one of the data elements within the abbreviated scan window for each of the plurality of center data element positions within the trailing row of the abbreviated scan window, according to the direction data in the respective center data element position, such that after a number of incrementation periods, equal to the number of data elements in the slit within the S×
S scan window on one side of the center data element, each of the data elements on one side of the slit having the direction of a respective one of the center data element positions is selected for the center data element positions in the leading row of the abbreviated scan window, and each of the data elements on the other side of the slit having the direction of the respective center data element position is selected for the center data element positions in the trailing row of the abbreviated scan window;comparator and logic means for comparing the data in the selected data element within the abbreviated scan window to the data in the respective center data element position in the leading row or the trailing row of the abbreviated scan window to form a correction factor based upon the comparison; correction factor summing means for summing the output of the comparator means for each respective center data element position, to form a correction factor for each respective center data element position; data enhancement means for applying the correction factor to the data in the respective center data element position.
- S scan window, being incremented through an N×
-
9. A data enhancing filter for enhancing data contained in an N×
- M matrix of data elements, each containing data representative of a first parameter, comprising;
first scanning and incrementing means for incrementing a first Q×
Q scan window, having a center data element, with Q<
N, Q<
M, through the N×
M matrix;second parameter assignment means for assigning a second parameter to each center data element of the first Q×
Q scan window within the N×
M matrix based upon the contents of selected ones of the data elements in the Q×
Q scan window representative of the first parameter;second scanning and incrementing means for incrementing a second Q'"'"'×
Q'"'"' scan window having a center data element, with Q'"'"'<
N, Q'"'"'<
M, throughan N×
M matrix of data elements containing data representative of the second parameter;second parameter enhancement means for enhancing the data representative of the second parameter for each center data element position of the second Q'"'"'×
Q'"'"' scan window based upon the contents of selected ones of the data elements in the second Q'"'"'×
Q'"'"' scan window representative of the second parameter;third scanning and incrementing means for incrementing a third Q"×
Q" scan window, having a center data element, with Q"<
N, Q"<
M, through an N×
M matrix of data elements having data representative of the first parameter and the enhanced second parameter;first parameter enhancement means for enhancing the data representative of the first parameter for each center data element of the third Q"×
Q" scan window within the N×
M matrix based upon the contents of selected ones of the data elements within the Q"×
Q" scan window representative of the first parameter and the enhanced second parameter. - View Dependent Claims (10, 11)
- M matrix of data elements, each containing data representative of a first parameter, comprising;
-
12. A data enhancement filter for enhancing data contained in the data elements of an N×
- M matrix of data elements representative of an intensity value within a range of intensity values, comprising;
first scanning and incrementing means for incrementing a first Q×
Q scan window, having a center data element, with Q<
N, Q<
M, through the N×
M matrix of data elements;direction estimate means for assigning a direction estimate to each center data element position of the first Q×
Q scan window within the N×
M matrix, based upon the direction of selected data elements defining a slit in which the contrast in intensity values between data elements in the slit, spaced apart by a selected number of data elements in the slit, is least pronounced;second scanning and incrementing means for incrementing a second Q'"'"'×
Q'"'"' scan window, having a center data element, with Q'"'"'<
N, Q'"'"'<
M, through an N×
M matrix of data elements having data representative of an assigned direction from one of a plurality of possible assigned directions, including "no direction";direction enhancement means for enhancing the data representative of the assigned direction for each center data element position of the second Q'"'"'×
Q'"'"' scan window within the N×
M matrix of data elements, based upon the preponderance of data elements having an estimated direction and having directions adjacent that direction, or the preponderance of data elements of an estimated direction and having "no direction," or upon the average of a first and second direction, based upon the preponderance of data elements having the first direction and the second direction, or the first direction, the second direction and no direction;third scanning and incrementing means for incrementing a third Q"×
Q" scan window, having a center data element, with Q"<
N, Q"<
M, through an N×
M matrix of data elements having data representative of intensity and enhanced direction;intensity enhancement means for enhancing the data in each center data element position of the third Q"×
Q" scan window representative of intensity, based upon the relationship of the intensity value of each data element within the third Q"×
Q" scan window defining a direction slit having the direction of the enhanced direction of the center data element, to the mean of the intensity values for all of the data elements in the third Q"×
Q" scan window, and based upon the relationship of the enhanced direction data of the center data element and the enhanced direction data of each data element in the direction slit.
- M matrix of data elements representative of an intensity value within a range of intensity values, comprising;
-
13. The method of classifying and identifying fingerprints comprising the steps of:
enhancing data contained in an N×
M matrix of data elements each containing data representative of an intensity value within a range of intensity values, each data element representing an image pixel received from a digitized camera image of a fingerprint, by performing an enhancing step comprising the steps of;incrementing a Q×
Q scan window, having a center data element, through the N×
M matrix and assigning to each center data element position of Q×
Q scan window in the N×
M matrix an estimated direction based upon the direction of selected data elements within the Q×
Q scan window defining a slit in which the contrast in intensity values between data elements in the slit, spaced apart by a selected number of data elements, is least pronounced,subsequently incrementing a Q'"'"'×
Q'"'"' scan window, having a center data element, through the N×
M matrix and assigning an enhanced direction value to each center data element position of the Q'"'"'×
Q'"'"' scan window within the N×
M matrix, based upon the predominance of an estimated direction and its adjacent directions, or an estimated direction and its adjacent directions and "no direction," or an average of a first estimated direction and a second estimated direction based upon the predominance of the first direction and the second direction, or the first direction, the second direction and "no direction";subsequently incrementing a Q"×
Q" scan window, having a center data element, through the N×
M matrix and assigning an enhanced intensity value to each center data element position of the Q"×
Q" scan window within the N×
M matrix based upon the relationship of the intensity value of each data element within the Q"×
Q" scan window defining a direction slit having the direction of the enhanced direction of the center data element, and the mean of the intensity values of all data elements in the Q"×
Q" scan window, and based upon the relationship of the enhanced direction data of the center data element and the enhanced direction data in each data element within the direction slit;generating a binary image of the fingerprint from the enhanced intensity value for each data element in the matrix, by assigning a 1 or a 0 to each matrix location based upon the enhanced intensity value for each data element in the matrix; determining the classification of the fingerprint and the location of fingerprint minutia based upon either or both of the enhanced direction value and the binary intensity value for each data element in the matrix.
-
17. An apparatus for enhancing data representative of intensity in each data element an N×
- M matrix of data elements, each having data representative of intensity and data representative of a direction from a plurality of directions, comprising;
scan window incrementation means, operating in syncronization with a system clock, for incrementing through the N×
M matrix of data elements a folded scan window comprising a selected pattern of data element positions within a portion of the N×
M matrix and having a leading row and a trailing row;selection means for selecting from within the folded scan window positions, during each clock period, a plurality of data elements, each selected to be located, respectively, in a slit defined by the direction data in one of a plurality of different data element locations within the N×
M matrix in the leading row or in the trailing row of the folded scan window;logic means for computing a plurality of partial correction factors each based upon the comparison of the direction and intensity data for a respective one of the selected data elements in the folded scan window and its respective center data element; accumulator means for accumulating for a plurality of clock periods the partial correction factor associated with each respective center data element location in the leading row and for each respective center data element location in the trailing row; partial accumulated correction factor storage and accumulation means for storing a first output of the accumulator means representing the accumulation of the partial correction factors for a center data element location in the N×
M matrix positioned in the leading row, until a second output of the accumulator means is the accumulation of the partial corection factors for the same center data element in the N×
M matrix positioned in the trailing row, and for combining the two accumulated partial correction factors to form an intensity enhancement correction value;correction means for applying the intensity enhancement correction value to the intensity data for the center data element location in the N×
M matrix, to enhance the intensity data of the center data element location. - View Dependent Claims (18, 19)
- M matrix of data elements, each having data representative of intensity and data representative of a direction from a plurality of directions, comprising;
Specification