# Patent

## Title
System and method for sending a packet with position address and line scan data over an interface cable

## Abstract

A system and method for sending a packet with a position address and line scan data from a first device over a 1394 interface to a second device. The present invention loads a camera, an illuminator, and a microprocessor with set-up instructions and a start pulse. The camera captures a line-by-line image of an object placed on the surface of a sliding prism. Position data, corresponding to the captured line-by-line image, is logged as the position address. The position address is combined with the line-by-line image to form a packet. The packet is sent to the second device for processing and viewing the image.

## Background
This application is a continuation of applcation Ser. No. 09/425,949 now abandoned, filed Oct. 25, 1999, which claims the benefit of priority under 35 U.S.C. § 119(e) of U.S. Provisional Application No. 60/147,498, filed Aug. 9, 1999, both of which are incorporated herein by reference in their entireties.
CROSS-REFERENCE TO RELATED APPLICATIONS
This patent application is potentially related to the following co-pending U.S. utility patent applications:
1. “Calibration and Correction in a Fingerprint Scanner,” Ser. No. 09/425,947 by Irving et al., filed concurrently herewith and incorporated in its entirety herein by reference;
2. “Adjustable, Rotatable Finger Guide in a Tenprint Scanner with Movable Prism Platen,” Ser. No. 09/422,937 by J. Carver et al., filed Oct. 22, 1999, and incorporated in its entirety herein by reference;
3. “Method, System, and Computer Program Product for a GUI to Fingerprint Scanner Interface,” Ser. No. 09/425,958 by C. Martinez et al., filed concurrently herewith and incorporated in its entirety herein by reference; and
4. “Method, System, and Computer Program Product for Control of Platen Movement during a Live Scan,” Ser. No. 09/425,888 by G. Barton et al., filed concurrently herewith and incorporated in its entirety herein by reference.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention is generally directed to fingerprint imaging systems.
2. Related Art
Biometrics is a science involving the analysis of biological characteristics. Biometric imaging captures a measurable characteristic of a human being for identity purposes. See, e.g., Gary Roethenbaugh, Biometrics Explained, International Computer Security Association, Inc., pp. 1–34, (1998), which is incorporated herein by reference in its entirety.
One type of biometric imaging system is an Automatic Fingerprint Identification System (AFIS). Automatic Fingerprint Identification Systems are used for law enforcement purposes. Law enforcement personnel collect fingerprint images from criminal suspects when they are arrested. Law enforcement personnel also collect fingerprint images from crime scenes. These are known as latent prints.
Tenprint scanners are a common type of AFIS system. Tenprint scanners produce forensic-quality tenprint records of rolled and plain impression fingerprint images. Typical tenprint scanners are usually custom-made consoles. Such custom-made consoles contain built-in equipment, such as a monitor, a keyboard, a pointing device, and at least one processor, for processing and viewing the fingerprint images. The custom-made consoles are expensive.
Custom-made consoles are also burdened with high maintenance costs. When the console malfunctions, the entire system is inoperable. Tenprint scanner system owners must then place a service call to the manufacturer to have a technician come on-site and correct the problem. This can sometimes be a lengthy process. During such maintenance periods, tenprint records cannot be produced.
What is needed is a tenprint scanner system that does not depend on an expensive, built-in console for processing and viewing fingerprint images. What is further needed is a system and method for interfacing a tenprint scanner system to a personal computer (PC) for processing and viewing fingerprint images, wherein the tenprint scanner system is not dependent upon any particular personal computer make or model.
SUMMARY OF THE INVENTION
The present invention solves the above mentioned needs by providing a system and method for interfacing fingerprint images from an identification system to a PC, wherein the PC contains a monitor, a keyboard, a pointing device, and processors for processing and viewing fingerprint images. The identification system is interfaced to the PC via a 1394 interface. The 1394 interface is a high performance serial bus that provides high speed data transfers.
Briefly stated, the present invention is directed to a system and method for sending a packet with a position address and line scan data from a first device over a 1394 interface to a second device. The present invention loads a camera, an illuminator, and a microprocessor with set-up instructions and a start pulse. The camera captures a line-by-line image of an object placed on the surface of a sliding prism. Position data, corresponding to the captured line-by-line image, is logged as the position address. The position address is combined with the line-by-line image to form a packet. The packet is sent to the second device for processing and viewing the image.
The present invention utilizes an off-the-shelfPC having a 1394 interface. The combination of an off-the-shelf PC and a 1394 interface provides a cost-effective way to process and view fingerprint images. The use of the PC also provides flexibility. Instead of having to call the manufacturer of the identification system when the PC malfunctions, a user can simply replace the malfunctioning PC with a back-up PC. The user also has the option of calling any PC service provider to maintain the PC.
Further embodiments, features, and advantages of the present invention, as well as the structure and operation of the various embodiments of the present invention, are described in detail below with reference to the accompanying drawings.



BRIEF DESCRIPTION OF THE FIGURES
The accompanying drawings, which are incorporated herein and form part of the specification, illustrate the present invention and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the pertinent art to make and use the invention.
FIG. 1 is a high level block diagram illustrating an Identification System according to an embodiment of the present invention.
FIG. 2 is a detailed block diagram illustrating an Identification System in which a fingerprint scanner is shown in detail according to an embodiment of the present invention.
FIGS. 3A and 3B represent a flow diagram illustrating a method of operation for an Identification System according to an embodiment of the present invention.



The features, objects, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify corresponding elements throughout. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawings in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
While the present invention is described herein with reference to illustrative embodiments for particular applications, it should be understood that the invention is not limited thereto. Those skilled in the art with access to the teachings provided herein will recognize additional modifications, applications, and embodiments within the scope thereof and additional fields in which the present invention would be of significant utility.
Overview
The present invention is a system and method for sending a packet with address and line scan data over an interface to a personal computer. The interface of the present invention is a 1394 serial bus. The 1394 serial bus interfaces a fingerprint scanner to a personal computer (PC). The personal computer of the present invention can be any commercial off-the-shelf personal computer having a 1394 interface card and a CD ROM.
1394 is an IEEE standard for a high performance serial bus designed to provide high speed data transfers. 1394 is a cost-effective way to share real-time information in data intensive applications, such as cameras, camcorders, VCRs, video disks, etc.
The use of a personal computer and a 1394 serial bus versus a console configuration for AIFS systems reduces overall system cost while providing high-speed data transfers. Current 1394 interfaces support serial transmission speeds up to 400 Mbps. PCs also provide flexibility. Current PCs cost approximately $2,000.00. When the PC malfunctions, a service request merely requires a maintenance call to any PC service provider or a multiple PC back up system, whereby the malfunctioning PC is quickly replaced with a back up PC.
FIG. 1 illustrates a high level block diagram of an Identification System 100 according to the present invention. Identification System 100 comprises a fingerprint scanner 102, a personal computer 106, and an interface cable 110. Interface cable 110 couples fingerprint scanner 102 to personal computer 106.
Fingerprint scanner 102 comprises, inter alia, a first 1394 interface card. Fingerprint scanner 102 captures an image of a fingerprint. The fingerprint image, along with corresponding position data, are combined into a packet. The packet is sent from fingerprint scanner 102 using first interface card 104 to PC 106 via interface cable 110.
Personal computer 106 comprises, inter alia, a second 1394 interface card 108. Second interface card 108 receives the packet for PC 106. PC 106 decodes the packet and forms an image of the fingerprint to be displayed on PC 106's CRT (cathode ray tube (not shown)).
The Identification System
FIG. 2 is a diagram of Identification System 100 in which fingerprint scanner 102 is shown in further detail according to an embodiment of the present invention. As previously stated, Identification System 100 shows fingerprint scanner 102 connecting to PC 106 via cable 110. Fingerprint scanner 102 comprises a line scan camera 202, a sliding prism 204, an illuminator 206, a position encoder 208, a debounce and counter circuit 210, a motor 212, a microprocessor 214, and first interface card 104. First interface card 104 comprises a central processing unit (CPU) 220, a logic programmable array logic (PAL) 222, a link layer 224, and a physical (PHY) layer 226.
Camera 202 is coupled to CPU 220 and logic PAL 222. CPU 220 is coupled to illuminator 206, logic PAL 222, and debounce & counter circuit 210. Logic PAL 222 is coupled to link layer 224 and debounce & counter circuit 210. Link layer 224 is coupled to PHY layer 226. Prism 204 is coupled to position encoder 208 and motor 212. Position encoder 208 is coupled to debounce & counter circuit 210. Motor 212 is coupled to microprocessor 214. Microprocessor 214 is coupled to CPU 220 of first interface card 104.
Camera 202 is a low cost linear CMOS camera. One skilled in the relevant art(s) would know that other types of line scan cameras could be used without departing from the scope of the invention. Camera 202 scans the surface of its field of view on a line-by-line basis to capture an image from prism 204. The image capture is represented in FIG. 2 using an arrow 218.
Prism 204 is a moving prism. Prism 204 includes an imaging surface upon which a user places a finger for a rolled print or fingers for a four finger flat print. Both rolled and four finger flat prints are well known to those skilled in the art of fingerprint imaging. Prism 204 is used to slide a user's finger(s) across the field of view of line scan camera 202.
Illuminator 206 comprises a light that shines on prism 204. The illumination of the light is represented in FIG. 2 using an arrow 216.
Position encoder 208 captures the position of prism 204 on a line-by-line basis corresponding to the line-by-line image captured by camera 202. Position encoder 208 outputs the position in the form of incremental ticks or pulses.
Debounce & Counter circuit 210 is used to debounce position encoder 208. Circuit 210 is also used for counting the pulses representative of position from position encoder 208 to obtain an absolute position.
Motor 212 is controlled by microprocessor 214. Motor 212, in conjunction with microprocessor 214, is used to control the velocity of prism 204. Motor 212 is also used to position prism 204 in the correct starting position when the scanning of a user's finger(s) begins.
CPU 220 operates as a controller. CPU 220 controls line scan camera 202, illuminator 206, and microprocessor 214. CPU 220 sends instructions to line scan camera 202, such as exposure time, start pulse to open camera shutter, and other camera settings. CPU 220 triggers illuminator 206 to illuminate its light source to enable camera 202 to capture an image. CPU 220 also signals microprocessor 214 when camera 202 is about to capture an image. At that time, microprocessor 214 sends a signal to motor 212. The signal enables motor 212 to slide prism 204 to its starting position. CPU 220 also communicates with PC 106 via logic PAL 222, link layer 224, PHY layer 226, and cable 110.
Logic PAL 222 includes a 4K byte first-in-first-out (FIFO) chip (not shown). Data output from camera 202 is input into the FIFO of logic PAL 222. Logic PAL 222 is used to combine the line-by-line image data from camera 202 with position data from debounce & counter circuit 210.
Link layer 224 provides data packet delivery service. Link layer 224 formats the combined data into 1394 packets by attaching a header. Two types of data packet delivery between devices are employed by the 1394 interface. They are asynchronous and isochronous.
Asynchronous data delivery is used for control, status, and accuracy-critical data. Asynchronous data delivery provides an acknowledged datagram transfer between devices. A short acknowledgment is returned to the sender for every received packet. The acknowledgment indicates whether or not the packet was received and acted upon without error.
Isochronous transfers provide real-time transfers of video and audio data. Isochronous data delivery is a “just in time” data delivery service. Isochronous data delivery occurs at a cycle of 8,000 times per second.
The bus alternates between isochronous cycles and asynchronous traffic, with isochronous cycles having precedence over asynchronous traffic. Asynchronous data delivery can occur any time the bus is free of isochronous traffic. Typically, isochronous operations may take up to 80% of the available cycle time, leaving at least 20% for asynchronous traffic.
Physical layer 226 or PHY, provides the electrical and mechanical connection between 1394 interface card 104 and 1394 cable 110. PHY 226 also provides initialization and arbitration services to allow all devices on the bus fair access to the bus. PHY 226 also translates the serial bus data stream and signal levels to those required by link layer 224.
Method of Operation for Identification System 100
FIGS. 3A and 3B are a flow diagram illustrating a method of operation for an Identification System according to an embodiment of the present invention. The steps of FIGS. 3A and 3B may be implemented in hardware, firmware, software, or a combination thereof.
In FIG. 3A, the method of operation begins with step 302. In step 302, PC 106 sends instructions to Identification System 100, such as camera set-up instructions, start pulse, calibration instructions, etc. These instructions are sent using a Control Status Register (CSR) protocol. The CSR protocol comprises an address, data, status, and, if necessary, a checksum. For example, the packet of data, which is transferred using an asynchronous mode of operation, would indicate that at some particular address, to write this piece of data or to read this piece of data or to check this piece of data and make sure the packet is correct. Control then passes to step 304.
In step 304, CPU 220 loads camera 202 with the set-up instructions and start pulse. CPU 220 also triggers illuminator 206 to shine a light on prism 204. CPU 220 also signals microprocessor 214 to enable motor 212 to move prism 204 to its starting position, if necessary. Control simultaneously passes to steps 306 and 308.
In step 306, after a finger(s) is placed on the surface of prism 204, the light source (shown in FIG. 2 as arrow 216) from illuminator 206 is refracted through prism 204 as camera 202's shutter opens to capture a fingerprint image. Note that prism 204 is placed in the field of view of camera 202 for rolled prints and is moved across the field of view of camera 202 for four finger flat prints. The velocity of prism 204 is controlled by motor 212. Motor 212 prevents a user from sliding prism 204 at a rate of speed that exceeds the recording ability of camera 202. The image captured by camera 202 is shown in FIG. 2 as arrow 218. Once the fingerprint image is captured, control then passes to step 310.
In step 310, camera 202 sends a start of line signal followed by the line-by-line image data to logic PAL 222. Logic PAL 222 temporarily stores the image data (in pixel format) in the FIFO. Camera 202 also sends a pixel clock to logic PAL 222. Control then passes to step 314.
In step 308, position encoder 308 captures raw position data, in the form of incremental ticks or pulses, of prism 204 as the fingerprint image is being captured. Control then passes to step 312.
In step 312, debounce & counter circuit 210 counts the pulses from position encoder 208 to convert the raw position data to an absolute position. The absolute position data is used as a position address when sending the image data to PC 106. Control then passes to step 314.
In step 314, upon receiving the start of line pulse from camera 202, logic PAL 222 retrieves the position address from debounce & counter circuit 210. The position address (which is 16 bits long) is placed in the first two bytes of the packet. Logic PAL 222 then attaches the image data (which is 2750 pixels long) to the packet along side the position data. Thus, a packet is initially equal to:

Packet=(addressMSB, addressLSB, P, P, P, . . . P)

where:

    
    
        MSB=Most Significant Byte;
        LSB=Least Significant Byte; and
        P=Pixel.

Logic PAL 222 then sends the packet to link layer 224. Control then passes to step 316 in FIG. 3B.

    
    


In step 316, link layer 224 places appropriate header information onto the packet for 1394 data transmission. The packet is then sent to PHY 226. Control then passes to step 318.
In step 318, PHY 226 sends the packet to PC 318. Control then passes to step 320.
In step 320, PC 106 decodes the packet into position and line data. PC 106 then forms an image, which is displayed on a CRT for the viewer.
CONCLUSION
The present invention is not limited to the embodiment of a fingerprint scanner. The present invention can be used with any system that utilizes a line scan printer and position encoder to send an image to a personal computer. The previous description of the preferred embodiments is provided to enable any person skilled in the art to make or use the present invention. While the invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.

## Claims

1. A method for communicating image data from a fingerprint scanning device having a camera and a sliding prism to a computer over a 1394 interface, comprising the steps of:
(a) receiving set-up instructions for the camera and calibration instructions for the fingerprint scanning device from the computer over the 1394 interface;
(b) loading the camera with the received set-up instructions;
(c) capturing line-by-line image data associated with an object placed on the sliding prism;
(d) generating absolute position data corresponding to the line-by-line image data, wherein the absolute position data is referred to as the position address data;
(e) generating a packet including the line-by-line image data and the corresponding position address data; and
(f) sending the packet to the computer over the 1394 interface.

2. The method of claim 1, further comprising the steps of:
(g) decoding the packet at the computer to recover the line-by-line image data and the position address data; and
(h) forming an image of the object using the line-by-line image data and the position address data.

3. The method of claim 2, further comprising the step of displaying the image on the computer.

4. The method of claim 1, wherein step (e) further comprises the step of encoding the packet for 1394 data transmission.

5. The method of claim 1, wherein step (d) further comprises the step of converting raw position data into the absolute position data.

6. The method of claim 1, wherein step (c) further comprises the step of sending a start of line signal followed by the line-by-line image data.

7. The method of claim 1, wherein step (c) comprises the step of capturing a line-by-line fingerprint image of a finger or fingers placed on the sliding prism.

8. The method of claim 1, wherein step (f) comprises the step of sending the packet to a personal computer (PC).

9. The method of claim 8, further comprising the step of displaying the image on a monitor attached to the computer.

10. The method of claim 1, wherein step (b) further comprises initializing an illuminator and a microprocessor based on the received set-up and calibration instructions.

11. A system for communicating image data from a fingerprint scanning device having a camera and a sliding prism over a 1394 interface to a computer, comprising:
(a) means for receiving set-up instructions for the camera and calibration instructions for the fingerprint scanning device from the computer over the 1394 interface;
(b) means for loading the camera with the received set-up instructions;
(c) means for capturing line-by-line image data associated with an object placed on the sliding prism;
(d) means for generating absolute position data corresponding to the line-by-line image data, wherein the absolute position data is referred to as the position address data;
(e) means for generating a packet including the line-by-line image data and the corresponding position address data; and
(f) means for sending the packet to the computer over the 1394 interface.

12. The system of claim 11, further comprising:
(g) means for decoding the packet at the computer to recover the line-by-line image data and the position address data; and
(h) means for forming an image of the object using the line-by-line image data and the position address data.

13. The system of claim 12, further comprising means for displaying the image on the computer.

14. The system of claim 12, further comprising means for displaying the image on a monitor attached to the computer.

15. The system of claim 11, wherein said means for generating a packet further comprises means for encoding the packet for 1394 data transmission.

16. The system of claim 11, wherein said means for generating position data further comprises means for converting raw position data into absolute position data.

17. The system of claim 11, wherein said means for capturing further comprises means for sending a start of line signal followed by the line-by-line image data.

18. The system of claim 11, wherein said means for capturing comprises means for capturing line-by-line image data of at least one finger placed on the sliding prism.

19. The system of claim 11, wherein the computer is a personal computer (PC).

20. The system of claim 11, further comprising means for initializing an illuminator and a microprocessor based on the received set-up and calibration instructions.