IP Library Granted Patent US 10,742,798
Granted Patent B1
US 10,742,798 · App. 16/721,877 · Granted Aug 11, 2020

Calibration of grab detection

Inventors: Charles J. Hughes (Palo Alto, CA); Yael G. Maguire (San Francisco, CA); Shafigh Shirinfar (Mountain View, CA); Michael John McKenzie Toksvig (Palo Alto, CA)
Assignee: FACEBOOK, INC.
H04M1/72569G01D18/00G01D21/00G06F1/169G06F1/1694G06F1/3215G06F1/3231G06F3/017G06F3/03G06F3/038G06F3/0346G06F3/03547G06F11/3013G06F11/3058G06F11/3438G06N20/00G06F17/40G06F2200/1637G06F2203/0339G06F2203/0381G06K9/6269H04M1/72519H04M2250/12Y02D10/173
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,742,798
App. No.
16/721,877
Granted
Aug 11, 2020
Kind
B1
Abstract

In one embodiment, a method includes receiving sensor data from a number of sensors of the computing device. The sensor data corresponds to a particular state associated with the computing device. The method also includes determining a vector corresponding to the received sensor data; and comparing the vector with a pre-determined hyperplane. The hyperplane corresponds to a number of imminent uses of the computing device. The method also includes determining whether the particular state associated with the computing device corresponds to a particular one of the imminent uses of the computing device based on the comparison of the vector with the pre-determined hyperplane.

Claims (39)

1. A method comprising:

receiving a first set of sensor data from a first sensor of a computing device and a second set of sensor data from a second sensor of the computing device;

determining that the first set of sensor data and the second set of sensor data overlap with one another;

generating a vector corresponding to the first set of sensor data and the second set of sensor data;

determining a position of the vector in a N-dimensional space relative to a pre-determined hyperplane in the N-dimensional space, wherein vector positions on a first side of the hyperplane represent physical contact of a user with the computing device and vector positions on a second side of the hyperplane a second state represent no physical contact of the user with the computing device;

determining a particular imminent use of the computing device based on the position of the vector and the first set of sensor data and the second set of sensor data overlapping.

2. The method of claim 1 , further comprising receiving data defining the hyperplane, wherein the hyperplane is determined by classifying sensor data from a plurality of computing devices.

3. The method of claim 1 , further comprising receiving updated data re-defining the hyperplane based at least in part on updated sensor data from a plurality of computing devices.

4. The method of claim 1 , further comprising calculating a derivative of the received sensor data from each sensor to detect a transition from the first state to the second state in the sensor data as a function of time.

5. The method of claim 1 , wherein the vector comprises a tuple of the received sensor data.

6. The method of claim 1 , wherein the classification of the vector into the first state or the second state comprises determining whether the position of the vector is on a same side of the hyperplane as the first set of vectors or the second set of vectors.

7. The method of claim 1 , wherein the first set of vectors and the second set of vectors are part of training data, wherein the training data comprises an array of values from sensors of a plurality of computing devices and a state value corresponding to one of imminent uses of each computing device.

8. The method of claim 1 , further comprising processing the received sensor data using the convolution operation.

9. The method of claim 1 , wherein the hyperplane is generated using a machine-learning algorithm comprising a support-vector machine (SVM), k-means, Bayesian inference, or neural network algorithm.

10. The method of claim 1 , wherein the hyperplane is determined by calculating a plurality of support vectors that each represent sensor data corresponding to the particular imminent use.

11. The method of claim 10 , wherein the hyperplane is defined by a set of points with a constant dot product with the support vector representing the particular imminent use.

12. The method of claim 1 , further comprising determining whether the vector is a non-event.

13. The method of claim 1 , further comprising initiating a pre-determined function of the computing device based on the determination of the particular imminent use.

14. The method of claim 13 , wherein the pre-determined function comprises powering on the computing device, unlocking the computing device, or bringing the computing device out of a power-saving state.

15. The method of claim 1 , wherein:

the computing device is a mobile computing device; and

the particular imminent use corresponds to physical contact between the user and the computing device.

16. The method of claim 1 , wherein one or more of the sensors comprises a touch sensor, gyroscope, accelerometer, optical proximity sensor, or ambient light sensor.

17. The method of claim 1 , wherein the first set of vectors are determined from a first set of sensor data corresponding to activity associated with physical contact with the computing device and the second set of vectors are determined from a second set of sensor data corresponding to activity not associated with physical contact with the computing device.

18. The method of claim 1 , wherein a dimension of the vector corresponds to a number of the plurality of sensors.

19. One or more non-transitory computer-readable storage media storing instructions that, when executed by the processor, cause the processor to:

receive a first set of sensor data from a first sensor of a computing device and a second set of sensor data from a second sensor of the computing device;

determine that the first set of sensor data and the second set of sensor data overlap with one another;

generate a vector corresponding to the first set of sensor data and the second set of sensor data;

determine a position of the vector in a N-dimensional space relative to a pre-determined hyperplane in the N-dimensional space, wherein vector positions on a first side of the hyperplane represent physical contact of a user with the computing device and vector positions on a second side of the hyperplane a second state represent no physical contact of the user with the computing device; and

determine a particular imminent use of the computing device based on the position of the vector and the first set of sensor data and the second set of sensor data overlapping.

20. A device comprising:

a processor; and

one or more non-transitory computer-readable storage media coupled to the processor and storing instructions that, when executed by the processor, cause the processor to:

receive a first set of sensor data from a first sensor of a computing device and a second set of sensor data from a second sensor of the computing device;

determine that the first set of sensor data and the second set of sensor data overlap with one another;

generate a vector corresponding to the first set of sensor data and the second set of sensor data;

determine a position of the vector in a N-dimensional space relative to a pre-determined hyperplane in the N-dimensional space, wherein vector positions on a first side of the hyperplane represent physical contact of a user with the computing device and vector positions on a second side of the hyperplane a second state represent no physical contact of the user with the computing device; and

determine a particular imminent use of the computing device based on the position of the vector and the first set of sensor data and the second set of sensor data overlapping.

Assignments (2)
CHANGE OF NAME Recorded Jan 3, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058605/0840 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2020
From: HUGHES, CHARLES J.; MAGUIRE, YAEL G.; SHIRINFAR, SHAFIGH; TOKSVIG, MICHAEL JOHN MCKENZIE
To: FACEBOOK, INC.
Reel/Frame 052043/0381 →
Continuity (2)
Continuation 15153547 · May 12, 2016
Continuation 13941289 · Jul 12, 2013