IP Library Granted Patent US 8,958,599
Granted Patent B1
US 8,958,599 · App. 13/647,333 · Granted Feb 17, 2015

Input method and system based on ambient glints

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 8,958,599
App. No.
13/647,333
Granted
Feb 17, 2015
Kind
B1
Abstract

A method may involve analyzing eye-image data to determine observed movement of a reflected image over a predetermined period, using head-movement data to determine a first eye-movement component corresponding to head movement during the predetermined period, determining a first expected movement of the reflected image corresponding to the first eye-movement component, determining a second eye-movement component based on a difference between the observed movement and the first expected movement, determining a second expected movement of the reflected image based on the combination of the first eye-movement component and the second eye-movement component, determining a difference between the observed movement and the second expected movement, if the difference is less than a threshold, setting eye-movement data for the predetermined period based on the second eye-movement component; and if the difference is greater than the threshold, adjusting the first eye-movement component and repeating the method with the adjusted first eye-movement component.

Claims (73)

1. A computer-implemented method comprising:

(a) analyzing eye-image data to determine observed movement of a reflected image over a predetermined period, wherein the reflected image is reflected from an eye;

(b) using head-movement data to determine a first eye-movement component that corresponds to head movement during the predetermined period;

(c) determining a first expected movement of the reflected image, wherein the first expected movement corresponds to the first eye-movement component;

(d) determining a second eye-movement component based on a first difference between the observed movement of the reflected image and the first expected movement of the reflected image;

(e) determining a second expected movement of the reflected image based on the combination of the first eye-movement component and the second eye-movement component;

(f) determining a second difference between the observed movement of the reflected image on the corneal surface and the second expected movement of the reflected image;

(g) if the second difference is less than a threshold difference, then setting eye-movement data for the predetermined period based on the second eye-movement component; and

(h) if the second difference is greater than the threshold difference, then:

(i) adjusting the first eye-movement component based on the second difference; and

(ii) repeating (d) to (h) with the adjusted first eye-movement component.

2. The method of claim 1 , wherein the eye-image data is captured by an inward-facing camera on a head-mountable display.

3. The method of claim 1 , wherein analyzing eye-image data to determine observed movement of a reflected image over the predetermined period comprises determining a second state of the reflected image at the end of the predetermined period.

4. The method of claim 1 , wherein the head-movement data comprises data from one or more sensors on a head-mountable display.

5. The method of claim 3 , wherein the one or more sensors comprise at least one of: (i) one or more accelerometers, (ii) one or more gyroscopes, and (iii) one or more magnetometers.

6. The method of claim 3 , wherein using the head-movement data to determine the first eye-movement component comprises:

using the head-movement data to determine the head movement during the predetermined period; and

using a spatial relationship between axes of head movement and the eye as a basis for determining an eye movement that corresponds to the head movement during the predetermined period.

7. The method of claim 3 , wherein using the head-movement data to determine the first eye-movement component comprises:

using the head-movement data to determine the head movement during the predetermined period; and

using at least one of: (i) an estimated spatial relationship between the one or more sensors and axes for head movement and (ii) an estimated spatial relationship between the one or more sensors and the eye, as a basis for determining an eye movement that corresponds to the head movement during the predetermined period.

8. The method of claim 1 , wherein using the head-movement data to determine a first eye-movement component that corresponds to head movement during the predetermined period comprises:

determining a rotational portion of the first eye-movement component; and

determining a translational portion of the first eye-movement component.

9. The method of claim 8 , wherein determining the translational portion of the first eye-movement component comprises performing an integration process based on the head-movement data to determine a translational eye movement.

10. The method of claim 1 , wherein determining a second eye-movement component based on a first difference between the observed movement of the reflected image and the first expected movement of the reflected image comprises:

determining the first difference between the observed movement of the reflected image and the first expected movement of the reflected image.

11. The method of claim 10 , wherein determining the first difference between the observed movement of the reflected image and the first expected movement of the reflected image comprises:

determining an observed state of the reflected image at the end of the predetermined period;

determining an expected state of the reflected image at the end of the predetermined period, wherein the expected state corresponds to the first expected movement of the reflected image; and

determining a difference between the observed state and the expected state at the end of the predetermined period.

12. The method of claim 11 , wherein determining the expected state of the reflected image at the end of the predetermined period comprises:

determining an observed state of the reflected image at the start of the predetermined period; and

determining a state of the reflected image after the first expected movement of the reflected image from the observed state at the start of the predetermined period.

13. The method of claim 1 , wherein determining a second expected movement of the reflected image based on the combination of the first eye-movement component and the second eye-movement component comprises:

determining an eye-movement estimation indicating the eye movement that would result from the determined head movement and the second eye-movement component; and

determining the second expected movement of the reflected image based on the eye-movement estimation.

14. The method of claim 1 , wherein determining the second difference between the observed movement of the reflected image on the corneal surface and the second expected movement of the reflected image comprises:

determining an observed state of the reflected image at the end of the predetermined period;

determining an expected state of the reflected image at the end of the predetermined period, wherein the expected state corresponds to the second expected movement of the reflected image; and

determining a difference between the observed state and the expected state at the end of the predetermined period.

15. The method of claim 9 , wherein determining the expected state of the reflected image at the end of the predetermined period comprises:

determining an observed state of the reflected image at the start of the predetermined period; and

determining a state of the reflected image after the second expected movement of the reflected image from the observed state at the start of the predetermined period.

16. The method of claim 1 , wherein adjusting the first eye-movement component based on the second difference comprises:

adjusting the head-movement data based on the second difference;

using the adjusted head-movement data to re-determine the first eye-movement component; and

re-determining the first expected movement of the reflected image based on the re-determined first eye-movement component.

17. The method of claim 1 , wherein the head-movement data comprises data from one or more sensors, wherein a spatial relationship between the one or more sensors and the eye is also used to determine the first eye-movement component, and wherein adjusting the first eye-movement component based on the second difference comprises:

adjusting the spatial relationship between the one or more sensors and the eye;

using the head-movement data and the adjusted spatial relationship to re-determine the first eye-movement component; and

re-determining the first expected movement of the reflected image based on the re-determined first eye-movement component.

18. The method of claim 1 , wherein the head-movement data comprises data from one or more sensors, wherein a spatial relationship between the one or more sensors and axes of head movement is also used to determine the first eye-movement component, and wherein adjusting the first eye-movement component based on the second difference comprises:

adjusting the spatial relationship between the one or more sensors and the axes of head movement;

using the head-movement data and the adjusted spatial relationship to re-determine the first eye-movement component; and

re-determining the first expected movement of the reflected image based on the re-determined first eye-movement component.

19. The method of claim 1 , wherein a spatial relationship between axes for head movement and the eye is also used to determine the first eye-movement component, and wherein adjusting the first eye-movement component based on the second difference comprises:

adjusting the spatial relationship between the axes of head movement and the eye;

using the head-movement data and the adjusted spatial relationship to re-determine the first eye-movement component; and

re-determining the first expected movement of the reflected image based on the re-determined first eye-movement component.

20. A system comprising:

a non-transitory computer-readable medium; and

program instructions stored on the non-transitory computer-readable medium and executable by at least one processor to:

(a) analyze eye-image data to determine observed movement of a reflected image over a predetermined period, wherein the reflected image is reflected from an eye;

(b) use head-movement data to determine a first eye-movement component that corresponds to head movement during the predetermined period;

(c) determine a first expected movement of the reflected image, wherein the first expected movement corresponds to the first eye-movement component;

(d) determine a second eye-movement component based on a first difference between the observed movement of the reflected image and the first expected movement of the reflected image;

(e) determine a second expected movement of the reflected image based on the combination of the first eye-movement component and the second eye-movement component;

(f) determine a second difference between the observed movement of the reflected image on the corneal surface and the second expected movement of the reflected image;

(g) if the second difference is less than a threshold difference, then set eye-movement data for the predetermined period based on the second eye-movement component; and

(h) if the second difference is greater than the threshold difference, then:

(i) adjust the first eye-movement component based on the second difference; and

(ii) repeat (d) to (h) with the adjusted first eye-movement component.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2013
From: STARNER, THAD EUGENE
To: GOOGLE INC.
Reel/Frame 029652/0323 →