US 11,681,752 B2
Systems and methods for searching for events within video content
Kirupakar Janakiraman, Madurai (IN); Baskaran Muthusamy, Bangalore (IN); and Keyurbhai Patel, Bangalore (IN)
Assigned to HONEYWELL INTERNATIONAL INC., Charlotte, NC (US)
Filed by Honeywell International Inc., Morris Plains, NJ (US)
Filed on Feb. 17, 2020, as Appl. No. 16/792,818.
Prior Publication US 2021/0256060 A1, Aug. 19, 2021
Int. Cl. G06F 16/783 (2019.01); G06F 16/78 (2019.01); G06F 16/955 (2019.01); G06F 16/787 (2019.01); G06F 16/732 (2019.01)
CPC G06F 16/7837 (2019.01) [G06F 16/7328 (2019.01); G06F 16/787 (2019.01); G06F 16/7867 (2019.01); G06F 16/955 (2019.01)] 19 Claims
OG exemplary drawing
 
1. A method for searching for one or more events in a plurality of video streams captured and stored at a plurality of remote physical sites, the method comprising:
capturing, from a plurality of cameras, a plurality of video streams, wherein each camera of the plurality of cameras captures a respective video stream of the plurality of video streams, and wherein each camera of the plurality of cameras is located at a respective remote physical site;
storing, for each video stream of the plurality of video streams, the video stream at the remote physical site corresponding to the location of the camera that captured the video stream;
processing each of the plurality of video streams at the remote physical site corresponding to the location of the camera that captured the video stream, wherein processing each of the plurality of video streams identifies one or more objects in the respective video stream and determines one or more object attributes for each of the identified objects, wherein the object attributes include one or more of:
a coordinate position of the respective object within a respective video frame of the respective video stream;
a size of the respective object; and
an association with one or more other objects identified in the respective video stream based at least in part on a distance between the identified objects in the respective video frame and/or time between the identified objects in the respective video stream;
generating, at each remote physical site of the plurality of remote physical sites, time-stamped metadata for each video stream captured at the remote physical site, the time-stamped metadata for each video stream identifying one or more objects captured by the corresponding video stream as well as an identifier that uniquely identifies the corresponding video stream;
wherein, for each of the one or more objects identified in the corresponding video stream, the time-stamped metadata includes an object identifier for the respective object, an object description for the respective object, and one or more of:
an object coordinate position of the respective object in the respective video stream;
an object size of the respective object;
an object association with one or more other objects identified in the video stream based at least in part on a distance between the identified objects in the respective video frame and/or time between the identified objects in the respective video stream;
sending, from each remote physical site of the plurality of remote physical sites, the time-stamped metadata over a network to a central hub located physically remote from the remote physical site while refraining from sending the corresponding video streams stored on the remote physical site over the network to the central hub;
receiving, by the central hub, a query entered by a user via a user device, and providing the query to a video query engine;
the video query engine applying the query to the time-stamped metadata at the central hub while refraining from applying the query to the video streams stored at the remote physical sites;
returning a search result to the user device, wherein the search result identifies one or more matching objects identified by the time-stamped metadata in the plurality of video streams that match the query, and
for each of the one or more objects that match the query, providing a link to the corresponding video stream stored at the corresponding remote physical site and providing a reference time in the corresponding video stream that includes the one or more matching objects;
after returning the search result, initiating the link included in the returned search result, wherein initiation of the link initiates a download of a video clip corresponding to the link from the corresponding remote physical site for viewing at the user device, wherein the video clip includes the one or more matching objects that corresponds to the initiated link; and
displaying the video clip on a display of the user device.