Parent document is top of "JPEG image compression FAQ, part 1/2"
Previous document is "[16] How does JPEG work?"
Next document is "[18] Could an FPU speed up JPEG? How about a DSP chip?"

[17] What about arithmetic coding?

The JPEG spec defines two different "back end" modules for the final output
of compressed data: either Huffman coding or arithmetic coding is allowed.
The choice has no impact on image quality, but arithmetic coding usually
produces a smaller compressed file.  On typical images, arithmetic coding
produces a file 5 to 10 percent smaller than Huffman coding.  (All the
file-size numbers previously cited are for Huffman coding.)

Unfortunately, the particular variant of arithmetic coding specified by the
JPEG standard is subject to patents owned by IBM, AT&T, and Mitsubishi.
Thus *you cannot legally use JPEG arithmetic coding* unless you obtain
licenses from these companies.  (Patent law's "experimental use" exception
allows people to test a patented method in the context of scientific
research, but any commercial or routine personal use is infringement.)

I recommend that people not use JPEG arithmetic coding; the space savings
isn't great enough to justify the potential legal hassles.  In particular,
arithmetic coding *should not* be used for any images to be exchanged on
the Internet.  Even if you don't care about US patent law, other folks do.

Parent document is top of "JPEG image compression FAQ, part 1/2"
Previous document is "[16] How does JPEG work?"
Next document is "[18] Could an FPU speed up JPEG? How about a DSP chip?"