JBIG2: The Compression Connection
How Compression Happens: A Very Simple Explanation
Simply stated, compression is the process of representing a set of data with a smaller set of data. Whenever a data file requires N bits of digital information to depict it, and it is somehow depicted with fewer than N bits, compression has taken place.
In a compression system, the input data is the original file. It enters an encoder which compresses the data to become a much smaller bitstream. The bitstream can either be transmitted to storage or another location. But in either case, the bitstream of compressed data must be somehow decoded for its content to be utilized at the point of output.
JBIG2 and high-level compression
Because JBIG2 is a smart compression standard, it has strict specifications to decode a file, but no precise specifications for how to encode a file. As noted earlier, this allows a sophisticated vendor to employ a variety of techniques to increase the compression ratio.
Not specifying the encoding method for JBIG2 means there is considerable latitude for a JBIG2 design & implementation team to qualitatively differentiate one JBIG2 encoder from another.
The Differentiating Factors in JBIG2 Implementations:
- Compressed file size
- Image quality
- Supported JBIG2 modes
- Speed of the encoder & decoder
- Speed of displaying a page in a file
- Speed of printing the file