더북(TheBook)

3.1 압축

 

 

이보다 더 나은 방법은 없을까? 좀 더 컴팩트한 방법으로 텍스트를 표현할 방법이 있다면, 많은 비트 공간을 절약할 수 있다. 그리고 우리가 매일 저장하는 텍스트 형식의 디지털 정보량을 고려할 때 공간을 절약하는 것은 상당히 의미 있는 일이다. 사실, 우리가 저장하는 많은 정보는 압축되어 저장되고, 읽을 때 압축이 풀린다.

좀 더 정확히 말하면 압축(compression)은 원래 표현보다 더 적은 비트를 사용하여 일정량의 정보를 인코딩하고 표현하는 프로세스다. 비트양을 어떻게 줄이느냐에 따라 압축은 두 종류가 있다.

중복된 정보를 탐지하고 제거하여 비트 수를 줄이면 이를 무손실 압축(lossless compression)이라고 한다. 단순한 형태의 무손실 압축은 런렝스 인코딩(run-length encoding)이다. 예를 들어, 흑백 이미지를 생각해 보자. 이미지의 각 줄은 다음 예에서 보는 바와 같이 일련의 흑백 픽셀로 되어 있다.

 

런렝스 인코딩은 같은 값을 갖는 데이터의 수, 즉 데이터 길이를 사용한다. 앞의 데이터는 다음과 같이 표현할 수 있다.

 

이것은 비트 수가 이전보다 훨씬 적고 정보 손실이 없어서 원래 데이터와 정확히 같게 복원할 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.