Misplaced Pages

Adam7 algorithm: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 08:24, 17 July 2009 edit211.232.143.84 (talk)No edit summaryTag: repeating characters← Previous edit Revision as of 08:25, 17 July 2009 edit undo211.232.143.84 (talk)No edit summaryTag: repeating charactersNext edit →
Line 7: Line 7:
| |
<pre>1 6 4 6 2 6 4 6 <pre>1 6 4 6 2 6 4 6
7 7 7 7 7 7 7 7 dadf 7 7 7 7 7 7 7 7
5 6 5 6 5 6 5 6 5 6 5 6 5 6 5 6
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7

Revision as of 08:25, 17 July 2009

An illustration of Adam7 interlacing over a 16×16 image

Adam7 is the interlacing algorithm specified for use in PNG images. An interlaced PNG image is broken into seven subimages, which are defined by replicating this 8×8 pattern across the full image.

1 6 4 6 2 6 4 6
7 7 7 7 7 7 7 7
5 6 5 6 5 6 5 6
7 7 7 7 7 7 7 7
3 6 4 6 3 6 4 6
7 7 7 7 7 7 7 7
5 6 5 6 5 6 5 6
7 7 7 7 7 7 7 7

The subimages are then stored in the PNG file in numerical order.

Adam7 uses seven passes and operates in both dimensions, compared to only four passes in the vertical dimension used by GIF. This means the whole image can be perceived much more quickly in the early passes, particularly if interpolation algorithms such as bicubic interpolation are used.

Adam7 is named after Adam M. Costello, who suggested the method on January 30, 1995, based on this five-pass scheme that had earlier been proposed by Lee Daniel Crocker:

1 4 2 4
5 5 5 5
3 4 3 4
5 5 5 5

Related algorithms

Adam7 is a multiscale model of the data, similar to a discrete wavelet transform with Haar wavelets, though it starts from an 8×8 block, and downsamples the image, rather than decimating (low-pass filtering, then downsampling). It thus offers worse frequency behavior, showing artifacts (pixelation) at the early stages, in return for simpler implementation.

References

  1. Introduction to PNG - nuwen.net

External links

Category: