JPEG 2000 (JP2) is an image compression standard and coding system. It was created by the Joint Photographic Experts Group committee in 2000 with the intention of superseding their original discrete cosine transform-based JPEG standard (created in 1992) with a newly designed, wavelet-based method. The standardized filename extension is .jp2 for ISO/IEC 15444-1 conforming files and .jpx for the extended part-2 specifications, published as ISO/IEC 15444-2. The registered MIME types are defined in RFC 3745. For ISO/IEC 15444-1 it is image/jp2.
JPEG 2000 code streams are regions of interest that offer several mechanisms to support spatial random access or region of interest access at varying degrees of granularity. It is possible to store different parts of the same picture using different quality.
Comparison of JPEG 2000 with the original JPEG format.
|Internet media type|
|Uniform Type Identifier (UTI)||public.jpeg-2000|
|Developed by||Joint Photographic Experts Group|
|Type of format||graphics file format|
While there is a modest increase in compression performance of JPEG 2000 compared to JPEG, the main advantage offered by JPEG 2000 is the significant flexibility of the codestream. The codestream obtained after compression of an image with JPEG 2000 is scalable in nature, meaning that it can be decoded in a number of ways; for instance, by truncating the codestream at any point, one may obtain a representation of the image at a lower resolution, or signal-to-noise ratio – see scalable compression. By ordering the codestream in various ways, applications can achieve significant performance increases. However, as a consequence of this flexibility, JPEG 2000 requires encoders/decoders that are complex and computationally demanding. Another difference, in comparison with JPEG, is in terms of visual artifacts: JPEG 2000 only produces ringing artifacts, manifested as blur and rings near edges in the image, while JPEG produces both ringing artifacts and 'blocking' artifacts, due to its 8×8 blocks.
At high bit rates, artifacts become nearly imperceptible, so JPEG 2000 has a small machine-measured fidelity advantage over JPEG. At lower bit rates (e.g., less than 0.25 bits/pixel for grayscale images), JPEG 2000 has a significant advantage over certain modes of JPEG: artifacts are less visible and there is almost no blocking. The compression gains over JPEG are attributed to the use of DWT and a more sophisticated entropy encoding scheme.
JPEG 2000 decomposes the image into a multiple resolution representation in the course of its compression process. This pyramid representation can be put to use for other image presentation purposes beyond compression.
These features are more commonly known as progressive decoding and signal-to-noise ratio (SNR) scalability. JPEG 2000 provides efficient code-stream organizations which are progressive by pixel accuracy and by image resolution (or by image size). This way, after a smaller part of the whole file has been received, the viewer can see a lower quality version of the final picture. The quality then improves progressively through downloading more data bits from the source.
Like the Lossless JPEG standard, the JPEG 2000 standard provides both lossless and lossy compression in a single compression architecture. Lossless compression is provided by the use of a reversible integer wavelet transform in JPEG 2000.
Like JPEG 1992, JPEG 2000 is robust to bit errors introduced by noisy communication channels, due to the coding of data in relatively small independent blocks.
The JP2 and JPX file formats allow for handling of color-space information, metadata, and for interactivity in networked applications as developed in the JPEG Part 9 JPIP protocol.
JPEG 2000 supports any bit depth, such as 16- and 32-bit floating point pixel images, and any color space.
Full support for transparency and alpha planes.
The JPEG 2000 image coding system (ISO/IEC 15444) consists of following parts:
|Part||Number||First public release date (First edition)||Latest public release date (edition)||Latest amendment||Identical ITU-T standard||Title||Description|
|Part 1||ISO/IEC 15444-1||2000||2016||T.800||Core coding system||the basic characteristics of JPEG 2000 compression (.jp2)|
|Part 2||ISO/IEC 15444-2||2004||2004||2015||T.801||Extensions||(.jpx, .jpf, floating points)|
|Part 3||ISO/IEC 15444-3||2002||2007||2010||T.802||Motion JPEG 2000||(.mj2)|
|Part 4||ISO/IEC 15444-4||2002||2004||T.803||Conformance testing|
|Part 5||ISO/IEC 15444-5||2003||2015||T.804||Reference software||Java and C implementations|
|Part 6||ISO/IEC 15444-6||2003||2016||T.805||Compound image file format||(.jpm) e.g. document imaging, for pre-press and fax-like applications|
|Part 7||abandoned||Guideline of minimum support function of ISO/IEC 15444-1||(Technical Report on Minimum Support Functions)|
|Part 8||ISO/IEC 15444-8||2007||2007||2008||T.807||Secure JPEG 2000||JPSEC (security aspects)|
|Part 9||ISO/IEC 15444-9||2005||2005||2014||T.808||Interactivity tools, APIs and protocols||JPIP (interactive protocols and API)|
|Part 10||ISO/IEC 15444-10||2008||2011||T.809||Extensions for three-dimensional data||JP3D (volumetric imaging)|
|Part 11||ISO/IEC 15444-11||2007||2007||2013||T.810||Wireless||JPWL (wireless applications)|
|Part 12||ISO/IEC 15444-12
(Withdrawn in 2017)
|2004||2015||ISO base media file format|
|Part 13||ISO/IEC 15444-13||2008||2008||T.812||An entry level JPEG 2000 encoder|
|Part 14||ISO/IEC 15444-14||2013||T.813||XML structural representation and reference||JPXML|
The aim of JPEG 2000 is not only improving compression performance over JPEG but also adding (or improving) features such as scalability and editability. JPEG 2000's improvement in compression performance relative to the original JPEG standard is actually rather modest and should not ordinarily be the primary consideration for evaluating the design. Very low and very high compression rates are supported in JPEG 2000. The ability of the design to handle a very large range of effective bit rates is one of the strengths of JPEG 2000. For example, to reduce the number of bits for a picture below a certain amount, the advisable thing to do with the first JPEG standard is to reduce the resolution of the input image before encoding it. That is unnecessary when using JPEG 2000, because JPEG 2000 already does this automatically through its multiresolution decomposition structure. The following sections describe the algorithm of JPEG 2000.
According to KB, «the current JP2 format specification leaves room for multiple interpretations when it comes to the support of ICC profiles, and the handling of grid resolution information».
Initially images have to be transformed from the RGB color space to another color space, leading to three components that are handled separately. There are two possible choices:
The chrominance components can be, but do not necessarily have to be, down-scaled in resolution; in fact, since the wavelet transformation already separates images into scales, downsampling is more effectively handled by dropping the finest wavelet scale. This step is called multiple component transformation in the JPEG 2000 language since its usage is not restricted to the RGB color model.
After color transformation, the image is split into so-called tiles, rectangular regions of the image that are transformed and encoded separately. Tiles can be any size, and it is also possible to consider the whole image as one single tile. Once the size is chosen, all the tiles will have the same size (except optionally those on the right and bottom borders). Dividing the image into tiles is advantageous in that the decoder will need less memory to decode the image and it can opt to decode only selected tiles to achieve a partial decoding of the image. The disadvantage of this approach is that the quality of the picture decreases due to a lower peak signal-to-noise ratio. Using many tiles can create a blocking effect similar to the older JPEG 1992 standard.
After the wavelet transform, the coefficients are scalar-quantized to reduce the number of bits to represent them, at the expense of quality. The output is a set of integer numbers which have to be encoded bit-by-bit. The parameter that can be changed to set the final quality is the quantization step: the greater the step, the greater is the compression and the loss of quality. With a quantization step that equals 1, no quantization is performed (it is used in lossless compression).
The result of the previous process is a collection of sub-bands which represent several approximation scales. A sub-band is a set of coefficients—real numbers which represent aspects of the image associated with a certain frequency range as well as a spatial area of the image.
The quantized sub-bands are split further into precincts, rectangular regions in the wavelet domain. They are typically sized so that they provide an efficient way to access only part of the (reconstructed) image, though this is not a requirement.
Precincts are split further into code blocks. Code blocks are in a single sub-band and have equal sizes—except those located at the edges of the image. The encoder has to encode the bits of all quantized coefficients of a code block, starting with the most significant bits and progressing to less significant bits by a process called the EBCOT scheme. EBCOT here stands for Embedded Block Coding with Optimal Truncation. In this encoding process, each bit plane of the code block gets encoded in three so-called coding passes, first encoding bits (and signs) of insignificant coefficients with significant neighbors (i.e., with 1-bits in higher bit planes), then refinement bits of significant coefficients and finally coefficients without significant neighbors. The three passes are called Significance Propagation, Magnitude Refinement and Cleanup pass, respectively.
In lossless mode all bit planes have to be encoded by the EBCOT, and no bit planes can be dropped.
The bits selected by these coding passes then get encoded by a context-driven binary arithmetic coder, namely the binary MQ-coder. The context of a coefficient is formed by the state of its nine neighbors in the code block.
The result is a bit-stream that is split into packets where a packet groups selected passes of all code blocks from a precinct into one indivisible unit. Packets are the key to quality scalability (i.e., packets containing less significant bits can be discarded to achieve lower bit rates and higher distortion).
Packets from all sub-bands are then collected in so-called layers. The way the packets are built up from the code-block coding passes, and thus which packets a layer will contain, is not defined by the JPEG 2000 standard, but in general a codec will try to build layers in such a way that the image quality will increase monotonically with each layer, and the image distortion will shrink from layer to layer. Thus, layers define the progression by image quality within the code stream.
The problem is now to find the optimal packet length for all code blocks which minimizes the overall distortion in a way that the generated target bitrate equals the demanded bit rate.
While the standard does not define a procedure as to how to perform this form of rate–distortion optimization, the general outline is given in one of its many appendices: For each bit encoded by the EBCOT coder, the improvement in image quality, defined as mean square error, gets measured; this can be implemented by an easy table-lookup algorithm. Furthermore, the length of the resulting code stream gets measured. This forms for each code block a graph in the rate–distortion plane, giving image quality over bitstream length. The optimal selection for the truncation points, thus for the packet-build-up points is then given by defining critical slopes of these curves, and picking all those coding passes whose curve in the rate–distortion graph is steeper than the given critical slope. This method can be seen as a special application of the method of Lagrange multiplier which is used for optimization problems under constraints. The Lagrange multiplier, typically denoted by λ, turns out to be the critical slope, the constraint is the demanded target bitrate, and the value to optimize is the overall distortion.
Packets can be reordered almost arbitrarily in the JPEG 2000 bit-stream; this gives the encoder as well as image servers a high degree of freedom.
Already encoded images can be sent over networks with arbitrary bit rates by using a layer-progressive encoding order. On the other hand, color components can be moved back in the bit-stream; lower resolutions (corresponding to low-frequency sub-bands) could be sent first for image previewing. Finally, spatial browsing of large images is possible through appropriate tile and/or partition selection. All these operations do not require any re-encoding but only byte-wise copy operations.
Compared to the previous JPEG standard, JPEG 2000 delivers a typical compression gain in the range of 20%, depending on the image characteristics. Higher-resolution images tend to benefit more, where JPEG-2000's spatial-redundancy prediction can contribute more to the compression process. In very low-bitrate applications, studies have shown JPEG 2000 to be outperformed by the intra-frame coding mode of H.264. Good applications for JPEG 2000 are large images, images with low-contrast edges — e.g., medical images.
JPEG2000 is much more complicated in terms of computational complexity in comparison with JPEG standard. Tiling, color component transform, discrete wavelet transform, and quantization could be done pretty fast, though entropy codec is time consuming and quite complicated. EBCOT context modelling and arithmetic MQ-coder take most of the time of JPEG2000 codec.
On CPU the main idea of getting fast JPEG2000 encoding and decoding is closely connected with AVX/SSE and multithreading to process each tile in separate thread. The fastest JPEG2000 solutions utilize both CPU and GPU power to get high performance benchmarks.
Similar to JPEG-1, JPEG 2000 defines both a file format and a code stream. Whereas JPEG 2000 entirely describes the image samples, JPEG-1 includes additional meta-information such as the resolution of the image or the color space that has been used to encode the image. JPEG 2000 images should — if stored as files — be boxed in the JPEG 2000 file format, where they get the .jp2 extension. The part-2 extension to JPEG 2000, i.e., ISO/IEC 15444-2, also enriches this file format by including mechanisms for animation or composition of several code streams into one single image. Images in this extended file-format use the .jpx extension.
There is no standardized extension for code-stream data because code-stream data is not to be considered to be stored in files in the first place, though when done for testing purposes, the extension .jpc or .j2k appear frequently.
For traditional JPEG, additional metadata, e.g. lighting and exposure conditions, is kept in an application marker in the Exif format specified by the JEITA. JPEG 2000 chooses a different route, encoding the same metadata in XML form. The reference between the Exif tags and the XML elements is standardized by the ISO TC42 committee in the standard 12234-1.4.
Extensible Metadata Platform can also be embedded in JPEG 2000.
Some markets and applications intended to be served by this standard are listed below:
Although JPEG 2000 format supports lossless encoding, it is not intended to completely supersede today's dominant lossless image file formats.
The PNG (Portable Network Graphics) format is still more space-efficient in the case of images with many pixels of the same color, such as diagrams, and supports special compression features that JPEG 2000 does not.
JPEG 2000 is covered by patents, but the contributing companies and organizations agreed that licenses for its first part—the core coding system—can be obtained free of charge from all contributors.
The JPEG committee has stated:
It has always been a strong goal of the JPEG committee that its standards should be implementable in their baseline form without payment of royalty and license fees... The up and coming JPEG 2000 standard has been prepared along these lines, and agreement reached with over 20 large organizations holding many patents in this area to allow use of their intellectual property in connection with the standard without payment of license fees or royalties.
However, the JPEG committee has acknowledged that undeclared submarine patents may still present a hazard:
It is of course still possible that other organizations or individuals may claim intellectual property rights that affect implementation of the standard, and any implementers are urged to carry out their own searches and investigations in this area.
Several additional parts of the JPEG 2000 standard exist; Amongst them are ISO/IEC 15444-2:2000, JPEG 2000 extensions defining the .jpx file format, featuring for example Trellis quantization, an extended file format and additional color spaces, ISO/IEC 15444-4:2000, the reference testing and ISO/IEC 15444-6:2000, the compound image file format (.jpm), allowing compression of compound text/image graphics.
Extensions for secure image transfer, JPSEC (ISO/IEC 15444-8), enhanced error-correction schemes for wireless applications, JPWL (ISO/IEC 15444-11) and extensions for encoding of volumetric images, JP3D (ISO/IEC 15444-10) are also already available from the ISO.
In 2005, a JPEG 2000 based image browsing protocol, called JPIP has been published as ISO/IEC 15444-9. Within this framework, only selected regions of potentially huge images have to be transmitted from an image server on the request of a client, thus reducing the required bandwidth.
JPEG 2000 data may also be streamed using the ECWP and ECWPS protocols found within the ERDAS ECW/JP2 SDK.
Motion JPEG 2000, (MJ2), originally defined in Part 3 of the ISO Standard for JPEG2000 (ISO/IEC 15444-3:2002,) as a standalone document, has now been expressed by ISO/IEC 15444-3:2002/Amd 2:2003 in terms of the ISO Base format, ISO/IEC 15444-12 and in ITU-T Recommendation T.802. It specifies the use of the JPEG 2000 format for timed sequences of images (motion sequences), possibly combined with audio, and composed into an overall presentation. It also defines a file format, based on ISO base media file format (ISO 15444-12). Filename extensions for Motion JPEG 2000 video files are .mj2 and .mjp2 according to RFC 3745.
It is an open ISO standard and an advanced update to MJPEG (or MJ), which was based on the legacy JPEG format. Unlike common video formats, such as MPEG-4 Part 2, WMV, and H.264, MJ2 does not employ temporal or inter-frame compression. Instead, each frame is an independent entity encoded by either a lossy or lossless variant of JPEG 2000. Its physical structure does not depend on time ordering, but it does employ a separate profile to complement the data. For audio, it supports LPCM encoding, as well as various MPEG-4 variants, as "raw" or complement data.
Motion JPEG 2000 (often referenced as MJ2 or MJP2) was considered as a digital archival format by the Library of Congress. In June 2013, in an interview with Bertram Lyons from the Library of Congress for The New York Times Magazine, about "Tips on Archiving Family History", codecs like FFV1, H264 or Apple ProRes are mentioned, but JPEG 2000 is not.
ISO/IEC 15444-12 is identical with ISO/IEC 14496-12 (MPEG-4 Part 12) and it defines ISO base media file format. For example, Motion JPEG 2000 file format, MP4 file format or 3GP file format are also based on this ISO base media file format.
The Open Geospatial Consortium (OGC) has defined a metadata standard for georeferencing JPEG 2000 images with embedded XML using the Geography Markup Language (GML) format: GML in JPEG 2000 for Geographic Imagery Encoding (GMLJP2), version 1.0.0, dated 2006-01-18. Version 2.0, entitled GML in JPEG 2000 (GMLJP2) Encoding Standard Part 1: Core was approved 2014-06-30.
JP2 and JPX files containing GMLJP2 markup can be located and displayed in the correct position on the Earth's surface by a suitable Geographic Information System (GIS), in a similar way to GeoTIFF images.
|Program||Basic [Note 1]||Advanced [Note 1]||License|
|Adobe Photoshop [Note 2]||Yes||Yes||Yes||Yes||Proprietary|
|Apple Preview [Note 3]||Yes||Yes||Yes||Yes||Proprietary|
|BAE Systems CoMPASS||Yes||No||Yes||No||Proprietary|
|Phase One Capture One||Yes||Yes||Yes||Yes||Proprietary|
|Chasys Draw IES||Yes||Yes||Yes||Yes||Freeware|
|evince (PDF 1.5 embedding)||Yes||No||No||No||GPL v2|
|FastStone Image Viewer||Yes||Yes||Yes||Yes||Freeware|
|Imagine (with a plugin)||Yes||No||No||No||Freeware|
|KolourPaint (KDE)||Yes||Yes||?||?||2-clause BSD|
|Matlab||via toolbox||via toolbox||via toolbox||via toolbox||Proprietary|
|Mozilla Firefox||No [Note 4]||No||No||No||MPL|
|Paint Shop Pro||Yes||Yes||Yes||Yes||Proprietary|
|Pixel image editor||Yes||Yes||?||?||Proprietary|
|QGIS (with a plugin)||Yes||Yes||?||?||GPL|
|ERDAS ECW JPEG2000 SDK||Yes||Yes||?||?||C, C++||Proprietary|
|Fastvideo SDK||Yes||Yes||Yes||Yes||C, C++||Proprietary|
|JasPer||Yes [Note 1]||Yes||No||No||C||MIT License-style|
|BOI codec||Yes||Yes||No||No||Java||BOI License|
The Apple Icon Image format is the icon format used in Apple Inc.'s macOS. It supports icons of 16 × 16, 32 × 32, 48 × 48, 128 × 128, 256 × 256, 512 × 512, and 1024 × 1024 pixels, with both 1- and 8-bit alpha channels and multiple image states (example: open and closed folders). The fixed-size icons can be scaled by the operating system and displayed at any intermediate size.Free Lossless Image Format
Free Lossless Image Format (FLIF) is a lossless image format (current version FLIF16 specification) claiming to outperform PNG, lossless WebP, lossless BPG and lossless JPEG 2000 in terms of compression ratio on a variety of inputs.FLIF supports a form of progressive interlacing (a generalization of the Adam7 algorithm) with which any partial download of an image file can be used as a lossy encoding of the entire image.G.723
G.723 is an ITU-T standard speech codec using extensions of G.721 providing voice quality covering 300 Hz to 3400 Hz using Adaptive Differential Pulse Code Modulation (ADPCM) to 24 and 40 kbit/s for digital circuit multiplication equipment (DCME) applications. The standard G.723 is obsolete and has been superseded by G.726.
Note that this is a completely different codec from G.723.1.Grok (JPEG 2000)
In computer software, Grok is a library to encode and decode images in the JPEG 2000 format. It fully implements Part 1 of the ISO/IEC 15444-1 technical standard. It is designed for stability, high performance, and low memory usage. Grok is free and open-source software released under the GNU Affero General Public License (AGPL) version 3.ICER
ICER is a wavelet-based image compression file format used by the NASA Mars Rovers. ICER has both lossy and lossless compression modes.
The Mars Exploration Rovers “Spirit” (MER-A) and “Opportunity” (MER-B) both use ICER. Onboard image compression is used extensively to make best use of the downlink resources. The Mars Science Lab supports the use of ICER for its navigation cameras (but all other cameras use other file formats).
Most of the MER images are compressed with the ICER image compression software. The remaining MER images that are compressed make use of modified Low Complexity Lossless Compression (LOCO) software, a lossless submode of ICER.
ICER is a wavelet-based image compressor that allows for a graceful trade-off between the amount of compression (expressed in terms of compressed data volume in bits/pixel) and the resulting degradation in image quality (distortion). ICER has some similarities to JPEG2000, with respect to select wavelet operations.
The development of ICER was driven by the desire to achieve high compression performance while meeting the specialized needs of deep space applications.ISO base media file format
ISO base media file format (ISO/IEC 14496-12 – MPEG-4 Part 12) defines a general structure for time-based multimedia files such as video and audio.
The identical text is published as ISO/IEC 15444-12 (JPEG 2000, Part 12).It is designed as a flexible, extensible format that facilitates interchange, management, editing and presentation of the media. The presentation may be local, or via a network or other stream delivery mechanism. The file format is designed to be independent of any particular network protocol while enabling support for them in general. It is used as the basis for other media file formats (e.g. container formats MP4 and 3GP).Image file formats
Image file formats are standardized means of organizing and storing digital images. Image files are composed of digital data in one of these formats that can be rasterized for use on a computer display or printer. An image file format may store data in uncompressed, compressed, or vector formats. Once rasterized, an image becomes a grid of pixels, each of which has a number of bits to designate its color equal to the color depth of the device displaying it.JPEG XR
JPEG XR (JPEG extended range) is a still-image compression standard and file format for continuous tone photographic images, based on technology originally developed and patented by Microsoft under the name HD Photo (formerly Windows Media Photo). It supports both lossy and lossless compression, and is the preferred image format for Ecma-388 Open XML Paper Specification documents.
Support for the format is available in Adobe Flash Player 11.0, Adobe AIR 3.0, Sumatra PDF 2.1, Windows Imaging Component, .NET Framework 3.0, Windows Vista, Windows 7, Windows 8, Internet Explorer 9, Internet Explorer 10, Internet Explorer 11, Pale Moon 27.2. As of August 2014, there were still no cameras that shoot photos in the JPEG XR (.JXR) format.JasPer
JasPer is a computer software project to create a reference implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e. ISO/IEC 15444-1) - started in 1997 at Image Power Inc. and at the University of British Columbia. It consists of a C library and some sample applications useful for testing the codec.
The copyright owner began licensing the code to the public under an MIT License-style license in 2004 in response to requests from the open-source community. As of 2011 JasPer operated as a component of many software projects, both free and proprietary, including (but not limited to) netpbm (as of release 10.12), ImageMagick and KDE (as of version 3.2). As of 22 June 2010 the GEGL graphics library supported JasPer in its latest Git versions.In a series of objective JPEG-2000-compression quality tests conducted in 2004, "JasPer was the best codec, closely followed by IrfanView and Kakadu".
However, Jasper remains one of the slowest implementations of the JPEG-2000 codec, as it was designed for reference, not performance.Joint Photographic Experts Group
The Joint Photographic Experts Group is the joint committee between ISO/IEC JTC 1 and ITU-T (formerly CCITT) that created and maintains the JPEG, JPEG 2000, and JPEG XR standards. It is one of two sub-groups of ISO/IEC Joint Technical Committee 1, Subcommittee 29, Working Group 1 (ISO/IEC JTC 1/SC 29/WG 1) – titled as Coding of still pictures. In the ITU-T, its work falls in the domain of the ITU-T Visual Coding Experts Group (VCEG). ISO/IEC JTC1 SC29 Working Group 1 (working together with ITU-T Study Group 16 – SG16 and previously also with Study Group 8 – SG8) is responsible for the JPEG and JBIG standards. The scope of the organization includes the work of both the Joint Photographic Experts Group and Joint Bi-level Image Experts Group.In April 1983, ISO started to work to add photo quality graphics to text terminals. In the mid-1980s, both CCITT (now ITU-T) and ISO had standardization groups for image coding: CCITT Study Group VIII (SG8) – Telematic Services and ISO TC97 SC2 WG8 – Coding of Audio and Picture Information. They were historically targeted on image communication. In 1986, it was decided to create the Joint (CCITT/ISO) Photographic Expert Group. The JPEG committee was created in 1986. In 1988, it was decided to create the Joint (CCITT/ISO) Bi-level Image Group (JBIG). The group typically meets three times annually in North America, Asia and Europe. The group often meets jointly with the JBIG committee.Kakadu (software)
Kakadu is a closed-source library to encode and decode JPEG 2000 images. It implements the ISO/IEC 15444-1 standard fully in part 1, and partly in parts 2-3. Kakadu is a trademark of NewSouth Innovations Ltd.
Kakadu was developed by and continues to be maintained by David Taubman from University of New South Wales (UNSW), Australia. He is also an author of EBCOT, one of the algorithms used in JPEG 2000.The software library is named after Kakadu National Park.
It is used by several applications, such as for example Apple Inc. QuickTime. It is also used in Google Earth and the online implementation thereof as well as Internet Archive.Kakadu library is heavy optimized and is a fully compliant implementation. Also, it has built-in multi-threading. In a 2007 study Kakadu outperformed the JasPer library in terms of speed.
A more thorough comparison done in 2005, however, has shown that Kakadu does not achieve the best performance, in terms of compression quality.Lossless JPEG
Lossless JPEG is a 1993 addition to JPEG standard by the Joint Photographic Experts Group to enable lossless compression. However, the term may also be used to refer to all lossless compression schemes developed by the group, including JPEG 2000 and JPEG-LS.
Lossless JPEG was developed as a late addition to JPEG in 1993, using a completely different technique from the lossy JPEG standard. It uses a predictive scheme based on the three nearest (causal) neighbors (upper, left, and upper-left), and entropy coding is used on the prediction error. The standard Independent JPEG Group libraries cannot encode or decode it, but Ken Murchison of Oceana Matrix Ltd. wrote a patch that extends the IJG library to handle lossless JPEG. Lossless JPEG has some popularity in medical imaging, and is used in DNG and some digital cameras to compress raw images, but otherwise was never widely adopted. Adobe's DNG SDK provides a software library for encoding and decoding lossless JPEG with up to 16 bits per sample.
ISO/IEC Joint Photography Experts Group maintains a reference software implementation which can encode both base JPEG (ISO/IEC 10918-1 and 18477-1) and JPEG XT extensions (ISO/IEC 18477 Parts 2 and 6-9), as well as JPEG-LS (ISO/IEC 14495).Motion JPEG
In multimedia, Motion JPEG (M-JPEG or MJPEG) is a video compression format in which each video frame or interlaced field of a digital video sequence is compressed separately as a JPEG image. Originally developed for multimedia PC applications, M-JPEG is now used by video-capture devices such as digital cameras, IP cameras, and webcams, as well as by non-linear video editing systems. It is natively supported by the QuickTime Player, the PlayStation console, and web browsers such as Safari, Google Chrome, Mozilla Firefox and Microsoft Edge.
Unlike e.g. Motion JPEG 2000 (and common video formats) that permits the carriage of audio, the older (and incompatible with) Motion JPEG doesn't code any audio, as it's simply a concatenation of still JPEG frames. In a suitable container format, e.g. AVI, audio can however be provided.Motion JPEG 2000
Motion JPEG 2000 (MJ2 or MJP2) is a file format for motion sequences of JPEG 2000 images and associated audio, based on the MP4/QuickTime format. Filename extensions for Motion JPEG 2000 video files are .mj2 and .mjp2, as defined in RFC 3745.MrSID
MrSID (pronounced Mister Sid) is an acronym that stands for multiresolution seamless image database. It is a file format (filename extension .sid) developed and patented by LizardTech for encoding of georeferenced raster graphics, such as orthophotos.
MrSID originated as the result of research efforts at Los Alamos National Laboratory (LANL).OpenJPEG
OpenJPEG is an open-source library to encode and decode JPEG 2000 images. As of version 2.1 released in April 2014, it is officially conformant with the JPEG 2000 Part-1 standard. It was subsequently adopted by ImageMagick instead of JasPer in 6.8.8-2 and approved as new reference software for this standard in July 2015. OpenJPEG is a fork of libj2k, a JPEG-2000 codec library written by David Janssens during his master thesis at University of Louvain (UCLouvain) in 2001.
Unlike JasPer, another open-source JPEG 2000 implementation, OpenJPEG fully respects the JPEG 2000 specification and can compress and decompress lossless 16-bit images.Progressive Graphics File
PGF (Progressive Graphics File) is a wavelet-based bitmapped image format that employs lossless and lossy data compression. PGF was created to improve upon and replace the JPEG format. It was developed at the same time as JPEG 2000 but with a focus on speed over compression ratio.PGF can operate at higher compression ratios without taking more encoding/decoding time and without generating the characteristic "blocky and blurry" artifacts of the original DCT-based JPEG standard. It also allows more sophisticated progressive downloads.Quantization (image processing)
Quantization, involved in image processing, is a lossy compression technique achieved by compressing a range of values to a single quantum value. When the number of discrete symbols in a given stream is reduced, the stream becomes more compressible. For example, reducing the number of colors required to represent a digital image makes it possible to reduce its file size. Specific applications include DCT data quantization in JPEG and DWT data quantization in JPEG 2000.Transparency (graphic)
Transparency is possible in a number of graphics file formats. The term transparency is used in various ways by different people, but at its simplest there is "full transparency" i.e. something that is completely invisible. Only part of a graphic should be fully transparent, or there would be nothing to see. More complex is "partial transparency" or "translucency" where the effect is achieved that a graphic is partially transparent in the same way as colored glass. Since ultimately a printed page or computer or television screen can only be one color at a point, partial transparency is always simulated at some level by mixing colors. There are many different ways to mix colors, so in some cases transparency is ambiguous.
In addition, transparency is often an "extra" for a graphics format, and some graphics programs will ignore the transparency.
Raster file formats that support transparency include GIF, PNG, BMP, TIFF, and JPEG 2000, through either a transparent color or an alpha channel.
Most vector formats implicitly support transparency because they simply avoid putting any objects at a given point. This includes EPS and WMF. For
vector graphics this may not strictly be seen as transparency, but it requires
much of the same careful programming as transparency in raster formats.
More complex vector formats may allow transparency combinations between the elements within the graphic, as well as that above. This includes SVG and PDF.
A suitable raster graphics editor shows transparency by a special pattern, e.g. a checkerboard pattern.
|Telemetry command uplink|
|Telemetry modulation systems|
|Networking, interoperability and monitoring|
See Compression methods for techniques and Compression software for codecs
ISO standards by standard number