A note on versions:The version presented here may differ from the published version or from the version of record. If you wish to cite this item you are advised to consult the publisher's version. Please see the repository url above for details on accessing the published version and note that access may require a subscription.For more information, please contact eprints@nottingham.ac.uk
Foreword and ColophonThis paper reports on work performed in 2005-6 by my grad. student Benji Kelly, which eventually formed a major part of his Masters (M.Phil) thesis here at the University of Nottingham. He then went on to do a PhD at Cornell University.Benji's work began with an interest in Golomb coding but he soon extended the scope of his researches to take in adaptive binary arithmetic coding. The paper presented here was submitted to the annual Data Compression Conference in 2006 (DCC 2006). These conferences are held in Snowbird, Utah and are very well regarded in the DCC field. Although our paper was accepted only as a poster, we felt rather pleased to have had success of some sort at our first attempt.The version here is the original, unabbreviated, submission to DCC.The paper was created using L A T E X with the hyperref package and was then converted to PDF using pdfeTeX-1.21aDavid F. Brailsford. February 2015.The B-coder: An improved binary arithmetic coder and probability estimator
AbstractIn this paper we present the B-coder, an efficient binary arithmetic coder that performs extremely well on a wide range of data. The B-coder should be classed as an 'approximate' arithmetic coder, because of its use of an approximation to multiplication. We show that the approximation used in the B-coder has an efficiency cost of 0.003 compared to Shannon entropy. At the heart of the B-coder is an efficient state machine that adapts rapidly to the data to be coded. The adaptation is achieved by allowing a fixed table of transitions and probabilities to change within a given tolerance. The combination of the two techniques gives a coder that out-performs the current state-of-the-art binary arithmetic coders.