METHOD AND SYSTEM OF IDENTIFYING A USER OF A HANDHELD DEVICE

- Panasonic

A system and method for identifying a user of a handheld device is herein disclosed. The device implementing the method and system may attempt to identify a user based on signals that are incidental to a user's handling of the device. The signals are generated by a variety of sensors dispersed along the periphery or within the housing. The sensors range may include touch sensors, inertial sensors, acoustic sensors, pulse oximiters, and a touchpad. Based on the sensors and corresponding signals, identification information is generated. The identification information is used to identify the user of the handheld device. The handheld device may implement various statistical learning and data mining techniques to increase the robustness of the system. The device may also authenticate the user based on the user drawing a circle, or other shape.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No. 61/046,578, filed on Apr. 21, 2008, the entire disclosure of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

The present invention relates generally to method an system for identifying a user of a handheld device, e.g. remote control systems. Many systems would benefit from easy, non-intrusive user identifications. For reference only, many aspects of the invention and the background relating to the inventions are described in relation to a remote control system, suitable for control of consumer electronic products and home appliances, that includes a touch sensitive handheld remote control unit that detects holding and grabbing patterns of the user as well as other characteristics such as the trajectory at which the user raises the remote and first touches the remote to identify the user.

Handheld remote control units, typically featuring a large plurality of push buttons, are now quite commonplace on coffee tables throughout the world. With most consumer electronic products, it is customary for the manufacturer to furnish such a handheld remote control with each unit. Thus, most consumers own a collection of various different remote control units, each associated with a particular product or appliance.

In an effort to simplify matters, the Applicants' assignee has developed several different embodiments of a touch-sensitive remote control unit that features a reduced number of push buttons and one or more touch-sensitive touchpads that may be manipulated by the user's fingers or thumb to interact with information on a display screen. The touch pads may be manipulated, for example, to move a selection indicator (such as a cursor or other graphical element) across a control region upon a display screen. In some applications, the display screen will be separate from the handheld remote control unit, and thus the user manipulates the selection indicator by watching the display screen while manipulating the keypad with a finger or thumb. Preferably, the touchpad or touchpads are disposed on the remote control unit so that they can be manipulated by the user's thumb while the user is holding the unit in one hand. Furthermore, the remote control has touch sensitive sensors on its outer casing sensitive to a user's touch.

As multiple users may use a single remote control and corresponding host device, there is a growing demand for a means of identifying which user is using the remote control. Methods such as logging in with a user name and password are time consuming and annoying to users. Thus, there is a need for a means to identify a user that requires minimal user interaction. Optimally, it would be beneficial to allow a user to be identified without the user having to enter or perform any identification tasks. Such a passive means of identification would result in virtually no user interaction on the part of the user.

We have therefore developed a remote control system that implements various passive and semi-passive user identification methods. The methods range from the grab/hold patterns by which the user holds a remote, to the trajectory that the remote follows when grabbed by the user.

SUMMARY

This section provides a general summary of the disclosure, and is not a comprehensive disclosure of its full scope or all of its features.

In one sense, the present invention relates to a system and method for identifying a user of a handheld device. The handheld electronic device comprises a housing and a sensor system disposed along a periphery of the housing. The sensor system is responsive to a plurality of simultaneous points of contact between a user's hand and the device to generate observation signals indicative of the plurality of contact points between the user's hand and the device. The handheld electronic device further includes a user identification database storing data corresponding attributes of a plurality of known users, wherein the attributes of the plurality of known users are used to identify a user. The device further comprises a user identification module configured to receive the observation signals from the sensor system and identify the user from the observation signals and the attributes of the plurality of users.

In a second sense, the present relates to a handheld electronic device comprising a housing and a touchpad responsive to a finger movement of a user that generates a touchpad signal corresponding to the finger movement. The device further includes a touchpad processing module that receives the touchpad signal and generates finger movement data based on said touchpad signal. The handheld electronic device further includes a user identification database that stores user identification data corresponding to physical attributes of a plurality of known users, wherein physical attributes includes finger movement of a user drawing a predetermined object. The device is further comprised of a user identification module that receives finger movement data of the user and identifies the user based on the finger movement data and the user identification data, wherein the finger movement data is the user drawing the predefined shape.

In a third sense, a handheld electronic device is comprised of a housing and a touch sensor system disposed along a periphery of the housing. The touch sensor system is responsive to a plurality of simultaneous points of contact between a user's hand and the device to generate observation signals indicative of the plurality of contact points between the user's hand and the device. The device also includes a touch sensor processing module configured to receive the observation signals from the touch sensor system and determine a user's holding pattern. The device is further comprised of an inertial sensor embedded in the housing which is responsive to movement of the device by the user's hand to generate inertial signals and a trajectory module configured to receive the inertial signals from the inertial sensor and determine a trajectory for the movement of the device. The device also includes a touchpad located along an external surface of the housing that is responsive to the user's finger movement along the external surface of the touchpad to generate touchpad signals and a touchpad processing module that receives the touchpad signals and determines user finger movement data. The device further includes a user identification database storing data corresponding to attributes of a plurality of known users, wherein the attributes of the plurality of the known users are used to identify a user, and wherein the attributes include holding patterns of the plurality of known users, trajectories corresponding to movement of the device by each of the plurality of known users, and user finger movement data of the plurality of known users. The device is further comprised of a user identification module configured to receive identification information of the user and identify the user based on the identification information and the attributes of the plurality of known users, wherein the identification information includes the user's holding pattern, the user's trajectory for movement of the device, and the user's finger movement data.

Further areas of applicability will become apparent from the description provided herein. The description and specific examples in this summary are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.

DRAWINGS

The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure.

FIG. 1 illustrates an exemplary remote control system for an electronic product having a display screen and having a handheld remote control unit that includes at least one touchpad disposed for actuation by a user's thumb;

FIGS. 2A and 2B are exemplary views of a touchpad surface, useful in understanding how a user's hand size can affect usability of the touchpad surface;

FIG. 3 is a schematic representation of a remote control unit having plural touchpads and an array of capacitive sensors about the periphery of the remote control unit;

FIG. 4 is a system level architecture of a user identification system;

FIG. 5 is a diagram of the architecture of the user identification module;

FIG. 6 is an exemplary view of the points of contact between the array of touch sensitive sensors on the device and a user's hand;

FIG. 7 is a flow diagram of an exemplary method for identifying a user based on the way the user grabs the handheld device;

FIG. 8 is an exemplary view of two different trajectories corresponding to two different users;

FIG. 9 is a flow diagram of an exemplary method for identifying a user based on the trajectory corresponding to the movement of the remote control;

FIG. 10 is an exemplary view of a user touching the touchpad of the remote control and the corresponding thumb vector;

FIG. 11 is a flow diagram of an exemplary method for identifying a user based on the user's first touch of the touchpad;

FIG. 12 is an exemplary view of a user drawing a circle on the touchpad of the remote control;

FIG. 13 is a flow diagram of an exemplary method for identifying a user based on the user drawing a shape on the touchpad;

FIG. 14 is an diagram illustrating the combination of various user identification methods to arrive to a user identification;

FIG. 15 is a flow diagram depicting various statistical learning and data mining techniques used in performing user identification;

FIG. 16 is a flow diagram depicting an exemplary method of performing unsupervised learning of users; and

FIG. 17 is an exemplary view of two clusters corresponding to two different users, and a user to be identified in relation to the two clusters.

Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.

DETAILED DESCRIPTION

Example embodiments will now be described more fully with reference to the accompanying drawings.

A system and method for user identification is herein disclosed. The system combines one or more user identification techniques to authenticate and/or identify a user. The techniques may be passive techniques such as identifying a user by the way which the user grabs the handheld device, the trajectory that the device follows when the user picks up the remote, the user's first touch of the device, and the user's heartbeat. The techniques may also be semi-passive, such as having the user draw a shape, e.g. a circle, on a touch-sensitive surface of the handheld device. For simplicity, the techniques are first explained as applied to a remote control 12 that may be used with a television, a set-top box, a computer, an entertainment center or other host device. It will be apparent that the techniques are also applied to all handheld devices where user identification would benefit the user. Such applications are described in greater detail below.

Referring to FIG. 1, a remote control system for an exemplary electronic product is illustrated generally at 10. The remote control system includes a handheld remote control 12 that sends control instructions, preferably wirelessly, to an electronic product 14 having a display screen 16. The remote control 12 includes a complement of push buttons 18 and a pair of touchpads 20. Note that in the illustrated embodiment, the remote control 12 unit is bilaterally symmetrical so that it will function in the same way regardless of which touchpad is proximate the user's thumb. The handheld remote control 12 has an orientation sensor (not shown) to detect in what orientation the unit is being held.

Any type of communication interface between the handheld remote control 12 unit and the electronic product can be utilized. For purposes of illustration, a wireless transmitting device, shown diagrammatically at 24 and a wireless receiving device, shown diagrammatically at 22, are illustrated. It will be appreciated that wireless communication can be accomplished using infrared, ultrasonic and radio frequencies, and further utilizing a variety of different communication protocols, including infrared communication protocols, Bluetooth, WiFi, and the like. Communication can be unilateral (from remote control unit 12 to electronic product 14) or bilateral.

In the illustrated embodiment, a control region is defined on the screen, within which a user-controlled selection indicator may be visually displayed. In FIG. 1, a visual facsimile of the remote control 12 unit itself, is displayed on a display screen 16 as at 26. A user-controlled selection indicator, in the form of a graphical depiction of the user's thumb 30 is displayed. Movement of the user's thumb upon touchpad 20 causes corresponding movement of the selection indicator 30. Although similar to movement of a computer screen cursor by track pad, there is this difference. Regions on the touchpad 20 are mapped one-to-one onto the control region of the screen. The typical computer track pad does not employ such one-to-one relationship, but rather it uses a relative mapping to mimic performance of a computer mouse which can be lifted and then repositioned.

The system herein disclosed may be used, for example, to identify a mapping for the remote based on the user identification. Although the illustrated embodiment uses a one-to-one mapping between the touchpad surface and the control region, this mapping is altered to accommodate the hand size characteristics of the user. Referring to FIGS. 2A and 2B, an exemplary pattern of numbers and letters have been illustrated on the touchpad, in the mapped positions where they would be most easily accessible to a person with a small hand (FIG. 2A) and a large hand (FIG. 2B). Compare these mapped locations with the corresponding locations on the control region 26 (FIG. 1). Although the image displayed on the screen (FIG. 1) would remain the same for all users, regardless of hand size, the portion of the touchpad that actually maps to the control region is adjusted. Thus, the user with a small hand does not have to reach as far to select numeral 1. Conversely, the user with a large hand will find it easier to select numeral 5 without simultaneously selecting an adjacent numeral, such as numeral 4. In effect, only a portion of the touchpad is used when the hand is small (FIG. 2A) and this portion is then scaled up to match the entire control region shown on the display screen.

The user identification may be used to configure other aspects of the host device controlled by the remote control. For example, if the host device is a set-top box for a television, the user identification may be used to restrict access to certain channels for certain users. Additionally, a list of pre-programmed favorite channels or settings may be loaded onto the set-top box. More examples are provided below.

Referring to FIG. 3, the remote control 12 is diagrammatically depicted with two touchpads 20. A capacitive touch array is depicted at 40. It is envisioned that other touch sensitive sensors may be used in combination with or instead of the capacitive sensors in a capacitive touch array.

For example, a sensor that provides a resistance relative to the contact points between the user and the device may be used. Such sensors are currently being developed and provide a higher dimensional data set, which is advantageous when identifying a user out of many users. These electrode matrix sensors have one sensor that transmits a signal, e.g. an electric current, and a plurality of receptors that receive the signal via the user's hand (or other body part). The transmitter and the plurality of receptors are placed along the exterior surface of the remote control 12. The plurality of receptors are oriented spatially around the transmitter. The distance between each receptor and the transmitter is known, as is the current and voltage of the transmitted electrical signal. When the electrical signal is transmitted and subsequently received by the receptors, the resistance of the user's hand at the contact points may be determined. As can be appreciated each transmission increases the dimensionality of the data by a factor of X, where X is the ratio of receptors to a transmitter, as each receptor will generate a resistance value. These sensors are particularly helpful if datasets of higher dimensionality are preferred. Furthermore, transfer functions may be performed on the transmitted signals resulting in the communications between the transmitters and the corresponding receptors to further increase the dimensionality.

The remote may also include acoustic (not shown) and optical sensors (not shown), inertial sensors (not shown), a pulse oximiter (not shown) and thermal sensors (not shown).

It is appreciated that the sensors may receive signals from a user holding the remote control 12 with one hand or with two hands. For example, the user may hold the remote control 12 in an operative position with one hand. The user may also hold the remote control 12 with both hands, much like a video game controller, for purposes of identification.

FIG. 4 illustrates possible identification inputs and possible data used to identify a user. As mentioned, the remote control 12 or handheld device may identify a user based on a number of inputs. The remote control 12 uses data from sensors 52-60 that may be used for other functional applications to identify the users. The data is received and processed by the user identification module 50. The user identification module will access a user identification database 64 containing data specific to each known user. The types of data may include one or more of the following: hold/grab patterns 64 received from touch sensitive sensors 52; trajectory data 66 received from inertial/motion sensors such as accelerometers and gyroscopes; heartbeat data 68 received from an acoustic sensor 58 or other types of sensors; face or torso data 70 received from an optical sensor 56; first touch data 72 received from a touch pad sensor 20 and arcuate data 74 received from the touchpad sensor 20. It is understood that the lists of sensors and data types are not limiting, it is envisioned that other types of data may be received from the specified sensors and that other types of sensors may receive the listed data or inputs. Furthermore, it is envisioned that as little as one input type may be used to identify a user or any combination of inputs may be used to identify the user.

FIG. 5 is a detailed depiction of an exemplary user identification module 50. User identification module 50 may have a processing module for each type of input. For example, user identification module 50 may include a touch processing module 80 for processing data from the touch sensors 52; a motion processing module 82 for processing data from the motion and inertial sensors 54; an optical processing module 84 for processing data from the optical sensors 56; an acoustic processing module 86 for processing data from the acoustic sensors 58 and a touchpad processing module 88 for processing data from the touchpad 60. Greater detail of each type of data and its respective processing module are described below.

It is appreciated that user identification module 50 may reside on the remote control 12 or the host device. Due to the fact that the system implements powerful learning techniques, remote control 12 may not have the processing power to handle such calculations. If this is the case, then remote control 12 may communicate the input data to the recognition module 50 residing on the host device.

The various processing modules receive raw data from the respective sensor and process the data to a form that may be used by recognition module 90, which may use one or more of a k-means clustering method, a support vector machines (SVM) method, a hidden Markov model method, and a linear regression method to identify a user based on the processed data. As can be appreciated, the various sensors will produce high dimensional data sets, which is beneficial for identification. User identification module 50 may also perform feature extraction on the input data set, so that the high dimensional data set can be more easily processed. Dimensionality reduction methods such as principle component analysis (PCA) and isomap may be implemented by recognition module. The recognition module 90 uses the processed data and the datasets contained in user identification database 62 to classify the user to be identified via various statistical learning and/or clustering methods. The recognition module 90 will then determine the user whose feature data, e.g. hold/grab, trajectory, or first touch, most resembles the input data received from the various sensors. A confidence score may also be associated with the user identification. Furthermore, recognition module 90 may generate a list of the n-nearest matches in the user identification database 62. Additionally, as is described later, recognition module 90 may generate a user identification.

Recognition module 90 may take as parameters, a data set and data type. Based on the data type, recognition module 90 may select which learning or clustering technique to use and which data types to access in user identification database 62.

FIG. 6 illustrates an example of a user grabbing a remote. When grasped in the user's hand, some of the individual elements of the touch array 102 and 104 are activated (those in close proximity to the touching portions of the user's hand). This holding pattern gives some measure of the user's identity. Of course, no user will hold the remote control 12 unit in exactly the same way each time he or she picks it up. Thus, each user's touch array observation data can be expected to vary from use to use and even from moment to moment. Thus, a presently preferred embodiment uses a model-based pattern classification system to convert the holding pattern observation data into user identification, hand size and holding position information. As can be seen the user's palm and fingers result in pressure against the capacitance sensors 102 and 104. The capacitance sensors collectively transmit signals to the touch sensor processing module 80, (FIG. 5), in the form of raw data. These observation signals represent which sensors are currently contact points between the user's hand and the remote control 12. The touch sensor processing module 80 may transform the raw data into a format usable by the recognition module 90. For example, the data may be structured in a vector or matrix whose elements represent the various sensors. The transformed data may be used to find a match in the user identification database 64.

Alternatively, touch sensor processing module 80 may extrapolate additional data from the raw data. For example, it is discernable which hand (left or right) is grabbing the remote. It is also discernable which sensors were activated by the palm and which sensors are activated by the fingers, due to the fact that the palm is continuous and the fingers have gaps between them. Based on which hand is grabbing the remote and the position of the fingers and the palm, the touch sensor processing module 80 may extrapolate an estimated hand size. Additional feature data may be extrapolated from the initial grab, such as a holding pattern. For example, some users will use three fingers to grab the remote on the side, while other user will use a four finger hold. Also, information relating to the pressure applied to each sensor may also be included. The collection of extrapolated feature data may be used to find a match in the user identification database 64.

Referring now to FIG. 7, an exemplary technique for identifying a user based on the grab/hold position is now described in greater detail. At step S110, the raw data corresponding to the activated touch sensors is received by touch sensor processing module 80. Touch sensor processing module 80 will determine whether the remote was grabbed by a left hand or right hand at step S112. At step S114, touch processing module 70 will extract features relevant to the grab/hold position, by separating the data into palm and finger data. At step S116, touch processing module 70 will determine the palm occlusion patterns. Information such as pressure and points of higher pressure may be extrapolated based on the signals received from the touch sensors. Furthermore, the amount of activated sensors may be used to extract the width of the palm occlusion patterns. At step S118, touch processing module 70 may estimate a hand position for portions of the palm that are not in contact with the sensors, based on the palm positions that are known to touch processing module 70. Learned models or known physiological models may be used to estimate the hand position. Based on steps S116 and S118, a user hand size may be calculated at S120.

At step S122, the finger occlusion patterns are calculated. Similar to the palm occlusion patterns, pressure and pressure points may be determined from the received touch sensor data. From this data, touch processing module 80 can determine the amount of fingers used to grab the remote and the spacing between fingers. The finger occlusion patterns may be combined with the results of step S118 and S116, which provide an estimate of the palm portion of the hand, to determine a hold pattern. This data, along with the hand size data, may be communicated to recognition module 90 and used to match a user in the user identification database at step S126. It is envisioned that many different methods of matching a user may be used. For example, a k-means clustering may be performed on the processed data and the user identification data. Other data mining techniques and statistical learning techniques may also be used to determine a user identification. Furthermore, a confidence score may be attached to the identification, or an n-nearest match list of possible users. In the event a confidence score is used, the system may require a confidence score to exceed a predetermined threshold to identify a user. In the event an n-nearest match list is produced, other identification techniques may be used to pare down the list.

In an alternative embodiment, the method of identifying a user may not initiate until the remote has reached a resting point. Thus, the user will grab the remote control 12, pick up the remote control 12, and then reach the hold position of the remote control 12. Once the inertial sensors indicate that the remote control 12 has reached a steady position, e.g. acceleration or velocity are below a predetermined threshold, then the user identification process may commence. In this embodiment, variations in the initial grab of the remote are entirely ignored, as the grab pattern may be equally dependent on the location of the remote control and the user, e.g. user will grab a remote differently if behind the user or lodged between two couch cushions.

Hold/grab pattern matching may be used as a sole means of user identification, a primary means of user identification or a partial means of user identification. Preliminary research reveals that in a small user group (5 users or the size of a family), hold/grab patterns result in about an 87.5% accuracy in user identification. Thus, depending on the scale and the application of the underlying system, 87.5% may be a sufficient identification accuracy. However, for more sensitive login environments more accuracy may be needed and thus, hand/grab pattern matching may be used as one of a number of matching techniques.

FIG. 8 depicts an example of a user trajectory that may be used to identify a user. For exemplary purposes, two trajectories 136A and 136B corresponding to two users 134A and 134B are depicted. At position 130, the remote control 12 is depicted in a resting state on a coffee table 138. At position 132A, the remote control 12 has been grabbed by user 134A and moved to position 132A by following trajectory 136A. At position 132B, the remote control 12 has been grabbed by user 134B and moved to position 132B by following trajectory 1368. Thus, the two users may be differentiated based on the trajectories of remote control 12. As is apparent from the disclosure, the remote control 12 will know when it is held by a user and when it is at rest based on the activation of the touch sensors. As described earlier, the remote control 12 may have one or more accelerometers and/or one or more gyroscopes. It should be appreciated any type of inertial sensors, such as the various types of gyroscopes and various types of accelerometers may be used.

FIG. 9 illustrates an exemplary method of identifying a user using trajectory data. At step S140, the motion processing module 82 receives the sensor inputs from the gyroscope and the accelerometer. At step 148, the motion processing module 82 must determine a starting location. Motion processing module 82 may execute steps 146 and/or 142 and 144 to determine a starting location. The resting state and the hold position are the respective start point and end points to the trajectory. In order for a reliable trajectory match, it may be beneficial to determine the actual starting location. For example, the same user may follow a different trajectory if he is picking the remote up off the floor instead of picking the remote up off the coffee table. Thus, the remote control 12 may implement one or more techniques for estimating a starting location. First, the remote control 12 may keep track of where the remote was placed into the resting position. Thus, when the touch sensors are disengaged by a user, the inertial data from the sensors may be used to determine a resting location. To enable this type of determination, the accelerometer and gyroscope should be continuously outputting accelerations and velocities to the motion sensor processing module 72. The motion processing module 72 will use the most recent known location, e.g. the previous resting position, and dead reckoning to determine a location. To enable dead reckoning, the motion processing unit 82 may also receive timing data for purposes of calculating a position based on acceleration and velocity vectors. Once the touch sensors are disengaged by a user, motion processing module 82 may store the new resting position as the last location. When a last known location is recorded, then motion processing module 82 may retrieve the last known location at step S146 upon a user grabbing the remote control 12.

As mentioned, the trajectory processing module 82 may increase prediction accuracy if a starting location is known. It is appreciated that one underlying reason is that the starting location and the trajectory are dependent on one another. The dependency, however, is not necessarily the exact geographic location, but rather the relative location of the remote. For example, a user picking up the remote from the far right end will likely take a similar trajectory when picking the remote up off of the center of the coffee table. The trajectory will differ, however, when the user picks up the remote control 12 off of the couch. Thus, step S148, described above, does not require a pinpoint location. Rather a general location, or a cluster of locations may be used as the starting location. Trajectory processing module may use a k-means clustering algorithm of known locations and an estimated starting location to determine the general starting location.

It should be noted that in certain embodiments the remote control 12 may ask a user to verify a location periodically. Furthermore, in some embodiments, there may be a location registration phase, where the user preprograms the n-most likely locations of a remote. In this embodiment, the user could enter a coffee table, a couch, a side table, the floor, the entertainment center, etc. In such a registration process, the user would have to define the locations with respect to each other.

In other embodiments, the motion processing module 82 will determine a location based on the motion itself. In these embodiments, the motion processing module 82 receives the sensor data and determines a reference trajectory using dead reckoning techniques at step S142. It should be noted that the trajectory is a reference trajectory because it assumes a starting point of (0, 0, 0) and further is used as a reference to determine a starting location. At step S144, the motion processing module 82 may use a k-means cluster algorithm, using the received trajectory as input, to determine the most likely starting location.

Once a starting location is determined, the motion processing module may use the resting location (starting point), the hold position (the end point), and the sensor data, to determine a trajectory. The module processing module 82 will then attempt to find a match in the user identification database 62 for the trajectory, based on the starting point and the trajectory itself. The reason that both parameters may be of importance is that the categorization of a trajectory is dependent on the starting point. For example, two identical trajectories may be reported to motion sensor processing module 72, despite one trajectory beginning on the coffee table and one trajectory beginning on the center of the floor. Without a starting location, it may be very difficult to differentiate the two trajectories. However, with an estimated or known starting location, the motion processing module 72 may differentiate between the trajectories because one started from the floor, while the other started from the coffee table. Thus, it may be determined, for example, that a shorter user (e.g. a child) picked up the remote from the floor in a standing position, and that a taller (e.g. an adult) user picked up the remote from the coffee table. It is envisioned that learning methods such as support vector machines or k-means clustering may be used to determine a user identification based on the calculated trajectory and starting point. It should be noted that the starting point, e.g. couch or coffee table, may be used to pare down the set of trajectories that the input trajectory is compared with. For example, if the motion processing module 82 determines that the user picked the remote control 12 up from the coffee table, i.e. the input trajectory originated from the coffee table, only the set of trajectories originating from the coffee table are used to generate a user identification.

In an alternative embodiment, the starting point of the trajectory is ignored. Rather, a vector representing the relative motion of the remote control is used to identify the user. Thus, the trajectory is assumed to always begin at a (0,0,0) position.

It should be noted that trajectory matching may be used as a sole means of user identification, a primary means of user identification or a partial means of user identification. Depending on the scale of the system and the application of the underlying system, trajectory matching may provide sufficient identification accuracy. However, for more sensitive login environments more accuracy may be needed and thus, trajectory matching may be used as one of a number of identification techniques.

In embodiments of the remote control 12 that include a touchpad, additional identification methods may be enabled. FIG. 10 illustrates a user's first touch of the touchpad 20 of the remote control 12. As discussed above, a user when using the remote control 12 will do three things: 1) grab the remote; 2) pick up the remote; and 3) touch the touchpad 20. By extracting data of these events, a user may be identified from the extracted data without having to actively enter user identification information. Thus far, identifying a user from grab/hold patterns and trajectories associated with picking up the remote control 12 have been described. A third way of identifying a user is based on a first touch of a user. Based on the hold pattern associated with a user, a user will have a fairly unique first touch position due to the fact that users generally have different bone and joint structures in the hand. Thus, a user may be further identified based on the hold position and the first touch of the touch pad.

FIG. 11 is a flow diagram depicting an exemplary method of identifying a user based on a first touch of the remote control 12. At step S150, a user's hold position is detected and determined. The process is described in greater detail above. At step S152, the user's first touch is determined. The user's first touch may be an (x,y) coordinate on the touchpad 20. Based on the hold position/pattern and the first touch point, touchpad processing module 88 may extrapolate additional information relating to the user's thumb. For example, touchpad processing module 88 determines the angle at which the thumb holds/curves around the remote control 12. Also, a thumb length may be determined. Based on the first touch data associated with the thumb, a vector corresponding to the user thumb 160 (FIG. 10) may be calculated at step S154. The thumb vector 160 may be a four dimensional vector having an x value, a y value, an x offset and a y offset, wherein one of the corners of the touchpad is used as the origin. This vector may be communicated to and used by recognition module 90 to find a match in user identification database 62 at step S156.

It should be noted that first touch data may be used as a sole means of user identification, a primary means of user identification or a partial means of user identification. Depending on the scale of the system and the application of the underlying system, first touch data may provide sufficient identification accuracy. However, for more sensitive login environments more accuracy may be needed and thus, first touch data may be used as one of a number of identification techniques.

FIG. 12 illustrates a user drawing a circle on the touchpad 20 of the remote control 12. Thus far, wholly passive approaches of identifying a user have been described. The following describes a semi-passive approach for identifying a user, wherein the user traces a shape, preferably a circle, on the touchpad 20. As can be seen from the figure, the user traces a circle 162 on the touchpad 20. It is envisioned, however, that any shape may be used. The purpose of having the user trace a shape on the touchpad is to extract kinematics data from the user's motion. For example, when the user traces a counterclockwise circle, there are four strokes that will typically occur. The first is from 12 to 9, the second from 9 to 6, the third from 6 to 3, and the last from 3 to 12. A user may slide the thumb one position to the next or may slightly bend the thumb, which will result in different arcuate trajectories. The user may make small strokes or large strokes. The user may draw the circle clock-wise or counter-clockwise. Furthermore, timing data may also be extrapolated and used to identify the user. It should be apparent that the permutations of different stroke attributes are great. The amount of permutations corresponding to a user drawn circle provides for a high accuracy rate for identifying a user.

FIG. 13 describes an exemplary method of identifying a user by having the user draw a shape on the touchpad 20. At step S170, touchpad processing module 88 receives the arcuate trajectory data corresponding to the drawn circle. The arcuate trajectory data may come in the form of triples (x, y, t), wherein every x,y coordinate is given a time stamp. At step S174, the set of triples may undergo linear stretching. For example, the arcuate trajectory data may be stretched to 130% the median length. At step S174, the stretched arcuate trajectory data may undergo a principle component analysis (PCA) to reduce the dimensionality of the data set. In a preferred embodiment, the principle components accounting for 98% of the variance are chosen. It is understood, however, that other variance thresholds may be chosen. At step S176, the reduced data sets may then be clustered using k means clustering, where k is selected as the number of users. At step S178 a matching user may be identified by the cluster that the transformed arcuate trajectory data falls into.

In some embodiments, the timing data is initially removed and only the coordinate data, i.e. the (x,y) components of the data are used in steps S172-S178. In these embodiments, the results of the k-means clustering may be rescored using the timing data at step S180. Once rescored, a user may be identified at step S182.

It should be noted that shape drawing may be used as a sole means of user identification, a primary means of user identification or a partial means of user identification. In fact, shape drawing typically provides very high identification accuracy rates. Shape drawing, however, is not a passive approach and may, therefore, be implemented as a back up method when the system is unsure of the user's identity after using the passive identification techniques. Depending on the scale of the system and the application of the underlying system, shape drawing may be an advantageous means of protecting more sensitive login environments.

It is envisioned that additional sensors may also be used to identify a user. For example, an acoustic sensor 58 may be used to detect a user's heartbeat. The acoustic sensors 58 may be strategically placed along-side the outer covering of the remote control, whereby the entire remote control 12 acts as an acoustic antenna. When a user holds the device tightly, the acoustic sensors detect the heartbeat and transmit the data to an acoustic processing module 86. Acoustic processing module 86 may process the received data so that a frequency and amplitude of the heartbeat may be determined. The recognition module 90 may then use one or more of the statistical learning or data mining techniques described above to determine if there exists a matching user in the user identification database 62 based on the user's heartbeat characteristics. It is envisioned that other types of sensors may be used to monitor a user's heartbeat or related statistics. For example, a pulse oximeter may be used to measure a patient's pulse or blood-oxygen levels. Additionally, an ultra-sensitive accelerometer may be used to detect vibrations resulting from the user's pulse. Finally, an impulse response system may further be used. An impulse response system is essentially comprised of a speaker and a microphone. The microphone emits a high-frequency sound wave that reverberates through the user's hand. The sound wave may be deflected back to the microphone, where the sensor is able to discern the augmentation of the sound wave. The impulse-response sensors may also be used to measure a user's pulse.

Another additional sensor is an optical sensor 56. The optical sensor 56 may be located on the remote control or on the host device. The optical sensor 56 may be used to receive image data of the user. The image processing module 86 may perform face-recognition or torso recognition on the user for purposes of identifying the user. Yet another sensor is a thermal sensor placed on the outside covering of the remote control 12. The thermal sensors may be used to determine a user's body temperature. Typically, an identification based solely on body temperature may not be reliable. Body temperature data, however, may be useful in increasing the dimensionality of the data sets so that greater separation results in the collection of user attribute data sets.

Individual methods for user identification have been disclosed. All the methods are either passive or semi-passive, as they do not require the user to remember or enter a username, passcode, or other unique identifier. Rather, the techniques rely on a user's natural kinematic tendencies when performing subconscious tasks. In an alternative embodiment, a combination of two or more of the above-described techniques may be used to increase the accuracy of a user identification. As mentioned earlier, each of the individual techniques may have a confidence score associated with an identification. Additionally, an n-nearest match list may also be generated for each identification technique. Based on either the confidence scores or the n-nearest neighbors of multiple user identification efforts, a more accurate user identification may be realized. Taking a sample size of five users, the grab/hold identification method resulted in an 87.5% accuracy rate, the accelerometer-only based trajectory identification resulted in a 77.5% accuracy rate and the gyroscope-only based trajectory identification resulted in a 65% accuracy rate. Taking the three passive identification methods in combination, however, results in a 90% accuracy rate. It should be noted that the circle-drawing based identification resulted in a 97.5% authentication accuracy.

As can be seen in FIG. 14, there are n various user identifications 190a-190n, each having a confidence score 192a-192n. Combined identification module 194 may combine the individual user identifications to come to a more robust user identification. Each method may further produce an n-nearest list of matches, each entry in the list having its own confidence score. For each user, a weighted average of each of the confidence scores may be calculated by combined identification module 194. The combined identification module 194 may determine a user identification 196 based on the user having the highest weighted average. It is envisioned that other methods of determining a user based on a combination of various identification methods may also be used.

General reference has been made to the processing of data. FIG. 15 depicts an exemplary method for processing the sensor data. As mentioned earlier, various sensors will provide input data 200a-200n. The data provided may be received from a variety of sensors, e.g. touch sensors, inertial sensors, touchpad, acoustic, etc., or it may be received from one sensor type that produces lots of data, e.g. many touch sensors or lots of inertial data. In either case, the data set will be large. Thus the input data 200a-200n may first undergo feature extraction 202. Various techniques for dimensionality reduction may be used. For example, the data set may undergo a principle component analysis or a linear discriminate analysis. A feature vector 204 representing the data set but in a lower dimensionality is generated and communicated to a segmentation module 208.

A segmentation module 208 separates portions of the feature vector 204 into segments representing different states. For example, in the example of the remote control being raised in FIG. 8, the remote control was first on a table top, at rest. Next, the remote control was grabbed, but remained on/or near the table. The remote control then quickly accelerates through the pick up phase. The remote control then reaches a hold position. At the hold position, the remote control will likely have velocity and acceleration but not at the magnitude observed during the initial pickup. Finally, the remote control will be placed back onto a stable surface such as the couch or the table top. Additionally, the user may drop the remote control or may move the remote control to transmit a command to the host device. It should be apparent that not all of these segments are relevant for purposes of user identification. The inertial sensors (and all other sensors), however, may be continuously transmitting data. Thus, it may be beneficial to further reduce the data that needs to be analyzed, by segmenting the data. The segmentation of data occurs by comparing the data against various segment models 210. The segment models 210 may be in the form of hidden Markov models representing the various states. By comparing chunks of data against the segment models 210, it can be determined with a reasonable probability the state of the data. The feature vector can then be classified according to at least one of the various segments 212a-212n. Moreover, if only a certain portion of the feature vector is relevant, the segment selection module may 214 reduce the feature vector so that only the relevant segment is classified. It is appreciated, however, that the feature vector does not need to be reduced.

As mentioned, the segment selection module 214 will select the state of the feature data, and may select the relevant segments 212a-212n for classification. Referring back to the previous example, the segment selection module may be configured to only select trajectories of the remote when picked up and when at the rest position. The feature vector 204 or the selected segments of the feature vector 204 are communicated to a classifier 216. The classifier 216 may use a clustering analysis to determine a user identification. In the cluster analysis, the selected segments are analyzed with user models 220a-220n. The user models 220a-220n represent the attributes of the various users. The segment selection module 214 can also communicate the selected segment to classifier 224 for purposes of classifying the feature vector with the most relevant data. For example, when segment selection module 214 determines that the feature vector 204 is primarily trajectory data corresponding to a remote control pickup, classifier, when accessing the user models, will only retrieve the segments of user models 220a-220n, that correspond to trajectory data. Because the user models have been previously classified, the classifier only needs to determine the cluster, i.e. which user model 220a-220n, that the feature vector or selected segment of the feature vector belongs to. As previously mentioned, classifier 224 may execute a clustering algorithm, such as k-means clustering, to determine the cluster that the feature vector most belongs to. The determined cluster will correspond with the user's identify. Thus, a user identification 222 may be made by the system.

As is apparent from the disclosure, the various methods of identification all rely on at least one matching, learning or classification method, such as support vector machines, k-means clustering, hidden Markov models, etc. Thus, it has been assumed that the various data types in user identification database 62 are actually present in said database. The data sets, such as grab/hold data, trajectory data, first touch data, arcuate trajectory data, and heartbeat data, may be collected using unsupervised or supervised learning techniques.

A first method of collecting the various data sets is by implementing a training session. Each user may register with the system, e.g. the host device. The registering user will be asked to repeatedly perform various tasks such as grabbing the remote control, picking up the remote control, or drawing a circle on the touch pad of the remote control. The collected training data are used to define a user's tendencies for purposes of identification. When the system is in an operational mode, the input data, used for identification, may be added to the training data upon each successful identification. Furthermore, the user can verify a correct user identification and correct an improper identification to increase the robustness of the system.

A second method of collecting the various data sets is by implementing an unsupervised learning process that differentiates the users over the course of the remote control's usage. Take for example a family that owns a Digital Video Recorder (DVR). The father has large hands and grabs the remote control using three fingers. The wife has a small hands and grabs the remote with four fingers. The child has small hands and the remote with three fingers. Furthermore, the father records sports-related programming and reality television. The mother records sitcoms and police dramas. The child records cartoons and animal shows. Over the course of an initial period, the system will differentiate the three users based on the differences of hand size and hold patterns. Over the initial period, the identification system will also learn that the user with large hands and a three finger grab is associated with the sports and reality television programming. The system can then map the user preferences or profile to the extrapolated hold pattern data. Thus, a user may grab the remote control and have his or her preferences readily set based only on past usage and the initial picking up of the remote. Using this method, the user will never actually engage in training the system, but user identification will be realized over the course of time.

FIG. 16 depicts a method used to identify a user and train the user identification database. It is noted that FIG. 16 contains most of the components found in FIG. 15. The primary difference is that FIG. 16 contains a generic model database 224. The background model database contains preprogrammed user templates, so that the system has background models to analyze alongside the user models. When a user first uses the system (i.e. the remote controls first use), there will be no user models 220a-220n. The learning module may recognize this and automatically register the new user. The input data, is processed as shown in FIG. 15, so that all relevant segments and corresponding attributes are stored in the new user model. The second time the user picks up the remote, the system will receive the user input data, reduce the dimensionality, select the relevant segments of data, and run the selected segments against the user models and the background models. The user identification module will likely identify the user as the user. The identification will have a corresponding probability, indicating a confidence in the user identification. If the probability does not exceed a predetermined threshold, then the user identification module assumes that the user is a new user, and creates a new user model for the user, using the input data as the attributes of the new user model. If the corresponding probability, i.e. the confidence score, exceeds the threshold, then the user identification module identifies the user, and adds the input features into the user's user model. As can be appreciated, as the user picks up the remote and is successfully identified, the user model associated with that user will increase in richness. Thus, the confidence scores associated with the identification of the exemplary user will also increase.

FIG. 16 is now described in greater detail. Components found in both FIGS. 15 and 16 have been numbered as such. Similar to FIG. 15, input data 200a-200n is received and undergoes feature extraction 202. The result is a feature vector 204, which is then segmented by the segmentation module 208, using segment models 210 as models for determining the segmentation of the data. The feature vector 204 is then broken down into segments. The segment selection module 214 selects the relevant segments and communicates the relevant segments to the classifier 224. The classifier 224 operates slightly differently than the classifier 216 of FIG. 15. The classifier 224 receives the background models 226a-226n in addition to the user models 220a-220n. The classifier then determines a user identification using a clustering algorithm. The user identification will have a probability associated with it. If the probability that the user identification exceeds a threshold, classifier 224 generates user identification 222. If the probability does not exceed the threshold or if the identified user is a background variable, then the classifier passes the data to a model generation module 230, which generates a new model based on the relevant attributes. The new model 232 is communicated to the user model database 218.

For example only, FIG. 17 depicts two hypothetical sets 230 and 232 of user identification data represented by black dots for a first user and circles for a second user. During the training phase, the data sets are collected, so that a user may be later identified based on the training data. The six point star 234 represents a user identification attempt. As can be seen, the six point star 234 clearly falls within the first user's data set 230. Thus, the system can predict that the user to be identified is the first user with a high probability based on the cluster in which the identification attempt is closest to. It is appreciated that the more biometric features that are used in an authentication event, the greater the dimensionality of the data sets used for identification. When data sets of higher dimensionality are used for identification, a greater amount of separation will be realized between the clusters of data.

While reference has been made to a remote control 12, it should be appreciated that the sensors described above, as well as the identification methods described above will be used in various handheld devices such as cell phones, portable phones, mp3 players, personal DVD players, PDAs, and computer mice. For example, with a cell phone or portable phone, using any of the above techniques, the phone may determine that a first user or a plurality of users is using the phone. Based on this, specific settings such as a phonebook, saved text messages, saved emails, volume settings, screen settings, wall paper and saved files such as photos will become available to the user. Similarly, in a device such as an MP3 player, the first user's music library may be accessible to the user after identification. In the PDA, schedules and contacts personal to the first user are made available to the user, only after the user grabs the PDA and is identified.

With a computer mouse or a laptop mouse pad, the methods disclosed above may be used to identify and authenticate the user. The user may then be automatically logged onto her user profile. Further, the user may leave the computer and upon another user touching the mouse or mouse pad, the device will be able to determine that the user has changed. At this point, the second user may be locked out of the first user's profile until an explicit override instruction is provided by the first user.

It should be apparent that the disclosed methods and devices will allow the sharing of devices once thought to be personal devices without having to risk the privacy or intimacy typically associated with these devices.

As used herein, the term module may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and/or memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. It is should be understood that when describing a software or firmware program, the term module may refer to machine readable instructions residing on an electronic memory.

The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention. Individual elements or features of a particular embodiment are generally not limited to that particular embodiment, but, where applicable, are interchangeable and can be used in a selected embodiment, even if not specifically shown or described. The same may also be varied in many ways. Such variations are not to be regarded as a departure from the invention, and all such modifications are intended to be included within the scope of the invention. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the particular order discussed or illustrated, unless specifically identified as an order of performance. It is also to be understood that additional or alternative steps may be employed.

Claims

1. A handheld electronic device, comprising:

a housing;
a touch sensor system disposed along a periphery of the housing and responsive to a plurality of simultaneous points of contact between a user's hand and the handheld electronic device to generate observation signals indicative of the plurality of points of contact between the user's hand and the handheld electronic device;
a touch sensor processing module configured to receive the observation signals from the touch sensor system and determine a user's holding pattern;
an inertial sensor embedded in the housing and responsive to movement of the handheld electronic device by the user's hand to generate inertial signals;
a trajectory module configured to determine a trajectory for the movement of the handheld electronic device, based on the inertial signals from the inertial sensor, a starting position, and an end position, the starting position being a location where the handheld electronic device in a resting position is grabbed by a user, the end position being a location of the handheld electronic device being held;
a touchpad located along an external surface of the housing that is responsive to the user's finger movement along the external surface of the touchpad to generate touchpad signals;
a touchpad processing module configured to receive the touchpad signals and determines user finger movement data;
a user identification database storing data corresponding to attributes of a plurality of known users, wherein the attributes of the plurality of the known users are used to identify a user, and wherein the attributes include holding patterns of the plurality of known users, trajectories for the movement of the handheld electronic device of the plurality of known users, and user finger movement data of the plurality of known users; and
a user identification module configured to receive identification information of the user and identify the user based on the identification information and the attributes of the plurality of known users by accessing said used identification database, wherein the identification information includes the user's holding pattern, the user's trajectory for movement of the handheld electronic device, and the user's finger movement data, wherein the user identification module is configured to identify the user by detecting a trajectory that matches the user's trajectory for movement of the handheld electronic device from the trajectories for the movement of the handheld electronic device of the plurality of known users.

2. The handheld electronic device of claim 1 wherein the touch sensor system is further defined as an array of capacitive sensors integrated into and spatially separated from each other along an exterior surface of the housing.

3. The handheld electronic device of claim 1 wherein the inertial sensor is an accelerometer.

4. The handheld electronic device of claim 1 wherein the inertial sensor is a gyroscope.

5. The handheld electronic device of claim 1 wherein the user identification module is configured to implement machine learning to identify a user.

6. The handheld electronic device of claim 5 wherein the user identification module uses a k-means clustering algorithm to determine a user identification.

7. The handheld electronic device of claim 1 wherein the user identification module is configured to determine a plurality of preliminary user identifications, wherein each of the preliminary user identifications is based on one of the attributes.

8. The handheld electronic device of claim 7 wherein each of the preliminary user identifications has a corresponding confidence score, wherein the confidence score indicates a probability that the preliminary user identification is correct.

9. The handheld electronic device of claim 1 wherein the user identification module is configured to determine a plurality of user identifications, wherein each of the preliminary identifications has a list of possible users and wherein each entry in the list of possible users has a confidence score indicating a probability that the possible user is actually the user.

10. The handheld electronic device of claim 1 wherein the trajectory module is configured to determine a starting location of the handheld electronic device, wherein the user identification module further bases user identification on the starting location of the handheld electronic device.

11. A handheld electronic device, comprising:

a housing;
a sensor system disposed along a periphery of the housing and responsive to a plurality of simultaneous points of contact between a user's hand and the handheld electronic device to generate observation signals indicative of the plurality of points of contact between the user's hand and the handheld electronic device;
a user identification database storing data corresponding attributes of a plurality of known users, wherein the attributes of the plurality of known users are used to identify a user;
a user identification module configured to receive the observation signals from the sensor system and identify the user from the observation signals and the attributes of the plurality of users by accessing said user identification database;
an inertial sensor embedded in the housing and responsive to movement of the handheld electronic device by the user's hand to generate inertial signals; and
a trajectory module configured to receive the inertial signals from the inertial sensor and determine a trajectory for the movement of the handheld electronic device, wherein the user identification module is configured to receive the trajectory from the trajectory module and identify the user based in part from the trajectory.

12-22. (canceled)

23. The handheld electronic device of claim 11 wherein the inertial sensor is an accelerometer.

24. The handheld electronic device of claim 11 wherein the inertial sensor is a gyroscope.

25. The handheld device of claim 11 wherein the trajectory module is configured to determine a starting location of the handheld electronic device and communicate said starting location of the user identification module.

26. The handheld electronic device of claim 25 wherein the user identification module further bases user identification on the starting location of the handheld electronic device.

27-28. (canceled)

29. The handheld electronic device of claim 25 wherein the user identification module is configured to receive finger movement data corresponding to a first point of contact between one of the user's digits and the touchpad and use the said finger movement data corresponding to the first point of contact to identify the user.

30-46. (canceled)

47. The handheld electronic device of claim 11 further comprising:

a motion processing module configured to determine the trajectory of the handheld electronic device by employing dead reckoning, the motion processing module supplying signals indicative of the trajectory as additional observation signals to said user identification module.

48. The handheld electronic device of claim 1 wherein a cluster of locations is used as the starting position.

Patent History
Publication number: 20110043475
Type: Application
Filed: Apr 21, 2009
Publication Date: Feb 24, 2011
Applicant: PANASONIC CORPORATION (Osaka)
Inventors: Luca Rigazio (San Jose, CA), David Kryze (Campbell, CA), Jean-Claude Junqua (Saratoga, CA)
Application Number: 12/988,745
Classifications
Current U.S. Class: Touch Panel (345/173)
International Classification: G06F 3/041 (20060101);