APNG

APNG
애니메이션 휴대용 네트워크 그래픽
Animated PNG example bouncing beach ball.png
튕기는 볼의 애니메이션 PNG 또는 APNG(일부 브라우저에서 정적 이미지로 표시)
파일 이름 확장명
.png .apng
인터넷 미디어 유형image/vnd.vngilla.apng, image/apng
초기 릴리즈2008년 8월 4일; 13년(2008-08-04)
형식 유형애니메이션 래스터 이미지 형식
연장 위치PNG
오픈 포맷?

APNG(Animalized Portable Network Graphics)는 PNG(Portable Network Graphics) 사양을 확장하여 애니메이션 GIF 파일과 비슷하게 작동하는 애니메이션 이미지를 허용하는 동시에 GIF에는 사용할 수 없는 24비트 이미지와 8비트 투명성지원하는 파일 형식이다.또한 비애니메이션 PNG 파일과의 역호환성을 유지한다.

APNG 파일의 첫 번째 프레임은 일반 PNG 스트림으로 저장되므로 대부분의 표준 PNG 디코더는 APNG 파일의 첫 번째 프레임을 표시할 수 있다.프레임 속도 데이터와 추가 애니메이션 프레임은 여분의 청크로 저장된다(원래 PNG 사양에서 제공한 대로).APNG는 PNG와 같은 팀이 만든 비트맵 애니메이션을 위한 종합 포맷인 멀티이미지 네트워크 그래픽스(MNG)와 경쟁한다. APNG의 장점은 작은 라이브러리 크기와 기존 PNG 구현과의 호환성이라는 것이다.

GIF, APNG, WebP를 비교한 결과, APNG의 파일 크기가 가장 낮았다.[1]

역사

사람의 머리를 MRI로 스캔한 APNG

APNG 규격은 2004년 모질라사의 스튜어트 파멘터(Stuart Parmenter)와 블라디미르 부키치예비치(Vukichevich)가 욱신거 등 인터페이스에 필요한 애니메이션을 저장할 수 있도록 작성했다.2003년 5월, 모질라는 확장형 MNG 디코더 라이브러리(300KB)에 필요한 파일 크기가 크다는 우려를 이유로 APNG 기능을 제공하는 MNG 애니메이션에 대한 지원을 폐지했다.[2] PNG 디코더 뒷면에 구축된 APNG 디코더는 훨씬 작은 구성 요소였다.

PNG와 MNG 형식의 사용자와 유지관리자 중에서는 APNG가 미온적인 수신을 했다.특히 PNG는 단일 이미지 포맷으로 구상되었다.[3]APNG는 APNG-unaware 애플리케이션이 이를 무시할 수 있도록 후속 프레임을 PNG 보조 청크로 숨기고 있지만, 그렇지 않으면 소프트웨어가 애니메이션과 비애니메이션 이미지를 구별할 수 있도록 형식을 변경할 수 없다.이로 인해 야기된 주요 우려 사항들 중 일부는 애플리케이션이 PNG와 APNG를 협상할 수 없거나, 한 번 받은 PNG와 APNG를 구별할 수 없거나, 심지어 기존 소프트웨어가 사용자에게 추가 프레임이 있음을 알릴 수 없다는 점이었다.글렌 Randers-Pehrson APNG의 형식으로 독특한 MIME형식(예:video/png)의 사용을 제안하는 변경을 권고하여, 하지만 대신 제대로 나타내지 연장의 사용엤다고 APNG 지지자들만 다른 MIME형식(image/apng)[4] 덧붙였다 해당 APNG 지지자들의 PNG순수 주의자의 위치를 조정하기에 앞장 섰다.나ng. PNG 개발 그룹에 의해 승인되지 않는 형식으로 이어짐.[5]

PNG그룹은 2007년 4월 20일 APNG를 공식 연장으로 공식 거부했다.[6]몇 가지 다른 접근방식을 사용하여 PNG에 기초한 단순한 애니메이션 그래픽 포맷에 대한 몇 가지 후속 제안이 있었다.[7]

Mozilla Firefox는 2007년 3월 23일 버전 3 트렁크 빌드에서 APNG에 대한 지원을 추가했다.[8]단, libpng는 PNG 그룹의 공식 규격에 대한 참조 구현이므로, 그룹에 의해 평가되지 않는 한 메인 libpng 배포에서 APNG 지원은 결코 지원할 수 없다.아이스위젤3는 모질라의 비공식 변종인 libpng를 이용해 APNG를 지원한다.[9]

APNG Assembler의 로고, APNG 이미지 생성에 필요한 무료 소프트웨어

2008년 월드DMB는 디지털 라디오용 MOT 슬라이드쇼 사용자 애플리케이션의 일부로 애니메이션을 활성화하기 위해 APNG를 역호환성 확장으로 채택했다."APNG 1.0 사양 - 애니메이션 휴대용 네트워크 그래픽"은 ETSI 표준 TS 101 499 V2.2.1에서 표준 부속서 A로 포함되어 있다.[10]2010년 시드니의 커머셜 라디오 방송국은 APNG 애니메이션을 DAB+ 디지털 라디오 방송에 포함시키기 시작했다.[citation needed]이러한 APNG 애니메이션은 오디오 서비스와 함께 제공되는 "MOT 슬라이드쇼" 어플리케이션에 의해 전달된다.2011년 초에는 호주의 다른 도시들이 뒤따를 것으로 예상된다.[citation needed][needs update]

PNG 형식을 APNG로 확장한 모질라의 역할은 애니메이션 GIF 대중화에 있어 Netscape의 훨씬 이전 역할과 일치한다.[citation needed]

애플은 2016년 iOS 10 iMessage 앱에서 애니메이션 스티커를 선호하는 포맷으로 APNG 포맷을 채택했다.[11]

2017년 3월 15일에는 크로미엄에 APNG 지원이 추가되었다.[12]

파일 형식

APNG 규격은 세 가지 새로운 보조 청크를 도입하는 PNG 파일 형식을 따른다.[13]

  • 애니메이션 제어 청크(ACTL)는 기본 이미지의 IDAT보다 앞에 있으며, 이 파일이 애니메이션 PNG 파일이라는 일종의 "마커"이다.또한 프레임 수와 애니메이션을 루프하는 횟수(0은 무한함을 의미함)도 수록되어 있다.
  • 프레임 제어 청크(fcTL)는 각 프레임에 선행하며 메타데이터를 포함하고 있다: 치수; 위치(기본 이미지에 상대적); 지속시간; 위에 한 번 지워지면 이전 프레임으로 대체하거나 다음 프레임으로 그려짐; 그리고 투명성이 적용되는 경우.
  • 프레임 내용을 저장하는 프레임 데이터 청크(fdAT)시퀀스 번호로 시작한 다음 기본 이미지의 IDAT 청크와 동일한 구조를 갖는다.

시퀀스 번호는 프레임 제어와 프레임 데이터 청크에 모두 적용되며, 이는 공통 시퀀스를 따르므로 APNG-unaware PNG 편집자가 PNG 청크 순서 지정 규칙에 따라 프레임 순서를 변경할 경우 프레임의 순서와 타이밍을 복구할 수 있다.[14]

프레임은 기본 이미지와 동일한 비트 깊이, 색상 유형, 압축 방법, 필터 방법, 인터레이스 방법 및 팔레트(있는 경우)를 사용한다.

PNG 규격은 미래의 확장을 염두에 두고 설계되었다.[15]PNG 파일을 읽는 응용프로그램은 단지 이해할 수 없는 청크를 무시하도록 되어 있다.APNG가 역호환되는 이유다.기존 애플리케이션은 첫 번째 프레임만 인식하고 추가 애니메이션 청크는 무시한다.

세 개의 개별 PNG 파일에서 애니메이션 PNG를 조립하는 가능한 방법을 보여주는 다이어그램

압축 및 최적화

다양한 최적화 기법을 통해 APNG 파일은 가능한 한 작아진다.알파블렌드 및 알파 폐기 작업을 활용한 프레임 간 최적화, 풀사이즈 서브프레임보다 작은 크기, 더러운 투명성, 색상 유형 및 색상 팔레트 최적화, zlib, 7-Zip, Zopfli 등 다양한 압축 옵션.[17]

파생 형식

신호용 애니메이션 스티커는 일부 제한이 있는 APNG이다.[18]

지원

컴퓨터 프로그램 목록 및 APNG 지원, 버전 번호 및 출시 날짜
소프트웨어 지지? 이후
이미지
처리.
APNG 조립기 v. 1[19]
cpktool APNG 애니메이터 v. 1(2009년 6월 9일)[20]
APNG 디스어셈블러 v. 1 [21]
APNG 옵티마이저 v. 1.0(2011년 3월 28일)[22]
FFmpeg [23] 2.7 대[24]
파이어알파카[ja] 2.3.13[25]
가마니 GIF 무비 기어 v. 4.2 (2008년 3월)[26]
김프 플러그[27] 인 필요 해당 없음
허니캠 v. 3.48(2021년 11월 29일)[28]
허니뷰 v. 5.10(2015년 2월 17일)[29]
이미지J v. 1.41g(2008년 7월 3일)[30]
이미지매직 v. 7.0.10-31(2020년 9월 20일)[31]
이매진 v. 1.0.2(2008년 5월 4일)[32]
이르판뷰 읽기 전용 v. 4.40(2015년 7월 31일)
콘베르토르 v. 4.02(2010년 5월)[33]
KSquirrel (더 느린 SALE) 읽기 전용 v. 0.7.2(2007년 10월 3일)[34]
페인트.NET 니즈 플러그인[35] 해당 없음
리얼월드 페인트 v. 2011.1(2011년 12월)[36]
버추얼듀브 니즈 플러그인[37][a] 해당 없음
XnView 읽기 전용 v. 1.97.4 (2010년 4월 30일)[38]
Sciter 및 HTMLayout UI 엔진 읽기 전용 2008년 이후
크리타 [39] Krita Nightly 5.0.0 사전 알파(2021년 2월 22일 이후)[40]
qView 읽기 전용 v. 4.0(2020년 10월 31일)
브라우저
엔진
웹키트 (2015년 3월 17일)[41]
블링크 2017년 6월

브라우저
모질라 파이어폭스
(Gecko 레이아웃 엔진)
v. 3(2008년 6월 17일)[42][43]
시몽키
(Gecko 레이아웃 엔진)
v. 2
아이스웨이젤과 다른 데비안 리브랜딩스
(Gecko 레이아웃 엔진)
v. 4.0~b12[9]
사파리
(WebKit 레이아웃 엔진)
8.0 대[44]
구글 크롬크롬
(블링크 레이아웃 엔진)
v. 59 (2017년 6월 5일)[45][46]
인터넷 익스플로러
(트라이던트 레이아웃 엔진)
아니오[44] 해당 없음
마이크로소프트 에지
(EdgeHTML 레이아웃 엔진)
아니오[44][47] 해당 없음
마이크로소프트 에지
(블링크 레이아웃 엔진)
79년 대 사건
오페라 v12 및 이전
(Presto 레이아웃 엔진)
v. 9.5(2008년 6월 12일)[48]
오페라 15 이상
(블링크 레이아웃 엔진)
v. 46.0(2017년 6월 22일)[49]
창백한 달 (Goanna 레이아웃 엔진) 27일 사건
모바일
브라우저
iOS 사파리 [44] 8.0 대
Android용 Firefox [44] ?
Android용 삼성 인터넷 7.0 대
오페라 모바일 [citation needed] ?
  1. ^ 동영상을 로드한 후 "파일 내보내기 애니메이션 PNG" 메뉴 항목을 통해 APNG 파일을 만들 수 있다.

캔버스 태그를 지원하지만 APNG는 지원하지 않는 웹 브라우저가 APNG를 표시할 수 있는 서버측 라이브러리가 존재한다.[50]그러한 브라우저의 예로는 Microsoft Edge와 Internet Explorer 9가 있다.

참고 항목

참조

  1. ^ "GIF vs APNG vs WebP". littlesvr. Retrieved 2019-04-02.
  2. ^ martin (1999-11-11). "Bug 18574 - (mng) restore support for MNG animation format and JNG image format". Mozilla. Retrieved 2010-03-30.
  3. ^ "PNG (Portable Network Graphics) Specification, Version 1.1#8.4. Multiple-image extension". libpng. Retrieved 2010-03-30.
  4. ^ "APNG Specification, Version 1.0#MIME type". Mozilla. Retrieved 2017-12-10.
  5. ^ "ImageMagick can't detect animated PNG". Retrieved 2017-12-10.
  6. ^ "VOTE FAILED: APNG 20070405a". SourceForge mailing list. 2007-04-20.
  7. ^ "Discussion for a simple "animated" PNG format". Archived from the original on 2009-02-26. Retrieved 2011-07-12.
  8. ^ "Gran Paradiso Alpha 3 release notes". Mozilla. 2007-03-23. Archived from the original on December 26, 2009. Retrieved 2010-03-30.
  9. ^ a b "Debian Bug #486827 Iceweasel cannot render APNG image". Debian. 2011-08-26. Retrieved 2011-09-18.
  10. ^ "Digital Audio Broadcasting (DAB); MOT SlideShow; User Application (pdf) Specification" (PDF). ETSI. Retrieved 30 January 2013.
  11. ^ Inc., Apple. "Messaging - Extensions - iOS Human Interface Guidelines". developer.apple.com. Retrieved 2016-10-12.
  12. ^ "Anzwix / Chromium / Add support for Animated PNG". Retrieved 2017-03-15.
  13. ^ "APNG Specification - MozillaWiki".
  14. ^ 청크 주문 규칙(PNG 1.2 사양)
  15. ^ "Portable Network Graphics (PNG) Specification (Second Edition)".
  16. ^ "Inter-frame Optimization in APNG". littlesvr.ca. Archived from the original on 2014-04-26. Retrieved 2021-10-21.
  17. ^ "APNG Assembler". apngasm.sourceforge.net. Retrieved 2021-10-21.
  18. ^ "Stickers". Signal Support. Signal. Retrieved 28 December 2021.
  19. ^ maxst. "APNG Assembler". SourceForge.
  20. ^ "cphktool APNG Anime Maker". cphktool. Retrieved 2010-06-28.
  21. ^ maxst. "APNG Disassembler". SourceForge.
  22. ^ maxst. "APNG Optimizer". SourceForge.
  23. ^ "FFmpeg Formats Documentation".
  24. ^ "GitHub changelog of FFmpeg". Retrieved 2016-07-09.
  25. ^ "FireAlpaca Update History". Retrieved 2021-09-04.
  26. ^ "Animated PNG: Simple Animation with an Alpha Channel". Gamani. Retrieved 2009-08-25.
  27. ^ "APNG Plug-In". Archived from the original on 2014-05-25. Retrieved 2010-05-28.
  28. ^ "Honeycam - Version history". Bandisoft International Inc. Retrieved 2022-01-09.
  29. ^ "Honeyview - Version history". Bandisoft International Inc. Retrieved 2022-01-09.
  30. ^ "ImageJ News". ImageJ. Archived from the original on May 21, 2009. Retrieved 2009-05-23.
  31. ^ "ImageMagick - Changelog". Retrieved 2021-04-25.
  32. ^ "Imagine - What's new". Archived from the original on October 8, 2011. Retrieved 2017-09-01.
  33. ^ "Konvertor - Solutions for Multimedia Processing". Archived from the original on 2010-05-12. Retrieved 2010-05-19.
  34. ^ "KSquirrel Codecs ChangeLog". 15 October 2021.
  35. ^ "Animated Image 2.4 - AGIF & APNG". Paint.NET Forum.
  36. ^ "APNG support announcement".
  37. ^ "SourceForge.net: VirtualDub APNG Mod".
  38. ^ XnView는 여러 운영 체제에서 사용할 수 있지만 APNG 지원이 추가된 이후 Windows용 버전만 출시되고 있다.
  39. ^ "APNG export support". Retrieved 2021-08-16.
  40. ^ "APNG and WEBP animation export (dbe993da) · Commits · Graphics / Krita". GitLab. Retrieved 2021-08-16.
  41. ^ "Animated PNG graphics". WebKit. Mar 17, 2015. Retrieved 2015-03-17.
  42. ^ Parmenter, Stuart; Vladimir Vukicevic; Andrew Smith (July 4, 2008). "Animated PNG graphics". Mozilla Developer Center. Mozilla. Archived from the original on 2008-12-04. Retrieved 2009-05-23.
  43. ^ "Firefox 3 for developers". Mozilla Developer Center. Mozilla. October 1, 2008. Archived from the original on 2008-11-13. Retrieved 2009-05-23.
  44. ^ a b c d e "Animated PNG (APNG)". Can I use... Support tables for HTML5, CSS3, etc.
  45. ^ "Add support for Animated PNG".
  46. ^ "Stable Channel Update for Desktop". Chrome Releases. Retrieved 2017-06-06.
  47. ^ "The status of APNG image format in Microsoft Edge". Microsoft Edge Development. Retrieved 2017-07-29.
  48. ^ "Web specifications supported in Opera 9.5". Opera Software. Archived from the original on 2009-02-25. Retrieved 2009-05-23.
  49. ^ "Opera 46 goes final, more quality and Opera's first TV ad". Opera Software. 22 June 2017. Retrieved 2017-06-26.
  50. ^ "APNG-canvas Library". 11 October 2021.

외부 링크