Source: https://patents.google.com/patent/US8358803B2/en
Timestamp: 2019-09-22 17:08:53
Document Index: 202453205

Matched Legal Cases: ['art 900', 'art 1300', 'art 1300', 'art 1300', 'arts 900', 'art 1300', 'art 1300', 'art 1300', 'art 1300', 'arts 900']

US8358803B2 - Navigation using fourier phase technique - Google Patents
Navigation using fourier phase technique Download PDF
US8358803B2
US8358803B2 US12/115,387 US11538708A US8358803B2 US 8358803 B2 US8358803 B2 US 8358803B2 US 11538708 A US11538708 A US 11538708A US 8358803 B2 US8358803 B2 US 8358803B2
US12/115,387
US20090274346A1 (en
2008-05-05 Priority to US12/115,387 priority Critical patent/US8358803B2/en
2008-08-29 Assigned to SONAVATION, INC. reassignment SONAVATION, INC. CORRECTIVE ASSIGNMENT TO CORRECT PROPERTY NUMBER 12/115,378, PREVIOUSLY RECORDED AT REEL 020907 FRAME 0090. Assignors: IRVING, RICHARD, JAHORMI, PH.D., OMID S.
2009-11-05 Publication of US20090274346A1 publication Critical patent/US20090274346A1/en
2013-01-22 Publication of US8358803B2 publication Critical patent/US8358803B2/en
Also provided is a method for controlling a cursor on a screen. The method includes determining a shift between a first image slice and a second image slice and determining a displacement of the cursor on the screen based on the determined shift.
In another embodiment, a method for controlling a cursor on a screen includes determining a shift between a first image slice and a second image slice and determining a displacement of the cursor on the screen based on the determined shift.
In yet another embodiment, a system for controller a cursor on a screen includes a shift determining module configured to determine a shift between a first image slice and a second image slice and a cursor movement module configured to determine a displacement of the cursor on the screen based on the determined shift.
FIG. 12 is an illustration of a system for controlling a cursor on a screen, according to an embodiment of the present invention.
FIG. 13 is flowchart of a method for controlling a cursor on a screen, according to embodiments of the present invention.
FIG. 14 is an illustration of a screen, according to an embodiment of the present invention.
FIG. 15 is a block diagram illustration of an exemplary computer system on which the present invention can be implemented.
Flowchart 900 begins with step 902. In step 902, a sub-slice is extracted from each image slice of a pair of image slices. For example, in FIG. 7, each engine of shift determining engines 706 receives a pair of image slices from sensor 702 and extracts a sub-slice from each image slice of the pair of received image slices. For example, as described above, shift determining engines 706 may be implemented as shift determining engine 800 shown in FIG. 8. Extraction module 802 of shift determining engine 800 may receive the pair of image slices and extract a sub-slice from each of the pair of sub-slices.
FIG. 10 shows a system for processing image slices 1000, according to an embodiment of the present invention. System 100 includes a sensor 1002 and a shift determining module 1004. Sensor 1002 may be substantially similar to sensor 702 described above. Shift determining module 1004 includes a shift determining engine 1006 and a control module 1008. Shift determining engine 1006 includes an extraction module 1010 and a shift computation module 1012. The operation of system 1000 will be described with reference to FIG. 11 below.
Navigation Using Shift Information
In the embodiments described above, shift information is determined. This shift information can be used to align image slices to form a coherent fingerprint image. In alternate embodiments, shift information can also be used in navigation systems to determine the displacement of an object. For example, the movement of a finger on a fingerprint scanner may be used to determine the displacement of a cursor on a computer screen. As would be appreciated by those skilled in the relevant art(s), laptops or other types of computing devices often have navigation pads on which a user moves his/her finger. The movement of the finger is reflected on the screen of the laptop as an appropriate movement of a cursor. In embodiments described herein, these pads can be replaced with a fingerprint scanner that outputs image slices of a fingerprint. Based on shift information computed between slices, a cursor can be moved in an appropriate manner.
FIG. 12 shows a system for controlling a cursor on a screen 1200, according to an embodiment of the present invention. System 1200 includes a sensor 1202, a memory controller 1204, a memory 1206, a shift determining module 1208, and a cursor movement module 1210. Sensor 1202 may be substantially similar to sensor 702 described above. In an embodiment, shift determining module 1206 may be substantially similar to shift determining module 704 or shift determining module 1004 described with reference to FIGS. 7 and 10, respectively. The elements of system 1200 can be implemented as hardware, software, firmware, or any combination thereof. The operation of system 1200 will be described with reference to FIG. 13, below.
FIG. 13 shows a flowchart 1300 of a method for controlling a cursor on a screen, according to an embodiment of the present invention. Flowchart 1300 is described with reference to the embodiment of FIG. 12. However flowchart 1300 is not limited to that embodiment. The steps shown in FIG. 13 do not necessarily have to occur in the order shown. The steps of FIG. 13 are described in detail below.
In step 1302, a first image slice is received. The first image slice may be an image slice of a scanned fingerprint. For example, in FIG. 12, sensor 1202 outputs a first image slice of a scanned fingerprint that is received by shift determining module 1208.
In step 1304, a second image slice is retrieved. For example, in FIG. 12, memory control 1204 retrieves the second image slice from memory 1206. In an embodiment, upon receiving the first image slice from sensor 1202, shift determining module 1208 can request that the second image slice be retrieved from memory 1206. Upon retrieving the second image slice, control module 1204 can send the second image slice to shift determining module 1208.
In step 1306, a shift between the first and second image slices is determined. In an embodiment, determining the shift between the first and second image slices can include extracting sub-slices from each of the first and second image slices. In a further embodiment, determining the shift between the first and second image slices can include one or more steps of flowcharts 900 and/or 1100, as described above. Alternatively, the shift may be determined using the first and second image slices themselves. For example, the shift between the first and second image slices may be computed by computing a PHAse Transform of the first and second image slices.
For example, in FIG. 12, shift determining module 1208 can determine shifts in the X and Y direction between the first and second image slices. In an embodiment, shift determining module 1208 is implemented as shift determining module 704, described with reference to FIG. 7 or as shift determining module 1004, described with reference to FIG. 10.
In step 1308 a displacement of a cursor is determined based on the determined shift. For example, in FIG. 12, cursor movement module 1210 can determine a displacement of the cursor to be a first number of pixels in the X direction and a second number of pixels in the Y direction. In an embodiment, cursor movement module 1210 maps the shift in each direction to a corresponding number of pixels the cursor is to be displaced. Thus, the shift in the X direction may be mapped to a number of pixels the cursor is to be displaced in the X direction and the shift in the Y direction can be mapped to a number of pixels to be displaced in the Y direction. For example, for determined shifts in the X and Y direction of 2 and 5 pixels, respectively, can be mapped to a displacement of a cursor on a screen of 4 and 10 pixels in the X and Y directions, respectively. FIG. 14 shows a screen 1402 that includes cursor 1404. In an embodiment, cursor movement module 1210 displaces cursor 1404 by the first number of pixels and the second number of pixels in the X and Y directions, respectively.
The steps of flowchart 1300 may be repeated. For example, the steps of flowchart 1300 can be repeated every 1 ms or 10 ms. As the rate at which the steps of flowchart 1300 is repeated increased, the response time between a movement of a finger on a fingerprint sensor and the displacement of a cursor on a screen can be improved. In a further embodiment, the rate at which the steps of flowchart 1300 is repeated set so that a user perceives a nearly instantaneous response to his/her finger movements on a fingerprint scanner or sensor.
In the navigation embodiments described above, a navigation pad of a laptop can be replaced by a fingerprint sensor. Using the shift information determined based on the outputs of the fingerprint sensor, the displacement of a cursor can be controlled. Such a system may reduce the cost of the laptop by removing the requirement of a navigation pad and instead using a fingerprint sensor that may already be included for other applications (e.g., as a part of an authorization system used to grant access to the laptop only to selected individuals). Furthermore, space and power may also be saved by removing the navigation pad. In a further embodiment, the precision of the shift determining process can be such that less physical movement of a finger may be needed to move a cursor on a screen.
The embodiments above describe determining a shift between image slices scanned by a fingerprint sensor. As would be appreciated by those skilled in the relevant art(s), the shift determining systems and techniques described above can also be applied to complete fingerprint images. For example, a shift can be determined between a first fingerprint image taken at a first time and a second fingerprint image taken at a second time.
The present invention (i.e., elements of FIGS. 7, 8, 10, and 12 and flowcharts 900, 1100, 1300 or any part(s) or function(s) thereof) may be implemented using hardware, software or a combination thereof and may be implemented in one or more computer systems or other processing systems. However, the manipulations performed by the present invention were often referred to in terms, such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein which form part of the present invention. Rather, the operations are machine operations. Useful machines for performing the operation of the present invention include general purpose digital computers or similar devices.
In fact, in one embodiment, the invention is directed toward one or more computer systems capable of carrying out the functionality described herein. An example of a computer system 1500 is shown in FIG. 15.
The computer system 1500 includes one or more processors, such as processor 1504. The processor 1504 is connected to a communication infrastructure 1506 (e.g., a communications bus, cross over bar, or network). Various software embodiments are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement the invention using other computer systems and/or architectures.
Computer system 1500 may also include a communications interface 1524. Communications interface 1524 allows software and data to be transferred between computer system 1500 and external devices. Examples of communications interface 1524 may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communications interface 1524 are in the form of signals 1528 which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface 1524. These signals 1528 are provided to communications interface 1524 via a communications path (e.g., channel) 1526. This channel 1526 carries signals 1528 and may be implemented using wire or cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link and other communications channels.
In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to media such as removable storage drive 1514 and a hard disk installed in hard disk drive 1512. These computer program products provide software to computer system 1500. The invention is directed to such computer program products.
1. A method for controlling a cursor on a screen, comprising:
extracting, using a computer processor, the first and second sub-slices from first and second image slices, respectively, wherein each of the first and second image slices capture an image of a portion of a finger and wherein the first and second image slices overlap in a first overlapping region and the first and second sub-slices overlap in a second overlapping region;
computing a shift between the first image slice and the second image slice based information included in the second overlapping region while ignoring at least a portion of information included in the first overlapping region that is outside of the second overlapping region; and
determining a displacement of the cursor on the screen based on the computed shift.
computing a PHAse Transform of the first and second sub-slices.
repeating the extracting, the computing, and the determining steps.
receiving the first image slice from a scanner; and
retrieving the second image slice from a memory.
storing the first image slice in the memory.
overwriting the second image slice with the first image slice in the memory.
8. A system for controlling a cursor on a screen, comprising:
a shift determining module configured to determine a shift between a first image slice and a second image slice, wherein each of the first and second image slices capture an image of a portion of a finger, the shift determining module comprising:
a control module configured to determine at least one dimension for a first sub-slice and for a second sub-slice:
an extraction module configured to extract the first and second sub-slices from the first and second image slices, respectively, wherein the first and second image slices overlap in a first overlapping region and the first and second sub-slices overlap in a second overlapping region; and
a shift computation module configured to compute the shift between the first and second image slices based on information included in the second overlapping region while ignoring at least a portion of information included in the first overlapping region that is outside of the second overlapping region; and
a cursor movement module configured to determine a displacement of the cursor on the screen based on the determined shift.
9. The system of claim 8, wherein the shift computation module is configured to compute a PHAse Transform of the first and second sub-slices.
10. The system of claim 8, wherein the shift computation module is configured to compute a correlation between the first and second sub-slices.
a sensor configured to output image slices;
wherein the shift determining module is configured to receive the first image slice from the sensor and the second image slice from the memory.
the control module is configured to overwrite the second image slice with the first image slice.
US12/115,387 2008-05-05 2008-05-05 Navigation using fourier phase technique Expired - Fee Related US8358803B2 (en)
US12/115,387 US8358803B2 (en) 2008-05-05 2008-05-05 Navigation using fourier phase technique
US20090274346A1 US20090274346A1 (en) 2009-11-05
US8358803B2 true US8358803B2 (en) 2013-01-22
ID=41257113
US12/115,387 Expired - Fee Related US8358803B2 (en) 2008-05-05 2008-05-05 Navigation using fourier phase technique
US (1) US8358803B2 (en)
CN106648175A (en) * 2016-12-30 2017-05-10 宇龙计算机通信科技(深圳)有限公司 Convenient fingerprint operation method and terminal
2008-05-05 US US12/115,387 patent/US8358803B2/en not_active Expired - Fee Related
US20090274346A1 (en) 2009-11-05
EP0977151A2 (en) 2000-02-02 Image processing apparatus, image processing method, and storage medium
JP2002269559A (en) 2002-09-20 Template-matching method of image, and image processing device
JP2007501465A (en) 2007-01-25 Biometric imaging systems and methods
Free format text: CORRECTIVE ASSIGNMENT TO CORRECT PROPERTY NUMBER 12/115,378, PREVIOUSLY RECORDED AT REEL 020907 FRAME 0090;ASSIGNORS:IRVING, RICHARD;JAHORMI, PH.D., OMID S.;REEL/FRAME:021527/0327