Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 14492:2001, adopted internationally and in Canada as CAN/CSA-ISO/IEC 14492-04, defines a coding system for bi-level (black-and-white) images. Commonly referred to as JBIG2, this standard provides both lossless and lossy compression methods optimized for document images, text, and halftones. It supersedes earlier fax standards (T.4, T.6) and the original JBIG standard (ISO/IEC 11544), offering significantly improved compression ratios while maintaining high image quality.
The standard addresses three primary application domains:
JBIG2 is widely used in PDF, TIFF, and fax systems, as well as in many document imaging applications.
The standard operates on images with exactly two pixel values (0 for white, 1 for black). It supports arbitrary image dimensions up to 2³²–1 pixels per side, and can handle multiple stripes or pages in a single data stream.
| Coding Mode | Description | Typical Use Case |
|---|---|---|
| Generic Region | Lossless or lossy coding using context-based arithmetic coding (QM coder) or Huffman tables; supports arbitrary content. | General bi-level images, scanned pages |
| Symbol Region | Identifies repeated character-level patterns (dictionary approach); extremely efficient for text. | Text-heavy documents, printed pages |
| Refinement Region | Incremental encoding of differences between two images (e.g., a low-resolution base and high-resolution detail). | Progressive decoding, layer-based coding |
| Halftone Region | Lossy encoding optimized for halftoned images using pattern matching and substitution. | Photographs, screened images |
JBIG2 employs four core entropy coders:
The standard defines a flag in the image header (GB_ATYP) that, when set to 1, permits lossy operations such as merging similar symbols into one class (text) or substituting halftone patterns. In lossless mode, every pixel must be reconstructed exactly. Coders must respect this flag and ensure no irreversible modifications occur when lossless operation is required.
A JBIG2 data stream is composed of a sequence of segments, each with a type (0–63). Key segment types include:
Each segment carries an optional bitmap (for lossy symbol generation) and supports data fragmentation (segments can refer to other segments by number).
Arithmetic decoding requires careful table maintenance; embedded implementations often benefit from byte-level precomputation. The symbol dictionary approach can be memory-heavy when decoding large documents, so implementers should budget at least 2–4 MB for dictionary caching in most use cases.
ISO/IEC 14492 defines two conformance levels:
To claim compliance, a decoder must correctly decode all bitstreams that adhere to the declared level. Conformance test suites are provided in ISO/IEC 14492-1:2001/Amd 1:2005 and the JBIG2 conformance library (ISO/IEC 14492-4:2005).
In Canada, CAN/CSA-ISO/IEC 14492-04 is a national standard; products marketed for document imaging and archiving should reference it. For international deployment, adherence to ISO/IEC 14492:2001 is sufficient. Many enterprise document platforms (Adobe PDF, Tesseract, libjbig2) implement the standard.
| Document | ISO/IEC Reference | Status |
|---|---|---|
| JBIG2 Coding Standard | ISO/IEC 14492:2001 | Published (current) |
| Canadian Adoption | CAN/CSA-ISO/IEC 14492-04 | Adopted (R2018) |
| Conformance Test Suite | ISO/IEC 14492-4:2005 | Available |