Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

comp.compression Frequently Asked Questions (part 1/3)
Section - [13] I need source for arithmetic coding

( Part1 - Part2 - Part3 - Single Page )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Airports ]


Top Document: comp.compression Frequently Asked Questions (part 1/3)
Previous Document: [12] I need source for the winners of the Dr Dobbs compression contest
Next Document: [15] Where can I get image compression programs?
See reader questions & answers on this topic! - Help others by sharing your knowledge

(See question 70 for an introduction to arithmetic coding.)

The source for the arithmetic coder described in Chap.5 of Bell, Cleary, and
Witten's book "Text Compression" (see question 7 above) (or, equivalently, in:
Witten, Neal, and Cleary's article "Arithmetic Coding for data Compression"
from Communications of the Association for Computing Machinery, 30 (6),
pp.520-540, June, 1987) is in ftp://ftp.cpsc.ucalgary.ca/pub/projects/ar.cod/
It only comes with a simple order-0 model but it's set up so that adding your
own more sophisticated one is straightforward. Look also in
ftp://munnari.mu.oz.au/pub/arith_coder

C language source code for adaptive arithmetic coding based on the
Witten-Neal-Cleary source code is in http://www.cipr.rpi.edu/wheeler/ac/
This version uses structures for the coder, decoder and data model instead of
global variables.  This object oriented approach allows you to simultaneously
use several arithmetic coders, each streaming bits to a different file and to
have several adaptive models for each coder, each with a different number of
symbols and frequncy table.  Written by Fred Wheeler <wheeler@cipr.rpi.edu>

A low precision arithmetic coding implementation avoiding hardware
division is available on the same site in
ftp://ftp.cpsc.ucalgary.ca/pub/projects/arithmetic.coding/low.precision.version
file low.precision.version.shar

Kris Popat <popat@image.mit.edu> has worked on "Scalar Quantization
with Arithmetic Coding."  It describes an arithmetic coding technique
which is quite general and computationally inexpensive.  The
documentation and example C code are available in
ftp://ftp.media.mit.edu/pub/k-arith-code/

The program 'urban' in ddjcompr.zip (see item 12 above) is a high order
arithmetic coder working at the bit level. It is written by Urban Koistinen
<md85-epi@nada.kth.se>.

The DMC program is available in ftp://plg.uwaterloo.ca/pub/dmc/
It implements the algorithm described in "Data Compression using Dynamic
Markov Modelling", by Gordon Cormack and Nigel Horspool, Computer
Journal 30:6 (December 1987).  This program uses Guazzo's version of
arithmetic coding.

An implementation of Moffat's arithmetic coder is available in
http://www.cs.dartmouth.edu/~jmd/ArithCoder.tar.gz

Michael Schindler <michael@compressconsult.com> provides a page on Range
Coding http://www.compressconsult.com/rangecoder/ which includes an article
and source code. According to Michael Schindler, the performance of that
coder is a lot faster than the A. Moffat et al. CACAM coder or even the
Moffat Data Compression Conference 1995 coder, at least for machines
supporting a fast integer multipy and divide.

User Contributions:

Comment about this article, ask questions, or add new information about this topic:

CAPTCHA




Top Document: comp.compression Frequently Asked Questions (part 1/3)
Previous Document: [12] I need source for the winners of the Dr Dobbs compression contest
Next Document: [15] Where can I get image compression programs?

Part1 - Part2 - Part3 - Single Page

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
jloup@gzip.OmitThis.org





Last Update March 27 2014 @ 02:11 PM