US8650192B2ActiveUtilityA1

Playlists for real-time or near real-time streaming

91
Assignee: BIDERMAN DAVIDPriority: Dec 31, 2008Filed: Aug 23, 2012Granted: Feb 11, 2014
Est. expiryDec 31, 2028(~2.5 yrs left)· nominal 20-yr term from priority
H04L 65/756H04N 21/234327H04L 65/60H04L 47/34H04N 21/234363H04L 67/06H04N 21/26258G06F 16/954H04N 21/44209H04N 21/44016H04N 21/44004H04N 21/4394H04N 21/8456H04L 67/02H04N 7/17318H04L 65/1069
91
PatentIndex Score
11
Cited by
377
References
12
Claims

Abstract

Methods and apparatuses for real-time or near real-time streaming of content using transfer protocols such as an HTTP compliant protocol. In one embodiment, a method includes dividing a stream of data, representing the contiguous time based content of a program (e.g. a live video broadcast), into a plurality of distinct media files, and generating a playlist file having a plurality of tags and Universal Resource Indicators (URIs) indicating an order of presentation of the plurality of distinct media files. The plurality of media files and the playlist file can be made available for transmission to a client device which can retrieve the media files using the playlist file.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A non-transitory computer readable storage medium storing data in a digital, random access format that when executed by a data processing system causes the system to perform a method comprising:
 storing a plurality of alternative media playlist files of a same contiguous media presentation, wherein each media playlist file includes a plurality of URIs (Uniform Resource Indicators) specifying segments of the same contiguous media presentation, wherein the segments are encoded according to a value of an encoding parameter for the media playlist file, the value of the encoding parameter differs for each of the plurality of media playlist files, and the value of the encoding parameter indicates a bit rate at which the segments are encoded; and 
 generating a variant playlist file that specifies the plurality of alternative media playlist files representing the same contiguous media presentation, each of the media playlist files specifying segments of the same contiguous media presentation encoded according to a different value of the encoding parameter, the variant playlist, comprising:
 a plurality of tags, wherein each tag indicates a value of the encoding parameter of a respective one of the plurality of media playlist files, and 
 a plurality of URIs, wherein each URI corresponds to one of the plurality of tags and the URI specifies a respective one of the plurality of alternative media playlist files that specifies segments encoded according to a value of the encoding parameter, wherein selection of a URI from the variant playlist file requests transmittal of a respective one of the plurality of media playlist files specified by the selected URI, and wherein the respective media playlist file includes a plurality of URIs specifying segments of the same contiguous media presentation encoded according to the value of the encoding parameter indicated by the tag in the variant playlist file corresponding to the selected URI. 
 
 
     
     
       2. The non-transitory computer readable storage medium of  claim 1 , wherein the plurality of tags comprises a tag preceding each URI specifying a respective media playlist file, wherein each tag indicates a program identifier, wherein each program identifier is the same, and wherein each program identifier identifies the same contiguous media presentation. 
     
     
       3. The non-transitory computer readable storage medium of  claim 2 , wherein at least one of the plurality of tags comprises an identifier of a CODEC. 
     
     
       4. The non-transitory computer readable storage medium of  claim 3 , wherein corresponding segments from each media playlist file comprise a same audio encoding. 
     
     
       5. The non-transitory computer readable storage medium of  claim 3 , wherein a tag in the variant playlist file comprises an EXT-X-STREAM-INF tag. 
     
     
       6. The non-transitory computer readable storage medium of  claim 5 , wherein the EXT-X-STREAM-INF tag identifies the connection bandwidth as an approximate upper bound of a stream bit rate. 
     
     
       7. The non-transitory computer readable storage medium of  claim 5 , wherein the variant playlist file comprises a plurality of EXT-X-STREAM-INF tags, each EXT-X-STREAM-INF tag identifying a different encoding parameter for each URI specifying a respective media playlist file. 
     
     
       8. The non-transitory computer readable storage medium of  claim 1 , wherein the segments of the same contiguous media presentation are divided on a packet or a key frame boundary. 
     
     
       9. The non-transitory computer readable storage medium of  claim 1 , wherein each media playlist file comprises optional content that is not part of the same contiguous media presentation, and wherein the optional content is the same for each media playlist file. 
     
     
       10. The non-transitory computer readable storage medium of  claim 1 , wherein corresponding segments from each media playlist file comprise matching timestamps. 
     
     
       11. The non-transitory computer readable storage medium of  claim 1 , wherein each media playlist file comprises a period of content and a target duration, each period of content being the same within a smallest target duration. 
     
     
       12. The non-transitory computer readable storage medium of  claim 1 , further comprising:
 transmitting, in response to the selection, the respective one of the plurality of media playlist files.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.