Versions tested: 1.0, 1.2, 1.9
Optimal parameters: c1 25
Links: rangecoder-1.9.7z
rangecoder-1.2.7z
rangecoder-1.0.7z
Authors: David Catt
Algorithms: ARI
Notable peformances: -

rangecoder

It uses the last n bits as context and keeps a record of the probability that the next bit after the context will be 0 or 1. It then rangecodes the probabilities, using 1-byte based output. It will not achieve top notch compression or efficiency, rather it should be used as a baseline for model based entropy encoding. The version that I am sending is written in VB.net, so it requires the .NET framework to run and will run slower than native variants. Eventually, a new version will be made that is built in C, but only when I have the time. For input data, generally the higher the order of the model, the better the compression. However, in rare cases, the compression will be worse at higher orders.

author's description 2011, Oct 21

 

v1.0 was submitted on October 21, 2011.

v1.9 was submitted on December 14, 2011. This version includes source code.

(Have info that should be added here? E-mail.)


Disqualified (why) configurations (with qualification ratings)
Ver Rating CPR DPR S.E. R.E. Ratio C. kB/s D. kB/s
0
1.0 0 0 0 0 0 1.009 2197 2118
1.2 program outputs error message (q1)
16
1.0 0 0 0 19 0 1.702 1939 1872
1.2 program outputs error message (q1)
25
1.2 program outputs error message (q1)
26
1.0 program outputs error message (q1)
c1 25
1.9 10 9 10 62 0 2.367 1288 1285
c5 25
1.9 2 2 2 23 0 2.264 597 588

Version info

1.0, tar: yes, mode: 32-bit, crc32: 617dac4c, decoder: 6 kB, tested: 2011 Oct 21
compression: rcw.exe c <args> <src> <cfile>
decompression: rcw.exe d <cfile> <src>
1.2, tar: yes, mode: n/a, crc32: n/a, decoder: n/a, tested: 2011 Oct 21
compression: rangecoder.exe c <args> <src> <cfile>
decompression: rangecoder.exe d <cfile> <src>
1.9, tar: yes, mode: 64-bit, crc32: 355da43a, decoder: 6 kB, tested: 2012 Jan 14
compression: rangecoderc64.exe <args> <src> <cfile>
decompression: rangecoderc64.exe d <cfile> <src>