IP Library Granted Patent US 10,521,021
Granted Patent B2
US 10,521,021 · App. 16/265,798 · Granted Dec 31, 2019

Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes

Inventors: John S. Underkoffler (Los Angeles, CA); Kwindla Hultman Kramer (Los Angeles, CA)
Assignee: Oblong Industries, Inc.
G06F3/017G06F3/0325G06F16/244G06F17/2705G06K9/00375G06K9/00973G06F3/041G06F2203/04108G06K2009/3225
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,521,021
App. No.
16/265,798
Granted
Dec 31, 2019
Kind
B2
Abstract

Systems and methods for detecting, representing, and interpreting three-space input are described. Embodiments of the system, in the context of an SOE, process low-level data from a plurality of sources of spatial tracking data and analyze these semantically uncorrelated spatiotemporal data and generate high-level gestural events according to dynamically configurable implicit and explicit gesture descriptions. The events produced are suitable for consumption by interactive systems, and the embodiments provide one or more mechanisms for controlling and effecting event distribution to these consumers. The embodiments further provide to the consumers of its events a facility for transforming gestural events among arbitrary spatial and semantic frames of reference.

Claims (28)

1. A system comprising:

a data funnel;

a gesture engine coupled to the data funnel;

a gestural event consumer;

wherein the data funnel is constructed to:

receive a plurality of tracking data streams from a plurality of types of object tracking devices streaming low-level tracking events for a same object in real time,

temporally align the received low-level tracking events in real-time to generate a temporally-aligned multi-source tracking data stream that identifies a tracking event provided by two or more of the object tracking devices, and

semantically aggregate the temporally aligned low-level tracking events of multi-source tracking data stream,

wherein the gesture engine is constructed to generate at least one gesture event from the semantically aggregated low-level tracking events, and distribute at least one gesture event to the gestural event consumer.

2. The system of claim 1 , wherein the gestural event consumer is constructed to update display at a display device.

3. The system of claim 2 , further comprising the display device.

4. The system of claim 1 , wherein the gestural event consumer is constructed to update state of an application.

5. The system of claim 4 , further comprising at least one processor that executes the application.

6. The system of claim 1 , wherein the low-level tracking events include events generated by using at least two different types of sensors.

7. The system of claim 1 , wherein the low-level tracking events include events generated by using at least an image sensor and a motion sensor.

8. The system of claim 1 , wherein the low-level tracking events include events generated by using at least an image sensor and a sensor that is different from an image sensor.

9. The system of claim 1 , wherein at least two of the plurality of types of object tracking devices are user input devices.

10. A method comprising:

receiving a plurality of tracking data streams from a plurality of types of object tracking devices streaming low-level tracking events for a same object in real time;

temporally aligning the received low-level tracking events in real-time to generate a temporally-aligned multi-source tracking data stream that identifies a tracking event provided by two or more of the object tracking devices;

semantically aggregating the temporally aligned low-level tracking events of the multi-source tracking data stream;

with a gesture engine, generating at least one gesture event from the semantically aggregated low-level tracking events; and

distributing the at least one gesture event to at least one gestural event consumer.

11. The method of claim 10 , wherein the at least one gestural event consumer updates display at a display device.

12. The method of claim 10 , wherein the gestural event consumer updates state of an application.

13. The method of claim 10 , wherein the low-level tracking events include events generated by using at least two different types of sensors.

14. The method of claim 10 , wherein the low-level tracking events include events generated by using at least an image sensor and a motion sensor.

15. The method of claim 10 , wherein the low-level tracking events include events generated by using at least an image sensor and a sensor that is different from an image sensor.

Assignments (2)
SECURITY INTEREST Recorded Sep 13, 2019
From: OBLONG INDUSTRIES, INC.
To: SILICON VALLEY BANK
Reel/Frame 050372/0975 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: UNDERKOFFLER, JOHN S.; KRAMER, KWINDLA HULTMAN
To: OBLONG INDUSTRIES, INC.
Reel/Frame 048223/0447 →
Cited By (1)
US 12,682,029