IP Library Granted Patent US 10,380,431
Granted Patent B2
US 10,380,431 · App. 15/288,085 · Granted Aug 13, 2019

Systems and methods for processing video streams

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,380,431
App. No.
15/288,085
Granted
Aug 13, 2019
Kind
B2
Abstract

Embodiments of a method and system described herein enable capture of video data streams from multiple, different video data source devices and the processing of the video data streams. The video data streams are merged such that various data protocols can all be processed with the same worker processors on different types of operating systems, which are typically distributed.

Claims (49)

1. A computer-implemented method for processing video streams, the method comprising:

a special purpose processor collecting video data from a plurality of dissimilar sources, that manages video feeds from the plurality of dissimilar sources, processes the video feeds into data, stores the data, and computes analytics and predictions;

The system includes a backend subsystem consisting of specially programmed processors executing software that manages video feeds, processes the video feeds into data, stores the data, and computes analytics and predictions

the special purpose processor, in an iterative process, defining known foreground objects and newly emerged objects;

the special purpose processor determining moving objects from the video data, wherein determining moving objects comprises,

movement detection comprising at least one non-linear time-domain high-pass filter, and determining trajectories of objects;

foreground detection comprising processing video data from a current frame and an expected background, including determining an absolute difference between the current frame and an expected background, and adding R, G and B planes with saturation to generate a merged absolute difference with background;

object tracking comprising determining histories of the positions of objects;

classifying moving objects comprising receiving groups of foreground pixels and outputting one or more objects per group with an associated class using class supervised learning; and

high level analysis comprising determining one or more of, the speed of an object, whether an object is entering or leaving a building, and whether an object is crossing a virtual turnstile; and

the special purpose processor processing the video data as video streams from the plurality of dissimilar sources, providing video data of different types, to allow the video data from the plurality of dissimilar sources to be analyzed without dependence on a source of any of the video data.

2. The method of claim 1 , further comprising the special purpose processor:

representing all starting points and ending points of trajectories on a map of the video streams; and

performing a local window analysis of a geographic distribution of the starting points and ending points.

3. The method of claim 1 , wherein the video data comprises a plurality of images, and wherein the image data is subsampled by an integer factor to facilitate processing speed.

4. The method of claim 1 , wherein the video data comprises a plurality of images, and wherein determining moving objects comprises determining background statistics, wherein background statistics can be updated at variable intervals to affect different processing speeds.

5. The method of claim 1 , wherein determining moving objects from the video data comprises estimating the background image of a fixed video stream, comprising modeling points in the video data using a Gaussian distribution of values on each channel of a color image.

6. The method of claim 1 , wherein tracking the moving objects comprises receiving an instance of an object at a point in time and outputting a linked appearance of the same object at different times, with trajectory and shape over time.

7. The method of claim 1 , wherein analyzing the video data comprises receiving objects with trajectories and outputting information regarding the objects, comprising speed, of objects, objects entering or leaving a location, and inference of building layouts based on movement of objects.

8. A non-transient computer readable medium having stored thereon instructions, that when executed by a special purpose processor cause a method for processing video data to be performed, the method comprising:

a special purpose processor collecting video data from a plurality of dissimilar sources, that manages video feeds from the plurality of dissimilar sources, processes the video feeds into data, stores the data, and computes analytics and predictions;

the special purpose processor, in an iterative process, defining known foreground objects and newly emerged objects;

the special purpose processor determining moving objects from the video data;

the special purpose processor classifying the moving objects from the video data comprising receiving groups of foreground pixels and outputting one or more objects per group with an associated class using class supervised learning;

the special purpose processor tracking the moving objects from the video data wherein tracking comprises receiving as input an instance of one object at one point in time and calculating its trajectory and shape over time, and for each new video frame attempting to match foreground objects with existing objects tracked in prior iterations of the iterative process, and determining where the moving objects start and end their trajectories over a period of time;

the special purpose processor determining likely detection of a building entrance based on where the moving objects start and end their trajectories over the period of time; and

the special purpose processor processing the video data as video streams from the plurality of dissimilar sources, providing video data of different types, to allow the video data from the plurality of dissimilar sources to be analyzed without dependence on a source of any of the video data.

9. The non-transient computer readable medium of claim 8 , wherein the video data comprises a plurality of images, and wherein the image data is subsampled by an integer factor to facilitate processing speed.

10. The non-transient computer readable medium of claim 8 , wherein the video data comprises a plurality of images, and wherein determining moving objects comprises determining background statistics, wherein background statistics can be updated at variable intervals to affect different processing speeds.

11. The non-transient computer readable medium of claim 8 , wherein determining moving objects from the video data comprises estimating the background image of a fixed video stream, comprising modeling points in the video data using a Gaussian distribution of values on each channel of a color image.

12. The non-transient computer readable medium of claim 8 , wherein classifying moving objects comprises receiving groups of foreground pixels and outputting one or more objects per group with an associated class using class supervised learning.

13. The non-transient computer readable medium of claim 8 , wherein tracking the moving objects comprises receiving an instance of an object at a point in time and outputting a inked appearance of the same object at different times, with trajectory and shape over time.

14. The non-transient computer readable medium of claim 8 , wherein analyzing the video data comprises receiving objects with trajectories and outputting information regarding the objects, comprising speed, of objects, objects entering or leaving a location, and inference of building layouts based on movement of objects.

15. A system for processing multiple video data streams, comprising:

a plurality of input video data sources;

a backend subsystem configured to receive video data from the plurality of dissimilar input video data sources, managing video feeds from the plurality of dissimilar sources, processing the video feeds into data, storing the data, and computing analytics and predictions, the backend subsystem comprising,

a plurality of video analysis workers comprising special purpose processors tasked with executing video analysis worker processes, comprising,

in an iterative process, defining known foreground objects and newly emerged objects;

determining moving objects from the video data;

classifying the moving objects from the video data;

tracking the moving objects from the video data, wherein tracking comprises receiving as input an instance of one object at one point in time and calculating its trajectory and shape over time, and for each new video frame attempting to match foreground objects with existing objects tracked in prior iterations of the iterative process;

classifying moving objects comprising receiving groups of foreground pixels and outputting one or more objects per group with an associated class using class supervised learning;

wherein tracking the moving objects comprises tracking moving objects from a plurality of dissimilar sources, which supply video data of different types, to allow the video data from the plurality of dissimilar sources to be analyzed without dependence on a source of any of the video data; and

a data analytics module configured to receive processed video data from the plurality of video analysis workers and output human readable information, wherein the human readable information comprises likely locations of building entrances.

16. The system of claim 15 , wherein the data analytics module is further configured to access external data sources, including weather data sources, and event information sources.

17. The system of claim 15 , further comprising at least one user interface configured to provide the human readable information to a user any computing device with processing capability, communication capability, and display capability, including personal computers and mobile devices.

18. The system of claim 15 , wherein the special purpose processors determine moving objects from the video data, and wherein determining comprises:

the special purpose processors classifying the moving objects from the video data; and

the special purpose processors tracking the moving objects from the video data.

Assignments (4)
MERGER Recorded Jan 3, 2025
From: PLACEMETER LLC
To: PLACEMETER INC.
Reel/Frame 069736/0678 →
SECURITY INTEREST Recorded Dec 13, 2024
From: ARLO TECHNOLOGIES, INC.
To: HSBC BANK USA, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 069631/0443 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2024
From: PLACEMETER INC.
To: ARLO TECHNOLOGIES, INC.
Reel/Frame 069553/0164 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2019
From: WINTER, ALEXANDRE; JARDONNET, UGO; THI, TUAN HUE; HALDIMANN, NIKLAUS
To: PLACEMETER LLC
Reel/Frame 048548/0826 →
Cited By (7)
US 12,261,996 US 12,277,743 US 12,412,107 US 12,423,985 US 12,659,550 US 12,675,977 US 12,684,110