Data compression system with expansion protection
First Claim
Patent Images
1. A system comprising:
- system input means for receiving raw data;
system output means for transmitting data;
a data compressor for providing processed data, said compressor including a compressor input for receiving raw data and a compressor output for transmitting processed data, said compression input of said data compressor being coupled to said system input means;
processed data buffer means for storing processed data from said data compressor, said processed data buffer means having a processed data buffer input coupled to said compressor output and a processed data buffer output coupled to said system output, said processed data buffer including process data buffer full indicator means for providing a process data buffer full indication when a predetermined amount of processed data is stored therein;
raw data buffer means for storing raw data, said raw data buffer means having a raw data buffer input coupled to said system input means and a raw data buffer output coupled to said system output means, said raw data buffer means including raw data full indicator means for providing a raw data buffer full indication when a predetermined amount of data is stored therein; and
controller means for controlling the flow of raw and processed data between said system input means and said system output means, said controller means including means for receiving full indications from said buffers and means for enabling the outputs of both said buffer means so that the contents of said processed data buffer means can be transmitted via said system output means in response to a full indication from said raw data buffer means and so that the contents of said raw data buffer means can be transmitted via said system output means in response to a full indication from said processed data buffer.
1 Assignment
0 Petitions
Accused Products
Abstract
A data compression system implementing expansion protection employs one or more pairs of FIFOs to compare the lengths of raw and processed versions of a block of received data. The shorter version is transmitted so that the data transmitted by the data compression system is at most negligibly expanded relative to the system input. A code is inserted in the output stream to indicate the beginning of the transmission of a raw data block so that a receiving or retrieving system can determine whether the data following needs to be decompressed or not. Further codes can be injected to indicate a switch from raw data to processed data in the output of the compression system.
75 Citations
6 Claims
-
1. A system comprising:
-
system input means for receiving raw data; system output means for transmitting data; a data compressor for providing processed data, said compressor including a compressor input for receiving raw data and a compressor output for transmitting processed data, said compression input of said data compressor being coupled to said system input means; processed data buffer means for storing processed data from said data compressor, said processed data buffer means having a processed data buffer input coupled to said compressor output and a processed data buffer output coupled to said system output, said processed data buffer including process data buffer full indicator means for providing a process data buffer full indication when a predetermined amount of processed data is stored therein; raw data buffer means for storing raw data, said raw data buffer means having a raw data buffer input coupled to said system input means and a raw data buffer output coupled to said system output means, said raw data buffer means including raw data full indicator means for providing a raw data buffer full indication when a predetermined amount of data is stored therein; and controller means for controlling the flow of raw and processed data between said system input means and said system output means, said controller means including means for receiving full indications from said buffers and means for enabling the outputs of both said buffer means so that the contents of said processed data buffer means can be transmitted via said system output means in response to a full indication from said raw data buffer means and so that the contents of said raw data buffer means can be transmitted via said system output means in response to a full indication from said processed data buffer. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
receiving raw data; concurrently storing said raw data in a first memory device and processing said raw data according to a predetermined compression strategy and storing the resulting processed data in a second memory device; determining which of said memory devices is the first to fill; and transmitting the contents of the other memory device.
-
-
6. A method comprising:
-
receiving raw data; concurrently storing said raw data in a first memory device and processing said raw data according to a predetermined compression strategy and storing the resulting processed data in a second memory device; determining which of said memory devices is the first to fill; transmitting the contents of the other memory device; and transmitting a code to mark the transmitted contents as raw data when said second memory device is the first to fill.
-
Specification