USE OF TOUCH INPUT DATA TO IMPROVE THE PERFORMANCE OF A FINGERPRINT SENSOR
Patent Information
- Application Number
- DE112022007267
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-05-23
- Publication Date
- 2025-03-06
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
GENERAL STATE OF THE ART
[0001] A computing device may include a touch or other presence sensor capable of detecting user input. For example, a computing device may include a presence-sensitive display capable of both displaying graphical objects and receiving user input to enable user interaction with those objects. Some example interactions include the user moving a finger across the presence-sensitive display to drag an object and / or causing the computing device to scroll. A computing device may also include a fingerprint sensor. In some examples, the computing device may require the user to place their finger on the fingerprint sensor as part of a fingerprint authentication process. SUMMARY
[0002] A computing device can use touch input data generated by a touch sensor (e.g., coordinates of a touch input, a set of heatmaps associated with the touch input, etc.) and fingerprint data generated by a fingerprint sensor (e.g., one or more images) to generate at least a partial fingerprint of a user's finger. For example, the computing device can use the touch input data to determine the areas (e.g., locations, points, regions, etc.) of the finger that correspond to the portions of the fingerprint captured by the fingerprint sensor. Based on the respective area of each portion of the fingerprint captured by the fingerprint sensor, the computing device can align (e.g., combine, stitch, etc.) the portions of the user's fingerprint when generating the at least partial fingerprint.Therefore, a fingerprint registration process that uses the at least partial fingerprint determined according to the techniques of this disclosure may be superior in terms of accuracy, quality, speed, etc.
[0003] In one example, a method involves detecting, by a presence-sensitive display of a computing device, a first touch input of a finger at a first time; during the detection of the first touch input, acquiring, by a fingerprint sensor of the computing device, a first portion of a fingerprint of the finger, the fingerprint sensor being configured to acquire the fingerprint through the presence-sensitive display; detecting, by the presence-sensitive display, a second touch input of the finger at a second time; during the detection of the second touch input, acquiring, by the fingerprint sensor, a second portion of the fingerprint of the finger; determining, by the computing device, a first surface of the finger that corresponds to the first portion of the fingerprint and a second surface of the finger that corresponds to the second portion of the fingerprint;and generating, by the calculating device, at least a partial fingerprint of the finger based on the first section of the fingerprint, the first surface of the finger, the second section of the fingerprint and the second surface of the finger.
[0004] In another example, a computing device includes a presence-sensitive display configured to detect touch input; a fingerprint sensor configured to obtain a fingerprint from the presence-sensitive display; one or more processors; and memory storing instructions which, when executed by the one or more processors, cause the one or more processors to: receive, from the presence-sensitive display, an initial touch input from a finger at a first time point; while the presence-sensitive display detects the initial touch input, receive, from the fingerprint sensor, an initial portion of the fingerprint from the finger; receive, from the presence-sensitive display, a second touch input from the finger at a second time point;While the presence-sensitive display detects the second touch input, the fingerprint sensor receives a second section of the fingerprint; determines a first surface of the finger corresponding to the first section of the fingerprint and a second surface of the finger corresponding to the second section of the fingerprint; and generates at least a partial fingerprint of the finger based on the first section of the fingerprint, the first surface of the finger, the second section of the fingerprint, and the second surface of the finger.
[0005] In another example, a persistent, computer-readable storage medium is encoded with instructions that, when executed by one or more processors of a computing device, cause the one or more processors to: a presence-sensitive display configured to detect touch input; a fingerprint sensor configured to obtain a fingerprint of a finger from the presence-sensitive display; one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: receive, from the presence-sensitive display, an initial touch input of a finger at an initial time; while the presence-sensitive display detects the initial touch input, receive, from the fingerprint sensor, an initial portion of the fingerprint of the finger;Receiving, from the presence-sensitive display, a second touch input from the finger at a second time; while the presence-sensitive display detects the second touch input, receiving, from the fingerprint sensor, a second section of the finger's fingerprint; determining a first surface of the finger corresponding to the first section of the fingerprint and a second surface of the finger corresponding to the second section of the fingerprint; and generating at least a partial fingerprint of the finger based on the first section of the fingerprint, the first surface of the finger, the second section of the fingerprint, and the second surface of the finger.
[0006] In another example, a computing device includes: a means for detecting a first touch input of a finger at a first time point; a means for obtaining a first part of a fingerprint of the finger while the first touch input is detected; a means for detecting a second touch input of the finger at a second time point; a means for obtaining a second part of the fingerprint of the finger while the second touch input is detected; a means for determining a first surface of the finger that corresponds to the first part of the fingerprint and a second surface of the finger that corresponds to the second part of the fingerprint; and a means for generating at least a partial fingerprint of the finger based on the first part of the fingerprint, the first surface of the finger, the second part of the fingerprint, and the second surface of the finger.
[0007] The details of one or more examples of the disclosure are set forth in the accompanying drawings and the description below. Further features, functions, and advantages of the disclosure will become apparent from the description, the drawings, and the claims. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 is a conceptual representation illustrating an exemplary computing device incorporating a presence-sensitive display, according to one or more aspects of the present disclosure. Fig. Figure 2 is a block diagram illustrating further details of a computing device that performs fingerprint registration according to one or more techniques of this disclosure. Fig. Figure 3 is a conceptual representation illustrating exemplary intrinsic capacity data generated by a presence-sensitive display of a computing device according to one or more techniques of this disclosure. Fig. Figure 4 is a conceptual representation illustrating exemplary countercapacitance data generated by a presence-sensitive display of a computing device according to one or more techniques of this disclosure. Fig. 5A-5B are conceptual representations illustrating a variety of heatmaps according to one or more techniques of this revelation. Fig. Figures 6A-6D are conceptual diagrams illustrating exemplary techniques for determining a partial fingerprint according to one or more techniques of this disclosure. Fig. Figures 7A-7B are conceptual representations of exemplary user interfaces that specify finger positions according to one or more techniques of this disclosure. Fig. Figure 8 is a flowchart illustrating exemplary operations of an exemplary computing device according to one or more aspects of the present disclosure. DETAILED DESCRIPTION
[0008] Fig. Figure 1 is a conceptual representation illustrating an exemplary computing device 100. Fig. Figure 1 merely illustrates a particular example of the calculating device 100, and in other cases, many other examples of the calculating device 100 can be used. In the example of Fig. 1. The computing device 100 can be a body-worn computing device, a mobile computing device, or any other computing device capable of receiving user input. The computing device 100 can be a subset of those described in the exemplary computing device 100. Fig. The components included in 1 may include additional components, or may include additional components that are in Fig. 1. Not shown, include.
[0009] In the example of Fig. 1. The computing device 100 can be a mobile phone, such as a smartphone. However, the computing device 100 can also be any other type of computing device, such as a camera device, a tablet computer, a personal digital assistant (PDA), a smart speaker, a laptop computer, a desktop computer, a gaming system, a media player, an e-book reader, a television platform, a motor vehicle navigation system, or a wearable computing device (e.g., a computerized watch). As in Fig. As shown in Figure 1, the computing device 100 includes one or more presence-sensitive displays 102 (“presence-sensitive display 102”), one or more processors 104 (“processor 104”), one or more touch sensors 106 (“touch sensor 106”), one or more fingerprint sensors 108 (“fingerprint sensor 108”) and one or more storage devices 110 (“storage device 110”).
[0010] The presence-sensitive display 102 can function as either an input and / or output device for the computing device 100. The presence-sensitive display 102 can be implemented using various techniques. For example, the presence-sensitive display 102 can function as an input device using a presence-sensitive input screen, such as a capacitive touchscreen or a projective capacitive screen. The presence-sensitive display 102 can also function as an output device (e.g.,Display device) using one or more arbitrary display devices, such as liquid crystal displays (LCDs), matrix displays, light-emitting diode displays (LEDs), organic light-emitting diode displays (OLEDs), e-ink displays, or similar monochrome or color displays capable of outputting visible information to a user of the computing device 100. In the example of . Fig. 1. The presence-sensitive display 102 can be a presence-sensitive display capable of both receiving user input and displaying graphical data.
[0011] The presence-sensitive display 102 can enable the operation of one or more sensors beneath it. For example, sensor signals and other external signals can pass through different layers of the presence-sensitive display 102 (making the presence-sensitive display a "pass-through display"). To facilitate the pass-through nature of the presence-sensitive display 102, various back covers on the presence-sensitive display 102 can be omitted in the assembly of the presence-sensitive display 102 at locations above and / or adjacent to a location of the fingerprint sensor 108 beneath the presence-sensitive display 102.For example, the presence-sensitive display 102 can include a back cover formed of foam (or other types of cushioning materials) and copper (Cu) foils, which are removed in areas of the back cover above and / or adjacent to a location of the fingerprint sensor 108. Omitting the back cover allows the sensor signals and other external signals (e.g., light reflected from a user's finger) to pass through the presence-sensitive display 102.
[0012] The presence-sensitive display 102 can detect input (e.g., touch and non-touch input) from a user of the respective computing device 100. For example, the presence-sensitive display 102 can detect input by recognizing one or more gestures from a user (e.g., touching, pointing, and / or swiping at or near one or more points on the presence-sensitive display 102 with a finger, stylus, or other user input element). The presence-sensitive display 102 can output information to a user in the form of a user interface, which may be associated with functionality provided by the computing device 100. Such user interfaces may be associated with computer platforms, operating systems, applications, and / or services that run on or are accessible through the computing device 100 (e.g.,electronic messaging applications, chat applications, internet browser applications, mobile or desktop operating systems, social media applications, electronic games, menus and other types of applications).
[0013] The processor 104 can implement functionality and / or execute instructions within the computing device 100. Examples of the processor 104 include, but are not limited to, one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Accordingly, the term "processor" in this context can refer to any of the aforementioned structures or any other structure suitable for implementing the techniques described in this document.
[0014] The computing device 100 can include the touch sensor 106 (e.g., a capacitive touch sensor). The touch sensor 106 can be constructed from a matrix of row and column electrodes on each side of a dielectric material. The electrodes of the touch sensor 106 can be connected to a touch controller that can both drive the electrodes with a voltage signal and detect the resulting changes in capacitance. When an electrode is driven with a voltage signal, the inherent capacitance of the electrode relative to other objects (such as a human finger, another electrode, or ground) can be measured.
[0015] The computing device 100 can detect one or more touch inputs 112 (e.g., tapping, pressing, sliding, swiping, etc.) on the presence-sensitive display 102 based on the measured capacitance of the electrodes of the touch sensor 106. For example, the touch sensor 106 can detect the touch inputs 112 at a plurality of touch sensor cells and can generate a corresponding capacitance value at each touch sensor cell that detects the touch inputs 112. The touch sensor 106 can generate touch input data based on the location of each of the touch sensor cells that detects the touch inputs 112 and the corresponding capacitance value of each of the touch sensor cells. The touch input data can be stored in a touch input data repository 120.
[0016] In general, the capacitance value of each touch sensor cell can change in response to pressure exerted by a touch element on the presence-sensitive display 102, such as a finger. For example, higher pressure can correlate with higher capacitance values, and lower pressure can correlate with lower capacitance values.
[0017] In some examples, the touch input data can include a sequence of capacitance values (“capacitance values”). The capacitance values can represent the capacitance reflected by touch inputs 112 detected at different times (e.g., a first time, a second time, a third time, etc.) on the presence-sensitive display 102. The capacitance values can define a capacitance for each point of a two-dimensional grid of the presence-sensitive display 102 (thus defining what can be called a “heatmap” or “capacitive heatmap”). Thus, the computing device 100 can determine a multitude of heatmaps based on touch input data associated with the touch inputs 112 generated by the touch sensor 106. The heatmaps can include capacitance values within a region of the presence-sensitive display 102.
[0018] The computing device 100 can include the fingerprint sensor 108. The fingerprint sensor 108 can be positioned below one or more layers of the presence-sensitive display 102, such as a touchscreen layer (which includes the touch sensor 106) of the presence-sensitive display 102. In other words, the fingerprint sensor 108 can be positioned within one or more different layers of the presence-sensitive display 102. The fingerprint sensor 108 can be configured to detect a fingerprint through the presence-sensitive display 102. The fingerprint sensor 108 can utilize light emitted by pixels of the presence-sensitive display 102 that overlay the fingerprint sensor 108 to detect fingerprints (e.g., the sensor can detect light reflected by a user's finger in contact with or near the presence-sensitive display 102).Examples of fingerprint sensors include an under-display fingerprint sensor (UDFS) and a through-display sensor.
[0019] By capturing a fingerprint using the presence-sensitive display 102, the fingerprint sensor 108 can generate fingerprint data representative of a portion of the finger positioned on the fingerprint sensor 108. For example, the fingerprint sensor 108 can be configured to obtain an image of at least one portion of a user's fingerprint. The fingerprint data can be stored in a fingerprint data repository 122.
[0020] The fingerprint sensor 108 can be located on a section of the computing device 100, such as a front section, a rear section opposite the front section, and / or one or more side sections. In various examples, the fingerprint sensor 108 can be located on the front section of the computing device 100 (e.g., below the presence-sensitive display 102) and on one or more side sections of the computing device 100 (e.g., as part of a semiconductor key). In other examples, the fingerprint sensor 108 is located on the rear section of the computing device 100. In the example of Fig. 1 The fingerprint sensor 108 is provided on the front section of the computing device 100 and below one or more layers of the presence-sensitive display 102.
[0021] The storage device 110 may include one or more computer-readable storage media. For example, the storage device 110 may be configured for long-term as well as short-term storage of information, such as instructions, data, or other information used by the computing device 100. In some examples, the storage device 110 may include non-volatile storage elements. Examples of such non-volatile storage elements include magnetic hard disks, optical discs, semiconductor discs, and / or the like. In other examples, the storage device 110 may include, instead of or in addition to the non-volatile storage elements, one or more so-called "temporary" storage devices, meaning that a primary purpose of these devices may not be long-term data storage.For example, the devices may include volatile memory devices, meaning that the devices may not retain stored content when they are not receiving power. Examples of volatile memory include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), etc.
[0022] The storage device 110 can contain one or more modules. For example, the storage device 110 can contain a user interface module 114 (UI module 114). The UI module 114 can manage user interactions with the presence-sensitive display 102 and other components of the computing device 100. For example, the UI module 114 can output a user interface and cause the presence-sensitive display 102 to display the user interface while a user of the computing device 100 views output and / or provides input on the presence-sensitive display 102. In the example of Fig. 1. The UI module 114 can be linked to the presence-sensitive display 102 to represent a user interface 116 (User Interface - “UI 116”).
[0023] The UI module 114 can act as an intermediary between various components of the computing device 100 to make decisions based on the touch inputs 112 detected by the presence-sensitive display 102 and to generate an output on the presence-sensitive display 102 in response to the touch inputs 112. The UI module 114 can receive instructions from an application, service, platform, or other module of the computing device 100 to cause the presence-sensitive display 102 to output a user interface, such as a UI 116.
[0024] The UI module 114 can process inputs detected on the presence-sensitive display 102 and can forward information about the detected inputs, such as touch inputs 112, to one or more associated platforms, operating systems, and / or services running on the computing device 100 to cause the computing device 100 to perform operations. For example, the UI module 114 can manage the touch inputs 112 received by the computing device 100 while a user views and interacts with the UI 116 displayed on the presence-sensitive display 102 and can update the UI 116 in response to additional instructions received from the application, service, platform, or other module of the computing device 100 that processes the touch inputs 112.
[0025] Although shown separately from the presence-sensitive display 102, the UI module 114 can be integrated within the presence-sensitive display 102. In other words, the presence-sensitive display 102 can implement the functionality described in relation to the UI module 114 either as hardware or a combination of hardware and software.
[0026] In general, the computing device 100 may require a user to place their finger on the fingerprint sensor 108 to authenticate the user before allowing the user to unlock or otherwise access applications provided by the computing device 100. Before the computing device 100 can perform a fingerprint authentication operation, it may need to perform a fingerprint registration operation, in which the computing device 100 obtains and stores one or more reference fingerprints of the user.For example, the computing device 100 can register a user's fingerprint by capturing one or more images of the user's fingerprint via the fingerprint sensor 108 when the user's finger is positioned on the fingerprint sensor 108 (and repositioned if required according to the procedures of a fingerprint registration phase). However, in some examples, the fingerprint sensor 108 may be relatively small (e.g., about 1 centimeter (cm) x 1 cm). Consequently, the fingerprint sensor 108 may only be able to capture an image of at most one portion of the user's fingerprint at any given time.Accordingly, the computing device 100 may not accurately and / or completely determine the user's fingerprint based on the fingerprint data generated by the fingerprint sensor 108, which can lead to inaccurate and / or incomplete fingerprint registration. Inaccurate and / or incomplete fingerprint registration can impair the performance of fingerprint authentication processes.
[0027] According to the techniques of this disclosure, the computing device 100 can use touch input data and fingerprint data to generate at least a partial fingerprint of a user's finger. By determining a partial fingerprint according to the techniques of this disclosure, the computing device 100 can produce a more accurate representation of a fingerprint. For example, the techniques can enable the computing device 100 to more accurately align (e.g., combine, stitch together) images of portions of the user's fingerprint when determining the at least partial fingerprint. Thus, a fingerprint registration process that produces an at least partial fingerprint determined according to the techniques of this disclosure can be superior in terms of accuracy and quality.
[0028] A fingerprint registration module 118 of the computing device 100 can perform a fingerprint registration operation that uses touch input data generated by the touch sensor 106 and fingerprint data generated by the fingerprint sensor 108 to generate a partial fingerprint. The touch input data can specify touch inputs 112 that are detected at different times on the presence-sensitive display 102. For example, the presence-sensitive display 102 can (e.g., via the touch sensor 106) detect an initial touch input 112 provided by a user's finger at a specific time.In response to the presence-sensitive display 102 detecting the first touch input, the touch sensor 106 can generate an initial set of touch input data indicating the first touch input, and the fingerprint registration module 118 can acquire (e.g., receive) this data.
[0029] In some examples, the fingerprint registration module 118 can determine heatmaps associated with touch inputs. For example, the fingerprint registration module 118 can determine an initial set of heatmaps associated with the first touch input based on the initial set of touch input data. The fingerprint registration module 118 can process heatmaps, such as the initial set of heatmaps, to determine parameters of the touch inputs, such as pressure, speed, etc. The initial set of heatmaps can include one or more capacitance values for an initial area of the presence-sensitive display 102.
[0030] The fingerprint registration module 118 can acquire fingerprint data (e.g., an image) generated by the fingerprint sensor 108. For example, while the first touch input is being detected, the fingerprint sensor 108 (and again the fingerprint registration module 118) can acquire an initial segment of a fingerprint. This initial segment of the fingerprint can be an initial set of fingerprint data (e.g., an image) generated by the fingerprint sensor 108 and representative of the portion of the finger that is initially positioned on the fingerprint sensor 108. The initial segment of the fingerprint can be any part of the fingerprint, such as a middle segment, upper segment, lower segment, edge segment, etc.
[0031] In some examples, the fingerprint sensor 108 can acquire the first part of the fingerprint in response to the fingerprint registration module 118 determining, based on the first set of heatmaps associated with the first touch input, that at least one parameter of the first touch input, detected on the presence-sensitive display 102 at the first time, has stabilized (e.g., remained within a predetermined range of values for a predetermined duration). The at least one parameter of the first touch input (and each of the touch inputs 112) can include pressure exerted by the finger on the presence-sensitive display 102, a velocity of the finger, the shape of a contact area (i.e., the area of the finger touching the presence-sensitive display 102), or the size of the contact area of the finger.
[0032] As mentioned previously, the fingerprint sensor 108 can be relatively small compared to the size of the fingerprint, so that the fingerprint sensor 108 cannot capture an image or otherwise generate fingerprint data representative of the entire fingerprint from a single touch input. Consequently, in order for the fingerprint registration module 118 to register a sufficient area of the fingerprint for registration purposes, the user may need to reposition their finger on the presence-sensitive display 102 so that a section of the finger different from the first section is positioned on the fingerprint sensor 108, thus enabling the fingerprint sensor 108 to acquire the remaining, uncaptured sections of the fingerprint.
[0033] After providing the first touch input, the user can provide a second touch input from the touch inputs 112 via the presence-sensitive display 102. In some examples, the user can provide the second touch input by lifting their finger from the presence-sensitive display 102 and touching it again at a second time, so that a second part of the finger is positioned on the fingerprint sensor 108. Alternatively, instead of lifting their finger from the presence-sensitive display 102, the user can move their finger on the presence-sensitive display 102 in such a way that a second part of the finger is positioned on the fingerprint sensor 108.
[0034] In any case, the presence-sensitive display 102 can detect the second touch input 112 provided by a user's finger at the second time. In response to the presence-sensitive display 102 detecting the second touch input, the touch sensor 106 can generate a second set of touch input data specifying the second touch input, and the fingerprint registration module 118 can acquire this data. The fingerprint registration module 118 can further determine a second set of heatmaps associated with the second touch input based on this second set of touch input data. The second set of heatmaps can include one or more indications of capacity values for a second area of the presence-sensitive display 102.
[0035] While the second touch input is being detected, the fingerprint sensor 108 (and in turn the fingerprint registration module 118) can acquire a second section of the fingerprint. This second section can be a second set of fingerprint data (e.g., an image) that is representative of the portion of the finger that is positioned on the fingerprint sensor 108 at that second time. The second section of the finger can be any part of the fingerprint, such as a middle section, upper section, lower section, edge section, etc.
[0036] In some examples, the fingerprint sensor 108 can obtain the second set of fingerprint data in response to the fingerprint registration module 118 determining, based on the second set of heatmaps associated with the second touch input, that at least one parameter of the second touch input, detected on the presence-sensitive display 102 at the second time, has stabilized (e.g., remained within a predetermined range of values for a predetermined duration). The at least one parameter of the second touch input can include pressure exerted by the finger on the presence-sensitive display 102, finger velocity, the shape of a contact area (i.e., the area of the finger touching the presence-sensitive display 102), or the size of the finger's contact area.
[0037] The second section of the finger is preferably a different section of the finger than the first section of the finger (for example, to ensure that the fingerprint registration module 118 obtains fingerprint data for unrecorded sections of the fingerprint). However, the techniques of this disclosure may still apply if the second section of the finger is substantially similar to the first section of the finger.
[0038] For each captured fingerprint segment, the Fingerprint Registration Module 118 can determine an area (e.g., spot, point, region, coordinate, position, etc.) of the finger that corresponds to that segment. For example, the Fingerprint Registration Module 118 can determine a first area of the finger that corresponds to the first fingerprint segment and a second area of the finger that corresponds to the second fingerprint segment. In some examples, the Fingerprint Registration Module 118 can determine the first area of the finger that corresponds to the first fingerprint segment based on the first set of heatmaps. Similarly, the Fingerprint Registration Module 118 can determine the second area of the finger that corresponds to the second fingerprint segment based on the second set of heatmaps.
[0039] The first set of heatmaps can (e.g., based on the capacity values) indicate an initial finger position during the first touch input. In this context, finger position refers to the position (e.g., [x, y] coordinates) of the area of the finger in contact with the presence-sensitive display 102 relative to the presence-sensitive display 102. Furthermore, based on the first set of heatmaps, the fingerprint registration module 118 can determine, for example, the center of gravity of the contact area, the shape of the contact area, an approximation of the shape of the contact area (such as an ellipse), the size of the contact area, and so on. In cases where the user presses the finger firmly (and flatly) onto the presence-sensitive display 102, the contact area can encompass a substantial portion, if not the entirety, of the finger's fingerprint.
[0040] The fingerprint registration module 118 can access information about the position (e.g., [x, y] coordinates) of the fingerprint sensor 108 relative to the presence-sensitive display 102. Thus, based on the position of the fingerprint sensor 108 relative to the presence-sensitive display 102 and the initial finger position (which may include additional information such as the center of gravity of the contact area, the shape of the contact area, an approximation of the shape of the contact area, the size of the contact area, etc.), the fingerprint registration module 118 can determine the first surface of the finger that corresponds to the first segment.For example, if the fingerprint registration module 118 determines, based on the first set of heatmaps, that the center of gravity of the contact area is positioned on the fingerprint sensor 108, the fingerprint registration module 118 can determine the first surface of the finger as the center of gravity of the fingerprint (which is located, for example, in the middle section of the fingerprint).
[0041] The fingerprint registration module 118 can similarly determine a second surface of the finger, which corresponds to the second section of the fingerprint. That is, the fingerprint registration module 118 can determine the second surface of the finger based on a second set of heatmaps, which corresponds to the second touch input. For example, if the fingerprint registration module 118 determines, based on the second set of heatmaps, that a left edge of the contact area is positioned on the fingerprint sensor 108, the fingerprint registration module 118 can determine the second surface of the finger as the left edge of the fingerprint (which is located, for example, in the left section of the fingerprint).
[0042] The fingerprint registration module 118 can generate at least a partial fingerprint based on the first section of the fingerprint, the first surface of the finger, the second section of the fingerprint, and the second surface of the finger. For example (and as shown in the Fig. (As shown in Figures 6A-6D), the fingerprint registration module 118 can align the first and second sections of the fingerprint based on the first and second surfaces of the finger. Thus, using the examples above, the fingerprint registration module 118 can combine the first and second sections to produce at least a partial fingerprint that includes a middle and a left section. Furthermore, the middle and left sections can be positioned relative to each other so that they closely match the user's fingerprint.It should be noted that the techniques of this disclosure do not require that the first and second sections be adjacent or contiguous sections of the fingerprint in order to align the first set of fingerprint data and the second set of fingerprint data. That is to say, the first and second sections can be non-contiguous sections of the finger.
[0043] The fingerprint registration module 118 can register the user's fingerprint based on at least a partial fingerprint. For example, the fingerprint registration module 118 can complete a fingerprint registration process in response to the partial fingerprint containing a sufficient portion of the fingerprint. A sufficient portion of the fingerprint can be any percentage of the fingerprint, such as 75%, 85%, 95%, etc. In any case, the fingerprint registration module 118 can store the partial fingerprint for (future) fingerprint authentication attempts (e.g., in the fingerprint data repository 122).
[0044] Although the touch inputs 112 are described as including a first touch input and a second touch input, the person skilled in the art should understand that the touch inputs 112 may include one or more additional touch inputs (e.g., a third touch input, a fourth touch input, etc.). In such examples, the techniques of this disclosure can likewise be applied to the one or more additional touch inputs to ensure that a sufficient portion of the fingerprint has been registered (e.g., because the first and second portions alone are insufficient to complete a fingerprint registration process). Furthermore, the techniques of this disclosure can be applied to one or more fingers, one or more hands, and one or more users.
[0045] Fig. Figure 2 is a block diagram illustrating further details of a computing device 200 that performs fingerprint registration according to one or more techniques of this disclosure. The computing device 200 of Fig. 2 is below used as an example of the in Fig. 1 illustrated calculating device 100 described. Fig. Figure 2 merely illustrates a particular example of the computing device 200, and in other cases many other examples of the computing device 200 can be used and may include a subset of the components included in the exemplary computing device 200, or may include additional components that are in Fig. 2 are not shown.
[0046] As in Fig. As shown in Figure 2, the computing device 200 can include one or more presence-sensitive displays 202 (“presence-sensitive display 202”), one or more processors 204 (“processor 204”), one or more input components 242 (“input component 242”), one or more communication units 244 (“communication unit 244”), one or more output components 246 (“output component 246”), and one or more storage devices 210 (“storage device 210”). The presence-sensitive display 202 can include one or more touch sensors 206 (“touch sensor 206”), electrodes 224, one or more display fields 228 (“display field 228”), and one or more display controllers 230 (“display controller 230”). As also shown in Figure 2, the presence-sensitive display 202 can include one or more touch sensors 206 (“touch sensor 206”), electrodes 224, one or more display fields 228 (“display field 228”), and one or more display controllers 230 (“display controller 230”). Fig. As shown in Figure 2, the storage device 210 can include a user interface module 214 (“UI module 214”), a fingerprint registration module 218, a touch input data repository 220, a fingerprint data repository 222, a fingerprint authentication module 236, a touch imaging module 238 and an operating system 240 (“OS 240”).
[0047] Communication channels 250 can connect any of the components 202, 204, 210, 242, 244, and 246 for communication between the components (physical, communicative, and / or operational). In some examples, the communication channels 250 can include a system bus, a network connection, a data structure for communication between processes, or any other method for data communication.
[0048] The input component 242 of the computing device 200 can receive input. Examples of input include tactile, acoustic, and optical input. The input component 242 of the computing device 200 includes, in one example, a presence-sensitive display, such as the presence-sensitive display 202, a fingerprint sensor, such as the fingerprint sensor 208, a touchscreen, a mouse, a keyboard, a voice-controlled system, a video camera, a microphone, or any other type of device for detecting input from a human or a machine. As discussed above, the fingerprint sensor 208 can be a UDFS, a see-through sensor, etc. For example, the fingerprint sensor 208 can be positioned below one or more layers of the presence-sensitive display 202. The fingerprint sensor 208 can be configured to detect a fingerprint through the presence-sensitive display 202.
[0049] The input component 242 can include one or more sensors. There are numerous examples of sensors that include each input component configured to obtain environmental information about the circumstances surrounding the computing device 200 and / or physiological information that defines the activity state and / or physical well-being of a user of the computing device 200. In some examples, a sensor can be an input component that obtains physical position, motion, and / or location information of the computing device 200. For example, sensors can be one or more positioning sensors (e.g., GNSS components, WLAN components, cellular components), one or more temperature sensors, one or more motion sensors (e.g., multi-axis accelerometers, gyroscopes), one or more pressure sensors (e.g., barometers), one or more ambient light sensors, and one or more other sensors (e.g.,These may include a microphone, camera, infrared proximity sensor, hygrometer, and the like. Other sensors may include a heart rate sensor, magnetometer, glucose sensor, hygrometer, odor sensor, compass sensor, and pedometer, to name just a few other non-limiting examples.
[0050] The communication unit 244 of the computing device 200 can communicate with one or more external devices via one or more wired and / or wireless networks by transmitting and / or receiving network signals over the one or more networks. Examples of communication units 244 include a network interface card (such as an Ethernet card), an optical transceiver, a radio frequency transceiver, a GPS receiver, or any other type of device capable of transmitting and / or receiving information. Other examples of communication units 244 may include shortwave radio devices, cellular data radio devices, wireless network radio devices, and universal serial bus (USB) controllers.
[0051] The output component 246 of the computing device 200 can produce one or more outputs. Examples of outputs include tactile, acoustic, and visual output. In one example, the output component 246 of the computing device 200 includes a presence-sensitive display, a sound card, a video graphics adapter card, a loudspeaker, a liquid crystal display (LCD), or any other type of device for producing an output to a person or a machine.
[0052] The presence-sensitive display 202 of the computing device 200 can include the touch sensor 206, the electrodes 224, the display field 228, and the display controller 230. The electrodes 224 can form a matrix of row and column electrodes on each side of a dielectric material. The electrodes 224 can be made of a transparent conductive material, such as indium tin oxide (ITO). The electrodes 224 can be positioned above a display component (e.g., the display field 228) and be invisible to a user. The dielectric material can be a glass substrate.
[0053] The touch sensor 206 can include a touch controller 226. The touch controller 226 can perform one or more operations to detect user input via the electrodes 224. For example, the touch controller 226 can output a voltage signal across the electrodes and detect a resulting change in capacitance (such as that triggered by the presence of a finger or other object on or near the presence-sensitive display 202). When an electrode is driven by the electrodes 224 with a voltage signal, the inherent capacitance of the electrode relative to other objects (such as a human finger, another electrode, or ground) can be measured. Changes in the environment affect changes in the inherent capacitance of the electrode.The touch controller 226 can output information about the detected user input to one or more other components of the computing device 200, such as the UI module 214.
[0054] The display field 228 can be a display device capable of displaying graphical user interfaces. Examples of the display field 228 include, but are not limited to, liquid crystal displays (LCDs), matrix displays, light-emitting diode (LED) displays, microLED displays, organic light-emitting diode (OLED) displays, e-ink displays, or similar monochrome or color displays capable of outputting visible information to a user of the computing device 200.
[0055] The display controller 230 can perform one or more operations to manage the operation of the display field 228. For example, the display controller 230 can receive instructions from the UI module 214 that cause the display controller 230 to control the display field 228 to display a specific graphical user interface.
[0056] The processor 204 can implement functionality and / or execute instructions within the computing device 200. For example, the processor 204 can receive and execute instructions that provide functionality to the UI module 214, the fingerprint registration module 218, the fingerprint authentication module 236, the touch mapping module 238, and the OS 240. These instructions, executed by the processor 204, can cause the computing device 200 to store and / or modify information within the memory devices 210 of the processor 204 during program execution. The processor 204 can execute instructions from the UI module 214, the fingerprint registration module 218, the fingerprint authentication module 236, the touch mapping module 238, and the OS 240 to perform one or more operations.This means that the UI module 214, the fingerprint registration module 218, the fingerprint authentication module 236, the touch imaging module 238 and the OS 240 can be operated by the processor 204 to perform various functions described here.
[0057] The storage device 210 within the computing device 200 can store information for processing during the operation of the computing device 200 (e.g., the computing device 200 can store data that the UI module 214, the fingerprint registration module 218, the fingerprint authentication module 236, the touch imaging module 238, and the OS 240 access while running on the computing device 200). In some examples, the storage device 210 can be temporary storage; that is, a primary purpose of the storage device 210 is not long-term storage. The storage device 210 on the computing device 200 can be configured as volatile storage for short-term information storage and therefore does not retain stored contents when the computing device is powered off.Examples of volatile memory include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), and other forms of volatile memory known in the field.
[0058] The storage device 210 can include one or more computer-readable storage media. The storage device 210 can be configured to store larger amounts of information as volatile memory. The storage device 210 can also be configured as non-volatile memory for long-term storage of information and retain information after power-on / power-off cycles. Examples of non-volatile memory include magnetic hard disks, optical discs, floppy disks, flash memory, or forms of electrically programmable memory (EPROM) or electrically erasable and programmable memory (EEPROM). The storage device 210 can store program instructions and / or information (e.g., the Touch Input Data Repository 220, the Fingerprint Data Repository 222, etc.).) store which are associated with the UI module 214, the fingerprint registration module 218, the fingerprint authentication module 236, the touch imaging module 238 and the OS 240.
[0059] As discussed above, the UI module 214 can act as an intermediary between different components of the computing device 200 to make decisions based on user input detected by a user interface component and to generate output on the user interface component in response to the user input. As in Fig. As shown in Figure 2, the UI module 214 can include the touch driver 232 and the display driver 234. The touch driver 232 can interact with the touch controller 226 and the OS 240 to process user inputs detected via the presence-sensitive display 202. The display driver 234 can interact with the display controller 230 and the OS 240 to process output for display on the display panel 228, which can be modified based on user input received via the electrodes 224.
[0060] The fingerprint registration module 218 is essentially the same as the fingerprint registration module 118 from Fig. 1. In some examples, the fingerprint registration module 218 can determine whether at least one parameter of the touch inputs meets a corresponding threshold for the touch inputs. For example, based on the first set of heatmaps, the fingerprint registration module 218 can determine whether at least one parameter (e.g., pressure exerted by the finger on the presence-sensitive display 102, finger velocity, shape of a contact surface) of the first touch input meets a corresponding threshold for the first touch input. Likewise, based on the second set of heatmaps, the fingerprint registration module 218 can determine whether at least one parameter of the second touch input meets a corresponding threshold for the second touch input.
[0061] In some examples, a parameter can satisfy the corresponding threshold if the parameter is greater than (or equal to) a threshold value. For example, the pressure parameter can satisfy the corresponding pressure threshold if a pressure (e.g., a moving average of the pressure) exerted by the finger on the presence-sensitive display 102 (as indicated by the capacity values of a set of heatmaps) is greater than a pressure threshold. In other examples, a parameter can satisfy the corresponding threshold if the parameter is less than (or equal to) a threshold value. For example, the velocity parameter can satisfy the corresponding velocity threshold if a finger velocity (which can be determined from a set of heatmaps) is less than a velocity threshold.
[0062] The fingerprint registration module 218 can perform an action based on whether at least one parameter meets a corresponding threshold for touch input. For example, in response to a determination that at least one parameter of the first touch input meets the corresponding threshold, the fingerprint registration module 218 can store an entry of the first section in the fingerprint data repository 222. On the other hand, in response to a determination by the fingerprint registration module 218 that at least one parameter of the first touch input does not meet the corresponding threshold, the UI module 214 can output a GUI for display by the presence-sensitive display 202, providing instructions (e.g., a graphical element containing instructions, visual aids, etc.).(includes) to improve the generation of at least a partial fingerprint. For example, the instructions may include directions for the user to press their finger more firmly, flatter, etc., on the presence-sensitive display 202. The instructions may also include directions regarding parameters that do not meet the relevant thresholds.
[0063] Similarly, in response to a determination that at least one parameter of the second touch input meets the corresponding threshold for the second touch input, the fingerprint registration module 218 can store an entry of the second section in the fingerprint data repository 222. Conversely, in response to a determination by the fingerprint registration module 218 that at least one parameter of the second touch input does not meet the corresponding threshold for the second touch input, the UI module 214 can output a GUI for display by the presence-sensitive display 202, which includes instructions for improving the generation of at least a partial fingerprint.
[0064] The fingerprint authentication module 236 can authenticate the user by comparing a recent, captured image of the user's fingerprint with the registered fingerprint. In response to the fingerprint authentication module 236 authenticating the user based on the captured fingerprint image, the OS 240 can perform an unlocking operation or otherwise grant the user access to applications installed on the computing device 200. In some examples, the fingerprint authentication module 236 can be considered a component of the OS 240.
[0065] In some examples, the fingerprint authentication module 236 can use both touch input data and fingerprint data to perform fingerprint authentication operations. In one example, the fingerprint registration module 218 of the computing device 200 can have registered a fingerprint of a first finger according to the techniques of this disclosure. For each fingerprint authentication operation, a user can, at any given time, provide a current touch input with a second finger (which may or may not be different from the first finger with the registered fingerprint) to the presence-sensitive display 202 and, in turn, to the touch sensor 206. The presence-sensitive display 202 can detect the current touch input provided by the second finger of the second user at that given time.In response to the presence-sensitive display 202 detecting the current touch input, the touch sensor 206 can generate a current set of touch input data indicating the current touch input, and the fingerprint authentication module 236 can obtain this data. The fingerprint authentication module 236 can then determine a current set of heatmaps associated with the current touch input based on this current set of touch input data.
[0066] While the current touch input is being detected, the fingerprint sensor 208 (and in turn the fingerprint authentication module 236) can acquire a current segment of the fingerprint of the second finger. The first segment of the fingerprint of the second finger can be a current set of fingerprint data (e.g., an image) generated by the fingerprint sensor 208, representing the segment of the second finger that is currently positioned on the fingerprint sensor 208. The current segment of the fingerprint can be any segment of the fingerprint, such as a middle segment, upper segment, lower segment, edge segment, etc.In some examples, the fingerprint sensor 208 can obtain the current set of fingerprint data in response to the fingerprint authentication module 236 determining, based on the current set of heatmaps, that at least one parameter of the current touch input detected on the presence-sensitive display 202 at the current time has stabilized (e.g., has remained within a predetermined range of values for a predetermined duration).
[0067] The fingerprint authentication module 236 can determine a current area of the second finger that corresponds to the current section of the fingerprint. For example, based on a current set of heatmaps generated by the touch sensor 206, the fingerprint authentication module 236 can determine that the center of gravity of the area of the second finger touching the presence-sensitive display 202 during the current touch input is located on the fingerprint sensor 208. Therefore, the fingerprint authentication module 236 can determine the current area of the fingerprint as the center of gravity of the fingerprint (which is located, for example, in the middle section of the fingerprint).
[0068] The fingerprint authentication module 236 can determine a reference section of the registered fingerprint of the first finger (e.g., the at least partial fingerprint generated by the fingerprint registration module 218) that corresponds to the current section, based on the current area of the second finger. For example, in the example above, the fingerprint authentication module 236 can determine that the reference section of the registered fingerprint is the middle section of the registered fingerprint. The fingerprint authentication module 236 can then compare the current section of the second finger with the reference section of the at least partial fingerprint of the first finger.
[0069] The fingerprint authentication module 236 can selectively authenticate a user (e.g., the second user) based on comparison. For example, the fingerprint authentication module 236 can authenticate the user in response to its determination that the current segment of the second finger matches the reference segment of the at least partial fingerprint. The fingerprint authentication module 236 cannot authenticate the user in response to its determination that the current segment of the second finger does not match the reference segment of the at least partial fingerprint.
[0070] In some examples, the fingerprint authentication module 236 can use a machine learning algorithm to determine whether the current segment of the second finger matches the reference segment of the at least partial fingerprint. For example, the machine learning algorithm can perform a classification, providing a numerical value that describes the degree to which the current segment is thought to be classified as a "Match" or "No Match" class. In some cases, the numerical values provided by the machine learning algorithm can be referred to as "confidence scores," indicating a respective level of confidence associated with classifying the input into each class.In some examples, the confidence scores can be compared to one or more thresholds to create a discrete categorical forecast. In other examples, only a specific number of classes (e.g., one) with the relatively highest confidence scores can be selected to create a discrete categorical forecast.
[0071] It should be noted that the fingerprint authentication module 236 can use the current set of heatmaps to determine which finger the user used to provide the current touch input (e.g., based on information about the finger's size, shape, etc., derived from the current set of heatmaps). Thus, the fingerprint authentication module 236 can search for the reference section of the registered fingerprint based on a prediction (e.g., a probability) of the finger that the fingerprint authentication module 236 determines was used to provide the current touch input.In any case, the advantages of the techniques of this disclosure may include a reduction in latency, for example by enabling the fingerprint authentication module 236 to more efficiently identify the section of a registered fingerprint relevant for comparison with the current section of the finger.
[0072] The touch mapping module 238 can map touch input data generated by a touch sensor (e.g., one or more of the electrodes 224) of the presence-sensitive display 202 onto a touch point on the presence-sensitive display 202, as described in more detail below. In some examples, the touch mapping module 238 can be considered a component of the OS 240.
[0073] The OS 240, or a component thereof, can manage interactions between applications and a user of the Computing Device 200. As in the example of Fig. As shown in Figure 2, the OS 240 can manage operations between the fingerprint registration module 218 and a user of the computing device 200. In some examples, the UI module 214 can be considered a component of the OS 240.
[0074] The presence-sensitive display 202 can detect user input, for example, using self-capacitance scanning, counter-capacitance scanning, etc. For example, the electrodes 224, the touch controller 226, and the touch driver 232 can be operated together to generate counter-capacitance data based on counter-capacitance scanning and / or to generate self-capacitance data based on self-capacitance scanning. Further details of self-capacitance scanning are described below with reference to Fig. 3 discussed. Further details of a countercapacitance scan are given below with reference to Fig. 4 discussed.
[0075] Fig. Figure 3 is a conceptual representation illustrating exemplary intrinsic capacity data generated by a presence-sensitive display of a computing device according to one or more techniques of this disclosure. The intrinsic capacity data 350 of Fig. 3 are referred to the calculating device 200 by Fig. 2 discussed. However, other computing devices can generate the self-capacitance data 350. To perform a self-capacitance scan (also called a surface capacitance scan), the touch controller 226 can drive one electrode of the electrodes 224 with a signal and measure the capacitance across the entire electrode (e.g., with respect to ground). When another conductive object approaches the electrode, a capacitor forms between it, reducing the capacitance between the electrode and ground. The touch controller 226 can measure this capacitance by driving all the electrodes of the electrodes 224 in each direction (e.g., all the rows and all the columns) and measuring their capacitance. If the electrodes 224 include r row electrodes and c column electrodes, the self-capacitance scan can generate r + c measurements, which together are referred to as the self-capacitance data 350.
[0076] The own capacity data 350 from Fig. 3 can display intrinsic capacity data measured by the presence-sensitive display 202, for example, when the user performs a pinch gesture. As in Fig. As shown in Figure 3, the intrinsic capacity data includes 350 row capacity values (352) and 354 column capacity values. For the row capacity values (302) and column capacity values (304), darker cells may indicate higher or lower values relative to lighter cells. As shown in Fig. As shown in Figure 3, the user can trigger higher capacity values by placing the user's fingers at positions 356A and 356B.
[0077] Fig. Figure 4 is a conceptual representation illustrating exemplary countercapacitance data generated by a presence-sensitive display of a computing device according to one or more techniques of this disclosure. The countercapacitance data 450 of Fig. 4 are referred to the computing device 200 by Fig. 2 discussed. However, other computing devices can generate the countercapacity data 450.
[0078] To perform a countercapacitance scan, the touch controller 226 can exploit the inherent capacitive coupling present between the row and column electrodes of the electrodes 224 at their points of overlap (e.g., touch sensor cells). For example, the touch controller 226 can drive a single electrode of the electrodes 224 (e.g., a row) and measure the capacitance at the intersecting electrodes of the electrodes 224 (e.g., the columns). The touch controller 226 can repeat this process until all touch sensor cells have been scanned. If the electrodes 224 include r row electrodes and c column electrodes, the countercapacitance scan can generate r × c measurements, which together are referred to as the countercapacitance data 450. In the countercapacitance data 450, darker cells may report higher or lower values relative to lighter cells.The countercapacitance measurement therefore involves the individual measurement of each cell to generate a complete "picture" of the field, which enables the touch controller 226 to uniquely isolate each contact. As in . Fig. As shown in Figure 4, the user can trigger higher capacity values by placing the user's fingers at positions 456A and 456B.
[0079] The Fig. Figures 5A-5B are conceptual diagrams illustrating a variety of heatmaps according to one or more techniques of this disclosure. In particular, Fig. 5A is a conceptual representation of a heatmap 558A and is Fig. 5B is a conceptual representation of a heatmap 558B (collectively, "heatmaps 558"). The heatmap 558 is assigned to a finger contact and is described with reference to the computing device 200 by Fig. 2 discussed. As in the Fig. As shown in Figures 5A-5B, bringing an input object, such as a finger, near a presence-sensitive display can change the capacitance of several cells. As discussed here, the touch controller 226 can identify touch contacts based on changes in these capacitances using counter-capacitance data.
[0080] For each identified touch contact, the touch controller 226 can identify the covered cells of the contact and, based on the covered cells, determine an area of the display field 228 corresponding to the covered cells, such as a set of coordinates that lie within the resolution of the display field 228. In the example of the Fig. 5A-5B, the touch controller 226 can identify the covered cells as a contiguous set of non-white cells (e.g., a set of contiguous cells, all of which have a capacity value greater than a threshold). In examples where a user presses their finger against the presence-sensitive display 202, the contiguous set of non-white cells can have a shape and size that corresponds to the shape and size of the user's finger.
[0081] As discussed above, the fingerprint sensor 208 can be positioned below the touch sensor 206. The fingerprint sensor 208 can be a UDFS or a see-through sensor. In the Fig. At 5A-5B, the fingerprint sensor 208 is located beneath an area 560 that encompasses cells of the touch sensor 206. The fingerprint sensor 208 can be described in relation to the example of Fig. 5A generate a set of fingerprint data representative of a lower middle section of the finger positioned on fingerprint sensor 208, since this is the section of the finger that is positioned on (e.g., covering) fingerprint sensor 208. Regarding the example of Fig. 5B, the fingerprint sensor 208 can generate a set of fingerprint data that is representative of an upper middle section of the finger positioned on the fingerprint sensor 208.
[0082] In some examples, one or more settings of the fingerprint sensor 208 can change based on the heatmaps 558. For example, if the capacitance values of the cells above the fingerprint sensor 208 (as indicated by the range 560) show that relatively low pressure is being applied to the cells, the fingerprint sensor 208 can reduce its gain value. This can be advantageous because if a user's finger does not completely cover the fingerprint sensor 208 (which can be indicated by the heatmaps 558), ambient light can fall on the fingerprint sensor 208, potentially causing overexposure that interferes with fingerprint scanning operations (e.g., fingerprint registration, fingerprint authentication, etc.).
[0083] The Fig. 6A-6D are concept drawings illustrating exemplary techniques for producing at least a partial fingerprint, such as fingerprints 662A-662D (collectively “Fingerprints 662”). Fig. 6A-6D are referred to by reference to the computing device 200 of Fig. 2 discussed. As discussed above, the fingerprint sensor 208 can be a UDFS or a see-through sensor. The fingerprint sensor 208 can be located under an area 660 that spans cells of the touch sensor 206.
[0084] The fingerprint registration module 218 can determine a first surface of the finger, which is associated with a first section of a finger that is positioned on the fingerprint sensor 208 at a first time point, based on a first set of heatmaps 658A. As in Fig. As shown in Figure 6A, the area can span 660 cells of the touch sensor 206, corresponding to a lower slightly right section of the first set of heatmaps 658A. The shape and size of the first set of heatmaps 658A can correspond to the shape and size of the user's finger. Thus, the fingerprint registration module 218 can determine that the first area is the lower slightly right section of the user's finger, as indicated by the position of area 660 relative to the first set of heatmaps 658A.
[0085] The fingerprint registration module 218 can process additional touch inputs in essentially the same way. For example, the fingerprint registration module 218 can determine a second area associated with a second segment of a finger positioned on the fingerprint sensor 208 at a second time, based on a second set of heatmaps 658B. As in Fig. As shown in Figure 6B, area 660 is located in the middle left section of the second set of heatmaps 658B. Thus, the fingerprint registration module 218 can determine that the second area of the middle left section is the user's finger, as indicated by the position of area 660 relative to the second set of heatmaps 658B. As further shown in Fig. As shown in 6B, the fingerprint registration module 218 can use the first surface of the finger and the second surface of the finger to align the first section of the fingerprint and the second section of the fingerprint to determine fingerprint 662B.
[0086] In another example, the fingerprint registration module 218 can determine a third surface of a finger, associated with a third section of a fingerprint, positioned at the fingerprint sensor 208 at a third time, based on a third set of heatmaps 658C. As in Fig. As shown in 6C, area 660 is located in an upper right section of the third set of heatmaps 658C. Thus, the fingerprint registration module 218 can determine that the third area of the upper right section is the user's finger, as indicated by the position of area 660 relative to the third set of heatmaps 658C. As further shown in Fig. As shown in 6C, the fingerprint registration module 218 can use the first, second and third surfaces of the finger to align the first, second and third sections of the fingerprint to determine fingerprint 662C.
[0087] The fingerprint registration module 218 can determine any number of finger surfaces and align any number of fingerprint segments to generate at least a partial fingerprint. For example, it provides Fig. 6D represents the fingerprint 662D determined by the fingerprint registration module 218, where fingerprint 662D is a complete fingerprint. While fingerprint 662D is a complete fingerprint, it is understood that the registration of only a portion of a fingerprint may be sufficient for a fingerprint registration process. Accordingly, the fingerprint registration module 218 can determine areas of the finger and align portions of the fingerprint as many times as necessary to determine a partial or complete fingerprint.
[0088] The fingerprint registration module 218 can perform the operations described in the examples above as many times as necessary to generate a partial fingerprint that includes a sufficient portion of the fingerprint to be registered. For example, the fingerprint registration module 218 can perform the operation until fingerprint 662D contains the entire fingerprint.
[0089] The Fig. Figures 7A-7B are conceptual representations of exemplary UIs (e.g., a graphical user interface) that guide a user through a fingerprint registration process. Fig. 7A-7B are referred to by reference to the computing device 100 of Fig. 1 discussed. As in Fig. As shown in Figure 7A, the UI module 114 can cause the presence-sensitive display 102 to display a UI 716A. The UI 716A can specify an initial finger position 764A. A user can position their finger at the initial finger position 764A at a specific time. The fingerprint registration module 118 can obtain an initial portion of the fingerprint from the fingerprint sensor 108. The fingerprint registration module 118 can determine the area of the finger associated with the initial portion of the fingerprint based on touch input data from a touch sensor (e.g., the touch sensor 106). Next, as shown in Figure 7A, the UI module 114 can... Fig. Displayed as 7B, the presence-sensitive display 102 is caused to display a UI 716B. The UI 716B can specify a second finger position 764B. A user can position their finger at the second finger position 764B at a second time. The fingerprint registration module 118 can obtain a second fingerprint segment from the fingerprint sensor 108. The fingerprint registration module 118 can determine the area of the finger associated with the second fingerprint segment based on touch input data from a touch sensor (e.g., the touch sensor 106).
[0090] Fig. Figure 8 is a flowchart illustrating exemplary operations of an exemplary computing device according to one or more aspects of the present disclosure. Although the exemplary operation of Fig. 8 as by the calculating device 100 of Fig.As described in section 1, the exemplary process can be carried out partially or completely by a different computing device in other examples.
[0091] The computing device 100 can execute the fingerprint registration module 118. During the execution of the fingerprint registration module 118, the presence-sensitive display of the computing device 100 can detect an initial touch input (800). A user of the computing device 100 can provide the initial touch input with a finger at an initial time.
[0092] While the initial touch input is being detected, the fingerprint sensor 108 (and in turn the fingerprint registration module 118) can acquire an initial portion of a fingerprint (802). This initial portion of the fingerprint can be an initial set of fingerprint data generated by the fingerprint sensor 108 and representative of the portion of the finger that is first positioned on the fingerprint sensor 108. The initial portion of the fingerprint can be any portion of the fingerprint, such as a middle section, upper section, lower section, edge section, etc.
[0093] Furthermore, in response to the presence-sensitive display 102 detecting the first touch input, the touch sensor 106 can generate an initial set of touch input data indicating the first touch input, and the fingerprint registration module 118 can acquire this data. The fingerprint registration module 118 can determine an initial set of heatmaps based on this initial set of touch input data. The fingerprint registration module 118 can process heatmaps, such as the initial set of heatmaps, to determine parameters of the touch inputs.In some examples, the fingerprint sensor 108 can acquire the first part of the fingerprint in response to the fingerprint registration module 118 determining, based on the first set of heatmaps, that at least one parameter of the first touch input detected on the first presence-sensitive display 102 at the first time point has stabilized (e.g., remained within a predetermined range of values for a predetermined duration). In general, parameters of the touch inputs 112 can include pressure and velocity.
[0094] The presence-sensitive display 102 can detect a second touch input (804). A user of the computing device 100 can provide the second touch input with a finger (e.g., the same finger or a different finger) at a second time. While the second touch input is being detected, the fingerprint sensor 108 (and in turn the fingerprint registration module 118) can acquire a second portion of the finger's fingerprint (806). The second portion of the fingerprint can be a second set of fingerprint data generated by the fingerprint sensor 108 and representative of the portion of the finger positioned at the fingerprint sensor 108 at the second time. The second portion of the fingerprint can be any portion of the fingerprint, such as a middle portion, upper portion, lower portion, marginal portion, etc.
[0095] Furthermore, in response to the presence-sensitive display 102 detecting the second touch input, the touch sensor 106 can generate a second set of touch input data indicating the second touch input, and the fingerprint registration module 118 can acquire this data. The fingerprint registration module 118 can determine a second set of heatmaps based on this second set of touch input data. The fingerprint registration module 118 can process heatmaps, such as the second set of heatmaps, to determine parameters of the touch inputs.In some examples, the fingerprint sensor 108 can obtain the second part of the fingerprint in response to the fingerprint registration module 118 determining, based on the second set of heatmaps associated with the second touch input, that at least one parameter of the second touch input, detected on the first presence-sensitive display 102 at the second time, has stabilized (e.g., remained within a predetermined value range for a predetermined duration). In general, parameters of the touch inputs 112 can include pressure and velocity.
[0096] For each captured fingerprint segment, the fingerprint registration module 118 can determine an area (e.g., spot, point, region, coordinate, position, etc.) of the finger that is associated with the segment (808). For example, the fingerprint registration module 118 can determine a first area of the finger that is associated with the first fingerprint segment and a second area of the finger that is associated with the second fingerprint segment. In some examples, the fingerprint registration module 118 can determine the first area of the finger that is associated with the first fingerprint segment based on the first set of heatmaps. Likewise, the fingerprint registration module 118 can determine the second area of the finger that is associated with the second fingerprint segment based on the second set of heatmaps.
[0097] The fingerprint registration module 118 can generate at least a partial fingerprint based on the first part of the fingerprint, the first surface of the finger, the second part of the fingerprint, and the second surface of the finger (810). For example, the fingerprint registration module 118 can align the first part of the fingerprint and the second part of the fingerprint based on the first surface of the finger and the second surface of the finger.
[0098] Although the touch inputs 112 are described as including a first touch input and a second touch input, the person skilled in the art should understand that the touch inputs 112 may include one or more additional touch inputs (e.g., a third touch input, a fourth touch input, etc.). In such examples, the techniques of this disclosure can likewise be applied to the one or more additional touch inputs to ensure that a sufficient portion of the fingerprint has been registered (e.g., because the first and second portions alone are insufficient to complete a fingerprint registration process). Furthermore, the techniques of this disclosure can be applied to one or more fingers, one or more hands, and one or more users.
[0099] Aspects of this revelation include the following examples.
[0100] Example 1: A method comprises detecting, by means of a presence-sensitive display of a computing device, a first touch input of a finger at a first time; during the detection of the first touch input, acquiring, by means of a fingerprint sensor of the computing device, a first portion of a fingerprint of the finger, wherein the fingerprint sensor is configured to acquire the fingerprint by means of the presence-sensitive display; detecting, by means of the presence-sensitive display, a second touch input of the finger at a second time; during the detection of the second touch input, acquiring, by means of the fingerprint sensor, a second portion of the fingerprint of the finger; determining, by means of the computing device, a first surface of the finger that corresponds to the first portion of the fingerprint and a second surface of the finger that corresponds to the second portion of the fingerprint;and generating, by the calculating device, at least a partial fingerprint of the finger based on the first section of the fingerprint, the first surface of the finger, the second section of the fingerprint and the second surface of the finger.
[0101] Example 2: The method of Example 1 further includes determining, by the computing device, a first set of heatmaps which is associated with the first touch input, wherein the determination of the first area of the finger which is associated with the first section of the fingerprint is based on the first set of heatmaps; and determining, by the computing device, a second set of heatmaps which is associated with the second section of the fingerprint, wherein the determination of the second area of the finger which is associated with the second section of the fingerprint is based on the second set of heatmaps.
[0102] Example 3: The method of Example 2, wherein the first set of heatmaps includes one or more specifications of capacity values for a first area of the presence-sensitive display, and wherein the second set of heatmaps includes one or more specifications of capacity values for a second area of the presence-sensitive display.
[0103] Example 4: The method of Example 2 or 3 further includes determining, by the computing device and on the basis of the first set of heatmaps, whether at least one parameter of the first touch input satisfies a corresponding threshold value for the first touch input; and determining, by the computing device and on the basis of the second set of heatmaps, whether at least one parameter of the second touch input satisfies a corresponding threshold value for the second touch input.
[0104] Example 5: The method of Example 4 further includes, in response to the determination that the at least one parameter of the first touch input satisfies the corresponding at least one threshold for the first touch input, storing, by the computing device, an indication of the first part of the fingerprint in a memory of the computing device; and in response to the determination that the at least one parameter of the second touch input satisfies the corresponding at least one threshold for the second touch input, storing, by the computing device, an indication of the second part of the fingerprint in the memory.
[0105] Example 6: The method of Example 4 further includes, in response to a determination that the at least one parameter of the first touch input does not meet the corresponding at least one threshold for the first touch input, outputting, for display by the presence-sensitive display, a graphical user interface containing instructions for improving the generation of the at least partial fingerprint; and in response to a determination that the at least one parameter of the second touch input does not meet the corresponding at least one threshold for the second touch input, outputting, by the computing device and for display by the presence-sensitive display, a graphical user interface containing the instructions.
[0106] Example 7: The method of any of Examples 4 to 6, wherein the acquisition of the first part of the fingerprint occurs in response to the computing device determining that the at least one parameter of the first touch input has stabilized, and wherein the acquisition of the second part of the fingerprint occurs in response to the computing device determining that the at least one parameter of the second touch input has stabilized.
[0107] Example 8: The method of any one of Examples 4 to 7, wherein the at least one parameter of the first touch input includes one or more of a pressure exerted by the finger on the presence-sensitive display, a speed of the finger, a shape of a contact surface of the finger or a size of the contact surface of the finger, and wherein the at least one parameter of the second touch input includes one or more of the pressure exerted by the finger on the presence-sensitive display, a speed of the finger, a shape of the contact surface of the finger or a size of the contact surface of the finger.
[0108] Example 9: The method of any of Examples 2 to 8, further comprising changing a gain value setting of the fingerprint sensor based on one or more of the first set of heatmaps or the second set of heatmaps.
[0109] Example 10: The method of any one of Examples 1 to 9, wherein determining the at least partial fingerprint comprises aligning the first section of the fingerprint and the second section of the fingerprint based on the first surface of the finger and the second surface of the finger.
[0110] Example 11: The method according to one of Examples 1 to 10 further includes output, by the computing device and for display by the presence-sensitive display, a graphical user interface, which includes a specification of a first finger position for the finger at the first time and a specification of a second finger position for the finger at the second time.
[0111] Example 12: The method according to any one of Examples 1 to 11, wherein the finger is a first finger, the method further comprising: detecting, by means of the presence-sensitive display, a current touch input of a second finger at a current time; during the detection of the current touch input, obtaining, by means of the fingerprint sensor, a current portion of a fingerprint of the second finger; determining, by means of the computing device, a current area of the second finger that corresponds to the current portion of the fingerprint of the second finger; determining, based on the current area of the second finger, a reference portion of the at least partial fingerprint of the first finger that corresponds to the current portion of the fingerprint of the second finger;and selective authentication, by the computing device, of a user by at least comparing the current section of the fingerprint of the second finger with the reference section of the at least partial fingerprint of the first finger.;
[0112] Example 13: A computing device includes a presence-sensitive display configured to detect touch input; a fingerprint sensor configured to obtain a fingerprint from the presence-sensitive display; one or more processors; and memory storing instructions which, when executed by the one or more processors, cause the one or more processors to: receive, from the presence-sensitive display, an initial touch input from a finger at a first time point; while the presence-sensitive display is detecting the initial touch input, receive, from the fingerprint sensor, an initial portion of the fingerprint of the finger; receive, from the presence-sensitive display, a second touch input from the finger at a second time point;While the presence-sensitive display detects the second touch input, the fingerprint sensor receives a second section of the fingerprint; determines a first surface of the finger corresponding to the first section of the fingerprint and a second surface of the finger corresponding to the second section of the fingerprint; and generates at least a partial fingerprint of the finger based on the first section of the fingerprint, the first surface of the finger, the second section of the fingerprint, and the second surface of the finger.
[0113] Example 14: The computing device of Example 13, wherein the instructions further cause the one or more processors to: determine a first set of heatmaps associated with the first touch input, wherein the one or more processors determine the first area of the finger associated with the first section of the fingerprint based on the first set of heatmaps; and determine a second set of heatmaps associated with the second touch input, wherein the one or more processors determine the second area of the finger associated with the second section of the fingerprint based on the second set of heatmaps.
[0114] Example 15: The computing device of Example 14, wherein the first set of heatmaps includes one or more specifications of capacity values for a first area of the presence-sensitive display and wherein the second set of heatmaps includes one or more specifications of capacity values for a second area of the presence-sensitive display.
[0115] Example 16: The computing device of Example 14 or 15, wherein the instructions further cause the one or more processors to: determine, based on the first set of heatmaps, whether at least one parameter of the first touch input satisfies a corresponding threshold for the first touch input; and determine, based on the second set of heatmaps, whether at least one parameter of the second touch input satisfies a corresponding threshold for the second touch input.
[0116] Example 17: The computing device of Example 16, wherein the instructions further cause the one or more processors to: in response to being determined that the at least one parameter of the first touch input satisfies the corresponding at least one threshold for the first touch input, store an indication of the first section in the memory; and in response to being determined that the at least one parameter of the second touch input satisfies the corresponding at least one threshold for the second touch input, store an indication of the second section in the memory.
[0117] Example 18: The computing device of Example 16, wherein the instructions further cause the one or more processors to: in response to a determination that the at least one parameter of the first touch input does not meet the corresponding at least one threshold for the first touch input, output, for display by the presence-sensitive display, a graphical user interface containing instructions for improving the generation of the at least partial fingerprint; and in response to a determination that the at least one parameter of the second touch input does not meet the corresponding at least one threshold for the second touch input, output, for display by the presence-sensitive display, the graphical user interface containing the instructions.
[0118] Example 19: The computing device of any of Examples 16 to 18, wherein the one or more processors receive the first part of the fingerprint by receiving the first part of the fingerprint from the fingerprint sensor in response to the determination that the at least one parameter of the first touch input has stabilized, and wherein the one or more processors receive the second part of the fingerprint by receiving the second part of the fingerprint from the fingerprint sensor in response to the computing device determining that the at least one parameter of the second touch input has stabilized.
[0119] Example 20: The computing device of any of Examples 16 to 19, wherein the at least one parameter of the first touch input includes one or more of a pressure exerted by the finger on the presence-sensitive display, a speed of the finger, a shape of a contact surface of the finger or a size of the contact surface of the finger, and wherein the at least one parameter of the second touch input includes one or more of the pressure exerted by the finger on the presence-sensitive display, a speed of the finger, a shape of a contact surface of the finger or a size of the contact surface of the finger.
[0120] Example 21: The computing device of any of Examples 14 to 20, wherein the instructions further cause the one or more processors to change a gain value setting of the fingerprint sensor based on one or more of the first set of heatmaps or the second set of heatmaps.
[0121] Example 22: The computing device of one of Examples 13 to 21, wherein the one or more processors determine the at least partial fingerprint by aligning the first section of the fingerprint and the second section of the fingerprint on the basis of the first surface of the finger and the second surface of the finger.
[0122] Example 23: The computing device of one of Examples 13 to 22, wherein the instructions further cause the one or more processors to output a graphical user interface for display by the presence-sensitive display, which includes a specification of a first finger position for the finger at the first time and a specification of a second finger position for the finger at the second time.
[0123] Example 24: The computing device of any of Examples 13 to 23, wherein the finger is a first finger, and wherein the instructions further cause the one or more processors to: receive, from the presence-sensitive display, a current touch input from a second finger at a current time; while the presence-sensitive display detects the current touch input; receive, from the fingerprint sensor, a current portion of a fingerprint of the second finger; determine a current area of the second finger that corresponds to the current portion of the fingerprint of the second finger; determine a reference portion of the at least partial fingerprint of the first finger that corresponds to the current portion of the fingerprint of the second finger, based on a current area of the second finger;and selective authentication of a user by at least comparing the current section of the fingerprint of the second finger with the reference section of the at least partial fingerprint of the first finger.
[0124] Example 25: A persistent, computer-readable storage medium encoded with instructions which, when executed by one or more processors of a computing device, cause the one or more processors to: a presence-sensitive display configured to detect touch input; a fingerprint sensor configured to obtain a fingerprint of a finger from the presence-sensitive display; one or more processors; and a memory containing instructions which, when executed by the one or more processors, cause the one or more processors to: receive, from the presence-sensitive display, an initial touch input of a finger at an initial time; while the presence-sensitive display detects the initial touch input, receive, from the fingerprint sensor, an initial portion of the fingerprint of the finger;Receiving, from the presence-sensitive display, a second touch input from the finger at a second time; while the presence-sensitive display detects the second touch input, receiving, from the fingerprint sensor, a second section of the finger's fingerprint; determining a first surface of the finger corresponding to the first section of the fingerprint and a second surface of the finger corresponding to the second section of the fingerprint; and generating at least a partial fingerprint of the finger based on the first section of the fingerprint, the first surface of the finger, the second section of the fingerprint, and the second surface of the finger.
[0125] Example 26: The persistent computer-readable storage medium of Example 25, wherein the instructions cause the one or more processors to: determine a first set of heatmaps associated with the first touch input, wherein the one or more processors determine the first area of the finger associated with the first section of the fingerprint based on the first set of heatmaps; and determine a second set of heatmaps associated with the second touch input, wherein the one or more processors determine the second area of the finger associated with the second section of the fingerprint based on the second set of heatmaps.
[0126] Example 27: The permanent computer-readable storage medium of Example 26, wherein the first set of heatmaps includes one or more specifications of capacity values for a first area of the presence-sensitive display and wherein the second set of heatmaps includes one or more specifications of capacity values for a second area of the presence-sensitive display.
[0127] Example 28: The persistent computer-readable storage medium of Example 26 or 27, wherein the instructions further cause the one or more processors to: determine, based on the first set of heatmaps, whether at least one parameter of the first touch input satisfies a corresponding threshold for the first touch input; and determine, based on the second set of heatmaps, whether at least one parameter of the second touch input satisfies a corresponding threshold for the second touch input.
[0128] Example 29: The persistent computer-readable storage medium of Example 28, wherein the instructions further cause the one or more processors to: in response to being determined that the at least one parameter of the first touch input satisfies the corresponding at least one threshold for the first touch input, store an indication of the first section in the memory; and in response to being determined that the at least one parameter of the second touch input satisfies the corresponding at least one threshold for the second touch input, store an indication of the second section in the memory.
[0129] Example 30: The persistent computer-readable storage medium of Example 28, wherein the instructions further cause the one or more processors to: in response to a determination that the at least one parameter of the first touch input does not meet the corresponding at least one threshold for the first touch input, output, for display by the presence-sensitive display, a graphical user interface containing instructions for improving the generation of the at least partial fingerprint; and in response to a determination that the at least one parameter of the second touch input does not meet the corresponding at least one threshold for the second touch input, output, for display by the presence-sensitive display, the graphical user interface containing the instructions.
[0130] Example 31: The persistent computer-readable storage medium of any of Examples 28 to 30, wherein the one or more processors receive the first part of the fingerprint by receiving the first part of the fingerprint from the fingerprint sensor in response to the determination that the at least one parameter of the first touch input has stabilized, and wherein the one or more processors receive the second part of the fingerprint by receiving the second part of the fingerprint from the fingerprint sensor in response to the determination by the computing device that the at least one parameter of the second touch input has stabilized.
[0131] Example 32: The permanent computer-readable storage medium of any of Examples 28 to 31, wherein the at least one parameter of the first touch input includes one or more of a pressure exerted by the finger on the presence-sensitive display, a speed of the finger, a shape of a contact surface of the finger or a size of the contact surface of the finger, and wherein the at least one parameter of the second touch input includes one or more of the pressure exerted by the finger on the presence-sensitive display, a speed of the finger, a shape of the contact surface of the finger or a size of the contact surface of the finger.
[0132] Example 33: The persistent computer-readable storage medium of any of Examples 26 to 32, wherein the instructions further cause one or more processors to change a gain value setting of the fingerprint sensor based on one or more of the first set of heatmaps or the second set of heatmaps.
[0133] Example 34: The computing device of one of Examples 25 to 33, wherein the one or more processors determine the at least partial fingerprint by aligning the first section of the fingerprint and the second section of the fingerprint on the basis of the first surface of the finger and the second surface of the finger.
[0134] Example 35: The computing device of one of Examples 25 to 34, wherein the instructions further cause the one or more processors to output a graphical user interface for display by the presence-sensitive display, which includes a specification of a first finger position for the finger at the first time and a specification of a second finger position for the finger at the second time.
[0135] Example 36: The computing device of any of Examples 25 to 35, wherein the finger is a first finger, and wherein the instructions further cause the one or more processors to: receive, from the presence-sensitive display, a current touch input of a second finger at a current time; while the presence-sensitive display detects the current touch input; receive, from the fingerprint sensor, a current portion of a fingerprint of the second finger; determine a current area of the second finger that corresponds to the current portion of the fingerprint of the second finger; determine a reference portion of the at least partial fingerprint of the first finger that corresponds to the current portion of the fingerprint of the second finger, based on a current area of the second finger;and selective authentication of a user by at least comparing the current section of the fingerprint of the second finger with the reference section of the at least partial fingerprint of the first finger.
[0136] In one or more examples, the described functions may be implemented as hardware, software, firmware, or any combination thereof. When implemented as software, the functions may be stored or transmitted on a computer-readable medium as one or more instructions or as code and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media corresponding to a tangible medium, such as data storage media, or communication media, which include any medium that facilitates the transmission of a computer program from one location to another, for example, according to a communication protocol. In this way, computer-readable media can generally correspond to (1) tangible, computer-readable storage media that are non-transient, or (2) a communication medium, such as a signal or carrier wave.Data storage media can be any available media that one or more computers or one or more processors can access to retrieve instructions, code, and / or data structures for implementing the techniques described in this disclosure. A computer program product can include a computer-readable medium.
[0137] As an example, but not limited to, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory, or any other media that can be used to store the desired program code in the form of instructions or data structures and that a computer can access. Furthermore, any such connection is correctly referred to as a computer-readable medium.For example, if instructions from a website, server, or other remote source are transmitted using coaxial cable, fiber optic cable, twisted-pair cable, digital subscriber line (DSL), or wireless technology such as infrared, radio, and microwaves, then the coaxial cable, fiber optic cable, twisted-pair cable, DSL, or wireless technology such as infrared, radio, and microwaves are included in the definition of the medium. However, it is understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other volatile media, but instead refer to non-volatile, tangible storage media.In this context, "disc" and "plate" include Compact Disc (CD), Laser Disc, optical disc, Digital Versatile Disc (DVD), floppy disk, and Blu-ray Disc, whereby plates typically reproduce data magnetically, while discs reproduce data optically using lasers. Combinations of the above are also included in the scope of computer-readable media.
[0138] Instructions can be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Accordingly, the term "processor" in this context can refer to any of the aforementioned structures or any other structure suitable for implementing the techniques described herein. Furthermore, some aspects of the functionality described herein can be provided in dedicated hardware and / or software modules. Additionally, the techniques could be implemented entirely in one or more circuits or logic elements.
[0139] The techniques of this disclosure can be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC), or a set of ICs (e.g., a chipset). This disclosure describes various components, modules, or units to highlight functional aspects of devices configured to perform the disclosed techniques, but does not necessarily require implementation by different hardware units. Rather, as described above, different units can be combined in a single hardware unit or provided by a collection of interoperable hardware units, including one or more processors, as described above in conjunction with suitable software and / or firmware.
[0140] Several examples of the disclosure have been described. Any combination of the described systems, processes, or functions is considered. These and other examples are within the scope of the following patent claims.
Claims
[1] Method comprising: Detecting, by a presence-sensitive display of a computing device, a first touch input of a finger at a first time; upon detecting the first touch input, obtaining, by a fingerprint sensor of the computing device, a first portion of a fingerprint of the finger, wherein the fingerprint sensor is configured to obtain the fingerprint through the presence-sensitive display; Detecting, by the presence-sensitive display, a second touch input of the finger at a second time; during detection of the second touch input, obtaining, by the fingerprint sensor, a second portion of the fingerprint of the finger; Determining, by the computing device, a first area of the finger associated with the first portion of the fingerprint and a second area of the finger associated with the second portion of the fingerprint; and Generating, by the computing device, at least a partial fingerprint of the finger based on the first portion of the fingerprint, the first surface of the finger, the second portion of the fingerprint, and the second surface of the finger. [2] The method of claim 1, further comprising: Determining, by the computing device, a first set of heatmaps associated with the first touch input, wherein determining the first area of the finger associated with the first portion of the fingerprint is based on the first set of heatmaps; and Determining, by the computing device, a second set of heatmaps associated with the second touch input, wherein determining the second area of the finger associated with the second portion of the fingerprint is based on the second set of heatmaps. [3] Method according to claim 2, wherein the first set of heatmaps includes one or more indications of capacity values for a first area of the presence-sensitive display, and wherein the second set of heatmaps includes one or more indications of capacity values for a second area of the presence-sensitive display. [4] The method of claim 2 or 3, further comprising: Determining, by the computing device and based on the first set of heatmaps, whether at least one parameter of the first touch input satisfies a corresponding at least one threshold for the first touch input; and Determining, by the computing device and based on the second set of heatmaps, whether at least one parameter of the second touch input satisfies a corresponding at least one threshold for the second touch input. [5] The method of claim 4, further comprising: in response to determining that the at least one parameter of the first touch input meets the corresponding at least one threshold for the first touch input, storing, by the computing device, an indication of the first portion of the fingerprint in a memory of the computing device; and in response to determining that the at least one parameter of the second touch input meets the corresponding at least one threshold for the second touch input, storing, by the computing device, an indication of the second portion of the fingerprint in the memory. [6] The method of claim 4, further comprising: in response to determining that the at least one parameter of the first touch input does not meet the corresponding at least one threshold for the first touch input, outputting, for display by the presence-sensitive display, a graphical user interface including guidance for improving generation of the at least partial fingerprint; and in response to determining that the at least one parameter of the second touch input does not meet the corresponding at least one threshold for the second touch input, outputting, by the computing device and for display by the presence-sensitive display, the graphical user interface including the guidance. [7] Method according to one of claims 4 to 6, wherein obtaining the first portion of the fingerprint occurs in response to the computing device determining that the at least one parameter of the first touch input has stabilized, and wherein obtaining the second portion of the fingerprint occurs in response to the computing device determining that the at least one parameter of the second touch input has stabilized. [8] Method according to one of claims 4 to 7, wherein the at least one parameter of the first touch input includes one or more of a pressure exerted by the finger on the presence-sensitive display, a speed of the finger, a shape of a contact area of the finger, or a size of the contact area of the finger, and wherein the at least one parameter of the second touch input includes one or more of the pressure exerted by the finger on the presence-sensitive display, the speed of the finger, the shape of the contact surface of the finger, or the size of the contact surface of the finger. [9] The method of any one of claims 2 to 8, further comprising changing a gain value setting of the fingerprint sensor based on one or more of the first set of heatmaps or the second set of heatmaps. [10] The method of any one of examples 1 to 9, wherein determining the at least partial fingerprint comprises aligning the first portion of the fingerprint and the second portion of the fingerprint based on the first surface of the finger and the second surface of the finger. [11] Method according to one of claims 1 to 10, further comprising: Output by the computing device and display by the presence-sensitive display, a graphical user interface including an indication of a first finger position for the finger at the first time and an indication of a second finger position for the finger at the second time. [12] The method of any one of claims 1 to 11, wherein the finger is a first finger, the method further comprising: Detecting, through the presence-sensitive display, a current touch input from a second finger at a current time; while detecting the current touch input, obtaining, by the fingerprint sensor, a current portion of a fingerprint of the second finger; Determining, by the computing device, a current area of the second finger associated with the current portion of the fingerprint of the second finger; determining, based on the current area of the second finger, a reference portion of the at least partial fingerprint of the first finger corresponding to the current portion of the fingerprint of the second finger; and selectively authenticating, by the computing device, a user by at least comparing the current portion of the fingerprint of the second finger with the reference portion of the at least partial fingerprint of the first finger. [13] The method of claim 12, wherein selectively authenticating the user by at least comparing the current portion of the fingerprint of the second finger with the reference portion comprises using a machine learning algorithm to determine whether the current portion of the second finger matches the reference portion of the at least partial fingerprint. [14] Computing device comprising means configured to perform one of the methods according to claims 1 to 13. [15] A computer-readable storage medium comprising instructions which, when executed, cause one or more processors of a computing device to perform one of the methods of claims 1 to 13.