Patent application number | Description | Published |
20080256418 | DYNAMIC STREAM INTERLEAVING AND SUB-STREAM BASED DELIVERY - A communications system can provide methods of dynamically interleaving streams, including methods for dynamically introducing greater amounts of interleaving as a stream is transmitted independently of any source block structure to spread out losses or errors in the channel over a much larger period of time within the original stream than if interleaving were not introduced, provide superior protection against packet loss or packet corruption when used with FEC coding, provide superior protection against network jitter, and allow content zapping time and the content transition time to be reduced to a minimum and minimal content transition times. Streams may be partitioned into sub-streams, delivering the sub-streams to receivers along different paths through a network and receiving concurrently different sub-streams at a receiver sent from potentially different servers. When used in conjunction with FEC encoding, the methods include delivering portions of an encoding of each source block from potentially different servers. | 10-16-2008 |
20090031199 | FILE DOWNLOAD AND STREAMING SYSTEM - A method of encoding data operates on an ordered set of input symbols and includes generating redundant symbols from the input symbols, and includes generating output symbols 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 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. The redundant symbols are generated from an ordered set of input symbols in a deterministic process such that a first set of static symbols calculated using a first input symbol has a low common membership with a second set of static symbols calculated using a second input symbol distinct from the first input symbol. | 01-29-2009 |
20090067551 | GENERATING AND COMMUNICATING SOURCE IDENTIFICATION INFORMATION TO ENABLE RELIABLE COMMUNICATIONS - A method of generating Source Identification information from a source packet stream and reliably transmitting the Source Identification information from a source to a destination over a communications channel is provided. The method operates on a set of source packets, wherein Source Identification information for each source packet to be transmitted is derived and delivered with the Source Identification information of all or most other source packets of an associated source block. The method includes techniques to minimize the network bandwidth required to deliver Source Identification information and techniques to overcome network impairments. When combined with FEC techniques, retransmission techniques, or combinations of FEC techniques and retransmission techniques, the methods described herein allow receivers to recover lost source packets, while simultaneously ensuring that the original source packets are not modified and thereby ensuring backwards compatibility for legacy receivers. | 03-12-2009 |
20090189792 | SYSTEMATIC ENCODING AND DECODING OF CHAIN REACTION CODES - A method of encoding data into a chain reaction code includes generating a set of input symbols from input data. Subsequently, one or more non-systematic output symbols is generated from the set of input symbols, each of the one or more non-systematic output symbols being selected from an alphabet of non-systematic output symbols, and each non-systematic output symbol generated as a function of one or more of the input symbols. As a result of this encoding process, any subset of the set of input symbols is recoverable from (i) a predetermined number of non-systematic output symbols, or (ii) a combination of (a) input symbols which are not included in the subset of input symbols that are to be recovered, and (b) one or more of the non-systematic output symbols. | 07-30-2009 |
20090210547 | SCHEDULING OF MULTIPLE FILES FOR SERVING ON A SERVER - Multiple files a served using a server coupled to a data network. A plurality of files is determined, wherein a file includes an integer number of blocks, and wherein each block includes at least one input symbol. For each file, an indication of at least one channel on which to serve the file is determined, and, for each file, a rate at which to serve the file is determined. Also, a schedule for processing the blocks is determined, and output symbols for the blocks are generated according to the schedule. The output symbols are transmitted on the corresponding at least one channel, wherein the files are concurrently served at their corresponding rates. | 08-20-2009 |
20100011274 | HYPOTHETICAL FEC DECODER AND SIGNALLING FOR DECODING CONTROL - A communication system wherein a transmitter transmits a media stream to a receiver encoded using FEC, comprising at least one hypothetical FEC decoder at the transmitter for decoding the media stream encoded at the transmitter. The transmitter determines what optimization signals to provide the receiver given the outputs of the at least one hypothetical FEC decoder and signals to the receiver those optimization signals. The optimization signals might include slowdown of media consumption signals, indications of variable buffering parameters and/or indications of FEC and source data ordering. | 01-14-2010 |
20100050057 | FEC ARCHITECTURE FOR STREAMING SERVICES INCLUDING SYMBOL BASED OPERATIONS AND PACKET TAGGING - In a packet communications system stream data is transported over a channel over which packet loss or corruption is possible, with forward error correction (“FEC”) information. A transmitter receives source packets comprising source data, generates FEC source packets formatted to allow for identification of lost or corrupted source packets at a receiver, arranges source data from the source packets into a plurality of source symbols wherein at least one source packet is arranged into more than one source symbol, associates a plurality of source symbols with a source block, generates a plurality of repair symbols from the source block according to a predetermined FEC encoding process and groups the plurality of repair symbols into one or more FEC repair packets associated with the source block. A receiver can use the FEC repair symbols from the FEC repair packets to recover source symbols, as needed. | 02-25-2010 |
20100211690 | BLOCK PARTITIONING FOR A DATA STREAM - A method for serving a data stream from a transmitter to a receiver includes: determining an underlying structure of the data stream; determining at least one objective, selected from a group of (1) reducing a start-up delay between when the receiver first starts receiving the data stream from the transmitter and when the receiver can start consumption of blocks of the data stream without interruption, according to the underlying structure, (2) reducing a transmission bandwidth needed to send the data stream, and (3) ensuring that the blocks of the data stream satisfy predetermined block constraints; and transmitting the blocks of the data stream consistent with the at least one objective and the underlying structure. | 08-19-2010 |
20110019769 | 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. | 01-27-2011 |
20110096828 | ENHANCED BLOCK-REQUEST STREAMING USING SCALABLE ENCODING - 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. 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. The files or data elements are organized as blocks that are transmitted and decoded as a unit, and the system is configured to provide and consume scalable blocks such that the quality of the presentation increases as more of the block is downloaded. Encoding and decoding blocks with multiple independent scalability layers can be done as well. | 04-28-2011 |
20110216841 | BLOCK AGGREGATION OF OBJECTS IN A COMMUNICATION SYSTEM - A method of mapping m individual objects to source symbols for delivering data from a transmitter to a receiver in a communication system, the m individual objects ordered from object | 09-08-2011 |
20110231519 | ENHANCED BLOCK-REQUEST STREAMING USING URL TEMPLATES AND CONSTRUCTION RULES - 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 include a cache. A client device can be adapted to take advantage of the ingestion process as well as improvements that make for a better presentation independent of the ingestion process. The client devices and ingestion system can be coordinated to have a predefined mapping and template for making block requests to HTTP file names that a conventional file server can accept through the use of URL construction rules. Segment size might be specified in an approximate manner for more efficient organization. | 09-22-2011 |
20110231569 | ENHANCED BLOCK-REQUEST STREAMING USING BLOCK PARTITIONING OR REQUEST CONTROLS FOR IMPROVED CLIENT-SIDE HANDLING - 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. A client device can be adapted to take advantage of the ingestion process. The client device might be configured to optimize use of resources, given the information available to it from the ingestion system. This may include configurations to determine the sequence, timing and construction of block requests based on monitoring buffer size and rate of change of buffer size, use of variable sized requests, mapping of block requests to underlying transport connections, flexible pipelining of requests, and/or use of whole file requests based on statistical considerations. | 09-22-2011 |
20110238789 | ENHANCED BLOCK-REQUEST STREAMING SYSTEM USING SIGNALING OR BLOCK CREATION - 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. The system might include controlling the sequence, timing and construction of block requests, time based indexing, variable block sizing, optimal block partitioning, control of random access point placement, including across multiple presentation versions, dynamically updating presentation data, and/or efficiently presenting live content and time shifting. | 09-29-2011 |
20110239078 | 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. | 09-29-2011 |
20110258510 | CODE GENERATOR AND DECODER FOR COMMUNICATIONS SYSTEMS OPERATING USING HYBRID CODES TO ALLOW FOR MULTIPLE EFFICIENT USES OF THE COMMUNICATIONS SYSTEMS - A method of encoding data for transmissions from a source to a destination over a communications channel is provided. The method operates on an ordered set of source symbols and may generate zero or more redundant symbols from the source symbols, wherein data is encoded in a first step according to a simple FEC code and in a second step, data is encoded according to a second FEC code, more complex than the first FEC code. The first FEC code and/or the second FEC code might comprise coding known in the art. These steps result in two groups of encoded data in such a way that a low-complexity receiver may make use of one of the groups of encoded data while higher complexity receivers may make use of both groups of encoded data. | 10-20-2011 |
20110299629 | METHODS AND APPARATUS EMPLOYING FEC CODES WITH PERMANENT INACTIVATION OF SYMBOLS FOR ENCODING AND DECODING PROCESSES - Encoding of a plurality of encoded symbols is provided wherein an encoded symbol is generated from a combination of a first symbol generated from a first set of intermediate symbols and a second symbol generated from a second set of intermediate symbols, each set having at least one different coding parameter, wherein the intermediate symbols are generated based on the set of source symbols. A method of decoding data is also provided, wherein a set of intermediate symbols is decoded from a set of received encoded symbols, the intermediate symbols organized into a first and second sets of symbols for decoding, wherein intermediate symbols in the second set are permanently inactivated for the purpose of scheduling the decoding process to recover the intermediate symbols from the encoded symbols, wherein at least some of the source symbols are recovered from the decoded set of intermediate symbols. | 12-08-2011 |
20120036409 | EFFICIENT ENCODING AND DECODING METHODS FOR REPRESENTING SCHEDULES AND PROCESSING FORWARD ERROR CORRECTION CODES - A sequence of symbol operations (a “schedule representation”) within a data storage device, wherein the operations are those used to process encoding or decoding operations of a forward error correction code (an “FEC code”) upon an arbitrary block of data of a given size (where size can be measured in numbers of symbols). The method is such that the schedule representation can be used to direct the processing of these operations upon a block of data in a way that is computationally efficient. Preferably, the same method can be applied to represent schedules derived from multiple different algorithms for the encoding or decoding of a code or for multiple different codes. | 02-09-2012 |
20120042227 | FEC STREAMING WITH AGGREGATION OF CONCURRENT STREAMS FOR FEC COMPUTATION - Transmitters and receivers deal with streams of data, wherein the receiver is expected to begin using received data before receiving all of the data. Concurrent streams are sent and FEC coding is used with the streams and done as an aggregate. The transmitter performs FEC operations over the plurality of streams, wherein source blocks from at least two streams logically associated into a jumbo source block and FEC processing is performed to generate one or more jumbo repair block from the jumbo source block. Each of the source blocks comprises one or more source symbols from their respective stream. The jumbo source symbols can be of constant size and are suitably aligned along size boundaries that make processing efficient. Each source symbol need not be the same size, and the number of source symbols from each stream in a jumbo source block need not be the same value across streams. | 02-16-2012 |
20120099593 | UNIVERSAL FILE DELIVERY METHODS FOR PROVIDING UNEQUAL ERROR PROTECTION AND BUNDLED FILE DELIVERY SERVICES - Methods and apparatus for delivering data objects from an electronic device or system over a packet-switched network are provided, wherein source data is represented by encoded symbols in packets such that the source data is recoverable, at least approximately, from the encoded symbols, by arranging the source data into a plurality of source symbols, generating a plurality of encoding packets, wherein an encoding packet comprises a universal object symbol identifier (“UOSI”) and a plurality of encoding symbols representing source data for a packet structure identified by the UOSI, and sending the plurality of encoding packets to the packet-switched network. | 04-26-2012 |
20120136973 | SCHEDULING OF MULTIPLE FILES FOR SERVING ON A SERVER - Multiple files a served using a server coupled to a data network. A plurality of files is determined, wherein a file includes an integer number of blocks, and wherein each block includes at least one input symbol. For each file, an indication of at least one channel on which to serve the file is determined, and, for each file, a rate at which to serve the file is determined. Also, a schedule for processing the blocks is determined, and output symbols for the blocks are generated according to the schedule. The output symbols are transmitted on the corresponding at least one channel, wherein the files are concurrently served at their corresponding rates. | 05-31-2012 |
20120151302 | BROADCAST MULTIMEDIA STORAGE AND ACCESS USING PAGE MAPS WHEN ASYMMETRIC MEMORY IS USED - A receiving device for storing and accessing data transmitted from a source, the data generated from transport objects comprises multimedia content that uses a forward error correction code, is subject to network losses, and/or is transported interleaved. The device includes a receiving module configured to store the data in first access memory according to a page format, write the data formatted as pages to physical storage media, and generate a page structure map describing a relationship between the data written and a data structure of the multimedia content. An access module receives a request for a portion of the multimedia content, determines pages of data from the physical storage medium as including data corresponding to the requested portion according to the page structure map, stores the determined pages, and decodes the data corresponding to the requested portion from a requesting module. A media player receives the requested portion for consumption. | 06-14-2012 |
20120208580 | FORWARD ERROR CORRECTION SCHEDULING FOR AN IMPROVED RADIO LINK PROTOCOL - Forward error correction scheduling techniques for an improved radio link protocol used in a wireless communication system, such as EV-DO. In one embodiment scheduling of the generation of repair symbols encoded to be transmitted along with source data is described. In another embodiment acknowledgment messages from a receiver are used to control the trailing edge of the protection window offered by the repair symbols. In another embodiment, non-acknowledgment messages from a receiver are used to control the generation of extra repair symbols. In another embodiment, a length field is used to avoid transmission of padding bytes over the air. In yet another embodiment, a symbol auxiliary field is appended to source symbols to indicate the padding bytes needed for symbol aligning thus avoiding the transmission of padding bytes over the air. | 08-16-2012 |
20120210190 | ENCODING AND DECODING USING ELASTIC CODES WITH FLEXIBLE SOURCE BLOCK MAPPING - Data can be encoded by assigning source symbols to base blocks, assigning base blocks to source blocks and encoding each source block into encoding symbols, where at least one pair of source blocks is such they have at least one base block in common with both source blocks of the pair and at least one base block not in common with the other source block of the pair. The encoding of a source block can be independent of content of other source blocks. Decoding to recover all of a desired set of the original source symbols can be done from a set of encoding symbols from a plurality of source blocks wherein the amount of encoding symbols from the first source block is less than the amount of source data in the first source block and likewise for the second source block. | 08-16-2012 |
20120259946 | NETWORK STREAMING OF VIDEO DATA USING BYTE RANGE REQUESTS - In one example, a device for receiving information for multimedia data includes one or more processors configured to determine a byte range of a file of a representation of multimedia content to request from a source device, form a uniform resource locator (URL) that specifies, in a file path portion of the URL, according to a template, the file and the byte range in accordance with requirements of the source device, and issue a GET request that specifies the formed URL to the source device. | 10-11-2012 |
20120259994 | IP BROADCAST STREAMING SERVICES DISTRIBUTION USING FILE DELIVERY METHODS - In one example, a device includes one or more processing units configured to send, via a network, a request to retrieve at least a portion of media content, wherein the media content conforms to dynamic adaptive streaming over HTTP (DASH), and wherein the request comprises a request that the at least portion be delivered according to a file delivery service, and, in response to the request, to receive streaming data for the at least portion of the media content in accordance with the file delivery service over the network. The device may prepopulate a browser cache with the received data, such that a browser can, in effect, stream data using the file delivery service. The device may initially retrieve data of the media content using unicast, until a switch point of the data received via the file delivery service is reached. | 10-11-2012 |
20130007223 | ENHANCED BLOCK-REQUEST STREAMING SYSTEM FOR HANDLING LOW-LATENCY STREAMING - A block-request streaming system provides for low-latency streaming of a media presentation. A plurality of media segments are generated according to an encoding protocol. Each media segment includes a random access point. A plurality of media fragments are encoded according to the same protocol. The media segments are aggregated from a plurality of media fragments. | 01-03-2013 |
20130067295 | FILE DOWNLOAD AND STREAMING SYSTEM - A method of encoding data operates on an ordered set of input symbols and includes generating redundant symbols from the input symbols, and includes generating output symbols 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 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. The redundant symbols are generated from an ordered set of input symbols in a deterministic process such that a first set of static symbols calculated using a first input symbol has a low common membership with a second set of static symbols calculated using a second input symbol distinct from the first input symbol. | 03-14-2013 |
20130091251 | NETWORK STREAMING OF MEDIA DATA - In one example, a device includes one or more processors configured to receive a first segment of media data, wherein the media data of the first segment comprises a stream access point, receive a second segment of media data, wherein the media data of the second segment lacks a stream access point at the beginning of the second segment, and decode at least a portion of the media data of the second segment relative to at least a portion of data for the first segment. In this manner, the techniques of this disclosure may be used to achieve a Low Latency Live profile for, e.g., dynamic adaptive streaming over HTTP (DASH). | 04-11-2013 |
20130111520 | METHOD AND APPARATUS TO DETECT A DEMAND FOR AND TO ESTABLISH DEMAND-BASED MULTIMEDIA BROADCAST MULTICAST SERVICE | 05-02-2013 |
20130262567 | RESPONDING TO HYPERTEXT TRANSFER PROTOCOL (HTTP) REQUESTS - Embodiments enable HTTP servers to pass incomplete and/or corrupted files in response to file requests from clients. In the various embodiments, HTTP servers may be enabled to generate status codes identifying that an incomplete version of a file is being returned in response to a file request. In an embodiment, an HTTP server may be enabled to determine the ability of a client to handle incomplete versions of files. | 10-03-2013 |
20130344798 | METHODS AND APPARATUS FOR PROVIDING HYBRID UNICAST BROADCAST SERVICES - A method, an apparatus, and a computer program product are provided in connection with facilitating hybrid unicast/broadcast service distribution. In one example, a communications device is equipped to provide a parity portion of titles in a channel of a service to a plurality of UEs at a first time, receive, from a UE at a second time, a request to access a title of the one or more titles, and provide an enablement item, to the requesting UE, which is a portion of the requested title that, when processed with the provided parity portion of the requested title, is sufficient to allow the requesting UE to decode and access to the requested title. In an aspect, the parity portion may be a parity portion of a fountain code encoded title, and the enablement item may be repair symbols of the fountain code encoded title. | 12-26-2013 |
20140380113 | 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. | 12-25-2014 |