아담7 알고리즘

아담7 알고리즘()은 PNG 파일에 사용되는 일종의 인터레이싱 알고리즘(interlacing algorithm)으로, 1995년에 이를 발표한 아담 코스텔로(Adam M. Costello)의 이름을 따 명명되었다.

프레임|오른쪽|16x16 크기의 비트맵에 대하여, Adam7 인터레이싱 알고리즘을 적용하는 그림.

 개요 

인터레이스된(interlaced) PNG 이미지는 여러 작은 이미지로 나뉘어야 하는데, 다음과 같은 8x8 패턴을 따라 전체 이미지가 작은 이미지로 나뉘게 되어 있다.

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

이런 식으로 나뉜 다음 여러 작은 이미지들이 번호 순서대로 PNG 파일에 저장된다.

아담7 알고리즘은 x, y 축 모두를 사용한 (2차원의) 7개의 패스(pass)를 이용한다. 반면 GIF는 4개의 패스(pass)를 이용하며 오직 수직 방향만 이용한다. 이것은 좀 더 적은 수의 패스(pass) 상태에서도 사람들로 하여금 전체 이미지를 더 빨리 인식하게 해 준다는 말이 된다.
 크로커의 5-패스 방법 
아담7 알고리즘은 이전에 발표되었던 리 다니엘 크로커()의 5-패스(5-pass) 방법을 개선한 것이었다. 크로커의 방법은 다음과 같다.

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

 같이 보기 
 PNG
 GIF

 외부 링크 
 아담7 인터레이싱과 GIF 인터레이싱의 비교 (애니메이션)
 PNG (Portable Network Graphics) Specification, Version 1.2
 PNG Spec. v1.2. 인터레이스드 데이터 오더 부분

분류:무손실 압축 알고리즘
분류:화상 압축