최근 수정 시각 : 2024-01-28 14:38:06

Deflate

미국의 프로그래머 필 캐츠[1]가 만든 무손실 압축 알고리즘이다. 32KB 윈도우 크기를 가지는 LZ77 압축 알고리즘으로 1차 압축한 후, 2차로 허프만 코드 알고리즘을 사용하는 방식을 사용한다. (대부분의 압축 파일은 이와 같이 여러 단계의 압축 알고리즘을 섞어서 사용한다.)

deflate 알고리즘은 ZIP포맷에 사용하기 위해서 만들어진 압축 알고리즘이다. 원래 초창기 ZIP 포맷은 implode나 shrink와 같은 압축 알고리즘을 사용하였는데, 이들 압축 알고리즘은 압축 효율이 낮아서 현재는 거의 사용되고 있지 않다.

deflate 압축 알고리즘은 다른 압축 알고리즘과 비교하여 ① 압축 효율은 좋으면서 ② 속도도 빨라서[2] 현재는 거의 압축 알고리즘의 표준으로 인정받고 있다. 가장 많이 쓰이는 분야는 ZIP를 사용하는 압축 유틸리티와 PNG 이미지 포맷, DOCX, PPTX, XLSX의 문서 포맷 등이 있다.

deflate 압축 알고리즘은 rfc1951에 정리되어 있으며, 이 압축 알고리즘을 구현한 소스로는 zlib가 제일 유명하다.


[1] Philip Walter Katz, 1962~2000. 위스콘신 밀워키 태생으로, PKWARE Inc.의 창업주. 현재 가장 널리 쓰이는 압축 포맷인 ZIP 포맷을 만든 사람이다. 최초의 ZIP 압축 프로그램이었던 PKZIP/PKUNZIP의 이름도 자신의 이니셜(P. K.)을 따서 지은 것. 37세의 젊은 나이에 사망하였는데, 사인은 알코올 의존증이 야기한 급성 췌장 출혈이었다. [2] 압축 효율이 더 좋은 알고리즘이 있지만, 속도가 느릴 수 있다. 물론 CPU 성능 향상 덕분에 시점에 따라 이를 달리 볼 여지도 있다.

분류