애니메이션 PNG (.apng)
W3C 표준애니메이션 PNG(APNG)는 표준 PNG를 확장하여 완전한 24비트 트루컬러와 8비트 알파 투명도를 지원하는 다중 프레임 애니메이션을 구현하며, 표준 PNG 디코더와 하위 호환됩니다.
APNG을(를) GIF(으)로 변환
무료 브라우저 내 APNG-GIF 변환기. 기기에서 파일을 즉시 변환하세요.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 APNG 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 APNG 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
89 50 4E 47 0D 0A 1A 0AASCII 표현: ‰PNG....
표준화: W3C Community Group Report (2021) / Mozilla Extension
기술 사양
| 컨테이너 아키텍처 | PNG chunk stream with acTL (animation control), fcTL (frame control), and fdAT (frame data) chunks |
| 압축 | Deflate (zlib) sliding-window LZ77 with 2D adaptive filtering applied per-frame |
| 바이트 엔디안 | Big-Endian (network byte order) |
| 색 공간 | sRGB, Display P3, Embedded ICC Profile (iCCP) |
| 채널 및 구조 | RGBA (8-bit or 16-bit per channel Truecolor + 8-bit alpha) |
| 최대 크기 | 2,147,483,647 x 2,147,483,647 pixels (PNG 31-bit limit) |
| 투명도 | Full 8-bit alpha channel transparency (256 levels of smooth translucency) |
| 스트리밍 및 프로그레시브 | Progressive chunk streaming; renders first frame immediately on legacy non-animated PNG parsers |
기술 비교 매트릭스: APNG 대 경쟁사
| 기술적 속성 | APNG (현재) | GIF | WEBP | AVIF |
|---|---|---|---|---|
| 색 깊이 | 24비트 RGB (1,670만 색상) | 8비트 인덱스 (256 색상) | 24비트 RGB (1,670만 색상) | 10비트 / 12비트 HDR |
| 알파 투명도 | 8비트 부드러운 알파 (256단계) | 1비트 켜기/끄기 이진 마스크 | 8비트 부드러운 알파 | 8비트 / 10비트 부드러운 알파 |
| 하위 호환성 | 구형 뷰어에서 정적 PNG로 표시됨 | 범용 구형 GIF | 구형 뷰어에서 지원 안 함 | 구형 뷰어에서 지원 안 함 |
| 압축 효율성 | Deflate (보통) | LZW (낮음) | VP8 키/차이 프레임 (높음) | AV1 프레임 간 (매우 높음) |
일반적인 손상 모드 및 헥스 복구 가이드
애니메이션이 첫 번째 프레임만 재생되고 루프되거나 진행되지 않습니다.
근본 원인: 첫 번째 IDAT 청크 앞에 위치해야 하는 'acTL'(Animation Control) 청크가 누락되었거나 손상됨.
복구: apngasm 또는 File2File Animation Converter를 사용하여 프레임을 다시 muxing하여 올바른 애니메이션 제어 청크를 재구축하세요.
보안 분석 및 파서 공격 벡터
APNG 파서는 반복되는 프레임 제어 청크를 처리하며, 이때 잘못된 형식의 크기는 정수 오버플로우나 힙 고갈을 유발할 수 있습니다.
알려진 공격 벡터
- 프레임 오프셋(x_offset / y_offset) 계산 시 정수 오버플로우로 인한 범위를 벗어난 프레임 합성.
- 프레임 블렌딩 중 버퍼 오버리드를 초래하는 일치하지 않는 프레임 너비/높이.
- 백엔드 썸네일 생성 서비스에서 CPU를 고갈시키는 무한 애니메이션 압축 해제 루프.
방어적 모범 사례:
역사적 배경 및 주요 이력
주요 장점
- 완전한 24비트 RGB 색상에 8비트 알파 투명도를 더해, 1비트 GIF 투명도의 계단 현상 아티팩트를 완전히 제거합니다.
- 기존 PNG 디코더와 100% 하위 호환 (기본 대체 프레임을 매끄럽게 표시함).
- 모든 최신 데스크톱, iOS 및 Android 브라우저에서 보편적이고 네이티브로 하드웨어 가속 재생 지원.
기술적 제한 사항 및 단점
- WebM이나 MP4 같은 최신 동영상 기반 애니메이션 포맷보다 큰 파일 크기.
- 기존 GIF에 비해 생성 시 더 높은 인코딩 복잡도와 CPU 사용량.
- 특수 비디오 코덱에서 볼 수 있는 프레임 간 모션 벡터 예측 기능의 부재.
흥미로운 기술적 상식
- 공식 PNG 개발 그룹은 2007년에 APNG를 거부했으며, 결국 채택에 실패한 별도의 MNG 포맷을 선호했습니다.
- 애플은 iOS 10 메시지 앱스토어의 애니메이션 스티커에 APNG를 사용하여 대규모 모바일 채택을 이끌어냈습니다.
- 1990년대의 오래된 이미지 뷰어에서 APNG 파일을 열면 충돌 없이 첫 번째 프레임만 표시됩니다.
자주 묻는 기술 질문
APNG가 GIF보다 더 나은 이유는 무엇인가요?
APNG는 1,670만 가지의 색상과 256단계의 부드러운 알파 투명도를 지원하는 반면, GIF는 256색으로 제한되고 거친 1비트 투명도만 지원합니다.
모든 브라우저에서 APNG를 지원하나요?
네. 모든 최신 브라우저(Chrome, Safari, Firefox, Edge)는 2017년부터 기본적으로 APNG를 지원하고 있습니다.
APNG를 표준 GIF나 MP4로 변환할 수 있나요?
네. File2File.app은 웹 브라우저에서 직접 APNG 애니메이션을 가벼운 GIF, MP4 또는 WebM 파일로 변환할 수 있습니다.