Dec 162017

C code for Arithmetic data compression from an article in ACM. | |||
---|---|---|---|

File Name | File Size | Zip Size | Zip Type |

ADAPMODL | 620 | 187 | deflated |

ADAPMODL.C | 2278 | 762 | deflated |

ARITHCOD.H | 651 | 308 | deflated |

ARITHDEC.C | 2215 | 761 | deflated |

ARITHENC.C | 2810 | 920 | deflated |

BITINPUT.C | 1059 | 464 | deflated |

BITOUTPT.C | 644 | 302 | deflated |

DECODE.C | 1034 | 440 | deflated |

DECODE.EXE | 8154 | 5159 | deflated |

ENCODE.C | 1221 | 487 | deflated |

ENCODE.EXE | 8170 | 5144 | deflated |

MODEL.H | 836 | 380 | deflated |

README.DOC | 1405 | 756 | deflated |

# Download File ARITHCOD.ZIP Here

## Contents of the README.DOC file

Programs from "Arithmetic Coding for Data Compression"

By Ian H. Witten, Radford M. Neal, and John G. Cleary

Communications of the ACM

June 1987 Volume 30 Number 6

Pages 520-540

This article describes a different approach to data compression. The

process of compression is divided into two seperate functions. The

first function is the "model" which predicts the probability that a

given character will appear next in the input. The second function

uses these probabilities to encode the data using a floating point

number representation to achieve the maximum possible compression

(even better than the Huffman method).

Many different models can be used. One is a static model that assigns

fixed probabilities to the characters (based, for example, on their

known frequency in english text). Or you could make a pre-pass over

the file to statically determine the actual frequencies for each

particular file.

The authors prefer a technique they call the "adaptive model" which

keeps track of the cumulative frequencies as the file is read.

Other more sophisticated models could be used. The bibliography to

the article references two different adaptive models that result in

an average of 2.2 bits/character for mixed-case English text. This is

a compression factor of 363%.

These programs are written for Microsoft C Version 4.00. No

optimizations have been attempted.

By Ian H. Witten, Radford M. Neal, and John G. Cleary

Communications of the ACM

June 1987 Volume 30 Number 6

Pages 520-540

This article describes a different approach to data compression. The

process of compression is divided into two seperate functions. The

first function is the "model" which predicts the probability that a

given character will appear next in the input. The second function

uses these probabilities to encode the data using a floating point

number representation to achieve the maximum possible compression

(even better than the Huffman method).

Many different models can be used. One is a static model that assigns

fixed probabilities to the characters (based, for example, on their

known frequency in english text). Or you could make a pre-pass over

the file to statically determine the actual frequencies for each

particular file.

The authors prefer a technique they call the "adaptive model" which

keeps track of the cumulative frequencies as the file is read.

Other more sophisticated models could be used. The bibliography to

the article references two different adaptive models that result in

an average of 2.2 bits/character for mixed-case English text. This is

a compression factor of 363%.

These programs are written for Microsoft C Version 4.00. No

optimizations have been attempted.

December 16, 2017
Add comments