IP Library Granted Patent US 9,270,720
Granted Patent B2
US 9,270,720 · App. 14/336,392 · Granted Feb 23, 2016

Systems and methods for automatically generating top level index files

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,270,720
App. No.
14/336,392
Granted
Feb 23, 2016
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 (35)

1. A method of generating a top level index file, comprising:

receiving a request from a playback device at a playback server system, where the request (i) identifies a piece of content and (ii) includes a product identifier;

retrieving, using the playback server system, (i) a list of assets associated with the identified piece of content and (ii) at least one device capability based upon the product identifier, wherein each asset is a different stream associated with the piece of content;

filtering the list of assets using the at least one device capability using the playback server system, wherein the playback server system maintains a database of product identifiers and associated device capabilities;

generating a top level index file describing each asset in the filtered list of assets using the playback server system; and

sending the top level index file to the playback device using the playback server system, wherein the top level index file is used by the playback device to determine which assets to request for playback on the device.

2. The method of claim 1 further comprising filtering the list of assets based upon at least one of a geographic location of the playback device, a language associated with the playback device, one or more user preferences, and one or more requirements of a content owner.

3. The method of claim 1 , wherein the at least one device capability is at least one of a: display aspect ratio, anticipated maximum network connection data rate, device outputs, supported formats, device buffer size, device resolution, device region, and device language.

4. The method of claim 1 , wherein the playback server system maintains a database of assets associated with specific pieces of content.

5. The method of claim 1 , wherein the top level index file describes at least a bitrate of each asset in the filtered list of assets and identifies locations of the assets in the filtered list of assets.

6. The method of claim 5 , wherein the top level index file is a SMIL file.

7. The method of claim 6 , further comprising generating an XML string including a SWITCH element to describe alternative streams for use in adaptive bitrate streaming.

8. The method of claim 6 , further comprising generating an XML string including an EXCL element to describe alternative streams for use in conventional streaming.

9. The method of claim 6 further comprising generating an XML string including a URI for each asset, wherein the URI references a container file and the XML string for each assets includes an element that defines the size of a header section of the container file.

10. The method of claim 6 , wherein the XML string includes an element that identifies the encoding of the asset.

11. The method of claim 6 , wherein the XML string of a video asset includes at least one element selected from the group consisting of:

an element that describes the maximum bitrate of the video;

an element that describes the width and height of the video; and

an element that describes the video buffer verifier size of the video.

12. The method of claim 1 , wherein each asset is a different alternative stream associated with the piece of content and each alternative stream encodes the piece of content at a different maximum bitrate.

13. A playback server system, comprising:

a database that stores descriptions of assets associated with specific pieces of content;

a database that stores a plurality of product identifiers and associated device capabilities;

a processor configured using a playback management application;

wherein the playback management application configures the processor to:

receive a request from a playback device, where the request (i) identifies a piece of content and (ii) includes a product identifier;

retrieve (i) a list of assets associated with the identified piece of content and (ii) at least one device capability based upon the product identifier, wherein each asset is a different stream associated with the piece of content;

filter the list of assets using the at least one device capability;

generate a top level index file describing each asset in the filtered list of assets; and

send the top level index file to the playback device, wherein the top level index file is used by the playback device to determine which assets to request for playback on the device.

14. The playback server system of claim 13 , wherein the playback management application further configures the processor to filter the list of assets based upon at least one of a geographic location of the playback device, a language associated with the playback device, one or more user preferences, and one or more requirements of a content owner.

15. The playback server system of claim 13 , wherein the at least one device capability is least one of a: display aspect ratio, anticipated maximum network connection data rate, device outputs, supported formats, device buffer size, device resolution, device region, and device language.

16. The playback server system of claim 13 , wherein the top level index file describes at least a bitrate of each asset in the filtered list of assets and identifies locations of the assets in the filtered list of assets.

17. The playback server system of claim 16 , wherein the top level index file is a SMIL file that is an XML file that includes a list of URIs describing each of the different streams associated with the piece of content and container files that contain the streams.

18. The playback server system of claim 13 , wherein each asset is a different alternative stream associated with the piece of content and each alternative stream encodes the piece of content at a different maximum bitrate.

Assignments (5)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Feb 28, 2019
From: DIVX, LLC
To: DIVX, LLC
Reel/Frame 050096/0715 →
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 Jul 30, 2014
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 033421/0696 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2014
From: BRANESS, JASON; WALLIN, EVAN; FERREIRA, EDERSON
To: DIVX, LLC
Reel/Frame 033401/0121 →