WIPIVERSE

APNG

APNG(Animated Portable Network Graphics)는 PNG(Portable Network Graphics) 이미지 포맷의 확장으로, 프레임 기반의 애니메이션 이미지를 지원하는 컴퓨터 파일 포맷이다. 일반적으로 '애니메이션 GIF'와 유사한 방식으로 동작하지만, GIF가 갖지 못하는 24비트 컬러와 8비트 알파 투명도(alpha transparency)를 지원한다는 점에서 차이가 있다.

APNG는 PNG 포맷과 하위 호환(backward compatibility)을 유지한다. APNG를 지원하지 않는 일반 PNG 디코더는 APNG 전용 청크(chunk)를 무시하고 단일 정적 이미지를 표시하게 된다. 이로 인해 애니메이션 기능이 없는 환경에서도 이미지가 깨지지 않고 정적으로 표시될 수 있다.

기술적 구조 측면에서, APNG는 기존 PNG 스트림에 세 가지 추가 청크 유형을 더한 구조를 가진다. 애니메이션 컨트롤 청크(acTL)는 해당 PNG가 애니메이션 이미지임을 선언하고 프레임 수와 반복 횟수를 지정한다. 프레임 컨트롤 청크(fcTL)는 각 프레임의 크기, 위치, 지연 시간, 처리 방식(dispose_op) 및 합성 방식(blend_op)을 정의한다. 프레임 데이터 청크(fdAT)는 정적 PNG의 IDAT 청크와 유사한 역할을 하며 각 추가 프레임의 이미지 데이터를 저장한다. APNG 파일의 확장자는 .apng이며, MIME 타입은 image/apng이다.

APNG의 역사를 살펴보면, 2007년경 모질라(Mozilla) 개발자인 Stuart Parmenter와 Vladimir Vukicevic이 초기 제안과 명세를 작성하였다. 초기에는 이전의 복잡한 MNG(Multiple-image Network Graphics) 포맷에 대한 더 간단한 대안으로 고안되었다. 2015년경부터 image/apng MIME 타입이 널리, 그러나 공식 등록 없이 사용되기 시작했으며, APNG는 2022년에야 W3C의 PNG 제3판(Third Edition) 규격에 공식적으로 포함되면서 '공식적인' 지위를 얻게 되었다. 이후 PNG 제3판 및 제4판 규격에서 APNG 관련 청크가 표준 문서에 통합되었다.

APNG는 웹 브라우저 환경에서 널리 지원되며, 특히 애니메이션 이모지 표시를 비롯한 다양한 웹 그래픽 용도로 사용된다. GIF에 비해 더 높은 색상 깊이와 완전한 투명도 처리를 제공하지만, 파일 크기가 상대적으로 커질 수 있고 일부 구형 소프트웨어에서는 지원이 제한될 수 있다는 특징이 있다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기