PNG는 Portable Network Graphics의 약자입니다. 1990년대 중반, 당시 GIF가 사용하던 압축 방식이 특허로 보호되고 있었기 때문에 이를 대체할 포맷이 필요했던 개발자들이 PNG를 설계했습니다. 그 결과, 모든 픽셀을 원래 그대로 유지하면서 무료로 사용할 수 있고 문서화가 잘 된 포맷이 탄생했고, 이후 월드 와이드 웹 컨소시엄과 ISO의 표준으로 채택되었습니다. 오늘날 PNG는 스크린샷 키로 만든 이미지, 로고 내보내기, 스프레드시트에서 저장한 차트 등에 주로 사용되는 형식입니다.
PNG가 이미지를 저장하는 방식
PNG는 무손실 압축을 사용합니다. 파일은 압축되지만 어떤 정보도 버려지지 않고, 다시 풀어도 원래 픽셀을 정확히 복원합니다. 동작 방식은 두 단계입니다. 먼저 필터링 단계에서 각 픽셀 행을 이웃 픽셀과의 차이로 다시 기록해, 부드러운 영역을 아주 작은 숫자가 길게 이어지는 형태로 바꿉니다. 그다음 범용 압축기가 ZIP 아카이브와 같은 방식으로 이 숫자들을 더 압축합니다.
PNG 파일은 청크라고 불리는 이름 붙은 블록들이 사슬처럼 연결된 구조로 구성됩니다. 이 중 세 가지 종류는 필수입니다. 하나는 이미지 크기, 색상 종류, 비트 깊이를 설명하는 청크, 하나 이상은 압축된 픽셀 데이터를 담는 청크, 마지막 하나는 파일의 끝을 표시하는 청크입니다. 나머지는 모두 선택 사항이기 때문에 포맷을 확장할 수 있습니다. PNG는 그레이스케일, 팔레트를 사용하는 인덱스 컬러, 채널당 8비트 또는 16비트의 전체 컬러를 저장할 수 있고, 각 픽셀이 완전히 불투명하거나 완전히 투명하거나 그 사이 어느 값이든 가질 수 있는 진정한 알파 채널을 제공합니다. 그래서 부드러운 가장자리를 가진 로고나 인터페이스 그래픽에 PNG가 많이 사용됩니다. 기본 포맷은 정지 이미지 한 장만 저장하며, 애니메이션은 APNG라는 이후 확장 기능을 통해서만 사용할 수 있습니다.
PNG에 포함된 메타데이터
메타데이터는 픽셀 옆에 파일 안에 함께 저장되는 설명 정보입니다. PNG는 이를 선택적 청크에 저장하며, 텍스트는 일반 텍스트, 압축 텍스트, 또는 언어 태그가 붙은 텍스트일 수 있어 하나의 필드에 여러 언어 번역을 함께 담을 수 있습니다.
- 등록된 텍스트 키워드는 가장 단순한 형태이며, 보고서에는 이름과 함께 나열됩니다.
Title,Author,Description,Copyright,Creation Time,Software,Source,Comment,Disclaimer,Warning입니다.Software는 대부분의 편집기가 자신의 이름을 여기에 기록하기 때문에 가장 자주 보게 되는 항목입니다. - XMP는 Adobe의 XML 기반 메타데이터 표준으로, 언어 태그가 붙은 텍스트 청크 안에 저장됩니다. 여기에는 작성자, 키워드, 평점, 이미지를 수정한 프로그램들을 나열한 편집 이력 등이 주로 포함됩니다.
- EXIF는 카메라 메타데이터 표준으로, 원래 PNG 규격에는 없었지만 나중에 별도의 청크로 추가되었습니다. 따라서 PNG에는 GPS 좌표를 포함한 전체 카메라 정보 블록을 담을 수 있지만, 일반적으로 사진을 PNG로 변환한 경우에만 이런 정보가 포함됩니다.
- 색상 및 디스플레이 청크도 메타데이터에 포함됩니다. 내장 ICC 컬러 프로파일, 감마 및 색도 값, 배경색, 미터당 픽셀 수를 기록하는 물리적 해상도 청크 등이 있으며, 여기에서 이미지의 DPI 수치가 결정됩니다.
스크린샷이나 내보낸 그래픽은 보통 카메라 사진보다 노출되는 정보가 훨씬 적지만, PNG가 익명이라고 단정할 수는 없습니다. JPG를 PNG로 변환하면 원래 EXIF와 GPS 데이터가 그대로 복사될 수 있습니다. 편집기는 환경 설정에 작성자 이름이 입력되어 있으면 이를 저자 필드나 XMP 작성자 필드에 기록합니다. 또한 Software와 편집 이력 항목은 어떤 프로그램이, 그리고 때로는 어떤 버전이 이 파일을 만들었는지 조용히 알려 줍니다.
PNG를 사용할 때
픽셀이 정확히 유지되어야 하거나 이미지에 투명도가 필요할 때는 PNG를 사용하세요. 예: 스크린샷, 다이어그램, 차트, 로고, 아이콘, 단색 일러스트, 텍스트가 포함된 모든 이미지. 선명한 가장자리는 그대로 유지되고, 여러 번 저장해도 화질이 떨어지지 않습니다.
JPG와 비교했을 때 선택은 단순합니다. 사진의 경우 PNG는 눈에 띄는 화질 향상 없이 파일 크기가 몇 배나 더 커지는 경우가 많으므로, 사진은 JPG나 WebP, HEIC 같은 최신 포맷에 저장하는 것이 좋습니다. GIF와 비교하면, 정지 이미지에서는 PNG가 확실히 유리합니다. 256색이 아닌 전체 색상을 지원하고, 하나의 투명 색상만 있는 것이 아니라 올바른 부분 투명도를 제공합니다. GIF가 여전히 가지는 사실상 유일한 장점은 애니메이션입니다.