IP Library Granted Patent US 12,243,307
Granted Patent B2
US 12,243,307 · App. 18/465,619 · Granted Mar 4, 2025

Scene and activity identification in video summary generation

Inventors: David A. Newman (San Diego, CA); Adam Silver (San Carlos, CA)
Assignee: GoPro, Inc.
G06V20/47G06T7/246G06V20/41G10L15/063G10L15/22G10L25/57G11B27/002G11B27/031G11B27/10G11B27/13G11B27/22G11B27/28G11B27/3081G11B27/34H04N5/77H04N5/772H04N5/91H04N9/8205H04N13/172H04N13/178H04N19/513H04N21/2353H04N21/8549H04N23/60H04N23/62G06V20/44G06V40/15G06V40/179G06V2201/10G10L2015/0631G10L2015/223G10L25/54H04N2201/3228H04N2201/3229H04N2201/3256
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,243,307
App. No.
18/465,619
Granted
Mar 4, 2025
Kind
B2
Abstract

Video and corresponding metadata is accessed. Events of interest within the video are identified based on the corresponding metadata, and best scenes are identified based on the identified events of interest. A video summary can be generated including one or more of the identified best scenes. The video summary can be generated using a video summary template with slots corresponding to video clips selected from among sets of candidate video clips. Best scenes can also be identified by receiving an indication of an event of interest within video from a user during the capture of the video. Metadata patterns representing activities identified within video clips can be identified within other videos, which can subsequently be associated with the identified activities.

Claims (60)

1. A system configured to generate a video summary, the system comprising:

a video server connected to a client device over a network, the video server configured to:

access metadata for a video captured by a camera, the metadata for the video including motion data of the camera generated by a motion sensor of the camera, the motion data including speed and/or acceleration vectors representative of motion of the camera during the capture of the video, the camera carried by a user during the capture of the video;

analyze the metadata for the video to identify scenes of the video, wherein the analysis of the metadata for the video includes:

generation of scores for the scenes based on the speed and/or acceleration vectors of the camera associated with the scenes of the video; and

identification of jumps and/or crashes by the user carrying the camera during the capture of the video based on the speed and/or acceleration vectors of the camera associated with the scenes of the video;

rank the scenes of the video for potential inclusion in the video summary based on the scores for the scenes and the identification of jumps and/or crashes by the user carrying the camera during the capture of the video, wherein a given scene is ranked among other scenes for potential inclusion in the video summary based on a given score for the given scene and whether the user jumped or crashed within the given scene;

select one or more of the scenes of the video for inclusion in the video summary based on the ranking of the scenes of the video;

generate a video file for the video summary that includes the one or more selected scenes of the video; and

provide the video file of the video summary over the network to the client device for playback of the video summary on the client device.

2. The system of claim 1 , wherein:

the metadata for the video further includes time stamps representing capture times for the video; and

the scenes of the video are identified based on corresponding capture time of the scenes being within a threshold time of a pre-determined time and indicating the scenes as having been captured within the threshold time of the pre-determined time.

3. The system of claim 2 , wherein:

the metadata for the video further includes capture locations for the video; and

the scenes of the video are identified further based on corresponding capture location for the scenes being within a threshold distance of a pre-determined location and indicating the scenes as having been captured within the threshold distance of the pre-determined location.

4. The system of claim 2 , wherein:

the metadata for the video further includes capture locations for the video; and

the scenes of the video are identified further based on corresponding capture location for the scenes being within a threshold distance of a person and indicating the scenes as having been captured within the threshold distance of the person.

5. The system of claim 1 , wherein the scenes of the video are ranked further based on lengths of the scenes, with longer scenes being ranked higher than shorter scenes.

6. The system of claim 1 , wherein the scenes of the video are ranked further based on types of the metadata used to identify the scenes of the video.

7. The system of claim 6 , wherein a first scene is ranked higher than a second scene based on the first scene being identified based on camera velocity and the second scene being identified based on user heart rate.

8. The system of claim 1 , wherein the scenes of the video are ranked further based on activities associated with the scenes of the video.

9. The system of claim 1 , wherein the client device includes a mobile device.

10. A method for generating a video summary, the method performed by a video server, the video server connected to a client device over a network, the method comprising:

accessing, by the video server, metadata for a video captured by a camera, the metadata for the video including motion data of the camera generated by a motion sensor of the camera, the motion data including speed and/or acceleration vectors representative of motion of the camera during the capture of the video, the camera carried by a user during the capture of the video;

analyzing, by the video server, the metadata for the video to identify scenes of the video, wherein the analysis of the metadata for the video includes:

generation of scores for the scenes based on the speed and/or acceleration vectors of the camera associated with the scenes of the video; and

identification of jumps and/or crashes by the user carrying the camera during the capture of the video based on the speed and/or acceleration vectors of the camera associated with the scenes of the video;

ranking, by the video server, the scenes of the video for potential inclusion in the video summary based on the scores for the scenes and the identification of jumps and/or crashes by the user carrying the camera during the capture of the video, wherein a given scene is ranked among other scenes for potential inclusion in the video summary based on a given score for the given scene and whether the user jumped or crashed within the given scene;

selecting, by the video server, one or more of the scenes of the video for inclusion in the video summary based on the ranking of the scenes of the video;

generating, by the video server, a video file for the video summary that includes the one or more selected scenes of the video; and

providing, by the video server, the video file of the video summary over the network to the client device for playback of the video summary on the client device.

11. The method of claim 10 , wherein:

the metadata for the video further includes time stamps representing capture times for the video; and

the scenes of the video are identified based on corresponding capture time of the scenes being within a threshold time of a pre-determined time and indicating the scenes as having been captured within the threshold time of the pre-determined time.

12. The method of claim 11 , wherein:

the metadata for the video further includes capture locations for the video; and

the scenes of the video are identified further based on corresponding capture location for the scenes being within a threshold distance of a pre-determined location and indicating the scenes as having been captured within the threshold distance of the pre-determined location.

13. The method of claim 11 , wherein:

the metadata for the video further includes capture locations for the video; and

the scenes of the video are identified further based on corresponding capture location for the scenes being within a threshold distance of a person and indicating the scenes as having been captured within the threshold distance of the person.

14. The method of claim 10 , wherein the scenes of the video are ranked further based on lengths of the scenes, with longer scenes being ranked higher than shorter scenes.

15. The method of claim 10 , wherein the scenes of the video are ranked further based on types of the metadata used to identify the scenes of the video.

16. The method of claim 15 , wherein a first scene is ranked higher than a second scene based on the first scene being identified based on camera velocity and the second scene being identified based on user heart rate.

17. The method of claim 10 , wherein the scenes of the video are ranked further based on activities associated with the scenes of the video.

18. The method of claim 10 , wherein the client device includes a mobile device.

19. A system configured to generate a video summary, the system comprising:

a video server connected to a mobile device over a network, the video server configured to:

access metadata for a video captured by a camera, the metadata for the video including motion data of the camera generated by a motion sensor of the camera, the motion data including speed and/or acceleration vectors representative of motion of the camera during the capture of the video, the camera carried by a user during the capture of the video;

analyze the metadata for the video to identify scenes of the video, wherein the analysis of the metadata for the video includes:

generation of scores for the scenes based on the speed and/or acceleration vectors of the camera associated with the scenes of the video; and

identification of jumps and/or crashes by the user carrying the camera during the capture of the video based on the speed and/or acceleration vectors of the camera associated with the scenes of the video;

rank the scenes of the video for potential inclusion in the video summary based on the scores for the scenes, lengths of the scenes, and the identification of jumps and/or crashes by the user carrying the camera during the capture of the video, wherein a given scene is ranked among other scenes for potential inclusion in the video summary based on a given score for the given scene, a given length of the given scene, and whether the user jumped or crashed within the given scene;

select one or more of the scenes of the video for inclusion in the video summary based on the ranking of the scenes of the video;

generate a video file for the video summary that includes the one or more selected scenes of the video; and

provide the video file of the video summary over the network to the mobile device for playback of the video summary on the mobile device.

20. The system of claim 19 , wherein:

ranking of the scenes of the video based on the lengths of the scenes includes longer scenes being ranked higher than scenes; and

the scenes of the video are ranked further based on types of the metadata used to identify the scenes of the video, ranking of the scenes based on the types of the metadata used to identify the scenes includes a first scene being ranked higher than a second scene based on the first scene being identified based on camera velocity and the second scene being identified based on user heart rate.

Assignments (3)
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: FARALLON CAPITAL MANAGEMENT, L.L.C., AS AGENT
Reel/Frame 072340/0676 →
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 072358/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2023
From: NEWMAN, DAVID A.; SILVER, ADAM
To: GOPRO, INC.
Reel/Frame 064878/0162 →