JPEG 2000 is a wavelet-based image compression standard that defines both a code-stream (J2K) and file formats (JP2 and JPX). It uses a hierarchical format to store several resolutions of the image in the same file without duplication. Consequently, the compressed image can be sent to a device in the best resolution for that device, without requiring additional overhead. The standardized filename extensions are .jp2 (JPEG 2000 Part 1, conforming to standard ISO/IEC 15444-1) and .jpx (JPEG 2000 Part 2, conforming to standard ISO/IEC 15444-2).
All LEADTOOLS Imaging Pro, Document Imaging, and Medical Imaging toolkits can read/write JPEG 2000 file formats (JP2). LEADTOOLS Document and Medical](/sdk/product-overview) Imaging toolkits also add support for writing and manipulating JPX boxes, frames, GML Data, and other advanced JPX features. For more information, refer to [Programming with JPX Features and JPX File Comments.
LEADTOOLS JPEG 2000 provides support for loading and saving JPEG 2000 file formats (JP2). JPEG 2000 file formats provide greater flexibility and better image quality, especially at higher compression, than the standard JPEG file form.
Image Storage and Image Archive Development
LEADTOOLS JPEG2000 robust features fulfill the demanding requirements of image storage and image archival application development.
In the past, image archives had to store the same image in various sizes and metadata several times to ensure there was an image appropriate to meet future on-demand needs. This required additional storage and organizational overhead.
LEADTOOLS JPEG2000 solves this problem by supporting multiple code streams per file. It can also store massive amounts of metadata by storing stand complaint XML data. Additionally, a higher resolution code stream can be easily loaded at lower resolutions, making JPEG 2000 ideal for meeting the on-demand needs of image retrieval.
Further, JPEG2000 images can be digitally signed, ensuring that the image and metadata retrieved from the image repository is in its original form and has not been modified. Digital security is often a requirement in today's mission-critical imaging applications.
J2K flexibility includes the ability to control:
Whether or not to transform RGB images to YUV prior to compression;
The type of quantization to use when determining the quantization step size;
The amount of compression;
The size and location of tiles;
The number of resolution levels in the file;
The progression order;
The code block height and width;
Whether to use markers to help detect corruption during transmission.
LEADTOOLS provides a FILEJ2KOPTIONS structure for controlling the J2K features listed above. To determine the current settings for these features, use the LFileSettings::GetJ2KOptions function. To change these features, use the LFileSettings::SetJ2KOptions function.
To load J2K images progressively, set the nPasses member of the LOADFILEOPTION structure, just as you would for regular JPEG files.
To get the default settings for J2K features, use the LFileSettings::GetDefaultJ2KOptions function.
The Medical toolkits offer additional functions. To determine the current settings for the JPEG 2000 features, use the LDicomDS::GetJ2KOptions function. To change the JPEG 2000 features, use the and functions. To get the default settings for the JPEG2000 features, use the function.
For more information, refer to:
Compression Using LEAD and JPEG Formats
JPEG and LEAD Compressed Formats
Introduction: Bitmaps in Memory and in Files
Raster Image Functions: Working with JPEG 2000
Raster Image Functions: Working with JPX
LEAD Image Optimizer Supported Formats