US 12,238,446 B2
Location-based frame skipping
Vanshika Shyamala Reddy, Fairfax, VA (US); Nicholas Patrick Skacel, Ashburn, VA (US); and Son Bach Nguyen, Broadlands, VA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed on Dec. 22, 2022, as Appl. No. 18/087,684.
Prior Publication US 2024/0214509 A1, Jun. 27, 2024
Int. Cl. H04N 5/262 (2006.01); B64C 39/02 (2023.01); B64U 20/87 (2023.01); B64U 101/31 (2023.01); G06T 7/70 (2017.01); H04N 5/915 (2006.01)
CPC H04N 5/2624 (2013.01) [B64C 39/024 (2013.01); B64U 20/87 (2023.01); G06T 7/70 (2017.01); H04N 5/915 (2013.01); B64U 2101/31 (2023.01); G06T 2207/10016 (2013.01); G06T 2207/10032 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a processing system; and
computer-readable storage media storing instructions that, when executed by the processing system, cause the system to perform operations comprising:
receiving a sequence of frames from video captured by a camera surveilling a scene, wherein a respective frame in the sequence of frames is associated with a respective location of the camera at a time when the camera captures the respective frame;
designating a first frame in the sequence of frames as a first distinct frame;
adding the first distinct frame to a set of frames for subsequent processing;
storing a location associated with the first frame in a table;
for each of one or more initial frames following the first frame in the sequence of frames, performing image analysis to identify a second frame for which the first frame and the second frame have less than a threshold amount of content overlap;
learning a location delta threshold based on the location associated with the first frame and a location associated with the second frame;
designating the second frame as a second distinct frame;
adding the second distinct frame to the set of frames for subsequent processing;
storing the location associated with the second frame in the table;
determining a first location delta for a subsequent frame in the sequence of frames based on a location associated with the subsequent frame and the locations stored in the table;
determining that the first location delta is not greater than the location delta threshold;
in response to determining that the first location delta is not greater than the location delta threshold, designating the subsequent frame as a duplicate frame;
determining a second location delta for another subsequent frame in the sequence of frames based on a location associated with the other subsequent frame and the locations stored in the table;
determining that the second location delta is greater than the location delta threshold;
in response to determining that the second location delta is greater than the location delta threshold:
designating the other subsequent frame as a third distinct frame;
adding the third distinct frame to the set of frames for subsequent processing, wherein a number of frames in the set of frames is less than a number of frames in the sequence of frames; and
storing the location associated with the other subsequent frame in the table.