IP Library › Granted Patent US 12,412,395
Granted Patent B2
US 12,412,395 · App. 18/510,823 · Granted Sep 9, 2025

Visual media management for devices

Inventor: Brian Lawrence Repper (Fairfax, VA)
Assignee: RepperTech Systems LLC
G06V20/48G06T7/0002G06V20/46H04N5/77G06T2207/10016G06T2207/30168H04W88/02
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,412,395
App. No.
18/510,823
Granted
Sep 9, 2025
Kind
B2
Abstract

A server includes a processor programmed to: acquire first metadata of a first media file recorded by a first mobile device; acquire second metadata of a second media file recorded by a second mobile device; determine that the first media file and the second medial file are likely recordings of the same event when a similarity exceeds a first threshold. The processor is further programmed to, when the first media file and the second medial file are likely recordings of the same event: determine, based on a comparison between the first media file and the second media file, which of the first media file and the second media file is a higher quality recording of the same event; and when the first media file is the higher quality recording, send a link to the first media file to the second mobile device.

Claims (83)

1. A server comprising:

at least one memory configured to store instructions; and

at least one processor connected to the at least one memory and configured to execute the instructions to:

acquire a first media file and first metadata of the first media file;

acquire a second media file and second metadata of the second media file;

store the first media file, the first metadata, the second media file, and the second metadata in the at least one memory;

determine a similarity between the first media file and the second media file based on a comparison between the first metadata and the second metadata;

determine that the first media file and the second media file are likely recordings of the same event based on the similarity exceeding a first threshold; and

based on a determination that the first media file and the second media file are likely recordings of the same event:

confirm that the first media file and the second media file are recordings of the same event by:

determining a first subject of the first media file and a second subject of the second media file, by analyzing frames within the first media file and the second media file; and

comparing the first subject and the second subject to determine if they are the same subject;

determine, based on a comparison between the first media file and the second media file, which of the first media file and the second media file is a higher quality recording of the same event; and

based on the second media file being the higher quality recording, send a link to the second media file to a mobile device displaying the first media file, a link to the first media file, or a preview of the first media file.

2. The server of claim 1 , wherein the first metadata comprises first location and time information of the first media file, the second metadata comprises second location and time information of the second media file, and the at least one processor is configured to execute the instructions to determine that the similarity exceeds the first threshold based on the first location and time information matching the second location and time information.

3. The server of claim 2 , wherein the first location and time information comprises a first recording location and a first recording time of the first media file, the second location and time information comprises a second recording location and a second recording time of the second media file, and the at least one processor is configured to execute the instructions to determine that the first location and time information matches the second location and time information based on the first recording time overlapping the second recording time, and the first recording location being closer than a distance threshold to the second recording location.

4. The server of claim 1 , wherein the at least one processor is configured to execute the instructions to:

based on the link to the second media file being selected, send the second media file to the mobile device.

5. The server of claim 1 , wherein the at least one processor is configured to execute the instructions to compare the first subject and the second subject to determine if they are the same subject by:

assigning first keypoints to the first subject;

locating second keypoints, corresponding to the first keypoints, on the second subject; and

based on a number of the second keypoints exceeding a threshold, determining that the first subject and the second subject are the same subject.

6. The server of claim 5 , wherein the at least one processor is configured to execute the instructions to determine which of the first media file and the second media file is the higher quality recording of the same event by:

obtaining a first pixel distance between two of the first keypoints;

obtaining a second pixel distance between two of the second keypoints corresponding to the two of the first keypoints; and

based on the second pixel distance being higher than the first pixel distance, determining that the second media file is the higher quality recording.

7. The server of claim 1 , wherein the at least one processor is configured to execute the instructions to determine which of the first media file and the second media file is the higher quality recording of the same event by:

assigning a first bounding box to the first subject;

assigning a second bounding box to the second subject; and

based on the second bounding box being larger than the first bounding box, determining that the second media file is the higher quality recording.

8. The server of claim 1 , wherein the at least one processor is configured to execute the instructions to analyze first center regions of the frames within the first media file and second center regions of the frames within the second media file to determine the first subject and the second subject, respectively, by:

identifying at least one first object in the first center regions;

determining that the at least one first object is the first subject if it is in the first center regions for a majority of a recording time of the first media file;

identifying at least one second object in the second center regions; and

determining that the at least one second object is the second subject if it is in the second center regions for a majority of a recording time of the second media file.

9. The server of claim 1 , wherein the at least one processor is configured to execute the instructions to, after acquiring the first media file and the second media file, confirm that the first media file and the second media file are recordings of the same event by:

comparing audio recordings in the first media file and the second media file at corresponding time points; and

based on a similarity in the audio recordings exceeding a threshold, confirming that the first media file and the second media file are recordings of the same event.

10. The server of claim 1 , wherein the first metadata comprises a description of the first subject, and the second metadata comprises a description of the second subject, and the at least one processor is configured to execute the instructions to determine that the similarity exceeds the first threshold based on the description of the first subject and the description of the second subject matching.

11. A device comprising:

at least one memory configured to store:

instructions;

a first media file;

first metadata of the first media file;

a second media file; and

second metadata of the second media file;

a display; and

at least one processor connected to the at least one memory and the display, the at least one processor being configured to execute the instructions to:

determine a similarity between the first media file and the second media file based on a comparison between the first metadata and the second metadata;

determine that the first media file and the second media file are likely recordings of the same event based on the similarity exceeding a first threshold; and

based on a determination that the first media file and the second media file are likely recordings of the same event:

confirm that the first media file and the second media file are recordings of the same event by:

determining a first subject of the first media file and a second subject of the second media file, by analyzing frames within the first media file and the second media file; and

comparing the first subject and the second subject to determine if they are the same subject;

determine, based on a comparison between the first media file and the second media file, which of the first media file and the second media file is a higher quality recording of the same event;

based on the first media file being the higher quality recording, instruct the display to display a link to the first media file; and

based on the second media file being the higher quality recording, instruct the display to display a link to the second media file.

12. The device of claim 11 , wherein the first metadata comprises first location and time information of the first media file, the second metadata comprises second location and time information of the second media file, and the at least one processor is configured to execute the instructions to determine that the similarity exceeds the first threshold based on the first location and time information matching the second location and time information.

13. The device of claim 12 , wherein the first location and time information comprises a first recording location and a first recording time of the first media file, the second location and time information comprises a second recording location and a second recording time of the second media file, and the at least one processor is configured to execute the instructions to determine that the first location and time information matches the second location and time information based on the first recording time and the second recording time overlapping, and the first recording location being closer than a distance threshold to the second recording location.

14. The device of claim 11 , wherein the at least one processor is configured to execute the instructions to:

instruct the display to display a preview of the first media file or the second media file.

15. The device of claim 11 , wherein the at least one processor is configured to execute the instructions to compare the first subject and the second subject to determine if they are the same subject by:

assigning first keypoints to the first subject;

locating second keypoints, corresponding to the first keypoints, on the second subject; and

based on a number of the second keypoints exceeding a threshold, determining that the first subject and the second subject are the same subject.

16. The device of claim 15 , wherein the at least one processor is configured to execute the instructions to determine which of the first media file and the second media file is the higher quality recording of the same event by:

obtaining a first pixel distance between two of the first keypoints;

obtaining a second pixel distance between two of the second keypoints corresponding to the two of the first keypoints; and

based on the second pixel distance being higher than the first pixel distance, determining that the second media file is the higher quality recording.

17. The device of claim 11 , wherein the at least one processor is configured to execute the instructions to determine which of the first media file and the second media file is the higher quality recording of the same event by:

assigning a first bounding box to the first subject;

assigning a second bounding box to the second subject;

based on the first bounding box being larger than the second bounding box, determining that the first media file is the higher quality recording; and

based on the second bounding box being larger than the first bounding box, determining that the second media file is the higher quality recording.

18. The device of claim 11 , wherein the at least one processor is configured to execute the instructions to analyze first center regions of the frames within the first media file and second center regions of the frames within the second media file to determine the first subject and the second subject, respectively, by:

identifying at least one first object in the first center regions;

determining that the at least one first object is the first subject if it is in the first center regions for a majority of a recording time of the first media file;

identifying at least one second object in the second center regions; and

determining that the at least one second object is the second subject if it is in the second center regions for a majority of a recording time of the second media file.

19. The device of claim 11 , wherein the at least one processor is configured to execute the instructions to confirm that the first media file and the second media file are recordings of the same event by:

comparing audio recordings in the first media file and the second media file at corresponding time points; and

based on a similarity in the audio recordings exceeding a threshold, confirming that the first media file and the second media file are recordings of the same event.

20. The device of claim 11 , wherein the first metadata comprises a description of the first subject, and the second metadata comprises a description of the second subject, and the at least one processor is configured to execute the instructions to determine that the similarity exceeds the first threshold based on the description of the first subject and the description of the second subject matching.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2025
From: REPPER, BRIAN LAWRENCE
To: REPPERTECH SYSTEMS LLC
Reel/Frame 069935/0328 →
Continuity (3)
Continuation 18182540 · Mar 13, 2023
Continuation 17567501 · Jan 3, 2022
Related Publication 20240087320A1 · Mar 14, 2024
References Cited (25)
US 8228372B2 · Griffin · 2012 [cited by examiner]
US 8365233B2 · Kondo et al. · 2013 [cited by applicant]
US 8892572B2 · Sanjeev · 2014 [cited by applicant]
US 8896694B2 · O'Donnell et al. · 2014 [cited by applicant]
US 8953895B2 · Kawanishi et al. · 2015 [cited by applicant]
US 9881085B2 · Tan · 2018 [cited by applicant]
US 10068022B2 · Pilpel et al. · 2018 [cited by applicant]
US 10165333B2 · Patel et al. · 2018 [cited by applicant]
US 10567508B2 · Ambar · 2020 [cited by examiner]
US 10650650B2 · Siminoff · 2020 [cited by examiner]
US 10942816B1 · Gu et al. · 2021 [cited by applicant]
US 10984641B2 · Modestine · 2021 [cited by examiner]
US 11106715B1 · Ju · 2021 [cited by examiner]
US 11258921B2 · Holland · 2022 [cited by applicant]
US 11281735B2 · Hughes et al. · 2022 [cited by applicant]
US 11509949B2 · May, Jr. et al. · 2022 [cited by applicant]
US 11625430B2 · Bates · 2023 [cited by applicant]
US 11676383B2 · Subramanian et al. · 2023 [cited by applicant]
US 12023133B2 · Park · 2024 [cited by examiner]
US 20030172114A1 · Leung · 2003 [cited by applicant]
US 20110167357A1 · Benjamin et al. · 2011 [cited by applicant]
US 20160371286A1 · Danovitz et al. · 2016 [cited by applicant]
US 20190207814A1 · Jain · 2019 [cited by examiner]
US 20220107777A1 · Magi et al. · 2022 [cited by applicant]
US 20230164442A1 · Kim · 2023 [cited by applicant]