IP Library Granted Patent US 10,116,839
Granted Patent B2
US 10,116,839 · App. 14/806,926 · Granted Oct 30, 2018

Methods for camera movement compensation for gesture detection and object recognition

Inventors: Ryan Fink (Vancouver, WA); Gary Peck (Portland, OR); Bryan Ransil (San Francisco, CA)
Assignee: Atheer Labs, Inc.
H04N5/144H04N5/23258H04N5/23261H04N5/23277H04N5/33
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,116,839
App. No.
14/806,926
Granted
Oct 30, 2018
Kind
B2
Abstract

Methods and systems for camera movement compensation for gesture detection and object recognition. In some examples, the methods and systems analyze motion data associated with the sequential frames of a video stream, and reject those frames where the detected camera movement exceeds a predetermined threshold. In other examples, the methods and systems use motion data and portions of immediate previous frames to adjust a frame where the detected camera movement exceeds the predetermined threshold to create an adjusted frame that compensates for the detected camera movement. In still other examples, frames are adjusted if the detected motion exceeds a first threshold, and rejected if the detected motion exceeds a second, higher threshold.

Claims (55)

1. A method, comprising:

receiving a video stream comprised of a sequential series of frames from a camera, wherein the video stream is captured at a frame rate;

receiving motion data from a motion sensor that is physically associated with the camera to detect motion of the camera, wherein the motion data is captured at a sampling rate;

associating a first frame of the sequential series of frames with a portion of the motion data that is captured approximately contemporaneously with the first frame, the portion of the motion data indicative of an amount of movement of the camera when the camera captured the first frame;

when the sampling rate is greater than the frame rate, aggregating a first frame sample of the motion data and a second sample of the motion data captured between the first frame of the sequential series of frames and a second frame of the sequential series of frames to obtain an aggregated movement value representative of the motion of the camera when the camera captured the first frame;

comparing the aggregated movement value with a first threshold for the amount of movement of the camera;

when the aggregated movement value does not exceed the first threshold, accepting the first frame from the video stream; and

when the aggregated movement value exceeds the first threshold, rejecting the first frame from the video stream.

2. The method of claim 1 , further comprising outputting the video stream comprising the first frame when the aggregated movement value does not exceed the first threshold.

3. The method of claim 2 , further comprising:

duplicating a third frame that is immediately previous the first frame in the sequential series of frames when the aggregated movement value exceeds the first threshold; and

outputting the third frame in place of the first frame.

4. The method of claim 1 , further comprising:

initiating the camera prior to receiving the video stream; and

initiating the motion sensor prior to receiving the motion data.

5. The method of claim 1 , further comprising adjusting the first frame when the aggregated movement value does not exceed the first threshold and exceeds a second threshold.

6. The method of claim 5 , wherein the first frame is adjusted using the motion data associated with the first frame.

7. The method of claim 6 , wherein the first frame is adjusted using at least a portion of a third frame that is previous to the first frame in the sequential series of frames.

8. A method, comprising:

receiving a video stream comprised of a sequential series of frames from a camera;

receiving motion data from a motion sensor that is physically associated with the camera to detect motion of the camera;

associating a first frame of the sequential series of frames with a portion of the motion data that is captured approximately contemporaneously with the first frame, the portion of the motion data indicative of an amount of movement of the camera when the camera captured the first frame;

comparing the amount of movement of the camera when the camera captured the first frame with a first threshold for the amount of movement of the camera;

when the amount of movement of the camera when the camera captured the first frame does not exceed the first threshold, accepting the first frame; and

when the amount of movement of the camera when the camera captured the first frame exceeds the first threshold;

identifying a second frame previous to the first frame that does not exceed the first threshold;

replacing the first frame with the second frame;

identifying a third frames subsequent to the first frame with the amount of movement of the camera that exceeds the first threshold; and

repalcing the third frame with the second frame.

9. The method of claim 8 , wherein adjusting the first frame comprises incorporating at least a portion of a third frame that is previous to the first frame of into the first frame.

10. The method of claim 8 , wherein adjusting the first frame further comprises using the motion data associated with the first frame.

11. The method of claim 8 , further comprising rejecting the first frame from the video stream when the amount of movement of the camera when the camera captured the first frame exceeds the first threshold and a second threshold that is greater than the first threshold.

12. The method of claim 11 , further comprising:

duplicating a third frame that is previous to the first frame in the sequential series of frames; and

substituting the second frame in place of the first frame when the amount of movement of the camera when the camera captured the first frame exceeds the first threshold.

13. The method of claim 12 , further comprising outputting the video stream comprising at least one of the first frame or the second frame.

14. A system, comprising:

a camera operable to output a video stream comprised of a sequential series of frames;

a motion sensor that is physically associated with the camera and operable to output motion data corresponding to movement of the camera, wherein the motion data comprises angular rotation data and acceleration data;

a processor coupled to the camera and motion sensor, the processor to:

receive the video stream from the camera;

receive the motion data from the motion sensor;

associate with a first frame of the sequential series of frames to a portion of the motion data that is captured approximately contemporaneously with the first frame, the portion of the motion data indicative of an amount of movement of the camera when the camera captured the first frame;

compare the angular rotation data of the camera when the camera captured the first frame with a first threshold for an amount of angular rotation movement of the camera;

compare the acceleration data of the camera when the camera captured the first frame with a second threshold for an amount of acceleration movement for the camera;

when the angular rotation data does not exceed the first threshold and the acceleration data does not exceed the second threshold, accept the first frame from the video stream; and

when the angular rotation data exceeds the first threshold or the acceleration data exceeds the second threshold, reject the first frame from the video stream.

15. The system of claim 14 , wherein the processor is further to reject the first frame from the video stream when the amount of movement of the camera when the camera captured the first frame exceeds a third threshold.

16. The system of claim 14 , wherein the processor is further to adjust the first frame from the video stream, when the amount of movement of the camera when the camera captured the first frame exceeds a third threshold.

17. The system of claim 16 , wherein the processor is further to reject the first frame from the video stream, when the amount of movement of the camera when the camera captured the first frame exceeds a fourth threshold.

18. The system of claim 17 , wherein the processor is further to:

duplicate a third frame immediately previous to the first frame in the sequential series of frames that was accepted or adjusted; and

substitute the third frame in place of the first frame.

19. The system of claim 18 , wherein the processor is further to output the video stream comprising one or more accepted frames, adjusted frames, or duplicated frames.

20. The system of claim 16 , wherein the processor is further to adjust the first frame by utilizing the motion data associated with the first frame and by incorporating portions of one or more frames that are immediately previous to the first frame in the sequential series of frames into the first frame.

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; PECK, GARY; RANSIL, BRYAN
To: ATHEER, INC.
Reel/Frame 058637/0455 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 039569 FRAME 0554. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 12, 2022
From: FINK, RYAN
To: ATHEER, INC.
Reel/Frame 058707/0125 →
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 Aug 29, 2016
From: FINK, RYAN
To: ATHEER LABS, INC.
Reel/Frame 039569/0554 →
Continuity (2)
Provisional Application 62037239 · Aug 14, 2014
Related Publication 20160048216A1 · Feb 18, 2016