2024. 3. 8. 10:07ㆍMultimedia
- 목차
PNG는 Portable Network Graphics의 약자이며 이는 이미지를 무손실로 저장하는 포맷입니다.
PNG 특징
PNG는 무손실로 압축을 수행하기에 디지털 아트워크, 텍스트 이미지, 그래픽 디자인 등에서 사용됩니다.
GIF도 무손실이지만, GIF는 256 색의 제약이 있습니다. 그러나 PNG는 32 비트 컬러(1천6백만 컬러)를 지원합니다.
또 PNG는 256 단계의 알파채널을 지니기에 계단 현상없이 투명도를 표현할 수 있습니다.
GIF도 투명이 가능하나 반투명 표현이 불가능하여 반투명을 사용하려면 PNG를 사용해야 합니다.
투명 백그라운드를 지원하기에 다른 백그라운드 위에 overaly 해서 사용하기도 합니다.
PNG type
PNG-8과 PNG-24 두 가지 형태가 있습니다.
PNG-8
PNG 8은 8 비트 색상을 지원합니다.
최대 256 컬러만 사용할 수 있습니다.
단일 bit 투명도를 지원합니다. (반투명 효과 없음)
PNG-24
24 비트 색상을 지원하여 1600만 컬러를 사용할 수 있습니다.
더 많은 색을 지원하며 부분적 투명 픽셀도 지원합니다.
PNG24에는 무손실 압축 기능이 있습니다.
불투명에서 완전 투명 까지의 투명을 지원합니다.
반투명 전환 효과등을 사용하려면 PNG24를 사용합니다.
PNG 압축 과정
PNG의 압축에서는 filtering과 deflate 압축 두 가지의 과정을 거칩니다.
Filtering
이미지의 entropy를 줄여서 압축의 효율을 높이는 과정입니다.
이를 위해 다섯가지의 필터링 타입을 제공합니다.
type | desc. |
---|---|
None | 필터를을 적용하지 않음 |
Sub | 각 픽셀을 그 픽셀의 왼쪽 픽셀로부터 뺀 결과를 사용 |
Up | 각 픽셀을 바로 위 픽셀로부터 뺀 결과를 사용 |
Average | 각 픽셀을 픽셀의 왼쪽과 위 픽셀의 평균으로 뺀 값을 사용 |
Paeth | 왼쪽, 위, 왼쪽-위 픽셀을 사용해 가장 예측 가능한 값을 계산하고 이를 현재 픽셀 값에서 뺀 결과를 사용 |
Deflate compression
필터링된 데이터에 deflate 압축 알고리즘을 사용하여 압축을 수행합니다.
Deplate는 LZ77 (Lempel-Ziv 1877) 알고리즘과 허프만 코딩을 결합한 알고리즘으로 데이터의 반복되는 패턴을 찾아 이를 더 짧은 표현으로 치환하여 압축합니다.
'Multimedia' 카테고리의 다른 글
이미지 타입 (image types) (0) | 2024.07.23 |
---|---|
Identifying colour encoding type between YCCK, CMYK, YCbCr (0) | 2024.05.22 |
ImageMagick (0) | 2023.12.11 |
NAL (Network Abstraction Layer) (0) | 2023.11.17 |
vmaf library (0) | 2023.11.14 |