IP Library Granted Patent US 10,356,179
Granted Patent B2
US 10,356,179 · App. 15/253,435 · Granted Jul 16, 2019

Method and apparatus for switching between sensors

Inventor: Ryan Fink (Portland, OR)
Assignee: Atheer, Inc.
H04L67/12H04L65/607H04L65/80
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,356,179
App. No.
15/253,435
Granted
Jul 16, 2019
Kind
B2
Abstract

Switching among sensor feeds for optimum performance includes disposing a processor in communication with sensors, each said sensor providing a primary data stream. A data stream standard is established in the processor. The primary data streams are communicated from the sensors to the processor, and are compared against the data stream in the processor. A secondary data stream is selected from among the primary data streams or synthesized from one or more of the primary data streams, based on which primary data stream(s) most closely match the data stream standard. The secondary data stream is communicated to a data stream recipient. The data stream recipient may identify input in the secondary data stream, and an input executor may execute control commands corresponding to the input so as to control a device or system.

Claims (100)

1. A method, comprising:

commutatively coupling a processing device in communication with a first sensor and a second sensor, the first sensor being adapted to provide a first primary data stream and the second sensor being adapted to provide a second primary data stream;

instantiating a sensor controller on the processing device;

instantiating an operating system on the processing device;

instantiating a data stream analyzer on the processing device, the data stream analyzer comprising a data stream standard;

instantiating an input detector on the processing device;

instantiating an input executor on the processing device;

instantiating the data stream standard on the processing device;

communicating the first primary data stream from the first sensor and the second primary data stream from the second sensor to the sensor controller;

communicating the first primary data stream and the second primary data stream from the sensor controller to the operating system;

communicating the first primary data stream and the second primary data stream from the operating system to the data stream analyzer;

determining, by the data stream analyzer, a first quality value for the first primary data stream by comparing the first primary data stream to a factor of the data stream standard;

determining, by the data stream analyzer, a second quality value for the second primary data stream by comparing the second primary data stream to the factor of the data stream standard;

combining the first primary data stream with the second primary data stream to synthesize a secondary data stream;

determining, by the data stream analyzer, a third quality value for the secondary data stream by comparing the secondary data stream to the factor of the data stream standard, wherein the first quality value, the second quality value, and the third quality value are values defined by a value rating scale;

in response to the third quality value being greater than the first quality value and the second quality value, communicating the secondary data stream from the data stream analyzer to the input detector;

detecting with the input detector an input in the secondary data stream; and

communicating the input from the input detector to the input executor.

2. A method, comprising:

commutatively coupling a processing device in communication with a first sensor and a second sensor, the first sensor being adapted to provide a first primary data stream and the second sensor being adapted to provide a second primary data stream;

commutatively coupling the processing device with a data stream recipient;

establishing, by the processing device, a data stream standard;

communicating, to the processing device, the first primary data stream and the second primary data stream;

determining, by the processing device, a first quality value for the first primary data stream by comparing the first primary data stream to a factor of the data stream standard;

determining, by the processing device, a second quality value for the second primary data stream by comparing the second primary data stream to the factor of the data stream standard;

combining, by the processing device, the first primary data stream with the second primary data stream to synthesize a secondary data stream;

determining, by the processing device, a third quality value for the secondary data stream by comparing the secondary data stream to the factor of the data stream standard, wherein the first quality value, the second quality value, and the third quality value are values defined by a value rating scale; and

in response to the third quality value being greater than the first quality value and the second quality value, communicating the secondary data stream from the processing device to the data stream recipient.

3. The method of claim 2 , comprising:

iteratively comparing the first primary data stream and the second primary data stream against the data stream standard with the processing device; and

iteratively selecting the secondary data stream that more closely matches the data stream standard from among the first primary data stream or the second primary data stream.

4. The method of claim 2 , wherein the data stream standard is specific to the data stream recipient.

5. The method of claim 2 , wherein the data stream standard is specific to a task for the data stream recipient.

6. The method of claim 2 , wherein the data stream standard comprises an environment factor.

7. The method of claim 6 , wherein the environment factor comprises at least one of a minimum light level, a maximum light level, a maximum infrared light level, or a maximum ultraviolet light level.

8. The method of claim 2 , wherein the data stream standard comprises a content factor.

9. The method of claim 8 , wherein the content factor comprises at least one of a minimum dynamic range, a maximum noise, a minimum input level, or a maximum input level.

10. The method of claim 2 , wherein the data stream standard comprises a function factor.

11. The method of claim 10 , wherein the function factor comprises at least one of an input detection, an input confidence, an input step detection, or an input step confidence.

12. The method of claim 2 , wherein the first sensor or the second sensor comprises at least one of an RGB image sensor, a grayscale image sensor, a NIR image sensor, a TIR image sensor, a NIR time-of-flight depth sensor, an RGB stereo sensor, a grayscale stereo sensor, a NIR stereo sensor, or an ultrasonic depth sensor.

13. The method of claim 2 , wherein:

comparing the first primary data stream and the second primary data stream comprises assigning a quality value to the first primary data stream and the second primary data stream, respectively, with respect to the data stream standard; and

selecting the secondary data stream comprises selecting one of the first primary data stream or the second primary data stream that exhibits a highest quality value.

14. The method of claim 13 , wherein the quality value is at least two dimensional.

15. A method, comprising:

commutatively coupling a processing device with a first sensor and a second sensor, the first sensor being adapted to provide a first primary data stream and the second sensor being adapted to provide a second primary data stream;

commutatively coupling the processing device with a data stream recipient;

establishing, by the processing device, a data stream standard;

receiving, from the first sensor, the first primary data stream;

receiving, from the second sensor, the second primary data stream;

determining, by the processing device, a first quality value for the first primary data stream by comparing the first primary data stream to a factor of the data stream standard;

determining, by the processing device, a second quality value for the second primary data stream by comparing the second primary data stream to the factor of the data stream standard;

combining, by the processing device, the first primary data stream and the second primary data stream to synthesize a secondary data stream

determining, by the processing device, a third quality value for the secondary data stream by comparing the secondary data stream to the factor of the data stream standard, wherein the first quality value, the second quality value, and the third quality value are values defined by a value rating scale; and

in response to the third quality value being greater than the first quality value and the second quality value, communicating, to the data stream recipient, the secondary data stream.

16. An apparatus, comprising:

a processing device;

a first sensor and a second sensor in communication with the processing device, the first sensor being adapted to provide a first primary data stream and the second sensor being adapted to provide a second primary data stream;

a sensor controller instantiated on the processing device, the sensor controller being adapted to control the first sensor and the second sensor, wherein the sensor controller is adapted to receive the first primary data stream and the second primary data stream;

an operating system instantiated on the processing device, the operating system being adapted to receive the first primary data stream and the second primary data stream from the sensor controller;

a data stream analyzer instantiated on the processing device, the data stream analyzer adapted to:

receive the first primary data stream and the second primary data stream from the operating system;

establish a data stream standard;

determine a first quality value for the first primary data stream by comparing the first primary data stream to a factor of the data stream standard;

determine a second quality value for the second primary data stream by comparing the second primary data stream to the factor of the data stream standard;

combine the first primary data stream with the second primary data stream to synthesize a secondary data stream;

determine a third quality value for the secondary data stream by comparing the secondary data stream to the factor of the data stream standard, wherein the first quality value, the second quality value, and the third quality value are values defined by a value rating scale;

in response to the third quality value being greater than the first quality value and the second quality value, an input detector instantiated on the processing device, the input detector being adapted to:

receive the secondary data stream from the data stream analyzer; and

to identify an input in the secondary data stream; and

an input executor instantiated on the processing device, the input executor being adapted to:

receive the input from the input detector; and

execute a control command corresponding with the input.

17. An apparatus, comprising:

a processing device;

a first sensor and a second sensor in communication with the processing device, the first sensor being adapted to provide a first primary data stream and the second sensor being adapted to provide a second primary data stream;

a data stream analyzer instantiated on the processing device, the data stream analyzer being adapted to:

receive the first primary data stream from the first sensor;

receive the second primary data stream from the second sensor;

establishing a data stream standard;

determine a first quality value for the first primary data stream by comparing the first primary data stream to a factor of the data stream standard;

determine a second quality value for the second primary data stream by comparing the second primary data stream to the factor of the data stream standard;

combine the first primary data stream with the second primary data stream to synthesize a secondary data stream; and

determine a third quality value for the secondary data stream by comparing the secondary data stream to the factor of the data stream standard, wherein the first quality value, the second quality value, and the third quality value are values defined by a value rating scale; and

a data stream recipient in communication with the processing device, the data stream recipient being adapted to receive the secondary data stream from the data stream analyzer in response to the third quality value being greater than the first quality value and the second quality value.

18. The apparatus of claim 17 , wherein: the data stream standard comprises at least one of an environment factor, a content factor, or a function factor.

19. The apparatus of claim 17 , wherein the first sensor or the second sensor comprises at least one of an RGB image sensor, a grayscale image sensor, a NIR image sensor, a TIR image sensor, a NIR time-of-flight depth sensor, an RGB stereo sensor, a grayscale stereo sensor, a NIR stereo sensor, or an ultrasonic depth sensor.

20. The apparatus of claim 17 , wherein: the data stream recipient comprises a gesture input detector adapted to identify an input in the secondary data stream.

21. The apparatus of claim 20 , further comprising: an input executor adapted to receive the input from the gesture input detector and to execute a control command corresponding with the input.

22. An apparatus, comprising:

a processing device;

a first sensor and a second sensor in communication with the processing device, the first sensor being adapted to provide a first primary data stream and the second sensor being adapted to provide a second primary data stream;

a data stream analyzer instantiated on the processing device, the data stream analyzer being adapted to:

receive the first primary data stream and the second primary data stream;

store or generate a data stream standard;

determine a first quality value for the first primary data stream by comparing the first primary data stream to a factor of the data stream standard;

determine a second quality value for the second primary data stream by comparing the second primary data stream to the factor of the data stream standard;

combine the first primary data stream with the second primary data stream to synthesize a secondary data stream; and

determine a third quality value for the secondary data stream by comparing the secondary data stream to the factor of the data stream standard, wherein the first quality value, the second quality value, and the third quality value are values defined by a value rating scale; and

a data stream recipient in communication with the processing device, the data stream recipient being adapted to receive the secondary data stream from the data stream analyzer in response to the third quality value being greater than the first quality value and the second quality value.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2022
From: ATHEER, INC.
To: WEST TEXAS TECHNOLOGY PARTNERS, LLC
Reel/Frame 058962/0067 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2022
From: FINK, RYAN
To: ATHEER, INC.
Reel/Frame 058637/0486 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 047441 FRAME 0196. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 12, 2022
From: FINK, RYAN
To: ATHEER, INC.
Reel/Frame 058707/0162 →
SECURITY INTEREST Recorded Nov 20, 2018
From: ATHEER, INC.
To: COTA CAPITAL MASTER FUND, L.P., AS COLLATERAL AGENT
Reel/Frame 048154/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2018
From: FINK, RYAN
To: ATHEER LABS, INC.
Reel/Frame 047441/0196 →
Continuity (2)
Provisional Application 62212100 · Aug 31, 2015
Related Publication 20170063998A1 · Mar 2, 2017
Cited By (1)
US 12,329,542