'크기 줄이기'와 '화질 낮추기', 사진 용량을 줄일 때 무엇이 먼저일까

작성

사진 용량을 줄이는 방법은 두 가지입니다. 가로·세로 화소 수를 줄이거나, 화소 수는 그대로 두고 JPG 화질을 낮추는 것입니다. 접수 사이트가 "200KB 이하"를 요구하는 상황을 가정하고 두 방법을 비교해 봤습니다.

'크기'와 '용량'은 다른 말입니다

사진의 크기는 가로와 세로 화소 수입니다. 요즘 휴대폰으로 찍은 사진은 대개 4032×3024, 약 1,200만 화소입니다. 용량은 그 사진을 저장한 파일이 차지하는 바이트 수로, 같은 크기라도 화질값과 사진 내용에 따라 달라집니다. 이 사이트에는 크기를 바꾸는 이미지 크기 변경과 용량을 맞추는 이미지 용량 줄이기가 따로 있지만, 용량 줄이기에도 '긴 변 최대 크기' 칸이 있어서 두 가지를 한 번에 할 수 있습니다.

측정에는 위키미디어 공용에 CC0로 공개된 아이폰 사진 두 장을 썼습니다. 사진 A는 망사에 싼 파파야 더미(원본 3,120KB)로 잔무늬가 많고, 사진 B는 나무 책상 위의 휴대폰(원본 3,597KB)으로 매끈한 면이 넓습니다. 두 사진 모두 4032×3024 화소입니다.

크기만 줄였을 때

이미지 크기 변경으로 가로 화소 수만 바꿨습니다. 이 도구는 JPG를 화질 92로 저장하므로 화질은 거의 그대로이고 화소 수만 줄어듭니다.

크기화소 수 비율사진 A사진 B
4032×3024 (원본)100%3,120KB3,597KB
3000×225055%1,785KB1,541KB
2000×150025%920KB740KB
1600×120016%675KB527KB
1280×96010%481KB363KB
1000×7506%301KB210KB
800×6004%221KB150KB
640×4802.5%156KB101KB

가로를 절반 남짓(2000화소)으로 줄이면 화소 수는 4분의 1이 되고, 용량도 원본의 21~30%로 거의 비례해서 줄었습니다. 화질값을 하나도 건드리지 않았는데도 그렇습니다. 같은 크기에서 화질을 조금 낮추면 더 줄어듭니다. 용량 줄이기에 긴 변 2000과 화질 80을 함께 넣었더니 사진 A는 588KB, 사진 B는 453KB였고, 긴 변 1600에 화질 75로는 377KB와 277KB가 되었습니다.

200KB에 맞추는 두 가지 방법

이미지 용량 줄이기에서 목표 용량을 200KB로 정하고, 긴 변 최대 크기를 비워 둔 경우와 2000·1600·1280으로 정한 경우를 비교했습니다. 비워 두면 도구는 화질부터 낮추고, 가장 낮은 화질로도 넘칠 때만 크기를 줄입니다.

화질은 두 결과를 모두 가로 1,280화소로 줄여, 화면에 같은 크기로 띄웠을 때 원본과 얼마나 다른지를 PSNR(dB)로 비교했습니다. 높을수록 원본에 가깝고, 3dB면 꽤 큰 차이입니다.

긴 변 제한사진 A 결과PSNR사진 B 결과PSNR
없음4032×3024 · 175KB26.04032×3024 · 190KB30.2
20002000×1500 · 193KB29.42000×1500 · 198KB34.4
16001600×1200 · 200KB29.61600×1200 · 198KB34.5
12801280×960 · 199KB29.31280×960 · 198KB34.2

크기를 그대로 둔 결과가 두 사진 모두 가장 나빴습니다. 크기를 줄이면 PSNR이 사진 A는 3.3dB 이상, 사진 B는 4dB 이상 올랐습니다. 반면 2000, 1600, 1280 사이의 차이는 0.4dB 이내로 작았습니다. 크기를 줄이느냐 마느냐가 중요하고, 얼마나 줄이느냐는 그보다 덜 중요했다는 뜻입니다.

원본 크기를 유지한 채 200KB로 줄인 사진 일부. 색이 얼룩지고 잔무늬가 뭉개졌다
크기 그대로 · 4032×3024 · 175KB
긴 변을 1600화소로 줄인 뒤 200KB로 맞춘 같은 부분. 망사 결과 껍질의 점이 또렷하다
긴 변 1600 · 1600×1200 · 200KB

사진 A의 같은 부분을 둘 다 가로 1,600화소 기준으로 잘라 무손실 PNG로 저장했습니다. 왼쪽은 화면에 맞게 줄여서 보여 주는 상태입니다.

왼쪽은 망사 사이로 보이는 과일 껍질이 노랑과 초록의 얼룩으로 뭉개지고, 망사 가장자리도 지저분합니다. 오른쪽은 같은 용량인데도 껍질의 점과 망사 결이 그대로 살아 있습니다.

이유는 화소 하나에 쓸 수 있는 데이터의 양입니다. 200KB를 1,200만 화소에 나눠 쓰면 화소 하나에 0.13비트꼴이지만, 1600×1200(192만 화소)이면 0.85비트로 6배 넘게 늘어납니다. 어차피 화면에서는 줄여서 볼 사진이라면 보이지도 않을 화소를 지키느라 화질을 버리는 셈입니다.

언제 무엇을 먼저 쓸까

화면으로 볼 사진이면 크기부터 줄입니다

휴대폰 화면의 가로는 대략 1,080~1,290화소, 일반 모니터는 1,920화소입니다. 메신저, 블로그, 쇼핑몰, 접수 사이트처럼 화면으로만 볼 사진이라면 긴 변 1600~2000화소로 줄여도 한 화면에 꽉 차게 보입니다. 크기를 먼저 정하고, 남은 용량 안에서 화질을 맞추는 순서가 결과가 가장 좋습니다.

인쇄할 사진은 크기를 지킵니다

인화나 인쇄에는 화소 수가 그대로 인쇄 해상도가 됩니다. 이때는 크기를 함부로 줄이지 말고, 용량이 문제라면 화질을 80~90 정도로 조금만 낮춥니다.

작은 글씨를 찍은 사진은 너무 줄이지 않습니다

서류나 영수증을 찍은 사진은 크기를 너무 줄이면 작은 글씨가 뭉개져 읽을 수 없습니다. 이런 사진은 긴 변 2000화소 이상을 남겨 두고, 글씨를 확대해 읽을 수 있는지 확인한 뒤 제출합니다.

이 사이트에서 한 번에 하는 법

  1. 이미지 용량 줄이기에 사진을 넣습니다.
  2. '목표 용량'을 고르고 제한 용량(예: 200)을 KB로 입력합니다.
  3. '긴 변 최대 크기'에 1600을 입력합니다. 글씨가 있는 사진이면 2000으로 합니다.
  4. 결과 목록에서 용량과 크기를 확인하고 내려받습니다.

목표 용량이 아주 작아서 지정한 크기로도 맞출 수 없으면, 도구가 알아서 크기를 더 줄여 맞춥니다. 같은 방식으로 100KB를 목표로 하자 긴 변 제한 없이도 사진 A는 1199×899, 사진 B는 1306×979로 줄어들었습니다.

화질값만 바꿨을 때의 용량 변화는 JPG 화질값별 용량과 화질에 정리해 두었습니다.