Storage system and method for event-driven data stitching in surveillance systems
A storage system and method for event-driven data stitching in surveillance systems are provided. In one embodiment, a storage system is provided comprising a memory and a controller. The controller is configured to track an object in a plurality of video streams; determine which video frames in each of the plurality of video streams contain the object; create a separate video stream from the video frames that contain the object; and store the created separate video stream in the memory. Other embodiments are provided.
1. A storage system comprising:
a memory; and
a controller configured to:
track an object in a plurality of video streams by determining a correlation value of the object in each video stream of the plurality of video streams; and
in response to the correlation value exceeding a threshold:
determine which video frames in each video stream of the plurality of video streams contain the object;
create a separate video stream using the video frames that contain the object; and
store the created separate video stream in the memory.
2. The storage system of claim 1 , wherein the controller is further configured to, prior to tracking the object, identify the object in one video stream of the plurality of video streams.
3. The storage system of claim 1 , wherein the controller is further configured to create the separate video stream by arranging the video frames that contain the object in a time-capture order.
4. The storage system of claim 1 , wherein the controller is further configured to store the plurality of video streams in the memory.
5. The storage system of claim 1 , wherein the controller is further configured to command a video camera to increase resolution of future video frames that contain the object.
6. The storage system of claim 1 , wherein the controller is further configured to perform garbage collection prior to storing the created separate video stream in the memory.
7. The storage system of claim 1 , wherein the controller is further configured to receive the plurality of video streams from a host in communication with a plurality of video capture devices.
8. The storage system of claim 1 , wherein the controller is further configured to:
receive, from a playback device, a vendor-specific command to access the created separate video stream stored in the memory; and
in response to receiving the vendor-specific command, provide the created separate video stream to the playback device.
9. The storage system of claim 1 , wherein the plurality of video streams comprises live video streams.
10. The storage system of claim 1 , wherein the memory comprises a three-dimensional memory.
11. A method comprising:
performing the following in a storage system comprising a memory:
tracking an object in a plurality of video streams by determining a correlation value of the object in each video stream of the plurality of video streams; and
in response to the correlation value exceeding a threshold:
determining which video frames in each video stream of the plurality of video streams contain the object;
creating a separate video stream using the video frames that contain the object; and
storing the created separate video stream in the memory.
12. The method of claim 11 , further comprising prior to tracking the object, identifying the object in one video stream of the plurality of video streams.
13. The method of claim 11 , wherein creating the separate video stream comprises arranging the video frames that contain the object in a time-capture order.
14. The method of claim 11 , further comprising storing the plurality of video streams in the memory.
15. The method of claim 11 , further comprising commanding a video camera to increase resolution of future video frames that contain the object.
16. The method of claim 11 , further comprising performing garbage collection prior to storing the created separate video stream in the memory.
17. The method of claim 11 , further comprising receiving the plurality of video streams from a host in communication with a plurality of video capture devices.
18. The method of claim 11 , further comprising:
receiving, from a playback device, a vendor-specific command to access the created separate video stream stored in the memory; and
in response to receiving the vendor-specific command, providing the created separate video stream to the playback device.
19. The method of claim 11 , wherein the plurality of video streams comprises live video streams.
20. A storage system comprising:
a memory;
means for tracking an object in a plurality of video streams by determining a correlation value of the object in each video stream of the plurality of video streams;
means for determining which video frames in each video stream of the plurality of video streams contain the object in response to the correlation value exceeding a threshold;
means for creating a separate video stream using the video frames that contain the object; and
means for storing the created separate video stream in the memory.