Abstract:
A method and device for removing common artifacts, such as stiction, from fingerprint scans created by partial fingerprint scanners. The partial fingerprint scanner data is assessed to determine if successive partial fingerprint images are overly similar to each other, which can occur during stiction. If this similarity exceeds a preset threshold, then at least some of the overly similar partial images will be removed (redacted) from the overall image dataset. The complete overall image is generated from the redacted data set. This method is particularly useful for creating “intelligent” low-cost, low power partial fingerprint scanners and scanner driver chips that can pre-process the partial fingerprint data that is generated during the course of a finger swipe, and remove stiction artifacts on a real-time or near-real time basis using relatively simple and low power on-chip processing circuits, and then send the corrected data to more sophisticated processors for subsequent fingerprint analysis.

Description:
BACKGROUND 
     Partial fingerprint scanners are becoming popular for a wide variety of security applications. In contrast to “all at once” fingerprint scanners, which capture an image of an entire fingerprint at the same time, partial fingerprint sensing devices use a sensing area that is smaller than the fingerprint area to be imaged. By imaging only a portion of a fingerprint at any given time, the size and cost of a partial fingerprint sensor can be made considerably smaller and cheaper than that of a full fingerprint sensor. However to capture a full fingerprint image, the user must move his finger and “swipe” it across the sensing zone of the partial finger print sensor. 
     Various types of partial fingerprint readers exist. Some work by optical means, some by pressure sensor means, and others by capacitance sensing means or radiofrequency sensing means. 
     For example, one common configuration used for a fingerprint sensor is a one or two dimensional array of CCD (charge coupled devices) or C-MOS circuit sensor elements (pixels). These components are embedded in a sensing surface to form a matrix of pressure sensing elements that generate signals in response to pressure applied to the surface by a finger. These signals are read by a processor and used to reconstruct the fingerprint of a user and to verify identification. 
     Other devices include one or two dimensional arrays of optical sensors that read light reflected off of a person&#39;s finger and onto an array of optical detectors. The reflected light is converted to a signal that defines the fingerprint of the finger analyzed and is used to reconstruct the fingerprint and to verify identification. 
     Many types of partial fingerprint scanners are comprised of linear (1 dimensional) arrays of sensing elements (pixels). These one dimensional sensors create a two dimensional image of a fingerprint through the relative motion of the finger pad relative to the sensor array. 
     One class of partial fingerprint sensors that are particularly useful for small device applications are deep finger penetrating radio frequency (RF) based sensors. These are described in U.S. Pat. Nos. 7,099,496; 7,146,024; and patent application Ser. Nos. 11/107,682; 11/112,338; 11,243,100; 11/184,464, and the contents of these patents and patent applications are incorporated herein by reference. These types of sensors are commercially produced by Validity Sensors, Inc, San Jose Calif. This class of sensor mounts the sensing elements (usually arranged in a one dimensional array) on a thin, flexible, and environmentally robust support, and the IC used to drive the sensor in a protected location some distance away from the sensing zone. Such sensors are particularly advantageous in applications where small sensor size and sensor robustness are critical. 
     The Validity fingerprint sensors measure the intensity of electric fields conducted by finger ridges and valleys, such as deep finger penetrating radio frequency (RF) based sensing technology, and use this information to sense and create the fingerprint image. These devices create sensing elements by creating a linear array composed of many miniature excitation electrodes, spaced at a high density, such as a density of approximately 500 electrodes per inch. The tips of these electrodes are separated from a single sensing electrode by a small sensor gap. The electrodes are electrically excited in a progressive scan pattern and the ridges and valleys of a finger pad alter the electrical properties (usually the capacitive properties) of the excitation electrode—sensing electrode interaction, and this in turn creates a detectable electrical signal. The electrodes and sensors are mounted on thin flexible printed circuit support, and these electrodes and sensors are usually excited and the sensor read by an integrated circuit chip (scanner chip, driver chip, scan IC) designed for this purpose. The end result is to create a one dimensional “image” of the portion of the finger pad immediately over the electrode array and sensor junction. 
     As the finger surface is moved across the sensor, portions of the fingerprint are sensed and captured by the device&#39;s one dimensional scanner, creating an array of one dimensional images indexed by order of data acquisition, and/or alternatively annotated with additional time and/or finger pad location information. Circuitry, such as a computer processor or microprocessor, then creates a full two-dimensional fingerprint image by creating a mosaic of these one dimensional partial fingerprint images. 
     Often the processor will then compare this recreated two dimensional full fingerprint, usually stored in working memory, with an authorized fingerprint stored in a fingerprint recognition memory, and determine if there is a match or not. Software to fingerprint matching is disclosed in U.S. Pat. Nos. 7,020,591 and 7,194,392 by Wei et. al., and is commercially available from sources such as Cogent systems, Inc., South Pasadena, Calif. 
     If the scanned fingerprint matches the record of an authorized user, the processor then usually unlocks a secure area or computer system and allows the user access. This enables various types of sensitive areas and information (financial data, security codes, etc.), to be protected from unauthorized users, yet still be easily accessible to authorized users. 
     The main drawback of partial fingerprint sensors is that in order to obtain a valid fingerprint scan, the user must swipe his or her finger across the sensor surface in a relatively uniform manner. Unfortunately, due to various human factors issues, this usually isn&#39;t possible. In the real world, users will not swipe their fingers with a constant speed. Some will swipe more quickly than others, some may swipe at non-uniform speeds, and some may stop partially through a scan, and then resume. In order to account for this type of variation, modern partial fingerprint sensors often incorporate finger position sensors to determine, relative to the fingerprint sensor, how the overall finger position and speed varies during a finger swipe. 
     One type of finger position indicator, represented by U.S. Pat. No. 7,146,024, and application Ser. Nos. 11/112,338 and 11/107,682 (the contents of which are incorporated herein by reference) detects relative finger position using a long array of electrical drive plate sensors. These plates sense the bulk of a finger (rather than the fine details of the fingerprint ridges), and thus sense the relative position of the finger relative to the linear array used for fingerprint sensing. A second type of fingerprint position indicator, represented by U.S. patent Ser. No. 11/184,464 (the contents of which are incorporated herein by reference), uses two linear partial fingerprint sensors, located about 400 microns apart. The two linear sensors use the slight timing differences that occur when a fingerprint swipe first hits one sensor and then the other sensor to detect when a fingerprint edge passes over the sensors. This technique can also detect relative speed of passage over the two partial sensors. This type of information can be used to deduce overall finger location during the course of a fingerprint swipe. 
     In either case, once finger position is known, each of the one-dimensional partial fingerprint images can then be annotated with additional (and optional) time data (time stamp) or finger (finger tip, finger pad, fingerprint location) location data (location stamp). This optional annotation information, which supplements the “order of data acquisition” that would normally be used to keep track of the multiple stored partial fingerprint images in memory, can be used to help to correct distortions (artifacts) when the various one dimensional partial images are assembled into a full two dimensional fingerprint image. 
     For example, if the user momentarily stops moving the finger during the finger swipe, the system will generate a series of nearly identical partial (one dimensional) fingerprint images. These images will have different orders of acquisition, and differing time stamps, which could confuse a processor when it attempts to create a correct two dimensional full fingerprint image. However if the fingerprint scanner also has a finger position sensor, the finger location data stamp associated with these nearly identical one dimensional partial fingerprint images will provide evidence that the finger stopped because the finger location data linked to these various one-dimensional partial fingerprint images will be almost the same. The computer processor that reassembles the partial fingerprint images into the complete fingerprint image can be instructed or programmed to also analyze the finger position (location) data, and perform appropriate image corrections when the location data shows that the finger paused during a scan. 
     Fingers and fingertips are not totally rigid, however. Finger prints rest on a surface layer of skin, which in turn rests over a bed of non-rigid tissue, which in turn rests on bone. Finger tips are thus flexible and deformable, and also slightly sticky due to the innate property of skin, sweat glands, and the high surface area imparted by fingerprint ridges. Thus when a fingertip slides over a surface, there is a tendency for portions of the fingertip pad to momentarily adhere to the surface, while the top of the fingertip continues its motion. This is called “stiction”. Eventually (usually within a fraction of a second), further motion of the finger tip and bone creates enough force to disrupt the momentary adhesion (stiction) between the finger pad skin and the surface, and the motion of the finger pad skin continues. However if, during this brief period of arrest (stiction), the fingertip skin is arrested over a partial fingerprint scanner, a short series of nearly identical repeated partial fingerprint images will be collected. These nearly identical images will have different order of acquisition indexes, and different time stamps. Because the tip of the finger may have continued in motion while the skin was arrested over the sensor, the nearly identical images may also have different finger position (location) stamps. However, these different finger location stamps are misleading because during the stiction event, the finger pad skin itself may not have moved. 
     Thus when a processor connected to the partial fingerprint sensor attempts to reassemble the series of one dimensional images into a complete two dimensional fingerprint, a distorted image will result. This distorted data is undesirable because it can confound security authorization schemes that require high quality, undistorted, fingerprint images. Efficient methods to correct for such fingerprint “stiction” artifacts are thus desirable. 
     BRIEF SUMMARY OF THE INVENTION 
     The present invention is a method for operating biometric sensors, such as partial fingerprint scanners, to remove common artifacts, such as stiction, that can create sensor artifacts. The method involves assessing the scanner data, determining if the data exhibits one or more known artifacts (such as stiction), and if so removing the artifacts from the data prior to subsequent data analysis. 
     In one embodiment, partial fingerprint scanner data is assessed to determine if successive partial (one dimensional) fingerprint images are overly similar to each other. If the degree of successive partial image similarity exceeds a preset threshold, then at least some of the overly similar partial images will be removed (redacted) from the overall image dataset. The complete overall (two dimensional) image is generated from the redacted data set. 
     This method is particularly useful for creating “intelligent” low-cost, low power, partial fingerprint scanners and scanner driver IC chips. These scanners and IC chips can pre-process the partial fingerprint data that is generated during the course of a finger swipe, and remove stiction artifacts on a real-time or near-real time basis. The method is compatible with simple and low-power electrical circuits, and thus is well suited for embedding into scanner driver IC circuits. After image artifacts are removed, the corrected fingerprint data can then be further analyzed as needed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows an example of a finger moving over a partial fingerprint scanner. This example also shows a momentary stiction event, which causes a portion of the finger pad to adhere to the partial fingerprint scanner, while the tip of the finger continues in motion. 
         FIG. 2  shows an example of a hypothetical fingerprint that has been captured by a partial (one dimensional) fingerprint scanner. The series of one dimensional images are annotated with capture time and fingerprint location information, and the results can then be reassembled into a complete two dimensional fingerprint scan. 
         FIG. 3  shows an example of the type of artifact that can result if the fingerprint is scanned too slowly, and also shows why it is useful to append time information to each partial (one dimensional) fingerprint image. 
         FIG. 4  shows an example of the difference between the artifacts generated when a finger pauses during a swipe, and artifacts generated when a finger encounters stiction during a swipe. 
         FIG. 5  shows a flow chart of an example algorithm that can be used to determine if partial fingerprint data suffers from stiction artifacts. 
         FIG. 6  shows an example of how the stiction removal method can correct distorted fingerprint images by redacting distorted regions of the fingerprint image. 
         FIG. 7  shows an example of a partial fingerprint scanner and a scanner driver IC chip that incorporates on-chip stiction removal circuitry. 
     
    
    
     DETAILED DESCRIPTION 
     In general, any biometric imaging system that operates on a partial image basis, and that may encounter distortions and artifacts due to improper motion of the biological target relative to the sensor, may be corrected by these methods. Examples of such biometric imaging systems include retinal scans, iris scans, hand prints, finger prints, and other types of scans. Although, throughout this disclosure, fingerprint stiction correction is used as an example of an image artifact that can be corrected by the present invention, it should be understood that the present methods are not limited to either stiction artifacts, or fingerprint scans. 
     The present invention is particularly useful for removing “stiction” artifacts from fingerprint scans recorded by one-dimensional partial fingerprint sensors. As previously discussed, such one dimensional partial fingerprint sensors generally consist of a linear array of individual sensor units, typically packed closely together at high density, such as a density of about 500 sensing elements (dots) per inch. These individual sensing elements can detect the hills and valleys of the fingerprint ridges. Usually these sensors then digitize this information into an array of integers that characterize the relative elevation of the fingerprint ridges along the one dimensional array of the sensor. These integers are often values between 0-255 to give 8 bits of precision, but other values, such as 1-bit, 2-bit, 4-bit, 12-bit, 16-bit, etc. precision are also quite possible. 
     As previously discussed, in addition to the actual fingerprint sensing elements, commercially available partial fingerprint sensors, such as the Validity VFS131 and VFS201 sensors, also contain additional sensors that can be used to determine relative finger location or motion as well. 
     The VFS131, by contrast, uses a series of electrical sensing plates to determine the relative position of the bulk of the finger. In contrast to the electrodes used to determine the fine structure of the fingerprint ridges and valleys, these electrical sensing plates sense the location of the bulk of the finger, and are differentially excited as the finger moves up and down over the course of a finger swipe. 
     The VFS201 finger location sensor works by a different method. Instead of finger location plates, the VFS201 contains two linear fingerprint sensors, each parallel to each other, and each separated by a distance of about 400 microns from the other. These two fingerprint sensors can be used to deduce fingertip position and velocity because a finger tip or ridge will first pass over one sensor slightly before the other. The relative timing difference between a fingerprint pattern arriving at the first sensor, relative to the same pattern, can be used to derive finger speed. By keeping track of this finger speed history, the relative position of the sensor relative to the finger pad can be computed. 
       FIG. 1  shows an example of a finger moving over a partial fingerprint scanner. It also shows an example of a momentary stiction event, which has caused a portion of the finger pad to adhere to the partial fingerprint scanner, while the tip of the finger continued in motion. In the top part of  FIG. 1 , the finger tip ( 100 ) moves smoothly and uniformly over the fingerprint sensor ( 104 ) which contains a linear array finger print sensor ( 108 ) and a VFS201-like fingerprint motion sensor ( 112 ). Because the motion of the fingerprint skin over the fingerprint sensor is smooth and uniform, the velocity ( 116 ) of the finger pad skin ( 120 ) containing the fingerprint is the same as the velocity of the bulk (or tip) of the finger ( 124 ). 
     By contrast the bottom part of  FIG. 1  shows what happens during a stiction event. The skin ( 128 ) of finger ( 132 ) becomes momentarily attached or hung up on the fingerprint sensor ( 136 ). As a result, the velocity of the finger pad skin ( 140 ) is momentarily slowed down, while the velocity of the bulk or tip of the finger ( 144 ) remains relatively constant. Thus the location of the partial fingerprint image relative to the finger pad skin is misreported, and/or (even if no such location data is returned); multiple, and substantially identical, partial fingerprint images of the same portion of the skin pad ( 128 ) are returned. 
       FIG. 2  shows an example of a hypothetical fingerprint that has been captured by a partial fingerprint scanner. In this example, for simplicity, the scanner is depicted as having very low spatial resolution (the linear partial image contains only 11 pixels) and it also has low fingerprint-ridge depth-resolution (here only 1 bit resolution is shown, where 1=a ridge, and 0=a valley). (By contrast, typical partial fingerprint sensors usually have hundreds of detectors (pixels) arranged at high density (approximately 500 dots per inch is common) and with much higher fingerprint depth resolution. However this simplification makes the basic concept easier to explain.) 
     In this example, the numeric order of the partial image acquisition (each row is a different partial fingerprint image from a linear fingerprint sensor) is the same as the time stamp. (To keep the diagram simple, the numeric order in which the partial images arrive is not shown.) The fingerprint ridges (pixel value of 1) are shown in black to allow these ridges to be more easily visualized. Thus in this example, each linear (one dimensional) partial image is 11 pixels by 1 pixel in size, and in this example, 21 of these linear partial images have been assembled to give a “complete” two dimensional fingerprint scan. In this example, the location on the finger pad where each partial image was obtained (in arbitrary distance units) is shown in the “location” column. This information is normally obtained from a finger position sensor. As can be seen, the full two dimensional fingerprint scan, produced when all 21 partial fingerprint images are assembled, shows a portion of a “loop” fingerprint. 
     In  FIG. 2 , the fingerprint scan has gone perfectly. The user has moved the finger over the partial finger print sensor at a uniform and ideal rate of speed, and there has been no stiction. Thus a perfect fingerprint image has been captured. 
     The time and finger position (location) stamps that are associated with these partial fingerprint images are shown on the “time” and “location” columns. This time and position stamp data can be associated with the partial (one dimensional) fingerprint images by a variety of standard computer memory linkage methods. For example, each partial fingerprint image may contain a pointer to where the additional information associated with that particular partial image may be found in memory. Alternatively, the image annotation data (such as the time stamp and the finger location stamp) can be simply appended onto each partial fingerprint image, and stored in memory along with each partial fingerprint region. Generally, any linking method that reliably links annotation information with the partial fingerprint image data is adequate for these purposes. 
       FIG. 3  shows an example of a distorted image (artifact) that can result if the user&#39;s finger is moved too slowly over the partial fingerprint sensor. In this example, the finger moved with half the speed as previously shown in  FIG. 2 . Since the linear fingerprint sensor continues to acquire partial fingerprint linear images at the same rate as in  FIG. 2 , then exactly twice as many partial fingerprint images will be collected during the scan. 
     Although the resulting fingerprint image looks distorted, there is enough information available to correct for these distortions. This is because each partial image has a time stamp, and by examining time stamps, a fingerprint reconstruction engine (processor), could, for example, correct for this distortion. For example, since the duration was 2× too long, a reconstruction engine could correct by averaging the results from the two nearest neighbor time stamps. Similarly, because (in this example), the finger position where each particular linear partial fingerprint image was taken was also recorded on a position stamp, a processor could also correct for this distortion by a similar process. Thus although the image is distorted by a slower scan, prior art image correction techniques are sufficient to correct for this distortion. 
       FIG. 4  shows two alternate types of image distortion artifacts, which can be generated by two independent problems. One of these artifacts can be corrected by prior art techniques, and one cannot. In the example on the left ( 410 ), the user&#39;s finger has momentarily paused ( 412 ) while traversing the linear fingerprint sensor. As a result, the fingerprint image appears distorted because the partial fingerprint sensor, which typically will continue acquiring linear partial fingerprint images at constant time intervals, will continue to record the same portion of the fingerprint over and over. When these partial images are reconstructed to produce a complete image, this portion of the image will show up as a distorted region. Although in this example, the time stamps associated with the partial fingerprint regions are not particularly useful at correcting this artifact, the finger position data is useful. As can be seen, in the artifact region ( 412 ), the finger position data, as reported by the finger position sensors ( 414 ), remains substantially the same. Thus a processor that uses these images to reconstruct a full fingerprint image can be programmed or instructed to skip over (or average out) these repeated fingerprint position scans. When these corrections are applied, the corrected image is once again accurate, and will look like the image shown in  FIG. 2 . 
     By contrast, on the left side ( 420 ), the finger has suffered from a “stiction artifact” during the scan. As a result of this stiction, a portion of the fingerprint pad has remained over the partial fingerprint sensor ( 424 ). However, due to the elastic properties of skin, the tip of the finger has continued to move forward during this time. As a result, neither the time stamp nor the finger position stamp data ( 428 ) attached to the partial fingerprint images give information that can be used to correct for this stiction artifact, and any correction processor will be helpless to correct the problem. To solve this problem, a new artifact correction technique is required. 
     Stiction Removal Method: 
     The present invention teaches a novel “pattern recognition” way to correct for stiction distortions and artifacts in fingerprint images, and related problems in biometric scans. The invention makes use of the fact that stiction creates a series of repeated or nearly repeated partial fingerprint images, which are usually closely associated together in both time and space. The invention sequentially examines partial fingerprint images, determines if the nearby partial images are “too similar” to each other, and if so deletes or redacts the “too similar” partial images. 
     To allow the post-redaction partial fingerprint images to be reassembled into a non-distorted, artifact-free complete fingerprint image, the present invention may also adjust the time and location partial image annotation data to correct for the effects of the redaction process. That is, if a gap in the partial image data is caused by the redaction, the present invention may also correct the time or location data associated with the partial fingerprint images to correct for the discontinuities caused by partial image redaction. 
     The invention can be implemented by a variety of different methods and algorithms, and additionally can be implemented on a wide variety of data manipulation processors, devices and circuitry. A flow chart showing an example of one such method and algorithm is shown in  FIG. 5 . 
     In this example, stiction redaction is done by a repetitive series of comparison loops ( 500 ) and ( 530 ). The process starts by making the first partial image a reference image ( 502 ), ( 503 ), and getting the next partial image ( 504 ). These partial images are compared with a comparison function or algorithm ( 506 ). If the results are not “too similar” ( 508 ), then it is likely that there is not a stiction problem. In this case, the new partial image is not redacted, but instead is saved for later use ( 510 ). This new partial image then becomes the new reference image ( 512 ), ( 502 ), ( 503 ). The loop ( 500 ) then repeats with the still newer partial image ( 504 ) being fetched, and now being compared with the previous new reference partial image ( 503 ). 
     However if the results are “too similar” ( 508 ), then stiction is likely to be a problem, because stiction produces a group of identical or near-identical images. In this case, the algorithm would instead enter a stiction redaction loop ( 530 ). In this stiction redaction loop, new partial images are retrieved ( 504 ), ( 532 ) and compared versus the same initial reference image ( 503 ) that was used right before the stiction problem was observed. If these newer partial images are still too similar to the reference image ( 534 ), they are also redacted. Here the reference partial image ( 503 ) is kept constant until the stiction redaction loop advances past the series of partial images that are “too similar” ( 536 ). These loops usually then continue until all partial fingerprint images that make up the fingerprint have been analyzed. 
     The redaction can be done by simply not saving the partial fingerprint images, or discarding the partial fingerprint images. Alternatively, the multiple redacted partial fingerprint images may be averaged or analyzed to produce a single overall partial image that is an idealized version of the redacted region, and this single idealized partial image used as one of the partial image frames in the final complete fingerprint image. 
     Stiction Detection Algorithms: 
     A large number of different stiction detection algorithms can be used. Here are a few examples are discussed. 
     As one example of a stiction detection algorithm in operation, consider the results that would happen in the  FIG. 4  ( 420 ) stiction example when the regions bordering the stiction event ( 424 ) are analyzed using the algorithm from  FIG. 5 , and a simple comparison algorithm. 
     In this example, assume that the algorithm from  FIG. 5  is being used to analyze the data from  FIG. 4  ( 420 ). Also assume that the algorithm is at the point where it is using the 11×1 pixel linear partial image from time row “5” as the “reference” partial image ( 503 ), and the 11×1 pixel linear partial image from time row “6” as the “new” image ( 504 ), 
     In one embodiment, a comparison algorithm ( 506 ) can be as simple as computing the sum of the absolute value of the differences between each individual time value “5” partial image pixel, and the corresponding pixel in the time value “6” partial image. Here this “sum of differences” is then compared to a similarity criteria value “s”, and the final result is tested to see if it is greater than zero or not. If the final result is zero or negative, the two partial images would be considered to be “too similar”. If the final result is greater than zero, the two partial images are considered to be OK (not too similar). This function is shown mathematically in equation 1 below:
 
Equation 1:
 
     
       
         
           
             similarity 
             = 
             
               
                 
                   ∑ 
                   
                     i 
                     = 
                     0 
                   
                   n 
                 
                 ⁢ 
                 
                    
                   
                     
                       reference_pixel 
                       ⁢ 
                       
                         ( 
                         i 
                         ) 
                       
                     
                     - 
                     
                       new_pixel 
                       ⁢ 
                       
                         ( 
                         i 
                         ) 
                       
                     
                   
                    
                 
               
               - 
               s 
             
           
         
       
     
     Many other alternative similarity functions may also be used. For example, similarity functions can be absolute values, root mean functions, root mean square functions, polynomial functions, etc. More elaborate functions where different pixels are differentially weighed, or nearby pixels compared, can also be done. For example, pixels near the center of the image may be more heavily weighted than pixels on the sides of the image. 
     In the following examples, the similarity value “s” is set to be 1. Note that with this scheme, identical partial fingerprint images would give a similarity value of −1, and partial fingerprint images that differ by only one pixel would give a similarity value of zero. 
     As shown in table 1 below, the partial image at time row “6” is not “too similar” to the reference partial image at time row “5” because the similarity function gives a value of 4 (difference sum of 5 minus an “s” of 1=4), which is greater than zero. 
     
       
         
               
             
               
               
             
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Result when new partial image is different from the reference partial image. 
               
             
          
           
               
                   
                 Pixel 
               
             
          
           
               
                   
                 Time 
                 Location 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
                 10 
                 11 
               
               
                   
                   
               
             
          
           
               
                 Reference image 
                 5 
                 5 
                 1 
                 0 
                 0 
                 1 
                 1 
                 0 
                 0 
                 1 
                 0 
                 0 
                 0 
               
               
                 New image 
                 6 
                 6 
                 0 
                 0 
                 1 
                 1 
                 0 
                 0 
                 0 
                 0 
                 1 
                 0 
                 0 
               
               
                 |Difference| 
                   
                   
                 1 
                 0 
                 1 
                 0 
                 1 
                 0 
                 0 
                 1 
                 1 
                 0 
                 0 
               
             
          
           
               
                 Total difference 
                 5 
               
               
                   
               
             
          
         
       
     
     However at the next step in  FIG. 4 , we can visually see that stiction is starting, and the algorithm can pick this up as well. Consider the results when the algorithm now advances forward and starts analyzing the new partial image from time row “7”, using the partial image from time row “6” as a reference image ( 503 ). As shown in table 2, the results (reported in  508 ) are now “too similar”. 
     
       
         
               
             
               
               
             
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
               
               
             
           
               
                 TABLE 2 
               
             
             
               
                   
               
               
                 Result when new partial image is similar to the reference partial image 
               
             
          
           
               
                   
                 Pixel 
               
             
          
           
               
                   
                 Time 
                 Location 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
                 10 
                 11 
               
               
                   
                   
               
             
          
           
               
                 Reference image 
                 6 
                 6 
                 0 
                 0 
                 1 
                 1 
                 0 
                 0 
                 0 
                 0 
                 1 
                 0 
                 0 
               
               
                 New image 
                 7 
                 7 
                 0 
                 0 
                 1 
                 1 
                 0 
                 0 
                 0 
                 0 
                 1 
                 0 
                 0 
               
               
                 |Difference| 
                   
                   
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
                 0 
               
             
          
           
               
                 Total difference 
                 0 
               
               
                   
               
             
          
         
       
     
     Thus the similarity is the sum of the differences (0) minus “s” (1), or −1, which is less than or equal to zero. Thus comparison algorithm ( 508 ) concludes that partial image time row “7” suffers from stiction. As a result, partial image time row “7” is redacted. Here the redaction process is simple because, in this example, partial image time row “7” is not saved ( 510 ), and in this example would thus be considered to be deleted or redacted. The algorithm continues to use partial image time “6” as the reference partial image ( 503 ). 
     When the algorithm then advances forward and uses partial image time “8” as the new partial image, it will again see that the difference is too small, and again partial image time “8” will be redacted (not saved ( 510 )) as well, and partial image time “6” will continue to serve as the reference image. This state of affairs continues through partial images “9”, “10”, “11”, “12”, “13”, and “14” as well. The comparison algorithm ( 532 ), ( 534 ) inside the redaction loop ( 530 ) (which can be the same algorithm as used in ( 508 ), concludes that these images all suffer from stiction, and they are all redacted ( 510 ) or “not saved”. 
     However when the algorithm finally advances to examine new partial image time (15), a different result is obtained. Here reference partial image time row “6” is still being used as the reference partial image ( 503 ), and the new image ( 504 ) is now the partial image from time row “15”. Here the comparison algorithm once again detects that this particular combination is not “too similar”. 
     
       
         
               
             
               
               
             
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
               
               
             
           
               
                 TABLE 3 
               
             
             
               
                   
               
               
                 Result obtained after the region suffering from stiction has passed. 
               
             
          
           
               
                   
                 Pixel 
               
             
          
           
               
                   
                 Time 
                 Location 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
                 10 
                 11 
               
               
                   
                   
               
             
          
           
               
                 Reference image 
                 6 
                 6 
                 0 
                 0 
                 1 
                 1 
                 0 
                 0 
                 0 
                 0 
                 1 
                 0 
                 0 
               
               
                 New image 
                 15 
                 15 
                 0 
                 0 
                 1 
                 0 
                 1 
                 1 
                 1 
                   
                 1 
                 1 
               
               
                 |Difference| 
                   
                   
                 0 
                 0 
                 0 
                 1 
                 1 
                 1 
                 1 
                 0 
                 0 
                 1 
                 0 
               
             
          
           
               
                 Total difference 
                 5 
               
               
                   
               
             
          
         
       
     
     Here the similarity value is 5−1 or 4, which is greater than zero. Thus the test ( 534 ) concludes that the two partial images are not too similar, and the algorithm exits the redaction loop ( 530 ), ( 536 ) at exit point ( 534 ). Partial image time row “15” is saved (not redacted) ( 510 ), and partial image time row “15” also becomes the new reference image ( 512 ), ( 503 ). 
     After the region of stiction has passed, the rest of the image is processed without any stiction redaction. Here is an example of what happens in the next partial image time row “16”. 
     
       
         
               
             
               
               
             
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
               
               
               
               
               
             
               
               
             
           
               
                 TABLE 4 
               
             
             
               
                   
               
               
                 Operation continuing past the stiction region of the fingerprint. 
               
             
          
           
               
                   
                 Pixel 
               
             
          
           
               
                   
                 Time 
                 Location 
                 1 
                 2 
                 3 
                 4 
                 5 
                 6 
                 7 
                 8 
                 9 
                 10 
                 11 
               
               
                   
                   
               
             
          
           
               
                 Reference image 
                 15 
                 15 
                 0 
                 0 
                 1 
                 0 
                 1 
                 1 
                 1 
                   
                 1 
                 1 
                   
               
               
                 New image 
                 16 
                 16 
                 0 
                 1 
                 0 
                 0 
                 1 
                 1 
                 1 
                 0 
                 0 
                 1 
                 1 
               
               
                 |Difference| 
                   
                   
                 0 
                 1 
                 1 
                 0 
                 0 
                 0 
                 0 
                 0 
                 1 
                 0 
                 1 
               
             
          
           
               
                 Total difference 
                 4 
               
               
                   
               
             
          
         
       
     
     This region is also sufficiently different from reference image time “15”, so again new partial image time “16” is saved, and new partial image time “16” becomes the new partial image reference image. The algorithm also examines partial images time “17” to “29”, determines that none of the rest of these partial images suffer from stiction, and thus saves ( 510 ) the remainder of these images. 
     In order to help another processor later use these saved partial images to produce a distortion free complete fingerprint image, the algorithm may optionally also correct any location data or time data linked to the various partial images. For example, the location information that is linked to the various partial images could be corrected for errors caused by the stiction event. 
     In this example, after the algorithm of  FIG. 5  was applied to the data from  FIG. 4 , it was found that the location information was incorrect because the partial images in time rows “7” to “14” suffered from stiction. As a result, the same part of the finger pad was read over and over, and the location data ( 428 ) reported by the finger print position sensor was incorrect. Instead of the partial fingerprint sensor reading finger locations 7-14, in actuality it just read finger location  6  over and over again. All the finger location data after time row “6” are thus incorrect. All the non-redacted partial fingerprint images after time row “6” are 8 finger pad location units too large. 
     To reduce the severity of this problem, the algorithm may optionally make corrections to the location information associated with the various partial images in order to compensate for this effect. Here, this correction would be to simply subtract the apparent distance of the redacted partial images from the location data of the images after the redaction. 
       FIG. 6  shows the effect of this correction process on the raw data. The raw data is shown as ( 610 ), and the stiction corrected image is shown as ( 620 ). Note also that in this example, the distance data that is associated with the particular partial images was corrected to account for the error caused by stiction ( 630 ). 
     One advantage of this method is that it requires a relatively minimal amount of memory, processing circuitry, and electrical power to implement. Instead of storing the complete, and potentially quite large, fingerprint scan in memory, only a small portion of the fingerprint scan need to be stored in memory. Instead of performing image analysis on a large number of finger print data pixels or sensor elements, the processor or circuitry need only to compare a small number of neighboring partial fingerprint images for approximate similarity. 
     Because the memory, processing circuitry, and algorithms are relatively simple, the stiction redaction method of the present invention may be implemented on a relatively simple circuit. In one embodiment, the processing circuitry needed to implement this stiction reduction method may be implemented or placed on the same integrated circuit chip that is used to drive the partial fingerprint sensor. 
     This embodiment simplifies overall circuit design, because the circuitry needed to implement stiction reduction need only operate when the fingerprint sensor itself is operated. In one configuration, the stiction reduction circuitry can intercept the partial fingerprint data as it is generated by the partial fingerprint sensor IC driver chip, perform the needed stiction corrections, and the output from the partial fingerprint sensor can then automatically provide the corrected fingerprint data. This simplifies the task of any subsequent processor that might do analysis on the fingerprint image because this image has been “cleaned up”. This in turn creates a faster, lower power, and cheaper system. 
       FIG. 7  shows an example of an integrated circuit chip used to drive a partial fingerprint sensor. Here, the electronic chip drives a deep finger penetrating radio frequency (RF) based partial fingerprint scanner. Electronic chip ( 712 ) contains the circuitry ( 714 ) needed to drive both the excitation lines ( 716 ) and the detectors ( 718 ), ( 720 ) needed to detect the ridges and valleys present in a human finger. Electronic chip ( 712 ) may additionally contain a microprocessor core ( 724 ), such as an ARM or MIPS or 8051 or x86 or MSP430 or other processor core or logic comparison circuits, and memory ( 726 ) which may be composed of volatile memory (such as RAM), or non volatile memory (such as FLASH or EEPROM) and may be compartmentalized into various types and security levels as appropriate. Here memory ( 726 ) can store the stiction correction algorithm (in a non-volatile portion of memory), and can also serve as a cache to store the various partial fingerprint images, including at least the reference partial image and usually at least one new partial fingerprint image. The memory can also contain scratchpad memory for the intermediate algorithm corrections as well. 
     In operation, the fingerprint scan IC can correct stiction artifacts in a manner that is almost transparent to any additional processors residing outside of the IC. Stiction artifacts can be quickly and economically removed, and then output ( 730 ). Subsequent fingerprint recognition systems will be simplified because there is a higher assurance that distortion free fingerprints will be output by scanner chip ( 712 ). Scanner chip ( 712 ) can also receive commands ( 732 ) from outside circuitry to change its particular image correction algorithms, or even pass (transmit) raw (uncorrected) partial fingerprint image data directly, as needed. 
     In use, a user finger ( 728 ) is swiped across the sensing elements ( 716 ), ( 718 ), ( 720 ), and the fingerprint sensor module ( 714 ) of the chip ( 712 ) retrieves the data, in this case in either a time-sequential or all at once manner. Here time sequential means that only a part of the biometric data (such as a portion of the finger) is obtained at any one instant of time, and various partial portions of the biometric data can then be assembled to construct the full set of data. Here, for example, partial fingerprint data can be obtained over the time course of the finger swipe and later assembled to construct a complete fingerprint.