Patent application number | Description | Published |
20080309525 | MULTI-STAGE CODE GENERATOR AND DECODER FOR COMMUNICATION SYSTEMS - A method of encoding data for transmission from a source to a destination over a communications channel is provided. A plurality of redundant symbols are generated from an ordered set of input symbols to be transmitted. A plurality of output symbols are generated from a combined set of symbols including the input symbols and the redundant symbols, wherein the number of possible output symbols is much larger than the number of symbols in the combined set of symbols, wherein at least one output symbol is generated from more than one symbol in the combined set of symbols and from less than all of the symbols in the combined set of symbols, and such that the ordered set of input symbols can be regenerated to a desired degree of accuracy from any predetermined number, N, of the output symbols. | 12-18-2008 |
20090144601 | FEC-BASED RELIABILITY CONTROL PROTOCOLS - In a transport system, data is reliably transported from a sender to a receiver by organizing the data to be transported into data blocks, wherein each data block comprises a plurality of encoding units, transmitting encoding units of a first data block from the sender to the receiver, and detecting, at the sender, acknowledgments of receipt of encoding units by the receiver. At the sender, a probability that the receiver received sufficient encoding units of the first data block to recover the first data block at the receiver is detected and the probability is tested against a threshold probability to determine whether a predetermined test is met. Following the step of testing and prior to the sender receiving confirmation of recovery of the first data block at the receiver, when the predetermined test is met, transmitting encoding units of a second data block from the sender. If an indication of failure to recover the first data block is received at the sender, sending further encoding units for the first data block from the sender to the receiver. In some embodiments, the predetermined test is a comparison of the probability against the threshold probability and the predetermined test is met when the probability is greater than the threshold probability. | 06-04-2009 |
20090307565 | METHOD AND APPARATUS FOR FAST ENCODING OF DATA SYMBOLS ACCORDING TO HALF-WEIGHT CODES - Efficient methods for encoding and decoding Half-Weight codes are disclosed and similar high density codes are disclosed. The efficient methods require at most 3·(k−1)+h/2+1 XORs of symbols to calculate h Half-Weight symbols from k source symbols, where h is of the order of log(k). | 12-10-2009 |
20100017686 | FAST CHANNEL ZAPPING AND HIGH QUALITY STREAMING PROTECTION OVER A BROADCAST CHANNEL - Signaling the sending of source blocks within multiple physical layer blocks is done for both streaming and object delivery applications, using minimal additional overhead, and in some cases no overhead, to signal interleaved source blocks within a physical layer block, signaling how symbols are related to the source blocks from which they are generated, and signaled sending and indications of prioritized data for source blocks. Organizing and sending streams over one more channels can be done to improve the quality of delivered streams, while minimizing or improving the needed amount of channel resources and receiver power resources needed. | 01-21-2010 |
20100103001 | METHODS AND APPARATUS EMPLOYING FEC CODES WITH PERMANENT INACTIVATION OF SYMBOLS FOR ENCODING AND DECODING PROCESSES - A method of encoding data for transmission from a source to a destination over a communications channel is provided. A plurality of encoded symbols are generated from a set of input symbols including source symbols and redundant symbols, wherein the input symbols are organized such that at least one of the input symbols is not used for a first encoding process, so that it is permanently inactivated for the purposes of scheduling a decoding process. A method of decoding data is also provided, wherein encoded symbols generated from a set of input symbols are used to recover source symbols, wherein the input symbols are organized such that at least one of the input symbols is not used for a first decoding process, so that it is permanently inactivated for the purpose of scheduling the decoding process. | 04-29-2010 |
20120203872 | MULTI-OUTPUT PACKET SERVER WITH INDEPENDENT STREAMS - A method of serving content to multiple clients via a network is provided. Independent sessions with each of a plurality of clients are maintained, wherein the number of clients in the plurality of clients can vary over time, and wherein the start of each session and the end of each session can be independent of the start and end of other sessions. A stream of packet payloads is received, each packet payload of the stream of packet payloads including data generated from the content, wherein each packet payload in at least a subset of the stream of packet payloads includes a different set of data. Each packet payload in the stream of packet payloads is transmitted to each client of the plurality of clients in corresponding packets, wherein the packet payload transmitted to a client at any particular time is independent of the state of the corresponding session. | 08-09-2012 |
20160065640 | ENHANCED BLOCK-REQUEST STREAMING USING COOPERATIVE PARALLEL HTTP AND FORWARD ERROR CORRECTION - A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server, which might or might not include a cache. A client device can be adapted to take advantage of the ingestion process as well as including improvements that make for a better presentation independent of the ingestion process. In the block-request streaming system, the an ingestion system generates data according to erasure codes and the client device, through various selection and timing of requests for media data and redundant data, can efficiently decode media to provide for presentations. | 03-03-2016 |
Patent application number | Description | Published |
20130091297 | SWITCHING BETWEEN REPRESENTATIONS DURING NETWORK STREAMING OF CODED MULTIMEDIA DATA - Aspects of this disclosure generally relate to a method of retrieving video data of multimedia content. In an example, the method includes determining a first interval between switch points for a first representation of the multimedia content and a second interval between switch points for a second representation of the multimedia content, wherein the first interval is less than the second interval. The method also includes, based on the determination, submitting one or more network requests for an amount of video data from the first representation that has a playback time that is at least equal to a playback time between switch points in the second representation. The method also includes, after submitting the request for the amount of video data from the first representation, retrieving video data from the second representation. | 04-11-2013 |
20130227080 | DASH CLIENT AND RECEIVER WITH PLAYBACK RATE SELECTION - A client device presents streaming media and includes a stream manager, a request accelerator, and a source component coupled to the stream manager and the request accelerator for determining which requests to make. A rate selection process can make rate decisions so that the buffer is filled when it is low, avoiding erratically changing rates and can choose the correct steady rate quickly. Multimedia download strategies can be used for HTTP that allow for accurate rate estimations, achieving link capacity even if network delays and packet loss rates are high, achieving timely delivery of the stream, and achieving relatively steady download rates with little short term variability. A receiver might use multiple HTTP connections, decompose media requests into smaller chunk requests, synchronize the connections using TCP flow control mechanisms, and request data in bursts. In addition, the receiver might use an HTTP pipelining process to keep the connections busy. | 08-29-2013 |
20130227081 | DASH CLIENT AND RECEIVER WITH REQUEST CANCELLATION CAPABILITIES - A receiver receives media for playing out using a presentation element of the receiver can make requests and wait for responses, but can also cancel requests, possibly reissuing new requests, to improve a user experience taking into account network and other conditions. The receiver can select a playback rate and make requests at that playback rate, monitor a presentation buffer that stores media data to be consumed by a presentation element, store an indication of a buffer level corresponding to how much of the presentation buffer is occupied by the media data that is received and not yet consumed by the presentation element, maintain a state of an issued request for downloading a selected first chunk of media data, and when an issued request is outstanding, determine, based on network conditions and the state of the issued request, whether to continue the request or cancel the request. | 08-29-2013 |
20130227122 | DASH CLIENT AND RECEIVER WITH BUFFER WATER-LEVEL DECISION-MAKING - A client/receiver downloads data over a network path between a source and the receiver coupled by the network path and stores the media data in a presentation buffer of the receiver and from there it is consumed by a presentation element. The receiver monitors a presentation buffer fill level that represents what portion of the presentation buffer contains media data not yet consumed by a presentation element. The receiver makes requests for additional data to download. If the fill level is above a high fill threshold, the receiver does not make further requests and eventually the fill level goes down. If the fill level is below a low fill threshold, the receiver restarts the downloading and updates the fill level as media data is consumed by the presentation element. The fill level might be measured in units of memory storage capacity and/or units of presentation time. | 08-29-2013 |
20130246643 | SWITCH SIGNALING METHODS PROVIDING IMPROVED SWITCHING BETWEEN REPRESENTATIONS FOR ADAPTIVE HTTP STREAMING - The switch signaling methods providing improved switching between representations for adaptive HTTP streaming described herein enable user experience and bandwidth efficiency improvements for adaptive HTTP streaming solutions, even when segment data is encrypted. The signaling methods include associating segment maps with segments of a representation, wherein a segment map comprises both temporal entry and temporal exit points within associated segments together with byte offset information and potentially other segment information, wherein segment maps may be generated with predictable time span patterns that are independent of the time spans of the associated segments. These embodiments can be used to enhance existing deployments in such a way that there is no need to change existing content encoding and formatting processes, and such that existing clients that receive and play out content are unaffected. | 09-19-2013 |
20130254631 | CONTENT DELIVERY SYSTEM WITH ALLOCATION OF SOURCE DATA AND REPAIR DATA AMONG HTTP SERVERS - Data objects are delivered over a packet-switched network and receivers receive encoded symbols, such as repair symbols, broadcast or multicast, with sufficient information to form requests for additional symbols as needed based on what source symbols or sub-symbols are needed or missing. The requests can be made in a unicast or request fashion. Requesting and broadcasting might be done by different entities. A broadcast server can generate and store repair symbols while a source server can store content in source form. A request can be a unicast HTTP byte-range request, such as a URL, starting position and length. Requests might be aligned with starting positions of files. A receiver can calculate starting and ending byte positions of symbols or sub-symbols in a file and get indications that conventional HTTP servers are usable for file repair. Repair servers can request broadcast of repair data when byte-range requests from multiple receivers overlap. | 09-26-2013 |
20130254634 | UNIVERSAL OBJECT DELIVERY AND TEMPLATE-BASED FILE DELIVERY - Data objects can be delivered over a network using a file delivery system and universal object delivery and template-based file delivery. This might be done by forming source data into a sequence of data objects represented by symbols in packets, sending those to receivers on request, wherein a transmitter obtains a template file delivery table with delivery metadata for the data objects, and constructing a first transmission object identifier for a data object based on a transmission object identifier construction rule described in the template file delivery table. A receiver might receive packets, extract a second transmission object identifier, associate encoded symbols comprising the received data packet with the data object if the first transmission object identifier and the second transmission object identifier identify the same data object, and recover, at least approximately, the source data for the data object based on the encoded symbols associated with the data object. | 09-26-2013 |
20140136653 | DASH CLIENT AND RECEIVER WITH DOWNLOAD RATE ACCELERATION - A client device presents streaming media and includes a stream manager for controlling streams, a request accelerator for making network requests for content, a source component coupled to the stream manager and the request accelerator for determining which requests to make, a network connection, and a media player. The request accelerator can accelerate a download rate using a plurality of TCP connections. A target download rate can vary among HTTP requests. The TCP receiver window size for a given TCP connection might be based on the target download rate for that TCP connection and/or a current estimated round-trip time for the current TCP connection multiplied by a multiplier rate, wherein the multiplier rate is within a range bounded by the target download rate for the current TCP connection and a rate that is higher than the target download rate by a predetermined amount. | 05-15-2014 |
20140156863 | DASH CLIENT AND RECEIVER WITH A DOWNLOAD RATE ESTIMATOR - A client device presents streaming media and includes a stream manager for controlling streams, a request accelerator for making network requests for content, a source component coupled to the stream manager and the request accelerator for determining which requests to make, a network connection, and a media player. A process for rate estimation is provided that will react quickly to reception rate changes. The rate estimator can use an adaptive windowed average and take into account the video buffer level and the change in video buffer level in a way so to guarantee that the rate adjusts fast enough if there is a need, while keeping the windowing width large (and thus the measurement variance) large. A guarantee might be that when a rate drop or rise happens, the estimator adjusts its estimate within a time proportional to a buffer drain rate or buffer fill level. | 06-05-2014 |
20140201587 | FEC-BASED RELIABLE TRANSPORT CONTROL PROTOCOLS FOR MULTIPATH STREAMING - A client device includes one or more processors configured to receive, from a server device, forward-error corrected data via a plurality of parallel network paths, determine losses of the data over each of the network paths, and send data representing the losses of the data over each of the network paths to the server device. Additionally or alternatively, a client device includes one or more processors configured to receive a first set of encoding units for a first block, wherein the first set of encoding units includes fewer than a minimum number of encoding units needed to recover the first block, after receiving the first set of encoding units, receive a second set of encoding units for a second block, and after receiving the second set of encoding units, receive a third set of encoding units including one or more encoding units for the first block. | 07-17-2014 |
20140215292 | LT STAIRCASE FEC CODE - Systems and methods for encoding data for transmission over a communications channel using an improved LT staircase FEC code are provided. Embodiments may include mapping source symbols to repair symbols, wherein a number of edges of the mapping associated with a source symbol is determined randomly according to a first distribution. The repair symbols may be ordered, and at least a first repair symbol may be encoded based on the source symbols that map to the first repair symbol and/or another repair symbol that immediately precedes the first repair symbol in the ordering of the repair symbols. | 07-31-2014 |
20140307734 | Methods for Delivery of Flows of Objects over Broadcast/Multicast Enabled Networks - Content (e.g., multimedia streams, audio-video streams, video files, text, etc.) may be delivered to receiver devices over a broadcast channel and/or via a broadcast network via components (e.g., servers, receiver device, software applications, modules, processes, etc.) configured to communicate the content in a manner that reduces the amount of information communicated over the broadcast network, reduces the amount network bandwidth consumed by the communication, meets precise timing requirements for the individual objects that are communicated, and enables each receiver device to receive, decode, and render the content without consuming an excess amount of that receiver device's battery or processing resources. | 10-16-2014 |
20150263824 | CONTENT DELIVERY SYSTEM WITH ALLOCATION OF SOURCE DATA AND REPAIR DATA AMONG HTTP SERVERS - Data objects are delivered over a packet-switched network and receivers receive encoded symbols, such as repair symbols, broadcast or multicast, with sufficient information to form requests for additional symbols as needed based on what source symbols or sub-symbols are needed or missing. The requests can be made in a unicast or request fashion. Requesting and broadcasting might be done by different entities. A broadcast server can generate and store repair symbols while a source server can store content in source form. A request can be a unicast HTTP byte-range request, such as a URL, starting position and length. Requests might be aligned with starting positions of files. A receiver can calculate starting and ending byte positions of symbols or sub-symbols in a file and get indications that conventional HTTP servers are usable for file repair. Repair servers can request broadcast of repair data when byte-range requests from multiple receivers overlap. | 09-17-2015 |
20150270930 | TRANSPORT ACCELERATOR IMPLEMENTING SELECTIVE UTILIZATION OF REDUNDANT ENCODED CONTENT DATA FUNCTIONALITY - Transport accelerator (TA) systems and methods for delivery of content to a user agent (UA) of a client device are provided according to embodiments of the present disclosure. Embodiments receive, by a request manager (RM) of the TA, fragment requests provided by the UA for requesting content from a content server, and determine an amount of redundant encoded content data to request for a fragment request of the fragment requests for use by the RM in recovering the fragment. | 09-24-2015 |
20150271224 | TRANSPORT ACCELERATOR INPLEMENTING EXTENDED TRANSMISSION CONTROL FUNCTIONALITY - Transport accelerator (TA) systems and methods for accelerating delivery of content to a user agent (UA) of a client device are provided according to embodiments of the present disclosure. Embodiments comprise a TA architecture implementing a connection manager (CM) and a request manager (RM). A CM of embodiments requests chunks of content from a content server, receives data in response to requesting the chunks of content, wherein the received data is missing data from a requested chunk of content, and provides a receipt acknowledgement (ACK) for the missing data. The received data, which is missing data from a requested chunk of the chunks of content, may be passed through a communication protocol stack to an application for assembly into a one or more content objects. | 09-24-2015 |
20150271225 | TRANSPORT ACCELERATOR IMPLEMENTING EXTENDED TRANSMISSION CONTROL FUNCTIONALITY - Transport accelerator (TA) systems and methods for accelerating delivery of content to a user agent (UA) of a client device are provided according to embodiments of the present disclosure. Embodiments comprise a TA architecture implementing a connection manager (CM) and a request manager (RM). A CM of embodiments requests chunks of content from a content server, receives data in response to requesting the chunks of content, wherein the received data is missing data from a requested chunk of content, and provides a receipt acknowledgement (ACK) for the missing data. The received data, which is missing data from a requested chunk of the chunks of content, may be passed through a communication protocol stack to an application for assembly into a one or more content objects. | 09-24-2015 |
20150271226 | TRANSPORT ACCELERATOR IMPLEMENTING A MULTIPLE INTERFACE ARCHITECTURE - Transport accelerator (TA) systems and methods for accelerating delivery of content to a user agent (UA) of the client device are provided according to embodiments of the present disclosure. Embodiments initiate media transmission operation for the UA using the TA disposed in a communication path between the UA and a content server operable to provide content, wherein the TA comprises a request manager (RM) operable to control what data is requested from the content server and a plurality of connection managers (CMs) operable to control when the data is requested from the content server, wherein each CM of the plurality of CMs is adapted for communication with the content server via a different communication interface. | 09-24-2015 |
20150271231 | TRANSPORT ACCELERATOR IMPLEMENTING ENHANCED SIGNALING - Transport accelerator (TA) systems and methods for accelerating delivery of content to a user agent (UA) of a client device are provided according to embodiments of the present disclosure. Embodiments comprise a TA architecture implementing a connection manager (CM) and a request manager (RM). A RM of embodiments subdivides a fragment request provided by the UA into a plurality of chunk requests for requesting chunks of the content. A CM of embodiments signals to the RM, that the CM is ready for an additional chunk request of the content. Priority information is provided according to embodiments, such as by the UA, wherein the priority information indicates a priority of a corresponding fragment request relative to other fragment requests. | 09-24-2015 |
20150271232 | TRANSPORT ACCELERATOR IMPLEMENTING REQUEST MANAGER AND CONNECTION MANAGER FUNCTIONALITY - Transport accelerator (TA) systems and methods for delivery of content to a user agent (UA) of the client device from a content server are provided according to embodiments of the present disclosure. Embodiments of a TA operate to subdivide, by a request manager (RM) of the TA, fragment requests provided by the UA each into a plurality of chunk requests for requesting chunks of the content and to provide, by the RM to a connection manager (CM) of the TA, chunk requests of the plurality of chunk requests for requesting chunks of the content. Requests may thus be made, by the CM, for the chunks of the content from the content server via a plurality of connections established between the CM and the content server. | 09-24-2015 |
20150271302 | TRANSPORT ACCELERATOR IMPLEMENTING CLIENT SIDE TRANSMISSION FUNCTIONALITY - Transport accelerator (TA) systems and methods for accelerating transmission of content from a user agent (UA) of a user device to a remote recipient are provided according to embodiments of the present disclosure. Embodiments comprise a TA architecture implementing a connection manager (CM) and a request manager (RM). A RM of embodiments subdivides fragments of content provided by the UA into a plurality of content chunks, each fragment may be subdivided into multiple content chunks. The RM of embodiments provides content chunks to a connection manager (CM) of the TA for transmitting the content chunks. The CM of embodiments transmits the content chunks via a plurality of connections established between the CM and the remote recipient. | 09-24-2015 |
20160028416 | SOURCE BLOCK SIZE SELECTION - Methods, apparatuses, and computer-readable media for determining a source block size are presented. A sender may transmit received media as source blocks. The sender may receive a value N, a target number of packets from which a receiver can recover a source block with high fidelity; a value P′, a target packet payload size; a value O, a symbol reception overhead value; and a value R, a target upper bound on data reception overhead. The sender may determine a value K, a number of symbols to be used per source block, based on the values N, P′, O and R. The source symbols of the source blocks may be encoded into encoded symbols, wherein the encoded symbols may or may not include the source symbols. The encoded symbols may be packetized into at least N packets for transmission to a receiver. | 01-28-2016 |
20160094614 | SYSTEMS AND METHODS FOR USER AGENT SIGNALING REQUEST ACCELERATION BY TRANSPORT ACCELERATOR - Systems and methods which are adapted to provide transport accelerator operation through the use of user agent (UA) signaling are disclosed. In operation according to embodiments, a transport accelerator (TA) analyzes content requests to determine if the content request includes an indication that transport acceleration functionality is to be provided. If such an indication is present, the TA further analyzes the content request to determine if transport acceleration functionality will be provided. | 03-31-2016 |