Patent Description:
Embodiments of a piezo based fingerprint sensor structure are described with reference to the following drawings. The same numbers are used throughout the drawings to reference like features and components:.

A piezo based fingerprint sensor structure is discussed herein. A device includes both a fingerprint sensor and a piezo structure. The fingerprint sensor senses fingerprint data identifying a pattern of a user's fingerprint. The fingerprint data for the user can be collected and analyzed in various manners in order to authenticate the sensed fingerprint. The piezo structure can be used in various manners, such as to collect data used to facilitate authenticating the sensed fingerprint data, to provide feedback to the user regarding when the fingerprint authentication process is complete, to cause different types of vibration in order to facilitate sensing fingerprint data, and so forth. Various additional feedback can also be provided to the user, using the piezo structure or other feedback mechanisms, such as feedback to notify the user to increase or decrease an amount of pressure he or she is applying to the fingerprint sensor.

<FIG> illustrates an example device <NUM> in accordance with one or more embodiments. The device <NUM> can be any of a variety of different types of devices, such as a laptop computer, a cellular or other wireless phone, a tablet computer, an entertainment device, an audio and/or video playback device, a server computer, and so forth. The device <NUM> includes a fingerprint sensor <NUM>, a piezo structure <NUM>, a fingerprint sensor control system <NUM>, a memory device <NUM>, and a power manager <NUM>.

The fingerprint sensor <NUM> senses fingerprint data of a user's finger touching the sensor <NUM>. The fingerprint data identifies a fingerprint's pattern on the finger, typically identifying the location of various ridges or minutiae of the fingerprint. Fingerprint sensor <NUM> can be implemented using any of a variety of different technologies and types of sensors, such as capacitive sensors, pressure sensors, optical sensors, thermal sensors, ultrasonic sensors, imaging sensors, and so forth.

The piezo structure <NUM> is a piezo device, such as a piezoelectric sensor, that measures the pressure or force applied to the piezo structure <NUM> and outputs an indication of that pressure or force as an electrical charge. In one or more embodiments, the piezo structure <NUM> generates and outputs a current or voltage that varies in accordance with the pressure or force applied to the fingerprint sensor <NUM>. A voltage or current can also be applied to the piezo structure <NUM>, which causes the piezo structure <NUM> to vibrate. The voltage or current is applied to the piezo structure as one or more signals that drive the piezo structure. Vibration of the piezo structure <NUM> can be used to provide haptic and/or audio feedback to a user of the device <NUM> for various purposes while sensing fingerprint data and/or authenticating a fingerprint, as discussed in more detail below.

The fingerprint sensor control system <NUM> analyzes fingerprint data for a fingerprint sensed by the fingerprint sensor <NUM> in order to authenticate the fingerprint. Various data regarding the user's fingerprint is stored in the memory device <NUM>, which can be volatile and/or nonvolatile memory (e.g., RAM, Flash memory, magnetic disk, etc.). The control system <NUM> uses this stored data to authenticate the fingerprint. The fingerprint sensor control system <NUM> can also use data received from the piezo structure <NUM> indicating an amount of pressure or force applied to the fingerprint sensor by the finger, as discussed in more detail below. The fingerprint sensor control system <NUM> can also control a voltage or current applied to the piezo structure <NUM> in order to provide feedback to a user of the device <NUM>. The control system <NUM> can also control various other feedback components, including haptic, audible, visual, and so forth components to provide feedback to a user of the device, as discussed in more detail below.

It should be noted that fingerprint authentication can be performed by the device <NUM> for its own use and/or used by another system or device. For example, the control system <NUM> can authenticate fingerprints in order to allow a user to access the device <NUM> itself, programs or applications running on the device <NUM>, other modules or components of the device <NUM>, and so forth. Alternatively, the control system <NUM> can authenticate fingerprints in order to allow a user to access another system or device coupled to the device <NUM>, another system or device accessed by the device <NUM> via the Internet or other network, and so forth.

The power manager <NUM> manages power modes, including changing power modes, of the device. These power modes can include an on (e.g., power on) mode and an off (e.g., power off) mode. These power modes can also optionally include one or more low power usage modes (e.g., modes having a reduced number of components that are powered on, modes having reduced performance of components, and so forth) such as a sleep mode, and/or one or more high power usage modes (e.g., modes having an increased number of components that are powered on, modes having increased performance of components, and so forth). The power manager <NUM> can change the power mode of the device <NUM> by performing a power-on sequence to turn on the device <NUM> when a power on command or input is received, and can change the power mode of the device <NUM> by performing a power-down sequence to turn off the device <NUM> when a power off command or input is received. The power manager <NUM> can also change the power mode of the device <NUM> by transitioning to a higher power usage mode when a wake input or other indication of additional desired performance is received, and can change the power mode of the device <NUM> by transitioning to a lower power usage mode when a sleep input or other indication of additional desired energy conservation is received.

<FIG> illustrates an example sensor structure <NUM> in accordance with one or more embodiments. Sensor structure <NUM> includes the piezo structure <NUM>, and fingerprint sensor <NUM> referenced in <FIG>, and one or more additional optional layers <NUM> The one or more layers <NUM> are referred to as being at the top of the sensor structure <NUM>, and the piezo structure <NUM> is referred to as being at the bottom of the sensor structure <NUM>. The fingerprint sensor <NUM> is implemented on top of the piezo structure <NUM>, and thus is also referred to as being situated on the piezo structure <NUM>.

As illustrated in <FIG>, the fingerprint sensor <NUM> and the piezo structure <NUM> are implemented as part of the same sensor structure <NUM>. Thus, as a user's finger <NUM> touches one of the layers <NUM> at the top of the sensor structure <NUM>, pressure is applied to the sensor structure <NUM>. This applied pressure can be sensed by the piezo structure <NUM>. Additionally, as the pressure is applied to the sensor structure <NUM>, the fingerprint sensor <NUM> can sense the fingerprint on the finger <NUM>.

The one or more layers <NUM> can provide various functionality, such as protection from scratches and abrasions, or water repelling. The one or more layers <NUM> are optional and need not be included in the sensor structure <NUM>. It should also be noted that, although illustrated as being at the top of the sensor structure <NUM>, one or more additional layers can optionally be included between the fingerprint sensor <NUM> and the piezo structure <NUM>, and/or optionally be included below the piezo structure <NUM>.

In the illustrated example of <FIG>, the piezo structure <NUM> is illustrated as being part of the sensor structure <NUM>. Alternatively, in one or more embodiments the piezo structure <NUM> can be implemented separately from the sensor structure <NUM> and/or an additional piezo structure can be included in addition to the piezo structure <NUM>.

<FIG> illustrates the control system <NUM> of <FIG> in accordance with one or more embodiments. The control system <NUM> includes a vibration control module <NUM>, a fingerprint sensing module <NUM>, an authentication module <NUM>, authentication data <NUM>, a feedback module <NUM>, and a notification module <NUM>. Although particular functionality is discussed herein with reference to particular modules, it should be noted that the functionality of individual modules discussed herein can be separated into multiple modules, and/or at least some functionality of multiple modules can be combined into a single module.

Generally, the control system <NUM> receives fingerprint data sensed by the fingerprint sensor <NUM>. The control system <NUM> optionally also receives an indication (e.g., a voltage or current) from the piezo structure <NUM> indicating an amount of pressure applied to the piezo structure <NUM>, this indication also being referred to as pressure data. The control system <NUM> can use the piezo structure <NUM> in different manners when sensing and/or authenticating the fingerprint data. For example, the control system <NUM> vibrates the piezo structure <NUM> while collecting and/or analyzing the fingerprint data, can use the pressure data to determine which stored fingerprint data to compare to the sensed fingerprint data, and so forth as discussed in more detail below.

The vibration control module <NUM> controls the vibration of the piezo structure <NUM>, including starting and stopping the vibration of the piezo structure <NUM>. Controlling the piezo structure <NUM> includes changing the vibration of the piezo structure <NUM> by altering one or more signals used to drive the piezo structure <NUM>. The piezo structure <NUM> can be vibrated in various different manners using different vibration characteristics that alter the one or more signals used to drive the piezo structure <NUM>. A collection of one or more vibration characteristics is also referred to as a vibration pattern. The vibration characteristics include one or more of the following: the frequency of each of the one or more signals, the amplitude of each of the one or more signals, the wave shape (e.g., square, triangular, etc.) of each of the one or more signals, the duty cycle of each of the one or more signals, wave phase, a duration of bursts of vibration indicated by each of the one or more signals, whether each of the one or more signals is a sweep signal and parameters of the sweep signal, other modulation factors, and so forth.

The vibration control module <NUM> can control the vibration of the piezo structure for various different reasons and in different manners in order to support various different embodiments. In one embodiment, the vibration of the piezo structure <NUM> is changed to provide feedback to a user regarding the amount of pressure he or she should apply to the fingerprint sensor, such as at any given time indicating whether he or she should apply more pressure or less pressure than is currently being applied. In another embodiment, vibration of the piezo structure <NUM> starts when the user applies pressure to the fingerprint sensor, and stops when the fingerprint data has been authenticated. In yet another embodiment, vibration of the piezo structure <NUM> is changed to cause the user to alter the pressure he or she is applying to the fingerprint sensor in order to obtain different fingerprint data. In other embodiments, vibration of the piezo structure is changed to expel water or other liquid from between ridges of the fingerprint of the user. These various embodiments are discussed in more detail below.

The fingerprint sensing module <NUM> receives the fingerprint data, also referred to as the sensed fingerprint data, from the fingerprint sensor <NUM>. The fingerprint data identifies a pattern of a user's fingerprint that was sensed or detected by the fingerprint sensor. In one embodiment, this fingerprint data is an indication of the locations where minutiae or ridges of the fingerprint are sensed or identified by the fingerprint sensor. The locations can be identified in various different manners, such as using a <NUM>-dimensional Cartesian coordinate system in which the locations where minutiae or ridges are sensed are identified using x,y coordinates. Alternatively, other coordinate systems can be used, such as Polar coordinate systems, proprietary coordinate systems, and so forth.

The fingerprint sensing module <NUM> receives the fingerprint data from the fingerprint sensor <NUM> and makes the fingerprint data available to the authentication module <NUM>. Alternatively, the fingerprint sensor <NUM> can provide the fingerprint data to the authentication module <NUM>, bypassing the fingerprint sensing module <NUM>.

The authentication data <NUM> includes data indicating one or more correct or representative fingerprint data samples for a user. The authentication data <NUM> can be stored, for example, in memory device <NUM> of <FIG>. A fingerprint data sample can be stored as part of the authentication data during an enrollment process, which refers to a process during which the user is setting up or initializing the control system <NUM> to authenticate his or her fingerprint. Alternatively, one or more fingerprint data samples can be stored at other times, as discussed in more detail below.

The authentication module <NUM> analyzes the sensed fingerprint data and compares it to stored fingerprint data maintained as part of the authentication data <NUM>. Based on this comparison, the authentication module <NUM> determines whether the fingerprint satisfies the authentication data <NUM>. When the fingerprint satisfies the authentication data (e.g., the fingerprint data matches stored fingerprint data), the fingerprint authentication succeeds and the fingerprint is authenticated. When the fingerprint does not satisfy the authentication data (e.g., the fingerprint data does not match stored fingerprint data), the fingerprint authentication fails and the fingerprint is not authenticated. The authentication module <NUM> can make this comparison in different manners in accordance with various different embodiments. In one embodiment, the authentication module <NUM> compares the sensed fingerprint data to the authentication data <NUM> and determines whether the sensed fingerprint data matches stored fingerprint data for the user. In another embodiment, the authentication module <NUM> combines multiple samples of sensed fingerprint data to generate candidate fingerprint data, compares the candidate fingerprint data to the authentication data <NUM>, and determines whether the candidate fingerprint data matches stored fingerprint data for the user. In yet another embodiment, the authentication module <NUM> determines which of multiple samples of stored fingerprint data to compare to the sensed fingerprint data based on an amount of pressure applied by the user's finger as indicated by the piezo structure <NUM>. These various embodiments are discussed in more detail below.

The authentication module <NUM> can determine whether two fingerprint data (e.g., sensed fingerprint data and stored fingerprint data, candidate fingerprint data and stored fingerprint data, etc.) match in various different manners. In one embodiment, the locations where minutiae or ridges are detected as indicated in the two fingerprint data are compared. If the number of corresponding locations in the two fingerprint data where minutiae or ridges are detected satisfies (e.g., is equal to and/or greater than) a threshold value, the two fingerprint data match; otherwise, the two fingerprint data do not match. Various different correlation or alignment techniques can be used to align the two fingerprint data so that corresponding locations (e.g., the same coordinates relative to an origin or other reference point) can be readily identified. Alternatively, various other public and/or proprietary pattern matching techniques can be used to determine whether two fingerprint data match.

The feedback module <NUM> provides feedback to indicate to a user, while his or her finger is touching the fingerprint sensor, whether the pressure he or she is applying is less than a target pressure or greater than a target pressure. The target pressure can be determined in various manners, such as during an enrollment process. The feedback module <NUM> can provide at least two types of indications: one type indicating that the amount of pressure being applied is less than the target pressure and thus that the user should apply more pressure (e.g., press harder), and another type indicating that the amount of pressure being applied is greater than the target pressure and thus that the user should apply less pressure (e.g., press lighter). Other types of indications can also be provided, such as an indication that the amount of pressure being applied is the target pressure (or within a threshold amount of the target pressure), an indication that the amount of pressure being applied is significantly less than the target pressure (e.g., at least another threshold amount less than the target pressure), an indication that the amount of pressure being applied is significantly greater than the target pressure (e.g., at least another threshold amount greater than the target pressure), and so forth.

The feedback module <NUM> can provide feedback in various different manners. In one embodiment, the feedback is haptic feedback, with the vibration of the piezo structure <NUM> being changed to provide the feedback or the haptic feedback could be generated by another vibrator in the device. In another embodiment, the feedback is audible, with the vibration of the piezo structure <NUM> being changed to provide the feedback or one or more signals applied to a speaker to provide the feedback. In yet another embodiment, the feedback is visual, with one or more lights being illuminated, portions of a display screen being illuminated, and so forth to provide the feedback.

The feedback module <NUM> can also provide feedback to indicate to a user that too much pressure is being applied for control system <NUM> to function properly. For example, if the pressure data received from the piezo structure <NUM> indicates that at least a particular threshold pressure is being applied to the piezo structure <NUM>, the feedback module <NUM> indicates to the user that he or she should not press down as hard as he or she is currently pressing. This feedback can be provided in different ways analogous to the discussion above, such as using haptic feedback, audible feedback, visual feedback, and so forth. The feedback module <NUM> can check whether at least the particular threshold pressure is being applied to the piezo structure <NUM> throughout the fingerprint data sensing and authentication process, effectively providing feedback to the user if he or she is applying too much pressure at any time when pressure is applied to the piezo structure <NUM>.

The notification module <NUM> provides a notification to one or more other components or modules of a device <NUM> in response to at least a threshold pressure being applied to the piezo structure <NUM>. This notification can be provided in a variety of different manners, such as by applying a particular voltage to a control line or other input of a component or module, invoking or otherwise activating an interface exposed by the component or module, and so forth. The notification can be used by other components or modules as a trigger for performing various operations or providing various functionality.

In one embodiment, the notification is provided to the power manager <NUM>, which can take various actions to change the power mode of the device <NUM> in response to the notification and based on a current power mode of the device <NUM>. For example, in response to the notification when the device is turned off, the power manager <NUM> can change the power mode of the device <NUM> by initiating a power-on sequence for the device <NUM> to turn on the device <NUM>. In response to the notification when the device is turned on, the power manager <NUM> can change the power mode of the device <NUM> by initiating a power-off sequence for the device <NUM> to turn off the device. Thus, the sensor structure <NUM> can be used as a power switch for the device <NUM>. As part of this power-on and/or power-off sequence, the user's fingerprint can optionally be authenticated as discussed herein, so that the device <NUM> is powered-on or powered-off only if the user's fingerprint is authenticated.

By way of another example, in response to the notification when the device is in a low power usage mode, the power manager <NUM> can change the power mode of the device <NUM> by initiating a power increase sequence (e.g., a wake sequence) for the device <NUM> to transition the device <NUM> to a higher power usage mode. In response to the notification when the device <NUM> is in a higher power usage mode, power manager <NUM> can change the power mode of the device <NUM> by initiating a power decrease sequence (e.g., a sleep sequence) for the device <NUM> to transition the device to a lower power usage mode. Thus, the sensor structure <NUM> can be used as a switch to put the device <NUM> into a higher power usage mode (e.g., wake up the device) and/or put the device <NUM> into a lower power usage mode (e.g., put the device to sleep). As part of this power increase and/or power decrease sequence, the user's fingerprint can optionally be authenticated as discussed herein, so that the device <NUM> is changed to a higher power usage mode or a lower power usage mode only if the user's fingerprint is authenticated.

In various discussions herein, reference is made to vibrating the sensor structure <NUM> or piezo structure <NUM> while sensing the fingerprint data. This vibrating while sensing can facilitate authenticating the fingerprint in various manners. For example, a typical user reaction to vibration of the sensor structure <NUM> is to change the pressure applied to the sensor structure. This change in pressure may be small and may not be noticeable to the user, but can be present nonetheless. This change in pressure can result in additional minutiae or ridges being sensed by the fingerprint sensor <NUM>, thus making additional fingerprint data available to the authentication module <NUM> when determining whether stored fingerprint data for the user is matched.

By way of another example, situations can arise in which the user has moisture (water or other liquids) on his or her finger. By vibrating the sensor structure, the moisture can be expelled from between minutiae or ridges of the user's fingerprint. Expelling such water can result in the fingerprint sensor <NUM> sensing additional minutiae or ridges, thus making additional fingerprint data available to the authentication module when determining whether stored fingerprint data for the user is matched.

Various different embodiments for using the piezo based fingerprint sensor structure discussed herein are discussed with reference to the flowcharts of <FIG>. It should be noted that actions set forth in different embodiments can optionally be combined and implemented concurrently. Each of the processes in <FIG> is implemented by a device, such as the device <NUM> of <FIG>. Various aspects of these processes can be implemented by a fingerprint sensor control system of a device, such as the control system <NUM> of <FIG>. Each of the processes in <FIG> can be implemented in software, firmware, hardware, or combinations thereof. Each of the processes in <FIG> is shown as a set of acts and is not limited to the order shown for performing the operations of the various acts. Additionally, each of the processes in <FIG> is an example of using the piezo based fingerprint sensor structure discussed herein; additional discussions of using the piezo based fingerprint sensor structure are included herein with reference to different FIGs.

<FIG> illustrates an example process <NUM> in which vibration of a sensor structure <NUM> is changed by altering the vibration of a piezo structure <NUM> included in the sensor structure <NUM> in accordance with the claimed embodiment. In process <NUM>, a user applying pressure to the sensor structure <NUM> is detected (act <NUM>). The sensor structure <NUM> includes a fingerprint sensor <NUM> and a piezo structure <NUM>. A user applying pressure to the sensor structure is detected by the piezo structure <NUM> in response to at least a threshold pressure being applied to the piezo structure.

In response to detecting the user applying pressure to the sensor structure, the control system <NUM> starts vibrating the sensor structure (act <NUM>). The control system starts vibrating the sensor structure <NUM> by starting vibrating the piezo structure <NUM> included in the sensor structure <NUM>. The piezo structure <NUM> can be vibrated in accordance with any of a variety of vibration patterns as discussed above.

After vibrating of the sensor structure has started, fingerprint data is analyzed in an attempt to authenticate the user's fingerprint (act <NUM>). During the analysis in act <NUM>, the fingerprint sensor <NUM> senses fingerprint data (act <NUM>) and the vibration control module <NUM> changes the vibration of the sensor structure <NUM> (act <NUM>). The vibration control module <NUM> can change the vibration of the sensor structure <NUM> by altering the vibrating of the piezo structure <NUM> in accordance with any of a variety of vibration patterns as discussed above. The vibration control module <NUM> can change the vibration of the sensor structure <NUM> in accordance with one or more predefined patterns and/or in accordance with one or more patterns obtained from another module or system. Alternatively, the vibration control module <NUM> can change the vibration of the sensor structure <NUM> in a variable manner by randomly or pseudo-randomly selecting vibration characteristics.

Acts <NUM> and <NUM> are repeated during analysis of the fingerprint data. Thus, in act <NUM>, fingerprint data is repeatedly sensed while vibration of the sensor structure is changed and the sensed fingerprint data is analyzed to authenticate the fingerprint. The fingerprint satisfies the authentication data and is successfully authenticated when analysis of the fingerprint data determines that the fingerprint data matches fingerprint data stored as part of the authentication data for the user as discussed above. In such a case, the vibration control module <NUM> stops vibrating the sensor structure <NUM> (act <NUM>).

When the fingerprint does not satisfy the authentication data, the fingerprint authentication fails and the vibration control module <NUM> stops vibrating the sensor structure <NUM> (act <NUM>). In situations in which the fingerprint does not satisfy the authentication data, the control system <NUM> can determine how long to analyze the fingerprint data in an attempt to successfully authenticate the fingerprint data in a variety of different manners. For example, the control system <NUM> can obtain (e.g., be preconfigured with, receive from another module or system, and so forth) an indication of a particular number of seconds to analyze the fingerprint data before determining that the fingerprint is not authenticated. By way of another example, the control system <NUM> can continue to analyze the fingerprint data for as long as at least a threshold pressure is being applied by the user to the sensor structure <NUM>.

It should be noted that in process <NUM> vibration of the sensor structure <NUM> starts in response to detection of a user applying pressure to the sensor structure <NUM>, and ends when the authentication either succeeds or fails. The vibration thus provides haptic feedback to the user indicating when analysis of his or her fingerprint begins and ends. The user therefore knows that the authentication of his or her fingerprint is not completed until the vibration of the sensor structure <NUM> stops, and correspondingly knows that the authentication of his or her fingerprint is completed at the time the vibration of the sensor structure <NUM> stops.

<FIG> illustrates another example process <NUM> in which the vibration of a sensor structure <NUM> is changed by altering the vibration of a piezo structure <NUM> included in the sensor structure <NUM> in accordance with one or more embodiments. Process <NUM> is similar to process <NUM> of <FIG>, including the acts <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> as discussed above with reference to <FIG>.

However, process <NUM> differs from process <NUM> in that sensing the fingerprint data and the change in vibration of the sensor structure <NUM> does not occur during analysis of the fingerprint data. Rather, analysis of the fingerprint data to authenticate the fingerprint (act <NUM>) occurs after the fingerprint data is repeatedly sensed and the vibration of the sensor structure <NUM> is repeatedly changed in acts <NUM> and <NUM>. Generally, in process <NUM> the fingerprint data is collected (sensed) while changing vibration of the sensor structure <NUM>, and then after the fingerprint data collection and vibration changing is completed, the fingerprint data is analyzed to authenticate the fingerprint. In contrast, in process <NUM>, the fingerprint data is analyzed to authenticate the fingerprint while the fingerprint data is being collected and the vibration of the sensor structure <NUM> is being changed.

The control system <NUM> can determine how long to repeat the sensing of fingerprint data and changing of the vibration of the sensor structure <NUM> in acts <NUM> and <NUM> in a variety of different manners. For example, the control system <NUM> can obtain (e.g., be preconfigured with, receive from another module or system, and so forth) an indication of a particular number of seconds to repeat acts <NUM> and <NUM>, can obtain (e.g., be preconfigured with, receive from another module or system, and so forth) an indication of how many samples of fingerprint data to sense in act <NUM>, and so forth.

<FIG> illustrates an example process <NUM> in which feedback is provided indicating whether too much pressure or too little pressure is being applied to a sensor structure <NUM> in accordance with one or more embodiments. In process <NUM>, the fingerprint data of a user's finger applying pressure to a sensor structure <NUM> is sensed (act <NUM>). The sensor structure <NUM> includes a fingerprint sensor <NUM> and a piezo structure <NUM>, as illustrated in <FIG>. Thus, a user applying pressure to the sensor structure <NUM> can be detected by the piezo structure <NUM> as discussed above, and the fingerprint data can be sensed by the fingerprint sensor <NUM> as discussed above.

A target pressure is identified (act <NUM>). In one or more embodiments, the target pressure is maintained as part of the authentication data for the user. The target pressure can be determined in a variety of different manners. In an embodiment the target pressure is determined during an enrollment process. During the enrollment process, the user fingerprint data is sensed (e.g., by the fingerprint sensor as discussed above) and stored as authentication data. Additionally, the pressure being applied by the user at the time that this user fingerprint data is sensed is also stored as associated with the stored fingerprint data and used as the target pressure when the user subsequently desires to have his or her fingerprint authenticated (e.g., by applying pressure to the sensor structure).

In another embodiment, during the enrollment process, multiple samples of fingerprint data for the user are sensed. One of the multiple samples is determined to be stored as authentication data for the user, and the pressure being applied by the user at the time the determined sample is sensed is stored as the target pressure. The one of the multiple samples that is to be stored as authentication data can be determined in a variety of different manners. For example, the number of locations where minutiae or ridges are identified in each sample can be identified and the sample having the largest number of locations where minutiae or ridges are identified is determined to be the sample stored as authentication data. By way of another example, a score or ranking can be assigned to each sample using various criteria, and the sample having the highest (or alternatively lowest) score or ranking is determined to be the sample stored as authentication data.

Alternatively, the target pressure can be determined in other manners. For example, during a previous attempt by the user to have his or her fingerprint authenticated, an indication of the pressure being applied to the sensor structure <NUM> by the user at the time that the fingerprint data that matched the stored fingerprint data was sensed can be saved. This saved indication of the pressure can be associated with the stored fingerprint data for the user and used as the target pressure during subsequent attempts by the user to have his or her fingerprint authenticated.

The control system attempts to authenticate the fingerprint (act <NUM>). The fingerprint is authenticated by analyzing the fingerprint data (act <NUM>). If analysis of the fingerprint data determines that the fingerprint data matches fingerprint data stored as authentication data for the user as discussed above, then the fingerprint satisfies the authentication data and is successfully authenticated.

While attempting to authenticate the fingerprint in act <NUM>, feedback is provided indicating to the user whether the pressure being applied to the sensor structure <NUM> is greater than or less than the target pressure (act <NUM>). The analysis in act <NUM> and the providing of feedback in act <NUM> are performed repeatedly while the user is applying pressure to the sensor structure <NUM>, optionally providing continual feedback to the user regarding whether he or she should apply more or less pressure to the sensor structure <NUM>.

The feedback module <NUM> of <FIG> can provide feedback in various different manners. In one embodiment, the feedback is haptic feedback. The feedback module <NUM> communicates with the vibration control module <NUM> of <FIG> to change the vibration of the piezo structure in the appropriate manner based on the type of feedback to be provided. Because the sensor structure <NUM> includes the piezo structure <NUM>, the vibration of the sensor structure <NUM> is changed by altering the vibration of the piezo structure <NUM>. Different vibration patterns can be used for different types of feedback, such as one pattern being used to indicate that greater than the target pressure is being applied to the sensor structure <NUM>, and a different pattern being used to indicate that less than the target pressure is being applied to the sensor structure.

In another embodiment, the feedback module <NUM> provides audible feedback, such as by changing the vibration of the piezo structure <NUM> so that it emits an audible tone, applying one or more signals to a speaker, and so forth. Different audible signals can be used for different types of feedback, such as one sound or audible pattern being used to indicate that greater than the target pressure is being applied to the sensor structure <NUM>, and a different sound or audible pattern being used to indicate that less than the target pressure is being applied to the sensor structure <NUM>.

In yet another embodiment, the feedback module <NUM> provides visual feedback, such as by illuminating particular lights (e.g., particular light emitting diodes (LEDs)), displaying particular colors using one or more lights, displaying arrows or other indicators on a display screen, and so forth. Different visual signals can be used for different types of feedback. For example, one color can be used to indicate that greater than the target pressure is being applied to the sensor structure <NUM>, and a different color can be used to indicate that less than the target pressure is being applied to the sensor structure <NUM>. By way of another example, one symbol can be displayed to indicate that greater than the target pressure is being applied to the sensor structure <NUM>, and a different symbol can be displayed to indicate that less than the target pressure is being applied to the sensor structure <NUM>. The display could also be used to indicate the need to relocate the finger relative to the sensor structure <NUM>.

It should be noted that the analysis of the fingerprint data in act <NUM> can be performed repeatedly regardless of the pressure being applied by the user to the sensor structure. Alternatively, the fingerprint data may not be analyzed in act <NUM> until the pressure being applied to the sensor structure <NUM> by the user is close to (e.g., within a threshold amount of) the target pressure.

When the fingerprint satisfies the authentication data, the fingerprint authentication succeeds (act <NUM>). On the other hand, when the fingerprint does not satisfy the authentication data, the fingerprint authentication fails (act <NUM>). In situations in which the fingerprint does not satisfy the authentication data, the control system <NUM> can determine how long to analyze the fingerprint data in an attempt to successfully authenticate the fingerprint data in a variety of different manners as discussed above with reference to process <NUM> of <FIG>.

It should be noted that act <NUM> of process <NUM> can be implemented in process <NUM> of <FIG> or process <NUM> of <FIG> by changing the vibration of the sensor structure in act <NUM> in the manner as discussed in act <NUM> of process <NUM>. Thus, in process <NUM> or process <NUM>, the manner in which the vibration is changed in act <NUM> can vary based on whether the pressure being applied to the sensor structure is greater than or less than the target pressure.

<FIG> illustrates an example process <NUM> in which samples of sensed fingerprint data are combined to authenticate the fingerprint in accordance with one or more embodiments. In process <NUM>, fingerprint data of a user's finger applying pressure to a sensor structure <NUM> is sensed (act <NUM>). The sensor structure includes a fingerprint sensor <NUM> and a piezo structure <NUM> as illustrated in <FIG>. Thus, a user applying pressure to the sensor structure <NUM> can be detected by the piezo structure <NUM> as discussed above, and the fingerprint data can be sensed by the fingerprint sensor <NUM> as discussed above.

The control system collects multiple fingerprint data samples in act <NUM>. These multiple fingerprint data samples are fingerprint data sensed at different times and/or during different vibration patterns of the sensor structure <NUM>. Thus, as part of act <NUM>, the vibration of the sensor structure <NUM> is changed. The vibration of the sensor structure can be changed by altering the vibration of the piezo structure in various manners as discussed above.

Candidate fingerprint data is generated (act <NUM>) by combining the fingerprint data samples collected in act <NUM>. The collected fingerprint data samples can be combined in a variety of different manners. In one or more embodiments, the collected fingerprint data samples are combined by averaging locations of minutiae or ridges detected in each collected sample. For example, each location in each sample can have a value of zero indicating that a minutiae or ridge was not sensed at that location, can have a value of one indicating a minutiae or ridge was sensed at that location, or can have a value indicating a likelihood or probability of a minutiae or ridge being sensed at that location, and so forth. These values for corresponding locations can be averaged together for the multiple collected samples.

Alternatively, the collected fingerprint data samples can be combined in other manners. For example, each location in each sample can have a value of zero indicating that a minutiae or ridge was not sensed at that location, or a value of one indicating a minutiae or ridge was sensed at that location. The values for corresponding locations can be logically OR'd together, so that if a minutiae or ridge was sensed at a location in at least one of the collected samples then that location in the candidate fingerprint data indicates that a minutiae or ridge was sensed at that location, and otherwise the candidate fingerprint data indicates that a minutiae or ridge was not sensed at that location. Alternatively, the values for corresponding locations can be logically AND'd together, so that if a minutiae or ridge was sensed at a location in all of the collected samples then that location in the candidate fingerprint data indicates that a minutiae or ridge was sensed at that location, and otherwise the candidate fingerprint data indicates that a minutiae or ridge was not sensed at that location.

In the combining of fingerprint data samples in act <NUM>, all of the data samples collected in act <NUM> can be combined or alternatively a subset of the samples collected in act <NUM> can be combined. The collected samples that are included in the subset of the samples can be determined in a variety of different manners. For example, the pressure applied to the sensor structure <NUM> at the time each fingerprint data sample is sensed can be identified, and the subset can include fingerprint data samples sensed when the pressure applied to the sensor structure <NUM> was within a particular pressure range. By way of another example, the subset can include ones of the fingerprint data samples that are similar to one another (e.g., two fingerprint data samples being similar to one another if minutiae or ridges are detected in at least a threshold number of corresponding locations in the two fingerprint data samples).

The candidate fingerprint data is then compared to stored fingerprint data (act <NUM>). If the candidate fingerprint data matches the stored fingerprint data (satisfies authentication data), the fingerprint authentication succeeds (act <NUM>). On the other hand, if the candidate fingerprint data does not match the stored fingerprint data (does not satisfy authentication data), the fingerprint authentication fails (act <NUM>).

The stored fingerprint data can be determined in a variety of different manners. In one or more embodiments, the stored fingerprint data is generated during an enrollment process in the same manner as the candidate fingerprint data is generated in act <NUM>. Alternatively, the stored fingerprint data is the candidate fingerprint data generated during a previous attempt by the user to have his or her fingerprint authenticated, a combination of collected fingerprint data samples from multiple previous attempts by the user to have his or her fingerprint authenticated (the collected fingerprint data samples being combined in a variety of different manners analogous to the discussion in act <NUM>), and so forth.

In one or more embodiments, acts <NUM>, <NUM>, and <NUM> of process <NUM> can be implemented by acts <NUM>, <NUM>, and <NUM> of process <NUM>. Similarly, acts <NUM>, <NUM>, and <NUM> of process <NUM> can be implemented by acts <NUM>, <NUM>, and <NUM> of process <NUM>. Thus, in process <NUM> or process <NUM>, the sensed fingerprint data can be multiple fingerprint data samples collected and combined as discussed in process <NUM>.

<FIG> illustrates an example process <NUM> in which sensed fingerprint data is compared to stored fingerprint data based on the pressure being applied by the user in accordance with one or more embodiments. In process <NUM>, fingerprint data of a finger of a user applying pressure to a sensor structure is sensed (act <NUM>). The control system also detects the pressure applied to the sensor structure (act <NUM>). The sensor structure includes a fingerprint sensor and a piezo structure, such as the fingerprint sensor <NUM> and the piezo structure <NUM> of <FIG>. Thus, a user applying pressure to the sensor structure, as well as the pressure applied to the sensor structure, can be detected by the piezo structure as discussed above, and the fingerprint data can be sensed by the fingerprint sensor as discussed above.

Stored fingerprint data associated with the detected pressure for the user is obtained (act <NUM>). The stored fingerprint data is stored as authentication data as discussed above. Multiple different samples of fingerprint data can be stored as authentication data, each sample of fingerprint data being associated with a particular pressure. The stored fingerprint data associated with the pressure that matches the pressure detected in act <NUM> is obtained in act <NUM>. The pressure that matches the pressure detected in act <NUM> can be determined in different manners, such as being the pressure that is closest to the pressure detected in act <NUM>.

The stored fingerprint data obtained in act <NUM> is then compared to the sensed fingerprint data (act <NUM>). If the obtained fingerprint data matches the sensed fingerprint data, then the fingerprint authentication is successful (act <NUM>). On the other hand, if the obtained fingerprint data does not match the sensed fingerprint data, then the fingerprint authentication fails (act <NUM>).

In process <NUM>, the authentication data includes one or more samples of fingerprint data and associated pressures. The samples can be obtained in a variety of different manners. In one embodiment, the samples are obtained during an enrollment process. During the enrollment process, the user applies different pressures to a sensor structure <NUM> and, as those different pressures are applied, the fingerprint data of the finger is stored along with the pressure being applied at the time the fingerprint data is stored. Alternatively, each time the user has his or her fingerprint successfully authenticated, the sensed fingerprint data and pressure applied to the sensor structure is stored as one of the multiple samples. If the detected pressure is the same as (e.g., equal to or within a threshold amount of) the pressure of a sample already stored, various actions can be taken. For example, the newly sensed fingerprint data and associated pressure can be ignored (not stored as one of the multiple samples), can replace the fingerprint data and associated pressure of the sample that is the same as the detected pressure, can be combined with the fingerprint data (e.g., in any of a variety of manners analogous to the discussion above regarding generating candidate fingerprint data in process <NUM> of <FIG>) and one of the associated pressures selected or the associated pressures combined (e.g., averaged), and so forth.

By way of another example, the sample(s) of fingerprint data and associated pressures can include a single sample of fingerprint data and associated pressure. The single sample of fingerprint data can be identified in different manners. In one or more embodiments, during an enrollment process multiple samples of fingerprint data for the user are sensed and one of those multiple samples is selected as the single sample of fingerprint data. The single sample can be the sample having the largest number of locations where minutiae or ridges are identified, be the sample having the highest (or alternatively lowest) score or ranking based on various other criteria, and so forth.

It should be noted that in process <NUM>, no vibration of the sensor structure <NUM> need be performed. Alternatively, the sensor structure <NUM> can be vibrated in various manners as discussed above. For example, while sensing the fingerprint data and detecting the pressure in acts <NUM> and <NUM>, the vibration of the sensor structure <NUM> may be changed as discussed above (e.g., as discussed with reference to act <NUM> of <FIG> or <FIG>, or with reference to act <NUM> of <FIG>).

<FIG> illustrates an example process <NUM> in which the user's finger applying pressure to a sensor structure <NUM> is used to change a power mode of a device <NUM> in accordance with one or more embodiments. In process <NUM>, a user applying pressure to the sensor structure <NUM> is detected (act <NUM>). The sensor structure <NUM> includes a fingerprint sensor <NUM> and a piezo structure <NUM>. A user applying pressure to the sensor structure <NUM> is detected by the piezo structure <NUM> in response to at least a threshold pressure being applied to the piezo structure <NUM>.

In response to detecting the user applying pressure to the sensor structure <NUM>, the notification module <NUM> notifies a power manager <NUM> that at least the threshold pressure has been applied to the piezo structure <NUM> (act <NUM>). The power manager <NUM> responds to this notification based on whether fingerprint authentication is activated for the device <NUM>. In one embodiment, fingerprint authentication for the device <NUM> can be activated and/or deactivated by a user of the device <NUM>, such as by selection of a configuration setting. In another embodiment, fingerprint authentication for the device can be activated and/or deactivated by another entity, such as an administrator of the device <NUM>.

When fingerprint authentication is activated for the device <NUM>, the power manager <NUM> changes the power mode of the device only if the user's fingerprint is authenticated by the authentication module <NUM> (act <NUM>). The change in power mode in act <NUM> can be, for example, powering on the device <NUM> if the device <NUM> is powered off, or transitioning to a higher power usage mode if the device <NUM> is powered on but in a low power usage mode. It should be noted that the power manager <NUM> may perform part of a power-on sequence for the device <NUM> in order for the authentication module <NUM> to authenticate the user's fingerprint, but need not complete the power-on sequence or fully power-on the device <NUM>.

When fingerprint authentication is not activated for the device <NUM>, the power manager <NUM> changes the power mode of the device without regard for whether the authentication module <NUM> verifies the user's fingerprint (act <NUM>). The change in power mode in act <NUM> can be, for example, powering on the device <NUM> if the device <NUM> is powered off, or transitioning to a higher power usage mode if the device <NUM> is powered on but in a low power usage mode.

It should be noted that in process <NUM>, no vibration of the sensor structure <NUM> need be performed. Alternatively, the sensor structure <NUM> can be vibrated in various manners as discussed above. For example, authenticating the user fingerprint in act <NUM> can be performed using any of the techniques discussed above with reference to <FIG>.

<FIG> illustrates various components of an example electronic device <NUM> that can be implemented as a device as described with reference to any of the previous <FIG>. The device may be implemented as any one or combination of a fixed or mobile device, in any form of a consumer, computer, portable, user, communication, phone, navigation, gaming, messaging, Web browsing, paging, media playback, and/or other type of electronic device, such as the device <NUM> described with reference to <FIG>.

The electronic device <NUM> can include one or more data input ports <NUM> via which any type of data, media content, and/or inputs can be received, such as user-selectable inputs, messages, music, television content, recorded video content, and any other type of audio, video, and/or image data received from any content and/or data source. The data input ports <NUM> may include USB ports, coaxial cable ports, and other serial or parallel connectors (including internal connectors) for flash memory, DVDs, CDs, and the like. These data input ports may be used to couple the electronic device to components, peripherals, or accessories such as keyboards, microphones, or cameras.

The electronic device <NUM> of this example includes a processor system <NUM> (e.g., any of microprocessors, controllers, and the like), or a processor and memory system (e.g., implemented in an SoC), which process computer-executable instructions to control operation of the device. A processing system may be implemented at least partially in hardware, which can include components of an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon and/or other hardware. Alternatively or in addition, the electronic device can be implemented with any one or combination of software, hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits, which are generally identified at <NUM>. Although not shown, the electronic device can include a system bus or data transfer system that couples the various components within the device. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures.

The electronic device <NUM> also includes one or more memory devices <NUM> that enable data storage, examples of which include random access memory (RAM), non-volatile memory (e.g., read-only memory (ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. A memory device <NUM> provides data storage mechanisms to store the device data <NUM>, other types of information and/or data, and various device applications <NUM> (e.g., software applications). For example, an operating system <NUM> can be maintained as software instructions with a memory device and executed by the processor system <NUM>.

In embodiments, the electronic device <NUM> includes a fingerprint sensor control system <NUM>, described with reference to <FIG> or <FIG>. Although represented as a software implementation, the fingerprint sensor control system <NUM> may be implemented as any form of a control application, software application, signal-processing and control module, firmware that is installed on the device, a hardware implementation of the controller, and so on. The electronic device <NUM> also includes a sensor structure <NUM> described with reference to <FIG>.

Claim 1:
A method comprising:
starting vibrating (<NUM>) a sensor structure, in response to at least a first threshold pressure being applied (<NUM>) to the sensor structure of a device by a finger;
collecting (<NUM>) fingerprint data while varying vibration (<NUM>) of the sensor structure, wherein the sensor structure is vibrated such that additional minutiae or ridges of the finger are sensed by the sensor structure;
analyzing the fingerprint data, sensed by the sensor structure, to authenticate (<NUM>, <NUM>) a fingerprint of the finger; and
ceasing vibrating (<NUM>, <NUM>) the sensor structure, in response to completing analyzing of the fingerprint data.