Skip to Main Content
Binary arithmetic coding involves recursive partitioning the range [0,1) in accordance with the relative probabilities of occurrence of the two input symbols. We describe a modification of this approach in which the overall length within the range [0,1) allocated to each symbol is preserved, but the traditional assumption that a single contiguous interval is used for each symbol is removed. A key known to both the encoder and decoder is used to describe where the intervals are "split" prior to encoding each new symbol. The repeated splitting has the effect of both scrambling the intervals and altering their lengths, thereby allowing both encryption and compression to be obtained simultaneously.