Distributed Video Processing for Surveillance Cameras
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In residential video surveillance systems, cameras often have insufficient computing power and resources to process video data in real-time, leading to delays in event detection and notification, as each camera must handle processing independently without adequate resource sharing.
Innovation Solution
Organizing co-located cameras into a local computing cloud, where resources are dynamically allocated and shared among nodes, enabling distributed processing of video data across cameras with varying compute resources, and utilizing a job scheduler to manage task assignment and data distribution based on available resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single camera processes video data independently using its own compute resources, then the camera can maintain operational independence and simple system architecture, but the processing speed and real-time event detection capability are insufficient due to limited computing power
Solution Approach 1:
The system segments the video processing workload across multiple cameras acting as distributed compute nodes. Each camera processes portions of video data from itself and other cameras in the network, dividing the overall processing task to achieve higher throughput and real-time performance without requiring a centralized processing server.
Solution Approach 2:
Each camera in the network is designed to perform multiple functions: it processes its own video data, processes data from other cameras, and can be dynamically assigned different processing tasks based on available resources. This multi-functionality enables the system to scale processing capacity by simply adding more cameras without requiring specialized processing hardware.
2Reliability
If a camera with limited compute resources processes all video data locally, then the system maintains simplicity and low latency communication, but event detection is delayed due to insufficient processing capacity
Solution Approach 1:
The system merges the compute resources of multiple cameras into a unified distributed processing pool. When an event is detected by one camera, the video data is shared with other cameras in the network that have available compute resources, combining their processing power to achieve timely event detection and notification without the delays associated with a single camera's limited capacity.
3Adaptability or versatility
If multiple cameras are deployed to monitor different areas of a property, then comprehensive surveillance coverage is achieved, but resource utilization is inefficient since each camera operates independently and cannot share processing loads
Solution Approach 1:
The system implements dynamic resource allocation where cameras can transition between different operational states based on real-time conditions. When one camera detects an event, other cameras dynamically shift from processing their own data to assisting with the event detection task, optimizing resource utilization across the network while maintaining comprehensive surveillance coverage of all monitored areas.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for generating distributed jobs for cameras in a monitored property. The methods, systems, and apparatus include actions of obtaining a request to process a video based on an event detected by a first camera at a monitored property, determining resources likely to be available corresponding to the other cameras at the monitored property, allocating one or more tasks corresponding to processing the video to the other cameras based on the resources likely to be available corresponding to the other cameras, and providing the one or more allocated tasks to the first camera and to the other cameras.


