해나아부지 개발일지

PNG 와 JPEG 차이점은? 본문

Developers/Coding Question

PNG 와 JPEG 차이점은?

__APPA 2020. 4. 17. 14:06

 

PNG(Portable Network Graphics) JPEG(Joint Photographic Experts Group)
비손실 그래픽 파일 포맷 손실 압축 방법
PNG, png('핑',피엔지) jpg, jpeg, jpe(제이펙, 제이피이지)

컬러 팔레트 화상, 그레이스케일 화상, 풀 컬러 화상 방식

모두 지원

1677만 7216색과 256색 그레이로 저장

특허 문제가 얽힌 GIF 포맷의 문제를 해결하기 위해 고안

ISO와 ITU-T에서 제정

인터넷 상의 이미지 표시를 염두에 두고 개발되었기 때문에

CMYK 등의 색 공간은 지원하지 않음

손실 압축 형식으로 품질이 떨어지지만 크기가 작아

웹에서 널리 쓰임(압축율을 높일수록 품질이 떨어짐)

 

 JPEG/JFIF는  상에서 사진 등의 화상을 보관하고 전송하는 데 가장 널리 사용되는 파일 형식이다. 하지만 이 압축 방법은 문자, 선, 세밀한 격자 등 고주파 성분이 많은 이미지의 변환에서는 GIF PNG에 비해 불리하며, 나쁜 품질을 보이는 경우가 많다. JPEG 표준에도 비손실 압축 방법이 정의되어 있지만 특허 문제와 압축률 등의 이유로 잘 사용되지는 않으며, PNG 등의 비손실 압축을 지원하는 포맷을 많이 사용한다.

 

 JPEG는 이 형식을 개발한 Joint Photographic Experts Group의 약어다. 넓은 범위의 색을 지원하므로 카메라와 스캐너에서 가장 흔히 사용되는 형식이다(흑백 사진용으로도 좋음). 그러나 JPEG는 압축 형식이므로 디테일을 일부 희생시켜 파일 크기를 줄인다. 이 점은 카메라 메모리 카드의 저장 공간을 절약하고 사진을 온라인에 게시하거나 이메일을 통해 공유할 때 유리하다.

 사진과 같은 이미지에 대해서는, JPEG가 사진에 특화된 손실 압축 알고리즘을 사용하므로 PNG에 비해 더 작은 파일을 만들 수 있다. 경우에 따라 5-10배 차이를 보이기도 한다. 하지만 JPEG 압축은 양자화의 영향으로, 바라지 않던 잡티가 낄 수 있다. 문자나 날카로운 경계가 있는 그림은, JPEG에서 생기기 쉬운 뭉개짐 없이 JPEG보다 압축을 더 잘 할 수 있는 PNG를 쓰는 것이 더 낫다.

 

 또한, PNG는 비손실 압축이므로, 나중에 고화질의 재편집을 해야 한다면 PNG로 저장해 놓는 것이 낫다. JPEG를 사용할 때는 저장을 하면 할수록 계속 손실이 누적될 수 있다.

 

 PNG는 Portable Network Graphics의 약어로, 다양한 색과 투명 백그라운드를 지원하는 특성 덕분에 다른 백그라운드 위에 그래픽을 얹는 경우 유용하다. 이 형식은 무손실 압축을 사용하므로 이미지 디테일 손실이 전혀 없고 결과적으로 JPEG 형식보다 더 고품질 이미지를 생성하지만 파일 크기는 JPEG에 비해 더 커진다.

 PNG에는 PNG-8과 PNG-24, 두 가지 형태가 있다. PNG-24는 더 많은 색을 지원하며 부분적 투명 픽셀도 지원한다. 이는 투명 배경이 있는 이미지에 그림자 효과를 추가하는 경우, 또는 온라인에 게시하고자 하는 이미지에 그래디언트(넓은 하늘과 같이 색이 부드럽게 전환되는 부분)가 풍부한 경우 유리하다. PNG 형식은 JPEG와 달리 온라인에 게시할 때도 텍스트와 로고를 선명하게 유지하므로 소셜 미디어 표지 이미지에 적합하다. 그 외에 슬라이드 데크(키노트 또는 파워포인트용)를 위한 고화질 그래픽, 온라인 사진 포트폴리오에 게시할 고품질 이미지 등에도 유용하다. 또한 페이스북의 압축 알고리즘의 화질 손실도 JPEG에 비해 PNG가 낮은 것으로 알려져 있다.

원문보기:
http://www.itworld.co.kr/news/98431#csidx42fa909bffe0c69965ac9da80995756 

 

 

출처 위키백과, 원문보기

 

'Developers > Coding Question' 카테고리의 다른 글

UTF-8  (0) 2020.10.08
비대칭 암호화란  (0) 2020.09.03
Cashe란?  (0) 2020.08.07
Virtual Memory란?  (0) 2020.08.06
동적 계획법(Dynamic Programming)  (0) 2020.04.29
Comments