IP Library Granted Patent US 9,967,515
Granted Patent B1
US 9,967,515 · App. 15/183,667 · Granted May 8, 2018

Systems and methods for bidirectional speed ramping

Inventor: Joshua Bodinet (San Diego, CA)
Assignee: GoPro, Inc.
H04N5/783G11B27/005G11B27/19H04N5/91
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 9,967,515
App. No.
15/183,667
Granted
May 8, 2018
Kind
B1
Abstract

Electronic information defining visual content within video frames may be accessed. Video frames may be ordered in a source sequence. Positions in the source sequence may be associated with playback directions. Video frames may be ordered in a playback sequence based on the playback directions. The playback sequence may characterize a playback order in which video frames are displayed during playback. Video frames in the playback sequence may be associated with playback speeds. The playback speeds may determine perceived speeds with which visual content is displayed during playback. Speed ramped video frames may be determined based on the playback sequence and the playback speeds. A speed ramped video may be generated based on the speed ramped video frames.

Claims (41)

1. A system for bidirectional speed ramping, the system comprising:

one or more physical processors configured by machine-readable instructions to:

access electronic information stored in a storage medium, the electronic information defining visual content within video frames for playback, the video frames ordered in a source sequence;

associate one or more positions in the source sequence with one or more playback directions, the playback directions including a forward playback direction and a reverse playback direction, wherein associating the one or more positions in the source sequence with the one or more playback directions includes associating a first position in the source sequence with the forward playback direction and associating a second position in the source sequence with the reverse playback direction;

order the video frames in a playback sequence based on the one or more playback directions, the playback sequence characterizing a playback order in which one or more of the video frames in the playback sequence are displayed during playback;

associate one or more of the video frames in the playback sequence with one or more playback speeds, the one or more playback speeds determining one or more perceived speeds with which one or more of the video frames in the playback sequence are displayed during playback;

determine speed ramped video frames to be included in a speed ramped video based on the playback sequence and the one or more playback speeds; and

generate the speed ramped video based on the speed ramped video frames.

2. The system of claim 1 , wherein the source sequence characterizes a source order corresponding a sequence in which the visual content occurred at capture.

3. The system of claim 1 , wherein ordering the video frames in the playback sequence includes designating one of the video frames in the source sequence as a first video frame in the playback sequence and designating one of the video frames in the source sequence as a last video frame in the playback sequence.

4. The system of claim 1 , wherein ordering the video frames in the playback sequence includes excluding one or more of the video frames in the source sequence from the playback sequence.

5. The system of claim 1 , wherein determining the speed ramped video frames includes identifying one or more playback positions in the playback sequence based on the one or more playback speeds, the one or more playback positions corresponding to the speed ramped video frames.

6. The system of claim 5 , wherein determining the speed ramped video frames further includes, responsive to a playback position aligning with a position of a video frame in the source sequence, using the video frame in the source sequence as the speed ramped video frame.

7. The system of claim 5 , wherein determining the speed ramped video frames further includes, responsive to a playback position not aligning with a position of a video frame in the source sequence, using two of the video frames in the source sequence to determine an interpolated video frame for the playback position.

8. The system of claim 5 , wherein determining the speed ramped video frames further includes, responsive to a playback position not aligning with a position of a video frame in the source sequence, using one of the video frames in the source sequence to determine a duplicated video frame for the playback position.

9. The system of claim 5 , wherein determining the speed ramped video frames further includes modifying one or more of the video frames to include motion blur.

10. A method for bidirectional speed ramping, the method comprising:

accessing electronic information stored in a storage medium, the electronic information defining visual content within video frames for playback, the video frames ordered in a source sequence;

associating one or more positions in the source sequence with one or more playback directions, the playback directions including a forward playback direction and a reverse playback direction, wherein associating the one or more positions in the source sequence with the one or more playback directions includes associating a first position in the source sequence with the forward playback direction and associating a second position in the source sequence with the reverse playback direction;

ordering the video frames in a playback sequence based on the one or more playback directions, the playback sequence characterizing a playback order in which one or more of the video frames in the playback sequence are displayed during playback;

associating one or more of the video frames in the playback sequence with one or more playback speeds, the one or more playback speeds determining one or more perceived speeds with which one or more of the video frames in the playback sequence are displayed during playback;

determining speed ramped video frames to be included in a speed ramped video based on the playback sequence and the one or more playback speeds; and

generating the speed ramped video based on the speed ramped video frames.

11. The method of claim 10 , wherein the source sequence characterizes a source order corresponding a sequence in which the visual content occurred at capture.

12. The method of claim 10 , wherein ordering the video frames in the playback sequence includes designating one of the video frames in the source sequence as a first video frame in the playback sequence and designating one of the video frames in the source sequence as a last video frame in the playback sequence.

13. The method of claim 10 , wherein ordering the video frames in the playback sequence includes excluding one or more of the video frames in the source sequence from the playback sequence.

14. The method of claim 10 , wherein determining the speed ramped video frames includes identifying one or more playback positions in the playback sequence based on the one or more playback speeds, the one or more playback positions corresponding to the speed ramped video frames.

15. The method of claim 14 , wherein determining the speed ramped video frames further includes, responsive to a playback position aligning with a position of a video frame in the source sequence, using the video frame in the source sequence as the speed ramped video frame.

16. The method of claim 14 , wherein determining the speed ramped video frames further includes, responsive to a playback position not aligning with a position of a video frame in the source sequence, using two of the video frames in the source sequence to determine an interpolated video frame for the playback position.

17. The method of claim 14 , wherein determining the speed ramped video frames further includes, responsive to a playback position not aligning with a position of a video frame in the source sequence, using one of the video frames in the source sequence to determine a duplicated video frame for the playback position.

18. The method of claim 14 , wherein determining the speed ramped video frames further includes modifying one or more of the video frames to include motion blur.

19. A system for bidirectional speed ramping, the system comprising:

one or more physical processors configured by machine-readable instructions to:

access electronic information stored in a storage medium, the electronic information defining visual content within video frames for playback, the video frames ordered in a source sequence;

associate one or more positions in the source sequence with one or more playback directions, the playback directions including a forward playback direction and a reverse playback direction, wherein associating the one or more positions in the source sequence with the one or more playback directions includes associating a first position in the source sequence with the forward playback direction and associating a second position in the source sequence with the reverse playback direction;

order the video frames in a playback sequence based on the one or more playback directions, the playback sequence characterizing a playback order in which one or more of the video frames in the playback sequence are displayed during playback, wherein ordering the video frames in the playback sequence includes designating one of the video frames in the source sequence as a first video frame in the playback sequence and designating one of the video frames in the source sequence as a last video frame in the playback sequence;

associate one or more of the video frames in the playback sequence with one or more playback speeds, the one or more playback speeds determining one or more perceived speeds with which one or more of the video frames in the playback sequence are displayed during playback;

determine speed ramped video frames to be included in a speed ramped video based on the playback sequence and the one or more playback speeds, wherein determining the speed ramped video frames includes identifying one or more playback positions in the playback sequence based on the one or more playback speeds, the one or more playback positions corresponding to the speed ramped video frames; and

generate the speed ramped video based on the speed ramped video frames.

20. The system of claim 19 , wherein determining the speed ramped video frames further includes:

responsive to a playback position not aligning with a position of a video frame in the source sequence, using two of the video frames in the source sequence to determine an interpolated video frame for the playback position.

Assignments (6)
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 →
RELEASE OF PATENT SECURITY INTEREST Recorded Jan 25, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: GOPRO, INC.
Reel/Frame 055106/0434 →
SECURITY INTEREST Recorded Sep 5, 2018
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 047016/0417 →
SECURITY AGREEMENT Recorded Aug 29, 2016
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 039851/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2016
From: BODINET, JOSHUA
To: GOPRO, INC.
Reel/Frame 038924/0287 →