Fingerprint image sensors are used in many applications. In one system, a sensor and a host platform together form a fingerprint image processing system. The sensor reads the fingerprint image and converts it to a digital representation. This digital image is transmitted to the host. The host extracts the unique features of the fingerprint, which include minutiae (ridge endings and bifurcations), ridges, valleys, pores, and scars, and converts them into a template, a more compact digital representation of the image. In a first step, the host processes the image and extracts the template, and later compares the template to those stored for authorized users. If a match is found, in the second step the system authenticates the user or performs some other task.
As part of sensing a fingerprint image, the sensor continually scans its surface for any image and periodically transmits an interrupt to the host. After receiving the interrupt, the host reads and processes the corresponding digital image data. If the host determines that the image data correspond to a fingerprint, the host can authenticate the user or perform another task. Otherwise, the host ignores the image data and returns to tasks it was performing when it was interrupted. In such systems, smudges or other residual material (films, perspiration, dirt, oils, etc.) are read by the sensor and sent to the host for processing. This requires valuable processing time of the host to determine whether the image is of a usable print or is even a print at all. This use of processing resources is wasteful, unnecessarily generating interrupts to the host processor, diverting the processor from performing other tasks.