Adam7

from Wikipedia, the free encyclopedia
Animation of the image structure at Adam7

Adam7 is a gradual image build-up algorithm when transferring image data over a slow connection, such as narrowband internet . The goal is to show the user a rough version of the image that gradually refines, rather than an image that slowly builds up from top to bottom. Adam7 is named after its inventor Adam M. Costello and is used, among other things, in the PNG image format .

method

The overall picture is built up in a total of seven runs. To do this, it is first necessary to split the original image into blocks of 8 × 8 pixels . Each of these pixels has a specific value from 1 to 7. The seven runs are saved one after the other in the image file. Each pass consists of the pixels with the corresponding value. When the file is read, the corresponding runs are transmitted one after the other.

The number of pixels increases or remains the same with each pass. The weights are defined as follows:

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

It is common practice to draw rectangles over the remaining, not yet transferred image block for the pixels already present, so that the impression of a gradual “refinement” arises.

Advantages and disadvantages

Compared to the scheme used in GIF , in which only complete lines are transmitted, Adam7 has the advantage that the first pass affects fewer pixels and thus an output image can be presented eight times as fast. In addition, the refinement of columns in addition to rows helps make text more readable.

However, Adam7 is more complicated to implement. In particular, it must be ensured that images that are smaller than a block are also correctly evaluated. Compressed image files using Adam7 are also usually slightly larger than normal image files because the natural order of the image data is not preserved. Therefore Adam7 should only be used for larger images that are posted on the Internet or stored on a slow storage medium.

Web links