IP Library Granted Patent US 12,401,765
Granted Patent B2
US 12,401,765 · App. 18/364,730 · Granted Aug 26, 2025

Predictive adjustment of multi-camera surveillance video data capture using graph maps

Inventors: Lovish Singla (Bangalore, IN); Shaheed Nehal A (Mysore, IN)
Assignee: Sandisk Technologies, Inc.
H04N7/181G06T7/292G06V20/54H04N7/188G06T2207/10016G06V2201/10
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 12,401,765
App. No.
18/364,730
Granted
Aug 26, 2025
Kind
B2
Abstract

Systems, video cameras, and methods for predictive adjustment of multi-camera surveillance video data capture based on graph maps are described. A plurality of networked video camera is deployed and represented in a graph map based on the video camera environment, with parent nodes corresponding to video cameras and child nodes corresponding to path intersections among the video cameras. When a video event is detected from video data for one of the video cameras, a video capture update message indicating a shared child node identifier is selectively sent to other video cameras to modify their video capture operations.

Claims (155)

1. A system, comprising:

a first video camera having a first field of view, wherein a plurality of networked video cameras includes the first video camera;

a controller in communication with the plurality of networked video cameras and configured to:

receive video data from the first video camera;

determine, from the video data, a first video event having an event direction;

determine, based on the event direction and a graph map of the plurality of networked video cameras, at least one other video camera from the plurality of networked video cameras that shares a child node in the graph map with first video camera, wherein the child node is in the event direction; and

send, to the at least one other video camera and based on the first video event, a video capture update message, wherein the video capture update message includes a child node identifier for the child node; and

a non-volatile memory configured to store a data structure based on the graph map and comprising:

a plurality of parent node entries for the plurality of networked video cameras;

a plurality of child node entries for a plurality of child nodes corresponding to path intersections between at least two video cameras of the plurality of video cameras; and

a set of coordinates, based on a coordinate position system of the graph map, for each child node entry of the plurality of child node entries, wherein the first video camera is further configured to use the data structure to determine, for the first video event, each shared child node in the event direction for the at least one other video camera.

2. The system of claim 1 , further comprising:

the plurality of networked video cameras, wherein each video camera of the at least one other video camera is configured to, responsive to receiving the video capture update message:

determine the child node identifier from the video capture update message;

modify, based on the child node identifier, a video capture operation of that other video camera; and

capture, using that other video camera, video data based on the modified video capture operation.

3. The system of claim 2 , wherein:

the at least one other video camera includes an actuator configured to adjust a direction of a field of view of the at least one other video camera; and

modifying the video capture operation comprises:

operating, during a first operating period, in a first actuator position of a plurality of positions for adjusting the direction of the field of view; and

selecting, responsive to the video capture update message and during a second operating period, a second actuator position of the plurality of positions.

4. The system of claim 3 , wherein:

the graph map comprises:

a coordinate position system;

a first set of coordinates for the at least one other video camera; and

a second set of coordinates for the child node; and

the at least one other video camera is further configured to determine, based on the first set of coordinates and the second set of coordinates, the second actuator position.

5. The system of claim 2 , wherein:

each video camera of the plurality of networked video cameras is configured for a plurality of video capture rates; and

modifying the video capture operation comprises:

operating, during a first operating period, at a first video capture rate from the plurality of video capture rates; and

selecting, responsive to the video capture update message and during a second operating period, a second video capture rate to modify the video capture operation.

6. The system of claim 2 , wherein:

the graph map comprises:

a coordinate position system;

a first set of coordinates for the at least one other video camera;

a second set of coordinates for the child node; and

a third set of coordinates for the first video camera;

the at least one other video camera comprises a plurality of sets of video capture operating parameters;

the at least one other video camera is further configured to use a first set of video capture operating parameters during a first operating period; and

modifying the video capture operation comprises:

determining, based on the graph map, a path distance from the first video camera to the at least one other video camera through the child node;

determining, based on the path distance, a duration for a second operating period for determining, from video data of the at least one other video camera, a second video event related to the first video event; and

selecting, responsive to the video capture update message and during the second operating period, a second set of video capture operating parameters.

7. The system of claim 2 , wherein:

the first video camera includes a plurality of graph maps;

determining the first video event comprises detecting, using an object detection model, an object of interest in the video data;

determining the at least one other video camera from the plurality of networked video cameras comprises:

determining a set of object parameters for the object of interest; and

using the set of object parameters for the object of interest to select the graph map from the plurality of graph maps; and

modifying the video capture operation of the at least one other video camera:

occurs prior to the object of interest entering a field of view of the at least one other video camera; and

increases a likelihood of detecting the object of interest.

8. The system of claim 2 , wherein the controller is further configured to:

determine, for each video camera of the plurality of networked video cameras, a reference data structure for that video camera, wherein each reference data structure comprises:

a set of parent node entries for parent nodes connected to that video camera through one or more child nodes in the graph map;

a set of shared child node entries for child nodes connected to that video camera in the graph map; and

a set of path distance parameters for each path through at least one child node to a parent node; and

send, to each video camera of the plurality of networked video cameras, the reference data structure for that video camera, wherein each video camera of the at least one other video cameras is further configured to store and use the reference data structure for that other video camera to modify the video capture operation for that other video camera.

9. The system of claim 1 , wherein:

the data structure further comprises a field of view position for each edge connecting a parent node to at least one child node; and

the first video camera is further configured to:

determine, based on the first field of view, the event direction and a corresponding field of view position; and

determine, based on the corresponding field of view position, the child node.

10. The system of claim 1 , wherein:

during a first operating period:

the plurality of networked video cameras comprises a first set of video cameras;

the graph map includes a first set of child nodes among the first set of video cameras; and

the data structure comprises a first configuration of parent node entries, child node entries, and sets of coordinates; and

during a second operating period:

the plurality of networked video cameras comprises the first set of video cameras and a second set of video cameras;

the graph map includes a second set of child nodes among the first set of video cameras and the second set of video cameras; and

the data structure comprises a second configuration comprising:

additional parent node entries for the second set of video cameras; and

additional child node entries and sets of coordinates for the second set of child nodes.

11. A computer-implemented method, comprising:

receiving video data from a first video camera of a plurality of networked video cameras;

determining, from the video data, a first video event having an event direction;

determining, based on the event direction and a graph map of the plurality of networked video cameras, at least one other video camera from the plurality of networked video cameras that shares a child node in the graph map with first video camera, wherein the child node is in the event direction;

sending, to the at least one other video camera and based on the first video event, a video capture update message, wherein the video capture update message includes a child node identifier for the child node;

determining, by the at least one other video camera and responsive to receiving the video capture update message, the child node identifier from the video capture update message;

modifying, by the at least one other video camera and based on the child node identifier, a video capture operation of the at least one other video camera; and

capturing, using the at least one other video camera, video data based on the modified video capture operation.

12. The computer-implemented method of claim 11 , wherein:

the at least one other video camera includes an actuator configured to adjust a direction of a field of view of the at least one other video camera;

the graph map comprises:

a coordinate position system;

a first set of coordinates for the at least one other video camera; and

a second set of coordinates for the child node; and

modifying the video capture operation comprises:

operating, during a first operating period, in a first actuator position of a plurality of positions for adjusting the direction of the field of view;

determining, responsive to the video capture update message and based on the first set of coordinates and the second set of coordinates, a second actuator position; and

selecting, during a second operating period, the second actuator position of the plurality of positions.

13. The computer-implemented method of claim 11 , wherein:

each video camera of the plurality of networked video cameras is configured for a plurality of video capture rates; and

modifying the video capture operation comprises:

operating, during a first operating period, at a first video capture rate from the plurality of video capture rates; and

selecting, responsive to the video capture update message and during a second operating period, a second video capture rate to modify the video capture operation.

14. The computer-implemented method of claim 11 , wherein:

the graph map comprises:

a coordinate position system;

a first set of coordinates for the at least one other video camera;

a second set of coordinates for the child node; and

a third set of coordinates for the first video camera;

the at least one other video camera comprises a plurality of sets of video capture operating parameters; and

modifying the video capture operation comprises:

using a first set of video capture operating parameters during a first operating period;

determining, based on the graph map, a path distance from the first video camera to the at least one other video camera through the child node;

determining, based on the path distance, a duration for a second operating period for determining, from video data of the at least one other video camera, a second video event related to the first video event; and

selecting, responsive to the video capture update message and during the second operating period, a second set of video capture operating parameters.

15. The computer-implemented method of claim 11 , wherein:

the first video camera includes a plurality of graph maps;

determining the first video event comprises detecting, using an object detection model, an object of interest in the video data;

determining the at least one other video camera from the plurality of networked video cameras comprises:

determining a set of object parameters for the object of interest; and

using the set of object parameters for the object of interest to select the graph map from the plurality of graph maps; and

modifying the video capture operation of the at least one other video camera:

occurs prior to the object of interest entering a field of view of the at least one other video camera; and

increases a likelihood of detecting the object of interest.

16. The computer-implemented method of claim 11 , further comprising:

configuring, based on the graph map, a data structure for the first video camera comprising:

a plurality of parent node entries for the plurality of networked video cameras;

a plurality of child node entries for a plurality of child nodes corresponding to path intersections between at least two video cameras of the plurality of networked video cameras; and

a set of coordinates, based on a coordinate position system of the graph map, for each child node entry of the plurality of child node entries; and

determining, for the first video event and using the data structure, each shared child node in the event direction for the at least one other video camera.

17. The computer-implemented method of claim 16 , further comprising:

determining, based on a field of view of the first video camera, the event direction and a corresponding field of view position, wherein the data structure further comprises a field of view position for each edge connecting a parent node to at least one child node; and

determining, based on the corresponding field of view position, the child node.

18. The computer-implemented method of claim 16 , further comprising:

configuring, during a first operating period, the data structure in a first configurations of parent node entries, child node entries, and sets of coordinates, wherein:

the plurality of networked video cameras comprises a first set of video cameras during the first operating period; and

the graph map includes a first set of child nodes among the first set of video cameras in the first operating period; and

configuring, during a second operating period responsive to adding a second set of video cameras to the first set of video cameras in the plurality of networked video cameras, the data structure in a second configuration by:

adding, to the graph map, a second set of parent nodes corresponding to the second set of video cameras;

adding, to the graph map, a second set of child nodes among the first set of video cameras and the second set of video cameras;

determining, for the graph map, an updated set of edges among the parent nodes and the child nodes;

adding, to the data structure, additional parent node entries for the second set of video cameras; and

adding, to the data structure, additional child node entries and sets of coordinates for the second set of child nodes.

19. A system, comprising:

a plurality of networked video cameras;

a processor;

a memory;

means for receiving video data from a first video camera of a plurality of networked video cameras;

means for determining, from the video data, a first video event having an event direction;

means for determining, based on the event direction and a graph map of the plurality of networked video cameras, at least one other video camera from the plurality of networked video cameras that shares a child node in the graph map with first video camera, wherein the child node is in the event direction;

means for sending, to the at least one other video camera and based on the first video event, a video capture update message, wherein the video capture update message includes a child node identifier for the child node;

means for determining, by the at least one other video camera and responsive to receiving the video capture update message, the child node identifier from the video capture update message;

means for modifying, by the at least one other video camera and based on the child node identifier, a video capture operation of the at least one other video camera; and

means for capturing, using the at least one other video camera, video data based on the modified video capture operation.

20. The system of claim 19 , further comprising:

means for storing a data structure based on the graph map and for the first video camera, the data structure comprising:

a plurality of parent node entries for the plurality of networked video cameras;

a plurality of child node entries for a plurality of child nodes corresponding to path intersections between at least two video cameras of the plurality of networked video cameras; and

a set of coordinates, based on a coordinate position system of the graph map, for each child node entry of the plurality of child node entries; and

means for determining, for the first video event and using the data structure, each shared child node in the event direction for the at least one other video camera.

Assignments (8)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065657/0158 →
PATENT COLLATERAL AGREEMENT- A&R Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065656/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2023
From: SINGLA, LOVISH; NEHAL A, SHAHEED
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 064489/0186 →
Continuity (2)
Provisional Application 63510426 · Jun 27, 2023
Related Publication 20250008060A1 · Jan 2, 2025
References Cited (67)
US 7583815B2 · Zhang et al. · 2009 [cited by applicant]
US 7697827B2 · Konicek · 2010 [cited by applicant]
US 8824879B2 · Konicek · 2014 [cited by applicant]
US 9031847B2 · Sarin · 2015 [cited by applicant]
US 9560323B2 · Huang · 2017 [cited by applicant]
US 10230884B2 · Okada · 2019 [cited by applicant]
US 10643472B2 · Song · 2020 [cited by applicant]
US 10701321B2 · Westmacott · 2020 [cited by applicant]
US 10855921B2 · Milne · 2020 [cited by applicant]
US 10885342B1 · Day · 2021 [cited by applicant]
US 10897627B2 · Muthiah · 2021 [cited by applicant]
US 11538316B2 · Lee · 2022 [cited by applicant]
US 11619991B2 · Kelly · 2023 [cited by applicant]
US 20040257444A1 · Maruya · 2004 [cited by applicant]
US 20050102133A1 · Rees · 2005 [cited by applicant]
US 20050128311A1 · Rees · 2005 [cited by applicant]
US 20070236570A1 · Sun · 2007 [cited by applicant]
US 20080198231A1 · Ozdemir · 2008 [cited by applicant]
US 20090245573A1 · Saptharishi · 2009 [cited by applicant]
US 20090309973A1 · Kogane · 2009 [cited by applicant]
US 20100141767A1 · Mohanty · 2010 [cited by applicant]
US 20100157064A1 · Cheng · 2010 [cited by applicant]
US 20130036628A1 · Hussey · 2013 [cited by applicant]
US 20130208113A1 · Yoneji · 2013 [cited by applicant]
US 20130314543A1 · Sutter · 2013 [cited by applicant]
US 20140028826A1 · Lee · 2014 [cited by applicant]
US 20140160316A1 · Hwang · 2014 [cited by applicant]
US 20140192211A1 · Konicek · 2014 [cited by applicant]
US 20140333775A1 · Naikal · 2014 [cited by applicant]
US 20150172604A1 · Kim · 2015 [cited by applicant]
US 20160189500A1 · Kim · 2016 [cited by applicant]
US 20170127302A1 · Fersman · 2017 [cited by applicant]
US 20170221219A1 · Cho · 2017 [cited by applicant]
US 20180007323A1 · Botusescu · 2018 [cited by applicant]
US 20180013658A1 · Wiesmaier · 2018 [cited by examiner]
US 20180165520A1 · Meisser · 2018 [cited by applicant]
US 20190037178A1 · Larsen et al. · 2019 [cited by applicant]
US 20190080575A1 · Lee · 2019 [cited by applicant]
US 20190104283A1 · Wakeyama · 2019 [cited by applicant]
US 20190156849A1 · Feng · 2019 [cited by applicant]
US 20190258865A1 · Ernesti · 2019 [cited by applicant]
US 20200005615A1 · Madden · 2020 [cited by applicant]
US 20200105111A1 · Messer · 2020 [cited by applicant]
US 20200234057A1 · Koo · 2020 [cited by applicant]
US 20200327347A1 · Arai · 2020 [cited by applicant]
US 20210201933A1 · Kang · 2021 [cited by applicant]
US 20210289168A1 · Glückert · 2021 [cited by applicant]
US 20210342619A1 · Faller · 2021 [cited by applicant]
US 20210374971A1 · Zhou · 2021 [cited by examiner]
US 20210409790A1 · Larrew · 2021 [cited by applicant]
US 20220171970A1 · Yadav et al. · 2022 [cited by applicant]
US 20220215727A1 · Jeong · 2022 [cited by applicant]
US 20220292833A1 · Björn · 2022 [cited by applicant]
US 20220383522A1 · Lai · 2022 [cited by applicant]
US 20220391090A1 · Muthiah · 2022 [cited by applicant]
US 20220406065A1 · Kang · 2022 [cited by applicant]
US 20230031871A1 · Shroff · 2023 [cited by applicant]
US 20230064558A1 · Griffin · 2023 [cited by applicant]
US 20230082600A1 · Nakazato · 2023 [cited by applicant]
US 20230156337A1 · Oh · 2023 [cited by applicant]
US 20230209204A1 · Zu · 2023 [cited by applicant]
US 20230252654A1 · Kamiya · 2023 [cited by applicant]
US 20240007744A1 · Muthiah · 2024 [cited by applicant]
US 20240155221A1 · Watanabe · 2024 [cited by applicant]
US 20240386581A1 · Kamada · 2024 [cited by examiner]
CN 109300471A · 2019 [cited by applicant]
JP 2015104028A · 2015 [cited by applicant]