화질 저하 없이 이미지를 압축하는 방법
짧은 답
먼저 압축하지 말고, 크기를 조절한 뒤에 압축하세요. 사진에는 JPG(또는 WebP)를 사용하세요. 품질 설정은 75~85% 정도를 목표로 하세요. 결과물을 원본과 100% 확대해서 비교해보세요 — 차이를 구별할 수 없다면, 파일이 아무리 작아졌어도 의미 있는 화질 손실은 없는 것입니다.
“손실”이 “저화질”을 의미하지는 않습니다 — 어느 정도까지는
대부분의 사진 압축은 손실 압축입니다. 즉 파일 용량을 줄이기 위해 일부 이미지 데이터가 영구적으로 버려집니다. 단순한 트레이드오프처럼 들리지만, 실제로는 잘 압축된 이미지와 원본이 시각적으로 구별되지 않는 경우가 많습니다 — 카메라가 담아내는 데이터의 상당 부분이, 사람 눈이 거의 알아차리지 못하는 중복 정보이기 때문입니다.
압축의 목표는 “무조건 작게”가 아닙니다. 보이지 않는 중복을 제거한 지점까지만 가고, 실제로 눈에 띄는 것을 지우기 전에 멈추는 지점을 찾는 것입니다.
눈에 보이는 화질 저하는 실제로 어디서 오는가
압축 중의 화질 문제는 대부분 압축 자체가 아니라 소수의 특정 원인에서 비롯됩니다:
너무 강하게 압축하기. 모든 포맷에는 수확 체감 지점이 있습니다. 일반적인 JPG에서 품질 약 70% 아래로 내려가면, 아티팩트 — 특히 하늘이나 단색 영역의 블록 얼룩, 선명한 경계 주변의 흐릿한 후광 — 가 눈에 띄기 시작합니다.
이미 압축된 파일을 반복해서 압축하기. JPG 압축은 손실 압축이므로, 파일을 저장할 때마다 정보가 버려집니다. JPG를 열어 작은 수정을 하고 다시 JPG로 저장하는 과정을 몇 번 반복하면, 매번 같은 고품질 설정을 쓰더라도 화질이 눈에 띄게 떨어집니다. 항상 원본 파일에서 압축하고, 이전에 압축된 사본에서 압축하지 마세요.
잘못된 치수에서 압축하기. 폭 4000픽셀 사진을 “적당한” 파일 용량으로 압축해도, 800픽셀 폭으로 표시되면 여전히 흐릿해 보입니다. 압축 알고리즘이 최종 표시에 필요한 것보다 훨씬 많은 디테일을 처리하고 있었고, 그 결과 종종 더 나쁜 트레이드오프를 선택하기 때문입니다. 먼저 크기를 조절하면 압축 알고리즘이 더 깔끔한 작업을 할 수 있습니다.
잘못된 포맷 사용하기. 포맷 가이드에서 다뤘듯이, PNG의 무손실 압축은 JPG나 WebP만큼 사진을 효과적으로 줄이지 못합니다 — 그래서 PNG로 저장된 사진을 “압축”해도 아무리 애써도 실망스러운 결과가 나오는 경우가 많습니다.
실용적인 과정
1. 먼저 크기를 조절하세요. 실제로 표시될 가장 큰 크기로 이미지를 줄이세요. 큰 이미지를 압축한 다음 크기를 조절하면 압축 작업이 낭비됩니다. 크기 조절 자체가 어차피 이미지를 다시 인코딩하기 때문입니다. 용도별 목표 치수는 이미지 사이즈 가이드를 참고하세요.
2. 올바른 포맷을 고르세요. 사진은 PNG보다 JPG나 WebP로 훨씬 더 잘 압축됩니다. 원본 파일이 PNG이고 투명도가 필요 없다면, 압축 과정에서 포맷을 변환하는 것만으로 극적으로 더 작은 결과를 얻는 경우가 많습니다.
3. 시작점으로 75~85% 품질 범위에서 압축하세요. 이 범위는 대부분의 사진에서 원본과 시각적으로 동일하면서도 파일 용량을 상당히 줄이는 결과를 꾸준히 만들어냅니다.
4. 결과를 신뢰하기 전에 비교하세요. 100%로 확대해서 아티팩트가 나타날 가능성이 가장 높은 영역 — 하늘, 피부톤, 부드러운 그라데이션이 있는 곳 — 을 먼저 보세요. 거기서 깨끗해 보인다면 어디서나 깨끗한 것입니다.
5. 더 작게 만들어야 한다면 품질을 더 낮추기 전에 치수를 먼저 줄이세요. 어느 지점을 넘어서면, “품질 85%“에서 “품질 60%“로 가는 것이 치수를 10% 더 줄이는 것보다 훨씬 큰 눈에 보이는 차이를 만듭니다.
자동 압축에서 기대할 수 있는 것
압축 도구를 포함해 자동으로 압축하는 도구들은 기본적으로 그 “보이지 않는 중복” 범위 안에 들어가도록 조율되어 있습니다. 그래서 대부분의 경우 파일을 넣기만 하면 품질 퍼센트를 직접 조정하지 않아도 결과를 신뢰할 수 있습니다. 다만 더 세밀한 제어가 필요한 경우 — 이미 작은 파일을 더 줄여야 하거나, 기본 설정이 너무 공격적으로 느껴지는 디테일이 많은 이미지(가는 텍스트, 촘촘한 패턴) — 를 위해 위 과정을 이해해두는 것은 여전히 가치가 있습니다.
흔한 실수
썸네일만 보고 화질을 판단하기. 아티팩트는 작은 표시 크기에서는 흔히 보이지 않고, 전체 크기로 보거나 확대했을 때만 드러납니다.
같은 파일을 계속 다시 저장하기. 손실 압축을 한 번 거칠 때마다 약간의 화질이 소모됩니다. 압축되지 않은 원본을 보관하고 항상 거기서부터 압축하세요.
스크린샷과 그래픽을 사진과 똑같이 압축하기. 텍스트나 선명한 경계가 있는 단색 이미지는 압축되고 표시되는 방식이 매우 다릅니다 — PNG가 보통 이런 것들을 더 잘 처리하는 이유는 포맷 가이드를 참고하세요.
빠른 참고
- 압축하기 전에 먼저 크기 조절, 그 반대가 아님
- 사진은 JPG/WebP, PNG는 지양
- 대부분의 사진에는 75~85% 품질이 최적점
- 항상 원본에서 압축 — 이미 압축된 파일을 다시 압축하지 말 것
- 100% 확대해서 결과 확인, 하늘과 그라데이션부터 볼 것