정의
LZFSE(“Lempel‑Ziv Finite State Entropy”)는 Apple이 개발한 무손실 데이터 압축 알고리즘이다. LZ77 기반의 문자열 매칭 기법과 Finite State Entropy(FSE)라는 산술 코딩 방식을 결합하여, 압축률과 압축·해제 속도 간의 균형을 목표로 설계되었다.
역사 및 배경
- 2016년 Apple이 macOS 10.12(“Sierra”)와 iOS 10에 포함시키면서 공개하였다.
- 이후 Apple은 해당 알고리즘을 오픈소스로 제공했으며, 공식 저장소는 Apple Open Source(apple.com)와 GitHub 등에서 확인할 수 있다.
기술적 특징
| 항목 | 내용 |
|---|---|
| 압축 원리 | LZ77 기반의 문자열 매칭을 사용하여 중복 데이터를 탐지하고, 매칭 정보를 FSE를 이용해 고효율 엔트로피 코딩한다. |
| 윈도우 크기 | 일반적으로 64 KB의 슬라이딩 윈도우를 사용한다. |
| 압축률 | ZLIB(Deflate) 대비 동일하거나 약간 높은 압축률을 제공한다는 평가가 있다. |
| 속도 | LZ4와 비교했을 때 압축·해제 속도가 다소 느리지만, 높은 압축 효율성을 가진다. |
| 플랫폼 | macOS, iOS 및 기타 Apple 제품에 내장되어 있으며, 명령줄 도구(lzfse)를 통해 직접 사용할 수 있다. |
| 파일 포맷 | 압축된 데이터는 .lzfse 확장자를 사용한다. 헤더에는 압축 옵션 및 원본 데이터 크기 등이 포함된다. |
주요 활용 사례
- macOS와 iOS의 시스템 업데이트 파일 압축.
- Xcode 등 개발 도구에서 배포 패키지 및 리소스 압축.
- 타사 응용 프로그램에서 Apple 공개 API를 활용한 파일 압축·해제.
관련 기술
- LZMA, ZSTD, LZ4 등 다른 무손실 압축 알고리즘과 비교되는 경우가 많다.
- FSE는 빠른 엔트로피 코딩을 제공하는 기술로, Facebook이 개발한 Zstandard에서도 사용된다.
참고문헌
- Apple Developer Documentation – “LZFSE Compression”. (apple.com)
- Apple Open Source – “lzfse” source code repository. (opensource.apple.com)
- “Finite State Entropy” – FSE algorithm specification (public technical literature).
본 내용은 확인된 공개 자료를 기반으로 작성되었으며, 최신 기술 동향에 따라 추가적인 세부 사항이 변경될 수 있다.