Method and system for efficient streaming video dynamic rate adaptation

US2016080456A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016080456-A1
Application numberUS-201514859876-A
CountryUS
Kind codeA1
Filing dateSep 21, 2015
Priority dateMar 23, 2009
Publication dateMar 17, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A streaming media system employs dynamic rate adaptation. The method includes a file format compatible with legacy HTTP infrastructure to deliver media over a persistent connection. The method further includes the ability for legacy client media players to dynamically change the encoded delivery rate of the media over a persistent connection. The method provided works transparently with standard HTTP servers, requiring no modification and leverages standard media players embedded in mobile devices for seamless media delivery over wireless networks with high bandwidth fluctuations. A system is also specified for implementing a client and server in accordance with the method.

First claim

Opening claim text (preview).

What is claimed is: 1 . An apparatus, comprising: a file encoder and a Hyper Text Transfer Protocol (HTTP) streaming server, wherein the HTTP streaming server accepts requests for source media, and the file encoder accepts a source media and a configuration file; a memory for storing output of the file encoder; first instructions executable by one or more processors configured to cause the file encoder to: transcode the source file into a plurality of encodings as defined by the configuration file, encrypt the plurality of resultant encodings as defined by the configuration file, concatenate the plurality of resultant encrypted encodings into a single file as defined by the configuration file, store the concatenated file to the memory, create a rate map index file for the concatenated file, and store the rate map index file into the memory; and second instructions executable by the one or more processors configured to cause the HTTP streaming server to: select a concatenated media file whose first encoding matches that of the request, create a header containing information about the current encoding and the current index into the concatenated media file, pack the header into a HTTP chuck, pack a segment of concatenated media file data into the HTTP chunk, sending the HTTP chunk to a client, estimating available bandwidth between the server and the client, and changing encodings when bandwidth falls below or rises above a given set of thresholds. 2 . A method for streaming data to a client, comprising: encoding, by one or more processors, the data into a plurality of encodings; combining, by the one or more processors, the plurality of encodings into a single concatenated file; indexing, by the one or more processors, the single concatenated file, wherein the indexing results in a rate map index file comprising a plurality of rate map indicies for the plurality of encodings, the rate map indicies identify respective locations for respective encodings among the plurality of encodings in the single concatenated file; and sending, by the one or more processors, the rate map index to a client device to enable the client to select an encoding to be retrieved and rendered at the client. 3 . The method of claim 2 , wherein the data is an audio/video file including a plurality of audio/video advertisements. 4 . The method of claim 2 , further comprising monitoring, by one or more processors, a Transmission Control Protocol (TCP) window occupancy to gather bandwidth availability information via a TCP window data drain rate. 5 . The method of claim 4 , further comprising keeping, by one or more processors, a limited trailing history of bandwidth measurements to smooth averaging. 6 . The method of claim 5 , further comprising using, by one or more processors, a weighted history to allow current fluctuations to take precedence, and using different weighted histories for transitioning to higher bit rates than for transitioning to lower bit rates. 7 . The method of claim 4 , further comprising using, by one or more processors, the average bandwidth to select new encodings when bandwidth changes by comparing the average bandwidth to set high and low bandwidth thresholds. 8 . The method of claim 7 , further comprising filling, by one or more processors, a next request from the client, after a rate switch is determined necessary, with a different data range than what was specified by the client or would be sequential for the client, but which corresponds to the same playout time for a different encoding, as determined by the rate switch. 9 . The method of claim 8 , further comprising sending, by one or more processors, data using HTTP chunked transfer encoding. 10 . The method of claim 9 , further comprising inserting, by one or more processors, metadata information into an HTTP chunk ahead of a concatenated file data. 11 . The method of claim 10 , wherein the metadata information includes information about the encoding, the time position, and the concatenated file byte offset corresponding to the beginning an accompanying concatenated file data. 12 . The method of claim 9 , further comprising pacing, by one or more processors, the sending of HTTP chunks to limit bandwidth usage, and selecting a paced delivery rate which exceeds the bit rate of the new encoding. 13 . An apparatus, comprising: one or more processors; a non-transitory computer-readable storage medium comprising computer-executable instructions, when executed by the one or more processors, are configured to: encode the data into a plurality of encodings, combine the plurality of encodings into a single concatenated file, index, the single concatenated file, by generating a rate map index file comprising a plurality of rate map indicies for the plurality of encodings, the rate map indicies identify respective locations for respective locations for respective encodings among the plurality of encodings in the single concatenated file, and send the rate map index to a client device to enable the client to select an encoding to be retrieved and rendered at the client. 14 . The apparatus of claim 13 , wherein the data is an audio/video file including a plurality of audio/video advertisements. 15 . The apparatus of claim 13 , wherein the computer-readable instructions are further configured to monitor a Transmission Control Protocol (TCP) window occupancy to gather bandwidth availability information via a TCP window data drain rate. 16 . The apparatus of claim 15 , wherein the computer-readable instructions are further configured to keep a limited trailing history of bandwidth measurements to smooth averaging. 17 . The apparatus of claim 16 , wherein the computer-readable instructions are further configured to use a weighted history to allow current fluctuations to take precedence, and using different weighted histories for transitioning to higher bit rates than for transitioning to lower bit rates. 18 . The apparatus of claim 15 , wherein the computer-readable instructions are further configured to use the average bandwidth to select new encodings when bandwidth changes by comparing the average bandwidth to set high and low bandwidth thresholds. 19 . The apparatus of claim 18 , wherein the computer-readable instructions are further configured to fill a next request from the client, after a rate switch is determined necessary, with a different data range than what was specified by the client or would be sequential for the client, but which corresponds to the same playout time for a different encoding, as determined by the rate switch. 20 . The apparatus of claim 19 , wherein the computer-readable instructions are further configured to send data using HTTP chunked transfer encoding. 21 . The apparatus of claim 20 , wherein the computer-readable instructions are further configured to insert metadata information into an HTTP chunk ahead of a concatenated file data. 22 . The apparatus of claim 21 , wherein the metadata information includes information about the encoding, the time position, and the concatenated file byte offset corresponding to the beginning an accompanying concatenated file data. 23 . The apparatus of claim 21 , wherein the computer-readable instruction are further configured to pace the sending of HTTP chunks to limit bandwidth usage, and selecting a paced delivery rate which exceeds the bit rate of the new encoding.

Assignees

Inventors

Classifications

  • Utilisation of link capacity · CPC title

  • Electricity · mapped topic

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • H04L65/607Primary

    Electricity · mapped topic

  • Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016080456A1 cover?
A streaming media system employs dynamic rate adaptation. The method includes a file format compatible with legacy HTTP infrastructure to deliver media over a persistent connection. The method further includes the ability for legacy client media players to dynamically change the encoded delivery rate of the media over a persistent connection. The method provided works transparently with standar…
Who is the assignee on this patent?
Ericsson Ab
What technology area does this patent fall under?
Primary CPC classification H04L65/607. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Mar 17 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).