IP Library Granted Patent US 10,154,075
Granted Patent B2
US 10,154,075 · App. 15/658,057 · Granted Dec 11, 2018

Systems and methods for automatically generating top level index files

Inventors: Jason Braness (San Diego, CA); Evan Wallin (San Diego, CA); Ederson Ferreira (Campinas/SP, BR)
Assignee: DIVX, LLC
H04L65/602G06F21/10H04L63/0428H04L65/4069H04L65/60H04L67/06H04N21/2385H04N21/2393H04N21/2541H04N21/25825H04N21/25841H04N21/26258H04N21/47202H04N21/6581H04N21/8352
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,154,075
App. No.
15/658,057
Granted
Dec 11, 2018
Kind
B2
Abstract

Systems and methods for automatically generating top level index files for use in adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment of the method of the invention includes receiving a request from a playback device at a playback server, where the request identifies a piece of content, retrieving a list of assets associated with the identified piece of content using the playback server, filtering the list of assets using at least one predetermined criterion using the playback server, generating a top level index file describing each asset in the filtered list of assets using the playback server, and sending the top level index file to the playback device using the playback server.

Claims (32)

1. A method for streaming a piece of content at a playback server, comprising:

storing information for a plurality of alternative video streams corresponds with a specific piece of content, wherein the information comprises, for each of the plurality of alternative video streams, a width, a height, a video bitrate, an audio bitrate, and an encoding element identifying the encoding of the video stream;

receiving a request for content from a playback device, wherein the request comprises:

an electronic token to obtain access to the content, information indicative of a geographic location of the playback device, and device information related to the playback, device;

determining a set of alternative video streams from the plurality of alternative video streams to return based on the request;

generating a top level index file describing each of the set of alternative video streams, wherein the top level index the describes the assets that are best suited to playback on the playback device;

retrieving cryptographic information, where the cryptographic information is used to access protected streams described in the top level index file; and

providing the cryptographic information and the top level index file to the playback device using the playback server.

2. The method of claim 1 wherein the information indicative of the geographic location is an I.P. address of the playback device.

3. The method of claim 1 , further comprising denying access to the content based on the electronic token received from the requesting device.

4. The method of claim 1 , wherein determining the set of alternative video streams to return further comprises filtering the plurality of alternative video streams based on business rules defined by the content owner.

5. The method of claim 1 , wherein determining the set of alternative video streams to return further comprises filtering the plurality of alternative video streams based on information associated with a user account.

6. The method of claim 1 , wherein determining the set of alternative video streams to return further comprises filtering the plurality of alternative video streams based on a country in which the playback device is located.

7. The method of claim 1 , wherein a plurality of alternative video streams corresponds with a piece of content are at different maximum bitrates.

8. The method of claim 1 , wherein a plurality of alternative video stream corresponds with a piece of content are at different resolutions.

9. The method of claim 1 , wherein a plurality of alternative video stream corresponds with a piece of content are at different frame rates.

10. The method of claim 1 , wherein the device information comprises information regarding playback capabilities of the playback device.

11. The method of claim 1 , wherein the device information comprises information selected from the group consisting of information regarding a display aspect ratio of the playback device, information regarding a network connection data rate of the playback device, information regarding playback capabilities of the playback device, information regarding a device language, and information regarding a device region.

12. The method of claim 1 , wherein the device information comprises a product identifier.

13. The method of claim 1 , wherein determining the set of alternative video streams to return based on the device information comprises determining the set of alternative video streams that are best suited to playback on the playback device.

14. The method of claim 1 , further comprising determining playback capabilities of the playback device based on the device information.

15. The method of claim 1 , wherein providing the cryptographic information and the top level index file to the playback device using the playback server further comprises using a Secure Socket Layer (SSL) communication to forward the top level index file.

16. The method of claim 1 , further comprising determining a delivery type based on the request.

17. The method of claim 16 , wherein the delivery type is selected from the group consisting of a cellular data network and a high speed Internet connection.

18. The method of claim 1 , wherein determining the set of alternative video streams to return based on the device information comprises excluding alternative video streams that are not capable of being played back by the playback device.

19. The method of claim 18 , wherein the alternative video streams that are not capable of being played back by the playback device are streams selected from the group consisting of streams encoded in unsupported formats, streams that use buffer sizes that are not supported by the playback device, streams with profiles not supported by the playback device, and streams that the playback device is not securely capable of playing back.

20. The method of claim 1 , wherein determining the set of alternative video streams to return based on the device information comprises excluding alternative video streams that are not permitted to be played back on the playback device.

21. The method of claim 20 , wherein an alternative video streams is not permitted to be played back on the playback device based on a specific geographic location of the playback device.

22. The method of claim 1 , wherein the top level index file is an XML file that includes a list of URIs describing each of the streams and the container files that contain the streams.

23. The method of claim 22 , wherein the URI includes information regarding a system-bitrate of the stream and Information regarding the location of specific pieces of data within the container file.

24. The method of claim 1 , wherein the cryptographic information is provided from a digital rights management (DRM) server.

25. The method of claim 1 , further comprising setting a time period during which the content can be accessed by the playback device.

Assignments (5)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 5, 2019
From: DIVX, LLC
To: DIVX, LLC
Reel/Frame 050407/0104 →
CHANGE OF NAME Recorded Mar 5, 2018
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 045498/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: SONIC IP, INC.; DIVX, LLC
To: DIVX CF HOLDINGS LLC
Reel/Frame 045310/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2017
From: BRANESS, JASON; WALLIN, EVAN; FERREIRA, EDERSON
To: DIVX, LLC
Reel/Frame 044086/0851 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2017
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 044086/0867 →
Continuity (5)
Continuation 15009593 · Jan 28, 2016
Continuation 14336392 · Jul 21, 2014
Continuation 13341789 · Dec 30, 2011
Provisional Application 61529403 · Aug 31, 2011
Related Publication 20170324793A1 · Nov 9, 2017
Cited By (1)
US 12,250,257