Android에서 이미지 파일을 업로드하거나 수정 및 삭제 연산을 하는 경우가 많았다.
이에 어떤 확장자를 사용하는 것이 더욱 효율적일까에 대해서 고민을 하다가, 우선적으로 JPG와 PNG에 대해서 알아보고자 정리를 하였다.
JPG란
Joint Photographic Experts Group의 약자이다.
JPEG 파일은 비교적 작은 크기를 유직하면서 1680만 개의 색상을 표현할 수 잇다.
다음과 같은 파일 확장자는 모두 JPEG에 해당한다.
사실적인 사진을 일반 PC에서 사용할 수 있을 정도로 그래픽 파일을 압축하는 자체 표준이다. 사람의 눈으로 볼 수 없는 시각적 데이터를 제거하고 색상 변형을 평균화하는 손실 압축 개념을 내놓았다.
- .jpg
- .jpeg
- .jpe
- .jif
- .jfif
- .jfi
장점
- JPEG파일은 대부분의 브라우저, 소프트웨어, 앱과 호환되는 가장 보편적인 이미지 파일 포맷
- 파일 크기가 작아서 빠르게 전송하고 액세스할 수 있음.
- 화이트 밸런스와 채도는 셔터클릭으로 설정되기 때문에 후처리 작업이 간단
단점
- 손실압축은 공간을 절약할 수 있지만 압축률이 매우 높은 이미지를 처리할때는 품질이 저하 -> 가장자리와 선이 뚜렷한 이미지는 압축시 선명도가 떨어짐
- 너무 많은 데이터가 손실되면 색상 간 전환이 부드럽지 않아 이미지가 부자연스럽게 보이는 ‘포스터화’ 현상이 발생
JPEG 압축은 어떻게 파일을 줄일까?
서로 다른 많은 색상을 저장할 필요가 없도록 색상 값을 변경하고 균일한 생삭으로 픽셀 그룹을 차단하여 파일 크기를 줄인다.
이로 인해 파일크기가 줄어들면서 색상이 변경되기 때문에 실제 이미지와 달라진다.
PNG란
Protable Networks Graphics의 약자인 PNG는 이미지 편입에 주로 사용되는 인기 있는 래스터 기반 그래픽 형식이다.
PNG는 이미지 전반의 품질을 유지하기 위해 무손실 압축 기술을 따르는 비특허 파일 형식이다. JPEG보다 저장 공간을 많이 차지하지만 JPEG와 달리 투명한 배경이 있는 그래픽을 처리할 수 있다는 장점이 있다.
장점
- PNG파일은 수백 개가 아닌 수백만 개의 색상 옵션을 처리하므로 훨씬 더 디테일한 이미지를 저장할 수 있음
- 라이선스 없이도 다양한 프로그램에서 열고 편집 가능
- 압축해도 데이터가 손실되지 않고, 저장과 전송이 매우 간단
단점
- PNG파일은 압축 시 모든 원본 데이터를 유지하므로 GIF 또는 JPEG보다 파일 크기가 훨씬 큼
- PNG는 처음부터 웹을 염두에 두고 설계되었기 때문에 CMYK 색상 모드를 지원하지 않음.
- 파일 크기가 크기 때문에 페이지 로드시간과 응답속도가 느림
그렇다면 둘의 차이는?
가장 큰 차이점으로는 PNG는 무손실 압축, JPEG는 손실 압축 방식이다. 압축될 때 이미지가 손실되는 JPEG파일과는 달리 PNG는 압축시 데이터를 유지한다. 그러나 무손실 압축은 당연하게도 파일 크기가 더욱 크다. 그렇기에 더 많은 저장공간을 차지한다.
또한 JPEG에서는 투명한 배경을 지원하지 않는다. 그렇기에 로고나 텍스트 중심의 그래픽에는 적합하지 않다. 하지만 PNG 파일은 투명도를 지원한다.
참고
https://s2choco.tistory.com/18
https://www.adobe.com/kr/creativecloud/file-types/image/comparison/jpeg-vs-png.html
https://cat-minzzi.tistory.com/90
'Computer Science' 카테고리의 다른 글
[CS] 부동 소수점 오류 (0) | 2024.06.01 |
---|