본문 바로가기
카테고리 없음

압축(zip)은 어떻게 용량을 줄일까

by by_merry 2026. 5. 12.

컴퓨터를 사용하다 보면 ZIP 파일은 정말 자주 보게 된다. 여러 파일을 묶어서 보내거나, 용량이 큰 파일을 줄일 때 자연스럽게 사용하는 기능이다. 그런데 예전에는 그냥 “파일을 압축하면 용량이 줄어드는구나” 정도로만 생각했다. 실제로 어떻게 줄어드는지는 크게 신경 쓰지 않았다.

그러다 어느 날 문득 이상한 점이 하나 보였다. 어떤 파일은 압축하면 용량이 크게 줄어드는데, 어떤 파일은 거의 차이가 없었다. 특히 영상 파일이나 MP3는 압축해도 거의 그대로인 경우가 많았다. 그때 처음으로 “압축도 그냥 단순한 기능이 아니라 원리가 있구나”라는 생각이 들었다.

 

압축은 반복되는 데이터를 더 짧게 표현하는 방식이다

압축의 핵심 개념은 생각보다 단순하다. 반복되는 데이터를 더 효율적인 형태로 바꾸는 것이다.

예를 들어 이런 문자열이 있다고 가정해보자.

AAAAAAABBBBBCCCC

이걸 그대로 저장하는 대신:

  • A 7개
  • B 5개
  • C 4개

처럼 표현하면 훨씬 짧게 저장할 수 있다.

즉, 압축은 데이터를 “없애는 것”이 아니라, 더 효율적으로 표현하는 과정에 가깝다.

나도 처음에는 압축하면 뭔가 데이터가 줄어드는 줄 알았는데, 실제로는 표현 방식을 바꾸는 거라는 걸 알고 조금 신기했다. 특히 텍스트 파일은 반복되는 패턴이 많기 때문에 압축률이 굉장히 높은 경우가 많다.

예전에 강의 자료 PDF랑 텍스트 문서를 압축해봤는데, 텍스트 파일은 크기가 꽤 줄어든 반면 이미 압축된 영상 파일은 거의 차이가 없었다. 그때 “아, 압축은 아무 파일이나 무조건 줄어드는 게 아니구나”라는 걸 체감했다.

압축에는 ‘무손실’과 ‘손실’ 방식이 존재한다

압축 방식은 크게 두 가지로 나뉜다. 바로 무손실 압축과 손실 압축이다.

ZIP 파일 같은 일반 압축은 대부분 무손실 압축이다. 말 그대로 데이터를 압축하더라도, 다시 풀면 원래 파일과 완전히 동일하게 복원된다.

반면 JPEG 이미지나 MP3 음악 파일은 손실 압축 방식을 사용한다. 사람 입장에서 크게 티 나지 않는 데이터를 일부 제거해서 용량을 줄이는 방식이다.

예를 들어 MP3는 사람이 잘 듣지 못하는 소리를 줄이고, JPEG는 눈에 크게 티 나지 않는 이미지 정보를 줄인다. 그래서 원본과 100% 완전히 같지는 않다.

나도 예전에 이미지 압축 사이트를 사용했을 때 용량이 엄청 줄어드는 걸 보고 놀랐는데, 자세히 확대해보니까 화질이 조금 깨져 있었다. 그때 처음으로 “용량을 줄이기 위해 일부 정보를 버리는 방식도 존재하는구나”라는 걸 이해하게 됐다.

즉, 압축은 단순히 파일 크기를 줄이는 기술이 아니라, “무엇을 유지하고 무엇을 줄일 것인지”를 결정하는 과정이기도 하다.

이미 압축된 파일은 왜 더 줄어들지 않을까

압축을 공부하면서 가장 흥미로웠던 부분 중 하나가 바로 이거였다. 왜 어떤 파일은 압축이 거의 안 되는 걸까?

대표적인 예가 MP4 영상, JPG 이미지, MP3 음악 파일이다. 이런 파일들은 이미 내부적으로 압축이 적용된 상태다. 즉, 반복되는 데이터가 이미 대부분 제거되어 있다.

그래서 ZIP으로 다시 압축해도 줄일 수 있는 여유가 거의 없다. 오히려 경우에 따라서는 압축 파일 크기가 더 커지기도 한다.

나도 예전에 게임 영상 파일을 ZIP으로 압축해서 보내보려고 했는데, 용량이 거의 그대로라서 꽤 당황했던 기억이 있다. 반대로 코드 파일이나 문서 파일은 압축률이 훨씬 높았다.

그 이후로는 “압축은 무조건 줄어드는 기술이 아니라, 데이터 구조에 따라 효과가 달라지는 기술”이라는 걸 확실히 느끼게 됐다.

한 줄로 정리하면 압축은 반복되는 데이터를 더 효율적으로 표현하여 파일 크기를 줄이는 기술이며, 방식에 따라 원본 데이터를 그대로 유지하는 무손실 압축과 일부 정보를 제거하는 손실 압축으로 나뉜다.