Deflate

필 캐츠가 만든 비손실 압축 알고리즘.

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

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

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

deflate 압축 알고리즘은 32k 윈도우 크기를 가지는 LZ77 압축 알고리즘으로 1차 압축한 후 2차로 허프만 압축 알고리즘을 사용하는 방식을 사용한다.
(대부분의 압축 파일은 이와 같이 여러단계의 압축 알고리즘을 섞어서 사용한다.)