데이터 압축
더 많은 작업
데이터 압축(Data Compression)은 데이터 안의 중복과 규칙성, 사람이 알아채기 어려운 정보를 줄여 같은 내용을 더 적은 비트로 나타내는 부호화 기술로, 원래 데이터로 완전히 되돌릴 수 있는 무손실 압축과 일부 정보를 버리는 손실 압축으로 나뉜다.
압축은 저장 공간을 아끼고, 같은 대역폭으로 더 빨리 보내기 위해 쓴다. 대용량 데이터를 보낼 때 압축·해제에 드는 계산 시간보다 줄어든 전송 시간이 크면 압축해서 보내는 쪽이 전체적으로 빠르다. HTTP 압축, 백업, 이미지·음성·영상 전송이 모두 이 원리를 쓴다.
압축이 얼마나 되는지는 원래 데이터의 패턴에 달려 있다. 같은 값이 되풀이되거나 특정 기호가 자주 나오는 등 중복(redundancy)이 많을수록 압축률이 높다. 반대로 무작위에 가까운 데이터나 이미 압축된 데이터는 줄일 여지가 거의 없어, 압축하면 오히려 머리말만큼 커지기도 한다. DEFLATE 규격(RFC 1951)은 간단한 개수 세기 논증으로 어떤 무손실 압축 알고리즘도 모든 입력을 줄일 수는 없다고 밝히고, 압축이 안 되는 블록은 그대로 담는 무압축 블록 형식을 두어 최악의 경우에도 32KB 블록당 5바이트(약 0.015%)만 늘어나게 했다. 같은 규격은 영어 문장이 보통 2.5~3배로 줄고 실행 파일은 그보다 덜 준다고 적고 있다.[1] 정보 이론에서는 기호의 출현 확률로 구한 엔트로피가 무손실 압축으로 도달할 수 있는 평균 비트 수의 하한이다.
- 압축률(압축비) = 원래 크기 / 압축 후 크기. 값이 클수록 많이 줄었다
- 압축 후 크기를 원래 크기의 백분율로 말하기도 한다(예: 25%). 이때는 값이 작을수록 많이 줄었다
- 어느 정의를 쓰든 중복이 많은 데이터일수록 더 많이 줄어든다는 결론은 같다
| 구분 | 무손실 압축 | 손실 압축 |
|---|---|---|
| 복원 결과 | 원래와 똑같다 | 원래와 다르다(근사) |
| 압축률 | 낮은 편(데이터의 중복 정도에 좌우) | 높다(버릴 정보의 양을 조절) |
| 원리 | 중복·통계적 편중 제거 | 중복 제거 + 지각하기 어려운 정보 제거 |
| 쓰임 | 문서, 실행 파일, ZIP·gzip, PNG | JPEG, MP3, MPEG 영상 |
- ↑ 1.0 1.1 「DEFLATE Compressed Data Format Specification version 1.3」(RFC 1951), IETF, https://www.rfc-editor.org/rfc/rfc1951, 확인일: 2026-11-04.
- ↑ 「T.81 : Information technology - Digital compression and coding of continuous-tone still images - Requirements and guidelines」, ITU-T, https://www.itu.int/rec/T-REC-T.81-199209-I/en, 확인일: 2026-11-04.