IP Library Granted Patent US 9,794,615
Granted Patent B2
US 9,794,615 · App. 14/830,318 · Granted Oct 17, 2017

Broadcast management system

Inventor: Nicholas D. Woodman (Woodside, CA)
Assignee: GoPro, Inc.
H04N21/4307G11B27/10H04N5/765H04N21/2187H04N21/21805H04N21/242H04N21/26258H04N21/278H04N21/2743H04N21/435H04N21/4394H04N21/44008H04N21/4828H04N21/8547H04N5/77
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,794,615
App. No.
14/830,318
Granted
Oct 17, 2017
Kind
B2
Abstract

A broadcast management system creates, manages, and streams a broadcast of an event from videos captured from multiple cameras. A video capture system comprising multiple cameras captures videos of the event and transmits the videos to a broadcast management server. The broadcast management server generates a website or other graphical interface that simultaneously displays the captured videos in a time-synchronized manner. A broadcast manager user creates a broadcast by selecting which video to output to the broadcast at any given time. A broadcast map is stored for each broadcast that includes all of the broadcast decisions made by the broadcast manager user such that the broadcast can be recreated at a later time by applying the broadcast map to the raw videos. Using a viewer client, viewers can browse or search for broadcasts and select a broadcast for viewing.

Claims (71)

1. A method for playing a broadcast, the method comprising:

storing, by a video database, a plurality of videos including a set of videos indexed to an event;

storing, by a broadcast map database, a plurality of broadcast maps including at least two broadcast maps associated with the event and created from the set of videos, the at least two broadcast maps each storing respective sequences of instructions indicating different timing of transitions between the set of videos indexed to the event;

receiving a selection of a broadcast map from the at least two broadcast maps associated with the event;

starting a timer, the timer tracking an amount of time elapsed into the broadcast;

determining based on a first entry in the broadcast map, a first identifier for a first video file in the set of videos, a first elapsed time into the broadcast, and a first start point in the first video file;

responsive to the timer reaching the first elapsed time, streaming, by a processing device, the first video file to a viewer client starting at the first start point in the first video file;

determining based on a second entry in the broadcast map, a second identifier for a second video file in the set of videos, a second elapsed time into the broadcast, and a second start point in the second video file;

responsive to the timer reaching the second elapsed time, stopping streaming of the first video file and streaming the second video file to the viewer client starting at the second start point in the second video file;

reading a third entry from the broadcast map, the third entry referencing an audio voiceover stream and a third elapsed time; and

outputting the audio voiceover stream to the viewer client responsive to the time reaching the third elapsed time, the audio voiceover stream outputted concurrently with streaming of the second video file.

2. The method of claim 1 , further comprising:

reading a fourth entry from the broadcast map indicating a volume change to the audio voiceover stream and a fourth elapsed time into the broadcast; and

modifying a volume of the audio voiceover stream based on the volume change responsive to the timer reaching the fourth elapsed time.

3. The method of claim 1 , further comprising:

reading a fifth entry from the broadcast map, the fifth entry referencing a replay at a fifth elapsed time and a replay segment of the first video file; and

outputting the replay segment of the first video file to the viewer client responsive to the time reaching the fifth elapsed time.

4. The method of claim 1 , wherein determining the first start point comprises:

reading the first start point from the first entry in the broadcast map.

5. The method of claim 1 , wherein determining the first start point comprises:

extracting, from metadata associated with the first video file, a timestamp indicative of a capture start time of the first video file relative to the universal clock; and

calculating the first start point based on the capture start time and the first elapsed time specified in the broadcast map.

6. A non-transitory computer-readable storage medium storing computer-executable instructions for playing a broadcast, the instructions when executed causing a processor to perform steps including:

storing, by a video database, a plurality of videos including a set of videos indexed to an event;

storing, by a broadcast map database, a plurality of broadcast maps including at least two broadcast maps associated with the event and created from the set of videos, the at least two broadcast maps each storing respective sequences of instructions indicating different timing of transitions between the set of videos indexed to the event;

receiving a selection of a broadcast map from the at least two broadcast maps associated with the event;

starting a timer, the timer tracking an amount of time elapsed into the broadcast;

determining based on a first entry in the broadcast map, a first identifier for a first video file in the set of videos, a first elapsed time into the broadcast, and a first start point in the first video file;

responsive to the timer reaching the first elapsed time, streaming, by a processing device, the first video file to a viewer client starting at the first start point in the first video file;

determining based on a second entry in the broadcast map, a second identifier for a second video file in the set of videos, a second elapsed time into the broadcast, and a second start point in the second video file;

responsive to the timer reaching the second elapsed time, stopping streaming of the first video file and streaming the second video file to the viewer client starting at the second start point in the second video file;

reading a third entry from the broadcast map, the third entry referencing an audio voiceover stream and a third elapsed time; and

outputting the audio voiceover stream to the viewer client responsive to the time reaching the third elapsed time, the audio voiceover stream outputted concurrently with streaming of the second video file.

7. The non-transitory computer-readable storage medium of claim 6 , the instructions when executed further causing the processor to perform steps including:

reading a fourth entry from the broadcast map indicating a volume change to the audio voiceover stream and a fourth elapsed time into the broadcast; and

modifying a volume of the audio voiceover stream based on the volume change responsive to the timer reaching the fourth elapsed time.

8. The non-transitory computer-readable storage medium of claim 6 , further comprising:

reading a fifth entry from the broadcast map, the fifth entry referencing a replay at a fifth elapsed time and a replay segment of the first video file; and

outputting the replay segment of the first video file to the viewer client responsive to the time reaching the fifth elapsed time.

9. The non-transitory computer-readable storage medium of claim 6 , wherein

determining the first start point comprises:

reading the first start point from the first entry in the broadcast map.

10. The non-transitory computer-readable storage medium of claim 6 , wherein

determining the first start point comprises:

extracting, from metadata associated with the first video file, a timestamp indicative of a capture start time of the first video file relative to the universal clock; and

calculating the first start point based on the capture start time and the first elapsed time specified in the broadcast map.

11. A system comprising:

a processor; and

a non-transitory computer-readable storage medium storing computer-executable instructions for playing a broadcast, the instructions when executed causing a processor to perform steps including:

storing, by a video database, a plurality of videos including a set of videos indexed to an event;

storing, by a broadcast map database, a plurality of broadcast maps including at least two broadcast maps associated with the event and created from the set of videos, the at least two broadcast maps each storing respective sequences of instructions indicating different timing of transitions between the set of videos indexed to the event;

receiving a selection of a broadcast map from the at least two broadcast maps associated with the event;

starting a timer, the timer tracking an amount of time elapsed into the broadcast;

determining based on a first entry in the broadcast map, a first identifier for a first video file in the set of videos, a first elapsed time into the broadcast, and a first start point in the first video file;

responsive to the timer reaching the first elapsed time, streaming, by a processing device, the first video file to a viewer client starting at the first start point in the first video file;

determining based on a second entry in the broadcast map, a second identifier for a second video file in the set of videos, a second elapsed time into the broadcast, and a second start point in the second video file;

responsive to the timer reaching the second elapsed time, stopping streaming of the first video file and streaming the second video file to the viewer client starting at the second start point in the second video file;

reading a third entry from the broadcast map, the third entry referencing an audio voiceover stream and a third elapsed time; and

outputting the audio voiceover stream to the viewer client responsive to the time reaching the third elapsed time, the audio voiceover stream outputted concurrently with streaming of the second video file.

12. The system of claim 11 , the instructions when executed further

causing the processor to perform steps including:

reading a fourth entry from the broadcast map indicating a volume change to the audio voiceover stream and a fourth elapsed time into the broadcast; and

modifying a volume of the audio voiceover stream based on the volume change responsive to the timer reaching the fourth elapsed time.

13. The system of claim 11 , further comprising:

reading a fifth entry from the broadcast map, the fifth entry referencing a replay at a fifth elapsed time and a replay segment of the first video file; and

outputting the replay segment of the first video file to the viewer client responsive to the time reaching the fifth elapsed time.

14. The system of claim 11 , wherein determining the first start point comprises:

reading the first start point from the first entry in the broadcast map.

15. The system of claim 11 , wherein determining the first start point comprises:

extracting, from metadata associated with the first video file, a timestamp indicative of a capture start time of the first video file relative to the universal clock; and

calculating the first start point based on the capture start time and the first elapsed time specified in the broadcast map.

Assignments (6)
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 Feb 9, 2018
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044983/0718 →
SECURITY AGREEMENT Recorded Mar 28, 2016
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 038184/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 24, 2015
From: WOODMAN, NICHOLAS D.
To: WOODMAN LABS, INC.
Reel/Frame 037359/0889 →
MERGER Recorded Dec 24, 2015
From: WOODMAN LABS, INC. (A CALIFORNIA CORPORATION)
To: WOODMAN LABS, INC. (A DELAWARE CORPORATION)
Reel/Frame 037359/0892 →
CHANGE OF NAME Recorded Dec 24, 2015
From: WOODMAN LABS, INC.
To: GOPRO, INC.
Reel/Frame 037372/0587 →
Continuity (4)
Division 14072319 · Nov 5, 2013
Continuation 13104921 · May 10, 2011
Provisional Application 61334055 · May 12, 2010
Related Publication 20150358671A1 · Dec 10, 2015