Live video analytics at scale
First Claim
1. A method of performing video analytics, comprising:
- receiving video streams at a video analytics computing system, the video streams being captured by multiple cameras and continuously streamed to the video analytics computing system;
scheduling multiple video analytics queries, wherein scheduling the multiple video analytics queries further comprises;
allocating resources of the video analytics computing system between the multiple video analytics queries for the execution of each of the multiple video analytics queries; and
selecting multi-dimensional configurations for each of the multiple video analytics queries based on the resources as allocated;
executing the multiple video analytics queries on the video streams, the multiple video analytics queries concurrently being executed by the video analytics computing system on the video streams as the video streams are continuously streamed to the video analytics computing system, the multiple video analytics queries being executed utilizing the resources of the video analytics computing system allocated between the multiple video analytics queries, and execution of the multiple video analytics queries returns respective results for the multiple video analytics queries; and
outputting the results for the multiple video analytics queries.
1 Assignment
0 Petitions
Accused Products
Abstract
Various technologies described herein pertain to performing video analytics. The approaches set forth herein support live video analytics at scale with approximate and delay-tolerant processing. Video streams can be captured by multiple cameras and continuously streamed to a video analytics computing system; the video streams can be received at the video analytics computing system. Multiple video analytics queries can be executed on the video streams. The multiple video analytics queries can be concurrently executed by the video analytics computing system on the video streams as the video streams are continuously streamed to the video analytics computing system. The multiple video analytics queries can be executed utilizing resources of the video analytics computing system allocated between the multiple video analytics queries. Execution of the multiple video analytics queries can return respective results for the multiple video analytics queries. The results for the multiple video analytics queries can be outputted.
-
Citations
20 Claims
-
1. A method of performing video analytics, comprising:
-
receiving video streams at a video analytics computing system, the video streams being captured by multiple cameras and continuously streamed to the video analytics computing system; scheduling multiple video analytics queries, wherein scheduling the multiple video analytics queries further comprises; allocating resources of the video analytics computing system between the multiple video analytics queries for the execution of each of the multiple video analytics queries; and selecting multi-dimensional configurations for each of the multiple video analytics queries based on the resources as allocated; executing the multiple video analytics queries on the video streams, the multiple video analytics queries concurrently being executed by the video analytics computing system on the video streams as the video streams are continuously streamed to the video analytics computing system, the multiple video analytics queries being executed utilizing the resources of the video analytics computing system allocated between the multiple video analytics queries, and execution of the multiple video analytics queries returns respective results for the multiple video analytics queries; and outputting the results for the multiple video analytics queries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A video analytics computing system, comprising:
-
at least one processor; and memory that comprises computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including; allocating resources of the video analytics computing system between multiple video analytics queries for execution of each of the multiple video analytics queries, the resources of the video analytics computing system are allocated based on resource-quality profiles of the multiple video analytics queries and lag tolerances of the multiple video analytics queries, the multiple video analytics queries concurrently being executed by the video analytics computing system on video streams as the video streams are streamed to the video analytics computing system from multiple camera; and selecting multi-dimensional configurations for each of the multiple video analytics queries based on the resources as allocated, the multiple video analytics queries being executed utilizing the multi-dimensional configurations. - View Dependent Claims (15)
-
-
16. A method of performing video analytics, comprising:
-
receiving video streams at a video analytics computing system, the video streams being captured by multiple cameras and continuously streamed to the video analytics computing system; scheduling multiple video analytics queries, wherein the scheduling of the video analytics queries is periodically adjusted over time based on changes in resource demands across the multiple video analytics queries and resource capacity of the video analytics computing system; executing the multiple video analytics queries on the video streams as scheduled, the multiple video analytics queries concurrently being executed by the video analytics computing system on the video streams as the video streams are continuously streamed to the video analytics computing system, the multiple video analytics queries being executed utilizing resources of the video analytics computing system allocated between the multiple video analytics queries, and execution of the multiple video analytics queries returns respective results for the multiple video analytics queries; and outputting the results for the multiple video analytics queries. - View Dependent Claims (17, 18, 19, 20)
-
Specification