IP Library › Granted Patent US 10,277,928
Granted Patent B1
US 10,277,928 · App. 14/876,449 · Granted Apr 30, 2019

Dynamic manifests for media content playback

Inventors: Marc Joliveau (Seattle, WA); Nicholas James Benson (Seattle, WA); Justin Michael Binns (Auburn, WA); Kenneth Thomas Burford (Seattle, WA); Stefan Christian Richter (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04N21/2385G11B27/10H04N21/2393H04N21/23439H04N21/25808H04N21/25891H04N21/26258H04N21/8456
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,277,928
App. No.
14/876,449
Filed
Oct 6, 2015
Granted
Apr 30, 2019
Kind
B1
Art Unit
2425
USPC
725/93
Abstract

Techniques are described for generating manifest files for media content playback. A server can dynamically generate manifest files with a selection of quality levels indicated as being available for playback. Factors such as device characteristics, playback history, and more can be used to generate the manifest files.

Claims (40)

1. A computer implemented method, comprising:

receiving, by a server, a first indication that a first viewer device has requested media content;

selecting, by the server, data representing fragments of the media content at a first plurality of quality levels;

generating, by the server, first manifest data representing playback options of the media content at the first plurality of quality levels based on characteristics of the first viewer device, each of the first plurality of quality levels being associated with one of a first plurality of request formats for requesting fragments of the media content, each of the plurality of request formats corresponding to playback of the requested media content corresponding to the first indication, a first quality level of the first plurality of quality levels being associated with a first request format in the first plurality of request formats, the first request format representing a fragment of the media content that is at a quality level different than the first quality level;

providing, by the server, the first manifest data for playback of the media content at the first viewer device;

receiving a first request from the first viewer device for a first fragment corresponding to a first segment of the media content, the first request having been generated by the first viewer device to obtain a fragment at the first quality level of the first plurality of quality levels represented in the first manifest data;

providing to the first viewer device, in accordance with the first manifest data, a second fragment corresponding to the first segment of the media content, the second fragment corresponding to a second quality level of the first plurality of quality levels represented in the first manifest data that is lower than the first quality level represented in the first manifest data;

receiving, by the server, a second indication that a second viewer device has requested the media content;

selecting, by the server, data representing fragments of the media content at a second plurality of quality levels;

generating, by the server, second manifest data representing playback options of the media content at the second plurality of quality levels based on characteristics of the second viewer device, the second plurality of quality levels including a different set of quality levels than the second plurality of quality levels; and

providing, by the server, the second manifest data for playback of the media content at the second viewer device;

receiving a second request from the second viewer device for a third fragment corresponding to a second segment of the media content, the second request having been generated by the second viewer device to obtain a fragment at a third quality level of the second plurality of quality levels represented in the second manifest data;

providing to the second viewer device, in accordance with the second manifest data, a fourth fragment corresponding to the second segment of the media content, the fourth fragment corresponding to a fourth quality level of the second plurality of quality levels represented in the second manifest data that is higher than the third quality level represented in the second manifest data.

2. The computer implemented method of claim 1 , wherein the fragments of the first and second pluralities of quality levels correspond to segments of a video portion of the playback of the media content, and the quality levels correspond to different bitrates of the playback of the media content.

3. The computer implemented method of claim 1 , wherein the first plurality of quality levels is selected based at least in part on a determination that the first viewer device is a first device type, and the second plurality of quality levels is selected based at least in part on a determination that the second viewer device is a second device type, the first device type and the second device type being different.

4. The computer implemented method of claim 1 , wherein the first plurality of quality levels is selected based at least in part on a playback history corresponding to the first viewer device, and the second plurality of quality levels is selected based at least in part on a playback history corresponding to the second viewer device.

5. A computing device, comprising:

one or more processors and memory configured to:

receive a first indication that a first viewer device has requested media content;

generate first manifest data representing playback options of the media content at a first plurality of quality levels selected based on characteristics of the first viewer device, each of the first plurality of quality levels being associated with one of a plurality of request formats for requesting fragments of the media content, each of the plurality of request formats corresponding to playback of the requested media content corresponding to the first indication, a first quality level of the first plurality of quality levels being associated with a first request format in the plurality of request formats, the first request format representing a fragment of the media content that is at a quality level different than the first quality level;

provide the first manifest data for playback of the media content at the first viewer device;

receive a first request from the first viewer device for a first fragment corresponding to a first segment of the media content, the first request having been generated by the first viewer device to obtain a fragment at the first quality level of the first plurality of quality levels represented in the first manifest data;

provide to the first viewer device, in accordance with the first manifest data, a second fragment corresponding to the first segment of the media content, the second fragment corresponding to a second quality level of the first plurality of quality levels represented in the first manifest data that is different than the first quality level represented in the first manifest data.

6. The computing device of claim 5 , wherein the first plurality of quality levels has a different number of quality levels than the second plurality of quality levels.

7. The computing device of claim 5 , wherein the first and second manifest data include data representing fragments corresponding to segments of a video portion of the playback of the media content, and the quality levels correspond to different bitrates corresponding to playback of the media content.

8. The computing device of claim 5 , wherein the first plurality of quality levels is based at least in part on a determination that the first viewer device is a first device type, and the second plurality of quality levels is based at least in part on a determination that the second viewer device is a second device type, the first device type and the second device type being different.

9. The computing device of claim 5 , wherein the first plurality of quality levels is based at least in part on a playback history corresponding to the first viewer device, and the second plurality of quality levels is based at least in part on a playback history corresponding to the second viewer device.

10. The computing device of claim 5 , wherein the first plurality of quality levels is based at least in part on characteristics of the first indication, and second plurality of quality levels is based at least in part on characteristics of the second indication.

11. 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:

receive a first indication that a first viewer device has requested media content;

generate first manifest data representing playback options of the media content at a first plurality of quality levels selected based on characteristics of the first viewer device, each of the first plurality of quality levels being associated with one of a plurality of request formats for requesting fragments of the media content, each of the plurality of request formats corresponding to playback of the requested media content corresponding to the first indication, a first quality level of the first plurality of quality levels being associated with a first request format in the plurality of request formats, the first request format representing a fragment of the media content that is at a quality level different than the first quality level;

provide the first manifest data for playback of the media content at the first viewer device;

receive a first request from the first viewer device for a first fragment corresponding to a first segment of the media content, the first request having been generated by the first viewer device to obtain a fragment at the first quality level of the first plurality of quality levels represented in the first manifest data;

provide to the first viewer device, in accordance with the first manifest data, a second fragment corresponding to the first segment of the media content, the second fragment corresponding to a second quality level of the first plurality of quality levels represented in the first manifest data that is different than the first quality level represented in the first manifest data.

12. The computer program product of claim 11 , wherein the first plurality of quality levels has a different number of quality levels than the second plurality of quality levels.

13. The computer program product of claim 11 , wherein the first and second manifest data include data representing fragments corresponding to segments of a video portion of the playback of the media content, and the quality levels correspond to different bitrates corresponding to playback of the media content.

14. The computer program product of claim 11 , wherein the first plurality of quality levels is based at least in part on a determination that the first viewer device is a first device type, and the second plurality of quality levels is based at least in part on a determination that the second viewer device is a second device type, the first device type and the second device type being different.

15. The computer program product of claim 11 , wherein the first plurality of quality levels is based at least in part on a playback history corresponding to the first viewer device, and the second plurality of quality levels is based at least in part on a playback history corresponding to the second viewer device.

16. The computer program product of claim 11 , wherein the first plurality of quality levels is based at least in part on characteristics of the first indication, and second plurality of quality levels is based at least in part on characteristics of the second indication.

17. The computer implemented method of claim 1 , wherein the second quality level corresponds to a higher bit rate or lower bit rate than the first quality level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2015
From: JOLIVEAU, MARC; BENSON, NICHOLAS JAMES; BINNS, JUSTIN MICHAEL; BURFORD, KENNETH THOMAS; RICHTER, STEFAN CHRISTIAN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 037215/0378 →
Cited By (5)
US 12,235,842 US 12,238,056 US 12,261,844 US 12,342,013 US 12,593,055