LEADTOOLS Image Compression SDK for Mobile Devices
Mobile devices have a limited amount of memory making image compression a necessity. LEADTOOLS supports many types of both standard and proprietary image compression algorithms. With LEADTOOLS Mobile Imaging technology, developers can create applications to load, save and convert many industry standard and proprietary image compressions.
| JPEG2000 | JPEG |
| LEAD CMP | LZW |
| RLE / PackBits | ZIPLIB |
| CCITT G3/G4 | Huffman |
| Arithmetic | JBIG |
| LEAD CMW | LEAD ABC |
| NTIF | JBIG2 |
| ABIC |
JPEG2000
LEADTOOLS JPEG2000 compression/decompression conforms to the JPEG2000 International Standard. This new state-of-the-art ISO/ITU still image compression standard provides a fast and flexible solution for high-quality, wavelet-based compression. LEAD has committed to fully support all future parts as they are released and therefore LEADTOOLS JPEG2000 will continue to grow as the JPEG2000 standard grows.
JPEG
LEADTOOLS has the fastest software only JPEG algorithms available. With the compression options available in LEADTOOLS, your application will execute faster, images will use less storage space, and your transfer costs will be reduced.
- JPEG image compression technology available as C DLL, C++ classes, .NET classes, Silverlight classes, .NET Compact Framework, WIC codecs, WF activities and WCF services
- Add JPEG image compression to single and multi-threaded applications
- Native 32 and 64 bit binaries for JPEG image compression
- Compress and decompress color and grayscale JPEG image data including 12 and 16 bit grayscale
- Lossy and lossless compression options
- Lossless rotate, flip and reverse
LZW
LZW compression is named after its developers, Lempel and Ziv, with later modifications by Welch. It is the most used image compression used for web graphics. Typically, LZW to compress image files to about one-half their original size. Compression ratios of 5:1 are also obtainable when the image has long runs or a lot of solid color areas. LZW compression is always used in GIF image files, and offered as an option in TIFF.
RLE / PackBits
RLE is an acronym for Run Length Encoding. Images frequently contain the same character repeated many times in a row. For example, text files use multiple spaces to separate sentences, indent paragraphs, format tables & charts, etc. Images can also have runs of the same pixel color. A perfect example of this would be a document image; the white background would create very long runs in certain areas of the image.
A flavor of RLE compression is PackBits. PackBits uses a control byte to indicate how the next byte or run of bytes to be used. The high bit in the control byte indicates if the following byte or bytes should be a run or as they are. The lower 7 bits indicate the count of bytes that follow are effected by the control byte. For example, if you have an image with the following values 2,3,2,4,4,4,4,4: The output after being compressed would look something like this: 2,2,3,2,-4, 4. (The control bytes are bold.)
ZIPLIB
LZW compression is named after its developers, Lempel and Ziv, with later modifications by Welch. It is the most used image compression used for web graphics. Typically, LZW to compress image files to about one-half their original size. Compression ratios of 5:1 are also obtainable when the image has long runs or a lot of solid color areas. LZW compression is always used in GIF image files and offered as an option in TIFF.
CCITT G3/G4
Both Group 3 and Group 4 encode the source image line by line. The difference between the two schemes is in the way the two standards handle successive scanlines. In Group 3, each scanline is encoded independently, whereas in Group 4, scanlines are encoded with reference to the previous one, resulting in improved compression ratios.
In Group 3 1-D, a scanline is encoded as a set of runs, each representing a number of white or black pixels, with white runs alternating with black runs. Every run is encoded using a variable number of bits, which can be uniquely identified upon decoding. This means that frequently occurring lengths of run may be encoded very efficiently, while infrequent ones cause the data to grow. For example, a white run of 2 or 3 pixels can be encoded using just 2 bits, while a run of 1000 pixels can be encoded in 25.
Group 4 encoding is more complex as compared to Group 3 encoding. Each scanline is compared with the previous one. Because of this, vertical features in the source image are used to achieve high compression ratios.
There is also a G3 2-D. G3 2-D is a combination of G3 1-D and G4 compression schemes.
- LEADTOOLS Document and Medical toolkits can keep 1 bit images G4 compressed in memory.
Huffman
Huffman encoding is designed to work best on images that have a lot of repetition. The general concept is to assign the most used bytes fewer bits, and the least used bytes more bits. First, the most used bytes in the image are assigned a variable length binary code. The more often the byte is used the shorter the control code. The less often a byte occurs the longer the control code.
Arithmetic
Arithmetic encoding is a sophisticated replacement for Huffman encoding. In this encoding, sequences of bytes are represented by individual codes (floating point), according to their probability of occurrence. This squeezes about another 5-10% of compression as compared to Huffman encoding, depending on the image data.
JBIG
JBIG is an acronym for 'Joint Bi-level Image experts Group'. This was a group of experts nominated by national standards bodies and major companies to work to produce standards for bi-level image coding.
The JBIG group has developed IS 11544 (ITU-T T.82) standard for the lossless compression of a bi-level image. It can also be used for coding grayscale and color images with limited numbers of bits per pixel. It can be though to be similar to Group 3 or Group 4 fax, offering between 20% and 80% improvement in compression over these methods. JBIG compression averages about a 20:1 over the original uncompressed image.
LEADTOOLS completely supports all three types of images (bitonal, grayscale and color), giving you the ability to make full use of this powerful compression technology. LEADTOOLS also supports the progressive capability of JBIG, allowing you to store and send multiple representations of images at different resolutions without any extra storage overhead.
To achieve the highest compression ratios available in the JBIG format, LEADTOOLS takes full advantage of all the functional blocks of this robust standard:
- The Adaptive Arithmetic Encoder, which presents the heart of this format, has the ability to predict and hence encode future data symbols based on the data which is being currently encoded.
- The Adaptive Template Block provides real coding gain for images rendered by grayscale with halftoning. This gain ratio approaches 80% in some situations.
- The Typical Prediction Block speeds implementations and provides some coding gain.
- The Resolution Reduction Block is used to get a lower resolution version of an image so that no loss of data is encountered. This is mainly important for bi-level images, to avoid any deletion of thin lines.
- The Deterministic Prediction Block provides good coding gain when saving more than one resolution layer in the same file.
LEADTOOLS also supports JBIG2. Saving images in a JBIG2 format results in smaller image files sizes when compared to other industry standard compressed formats such as JBIG, CCITT G3 or G4. JBIG2 can compress bi-tonal images 2 - 5 times more than the same image compressed with the CCITT G4 compression.
JBIG compression is included in LEADTOOLS Document Imaging and LEADTOOLS Medical Imaging
JBIG2
LEADTOOLS JBIG2 is used for reading
and writing files with JBIG2 compression. JBIG2 compression is superior
to LZW, TIFF Group 4 and other 1 bit compression.
The JBIG2 file format is a raster file format created by ISO/IEC 14492
and is supported by Image Power. This format is an industry standard
lossless, lossy, and lossy to lossless compressed file format for
bi-tonal (black and white) images. LEAD's JBIG2 support handles the
various flavors of text and generic region encoding/decoding procedures
based on sequential coding of the image pixels using arithmetic coding
(lossless/lossy). Saving images in a JBIG2 format results in smaller
image file sizes when compared to other industry standard compressed
formats such as JBIG, CCITT G3 or G4. JBIG2 can compress bitonal images
2 - 5 times better than the same image compressed with CCITT G4
compression.
