JPG는 손실 압축 (Lossy Compression) 방식으로 이미지 손상을 최소화하여 효율적으로 압축하여 용량을 줄이는 포맷 방식이에요. 압축률이 높아질수록 용량이 작아지지만 화질 또한 낮아져요
JPG는 사람이 잘 못 느끼는 색/디테일을 일부 버려요. 그래서 사진, 배경 이미지처럼 약간 깨져도 티가 안나는 경우 사용하는게 좋아요
JPG는 저장할 때마다 압축되기 때문에 같은 이미지를 계속 저장하면 이미지가 점점 깨져요. 같은이유로 완벽한 원본 유지가 불가능해요
색상을 나타낼 때는 24bit 색상(약 1670만 색)을 사용해요(대신 내부적으로 색 정보를 줄여서 저장 (YCbCr 변환))
PNG는 JPG의 단점을 보완해줘요. 손실 압축 방식이던 JPG와 달리 PNG는 비손실 압축 방식이에요. 비손실이기 때문에 데이터를 절대 버리지 않으며, 압축해도 원본 그대로 복원 가능하죠
하지만 원본을 유지하기 때문에 용량이 크다는 단점이 있어요
색상을 나타낼 때는 24bit + 8bit 알파 채널을 사용해요. JPG와의 차이점이라면 알파 채널을 사용한 투명도 유무에요. 이미지에서 배경을 없애면 JPG의 경우 그 부분을 흰색으로 칠해요. PNG의 경우 배경을 없애면 그 부분을 투명하게 표현하기 때문에 다른 사진위에 붙여넣는 오버레이 이미지에 자주 사용돼요.
| 항목 | JPG (JPEG) | PNG |
|---|---|---|
| 압축 방식 | 손실 압축 (Lossy) | 무손실 압축 (Lossless) |
| 화질 | 압축할수록 손실됨 | 원본 그대로 유지 |
| 파일 용량 | 작음 | 큼 |
| 투명도 (Alpha) | ❌ 지원 안 함 | ✅ 지원 |
| 색 표현 | 24bit (약 1670만 색) | 24bit + Alpha |
| 반복 저장 | 품질 점점 저하 | 품질 유지 |
| 선명도 | 경계가 흐려질 수 있음 | 매우 선명 |
| 적합한 이미지 | 사진, 배경 | 아이콘, UI, 텍스트 이미지 |
| 성능 (디코딩) | 빠름 | 상대적으로 느림 |
| 메모리 효율 | 좋음 | 상대적으로 비효율 |