<div>A reader might wonder, why care about the arithmetic encoding? Recently, I tried to compress a rather big scan (private content, an A4 page at 1200 dpi with black foreground text and a nontrivial green-white background) into a JPEG file of a possibly small size. I ran:</div><div><br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>cjpeg -quality 0 -arithmetic -dct float -outfile output.arithmetic.jpg -report -strict -verbose input.pnm</div><div><br data-mce-bogus="1"></div><div>cjpeg -quality 0 -optimize -dct float -outfile output.optimized.jpg -report -strict -verbose input.pnm</div><div><br data-mce-bogus="1"></div><div><div>cjpeg -quality 0 -dct float -outfile output.unoptimized.jpg -report -strict -verbose input.pnm</div><div><br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div></div><div>(Quality 1 would do as well. The real file names have been replaced by “input” and “output” for privacy here.)</div><div><br data-mce-bogus="1"></div><div>The sizes are this:</div><div><br data-mce-bogus="1"></div><div>output.arithmetic.jpg: 239224 bytes</div><div><br data-mce-bogus="1"></div><div>output.optimized.jpg: 807963 bytes</div><div><br data-mce-bogus="1"></div><div>output.unoptimized.jpg: 1928235 bytes</div><div><br data-mce-bogus="1"></div><div>The foregrounds of the three files are readable and have visually comparable quality. The savings in size between output.arithmetic.jpg and output.optimized.jpg are a factor exceeding 3.3. (And NOT a tiny one-digit percentage, as reported in “A Review on JPEG2000 Image Compression” by Maini and Mehra and in the Wikipedia article on JPEG.) These savings do make a difference if you use more images of this kind and your storage or bandwidth is restricted.</div>