데이터 압축
데이터 압축은 저장·전송량을 줄이는 표현 변환이다. 무손실은 입력을 비트 단위로 복원하고, 손실은 일부 정보를 버려 더 큰 절감을 얻는다. 같은 폭포 사진의 JPEG 품질 설정별 파일 크기와 PSNR 그래프, 복원 도식, 실제 입력 사진으로 효율·오차·적용 한계를 함께 읽는다.
같은 사진도 JPEG 품질 설정을 높이면 파일 크기와 PSNR이 함께 커진다
출력 크기 · 높은 설정에서 급증
픽셀 차이 · PSNR이 높을수록 작음
동일 입력·Sharp 0.34.5/libvips 8.17.3·4:2:0·비점진 JPEG. PSNR=10 log₁₀(255²/MSE); quality 값은 인코더 설정이며 보편적 화질 백분율이 아니다.
왼쪽 좌표 그래프는 마사 폭포 사진을 Sharp JPEG 품질 10부터 100까지 다시 인코딩할 때 출력 크기가 약 71킬로바이트에서 1623킬로바이트로 커지는 모습을, 오른쪽 그래프는 기준 픽셀과 비교한 PSNR이 약 24.69데시벨에서 42.13데시벨로 높아지는 모습을 보여 준다
텍스트로 자세히 설명
Wikimedia Commons가 제공한 마사 폭포 1920픽셀 JPEG를 1067×1600 sRGB 8비트 RGB 픽셀 배열로 디코딩한 뒤 이를 기준으로 삼았다. Sharp 0.34.5와 libvips 8.17.3에서 JPEG 품질 설정을 10·25·40·55·70·85·100으로 바꾸고, 4:2:0 색차 서브샘플링·비점진 방식·최적화된 허프먼 부호·mozjpeg 미사용 조건을 고정해 각각 다시 인코딩했다. 왼쪽은 출력 크기가 70.78·159.19·223.14·279.07·363.59·549.05·1623.30 KiB로 변한 결과다. 오른쪽은 각 JPEG를 다시 RGB로 풀어 기준 픽셀과 비교한 PSNR이 24.69·27.34·28.59·29.51·30.73·33.12·42.13 dB로 변한 결과다. PSNR은 평균제곱오차에서 계산한 픽셀 차이 지표로 값이 클수록 이 기준 배열과의 수치 오차가 작다는 뜻이지만, 사람이 느끼는 화질과 같지 않다. Sharp의 quality는 1~100 범위의 인코더 설정일 뿐 JPEG 표준의 보편적인 화질 백분율이 아니다. 원본 장면·해상도·사진의 세부·인코더와 옵션이 달라지면 크기와 PSNR도 달라지므로, 품질 70이 언제나 363.6 KiB 또는 30.73 dB가 된다는 뜻이 아니다. 아래 사진은 이번 입력 장면의 맥락을, 다음 도식은 무손실·손실 복원의 개념 차이를 맡는다.
압축 전후 픽셀의 복원 차이로 무손실과 손실을 가른다
무손실은 줄인 데이터를 풀어 원본과 같은 배열을 되살린다
손실은 일부 변화를 허용해 크기 절감과 품질을 함께 저울질한다
비교 순서: 압축을 푼 뒤 원본과 같은지 확인 → 같으면 무손실 경로 → 일부 변화가 남으면 손실 경로 → 자료의 복원 요구와 저장·전송 효율을 함께 평가.
무손실 경로에서는 원본 픽셀 격자가 작은 압축 묶음을 거쳐 같은 배열로 복원되고, 손실 경로에서는 일부 픽셀이 줄어든 배열로 복원되어 크기 절감과 품질 보존을 함께 저울질하는 그림
텍스트로 자세히 설명
첫 패널은 열여섯 칸 픽셀 격자가 압축 묶음으로 작아졌다가 다시 같은 픽셀 배열로 풀리는 무손실 경로다. 원본과 복원본 사이에 완전히 같다는 표시가 있고 정확한 복원이 중요한 자료라는 기준이 놓인다. 둘째 패널에서는 원본 격자가 더 작은 압축 묶음을 지나 일부 세부 칸이 줄어든 복원본으로 바뀐다. 아래 저울선은 품질 보존과 크기 절감을 양쪽에 놓고, 일부 변화를 허용할 수 있는 자료에서 두 기준을 함께 평가한다고 표시한다. 압축률 하나만으로 우열을 정하는 길은 차단한다.
압축 실험의 기준 장면이 된 마사 폭포

짙은 초록 침엽수 숲과 검은 암벽 사이로 하얀 마사 폭포가 길게 떨어지고 아래 물보라와 쓰러진 나무가 보이는 세로 사진
텍스트로 자세히 설명
미국 워싱턴주 마운트 레이니어 국립공원의 마사 폭포가 숲이 우거진 암벽을 따라 길게 떨어진다. 하얀 물줄기와 물보라, 짙은 암벽, 가는 침엽수 잎, 가지와 쓰러진 나무처럼 밝기·색·경계가 다른 세부가 한 장에 함께 들어 있다. 이 때문에 같은 장면을 손실 압축할 때 매끈한 물줄기와 복잡한 잎·바위 질감에서 서로 다른 변화가 생길 수 있음을 살펴보는 입력 맥락으로 썼다. 앞의 그래프는 Wikimedia Commons 1920픽셀 JPEG를 1067×1600 sRGB 8비트 RGB로 디코딩한 기준 배열에서 Sharp JPEG 품질 설정만 바꾸어 측정한 파일 크기와 PSNR이다. 이 화면에 표시되는 사진은 웹 전송을 위해 WebP로 다시 최적화한 보조본이므로 그래프의 각 JPEG 파일이나 기준 RGB 배열 그 자체가 아니다. Commons 입력도 카메라의 원래 장면을 픽셀 단위로 완전히 보존한 무손실 원본이 아니다. 사진만 보고 품질 설정·파일 크기·PSNR을 역산할 수 없고, 특정 잎이나 물보라가 어느 품질에서 얼마나 달라지는지는 별도 확대 비교가 필요하다. 정량값은 앞의 그래프에서, 무손실과 손실의 복원 원리 차이는 가운데 다이어그램에서 구분해 읽는다.
목차
1. 개요
데이터 압축은 같은 내용을 저장하거나 전송하는 데 필요한 데이터량을 줄이는 표현 변환이다. 핵심은 단순히 파일을 작게 만드는 데 있지 않다. 압축을 푼 뒤 무엇을 그대로 복원해야 하는지, 어떤 변화까지 허용할 수 있는지, 줄어든 크기가 그 손실을 감수할 만큼 가치가 있는지를 함께 판단해야 한다. 이 문제는 이진수와 정보 표현, 데이터 무결성 검증, 검색 엔진의 작동 원리, 기계학습의 학습 과정, 인터넷 주소 체계와 이어진다.
이 문서의 시각자료는 세 역할로 나뉜다. 첫 그래프는 같은 폭포 사진을 여러 JPEG 품질 설정으로 다시 인코딩한 실제 측정값을, 다음 다이어그램은 무손실·손실 복원의 원리를, 실제 마사 폭포 사진은 측정에 사용한 장면의 질감과 경계 맥락을 보여 준다. 사진 자체를 보고 파일 크기나 PSNR을 추정할 수는 없다.
2. 상세
2.1. 무엇을 줄이는가 — 반복과 표현 비용
압축기는 입력에 반복되는 패턴이 있거나 더 짧게 표현할 수 있는 구조가 있는지를 찾는다. 무손실 압축은 이 구조를 이용하되 복원 때 입력 데이터를 정확히 되살릴 정보를 남긴다. 손실 압축은 사람이 쓰는 목적에서 덜 중요하다고 정한 세부를 줄이거나 더 거칠게 표현해 크기를 더 낮출 수 있다. 따라서 압축 결과는 파일 형식 이름만으로 결정되지 않고 입력 내용, 해상도, 인코더와 설정의 영향을 함께 받는다.
압축 전후의 크기를 비교할 때도 기준을 먼저 확인해야 한다. 디코딩된 RGB 픽셀 배열, 카메라가 만든 JPEG, PNG 파일은 서로 다른 표현이므로 같은 수치처럼 놓을 수 없다. “몇 퍼센트 압축했다”는 말에는 무엇을 분모로 삼았는지가 따라붙어야 한다.
2.2. 무손실과 손실 — 복원 기준의 차이
무손실 압축은 압축을 풀었을 때 입력 비트열을 동일하게 복원한다. 프로그램 파일, 문서 원본, 정확한 픽셀 값이 필요한 자료처럼 한 비트의 변화도 문제가 될 수 있는 경우에 적합하다. PNG는 대표적인 무손실 래스터 이미지 형식이다.1
손실 압축은 일부 정보를 버리거나 근사해 더 작은 파일을 만든다. JPEG는 사진에 널리 쓰이는 손실 형식이다.1 한편 “JPEG는 사진, PNG는 그림”이라는 문장은 절대 법칙이 아니다. 사진의 목적, 투명도 필요 여부, 편집 횟수, 허용 가능한 왜곡과 전송 환경을 함께 보고 형식과 설정을 선택해야 한다. 형식이 같아도 인코더와 품질 설정이 다르면 결과가 달라진다.
2.3. 같은 사진의 통제 실험 — 크기와 픽셀 오차
첫 그래프는 미국 국립공원관리청이 공개한 마사 폭포 사진의 Wikimedia Commons 1920픽셀 JPEG를 입력으로 삼았다.2 이를 1067×1600 sRGB 8비트 RGB 배열로 디코딩하고, Sharp 0.34.5·libvips 8.17.3에서 품질 설정만 10·25·40·55·70·85·100으로 바꿨다. 색차 서브샘플링 4:2:0, 비점진 JPEG, 최적화된 허프먼 부호, mozjpeg 미사용 조건은 고정했다. Sharp의 quality는 1~100 범위의 인코더 설정이지 보편적인 화질 백분율이 아니다.3
출력 크기는 차례로 70.78·159.19·223.14·279.07·363.59·549.05·1623.30 KiB였다. 같은 파일을 다시 RGB로 풀어 기준 배열과 비교한 PSNR은 24.69·27.34·28.59·29.51·30.73·33.12·42.13 dB였다. 이번 입력과 고정 조건에서는 품질 설정이 높아질수록 파일 크기와 PSNR이 모두 커졌고, 특히 85에서 100 사이의 크기 증가가 컸다. 그러나 이 곡선의 모양과 수치를 다른 사진이나 다른 인코더에 그대로 적용할 수는 없다.
2.4. PSNR은 무엇을 말하고 무엇을 말하지 않는가
MSE는 기준 배열과 복원 배열의 각 RGB 채널 값 차이를 제곱해 평균한 값이다. 8비트 채널에서는 PSNR = 10 log₁₀(255²/MSE)로 계산할 수 있다. PSNR이 클수록 이 기준 배열과의 평균적인 수치 오차가 작다는 뜻이다.
하지만 PSNR은 사람이 느끼는 선명도나 아름다움의 점수가 아니다. 같은 PSNR이어도 왜곡이 얼굴, 글자, 잎사귀처럼 눈에 민감한 위치에 몰리면 체감은 달라질 수 있다. 품질 100의 PSNR도 유한한 42.13 dB였으므로 이 설정 역시 기준 픽셀을 비트 단위로 완전히 복원한 무손실 결과가 아니다.
이번 기준 배열은 이미 JPEG였던 Commons 파일을 디코딩한 값이다. 카메라 앞 실제 장면의 무손실 원본이 아니다. 화면에 보이는 폭포 사진 또한 웹 전송을 위해 WebP로 최적화한 보조본으로, 그래프에 쓰인 일곱 JPEG 출력 파일이나 기준 RGB 배열 그 자체가 아니다. 측정은 재현 스크립트 scripts/wiki/measure-image-compression.mjs에 입력 해시·크기·인코더 옵션·PSNR 식과 함께 고정했다.4
3. 수능에서는 이렇게 나온다
압축 지문은 비교 대상보다 비교 조건을 먼저 읽어야 한다.
- 복원 조건을 확인한다. 입력과 완전히 같아야 하면 무손실, 일부 변화를 허용하면 손실의 문제다.
- 독립 변인과 종속 변인을 가른다. 이번 그래프에서는 JPEG 품질 설정만 바꾸고 파일 크기와 PSNR을 측정했다.
- 같은 척도인지 확인한다. KiB는 저장량, dB는 픽셀 오차에서 계산한 PSNR이므로 한 축의 높이만으로 두 값을 직접 비교할 수 없다.
- 일반화 범위를 제한한다. 사진·인코더·색차 처리·해상도가 달라지면 결과가 바뀐다.
- 효율과 보존을 함께 평가한다. 더 작은 파일이 언제나 더 좋은 것도, 더 큰 파일이 언제나 목적에 더 맞는 것도 아니다.
4. 헷갈리기 쉬운 것들
| 흔한 오해 | 왜 틀렸나 | 바르게 이해하기 |
|---|---|---|
| 품질 70은 원본 화질의 70%다 | quality는 특정 인코더의 설정값이며 보편적인 백분율이 아니다 | 같은 입력·인코더·옵션 안에서 비교한다 |
| PSNR이 높으면 사람이 반드시 더 좋게 느낀다 | PSNR은 평균 픽셀 오차 지표이며 지각 품질과 동일하지 않다 | 수치 오차와 사람의 지각 평가를 구분한다 |
| JPEG 품질 100이면 무손실이다 | 이번 결과도 기준 배열과 차이가 남았다 | 손실 형식의 높은 설정과 무손실 복원을 구분한다 |
| 화면의 폭포 사진이 그래프의 측정 파일이다 | 화면 사진은 WebP 보조본이고 그래프는 별도 JPEG 출력들을 측정했다 | 그래프·다이어그램·사진의 역할을 나누어 읽는다 |
| 압축은 보안 기술이다 | 압축은 데이터량을 줄이고, 암호화는 내용을 알아보지 못하게 한다 | 무결성 검증·암호화와 목적을 구분한다 |
5. 관련 개념
- 이진수와 정보 표현 — 데이터를 어떤 단위와 정밀도로 표현하는지 설명하는 기초
- 데이터 무결성 검증 — 저장·전송 뒤 데이터가 달라졌는지를 해시로 확인하는 인접 개념
- 검색 엔진의 작동 원리 — 대량 자료의 저장·전송 효율이 중요한 활용 맥락
- 기계학습의 학습 과정 — 입력 데이터의 크기와 표현 품질이 함께 문제 되는 확장 맥락
- 인터넷 주소 체계 — 압축된 데이터가 오가는 통신 환경
각주
-
MDN, Image file type and format guide. JPEG의 손실 특성과 PNG의 무손실 특성을 비교했다. ↩ ↩2
-
National Park Service, Martha Falls 사진, Wikimedia Commons, Public Domain. ↩
-
Sharp, JPEG output options. quality 범위와 JPEG 출력 옵션을 확인했다. ↩
-
은광위키 통제 측정. Commons 1920픽셀 입력 SHA-256
15dcbd54ef94c5dad899814970089fa20eb2e618a7ba8d98ebea65f361d72573, 기준 RGB SHA-256ff8085da01f87c14239f8ac28dbbbc0f98280871c003fba2f5046d9b9f655289. ↩
출제 이력 18회
이 개념이 어느 시험·지문에 등장했는지의 기록입니다. 개념 자체의 난이도가 아니라 출제 맥락을 보여줍니다.
- 26학년도 9월 모평독서지문 내 문항
- 14번2점
- 15번2점
- 16번2점
- 17번3점
- 23학년도 9월 모평독서지문 내 문항
- 14번2점
- 15번2점
- 16번3점
- 17번2점
- 21학년도 6월 모평독서지문 내 문항
- 25번2점
- 26번2점
- 27번2점
- 28번3점
- 18학년도 6월 모평독서지문 내 문항
- 30번2점
- 31번3점
- 32번2점
- 33번2점
- 34번2점
- 18학년도 수능독서지문 내 문항
- 38번2점
- 39번2점
- 40번2점
- 41번3점
- 42번2점
- 17학년도 6월 모평독서지문 내 문항
- 16번2점
- 17번2점
- 18번2점
- 19번3점
- 16학년도 6월 모평 A형독서지문 내 문항
- 16번2점
- 17번2점
- 18번3점
- 16학년도 9월 모평 A형독서지문 내 문항
- 16번2점
- 17번2점
- 18번3점
- 15학년도 9월 모평 A형독서지문 내 문항
- 19번2점
- 20번2점
- 21번3점
- 15학년도 수능 A형독서지문 내 문항
- 20번2점
- 21번2점
- 22번3점
- 14학년도 6월 모평 B형독서지문 내 문항
- 21번2점
- 22번2점
- 23번3점
- 14학년도 6월 모평 A형독서지문 내 문항
- 19번2점
- 20번2점
- 21번3점
- 14학년도 9월 모평 A형독서지문 내 문항
- 22번2점
- 23번2점
- 24번2점
- 25번2점
- 13학년도 6월 모평독서지문 내 문항
- 19번2점
- 13학년도 6월 모평독서지문 내 문항
- 44번2점
- 46번3점
- 13학년도 9월 모평독서지문 내 문항
- 31번2점
- 32번2점
- 33번2점
- 34번2점
- 12학년도 9월 모평독서지문 내 문항
- 47번2점
- 48번2점
- 49번2점
- 50번2점
- 11학년도 수능독서지문 내 문항
- 25번2점
- 26번3점
이 문서를 가리키는 문서
잘못된 내용을 발견하셨나요? 신고해 주시면 검토 후 반영합니다.