JPEG 2000 Standard Part I (JP2, J2K, JPC)
The ImageGear.Formats.JPEG2K Namespace allows you to utilize the wide functionality of the JPEG 2000 standard Part 1 (ISO/IEC 15444-1).
It provides the following advantages:
- The ability to read/write JPEG 2000 codestream and JP2 format. Also see the FileFormat control parameter.
- Excellent image quality at high compression rates. A major difference between JPEG 2000 and the well known JPEG (Joint Photographic Experts Group) technique is the use of the analyzing method. While JPEG uses the Discrete Cosine Transform, JPEG 2000 uses a special Discrete Wavelet Transform, which results in improved image quality. The Discrete Wavelet Analysis is performed over the whole image without partitioning it into many different tiles. The reconstructed image does not contain blocking artifacts corresponding to these initial tiles even at high compression rates. Refer to the Discrete Wavelet Transform (DWT), WaveletFilter, and WaveletLevels control parameters.
- Choice of lossless and lossy image compression. The analyzing wavelet filter operation allows a lossless compression at low compression rates and a lossy compression at higher rates. The lossless compression is the lowest possible compression rate. The JPEG 2000 compression is very efficient, and out-performs comparable lossless image compression techniques like LZW and TIFF.
- User controlled output lossy compression rate. The image to be stored may be compressed to a pre-determined rate or to achieve a desired quality. If set for a pre-determined compression rate, the size of the resulting JPEG 2000 file will meet the rate exactly. While using other compression techniques, the size of a compressed file depends on the image contents and differs over a wide range. The different progression orders available in a JPEG 2000 compressed file allows for size-dependent compression control. Of course, you may also compress an image with the control set for a desired quality. In addition to compression rate, this component allows you to set a different number of quality layers. Also see the RateBytes control parameter.
- Support of different image types. The JPEG2K Component supports the following image types and bit depths: palette-based (1-, 4- , 8-bit depths), grayscale (8-, 16-bit depths), truecolor (24-bit depth) and CMYK (32-bit depth).
- User-controlled opacity and transparency information (alpha channel transparency). The ImageGear JPEG2K component allows you to store and load alpha channel transparency for all color channels. Loading and saving of additional alpha channels can be performed using core ImageGear functionality. Also see AlphaChannels.
- User controlled reading/writing of JPEG 2000 format metadata (XML and IPR). Non-image information (XML and IPR) does not affect the decoding or visual appearance of the image itself. Also see JPEG 2000 Part I (JP2) Metadata Tags and Non-image Dataset Structure for JPEG2K as well as "XML" and "IPR".
- Quicklook generation and scaled image reconstruction based on embedded coding techniques. The resolution progression feature of the compressed JPEG 2000 data is best suited to perform a scaled reconstruction. The reconstruction process can be interrupted at any time and the partly processed data contains information of the full-size image. The reconstructed image appears in the appropriate quality corresponding to the processed amount of image data. If the image is reconstructed only for quicklook purposes, the best quality is not necessary because it is displayed at a fraction of the original image size. Using the ImageGear JPEG2K component, the quality and size of the reconstructed image can be scaled. This reconstructed image may be shown clearly because critical image information is located at the beginning of the compressed file, and remaining data follows in the order of detail. Also see the DiscardLevels and Mode control parameters.
These features outperform all other image compression techniques. JPEG 2000 image compression is suited well for sensitive image compressions (because of the lossless feature), or for its excellent image quality at high compression ratios for uses such as transmission in low bandwidth applications.
Enabling JP2 File Format
To enable JP2 file format in your project, add a reference to ImageGear.Formats.Jpeg2k Assembly. Specify this directive:
C# |
Copy Code |
using ImageGear.Formats.JPEG2K; |
and use this API:
C# |
Copy Code |
ImGearFileFormats.Filters.Add( ImGearJPEG2K.CreateJP2Format()); |
See the JPEG 2000 section of the File Formats Reference for a list of bit depths and color spaces supported for reading and writing.