본문 바로가기
정보기술/일반

앞으론 PNG 만 쓸꺼야!!! :)

by fermi 2004. 2. 26.


그림 파일 포맷 중에 PNG (Portable Network Graphics) 가 있다.
얼마전까지만해도 거의 사용을 하지 않던 것이지만 점차 그 쓰임새가 늘어가고 있다.

우선 본인이 앞으로 PNG 만 쓰겠다고 결심한 이유는 다음과 같다.

Screen Capture를 하다보면 GIF로 저장을 할지 JPG로 저장을 할지
고민을 하게 된다.

실사영상의 경우는 트루컬러를 사용해야 하기 때문에 256 컬러밖에 지원하지 못하는
GIF 를 사용할 수 없고, JPG의 손실 압축방식을 사용해도 화질의 저하가
쉽게 드러나지 않는다. (단, 압축률을 95~97% 정도로 해주었을때, 이 경우에도 민감한 눈을 가진 사람은 구분할 수 있다.)

그러나 스크린 덤프의 경우는 대부분 2차원 dot 이미지로 이루어져 있기 때문에
JPG를 이용한 손실압축의 경우 화질의 저하가 두드러진다. 특히 Text 부분에서 심하게 나타난다. 흰 바탕에 써있는 비트맵 텍스트를 손실압축했을때 글자가 뭉개지거나
글자 주변의 밝은 회색 점들을 볼 수 있다. 이러한 문제는 JPG의 압축률을 100% 까지 끌어 올려서 손실압축을 전혀 하지 않을때까지 발생한다. 100%는 압축을 전혀 하지 않음을 의미한다. (BMP와 다를바 없다)

그래서 비트맵 텍스트가 포함된 스크린 덤프를 저장할때에는 대부분 256컬러로 변환을 한 후 비손실 압축인 GIF를 이용하여 저장한다. 그러나 이때도 문제는 발생한다.
비손실 압축이기 때문에 도트가 뭉개지거나 노이즈가 생기지는 않지만 256 컬러의 제한으로 생상을 정확히 표현하기가 어렵다. 다행히 GIF의 컬러 팔레트 기능으로 적당히 최적화된 256 개의 색상을 이용할 수 있으나, 컬러풀한 그림의 경우는 256색으로 한계가 있다.

그래서 결론적으로 말하면 여태까지는 GIF와 JPG를 용도에 따라 적절히 이용해 왔다.

PNG는 이 두가지 포멧의 장점을 결합했다고 할 수 있다.

우선 PNG 의 특징을 보자 (출처 : http://www.libpng.org/pub/png/ )

unambiguous pronunciation (ooo, baby!)
multiple CRCs so that file integrity can be checked without viewing
ultra-clever magic signature that can detect the most common types of file corruption
better compression than GIF, typically 5% to 25% (but often 40% or 50% better on tiny images)
non-patented (you betcha!), completely lossless compression
majorly gnarly two-dimensional interlacing scheme
1-, 2-, 4- and 8-bit palette support (like GIF)
1-, 2-, 4-, 8- and 16-bit grayscale support
8- and 16-bit-per-sample (that is, 24- and 48-bit) truecolor support
full alpha transparency in 8- and 16-bit modes, not just simple on-off transparency like GIF
``palette-alpha'' mode, effectively transforming normal RGB palette into RGBA
gamma correction for cross-platform ``brightness'' control
color correction for cross-platform, precision color
both compressed and uncompressed text chunks for copyright and other info
full Year 2000 (Y2K) support, and then some (good for at least 63 millenia! yowza!)
free and complete reference implementation with full source code
Not exactly spiffy, but worth mentioning anyway:


본인이 굵은 글씨로 표시해둔 부분을 보았는가?
비손실 압축임과 동시에 트루컬러를 표현할 수 있고, 게다가 GIF에 비하여 5%~50% 까지의 향상된 압축률을 가지고 있다.

비손실압축 내가 원하던것.

앞으론 PNG로 저장한다.

눈치 챗겠지만 PNG는 GIF, JPG와 달리 라이센스가 필요없는 공개된 포멧이다.
보다 자세한 정보는 http://www.libpng.org