|
MMDC (Multimodal Data Compression) is a meta data compression algorithm that manages the creation, destruction and invocation of other algorithms. Many data streams consist of interleaved segments of a variety of other streams. For example, a network link might carry some text, then some executable code, then some text again, then some scientific data, then some code again. An ordinary adaptive data compression algorithm will adapt to each of these "modes" but will forget each kind of data as it learns the next kind. However, the MMDC algorithm is good at dealing with interleaved streams. It starts with just one model (e.g. SAKDC) and runs it. However, if compression performance drops significantly, it spawns off a new model and uses that. If the old model's performance improves, it switches back. Each model learns only at the times when it is performing well. In this way, each model learns its own kind of data when that data is present. MMDC is described in detail in Chapter 5 of my Ph.D. Thesis which was published as a book (which you can purchase online) The implementation of MMDC is not available. MMDC was implemented in Ada on the VAX/VMS operating system. The code resides on a tape somewhere. However, the algorithm is simple, is completely defined in the thesis, and should be easy to implement using any component adaptive compression algorithm.
Copyright © Ross N. Williams 1996-1997. All rights reserved. |