Algorithme Adam7
Adam7 est un algorithme d'entrelacement spécifié pour être utilisé par le format PNG.
Description
Une image, pour être entrelacée avec Adam7, est divisée en sept sous-images. Celles-ci dont définies en multipliant l'image complète par le motif 8×8 suivant :
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 |
Les sept sous-images sont ensuite stockées dans l'ordre dans le fichier.
Passes
À la passe n, 1/27 - n de l'image est affichée.
- Passe 1, 1/64 = 1.5625 %
- Passe 2, 1/32 = 3.125 %
- Passe 3, 1/16 = 6.25 %
- Passe 4, 1/8 = 12.5 %
- Passe 5, 1/4 = 25 %
- Passe 6, 1/2 = 50 %
- Passe 7, 1/1 = 100 %
Comparaison
Cet entrelacement utilise sept passes et travaille en deux dimensions (horizontalement et verticalement), alors que le format GIF n'utilise que quatre passes et travaille sur une seule dimension (verticalement). Les images entrelacées avec PNG peuvent donc être perçues plus rapidement dans leur ensemble qu'avec GIF, en particulier si des algorithmes d'interpolation telles que l'interpolation bicubique sont utilisés pour combler les vides lors des premières passes[1].
Histoire
Adam7 a été nommé d'après le prénom d'Adam M. Costello, qui avait suggéré le , sur la liste de diffusion de PNG[2], d'utiliser la méthode basée sur cinq passes qui avait déjà été proposée par Lee Daniel Crocker :
1 4 2 4 5 5 5 5 3 4 3 4 5 5 5 5 |
Notes
- (en) Stephan T. Lavavej, « Introduction to PNG », nuwen.net.
- (en) Adam M. Costello, « Re: CRC », png-list, 30 janvier 1995 : « By the way, what would folks think of a Lee-style 7-pass scheme? Just the same thing, but starting with a 1/64 image? That would make the initial large pixels 8x8. ».
Références
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Adam7 algorithm » (voir la liste des auteurs).