IP Library Granted Patent US 10,091,265
Granted Patent B2
US 10,091,265 · App. 15/170,169 · Granted Oct 2, 2018

Catching up to the live playhead in live streaming

Inventors: Euan McLeod (Columbia, MO); Marc Joliveau (Seattle, WA); Stefan Christian Richter (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L65/604H04L65/4084H04L65/80
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,091,265
App. No.
15/170,169
Granted
Oct 2, 2018
Kind
B2
Abstract

Techniques are described for reducing the delay between the live playhead of live streaming content and the client playhead of a client device consuming the live stream. In one technique, an increased playback speed is used by the media player on the client device so that the delay is gradually reduced. In another technique, the media player jumps forward in the stream, skipping content identified as expendable.

Claims (44)

1. A computer program product, comprising one or more non-transitory computer-readable media having computer program instructions stored therein, the computer program instructions being configured such that, when executed by one or more computing devices, the computer program instructions cause the one or more computing devices to:

acquire a stream of live video content for playback on a client device, the stream of the live video content including a plurality of video fragments;

identify one or more rebuffering events on the client device;

determine a delay between a live playhead of the live video content and a client playhead associated with the playback of the live video content on the client device based on the one or more rebuffering events;

determine that the delay exceeds a threshold;

identify one or more expendable portions of the live video content using content metadata associated with at least some of the video fragments of the live video content, the content metadata associated with the expendable portions of the live video content representing that the expendable portions of the live video content include one or more of one or more black frames, one or more slate frames, a portion of credits, a portion of an opening montage, a portion of a closing montage, or a portion of a commercial break; and

skip playback of at least one of the one or more expendable portions of the live video content, thereby reducing the delay.

2. The computer program product of claim 1 , wherein the content metadata is associated with the live video content by a human operator after generation of the live video content.

3. The computer program product of claim 1 , wherein the one or more processors are configured to determine the delay between the live playhead and the client playhead by determining a cumulative time for recovering from the one or more rebuffering events.

4. A client device, comprising:

memory;

an output device; and

one or more processors configured, in conjunction with the memory, to:

acquire a stream of content for playback on the output device;

determine based on one or more rebuffering events that a delay between a live playhead of the content and a client playhead associated with the playback of the content exceeds a first threshold;

explicitly identify an expendable portion of the content as being expendable content, wherein the expendable content includes one or more of one or more black frames, one or more slate frames, a portion of credits, a portion of an opening montage, a portion of a closing montage, or a portion of a commercial break; and

skip playback of the expendable portion of the content.

5. The client device of claim 4 , wherein the one or more processors are configured to identify the expendable portion of the content (1) using first content metadata associated with one or more fragments of the content by a content provider of the content, (2) using second content metadata associated with one or more fragments of the content by a human operator after generation of the content, or (3) by analyzing one or more frames or fragments of the content substantially in real time.

6. The client device of claim 4 , wherein the one or more processors are further configured to increase a playback speed of the content.

7. The client device of claim 6 , wherein the one or more processors are configured to increase the playback speed of the content in response to the delay exceeding a second threshold, the second threshold being lower than the first threshold.

8. The client device of claim 4 , wherein the one or more processors are further configured to:

determine that the delay has dropped below a second threshold, the second thresholding being lower than the first threshold; and

terminate skipping of the expendable content.

9. The client device of claim 4 , wherein the one or more processors are further configured to determine the delay based on the one or more rebuffering events or using time stamps associated with fragments or frames of the content.

10. A computer-implemented, comprising:

acquiring a stream of content for playback;

determining based on one or more rebuffering events that a delay between a live playhead of the content and a client playhead associated with the playback of the content exceeds a first threshold;

explicitly identifying an expendable portion of the content as expendable content, wherein the expendable content includes one or more of one or more black frames, one or more slate frames, a portion of credits, a portion of an opening montage, a portion of a closing montage, or a portion of a commercial break; and

skipping playback of the expendable portion of the content.

11. The method of claim 10 , wherein identifying the expendable portion of the content includes (1) using first content metadata associated with one or more fragments of the content by a content provider of the content, (2) using second content metadata associated with one or more fragments of the content by a human operator after generation of the content, or (3) analyzing one or more frames or fragments of the content substantially in real time.

12. The method of claim 10 , wherein the expendable portion of the content comprises black frames, slate frames, credits, an opening montage, a closing montage, a commercial break, a break in action, a replay review, a time out, or substantially static content.

13. The method of claim 10 , further comprising increasing a playback speed of the content.

14. The method of claim 13 , wherein increasing the playback speed of the content occurs in response to the delay exceeding a second threshold, the second threshold being different than the first threshold.

15. The method of claim 10 , further comprising:

determining that the delay has dropped below a second threshold, the second threshold being lower than the first threshold; and

terminating skipping of the expendable content.

16. The method of claim 10 , further comprising determining the delay based on the one or more rebuffering events or using time stamps associated with fragments or frames of the content.

17. A computer-implemented method, comprising:

receiving content from a live content source;

encoding the content for streaming to client devices, including associating fragment metadata with portions of the content, the fragment metadata identifying the portions of the content with which the fragment metadata are associated as expendable content; and

streaming the content to the client devices, at least some of the client devices being configured to use the fragment metadata to skip playback of the portions of the content identified as expendable content.

18. The method of claim 17 , wherein associating the fragment metadata with portions of the content includes (1) using first fragment metadata associated with the content before the content was received, (2) using second fragment metadata associated with the content by a human operator after the content was received, or (3) analyzing the content substantially in real time.

19. The method of claim 17 , further comprising determining a delay between a live playhead of the content and a client playhead associated with the playback of the content on a first client device.

20. The method of claim 19 , wherein determining the delay includes comparing a first time stamp associated with a first fragment of the content requested by the first client device with a second time stamp associated with a second fragment of the content available for streaming to the client devices, or with a third time stamp associated with a third fragment requested by one or more other client devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2016
From: MCLEOD, EUAN; JOLIVEAU, MARC; RICHTER, STEFAN CHRISTIAN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 039961/0455 →
Continuity (1)
Related Publication 20170353519A1 · Dec 7, 2017