Patent ID: 8275897

Claim:
A method comprising: receiving a data stream, having a plurality of data blocks, the data stream in a received form; selecting, for a data block in the plurality of data blocks, an encoder from a plurality of encoders based, at least in part, on a data parameter associated with the data stream, the data parameter indicating an amount of information loss permissible for the data stream; compressing using the selected encoder to provide a compressed data block for a compressed data stream, wherein said compressed data stream includes data compression type descriptors indicative of the type of compression utilized for each one of said plurality of data blocks that was compressed; and transmitting said compressed data stream over an output having an output bandwidth, wherein the combined length of time required for performing said compressing of said plurality of received data blocks and said transmitting said compressed data stream over said output is less than a length of time required for transmitting said received data stream, in uncompressed form, over said output.