화질 손상 없이 이미지 크기 줄이는 방법
수정 6분 분량
“화질 손상 없는 리사이즈”는 조금 불공정한 약속이라, 무엇이 사실인지 정확히 말해두는 게 좋겠습니다. 줄이는 것은 제대로 하면 거의 손실이 없고, 늘리는 것은 불가능합니다. 그리고 사람들이 리사이즈 과정에서 잃는 화질은 대부분 리사이즈가 아닌 다른 것 때문에 발생합니다.
축소: 잘 될 수 있는 쪽
4000px 이미지를 1000px로 줄이면 원본 픽셀 4개가 1개가 되어야 합니다. 그 하나의 값을 어떻게 정하느냐가 전부입니다.
가장 단순한 방식(최근접 이웃)은 넷 중 하나를 고르고 나머지를 버립니다. 사진에서는 에일리어싱이 생깁니다. 대각선이 톱니처럼 끊기고, 옷감이나 벽돌에 물결무늬(모아레)가 뜨고, 경계선이 전반적으로 지글거립니다. 빠르고, 결과는 나쁩니다.
괜찮은 리샘플러는 기여하는 픽셀들을 거리에 따라 가중 평균합니다. 브라우저는 이미지를 작게 그릴 때 기본적으로 이 방식을 쓰고, 그래서 잘 구현된 브라우저 내 리사이즈는 타협이 아닙니다.
남는 미묘한 문제는 한 번에 크게 줄이는 경우입니다. 4000px에서 곧바로 400px로 가면 출력 픽셀 하나가 입력 픽셀 100개에서 나와야 하는데, 대부분의 리샘플러는 좁은 이웃만 참조하기 때문에 정보가 평균되지 않고 건너뛰어집니다. 결과는 거칠어진 경계입니다. 해법은 단계적으로, 절반씩 줄이는 것입니다(4000 → 2000 → 1000 → 500 → 400). 각 단계가 항상 좁고 충분히 덮인 이웃만 평균하게 됩니다. 이 사이트가 큰 축소를 할 때 내부적으로 하는 일이고, 줄인 사진들에서 그 특유의 자글자글한 느낌이 안 나는 이유입니다.
확대: 왜 불가능한가
확대는 애초에 기록되지 않은 디테일을 요구하는 일입니다. 리샘플러는 기존 픽셀 사이를 매끄럽게 이을 수 있고(→ 뿌옇게 보임), 급격하게 둘 수도 있습니다(→ 각지게 보임). 둘 다 정보를 더하지는 못합니다.
그래서 이 도구는 원본보다 크게 늘리는 것을 기본적으로 막아둡니다. AI 업스케일러는 완전히 다른 기술입니다. 학습된 모델로 그럴듯한 디테일을 만들어내는 것이고, 어떤 목적에는 유용하지만 어떤 목적에는 실격입니다(증거 자료, 문서, 만들어진 디테일이 문제가 되는 모든 것). 어느 쪽이든 리사이즈는 아닙니다.
큰 이미지가 필요하면 답은 더 큰 원본입니다. 원본 파일, RAW, 벡터, 디자인 소스에서 다시 내보내세요.
실제로 화질을 깎은 범인
리사이즈가 이미지를 망쳤다고 할 때, 열 번 중 아홉은 리사이즈는 정상이었고 아래 중 하나가 원인입니다.
JPEG 재저장. JPEG 저장은 매번 새로운 손실 압축입니다. 열고 → 줄이고 → 저장 → 다시 열고 → 자르고 → 저장하면 두 번 압축한 것이고, 첫 압축이 남긴 자국을 두 번째 압축이 실제 디테일로 착각해 붙잡습니다. 이것이 세대 손실이고, 누적되며 되돌릴 수 없습니다. 원본에서 시작해 편집을 한 번에 적용하고 한 번만 내보내세요.
너무 낮게 남아 있던 품질 값. 1080px·JPEG 품질 60은 2160px·품질 85보다 나쁘게 보이는데, 사람들은 크기를 탓합니다. 리샘플러를 의심하기 전에 품질 슬라이더를 확인하세요.
축소 후의 과한 샤프닝. 축소하면 이미지가 아주 약간 부드러워지고, 본능적으로 샤프닝을 걸게 됩니다. 조금은 괜찮지만 보통은 과하게 걸리고, 경계마다 밝은 테두리가 생깁니다. 이 테두리는 이후 모든 압축을 살아남으며 원래의 부드러움보다 나쁘게 보입니다.
플랫폼의 재압축. 6MB 파일을 SNS에 올리면 내가 통제할 수 없는 설정으로 강하게 재인코딩됩니다. 깨끗하게 정리된 400KB 파일을 넘기는 쪽이 최대 품질 원본을 넘기는 쪽보다 최종 결과가 좋을 때가 많습니다.
무너지지 않는 작업 순서
- 원본에서 시작합니다. 나에게 메일로 보냈던 사본도, 메신저에서 저장한 버전도 아닙니다.
- 자르기 먼저, 리사이즈 나중. 자르기는 구도를 바꾸고 픽셀을 버리는 작업이므로, 픽셀이 모두 남아 있을 때 합니다.
- 필요한 크기로 한 번만 리사이즈합니다. “대충 충분히 크게, 나중에 조정”은 두 번째 인코딩을 뜻합니다.
- 내용에 맞는 형식을 고릅니다. 사진은 손실, 스크린샷은 무손실.
- 예상 용량을 보면서 품질을 정하고, 조건을 만족하는 첫 값에서 멈춥니다.
- 한 번 내보내고, 원본은 보관합니다.
일괄 처리에서도 같은 목록에 “선택한 모든 파일에 적용”만 켜두면 됩니다. 요점은 모든 파일이 디코딩 한 번, 인코딩 한 번만 거치게 만드는 것입니다.
DPI, PPI, 그리고 끝없는 혼란
디지털 이미지의 실제 치수는 픽셀 하나뿐입니다. DPI는 그 픽셀을 얼마나 촘촘히 인쇄할지에 대해 메타데이터에 적힌 숫자입니다. 화면에 보이는 모습에는 영향이 없고, SNS와 브라우저는 이 값을 완전히 무시합니다.
픽셀을 그대로 두고 DPI만 바꾸면 이미지에 대해 아무것도 바뀌지 않습니다. DPI가 실체를 갖는 곳은 인쇄이고, 계산은 단순합니다.
픽셀 = 인치 × DPI
- 4 × 6인치 사진을 300DPI로 인쇄하려면 1200 × 1800픽셀이 필요합니다.
- A4(8.27 × 11.69인치)를 300DPI로 인쇄하려면 약 2480 × 3508픽셀입니다.
- 2미터 떨어져서 보는 포스터는 150DPI로도 충분합니다.
인쇄소가 “300DPI로 주세요”라고 할 때 필요한 것은 결국 픽셀 수입니다. 실제 크기에서 계산해 그 크기로 리사이즈하고, 메타데이터 항목은 무시하세요.
리사이즈가 정말로 무손실인 경우
알아둘 만한 두 가지. 무손실 형식(PNG, 무손실 WebP)은 인코딩에서 잃는 것이 없으므로, PNG로 축소하면 한계는 리샘플러뿐이고 남긴 픽셀은 정확히 저장됩니다. 그리고 무손실 형식에서 리사이즈 없이 자르기만 하면 픽셀을 덜어내되 남은 픽셀은 전혀 변하지 않습니다. 편집을 여러 단계 거쳐야 하고 깨끗하게 유지하고 싶다면, 최종 내보내기까지 PNG나 무손실 WebP로 버티면 손실 비용을 마지막에 한 번만 치르게 됩니다.