Overview
ISO/IEC 22091:2002 - Streaming Lossless Data Compression algorithm (SLDC) specifies a standardized, lossless compression method for encoding Records and File Marks into an Encoded Data Stream. Based on ISO/IEC 15220 and registered under ISO/IEC 11576 as algorithm identifier 6, SLDC is a streaming LZ1-class compression algorithm that adds Control Symbols to support records of varying sizes and compressibility while enabling efficient decoding with minimal side information.
Key topics and technical requirements
- Two encoding schemes:
- Scheme 1 (LZ1-based) - uses a 1 024‑byte History Buffer and produces Copy Pointer and Literal 1 Data Symbols to exploit repeated byte sequences for compression.
- Scheme 2 (packing) - designed to encode poorly compressible or random data with minimal expansion by copying bytes and appending a trailing zero after any 0xFF data byte to avoid ambiguity with Control Symbols.
- History Buffer: fixed size of 1 024 bytes; sliding buffer updated identically by encoder and decoder. Matching strings may wrap around the buffer.
- Copy Pointer structure (scheme 1): a leading ONE bit, an M‑bit Match Count Field (encodes match lengths starting at length 2 up to values defined in the standard), and a 10‑bit Displacement Field (specifies a buffer location 0–1023).
- Literal 1: 9‑bit symbol (leading ZERO + data byte) used in scheme 1 for non-matching bytes; Literal 2 used in scheme 2.
- Control Symbols: Reset, Scheme Select, End‑Of‑Record (EOR), File Mark, Flush and End Marker symbols enable stream framing, resets, and switching between schemes.
- Access Points: decoding may begin at defined Access Points that must be on a 32‑bit boundary, preceded by a Reset symbol, and aligned to a Record start.
- Padding and packing: Encoded streams are packed MSB-first into bytes and padded to 32‑bit boundaries when required.
Applications
- Lossless streaming compression for backups, archival systems, tape/disk storage formats, and streaming data transport where record boundaries and file marks matter.
- Embedded firmware and device interfaces that require standardized, interoperable compression (e.g., storage controllers, archival libraries).
- Middleware, compression libraries, and data interchange formats that need a registered, deterministic lossless compressor with record-level framing.
Who should use this standard
- Compression algorithm implementers and library developers
- Storage system engineers and device manufacturers
- Software architects for backup, archival, and data transfer solutions
- Standards and compliance teams seeking interoperable lossless compression methods
Related standards
- ISO/IEC 15220 (basis for scheme 1 behavior)
- ISO/IEC 11576 (registration procedure for lossless compression algorithms)
Keywords: ISO/IEC 22091:2002, SLDC, Streaming Lossless Data Compression, lossless compression, History Buffer, scheme 1, scheme 2, Copy Pointer, Literal, File Mark, LZ1.