Implementing JBIG Features

JBIG defines a method for lossless compression encoding of a bi-level image (two color image). This method can also be used for coding grayscale and color images. LEADTOOLS SDKs now completely support all three types of images, giving you the ability to make full use of this powerful compression.

LEADTOOLS SDKs also support the Progressive capability of JBIG, allowing you to store and send multiple representations of images at different resolutions without any extra storage overhead. You can use the ReadLoadResolutions method to examine which sizes are available in a file. You can then use the Resolution property to specify which size to load. When saving a file, you can use the SetResolutions method to set resolutions for the next save operation.

To achieve the highest compression ratios available in the JBIG format, LEADTOOLS SDKs now take full advantage of all the functional blocks of this robust standard:

This feature is useful for dealing with grayscale image data.

All the free parameters specified by the JBIG standard are applied in LEADTOOLS SDKs to achieve maximal compression and the highest speed for any saving or loading operation.

LEADTOOLS SDKs currently support more than 1 bit plane and more than 1 resolution layer in JBIG files. The JBIG filter is built now such that it supports the optimum ordering of strips inside the JBIG file such that as soon as you open the file you find the lowest resolution layer.

Note, however, support for saving different orderings of strips inside the JBIG file is not supported.

JBIG supports progressive loading of an image. This is done by loading the lowest resolution available in a file and then loading the next resolution, and so on, up to the last available resolution. To implement progressive loading of a JBIG image, use the CodecsLoadOptions class to set the number of passes/resolutions to load. Progressive loading will be implemented as follows:

  1. If only one resolution exists in the JBIG File, then the LoadImage event will be called with the image data for that resolution as it is decompressed.
  2. If the image contains more than one resolution and (Passes >= nResolutions, where nResolutions represents the number of resolutions present in the file,) then the LoadImage event will be called with the image data from the lowest resolution available in the file. The data that gets passed to the callback and/or inserted into the image will be padded to the remaining width (that is, the size of the last resolution available in the file) with 0s. This will be repeated nResolution times, until the entire image (that is, the last resolution available) is loaded.
  3. If the image contains more than one resolution and (Passes is < nResolutions) then the process is the same as in case 2, except loading starts with the first resolution available, continues with the 2nd resolution, and so on, up to resolution Passes-1, and then loading is completed with the decompression of the last resolution available in the file.

For more information about required files, refer to Files To Be Included With Your Application.

Help Version 19.0.2017.10.19
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Imaging, Medical, and Document