# US 10,768,696 B2 · Eye gaze correction using pursuit vector

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,768,696 B2
- Document ID: US10768696B2
- Status: Granted
- Kind: B2
- Application number: 15/726,282
- Filed: 2017-10-05
- Published: 2019-04-11
- Granted: 2020-09-08
- Earliest claimed: 2017-10-05
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Shane Williams; Andrew D. Wilson
- Web page: https://patentgrep.com/patent/US10768696B2

## CPC

- G06F 3/013: {Eye tracking input arrangements (G06F3/015 takes precedence)}
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 2203/04806: Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
- G06T 13/80: Two-dimensional [2D] animation, e.g. using sprites
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Representative embodiments disclose mechanisms for calibrating an eye gaze selection system. When the calibration is triggered, a snapshot of an area around the current user's gaze point is taken. The snapshot area is then animated to cause motion of the snapshot area. As the snapshot is animated, the user's gaze will naturally track the thing the user was focusing on. This creates an eye tracking vector with a magnitude and direction. The magnitude and direction of the eye tracking vector can then be used to calculate a correction factor for the current user's gaze point. Calibration can be triggered manually by the user or based on some criteria such as error rates in item selection by the user.

## Claims

### Claim 1

A computer implemented method for eye gaze correction, comprising:
identifying a reported location from an eye tracking signal;
animating information displayed within a region centered on the reported location with an animation without displaying a separate calibration screen, the animation comprising moving locations within the region in a predetermined path from the center of the region;
receiving a pursuit vector responsive to the animation;
calculating a correction factor from the pursuit vector; and
applying the correction factor at the reported location to adjust the reported location to an actual location.

### Claim 2 (depends on 1)

The method of claim 1 wherein the animation comprises zooming.

### Claim 3 (depends on 1)

The method of claim 1 wherein the animation comprises a lens effect.

### Claim 4 (depends on 1)

The method of claim 1 wherein the animation comprises moving points in the region away from the center point.

### Claim 5 (depends on 1)

The method of claim 1 further comprising:
monitoring an error rate of user selection of screen items at a plurality of locations on a display screen;
comparing the error rate to a threshold;
responsive to the error rate exceeding the threshold, initiating the method operations of claim 1.

### Claim 6 (depends on 1)

The method of claim 1 wherein the correction factor is reduced when the correction factor falls below a threshold.

### Claim 7 (depends on 1)

The method of claim 1 wherein the correction factor comprises an x offset and a y offset.

### Claim 8 (depends on 1)

The method of claim 1 wherein the method further comprises:
receiving an input from a user that triggers the method operations of claim 1.

### Claim 9 (depends on 1)

The method of claim 1 wherein animating information displayed within the region comprises:
taking a snapshot of the region and displaying the snapshot in place so that information within the snapshot is not moved from its original location; and
wherein the animation is a zoom animation.

### Claim 10

A system comprising a processor and computer executable instructions, that when executed by the processor, cause the system to perform acts comprising:
identify a reported location from an eye tracking signal;
take a snapshot of screen content in a region surrounding the reported location such that snapshot remains in its original location on the screen with the reported location within the region;
animate the snapshot with an animation such that locations within the snapshot move in a predetermined path from the reported location;
receive a pursuit vector responsive to the animation;
calculate a correction factor from the pursuit vector; and
apply the correction factor at the reported location to adjust the reported location to an actual location.

### Claim 11 (depends on 10)

The system of claim 10 wherein the animation comprises zooming.

### Claim 12 (depends on 10)

The system of claim 10 wherein the animation comprises a lens effect.

### Claim 13 (depends on 10)

The system of claim 10 wherein the animation comprises moving points in the snapshot away from the center point.

### Claim 14 (depends on 10)

The system of claim 10 further comprising:
monitoring an error rate of user selection of screen items at a plurality of locations on a display screen;
comparing the error rate to a threshold;
responsive to the error rate exceeding the threshold, initiating the acts of claim 10.

### Claim 15 (depends on 10, 14)

The system of claim 14 responsive to the error rate not exceeding the threshold, refraining from initiating the acts of claim 10.

### Claim 16 (depends on 10)

The system of claim 10 wherein the correction factor is reduced when the correction factor falls below a threshold.

### Claim 17 (depends on 10)

The system of claim 10 wherein the correction factor comprises an x offset and a y offset.

### Claim 18 (depends on 10)

The system of claim 10 wherein the acts further comprise:
receiving an input from a user that triggers the acts of claim 10.

### Claim 19

A computer storage medium comprising executable instructions that, when executed by a processor of a machine, cause the machine to perform acts comprising:
determine whether an error rate exceeds a threshold;
responsive to the error rate exceeding the threshold, performing acts comprising:
identify a reported location from an eye tracking signal;
take a snapshot of screen content in a region surrounding the reported location such that snapshot remains in its original location on the screen with the reported location at a center of the region;
animate the snapshot with an animation such that locations within the snapshot move in a predetermined path from the center of the region;
receive a pursuit vector responsive to the animation;
calculate a correction factor from the pursuit vector; and
apply the correction factor at the reported location to adjust the reported location to an actual location.

### Claim 20 (depends on 19)

The medium of claim 19 wherein the animation comprises a zoom effect.
