IP Library Granted Patent US 9,436,308
Granted Patent B2
US 9,436,308 · App. 14/371,558 · Granted Sep 6, 2016

Automatic correction of predicted touch input events

Inventors: Johan Wadman (Lund, SE); Magnus Johansson (Dösjebro, SE)
Assignees: SONY CORPORATION; SONY MOBILE COMMUNICATIONS INC.
G06F3/0412G06F3/04883G06K9/00335G06F2203/04101
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 9,436,308
App. No.
14/371,558
Granted
Sep 6, 2016
Kind
B2
Abstract

Data for detected events and predicted events, associated with a user device, are stored. The detected events may be associated with inputs received via the user device, and the predicted events may represent predicted future inputs to the user device. The predicted events may be evaluated to identify an erroneous predicted event, such as a predicted event that differs significantly from a corresponding detected event or a predicted associated with a time period when no corresponding detected event occurs. The erroneous predicted events and set of other prior predicted events are selected to be discarded. For example, the selected set of prior predicted events to discard may be associated with a period of time corresponding to the erroneous predicted event. Instructions may be sent to applications executed by the user device to disregard the selected predicted events.

Claims (70)

1. A device comprising:

a memory configured to store:

data corresponding to a first detected event associated with a first input received by a user device and data corresponding to a second detected event associated with a second input received by the user device, and

data associated with a plurality of predicted events that are generated based on the first detected event and that predict inputs received by the user device, wherein each predicted event is associated with a corresponding prediction time; and

a processor configured to:

determine whether the second detected event that corresponds to one of the predicted events occurs during the prediction time of the one of the predicted events,

determine that the one of the predicted events is invalid based on a determination that the second detected event and the corresponding one of the predicted events differ by a predetermined threshold,

select predicted events from the plurality of predicted events based on determining that the one of the predicted events is invalid, wherein the selected predicted events are associated with the prediction times that occur before the prediction time of the one of the predicted events, and

cause the selected predicted events to be discarded.

2. The device of claim 1 , wherein the user device is associated with a touch screen, and

wherein the processor, when determining that the one of the predicted events is invalid, is further configured to:

detect an up event in which a device inputting a touch to the user device moves away from the touch screen, and

determine that the one of the predicted events is invalid based on detecting the up event.

3. The device of claim 1 , wherein the processor, when determining that the one of the predicted events is invalid, is further configured to:

determine that a first position, associated with the second detected event, and a second position, associated with the one of the predicted events, differ by at least a predetermined threshold.

4. The device of claim 1 , wherein the processor, when selecting the predicted events from the plurality of predicted events, is further configured to:

order the plurality of predicted events based on the prediction times, and

identify the selected predicted events to be discarded, where the selected predicted events are a quantity of predicted events that immediately precede the one of the predicted events in the ordered plurality of predicted events.

5. The device of claim 4 , wherein the processor is further configured to:

determine the quantity based on a frequency that the events are reported by the user device.

6. The device of claim 1 , wherein the processor, when causing the selected predicted events to be discarded, is further configured to:

forward an instruction to an application to discard one or more predicted events of the selected predicted events.

7. The device of claim 6 , wherein a first subset of the plurality of predicted events is stored in a queue associated with the user device, and a second subset of the plurality of predicted events is forwarded to the application, and

wherein the processor is further configured to:

cause the queue to discard the first subset of the plurality of predicted events, and

identify the one or more predicted events in the second subset of the plurality of predicted events.

8. The device of claim 1 , wherein the processor, when determining that the one of the predicted events is invalid, is further configured to determine that no input was received by the user device during a time period before the second detected event.

9. A method comprising:

determining, by a processor, whether a second detected event that corresponds to one of a plurality of predicted events occurs during a prediction time of the one of the plurality of predicted events, wherein the plurality of predicted events are generated based on a first detected events and predict input received b a user device, and wherein each predicted event is associated with a corresponding prediction time;

determining, by a processor, that one of the plurality of predicted events is invalid based on a determination that the second detected event and the corresponding one of the predicted events differ by a predetermined threshold;

selecting, by the processor, predicted events from the plurality of predicted events based on determining that the one of the predicted events is invalid, wherein the selected predicted events are associated with the prediction times that occur before the prediction time of the one of the predicted events; and

causing, by the processor, the selected predicted events to be discarded.

10. The method of claim 9 , wherein the user device is associated with a touch screen, and wherein determining that the one of the predicted events is invalid further includes:

detecting an up event in which a device inputting a touch to the user device moves away from the touch screen; and

determining that the one of the predicted events is invalid based on detecting the up event.

11. The method of claim 9 , wherein determining that the one of the predicted events is invalid includes:

determining that:

a first location, associated with the second detected event, and a second location, associated with the one of the predicted events, differ by at least a predetermined threshold, or

no input was received by the user device during a time period before the second detected event.

12. The method of claim 9 , wherein selecting the predicted events from the plurality of predicted events includes:

ordering the plurality of predicted events based on the prediction times, and

identifying the selected predicted events to be discarded, where the selected predicted events are a quantity of predicted events that immediately precede the one of the predicted events in the ordered plurality of predicted events.

13. The method of claim 12 , further comprising:

determining the quantity based on a frequency that inputs are reported by the user device.

14. The method of claim 9 , wherein causing the selected predicted events to be discarded includes: forwarding an instruction to an application to discard one or more predicted events of the selected predicted events.

15. The method of claim 14 , wherein a first subset of the selected predicted events is stored in a queue associated with the user device, the one or more predicted events are included in the second subset of the selected predicted events, and the second subset of the selected predicted events is forwarded to the application,

wherein the method further comprises:

causing the queue to discard the first subset of the selected predicted events.

16. A non-transitory computer-readable medium to store instructions comprising:

one or more instructions that, when executed by a processor, cause the processor to:

determine whether a second detected event that corresponds to one of a plurality of predicted events occurs during a prediction time of the one of the plurality of predicted events, wherein the plurality of predicted events are enerated based on a first detected event and predict input received b a user device, and wherein each predicted event is associated with a corresonding prediction time

determine that one of the plurality of predicted events is invalid based on a determination that the second detected event and the corresponding one of the predicted events differ by a predetermined threshold;

select predicted events from the plurality of predicted events based on determining that the one of the predicted events is invalid, wherein the selected predicted events are associated with the prediction times that occur before the prediction time of the one of the predicted events; and

cause the selected predicted events to be discarded.

17. The non-transitory computer-readable medium of claim 16 , wherein the user device is associated with a touch screen, and wherein the one or more instructions to determine that the one of the predicted events is invalid further include:

one or more instructions the cause the processor to determine that the one of the predicted events is invalid when:

a device inputting a touch to the user device moves away from the touch screen,

no input was received by the user device during a time period before the second predicted event.

18. The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions to select the predicted events from the plurality of predicted events further include:

one or more instructions the cause the processor to:

order the plurality of predicted events based on the prediction times, and

identify the selected predicted events to be discarded, where the selected predicted events are a quantity of predicted events that precede the one of the predicted events in the ordered plurality of predicted events.

19. The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions to cause the selected predicted events to be discarded further include:

one or more instructions the cause the processor to:

forward an instruction to an application to discard one or more predicted events of the selected predicted events.

20. The non-transitory computer-readable medium of claim 19 , wherein a first subset of the plurality of predicted events is stored in a queue associated with the user device, and a second subset of the plurality of predicted events is forwarded to the application,

wherein the instructions further comprise:

one or more instructions the cause the processor to:

cause the queue to discard the first subset of the selected predicted events, and

cause, via the instructions, the application to discard the one or more predicted events from the second subset of the selected predicted events.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2019
From: SONY MOBILE COMMUNICATIONS, INC.
To: SONY CORPORATION
Reel/Frame 048691/0134 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2016
From: SONY CORPORATION
To: SONY MOBILE COMMUNICATIONS INC.
Reel/Frame 038542/0224 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2014
From: WADMAN, JOHAN; JOHANSSON, MAGNUS
To: SONY CORPORATION
Reel/Frame 033287/0527 →
Continuity (1)
Related Publication 20150293637A1 · Oct 15, 2015