Compression is ubiquitous in consumer electronics. Modern compression algorithms exploit the limitations of human hearing and vision to offer compression ratios from 4:1 for speech and more than 30:1 for video, generating “good enough” audio and video for consumers. While these applications have used compression for years, many industrial, scientific, and medical (ISM) applications don’t use it. Many engineers in medical imaging, radar, sonar, test and measurement, and wireless infrastructure are unaware of the benefits provided by real-time compression to reduce their bandwidth and storage bottlenecks (see the table).
Compression algorithm designers trade off three system parameters: bit rate, quality of result, and complexity. Compression algorithms are compared using a rate-distortion curve that quantifies our intuition: the more we compress, the lower the bit rate, but the higher the distortion in the decompressed signal. Engineers can also choose a more complex algorithm that uses more MIPS, gates, and power to achieve higher compression ratios.
A stream of characters (ASCII characters for computer files, 16-bit samples for audio, 8-bit RGB samples for images and video) contains redundancy that is reduced by applying mathematical or logical transformations. The transformed stream contains characters that are more random (but smaller) than the original characters. Characters in the whitened stream are then encoded into compressed packets using lossless bit-packing methods. Redundancy removal procedures vary depending on the input data.
For Lempel-Ziv text compression, strings of repeating characters update a time-varying dictionary, and the current word or phrase is replaced by a pointer to that word or phrase in the dictionary. Speech compression divides 8-bit speech samples into 20-ms frames whose spectral characteristics are relatively constant during each frame. Speech encoders then generate parameters for each frame that can be encoded more efficiently than the original samples.
MP3 encoding takes advantage of psychoacoustics to compress audio by 10 times or more. Human hearing has a nonlinear frequency response—it requires a wider dynamic range between 1 and 3 kHz than below 500 Hz or above 10 kHz. Audio compression algorithms like MP3 exploit such known weaknesses to remove bits we wouldn’t notice anyway.
Image and video compression algorithms exploit characteristics of the human visual system, first transforming red, green, and blue color planes into intensity (Y) and color (Cr, Cb) information. Intensity and color components are then separately compressed.
While most sampled data in the world comprises consumer-oriented speech, audio, images, and video, ISM applications process even more prodigious and exponentially increasing amounts of sampled data. To handle this increasing flood of samples, ISM engineers usually solve growing bandwidth and storage problems with brute-force solutions.
If bandwidth needs move from 3 to 9 Gbits/s, add two more 3-Gbit/s links. If a 100-Mbyte/s SATA drive can only record one-fourth of the real-time sensor data, add three more SATA drives to the system. What if ISM applications could use a real-time compression algorithm to reduce their bandwidth and storage requirements? Would the system cost less and work as well, or better?
There would be challenges in mapping speech, audio, and video compression algorithms into ISM applications. ISM signals can’t accept the nonlinear frequency response introduced by speech and audio algorithms. A fundamental assumption of MP3 compression is that humans will listen to the decompressed signal, but that assumption doesn’t apply to ISM signals.
The basic unit of speech compression, the 20-ms frame, doesn’t have any physical meaning for non-audible signals. Similarly, since ultrasound, CT, and SAR signals aren’t captured as RGB color planes, JPEG and H.264 are non-starters for ISM signal compression. And while ISM applications like 4D ultrasound and CT use 2D sensor arrays, humans never directly view the samples. Instead, such captured frames are further processed (beamformed for ultrasound, filtered back-projection for CT) prior to end-user consumption.
For those ISM applications that use onedimensional sensor arrays (i.e., ADCs), there isn’t a logical way to map each analog- to-digital channel into a 2D compression algorithm like JPEG or H.264. There doesn’t seem to be a workaround for these fundamental problems either.
While most engineers agree that compressing video streams at a few hundred Mbits/s is challenging, CT, ultrasound, and synthetic aperture radar (SAR) engineers have to process 4 to 250 Gbits/s of sampled data in real time! Such sophisticated DSP applications use FPGAs or ASICs because alternative platforms like microprocessors and general-purpose DSP chips can’t handle the I/O, and their available MIPS are orders of magnitude lower than the algorithms require.
Continue on Page 2
ISM applications have distinctive channel counts, sample rates, dynamic range, compression mode, and platform requirements that differ substantially from speech, audio, and video applications. CT scanner channel counts are among the highest in manmade systems. For instance, the Toshiba Aquilion ONE CT scanner contains more than 300,000 analog-to-digital converter (ADC) channels.
The per-channel CT sample rates are relatively low at 3 to 10 ksamples/s, but the dynamic range for CT is 20 bits or more. 4D ultrasound will use nearly 2000 transducers, each sampled at 50 Msamples/s and 12 bits per sample. So a compression algorithm for ISM applications has to compress between 10 Msamples/s (lowspeed ultrasound applications) and 60 Gsamples/s (high-end oscilloscopes) per analog-to-digital channel.
Because of the large variation in channel counts, an ISM compression algorithm should be scalable in both directions. The algorithm should scale down so, for example, a single FPGA or ASIC compression instantiation operating at 250 Msamples/s could be configured to compress 10 channels at 25 Msamples/s or 25 channels at 10 Msamples/s. The algorithm should also scale up so, for instance, a 2-Gsample/s sample stream could be compressed in an ASIC or FPGA using eight instantiations of the same 250-Msample/s compression core.
ISM users will benefit from selecting lossless or lossy compression modes, unlike today’s speech, audio, and video compression algorithms that only offer lossy compression. ISM engineers want to begin using compression with the guaranteed signal quality that lossless compression offers. Once they and their customers realize their sampled data signals contain imperfections and that their own DSP processing can tolerate small errors, ISM users can experiment with lossy modes because the compression ratios are higher.