IP Library Granted Patent US 10,395,692
Granted Patent B2
US 10,395,692 · App. 15/846,444 · Granted Aug 27, 2019

Creation of media clips from media broadcasts

Inventors: Nils Oliver Krahnstoever (Brookline, MA); Pawel Jurczyk (Newton, MA)
Assignee: GOOGLE LLC
G11B27/034H04L65/4076H04L65/60H04L65/605H04N5/76H04N5/7605H04N9/8205
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 10,395,692
App. No.
15/846,444
Granted
Aug 27, 2019
Kind
B2
Abstract

According to some implementations of the present disclosure, computer-implemented methods and systems for generating media clips are disclosed. According to some implementations, the method includes receiving an original media stream, transcoding the original media stream into a transcoded media stream, and streaming the transcoded media stream to a user device. The method further includes creating a plurality of media segments that include content of the original media stream and receiving a request to create a media clip from the original media stream from a user device. The request indicates a clip start time and a clip end time defined with respect to the transcoded media stream. The method further includes identifying, from the plurality of media segments, one or more identified media segments corresponding to the clip start time and the clip end time and creating the media clip based on content included in the identified media segments.

Claims (59)

1. A computer-implemented method comprising:

receiving, by a media sharing system from an additional system, an original media stream;

transcoding, by the media sharing system, the original media stream into a transcoded media stream, the transcoded media stream including a plurality of transcoded chunks, the plurality of transcoded chunks being sequential and each respective transcoded chunk having a respective transcoded chunk identifier that identifies the respective transcoded chunk and a transcoded chunk start time, wherein each respective transcoded chunk start time is relative to a start of the transcoded media stream, wherein the transcoded media stream having a lower quality than the original media stream;

streaming, by the media sharing system, the transcoded media stream to a user device;

creating, by the media sharing system, a plurality of media segments that include content of the original media stream, the plurality of media segments are not transcoded from the original media stream;

receiving, by the media sharing system from the user device, a request to create a media clip from the original media stream, the request indicating a clip start time defined with respect to the transcoded media stream and a clip end time defined with respect to the transcoded media stream;

identifying, by the media sharing system from the plurality of media segments, one or more identified media segments corresponding to the clip start time and the clip end time; and

creating, by the media sharing system, the media clip using content included in the identified media segments of the original media stream.

2. The method of claim 1 , wherein:

the clip start time indicates a first transcoded chunk identifier that identifies a first transcoded chunk from the plurality of transcoded chunks and a first transcoded chunk offset within the first transcoded chunk, and

the clip end time indicates a second transcoded chunk identifier that identifies a second transcoded chunk from the plurality of transcoded chunks and a second transcoded chunk offset within the second transcoded chunk.

3. The method of claim 2 , wherein each media segment of the plurality of media segments is comprised of a plurality of media stream chunks, each respective media stream chunk having a respective media stream chunk identifier.

4. The method of claim 3 , wherein identifying the one or more identified media segments corresponding to the clip start time and the clip end time includes:

determining a first media segment chunk based on the first transcoded chunk identifier and the first transcoded chunk offset; and

determining a second media segment chunk based on the second transcoded chunk identifier and the second transcoded chunk offset.

5. The method of claim 4 , wherein creating the media clip includes generating the media clip based on the first media segment chunk, the second media segment chunk, and zero or more additional media segments that are temporally located between a first identified media segment containing the first media segment chunk and a second identified media segment containing the second media segment chunk.

6. The method of claim 2 , wherein identifying the one or more identified media segments corresponding to the clip start time and the clip end time includes:

determining a first identified media segment based on the first transcoded chunk identifier and the first transcoded chunk offset; and

determining a second identified media segment based on the second transcoded chunk identifier and the second transcoded chunk offset.

7. The method of claim 6 , wherein creating the media clip includes generating the media clip based on the first identified media segment, the second identified media segment, and zero or more additional identified media segments that are temporally located between the first identified media segment and the second identified media segment.

8. The method of claim 1 , wherein identifying the one or more identified media segments includes searching the plurality of media segments for any media segments having a segment start time or a segment end time that is within the clip start time and the clip end time.

9. The method of claim 8 , wherein for each identified media segment of the one or more identified media segments:

when the identified media segment has a respective segment start time and a respective segment end time within the clip start time and the clip end time, determining to include the content of the identified media segment in the media clip in its entirety, and

when the identified media segment of the one or more identified media segments has a segment start time or a segment end time that is not within the clip start time and the clip end time, determining one or more media stream chunks of the identified media segment to include in the media clip, wherein the identified media segment includes a plurality of media stream chunks.

10. The method of claim 1 , further comprising:

receiving programming information associated with the original media stream, the programming information indicating at least one of programs included in the original media stream, a start of each of the programs, or an end time of the each of the programs,

the clip start time and the clip end time being unrelated to an identifiable portion of a program of the programs.

11. A media sharing system including one or more processors that execute computer readable instructions that when executed by the one or more processors cause the one or more processors to:

receive an original media stream from an additional system;

stream a transcoded media stream to a user device, wherein the transcoded media stream is transcoded from the original media stream and includes a plurality of transcoded chunks, the plurality of transcoded chunks being sequential and each respective transcoded chunk having a respective transcoded chunk identifier that identifies the respective transcoded chunk and a transcoded chunk start time, wherein the transcoded media stream having a lower quality than the original media stream;

create a plurality of media segments that include content of the original media stream, the plurality of media segments are not transcoded from the original media stream;

receive a request to create a media clip from the original media stream from the user device, the request indicating a clip start time defined with respect to the transcoded media stream and a clip end time defined with respect to the transcoded media stream;

identify one or more identified media segments from the plurality of media segments corresponding to the clip start time and the clip end time;

create the media clip using content included in the identified media segments of the original media stream; and

transmit the media clip to the user device.

12. The media sharing system of claim 11 , wherein:

the clip start time indicates a first transcoded chunk identifier that identifies a first transcoded chunk from the plurality of transcoded chunks and a first transcoded chunk offset within the first transcoded chunk, and

the clip end time indicates a second transcoded chunk identifier that identifies a second transcoded chunk from the plurality of transcoded chunks and a second transcoded chunk offset within the second transcoded chunk.

13. The media sharing system of claim 12 , wherein each media segment of the plurality of media segments is comprised of a plurality of media stream chunks, each respective media stream chunk having a respective media stream chunk identifier.

14. The media sharing system of claim 13 , wherein identifying the one or more identified media segments corresponding to the clip start time and the clip end time includes:

determining a first media segment chunk based on the first transcoded chunk identifier and the first transcoded chunk offset; and

determining a second media segment chunk based on the second transcoded chunk identifier and the second transcoded chunk offset.

15. The media sharing system of claim 14 , wherein creating the media clip includes generating the media clip based on the first media segment chunk, the second media segment chunk, and zero or more additional media segments that are temporally located between a first identified media segment containing the first media segment chunk and a second identified media segment containing the second media segment chunk.

16. The media sharing system of claim 12 , wherein identifying the one or more identified media segments corresponding to the clip start time and the clip end time includes:

determining a first identified media segment based on the first transcoded chunk identifier and the first transcoded chunk offset; and

determining a second identified media segment based on the second transcoded chunk identifier and the second transcoded chunk offset.

17. The media sharing system of claim 16 , wherein creating the media clip includes generating the media clip based on the first identified media segment, the second identified media segment, and zero or more additional identified media segments that are temporally located between the first identified media segment and the second identified media segment.

18. The media sharing system of claim 11 , wherein identifying the one or more identified media segments includes searching the plurality of media segments for any media segments having a segment start time or a segment end time that is within the clip start time and the clip end time.

19. The media sharing system of claim 18 , wherein for each identified media segment of the one or more identified media segments:

when the identified media segment has a respective segment start time and a respective segment end time within the clip start time and the clip end time, determining to include the content of the identified media segment in the media clip in its entirety, and

when the identified media segment of the one or more identified media segments has a segment start time or a segment end time that is not within the clip start time and the clip end time, determining one or more media stream chunks of the identified media segment to include in the media clip, wherein the identified media segment includes a plurality of media stream chunks.

20. A computer-implemented method comprising:

receiving, by a media sharing system from an additional system, an original media stream;

transcoding, by the media sharing system, the original media stream into a transcoded media stream, the transcoded media stream having a lower quality than the original media stream;

streaming, by the media sharing system, the transcoded media stream to a user device;

creating, by the media sharing system, a plurality of media segments that include content of the original media stream, the plurality of media segments are not transcoded from the original media stream;

receiving, by the media sharing system from the user device, a request to create a media clip from the original media stream, the request indicating a clip start time defined with respect to the transcoded media stream and a clip end time defined with respect to the transcoded media stream;

identifying, by the media sharing system from the plurality of media segments, one or more identified media segments corresponding to the clip start time and the clip end time; and

creating, by the media sharing system, the media clip using content included in the identified media segments of the original media stream.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jan 19, 2018
From: GOOGLE INC.; GOOGLE LLC
To: GOOGLE LLC
Reel/Frame 045093/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2018
From: KRAHNSTOEVER, NILS OLIVER; JURCZYK, PAWEL
To: GOOGLE INC.
Reel/Frame 044621/0042 →
Continuity (4)
Continuation 14629285 · Feb 23, 2015
Provisional Application 62108414 · Jan 27, 2015
Provisional Application 61944032 · Feb 24, 2014
Related Publication 20180158485A1 · Jun 7, 2018