APNG
파일 확장자 | .png .apng |
---|---|
인터넷 미디어 타입 | image/apng, image/png |
발표일 | 2008년 8월 4일 |
포맷 종류 | 애니메이션 래스터 이미지 포맷 |
다음으로부터 확장 | PNG |
오픈 포맷? | 예 |
APNG(Animated Portable Network Graphics)는 PNG를 확장한 이미지 파일 포맷으로, Stuart Parmenter와 Vladimir Vukicevic가 제안했다. 이 포맷은 GIF와 비슷한 방법으로 애니메이션을 구현하면서 기존 PNG 파일과의 하위 호환성을 유지했기 때문에 GIF보다 더 높은 품질을 보여 준다. PNG 기반의 애니메이션 파일 포맷으로 MNG도 있지만, APNG는 MNG보다 구현이 간단하고 호환성이 유지된다는 장점이 있다.
APNG 파일의 첫 프레임은 일반적인 PNG 스트림으로 저장되기 때문에, APNG를 해석할 수 없는 기존 PNG 디코더들도 APNG 파일의 첫 프레임을 보여 줄 수 있다. 나머지 프레임들과 애니메이션 정보들은 별도의 스트림으로 저장된다.
2013년 기준으로 libpng를 사용한 APNG 구현이 있지만, 대부분의 이미지 라이브러리, 뷰어, 편집기에서 APNG를 지원하지 않기 때문에 아직 대중적으로 사용되지는 않고 있다.
역사
[편집]APNG 사양은 스로버(Throbber)와 같은 인터페이스에 필요한 애니메이션을 저장할 수 있게 하기 위해 2004년 모질라 코퍼레이션의 Stuart Parmenter와 Vladimir Vukićević가 만들었다. 2003년 5월, 모질라는 APNG 기능의 하부 집합을 제공하는 MNG 애니메이션 지원을 추가하였으며, MNG 디코더 라이브러리(300KB)에 필요한 큰 파일 크기에 대한 염려를 언급하였다.[1] PNG 디코더의 뒷쪽에 빌드된 APNG 디코더는 훨씬 더 작은 구성 요소였다.
기술적 상세 내용
[편집]PNG 파일은 PNG 시그너처(8개의 특수 바이트)와 일련의 청크들로 이루어진다. 청크 하나는 4개의 부분으로 이루어진다: 길이 (4 바이트), 청크의 유형 (4바이트), 청크 데이터 (길이 바이트), CRC (4바이트).
길이 (4 바이트) |
청크 유형 (4 바이트) |
청크 데이터 (길이 바이트) |
CRC (4 바이트) |
약 20개의 각기 다른 청크 유형이 있지만 최소한의 PNG의 경우 3개만 필요하다: IHDR (그림 헤더) 청크, 하나 이상의 IDAT (그림 데이터) 청크, IEND (그림 끝부분) 청크.
89 50 4E 47 0D 0A 1A 0A PNG 시그너처 |
IHDR 그림 헤더 |
IDAT 그림 데이터 |
IEND 그림 끝부분 |
다음의 그래픽은 최소한의 PNG 파일의 내용을 보여주며 하나의 빨간 화소만을 표현하고 있다. PNG 시그너처 바이트와 개개의 청크들은 아래와 같이 색으로 표시하였다. 왼쪽에서 바이트 값들은 16진 형식으로 표시되어 있고, 오른쪽에는 ISO-8859-1에 일치하는 문자들을 나타내고 있다. (점의 경우 인식하지 못하는 문자 및 제어 문자를 의미) 듀얼 디스플레이는 헥사 편집기에 일반화되어 있다. 청크들은 사람들이 읽을 수 있는 4바이트 유형 이름 때문에 식별이 쉽다. (아래의 예 IHDR, IDAT & IEND의 경우)
16진 | 문자 |
---|---|
89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 |
.PNG........IHDR |
응용 프로그램 지원
[편집]- 이미지 처리 프로그램
어도비 포토샵에서는 지원되지 않는다.
- 김프 (APNG 플러그인 필요)
- cphktool APNG Anime Maker
- 파이어알파카
- Gamani GIF Movie Gear
- ImageJ
- Imagine
- IrfanView
- Konvertor
- KSquirrel
- 페인트 닷 넷
- XnView
- 웹 브라우저
인터넷 익스플로러에서는 지원되지 않는다.
- 게코 기반 웹 브라우저
- 모질라 파이어폭스
- 씨몽키
- Iceweasel 등
- 사파리
- 오페라(프레스토 렌더링 엔진 기반, 웹킷 엔진 기반은 APNG 추가 기능 필요)
- 구글 크롬/크로미엄 (APNG 추가 기능 필요, 버전 59부터 자체지원)
- 모바일
- iOS (사파리8이상에서 지원)
- 안드로이드 (안드로이드용 파이어폭스, 크롬 버전 59 이상으로 가능, 앱에서는 불가)
- 오페라 모바일 / 윈도 모바일
같이 보기
[편집]각주
[편집]- ↑ martin (1999년 11월 11일). “Bug 18574 - (mng) restore support for MNG animation format and JNG image format”. Mozilla. 2010년 3월 30일에 확인함.