# US 11,115,450 B2 · Systems, methods, and media for playing back protected video content by using top level index file

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,115,450 B2
- Document ID: US11115450B2
- Status: Granted
- Kind: B2
- Application number: 16/703,668
- Filed: 2019-12-04
- Published: 2020-04-02
- Granted: 2021-09-07
- Earliest claimed: 2011-08-31
- Assignees: Divx, LLC
- Applicants: Divx, LLC
- Inventors: Jason Braness; Evan Wallin; Ederson Ferreira
- Web page: https://patentgrep.com/patent/US11115450B2

## CPC

- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- G06F 21/10: Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 65/60: Network streaming of media packets
- H04L 65/61: for supporting one-way streaming services, e.g. Internet radio
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04N 21/2385: Channel allocation (H04N21/266 takes precedence); Bandwidth allocation (H04N21/24 takes precedence {; allocation of channels according to the instantaneous demands of the users in time-division multiplex systems H04J3/1682; admission control, resource allocation in open networks H04L12/5692; arrangements for maintenance or administration in data switching networks involving bandwidth and capacity management H04L41/0896; negotiating bandwidth in wireless networks H04W28/16})
- H04N 21/2393: {involving handling client requests (scheduling or organising the servicing of application requests H04L67/60)}
- H04N 21/2541: {Rights Management (protecting software against unauthorised usage in a vending or licensing environment G06F21/10; security in data switching network management H04L41/28; security management or policies for network security H04L63/20; access security in wireless networks H04W12/08)}
- H04N 21/25825: {involving client display capabilities, e.g. screen resolution of a mobile phone (optimising the visualisation of content during browsing in the Internet G06F16/9577; processing of terminal status or physical abilities in wireless networks H04W8/22; authentication in wireless network security H04W12/06)}
- H04N 21/25841: {involving the geographical location of the client (retrieval from the Internet by querying based on geographical locations G06F16/9537; arrangements for identifying locations of receiving stations in broadcast systems H04H60/51; location of the user terminal in data switching networks H04L67/52; services making use of the location of users or terminals in wireless networks H04W4/02; locating users or terminals in wireless networks H04W64/00)}
- H04N 21/26258: {for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list (retrieval of multimedia data based on playlists G06F16/40)}
- H04N 21/47202: {for requesting content on demand, e.g. video on demand}
- H04N 21/6581: {Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application}
- H04N 21/8352: involving content or source identification data, e.g. Unique Material Identifier [UMID]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## 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

### Claim 1

A non-transitory machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor within a playback device to perform a process comprising:
requesting a top level index file from a playback server using a playback device, where the request identifies a piece of content and includes request information comprising device information describing the playback device and user information describing a user associated with the request;
receiving a top level index file from the playback server using the playback device, where the top level index file (i) describes at least a bitrate of each of a plurality of alternative streams of protected video content associated with the identified piece of content selected based upon the device information describing the playback device and an ability of the playback device to securely play back the protected video content, (ii) identifies the location of the each of the plurality of alternative streams of protected video content, where each of the plurality of alternative streams of protected video content encodes the piece of content at a different bitrate, and (iii) identifies common cryptographic information for accessing the protected video content;
selecting an initial stream of protected video content from the plurality of alternative streams of protected video content using the playback device;
requesting at least a portion of the initial stream of protected video content from the location identified in the top level index file made by the playback device;
receiving the requested at least a portion of the initial stream of protected video content at the playback device;
prior to receiving the requested at least a portion of the initial stream, requesting the common cryptographic information to access the initial stream of protected video content using the playback device from a digital rights management server;
receiving the requested common cryptographic information at the playback device, where the received common cryptographic information is encrypted;
accessing the received common cryptographic information securely;
decrypting the received portion of the initial stream of protected video content using the accessed common cryptographic information; and
playing back the decrypted video content using the playback device.

### Claim 2 (depends on 1)

The non-transitory machine readable medium of claim 1, wherein the plurality of alternative streams includes only streams that the playback device is capable of playing back.

### Claim 3 (depends on 1)

The non-transitory machine readable medium of claim 1, wherein the device information includes information indicative of the geographic location of the playback device.

### Claim 4 (depends on 1)

The non-transitory machine readable medium of claim 1, wherein the top level index file is a SMIL file.

### Claim 5 (depends on 1)

The non-transitory machine readable medium of claim 1, wherein the top level index file describes each of the plurality of alternative streams of protected video content using a plurality of elements including a URI identifying the location of the stream of protected video content.

### Claim 6 (depends on 5)

The non-transitory machine readable medium of claim 5, wherein the plurality of elements includes a SWITCH element that describes alternative streams of protected video content for use in adaptive bitrate streaming.

### Claim 7 (depends on 5)

The non-transitory machine readable medium of claim 5, wherein the plurality of elements includes an EXCL element to describe alternative streams of protected video content for use in conventional streaming.

### Claim 8 (depends on 5)

The non-transitory machine readable medium of claim 5, wherein the URI references a container file and for each of the plurality of alternative streams of protected video content, one of the plurality of elements defines the size of a header section of the container file.

### Claim 9 (depends on 5)

The non-transitory machine readable medium of claim 5, wherein one of the plurality of elements identifies the encoding of the stream of protected video content.

### Claim 10 (depends on 5)

The non-transitory machine readable medium of claim 5, wherein one of the plurality of elements describing a stream of protected video content includes at least one element selected from the group consisting of:
an element that describes a bitrate of a stream of protected video content;
an element that describes the width and height of a protected stream of video content; and
an element that describes a buffer size.

### Claim 11 (depends on 5)

The non-transitory machine readable medium of claim 5, wherein the URI references a container file and, for each of the plurality of alternative streams of protected video content, one of the plurality of elements identifies the location of an index to the location of video chunks within the container file.

### Claim 12 (depends on 1)

The non-transitory machine readable medium of claim 1, wherein the top level index file includes an index to the location of video track chunks within the container file of a stream of protected video content.

### Claim 13

A playback device, comprising:
memory containing information describing the playback device; and
a processor configured by a client application; wherein the client application configures the processor to:
request a top level index file from a playback server, where the request identifies a piece of content and includes request information comprising device information describing the playback device and user information describing a user associated with the request;
receive a top level index file from the playback server, where the top level index file (i) describes at least a bitrate of each of a plurality of alternative streams of protected video content associated with the identified piece of content selected based upon the device information describing the playback device and an ability of the playback device to securely play back the protected video content, (ii) identifies the location of the each of the plurality of alternative streams of protected video content, where each of the plurality of alternative streams of protected video content encodes the piece of content at a different bitrate, and (iii) identifies common cryptographic information for accessing the protected video content;
select an initial stream of protected video content from the plurality of alternative streams of protected video content;
request at least a portion of the initial stream of protected video content from the location identified in the top level index file;
receive the requested at least a portion of the initial stream of protected content;
prior to receiving the requested at least a portion of the initial stream, request common cryptographic information to access the initial stream of protected video content from a digital rights management server;
receive the requested common cryptographic information, where the received common cryptographic information is encrypted;
access the received common cryptographic information securely;
decrypt the received portion of the initial stream of protected content using the common cryptographic information; and
play back the decrypted content.

### Claim 14 (depends on 13)

The playback device of claim 13, wherein the plurality of alternative streams includes only streams that the playback device is capable of playing back.

### Claim 15 (depends on 13)

The playback device of claim 13, wherein the device information includes information indicative of the geographic location of the playback device.

### Claim 16 (depends on 13)

The playback device of claim 13, wherein the top level index file is a SMIL file.

### Claim 17 (depends on 13)

The playback device of claim 13, wherein the top level index file describes each of the plurality of alternative streams of protected video content using a plurality of elements including a URI identifying the location of the stream of protected video content.

### Claim 18 (depends on 17)

The playback device of claim 17, wherein the plurality of elements includes a SWITCH element that describes alternative streams of protected video content for use in adaptive bitrate streaming.

### Claim 19 (depends on 17)

The playback device of claim 17, wherein the plurality of elements includes an EXCL element to describe alternative streams of protected video content for use in conventional streaming.

### Claim 20 (depends on 17)

The playback device of claim 17, wherein the URI references a container file and for each of the plurality of alternative streams of protected video content, one of the plurality of elements defines the size of a header section of the container file.

### Claim 21 (depends on 17)

The playback device of claim 17, wherein one of the plurality of elements identifies the encoding of the stream of protected video content.

### Claim 22 (depends on 17)

The playback device of claim 17, wherein one of the plurality of elements describing a stream of protected video content includes at least one element selected from the group consisting of:
an element that describes a bitrate of a stream of protected video content;
an element that describes the width and height of a protected stream of video content; and
an element that describes a buffer size.

### Claim 23 (depends on 17)

The playback device of claim 17, wherein the URI references a container file and, for each of the plurality of alternative streams of protected video content, one of the plurality of elements identifies the location of an index to the location of video chunks within the container file.

### Claim 24 (depends on 13)

The playback device of claim 13, wherein the top level index file includes an index to the location of video track chunks within the container file of a stream of protected video content.

### Claim 25 (depends on 13)

The playback device of claim 13, wherein the device information comprises at least one selected from the group consisting of playback capabilities of the playback device, a product identifier, a language associated with the playback device, a playback device type.

### Claim 26 (depends on 13)

The playback device of claim 13, wherein the user information comprises user account information.

### Claim 27 (depends on 13)

The playback device of claim 13, wherein accessing the received common cryptographic information comprises using device cryptographic information previously stored on the playback device.

### Claim 28 (depends on 1)

The non-transitory machine readable medium of claim 1, wherein the device information comprises at least one selected from the group consisting of playback capabilities of the playback device, a product identifier, a language associated with the playback device, a playback device type.

### Claim 29 (depends on 1)

The non-transitory machine readable medium of claim 1, wherein the user information comprises user account information.

### Claim 30 (depends on 1)

The non-transitory machine readable medium of claim 1, wherein accessing the received common cryptographic information comprises using device cryptographic information previously stored on the playback device.
