Dynamic history multistream long range compression
AssigneeHughes Networks Systems, LLC
InventorsDouglas Merrill Dillon, Uday R. Bhaskar
Life of this patent
Estimating the term…
Abstract
Dynamic history multistream long range compression (DHC) techniques are described for efficiently compressing multiple, prioritized data streams received over a channel. A history buffer is associated with each received stream and a DHC compressor dynamically allocates fixed sized history sections to and from each history buffer. In implementations, the DHC compressor makes stream history size adjustments prior to compressing a block of data and sends information identifying the change in history size to a DHC decompressor. The DHC decompressor sends signaling information to the DHC compressor that is used to ensure that the DHC decompressor can operate with a fixed amount of total history memory.
Claims17
A method, comprising:
- receiving a compressed data block associated with a first data stream of a plurality of prioritized data streams, wherein each of the plurality of prioritized data streams is associated with a history buffer comprising one or more allocated history sections;
- determining if the compressed data block is tagged with a history size increase;
- in response to determining that the compressed data block is tagged with the history size increase, allocating an additional history section to the history buffer associated with the first data stream;
- inserting the additional history section into the history buffer associated with the first data stream;
- and
- decompressing the compressed data block using a long range decompressor associated with the first data stream.
A method, comprising:
- receiving a compressed data block associated with a first data stream of a plurality of prioritized data streams, wherein each of the plurality of prioritized data streams is associated with a history buffer comprising one or more allocated history sections;
- determining if the compressed data block is tagged with a history size increase;
- decompressing the compressed data block using a long range decompressor associated with the first data stream;
- receiving a stream history decrease signaling message from a compressor, wherein the stream history decrease signaling message is associated with a second data stream of the plurality of prioritized data streams;
- and
- deallocating a history section from the history buffer associated with the second data stream.
A decompressor, comprising:
- a processor;
- and
- a non-transitory computer-readable medium operatively coupled to the processor, and having instructions stored therein that when executed by the processor cause the decompressor to:
- receive a compressed data block associated with a first data stream of a plurality of prioritized data streams, wherein each of the plurality of prioritized data streams is associated with a history buffer comprising one or more allocated history sections;
- determine if the compressed data block is tagged with a history size increase;
- in response to determining that the compressed data block is tagged with the history size increase, allocate an additional history section to the history buffer associated with the first data stream;
- insert the additional history section into the history buffer associated with the first data stream;
- and
- decompress the compressed data block using a long range decompressor associated with the first data stream.
A decompressor, comprising:
- a processor;
- and
- a non-transitory computer-readable medium operatively coupled to the processor, and having instructions stored therein that when executed by the processor cause the decompressor to:
- receive a compressed data block associated with a first data stream of a plurality of prioritized data streams, wherein each of the plurality of prioritized data streams is associated with a history buffer comprising one or more allocated history sections;
- determine if the compressed data block is tagged with a history size increase;
- decompress the compressed data block using a long range decompressor associated with the first data stream;
- receive a stream history decrease signaling message from a compressor, wherein the stream history decrease signaling message is associated with a second data stream of the plurality of prioritized data streams;
- and
- deallocate a history section from the history buffer associated with the second data stream.
A non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to perform a method comprising:
- receiving a compressed data block associated with a first data stream of a plurality of prioritized data streams, wherein each of the plurality of prioritized data streams is associated with a history buffer comprising one or more allocated history sections;
- determining if the compressed data block is tagged with a history size increase;
- in response to determining that the compressed data block is tagged with the history size increase, allocating an additional history section to the history buffer associated with the first data stream;
- inserting the additional history section into the history buffer associated with the first data stream;
- and
- decompressing the compressed data block using a long range decompressor associated with the first data stream.
Dependencies are inferred from the claim text.