7. An apparatus for compressing an input ensemble of a plurality of messages from an alphabet of messages into a compressed output ensemble, the apparatus comprising: an input interface for receiving the input ensemble plurality of messages; a controller coupled to the input interface, wherein the controller includes a compression engine configured to compress the input ensemble into a compressed output ensemble; and an output interface coupled to the controller for transmitting the compressed output ensemble from the apparatus, wherein the controller is configured to assign a mapping of the messages in the alphabet of messages to a plurality of codewords to create a mapping table, wherein the controller is configured to read the input ensemble of messages, wherein the controller is configured to convert each read message to an input codeword (c in ) based on the mapping table, and wherein the controller is configured to output the converted codewords as a compressed output ensemble, wherein each output codeword is constructed from one or more previously constructed output codewords.
7. An apparatus for compressing an input ensemble of a plurality of messages from an alphabet of messages into a compressed output ensemble, the apparatus comprising: an input interface for receiving the input ensemble plurality of messages; a controller coupled to the input interface, wherein the controller includes a compression engine configured to compress the input ensemble into a compressed output ensemble; and an output interface coupled to the controller for transmitting the compressed output ensemble from the apparatus, wherein the controller is configured to assign a mapping of the messages in the alphabet of messages to a plurality of codewords to create a mapping table, wherein the controller is configured to read the input ensemble of messages, wherein the controller is configured to convert each read message to an input codeword (c in ) based on the mapping table, and wherein the controller is configured to output the converted codewords as a compressed output ensemble, wherein each output codeword is constructed from one or more previously constructed output codewords. 8. The apparatus as recited in claim 7 , wherein the controller is configured to maintain a dictionary of codewords generated from the mapping of two output codewords, and wherein the converting step includes converting each read message to an input codeword based on the dictionary codewords.