IP Library Granted Patent US 12689712
Granted Patent B2
US 12689712 · App. 18/901,234 · Granted Jul 21, 2026

Peer-to-peer surveillance camera architecture using shared metadata datastore

Inventors: Nischith T N (Bangalore, IN); Surya Sathyanandam (Bangalore, IN)
Assignee: Sandisk Technologies, Inc.
H04N7/181G06V10/82G06V20/40G06V20/52H04N23/661G06V2201/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 12689712
App. No.
18/901,234
Granted
Jul 21, 2026
Kind
B2
Abstract

Systems, video cameras, and methods for a peer-to-peer surveillance camera architecture using a shared metadata datastore are described. Each video camera may be configured to detect objects of interest in the video data captured by their respective image sensors and selectively upload metadata from object detection events to the shared metadata datastore. Responsive to detecting an object of interest, each camera may also use the metadata from the object detection to query the datastore for similar events detected by other video cameras. Responsive to the query, the video camera may receive a peer camera identifier and initiate peer-to-peer communication with the identified peer video camera to exchange video metadata directly with that peer video camera.

Claims (120)

1 . A system, comprising:

a first video camera comprising:

a network interface configured for communication over a network, wherein the first video camera is a video camera of a plurality of networked video cameras configured for communication over the network;

an image sensor configured to selectively capture video data;

a non-volatile storage medium configured to store video data captured by the image sensor;

a controller circuit configured to:

detect, from the video data, an object of interest;

determine, based on the object of interest, a set of metadata corresponding to the object of interest;

send, over the network and to a peer metadata datastore, a query comprising selected metadata from the set of metadata;

receive, responsive to the query, at least one peer camera identifier for at least one other video camera in the plurality of networked video cameras;

send, responsive to receiving the at least one peer camera identifier, an alert message to a second video camera of the at least one other video camera in the plurality of networked video cameras; and

receive, responsive to the alert message and from the second video camera, a set of peer metadata for an object detection event by the second video camera.

2 . The system of claim 1 , further comprising:

the plurality of networked video cameras, wherein:

each video camera of the plurality of networked video cameras is configured with a network address;

the at least one peer camera identifier comprises at least one network address corresponding to that at least one other video camera; and

sending the alert message to the second video camera uses the network address of the second video camera.

3 . The system of claim 2 , wherein, responsive to the alert message, a second video camera is further configured to determine, based on the alert message:

the network address for the first video camera;

a timestamp corresponding to the object detection event by the second video camera; and

the set of peer metadata for the object detection event.

4 . The system of claim 3 , wherein the first video camera is further configured to, responsive to the set of peer metadata for the object detection event:

determine at least one video capture parameter from the set of peer metadata;

modify, based on the at least one video capture parameter, video capture operations; and

capture, using the modified video capture operations, additional video data.

5 . The system of claim 1 , wherein:

the first video camera is further configured to:

determine at least one object detection event corresponding to the object of interest detected by the first video camera; and

send, to the second video camera, at least one set of peer metadata for the at least one object detection event by the first video camera;

the second video camera is further configured to:

determine, based on the at least one set of peer metadata from the first video camera, the object detection event by the second video camera corresponding to the object of interest detected by the second video camera; and

determine the set of peer metadata for the at object detection event by the second video camera; and

the first video camera and the second video camera are further configured to modify corresponding video capture operations to increase a likelihood of capturing the object of interest.

6 . The system of claim 1 , further comprising:

the peer metadata datastore, wherein the peer metadata datastore comprises:

a non-volatile memory configured to store metadata from the plurality of networked video cameras structured in a key-value memory architecture; and

a processor configured to:

receive metadata uploads from the plurality of networked video cameras;

store metadata from the metadata uploads in the key-value memory architecture;

process queries from the plurality of networked video cameras against the key-value memory architecture; and

return, responsive to the queries, corresponding responses to the plurality of networked video cameras.

7 . The system of claim 6 , wherein:

a key of the key-value memory architecture comprises:

a peer camera identifier; and

a network address corresponding to the peer camera identifier; and

the corresponding responses comprise at least the network address of a video camera of the networked video cameras corresponding to a set of metadata in that query matching a set of metadata in the key-value memory architecture.

8 . The system of claim 7 , wherein the key of the key-value memory architecture further comprises at least one identifier corresponding to a hierarchical topology of the plurality of networked video cameras.

9 . The system of claim 6 , wherein:

a value of the key-value memory architecture comprises a set of metadata corresponding to an object detection event by a video camera of the plurality of networked video cameras indicated by a corresponding key; and

the set of metadata comprises:

at least one gradient from a video frame corresponding to a detected object of interest in the video frame;

a timestamp for the video frame; and

at least one object tag corresponding to the detected object of interest.

10 . The system of claim 1 , wherein

the controller circuit comprises:

a processor;

a memory; and

an object detection model configured for execution by the processor using the memory; and

the object detection model comprises a neural network:

sized for the memory and processor using at least one process selected from:

quantization;

pruning; and

model compression; and

using pretrained parameters for the object of interest originating outside of the controller circuit.

11 . A computer-implemented method, comprising:

detecting, by a first video camera and from video data captured by an image sensor of the first video camera, an object of interest, wherein:

the first video camera is a video camera among a plurality of networked video cameras configured for communication over a network; and

each video camera of the plurality of networked video cameras comprises a non-volatile storage medium configured to store video data captured by an image sensor of that video camera;

determining, by the first video camera, at least one object detection event corresponding to the object of interest detected by the first video camera;

determining, by the first video camera and based on the object of interest, a set of metadata corresponding to the object of interest;

sending, by the first video camera to a peer metadata datastore over the network, a query comprising selected metadata from the set of metadata;

receiving, by the first video camera and responsive to the query, a peer camera identifier for a second video camera in the plurality of networked video cameras;

initiating, by the first video camera and responsive to receiving the peer camera identifier, network communication with the second video camera in the plurality of networked video cameras;

sending, by the first video camera to the second video camera, at least one set of peer metadata for the at least one object detection event by the first video camera, wherein the second video camera is configured to determine at least one object detection event corresponding to the object of interest detected by the second video camera; and

receiving, by the first video camera and from the second video camera, at least one set of peer metadata for the at least one object detection event by the second video camera.

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

determining, by the first video camera and based on the peer camera identifier, a network address for the second video camera; and

sending, by the first video camera, an alert message to the network address corresponding to the second video camera, wherein each video camera of the plurality of networked video cameras is configured with:

a corresponding network address for that video camera; and

a corresponding peer camera identifier comprising the corresponding network address for that video camera.

13 . The computer-implemented method of claim 12 , further comprising, responsive to the alert message:

determining, by the second video camera and based on the alert message:

the network address for the first video camera; and

a timestamp corresponding to an object detection event of the second video camera;

determining, by the second video camera and based on the timestamp, a set of peer metadata for the object detection event; and

sending, by the second video camera to the first video camera, the set of peer metadata for the object detection event.

14 . The computer-implemented method of claim 13 , further comprising, responsive to receiving the set of peer metadata for the object detection event:

determining, by the first video camera, at least one video capture parameter from the set of peer metadata;

modifying, by the first video camera and based on the at least one video capture parameter, video capture operations; and

capturing, by the first video camera and using the modified video capture operations, additional video data.

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

modifying, by the first video camera and based on the at least one set of peer metadata for the at least one object detection event by the second video camera, corresponding video capture operations to increase a likelihood of capturing the object of interest at the first video camera; and

modifying, by the second video camera and based on the at least one set of peer metadata for the at least one object detection event by the first video camera, corresponding video capture operations to increase a likelihood of capturing the object of interest at the second video camera.

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

receiving, by the peer metadata datastore, metadata uploads from the plurality of networked video cameras;

storing, by the peer metadata datastore, metadata from the metadata uploads in a key-value memory architecture in a non-volatile memory of the peer metadata datastore;

processing, by the peer metadata datastore, queries from the plurality of networked video cameras against the key-value memory architecture; and

returning, by the peer metadata datastore and responsive to the queries, corresponding responses to the plurality of networked video cameras.

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

comparing a set of metadata in a query to sets of metadata in the key-value memory architecture, wherein:

a key of the key-value memory architecture comprises:

a peer camera identifier; and

a network address corresponding to the peer camera identifier; and

the corresponding responses comprise the network address of a video camera of the networked video cameras corresponding to the set of metadata in that query matching a set of metadata in the key-value memory architecture having a key corresponding to that video camera.

18 . The computer-implemented method of claim 17 , wherein the key of the key-value memory architecture further comprises at least one identifier corresponding to a hierarchical topology of the plurality of networked video cameras.

19 . The computer-implemented method of claim 16 , wherein:

a value of the key-value memory architecture comprises a set of metadata corresponding to an object detection event by a video camera of the plurality of networked video cameras indicated by a corresponding key; and

the set of metadata comprises:

at least one gradient from a video frame corresponding to a detected object of interest in the video frame;

a timestamp for the video frame; and

at least one object tag corresponding to the detected object of interest.

20 . A system, comprising:

a plurality of networked video cameras comprising a first video camera and a second video camera, wherein:

the plurality of networked video cameras is configured for communication over a network; and

each video camera of the plurality of networked video cameras comprises a non-volatile storage medium configured to store video data captured by an image sensor of that video camera;

means for detecting, by the first video camera and from the video data captured by the image sensor of the first video camera, an object of interest;

means for determining, by the first video camera and based on the detected object of interest, a set of metadata corresponding to the object of interest;

means for sending, by the first video camera to a peer metadata datastore over the network, a query comprising selected metadata from the set of metadata, wherein the selected metadata comprises at least one gradient from a video frame corresponding to the detected object of interest in the video frame;

means for receiving, by the first video camera and responsive to the query, a peer camera identifier for a second video camera in the plurality of networked video cameras, wherein the second video camera was identified from the peer metadata datastore based on the at least one gradient corresponding to a stored gradient for a video frame captured by the second video camera; and

means for initiating, by the first video camera and responsive to receiving the peer camera identifier, network communication with the second video camera in the plurality of networked video cameras.