수학·컴퓨터

압축 파일은 어떻게 크기를 줄이는가

같은 내용을 더 적은 비트로 적는 비결은 반복을 찾아 짧게 부르는 데 있다. 원본을 그대로 되살리는 압축과 조금 버리는 압축은 원리부터 다르다.

편집부 · 2026년 10월 7일 · 읽는 데 4분

종이 서류 더미가 작은 정육면체로 압축되는 모습
종이 서류 더미가 작은 정육면체로 압축되는 모습

압축은 데이터 속에 되풀이되는 패턴을 찾아 더 짧은 표현으로 바꾸는 일이다. 같은 단어가 백 번 나오는 문서라면 그 단어를 짧은 기호로 바꾸고 기호표를 함께 저장하면 크기가 줄어든다. 압축에는 원본을 한 글자도 틀리지 않고 되살리는 무손실 압축과, 사람이 알아채기 어려운 부분을 버려 훨씬 작게 만드는 손실 압축이 있다.

무손실 압축은 무엇을 줄이나

가장 단순한 예는 같은 값이 연달아 나오는 부분을 묶는 방식이다. '흰흰흰흰흰검검흰흰흰'을 '흰5검2흰3'으로 적으면 짧아진다. 흰 바탕이 넓은 팩스 문서나 단순한 그림에서는 이 방법만으로도 크기가 크게 준다.

문서처럼 복잡한 데이터에는 앞에서 나온 내용을 다시 가리키는 방법이 쓰인다. 어떤 구절이 앞에 이미 나왔다면, 그 구절을 다시 적는 대신 '몇 글자 앞에서부터 몇 글자를 복사하라'는 짧은 지시로 바꾼다. 우리가 흔히 쓰는 압축 파일 형식들이 이 생각을 바탕으로 한다. 반복이 많은 문서일수록 압축이 잘 된다.

또 하나의 방법은 자주 나오는 기호에 짧은 부호를, 드물게 나오는 기호에 긴 부호를 주는 것이다. 모스 부호에서 가장 흔한 알파벳 E가 점 하나인 것과 같은 생각이다. 1952년 데이비드 허프먼은 기호들의 빈도가 주어졌을 때 전체 길이를 가장 짧게 만드는 부호를 체계적으로 만드는 방법을 내놓았다. 이 허프먼 부호는 지금도 여러 압축 방식의 마지막 단계에 쓰인다.

빈도에 따라 가지가 나뉘는 나무 모양의 부호 도식

왜 압축 파일을 다시 압축하면 거의 안 줄어드나

압축이 끝난 파일에는 더 이상 찾을 반복이 거의 남아 있지 않다. 압축 과정이 패턴을 모두 짧은 표현으로 바꿔 버렸기 때문이다. 그래서 압축 파일을 한 번 더 압축하면 크기가 거의 그대로이거나 오히려 조금 커진다. 이미 압축된 사진이나 동영상 파일이 압축 프로그램으로 잘 줄지 않는 것도 같은 이유다.

어떤 데이터를 얼마나 줄일 수 있는지에는 수학적인 한계가 있다. 클로드 섀넌은 정보의 양을 엔트로피라는 값으로 정의했다. 데이터가 예측하기 쉬울수록 엔트로피가 낮고 많이 줄일 수 있으며, 완전히 무작위인 데이터는 엔트로피가 높아 거의 줄일 수 없다. 어떤 무손실 압축도 이 한계보다 작게 만들 수는 없다. 모든 파일을 반드시 작게 만드는 마법의 압축 프로그램이 존재할 수 없다는 것도 이 원리에서 나온다.

손실 압축은 무엇을 버리나

사진과 소리는 조금 달라져도 사람이 알아채지 못하는 부분이 많다. 손실 압축은 이 틈을 노린다. 사람의 눈은 밝기의 변화에는 민감하지만 색의 미세한 차이에는 둔하다. 그래서 사진을 압축할 때 색 정보를 밝기 정보보다 거칠게 저장한다. 세밀한 무늬처럼 눈에 덜 띄는 성분도 줄인다.

소리 압축은 사람의 청각 특성을 이용한다. 큰 소리 바로 옆의 작은 소리는 잘 들리지 않는데, 이렇게 가려지는 소리를 과감히 버린다. 사람이 듣지 못하는 아주 높은 소리도 지운다. 그 결과 원래 크기의 일부만으로 거의 같은 소리를 낸다.

구분 무손실 압축 손실 압축
되살린 결과 원본과 완전히 같음 원본과 조금 다름
줄어드는 정도 데이터에 따라 보통 수준 훨씬 크게 줄일 수 있음
쓰이는 곳 문서, 프로그램, 압축 파일 사진, 음악, 동영상
다시 압축하면 거의 줄지 않음 품질이 점점 떨어짐

같은 사진을 압축 정도에 따라 나란히 놓은 비교 장면

남은 과제

손실 압축의 기준은 결국 사람의 감각이라서, 무엇을 버려도 되는지를 수학만으로 정하기 어렵다. 같은 압축 결과를 두고도 사람마다 느끼는 품질이 다르다. 최근에는 인공지능으로 이미지와 소리를 다시 그려 내는 방식의 압축도 연구되는데, 크기는 작아지지만 원본에 없던 세부를 그럴듯하게 지어낼 위험이 있다. 의료 영상처럼 작은 차이가 판단을 바꿀 수 있는 분야에서는 이런 방식을 쓰기 어렵다.

이어서 읽기