Tutorials Developer

Joan Mitchell: The Arithmetic Coder Inside JPEG

Profile ยท ~15 min
JL
1947-2015
No freely licensed image known

Overview

Joan L. Mitchell (1947โ€“2015) co-developed the Q-coder, the adaptive binary arithmetic coder used in JPEG and JBIG, at IBM. She co-authored JPEG: Still Image Data Compression Standard, the reference work on the format, and MPEG Video Compression Standard, and held around 60 patents. She was named an IBM Fellow.

What You Need

  • Lived: 1947โ€“2015, United States
  • Anchor year: 1992 โ€” the Q-coder in JPEG and JBIG
  • Strand: overlooked โ€” inside a committee standard

Steps

1

The problem as it stood

Huffman coding assigns whole numbers of bits per symbol, so it wastes fractions of a bit whenever a symbol's ideal code length is not an integer. For highly skewed distributions โ€” common in image data โ€” that waste is significant.

2

What she actually did

Mitchell worked on adaptive binary arithmetic coding, producing with colleagues the Q-coder and its successors, which encode a whole message as a single number within an interval subdivided according to symbol probabilities, adapting those probabilities as it goes.

3

How it worked

Arithmetic coding is not restricted to integer bits per symbol, so it can approach entropy more closely than Huffman. Adaptive versions update their probability estimates from the data already coded, so no statistics need transmitting. The cost is complexity and, historically, patents.

4

What it made possible

Better compression in JPEG's arithmetic mode and in JBIG, and the technique that later became central to JPEG 2000 and to the CABAC coder in H.264 and HEVC. Her books also shaped how a generation of engineers understood the standards.

5

What happened to her

She spent most of her career at IBM, becoming an IBM Fellow, and later worked at Ricoh. She died in 2015.

6

Where the credit landed

Mitchell's work sits inside JPEG, a standard credited to a committee, and inside IBM, which held the patents. Standards-body authorship is its own erasure mechanism: MPEG, JPEG, ITU and ISO documents are the invention, so there is no inventor to credit. Patent encumbrance is also why JPEG's arithmetic coding mode was rarely implemented despite compressing better than the Huffman mode โ€” the standard permitted it and almost nobody used it.

Pro Tips

  • Arithmetic coding is not limited to whole bits per symbol, so it beats Huffman on skewed data.
  • JPEG's arithmetic mode was rarely used because of patents, not because it was worse.
  • CABAC in H.264 and HEVC descends from this line of work.

What You'll Learn

A better coder that almost nobody was allowed to use.

Why fractional bits matter

If a symbol occurs 90% of the time its ideal code length is about 0.15 bits. Huffman must assign it at least one whole bit, wasting most of that. Arithmetic coding represents the entire message as a single number, so symbols can effectively cost fractional bits and the total approaches entropy far more closely. On the highly skewed distributions typical of image and video data, the gain is substantial โ€” which is why modern video codecs use it despite the added complexity.

Where This Fits

This guide covers one specific part of the history of media technology. The wider picture โ€” how each link in the chain from capture through transmission to display was actually built, who built it, and why the credit so often landed somewhere else โ€” is in A History of Broadcast Technology: The Chain From Capture to Screen, which frames the discipline as a whole and links out to the detailed guides underneath it, including this one. If you are starting from scratch rather than solving a specific problem, read that first and come back here.

FAQ

Q: What is arithmetic coding?
A: An entropy coding method representing a whole message as a single number in an interval subdivided according to symbol probabilities. Unlike Huffman coding it is not limited to whole bits per symbol, so it can approach the entropy limit more closely.

Q: Why is JPEG's arithmetic mode rarely used?
A: It was patent-encumbered when JPEG was adopted, so implementations overwhelmingly used the Huffman mode despite arithmetic coding compressing better.