January 8, 2003
Author: John Balestrieri
Remember HyperCard? One of the things I loved best about it was the quality of the graphics. HyperCard only supported 1 bit (black & white) graphics, but the dithering algorithm used by its users to convert continuous tone photos to black & white had a rich, velvety quality that I found really appealing:
This dithering was produced by Apple’s HyperScan software — basically a HyperCard stack with an XCMD to drive an Apple scanner — written by the legendary Apple engineer, Bill Atkinson.
HyperScan’s dithering technique is much superior to currently available options, such as those available in PhotoShop:
On the left, Floyd-Steinberg Dithering (used by QuickTime, PhotoShop).
On the right, Atkinson Dithering (used by HyperScan).
As you can see, there is a clarity to the dithering on the right that lets you “see through” into the image.
HyperScan is the only commercial product I know of that implemented this dithering routine. I was eager to get my hands on the algorithm for many years and had tried emailing Bill Atkinson in the past. Persistence eventually paid off and Mr. Atkinson kindly provided me with the details of his algorithm. In brief:
- Start with a standard stochastic dithering algorithm.
- Propagate only 3/4 of the total error term.
- Propagate the error to the neighbors as follows: