Arithmetic coding provides an effective mechanism for removing redunda
ncy in the encoding of data. We show how arithmetic coding works and d
escribe an efficient implementation that uses table lookup as a fast a
lternative to arithmetic operations. The reduced-precision arithmetic
has a provably negligible effect on the amount of compression achieved
. We can speed up the implementation further by use of parallel proces
sing. We discuss the role of probability models and how they provide p
robability information to the arithmetic coder. We conclude with persp
ectives on the comparative advantages and disadvantages of arithmetic
coding.