News Column

Patent Issued for Systems and Methods for Automatically Genenrating Top Level Index Files

August 5, 2014



By a News Reporter-Staff News Editor at Information Technology Newsweekly -- Sonic IP, Inc. (Santa Clara, CA) has been issued patent number 8787570, according to news reporting originating out of Alexandria, Virginia, by VerticalNews editors.

The patent's inventors are Braness, Jason (San Diego, CA); Wallin, Evan (San Diego, CA); Ferreira, Ederson (Campinas/SB, BR).

This patent was filed on December 30, 2011 and was published online on July 22, 2014.

From the background information supplied by the inventors, news correspondents obtained the following quote: "The term streaming media describes the playback of media on a playback device, where the media is stored on a server and continuously sent to the playback device over a network during playback. Typically, the playback device stores a sufficient quantity of media in a buffer at any given time during playback to prevent disruption of playback due to the playback device completing playback of all the buffered media prior to receipt of the next portion of media. Adaptive bit rate streaming or adaptive streaming involves detecting the present streaming conditions (e.g. the playback device's network bandwidth and video decoding capacity) in real time and adjusting the quality of the streamed media accordingly. Typically, the source media is encoded as separate streams having different maximum bitrates and the playback device or client switches between streaming the different encodings depending on available resources. When a playback device commences adaptive bitrate streaming, the playback device typically starts by requesting portions of media from an initial set of streams. As the playback device downloads the requested media, the playback device can measure the available bandwidth. In the event that the available bandwidth increases or decreases, the playback device can switch to higher or lower bitrate streams.

"Adaptive streaming solutions typically utilize Hypertext Transfer Protocol (HTTP), published by the Internet Engineering Task Force and the World Wide Web Consortium as RFC 2616, to stream media between a server and a playback device. HTTP is a stateless protocol that enables a playback device to request a byte range within a file. HTTP is described as stateless, because the server is not required to record information concerning the state of the playback device requesting information or the byte ranges requested by the playback device in order to respond to requests received from the playback device.

"In adaptive streaming systems, the source media is typically stored on a media server as a top level index file pointing to a number of alternate streams that contain the actual video and audio data. Each stream is typically stored in one or more container files. Different adaptive streaming solutions typically utilize different index and media containers. The Synchronized Multimedia Integration Language (SMIL) developed by the World Wide Web Consortium is utilized to create indexes in several adaptive streaming solutions including IIS Smooth Streaming developed by Microsoft Corporation of Redmond, Wash., and Flash Dynamic Streaming developed by Adobe Systems Incorporated of San Jose, Calif. HTTP Adaptive Bitrate Streaming developed by Apple Computer Incorporated of Cupertino, Calif. implements index files using an extended M3U playlist file (.M3U8), which is a text file containing a list of URIs that typically identify a media container file. The most commonly used media container formats are the MP4 container format specified in MPEG-4 Part 14 (i.e. ISO/IEC 14496-14) and the MPEG transport stream (TS) container specified in MPEG-2 Part 1 (i.e. ISO/IEC Standard 13818-1). The MP4 container format is utilized in IIS Smooth Streaming and Flash Dynamic Streaming. The TS container is used in HTTP Adaptive Bitrate Streaming."

Supplementing the background information on this patent, VerticalNews reporters also obtained the inventors' summary information for this patent: "Systems and methods in accordance with embodiments of the invention automatically generate top level index files for use in adaptive bitrate streaming. 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.

"In a further embodiment of the method of the invention, the request from the playback device also includes information describing the capabilities of the playback device, and the playback server filters the list of assets based upon the capabilities of the playback device.

"In another embodiment of the method of the invention, the information describing the capabilities of the playback device is a product identifier, and the method further including retrieving at least one device capability based upon the product identifier using the playback server.

"In a still further embodiment of the method of the invention, the device capability is at least one device capability selected from the group consisting of: display aspect ratio, anticipated maximum network connection data rate, device outputs, supported formats, device buffer size, device resolution, device region, and device language.

"In still another embodiment of the method of the invention, the at least one predetermined criterion includes whether the playback device has access to assets associated with premium content.

"In a yet further embodiment of the method of the invention, the request from the playback device also includes information indicative of the geographic location of the playback device, and the at least one predetermined criterion includes whether an asset is permitted to be played back in the geographic location indicated by the request.

"In yet another embodiment of the method of the invention, the at least one predetermined criterion includes filtering the assets based upon at least one language.

"In a further embodiment again of the method of the invention, the playback server maintains a database of assets associated with specific pieces of content.

"In another embodiment again of the method of the invention, the top level index file is a SMIL file.

"In a further additional embodiment of the method of the invention, generating a top level index file describing each asset in the filtered list of assets using the playback server includes generating an XML string including a URI for each asset.

"Another additional embodiment of the method of the invention also includes generating an XML string including a SWITCH element to describe alternative streams for use in adaptive bitrate streaming.

"A still yet further embodiment of the method of the invention also includes generating an XML string including an EXCL element to describe alternative streams for use in conventional streaming.

"In still yet another embodiment of the method of the invention, 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.

"In a still further embodiment again of the method of the invention, the XML string includes an element that identifies the encoding of the asset.

"In another embodiment again of the method of the invention, the XML string of a video asset includes at least one element selected from the group including 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.

"A still further additional 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, sending the top level index file to the playback device using the playback server, retrieving cryptographic information using the playback server, where the cryptographic information is used to access protected streams described in the top level index file, and providing the cryptographic information to the playback device using the playback server.

"In still another additional embodiment of the method of the invention, the cryptographic information is retrieved by the playback server in response to a request from a playback device to playback the content.

"In a yet further embodiment again of the method of the invention, the cryptographic information is retrieved by the playback server from a database of cryptographic information and is encrypted so that the playback device can access the cryptographic information using cryptographic information stored on the playback device.

"In yet another embodiment again of the method of the invention, the cryptographic information is retrieved by the playback server from a digital rights management server.

"A yet further additional embodiment of the method of the invention also includes confirming that the number of devices on which the user is currently playing back content is less than a predetermined concurrency limit.

"Yet another additional embodiment of the method of the invention also includes receiving a play event report from the playback device at the playback server.

"A further additional embodiment again of the method of the invention also includes providing a command to the playback device using the playback server in response to the play event report.

"In another additional embodiment again of the method of the invention, the play event report includes a playback location.

"A still yet further embodiment again of the method of the invention also includes sending a command to resume playback at the playback location indicated in the play event report to a second playback device.

"Still yet another embodiment again of the method of the invention also includes sending a command to stop playback to the playback device that generated the play event report using the playback server.

"A further embodiment of the invention includes a database that stores descriptions of assets associated with specific pieces of content, and a processor configured using a playback management application. In addition, the playback management application configures the processor to: receive a request from a playback device identifying a piece of content; retrieve a list of assets associated with the identified piece of content; filter the list of assets using at least one predetermined criterion; 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.

"Another embodiment includes the request from the playback device also includes information describing the capabilities of the playback device, and the playback management application configures the processor to filter the list of assets based upon the capabilities of the playback device.

"In a still further embodiment, the information describing the capabilities of the playback device is a product identifier, and the playback management application further configures the processor to retrieve at least one device capability based upon the product identifier.

"In still another embodiment, wherein the device capability is at least one device capability selected from the group consisting of: display aspect ratio, anticipated maximum network connection data rate, device outputs, supported formats, device buffer size, display resolution, device region, and device language.

"In a yet further embodiment, the at least one predetermined criterion includes whether the playback device has access to assets associated with premium content.

"In yet another embodiment, the request from the playback device also includes information indicative of the geographic location of the playback device, and the at least one predetermined criterion includes whether an asset is permitted to be played back in the geographic location indicated by the request.

"In a further embodiment again, the at least one predetermined criterion includes filtering the assets based upon one or more languages.

"In another embodiment again, the playback server maintains a database of assets associated with specific pieces of content.

"In a further additional embodiment, the top level index file is a SMIL file.

"In another additional embodiment, the playback management application configures the processor to generate a top level index file describing each asset in the filtered list of assets by configuring the processor to generate an XML string including a URI for each asset.

"In a still yet further embodiment, the playback management application further configures the processor to generate an XML string including a SWITCH element to describe alternative streams for use in adaptive bitrate streaming.

"In still yet another embodiment, the playback management application further configures the processor to generate an XML string including an EXCL element to describe alternative streams for use in conventional streaming.

"In a still further embodiment again, the URI references a container file and the XML string for each asset includes an element that defines the size of a header section of the container file.

"In still another embodiment again, the XML string includes an element that identifies the encoding of the asset.

"In a still further additional embodiment, the XML string of a video asset includes at least one element selected from the group including 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.

"In still another additional embodiment, playback management application further configures the processor to retrieve cryptographic information, where the cryptographic information is used to access protected streams described in the top level index file, and provide the cryptographic information to the playback device.

"In a yet further embodiment again, the playback management application configures the processor to retrieve the cryptographic information in response to a request from a playback device to playback the content.

"In yet another embodiment again, the playback management application configures the processor to retrieve the cryptographic information from a database of cryptographic information, and encrypt the retrieved cryptographic information so that the playback device can access the retrieved cryptographic information in the clear using cryptographic information stored on the playback device.

"In a yet further additional embodiment, the playback management application configures the processor to retrieve the cryptographic information from a digital rights management server.

"In yet another additional embodiment, the playback management application configures the processor to confirm that the number of devices on which the user is playing back content is less than a predetermined concurrency limit.

"In a further additional embodiment again, the playback management application configures the processor to receive a play event report from the playback device.

"In another additional embodiment again, the playback management application configures the processor to provide a command to the playback device in response to the play event report.

"In a still yet further embodiment again, the play event report includes a playback location.

"In still yet another embodiment again, the playback management application further configures the processor to send a command to resume playback at the playback location indicated in the play event report to a second playback device.

"In a yet further additional embodiment again, the playback management application further configures the processor to send a command to stop playback to the playback device that generated the play event report using the playback server.

"Another further embodiment includes a machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process including receiving a request from a playback device identifying a piece of content, retrieving a list of assets associated with the identified piece of content, filtering the list of assets using at least one predetermined criterion, generating a top level index file describing each asset in the filtered list of assets; and sending the top level index file to the playback device.

"In still another further embodiment, the execution of the instructions by a processor causes the processor to perform a process further including 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 to the playback device."

For the URL and additional information on this patent, see: Braness, Jason; Wallin, Evan; Ferreira, Ederson. Systems and Methods for Automatically Genenrating Top Level Index Files. U.S. Patent Number 8787570, filed December 30, 2011, and published online on July 22, 2014. Patent URL: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=8787570.PN.&OS=PN/8787570RS=PN/8787570

Keywords for this news article include: Sonic IP Inc, Information Technology, Information and Cryptography.

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC


For more stories covering the world of technology, please see HispanicBusiness' Tech Channel



Source: Information Technology Newsweekly


Story Tools






HispanicBusiness.com Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters