In 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. 1 Background Arithmetic coding (AC) is a technique for data compression that theoretically allows us to code data at Shannon entropy. The idea was first developed by Pasco[1], who was inspired by a proof of Shannon's theorem, and shortly after by Rissanen [2]. The first p...
Benjamin Kelly, David F. Brailsford