Broadcast signal transmitting method, broadcast signal receiving method, broadcast signal transmitting apparatus, and broadcast signal receiving apparatus
US-2015365204-A1 · Dec 17, 2015 · US
US2016080456A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016080456-A1 |
| Application number | US-201514859876-A |
| Country | US |
| Kind code | A1 |
| Filing date | Sep 21, 2015 |
| Priority date | Mar 23, 2009 |
| Publication date | Mar 17, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
Utilisation of link capacity · CPC title
Electricity · mapped topic
based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title
Electricity · mapped topic
Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.