An efficient method for compressing sampled analog signals in real time, without loss, or at a user-specified rate or
distortion level, is described. The present invention is particularly effective for compressing and decompressing high-speed, bandlimited analog signals that are not appropriately or effectively compressed by prior art speech, audio, image, and video compression algorithms due to various limitations of such prior art compression solutions. The present invention's
preprocessor apparatus measures one or more
signal parameters and, under
program control, appropriately modifies the
preprocessor input
signal to create one or more
preprocessor output signals that are more effectively compressed by a follow-on compressor. In many instances, the follow-on compressor operates most effectively when its input
signal is at
baseband. The compressor creates a
stream of compressed data tokens and compression
control parameters that represent the original sampled input signal using fewer bits. The decompression subsystem uses a decompressor to decompress the
stream of compressed data tokens and compression
control parameters. After decompression, the decompressor output signal is processed by a post-processor, which reverses the operations of the preprocessor during compression, generating a postprocessed signal that exactly matches (during
lossless compression) or approximates (during
lossy compression) the original sampled input signal.
Parallel processing implementations of both the compression and decompression subsystems are described that can operate at higher sampling rates when compared to the sampling rates of a single compression or decompression subsystem. In addition to providing the benefits of real-
time compression and decompression to a new, general class of sampled data users who previously could not obtain benefits from compression, the present invention also enhances the performance of test and measurement equipment (oscilloscopes, signal generators, spectrum analyzers, logic analyzers, etc.), busses and networks carrying sampled data, and data
converters (A / D and D / A
converters).