Download (PPT, 729KB)


store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

JPEG

JPEG XR

JPEG XR (abbr. for 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.

JPEG XR

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. As of June 2013, there are still no cameras that shoot photos in the JPEG XR (.JXR) format.

JPEG XR – History

On 16 March 2009, JPEG XR was given final approval as ITU-T Recommendation T.832 and starting in April 2009, it became available from the ITU-T in “pre-published” form

JPEG XR – History

In 2010, after completion of the image coding specification, the ITU-T and ISO/IEC also published a motion format specification (ITU-T T.833 | ISO/IEC 29199-3), a conformance test set (ITU-T T.834 | ISO/IEC 29199-4), and reference software (ITU-T T.835 | ISO/IEC 29199-5) for JPEG XR. In 2011, they published a technical report describing the workflow architecture for the use of JPEG XR images in applications (ITU-T T.Sup2 | ISO/IEC TR 29199-1).

JPEG XR – Capabilities

JPEG XR is an image file format that offers several key improvements over JPEG, including:

JPEG XR – Capabilities

JPEG XR file format supports higher compression ratios in comparison to JPEG for encoding an image with equivalent quality.

JPEG XR – Capabilities

JPEG XR also supports lossless compression. The signal processing steps in JPEG XR are the same for both lossless and lossy coding. This makes the lossless mode simple to support and enables the “trimming” of some bits from a lossless compressed image to produce a lossy compressed image.

JPEG XR – Capabilities

A JPEG XR coded image can be segmented into tile regions. The data for each region can be decoded separately. This enables rapid access to parts of an image without needing to decode the entire image. When a type of tiling referred to as “soft tiling” is used, the tile region structuring can be changed without fully decoding the image and without introducing additional distortion.

JPEG XR – Capabilities

In image and graphics representations, the color associated with each point in the picture (called a pixel) is represented as a set of numbers

JPEG XR – Capabilities

JPEG supports 24-Bit RGB (also known as truecolor): This representation stores each channel as an 8-bit number, an integer number from 0 to 255. In this case, the greater the number, the more intense the color component is. For instance, 25 in red channel represents dark red while 255 indicates fully vibrant red. This enables more than 16 million color possibilities. JPEG also supports 8-bit grayscale scheme, so that each pixel can have one of 256 possible shades of gray.

JPEG XR – Capabilities

Also supported is 15-Bit and 16-Bit RGB (also known as Highcolor), along with 30-Bit RGB.

JPEG XR – Capabilities

JPEG XR adds supports for 48-bit integer RGB (also known as deep color): This representation stores the values of each of the three channels as a 16-bit number, an integer number from 0 to 65,535, where 0 denotes least intensity and 65535 the greatest. Therefore, each channel stores a much finer grade of intensity.

JPEG XR – Capabilities

JPEG XR also supports 16-bit per component (64-bit per pixel) integer CMYK color model.

JPEG XR – Capabilities

16-bit and 32-bit fixed point color component codings are also supported in JPEG XR. In such encodings, the most-significant 4 bits of each color channel are treated as providing additional “headroom” and “toe room” beyond the range of values that represents the nominal black-to-white signal range.

JPEG XR – Capabilities

Moreover, 16-bit and 32-bit floating point color component codings are also supported in JPEG XR. In these cases the image is interpreted as floating point data, although the JPEG XR encoding and decoding steps are all performed using only integer operations (to simplify the compression processing).

JPEG XR – Capabilities

The shared-exponent floating point color format known as RGBE (Radiance) is also supported, enabling more faithful storage of High Dynamic Range (HDR) images.

JPEG XR – Capabilities

In addition to RGB and CMYK formats, JPEG XR also supports grayscale and multi-channel color encodings with an arbitrary number of channels.

JPEG XR – Capabilities

The color representations, in most cases, are transformed to an internal color representation. The transformation is entirely reversible, so that this color transformation step does not introduce distortion and lossless coding modes can be supported.

JPEG XR – Capabilities

In JPEG XR, full decoding of the image is unnecessary for converting an image from a lossless to lossy encoding, reducing the fidelity of a lossy encoding, or reducing the encoded image resolution.

JPEG XR – Capabilities

Full decoding is also unnecessary for certain editing operations such as cropping, horizontal or vertical flips, or cardinal rotations.

JPEG XR – Capabilities

The tile structure for access to image regions can also be changed without full decoding and without introducing distortion.

JPEG XR – Capabilities

A JPEG XR image file may optionally contain an embedded ICC color profile, to achieve consistent color representation across multiple devices.

JPEG XR – Capabilities

Exif and XMP metadata formats are also supported.

JPEG XR – Container format

(Alternatively, JPEG XR also supports an “interleaved” alpha channel format in which the alpha channel data is encoded together with the other image data in a single compressed codestream.)

JPEG XR – Container format

Being TIFF-based, this format inherits all of the limitations of the TIFF format including the 4 GB file-size limit.

JPEG XR – Container format

New work has been started in the JPEG committee to enable the use of JPEG XR image coding within the JPX file storage format — enabling use of the JPIP protocol, which allows interactive browsing of networked images. Additionally, a Motion JPEG XR specification was approved as an ISO standard for motion (video) compression in March 2010.

JPEG XR – Compression algorithm

JPEG XR’s design is conceptually very similar to JPEG: the source image is optionally converted to a luma-chroma colorspace, the chroma planes are optionally subsampled, each plane is divided into fixed-size blocks, the blocks are transformed into the frequency domain, and the frequency coefficients are quantized and entropy coded. Major differences include the following:

JPEG XR – Compression algorithm

JPEG supports bit depths of 8 and 12 bits; JPEG XR supports bit depths of up to 32 bits. JPEG XR also supports lossless and lossy compression of floating-point image data (by representing the floating-point values in an IEEE 754-like format, and encoding them as though they were integers) and RGBE imagery.

JPEG XR – Compression algorithm

JFIF and other typical image encoding practices specify a linear transformation from RGB to YCbCr, which is slightly lossy in practice because of roundoff error. JPEG XR specifies a lossless colorspace transformation, given (for RGB) by

JPEG XR – Compression algorithm

While JPEG uses 8 × 8 blocks for its frequency transformation, JPEG XR primarily uses 4 × 4 block transforms. (2 × 4 and 2 × 2 transformations are also defined for special cases involving chroma subsampling.)

JPEG XR – Compression algorithm

While JPEG uses a single transformation stage, JPEG XR applies its 4 × 4 core transform in a two-level hierarchical fashion within 16 × 16 macroblock regions. This gives the transform a wavelet-like multi-resolution hierarchy and improves its compression capability.

JPEG XR – Compression algorithm

The DCT, the frequency transformation used by JPEG, is slightly lossy because of roundoff error. JPEG XR uses a type of integer transform employing a lifting scheme, which resembles a 4 × 4 DCT but is lossless (exactly invertible).

JPEG XR – Compression algorithm

JPEG XR allows an optional overlap prefiltering step before each of its 4 × 4 core transform stages

JPEG XR – Compression algorithm

In JPEG XR, blocks are grouped into macroblocks of 16 × 16 samples, and the DC coefficients from each macroblock are passed through another level of frequency transformation, leaving three types of coefficients to be entropy coded: the macroblock DC coefficients (called DC), macroblock-level AC coefficients (called “lowpass”), and lower-level AC coefficients (called AC)

JPEG XR – Compression algorithm

JPEG XR supports the encoding of an image by decomposing it into smaller individual rectangular tile area regions. Each tile area can be decoded independently from the other areas of the picture. This allows fast access to spatial areas of pictures without decoding the entire picture.

JPEG XR – Compression algorithm

JPEG XR’s entropy coding phase is more adaptive and complex than JPEG’s, involving a DC and AC coefficient prediction scheme, adaptive coefficient reordering (in contrast to JPEG’s fixed zigzag ordering), and a form of adaptive Huffman coding for the coefficients themselves.

JPEG XR – Compression algorithm

JPEG uses a single quantization step size per DC/AC component per color plane per image. JPEG XR allows a selection of DC quantization step sizes on a tile region basis, and allows lowpass and AC quantization step sizes to vary from macroblock to macroblock.

JPEG XR – Compression algorithm

Because all encoding phases except quantization are lossless, JPEG XR is lossless when all quantization coefficients are equal to 1. This is not true of JPEG. JPEG defines a separate lossless mode which does not use the DCT, but it is not implemented by libjpeg and therefore not widely supported.

JPEG XR – Compression algorithm

The HD Photo bitstream specification claims that “HD Photo offers image quality comparable to JPEG-2000 with computational and memory performance more closely comparable to JPEG”, that it “delivers a lossy compressed image of better perceptive quality than JPEG at less than half the file size”, and that “lossless compressed images … are typically 2.5 times smaller than the original uncompressed data”.

JPEG XR – Software support

A reference software implementation of JPEG XR has been published as ITU-T Recommendation T.835 and ISO/IEC International Standard 29199-5.

JPEG XR – Software support

The following notable software products natively support JPEG XR:

JPEG XR – Software support

The following notable software support JPEG XR through a Plug-in:

JPEG XR – Software support

Product name Publisher Plug-in name Plug-in publisher Read support Write support

JPEG XR – Software support

Adobe Photoshop (CS2,CS5-CS6) Adobe Systems JPEG XR File Format Plug-in for Photoshop Microsoft Corporation Yes Yes

JPEG XR – Software support

GIMP The GIMP Development Team JPEG XR plugin for GIMP C. Hausner Yes Yes

JPEG XR – Software support

Paint.NET Rick Brewster JPEG XR plugin for Paint.NET C. Hausner Yes Yes

JPEG XR – Software support

Quick Look Apple Inc. JPEG XR plugin for Quick Look B. Hoary Yes N/A

JPEG XR – Software support

The following APIs and software frameworks support JPEG XR and may be used in other software to provide JPEG XR support to end users:

JPEG XR – Software support

The 2011 Video Game, Rage, employs JPEG XR compression to compress its textures.

JPEG XR – Licensing

As of 15 August 2010, Microsoft made the resulting JPEG XR standard available under its Community Promise.

JPEG XR – Licensing

In July 2010, reference software to implement the JPEG XR standard was published as ITU-T Recommendation T.835 and International Standard ISO/IEC 29199-5. Microsoft included these publications in the list of specifications covered by its Community Promise.

JPEG XR – Licensing

In April 2013, Microsoft released an open source JPEG XR library under the BSD licence. This resolved any licencing issues with the library being implemented in software packages distributed under popular open source licences such as the GNU General Public License, with which the previously released “HD Photo Device Porting Kit” was incompatible.

JPEG 2000

This article is outdated.

JPEG 2000

Developed by Joint Photographic Experts Group

JPEG 2000

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

JPEG 2000 – Aims of the standard

Another difference, in comparison with JPEG, is in terms of visual artifacts: JPEG 2000 produces ringing artifacts, manifested as blur and rings near edges in the image, while JPEG produces ringing artifacts and ‘blocking’ artifacts, due to its 8×8 blocks.

JPEG 2000 – Aims of the standard

JPEG 2000 has been published as an ISO standard, ISO/IEC 15444. As of 2013, JPEG 2000 is not widely supported in web browsers, and hence is not generally used on the Internet.

JPEG 2000 – Superior compression performance

At high bit rates, artifacts become nearly imperceptible, 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 – Multiple resolution representation

JPEG 2000 decomposes the image into a multiple resolution representation in the course of its compression process. This representation can be put to use for other image presentation purposes beyond compression as such.

JPEG 2000 – Progressive transmission by pixel and resolution accuracy

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.

JPEG 2000 – Choice of lossless or lossy compression

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.

JPEG 2000 – Random code-stream access and processing

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. This way it is possible to store different parts of the same picture using different quality.

JPEG 2000 – Error resilience

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.

JPEG 2000 – JPEG 2000 image coding system – Parts

Part Number First public release date (First edition) Latest public release date (edition) Latest amendment Identical ITU-T standard Title Description

JPEG 2000 – JPEG 2000 image coding system – Parts

Part 6 ISO/IEC 15444-6 2003 2003 2007 Compound image file format (.jpm) e.g. document imaging, for pre-press and fax-like applications

JPEG 2000 – JPEG 2000 image coding system – Parts

Part 7 abandoned Guideline of minimum support function of ISO/IEC 15444-1 (Technical Report on Minimum Support Functions)

JPEG 2000 – JPEG 2000 image coding system – Parts

Part 8 ISO/IEC 15444-8 2007 2007 2008 T.807 Secure JPEG 2000 JPSEC (security aspects)

JPEG 2000 – JPEG 2000 image coding system – Parts

Part 10 ISO/IEC 15444-10 2008 2008 2008 T.809 Extensions for three-dimensional data JP3D (volumetric imaging)

JPEG 2000 – JPEG 2000 image coding system – Parts

Part 14 under development XML structural representation and reference JPXML

JPEG 2000 – Technical discussion

The following sections describe the algorithm of JPEG 2000.

JPEG 2000 – Color components transformation

Irreversible Color Transform (ICT) uses the well known YCBCR color space. It is called “irreversible” because it has to be implemented in floating or fix-point and causes round-off errors.

JPEG 2000 – Color components transformation

Reversible Color Transform (RCT) uses a modified YUV color space that does not introduce quantization errors, so it is fully reversible. Proper implementation of the RCT requires that numbers are rounded as specified that cannot be expressed exactly in matrix form. The transformation is:

JPEG 2000 – Color components transformation

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.

JPEG 2000 – Tiling

Using many tiles can create a blocking effect similar to the older JPEG 1992 standard.

JPEG 2000 – Wavelet transform

These tiles are then wavelet transformed to an arbitrary depth, in contrast to JPEG 1992 which uses an 8×8 block-size discrete cosine transform. JPEG 2000 uses two different wavelet transforms:

JPEG 2000 – Wavelet transform

irreversible: the CDF 9/7 wavelet transform. It is said to be “irreversible” because it introduces quantization noise that depends on the precision of the decoder.

JPEG 2000 – Wavelet transform

reversible: a rounded version of the biorthogonal CDF 5/3 wavelet transform. It uses only integer coefficients, so the output does not require rounding (quantization) and so it does not introduce any quantization noise. It is used in lossless coding.

JPEG 2000 – Wavelet transform

The wavelet transforms are implemented by the lifting scheme or by convolution.

JPEG 2000 – Quantization

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).

JPEG 2000 – Coding

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.

JPEG 2000 – Coding

The quantized sub-bands are split further into precincts, rectangular regions in the wavelet domain. They are typically selected in a way that the coefficients within them across the sub-bands form approximately spatial blocks in the (reconstructed) image domain, though this is not a requirement.

JPEG 2000 – Coding

Precincts are split further into code blocks

JPEG 2000 – Coding

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).

JPEG 2000 – Coding

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.

JPEG 2000 – Coding

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.

JPEG 2000 – Coding

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

JPEG 2000 – Coding

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.

JPEG 2000 – Performance

Good applications for JPEG 2000 are large images, images with low-contrast edges — e.g., medical images.

JPEG 2000 – File format and code stream

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

JPEG 2000 – File format and code stream

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.

JPEG 2000 – Metadata

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.

JPEG 2000 – Applications of JPEG 2000

Consumer applications such as multimedia devices (e.g., digital cameras, personal digital assistants, 3G mobile phones, color facsimile, printers, scanners, etc.)

JPEG 2000 – Applications of JPEG 2000

Client/server communication (e.g., the Internet, Image database, Video streaming, video server, etc.)

JPEG 2000 – Applications of JPEG 2000

Military/surveillance (e.g., HD satellite images, Motion detection, network distribution and storage, etc.)

JPEG 2000 – Applications of JPEG 2000

High-quality frame-based video recording, editing and storage.

JPEG 2000 – Applications of JPEG 2000

Live HDTV feed contribution (I-frame only video compression with low transmission latency), such as live HDTV feed of a sport event linked to the TV station studio

JPEG 2000 – Applications of JPEG 2000

JPEG 2000 has many design commonalities with the ICER image compression format that is used to send images back from the Mars rovers.

JPEG 2000 – Applications of JPEG 2000

Digitized Audio-visual contents and Images for Long term digital preservation

JPEG 2000 – Applications of JPEG 2000

World Meteorological Organization has built JPEG 2000 Compression into the new GRIB2 file format. The GRIB file structure is designed for global distribution of meteorological data. The implementation of JPEG 2000 compression in GRIB2 has reduced file sizes up to 80%.

JPEG 2000 – Comparison with PNG

Although JPEG 2000 format supports lossless encoding, it is not intended to completely supersede today’s dominant lossless image file formats.

JPEG 2000 – Comparison with PNG

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 – Legal issues

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.

JPEG 2000 – Legal issues

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.

JPEG 2000 – Legal issues

However, the JPEG committee has acknowledged that undeclared submarine patents may still present a hazard:

JPEG 2000 – Legal issues

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.

JPEG 2000 – Related standards

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.

JPEG 2000 – Related standards

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.

JPEG 2000 – JPIP protocol for streaming JPEG 2000 images

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 – JPIP protocol for streaming JPEG 2000 images

JPEG 2000 data may also be streamed using the ECWP and ECWPS protocols found within the ERDAS ECW/JP2 SDK.

JPEG 2000 – Motion JPEG 2000

Motion JPEG 2000 is defined in ISO/IEC 15444-3 and in ITU-T 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.

JPEG 2000 – Motion JPEG 2000

Instead, each frame is an independent entity encoded by either a lossy or lossless variant of JPEG 2000

JPEG 2000 – Motion JPEG 2000

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 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.

JPEG 2000 – GML JP2 georeferencing

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.

JPEG 2000 – GML JP2 georeferencing

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.

Geotagging – JPEG photos

With photos stored in JPEG file format, the geotag information is typically embedded in the metadata (stored in Exchangeable image file format (EXIF) or Extensible Metadata Platform (XMP) format)

Geotagging – JPEG photos

or the same coordinates could also be presented as decimal degrees:

Geotagging – JPEG photos

When stored in EXIF, the coordinates are represented as a series of rational numbers in the GPS sub-IFD. Here is a hexadecimal dump of the relevant section of the EXIF metadata (with big-endian byte order):

Geotagging – JPEG photos

| – Tag 0x0002 (24 bytes, rational64u):

Geotagging – JPEG photos

| – Tag 0x0004 (24 bytes, rational64u):

IDCT – JPEG

The DCT is used in JPEG image compression, MJPEG, MPEG, DV, Daala, and Theora video compression

Jpeg

In computing, ‘JPEG’ ( ) (seen most often with the ‘.jpg’ extension) is a commonly used method of lossy compression for digital photography (i.e. images). The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality, and is the file type most often produced in digital photography.

Jpeg

JPEG compression is used in a number of image file formats. JPEG/Exif is the most common image format used by digital cameras and other photographic image capture devices; along with JPEG/JFIF, it is the most common format for storing and transmitting photographic images on the World Wide Web. These format variations are often not distinguished, and are simply called JPEG.

Jpeg

The term JPEG is an acronym for the Joint Photographic Experts Group, which created the standard. The Internet media type|MIME media type for JPEG is image/jpeg (defined in RFC 1341), except in Internet Explorer, which provides a MIME type of image/pjpeg when uploading JPEG images.[http://msdn.microsoft.com/en-us/library/ms775147%28v=vs.85%29.aspx#_replace MIME Type Detection in Internet Explorer: Uploaded MIME Types] (msdn.microsoft.com)

Jpeg

JPEG/JFIF supports a maximum image size of 65535×65535.[http://www.jpeg.org/public/jfif.pdf JPEG File Layout and Format]

Jpeg – The JPEG standard

The original JPEG group was organized in 1986, issuing the first JPEG standard in 1992, which was approved in September 1992 as ‘ITU-T Recommendation T.81’ and in 1994 as ‘International Organization for Standardization|ISO/International Electrotechnical Commission|IEC 10918-1’.

Jpeg – The JPEG standard

The JPEG standard specifies the codec, which defines how an image is compressed into a stream of bytes and decompressed back into an image, but not the file format used to contain that stream.

Jpeg – The JPEG standard

The Exif and JFIF standards define the commonly used file formats for interchange of JPEG-compressed images.

Jpeg – The JPEG standard

JPEG standards are formally named as Information technology– Digital compression and coding of continuous-tone still images. ISO/IEC 10918 consists of the following parts:

Jpeg – The JPEG standard

Ecma International TR/98 specifies the JPEG File Interchange Format (JFIF); the first edition was published in June 2009.

Jpeg – Typical usage

The JPEG compression algorithm is at its best on photographs and paintings of realistic scenes with smooth variations of tone and color. For web usage, where the amount of data used for an image is important, JPEG is very popular. JPEG/Exif is also the most common format saved by digital cameras.

Jpeg – Typical usage

On the other hand, JPEG may not be as well suited for line drawings and other textual or iconic graphics, where the sharp contrasts between adjacent pixels can cause noticeable artifacts. Such images may be better saved in a Lossless data compression#Graphics|lossless graphics format such as TIFF, Graphics Interchange Format|GIF, Portable Network Graphics|PNG, or a raw image format. The JPEG standard actually includes a lossless coding mode, but that mode is not supported in most products.

Jpeg – Typical usage

As the typical use of JPEG is a lossy compression method, which somewhat reduces the image fidelity, it should not be used in scenarios where the exact reproduction of the data is required (such as some scientific and medical imaging applications and certain technical image processing work).

Jpeg – Typical usage

JPEG is also not well suited to files that will undergo multiple edits, as some image quality will usually be lost each time the image is decompressed and recompressed, particularly if the image is cropped or shifted, or if encoding parameters are changed– see digital generation loss for details. To avoid this, an image that is being modified or may be modified in the future can be saved in a lossless format, with a copy exported as JPEG for distribution.

Jpeg – JPEG compression

Nearly all software implementations of JPEG permit user control over the compression-ratio (as well as other optional parameters), allowing the user to trade off picture-quality for smaller file size

Jpeg – JPEG compression

The compression method is usually Lossy compression|lossy, meaning that some original image information is lost and cannot be restored, possibly affecting image quality. There is an optional Lossless JPEG|lossless mode defined in the JPEG standard. However, this mode is not widely supported in products.

Jpeg – JPEG compression

When progressive JPEGs are received by programs that do not support them (such as versions of Internet Explorer before Windows 7) the software only displays the image after it has been completely downloaded.

Jpeg – JPEG compression

There are also many medical imaging and traffic systems that create and process 12-bit JPEG images, normally grayscale images. The 12-bit JPEG format has been part of the JPEG specification for some time, but this format is not as widely supported.

Jpeg – Lossless editing

A number of alterations to a JPEG image can be performed losslessly (that is, without recompression and the associated quality loss) as long as the image size is a multiple of 1 MCU block (Minimum Coded Unit) (usually 16 pixels in both directions, for 4:2:0 chroma subsampling). Utilities that implement this include jpegtran, with user interface Jpegcrop, and the JPG_TRANSFORM plugin to IrfanView.

Jpeg – Lossless editing

Blocks can be rotated in 90 degree increments, flipped in the horizontal, vertical and diagonal axes and moved about in the image. Not all blocks from the original image need to be used in the modified one.

Jpeg – Lossless editing

The top and left edge of a JPEG image must lie on a 8×8 pixel block boundary, but the bottom and right edge need not do so. This limits the possible ‘lossless crop’ operations, and also prevents flips and rotations of an image whose bottom or right edge does not lie on a block boundary for all channels (because the edge would end up on top or left, where– as aforementioned– a block boundary is obligatory).

Jpeg – Lossless editing

When using lossless cropping, if the bottom or right side of the crop region is not on a block boundary then the rest of the data from the partially used blocks will still be present in the cropped file and can be recovered. It is also possible to transform between baseline and progressive formats without any loss of quality, since the only difference is the order in which the coefficients are placed in the file.

Jpeg – Lossless editing

Furthermore, several JPEG images can be losslessly joined together, as long as the edges coincide with block boundaries.

Jpeg – JPEG files

The file format known as JPEG Interchange Format (JIF) is specified in Annex B of the standard. However, this pure file format is rarely used, primarily because of the difficulty of programming encoders and decoders that fully implement all aspects of the standard and because of certain shortcomings of the standard:

Jpeg – JPEG files

* Component sub-sampling registration

Jpeg – JPEG files

The first of these, released in 1992, was JPEG File Interchange Format (or JFIF), followed in recent years by Exchangeable image file format (Exif) and International Color Consortium|ICC ICC Profile|color profiles

Jpeg – JPEG files

Thus, in some ways JFIF is a cutdown version of the JIF standard in that it specifies certain constraints (such as not allowing all the different encoding modes), while in other ways it is an extension of JIF due to the added metadata. The documentation for the original JFIF standard states:

Jpeg – JPEG files

:JPEG File Interchange Format is a minimal file format which enables JPEG bitstreams to be exchanged between a wide variety of platforms and applications. This minimal format does not include any of the advanced features found in the TIFF JPEG specification or any application specific file format. Nor should it, for the only purpose of this simplified format is to allow the exchange of JPEG compressed images.

Jpeg – JPEG files

On the other hand, since the Exif standard does not allow color profiles, most image editing software stores JPEG in JFIF format, and also include the APP1 segment from the Exif file to include the metadata in an almost-compliant way; the JFIF standard is interpreted somewhat flexibly

Jpeg – JPEG files

Strictly speaking, the JFIF and Exif standards are incompatible because they each specify that their marker segment (APP0 or APP1, respectively) appears first. In practice, most JPEG files contain a JFIF marker segment that precedes the Exif header. This allows older readers to correctly handle the older format JFIF segment, while newer readers also decode the following Exif segment, being less strict about requiring it to appear first.

Jpeg – JPEG filename extensions

The most common filename extensions for files employing JPEG compression are ‘.jpg’ and ‘.jpeg’, though .jpe, .jfif and .jif are also used. It is also possible for JPEG data to be embedded in other file types– Tagged Image File Format|TIFF encoded files often embed a JPEG image as a thumbnail of the main image; and MP3 files can contain a JPEG of cover art, in the ID3v2 tag.

Jpeg – Color profile

Many JPEG files embed an ICC profile|ICC color profile (color space). Commonly used color profiles include sRGB color space|sRGB and Adobe RGB color space|Adobe RGB. Because these color spaces use a non-linear transformation, the dynamic range of an 8-bit JPEG file is about 11 f-number|stops; see gamma curve.

Jpeg – Syntax and structure

Note that consecutive 0xFF bytes are used as fill bytes for Data padding|padding purposes, although this fill byte padding should only ever take place for markers immediately following entropy-coded scan data (see JPEG specification section B.1.1.2 and E.1.2 for details; specifically In all cases where markers are appended after the compressed data, optional 0xFF fill bytes may precede the marker).

Jpeg – Syntax and structure

This technique, called byte stuffing (see JPEG specification section F.1.2.3), is only applied to the entropy-coded data, not to marker payload data

Jpeg – Syntax and structure

There are other Start Of Frame markers that introduce other kinds of JPEG encodings.

Jpeg – Syntax and structure

Since several vendors might use the same APPn marker type, application-specific markers often begin with a standard or vendor name (e.g., Exif or Adobe) or some other identifying string.

Jpeg – Syntax and structure

At a restart marker, block-to-block predictor variables are reset, and the bitstream is synchronized to a byte boundary. Restart markers provide means for recovery after bitstream error, such as transmission over an unreliable network or file corruption. Since the runs of macroblocks between restart markers may be independently decoded, these runs may be decoded in parallel.

Jpeg – JPEG codec example

Although a JPEG file can be encoded in various ways, most commonly it is done with JFIF encoding. The encoding process consists of several steps:

Jpeg – JPEG codec example

# The representation of the colors in the image is converted from RGB color model|RGB to YCbCr|, consisting of one Luma (video)|luma component (Y’), representing brightness, and two chrominance|chroma components, (CB and CR), representing color. This step is sometimes skipped.

Jpeg – JPEG codec example

# The resolution of the chroma data is reduced, usually by a factor of 2. This reflects the fact that the eye is less sensitive to fine color details than to fine brightness details.

Jpeg – JPEG codec example

# The image is split into blocks of 8×8 pixels, and for each block, each of the Y, CB, and CR data undergoes the Discrete Cosine Transform (DCT), which was developed in 1974 by N. Ahmed, T. Natarajan and K. R. Rao; see Citation 1 in Discrete cosine transform. A DCT is similar to a Fourier transform in the sense that it produces a kind of spatial frequency spectrum.

Jpeg – JPEG codec example

The quality setting of the encoder (for example 50 or 95 on a scale of 0–100 in the Independent JPEG Group’s library) affects to what extent the resolution of each frequency component is reduced

Jpeg – JPEG codec example

# The resulting data for all 8×8 blocks is further compressed with a lossless algorithm, a variant of Huffman encoding.

Jpeg – JPEG codec example

The decoding process reverses these steps, except the quantization because it is irreversible. In the remainder of this section, the encoding and decoding processes are described in more detail.

Jpeg – Encoding

Many of the options in the JPEG standard are not commonly used, and as mentioned above, most image software uses the simpler JFIF format when creating a JPEG file, which among other things specifies the encoding method. Here is a brief description of one of the more common methods of encoding when applied to an input that has 24 bits per pixel (eight each of RGB color model|red, green, and blue). This particular option is a lossy data compression method.

Jpeg – Color space transformation

First, the image should be converted from RGB color model|RGB into a different color space called YCbCr| (or, informally, YCbCr)

Jpeg – Color space transformation

A particular conversion to is specified in the JFIF standard, and should be performed for the resulting JPEG file to have maximum compatibility. However, some JPEG implementations in highest quality mode do not apply this step and instead keep the color information in the RGB color model, where the image is stored in separate channels for red, green and blue brightness components. This results in less efficient compression, and would not likely be used when file size is especially important.

Jpeg – Downsampling

Due to the densities of color- and brightness-sensitive receptors in the human eye, humans can see considerably more fine detail in the brightness of an image (the Y’ component) than in the hue and color saturation of an image (the Cb and Cr components). Using this knowledge, encoders can be designed to compress images more efficiently.

Jpeg – Downsampling

The ratios at which the downsampling is ordinarily done for JPEG images are YUV 4:4:4|4:4:4 (no downsampling), YUV 4:2:2|4:2:2 (reduction by a factor of 2 in the horizontal direction), or (most commonly) YUV 4:2:0|4:2:0 (reduction by a factor of 2 in both the horizontal and vertical directions)

Jpeg – Block splitting

After Chroma Subsampling|subsampling, each Channel (digital image)|channel must be split into 8×8 blocks. Depending on chroma subsampling, this yields (Minimum Coded Unit) MCU blocks of size 8×8 (4:4:4– no subsampling), 16×8 (4:2:2), or most commonly 16×16 (4:2:0). In video compression MCUs are called macroblocks.

Jpeg – Block splitting

If the data for a channel does not represent an integer number of blocks then the encoder must fill the remaining area of the incomplete blocks with some form of dummy data. Filling the edges with a fixed color (for example, black) can create ringing artifacts along the visible part of the border;

Jpeg – Block splitting

repeating the edge pixels is a common technique that reduces (but does not necessarily completely eliminate) such artifacts, and more sophisticated border filling techniques can also be applied.

Jpeg – Discrete cosine transform

Next, each 8×8 block of each component (Y, Cb, Cr) is converted to a frequency-domain representation, using a normalized, two-dimensional type-II discrete cosine transform (DCT), which was introduced by N. Ahmed, T. Natarajan and K. R. Rao in 1974; see Citation 1 in Discrete cosine transform. The DCT is sometimes referred to as type-II DCT in the context of a family of transforms as in discrete cosine transform, and the corresponding inverse (IDCT) is denoted as type-III DCT.

Jpeg – Discrete cosine transform

As an example, one such 8×8 8-bit subimage might be:

Jpeg – Discrete cosine transform

Before computing the DCT of the 8×8 block, its values are shifted from a positive range to one centered around zero

Jpeg – Discrete cosine transform

This step results in the following values:

Jpeg – Discrete cosine transform

* \ u is the horizontal spatial frequency, for the integers \ 0 \leq u

Jpeg – Discrete cosine transform

These are due to the quantization step of the JPEG algorithm

Jpeg – Discrete cosine transform

[http://eu.sabotage.org/www/ITU/P/P0930e.pdf ITU-T Rec. P.930 (08/96) Principles of a reference impairment system for video]

Jpeg – Discrete cosine transform

These artifacts can be reduced by choosing a lower level of image compression|compression; they may be eliminated by saving an image using a Lossless data compression|lossless file format, though for photographic images this will usually result in a larger file size

Jpeg – Discrete cosine transform

Some programs allow the user to vary the amount by which individual blocks are compressed. Stronger compression is applied to areas of the image that show fewer artifacts. This way it is possible to manually reduce JPEG file size with less loss of quality.

Jpeg – Discrete cosine transform

JPEG artifacts, like pixelation, are occasionally intentionally exploited for artistic purposes, as in Jpegs, by German photographer Thomas Ruff.jpegs, Thomas Ruff, Aperture, May 31, 2009, 132 pp., ISBN 978-1-59711-093-8[http://jmcolberg.com/weblog/2009/04/review_jpegs_by_thomas_ruff/ Review: jpegs by Thomas Ruff], by Joerg Colberg, Apr 17, 2009

Jpeg – Discrete cosine transform

Since the quantization stage always results in a loss of information, JPEG standard is always a lossy compression codec. (Information is lost both in quantizing and rounding of the floating-point numbers.) Even if the quantization matrix is a matrix of ones, information will still be lost in the rounding step.

Jpeg – Decoding

and taking the Matrix multiplication#Hadamard product|entry-for-entry product with the quantization matrix from above results in

Jpeg – Decoding

Standard general-purpose compression tools cannot significantly compress JPEG files.

Jpeg – Decoding

Typically, such schemes take advantage of improvements to the naive scheme for coding DCT coefficients, which fails to take into account:

Jpeg – Decoding

* Correlations between magnitudes of adjacent coefficients in the same block;

Jpeg – Decoding

* Correlations between magnitudes of the same coefficient in adjacent blocks;

Jpeg – Decoding

* The DC coefficients when taken together resemble a downscale version of the original image multiplied by a scaling factor. Well-known schemes for Lossless compression#Graphics|lossless coding of continuous-tone images can be applied, achieving somewhat better compression than the Huffman coded DPCM used in JPEG.

Jpeg – Decoding

Some standard but rarely used options already exist in JPEG to improve the efficiency of coding DCT coefficients: the arithmetic coding option, and the progressive coding option (which produces lower bitrates because values for each coefficient are coded independently, and each coefficient has a significantly different distribution)

Jpeg – Decoding

Typically, such methods can compress existing JPEG files between 15 and 25 percent, and for JPEGs compressed at low-quality settings, can produce improvements of up to 65%.

Jpeg – Decoding

A freely available tool called packJPG is based on the 2007 paper Improved Redundancy Reduction for JPEG Files.

Jpeg – JPEG Stereoscopic

This file format can be viewed as a JPEG without any special software, or can be processed for rendering in other modes.

Jpeg – JPEG Multi-Picture Format

JPEG Multi-Picture Format (MPO, extension .mpo) is a JPEG-based format for multi-view images. It contains two or more JPEG files concatenated together. There are also special EXIF fields describing its purpose. This is used by the Fujifilm FinePix Real 3D W1 camera, Panasonic Lumix Panasonic Lumix DMC-TZ20|DMC-TZ20, Panasonic Lumix DMC-TZ30|DMC-TZ30 DMC-TS4 (FT4), Sony DSC-HX7V, HTC Evo 3D, the JVC GY-HMZ1U AVCHD/MVC extension camcorder and by the Nintendo 3DS for its 3D Camera.

Jpeg – Patent issues

In 2002, Forgent Networks asserted that it owned and would enforce patent rights on the JPEG technology, arising from a patent that had been filed on October 27, 1986, and granted on October 6, 1987 (). The announcement created a furor reminiscent of Unisys’ attempts to assert its rights over the GIF image compression standard.

Jpeg – Patent issues

In February 2006, the United States Patent and Trademark Office agreed to re-examine Forgent’s JPEG patent at the request of the Public Patent Foundation

Jpeg – Patent issues

Forgent also possesses a similar patent granted by the European Patent Office in 1994, though it is unclear how enforceable it is.

Jpeg – Patent issues

As of October 27, 2006, the U.S. patent’s 20-year term appears to have expired, and in November 2006, Forgent agreed to abandon enforcement of patent claims against use of the JPEG standard.

Jpeg – Patent issues

The JPEG committee has as one of its explicit goals that their standards (in particular their baseline methods) be implementable without payment of license fees, and they have secured appropriate license rights for their upcoming JPEG 2000 standard from over 20 large organizations.

Jpeg – Patent issues

If not invalidated, this patent could apply to any website that displays JPEG images

Jpeg – Patent issues

In its first two lawsuits following the reexamination, both filed in Chicago, Illinois, Global Patent Holdings sued the Green Bay Packers, CDW, Motorola, Apple, Orbitz, Officemax, Caterpillar, Kraft and Peapod as defendants

Jpeg – Patent issues

Global Patent Holdings had also used the ‘341 patent to sue or threaten outspoken critics of broad software patents, including Gregory Aharonian and the anonymous operator of a website blog known as the Patent Troll Tracker. On December 21, 2007, patent lawyer Vernon Francissen of Chicago asked the U.S. Patent and Trademark Office to reexamine the sole remaining claim of the ‘341 patent on the basis of new prior art.

Jpeg – Patent issues

Princeton claims that the JPEG image compression standard infringes the ‘056 patent and has sued large numbers of websites, retailers, camera and device manufacturers and resellers

Jpeg – Standards

Here are some examples of standards created by ISO/IEC JTC 1/SC 29|ISO/IEC JTC1 SC29 Working Group 1 (WG 1), which includes the Joint Photographic Experts Group and Joint Bi-level Image experts Group:

Jpeg – Standards

* JPEG (lossy and lossless): ITU-T T.81, ISO/IEC 10918-1

Jpeg – Standards

* JBIG (lossless, bi-level pictures, fax): ITU-T T.82, ISO/IEC 11544

Jpeg – Standards

* JPEG XR (formerly called HD Photo prior to standardization) : ITU-T T.832, ISO/IEC 29199-2

Geotagging – JPEG photos

With photos stored in JPEG file format, the geotag information is typically embedded in the metadata (stored in Exchangeable image file format (EXIF) or Extensible Metadata Platform (XMP) format)

Geotagging – JPEG photos

When stored in EXIF, the coordinates are represented as a series of rational numbers in the GPS sub-IFD. Here is a hexadecimal dump of the relevant section of the EXIF metadata (with Endianness|big-endian byte order):

Geotagging – JPEG photos

| – Tag 0x0002 (24 bytes, rational64u[3]):

Geotagging – JPEG photos

| – Tag 0x0004 (24 bytes, rational64u[3]):

List of vector graphics markup languages – JPEG/JFIF

(JPEG also provides lossless image storage, but the lossless version is not widely supported.)

List of vector graphics markup languages – JPEG 2000

JPEG 2000 is a compression standard enabling both lossless and lossy storage. The compression methods used are different from the ones in standard JFIF/JPEG; they improve quality and compression ratios, but also require more computational power to process. JPEG 2000 also adds features that are missing in JPEG. It is not nearly as common as JPEG, but it is used currently in professional movie editing and distribution (some digital cinemas, for example, use JPEG 2000 for individual movie frames).

Lossy data compression – JPEG

While unwanted information is destroyed, the quality of the remaining portion is unchanged.

Lossy data compression – JPEG

Some other transforms are possible to some extent, such as joining images with the same encoding (composing side by side, as on a grid) or pasting images (such as logos) onto existing images (both via [http://sylvana.net/jpegcrop/jpegjoin/ Jpegjoin]), or scaling.[http://sylvana.net/jpegcrop/jpegtran/ New jpegtran features]

Lossy data compression – JPEG

Some changes can be made to the compression without re-encoding:

Lossy data compression – JPEG

* optimize the compression (to reduce size without change to the decoded image)

Lossy data compression – JPEG

The freeware Windows-only IrfanView has some lossless JPEG operations in its JPG_TRANSFORM Plug-in (computing)|plugin.

Motion JPEG

Originally developed for multimedia PC applications, M-JPEG is now used by video-capture devices such as digital cameras, IP cameras, and webcams; and by non-linear video editing systems

Motion JPEG – Applications

Software and devices using the M-JPEG standard include web browsers, media players, game consoles, digital cameras, IP cameras, webcams, streaming servers, video cameras, and non-linear video editors.

Motion JPEG – Video capture and editing

M-JPEG is frequently used in Non-linear editing system|non-linear video editing systems. Modern desktop CPUs are powerful enough to work with high-definition video so no special hardware is required and they in turn offer native random-access to a frame, M-JPEG support is also widespread in video-capture and editing equipment.

Motion JPEG – Game consoles

The PlayStation game console integrated M-JPEG decompression hardware for in-game Full Motion Video|FMV sequences while the PlayStation Portable handheld game console can play M-JPEG from the Memory Stick Pro Duo under the .avi extension with a resolution of 480×272. Both can record clips in M-JPEG via its Go!Cam camera.

Motion JPEG – Game consoles

Nintendo’s Wii game console as well as V-Tech’s InnoTAB can play M-JPEG-encoded videos on SD card using its Wii Menu#Photo Channel|Photo Channel and the SanDisk Sansa e200 and the Zen V digital audio players play short M-JPEG videos. Recent firmware updates to the Nintendo 3DS can now record and play 3D-AVI M-JPEG encoded files, which is the same format used in the Fujifilm FinePix Real 3D series, from a SD card in 320×240 resolution so long as the video duration is 10 minutes or less.

Motion JPEG – Digital cameras

Prior to the recent rise in MPEG-4 encoding in consumer devices, a progressive scan form of M-JPEG saw widespread use in the “movie” modes of digital still cameras, allowing video encoding and playback through the integrated JPEG compression hardware with only a software modification

Motion JPEG – Digital cameras

Resolutions of 160×120 or 320×240 are common sizes, typically at 10, 12 or 15 frames/second, with picture quality equivalent to a JPEG setting of “50” with mono ADPCM sound sampled at ~8kHz

Motion JPEG – Digital cameras

In addition to portable players (which are mainly consumers of the video), many video-enabled digital cameras use M-JPEG for video-capture. For instance:

Motion JPEG – Digital cameras

* in August 2008, Nikon announced the Nikon D90|D90, the first D-SLR to record video. The format used is M-JPEG. The D90 uses three different motion JPEG formats: 320×216 pixels, 640×424 pixels and 1280×720 pixels.

Motion JPEG – Digital cameras

* in June 2009, Pentax announced that the then-upcoming Pentax K-7|K-7 camera will use M-JPEG in resolutions 640×416, 1280×720, and 1536×1024. The data rate for the M-JPEG files created can be up to 74 Mbit/s.

Motion JPEG – HDTV media players

Apple announced on September 1, 2010 that their newest version of the Apple TV would support Motion JPEG (M-JPEG) up to 35 Mbit/s, 1280 by 720 pixels, 30 frames per second, audio in ?law, PCM stereo audio in .avi file format.

Motion JPEG – HDTV media players

Certain media players such as the Netgear NeoTV 550 do not support the playback of M-JPEG.

Motion JPEG – IP cameras

Many network-enabled cameras provide M-JPEG streams that network clients can connect to. Mozilla and Webkit-based browsers have native support for viewing these M-JPEG streams.

Motion JPEG – IP cameras

Some network-enabled cameras provide their own M-JPEG interfaces as part of the normal feature set. For cameras that don’t provide this feature natively, a server can be used to transcode the camera pictures into an M-JPEG stream and then provide that stream to other network clients.

Motion JPEG – M-JPEG over HTTP

HTTP streaming separates each image into individual HTTP replies on a specified marker. RTP streaming creates packets of a sequence of JPEG images that can be received by clients such as QuickTime or VLC media player|VLC.

Motion JPEG – M-JPEG over HTTP

The more robust ffmpeg-server also provides M-JPEG streaming support.

Motion JPEG – Client software

M-JPEG is also natively supported by PlayStation and QuickTime.

Motion JPEG – Digital video

Digital Video (DV) adopts a similar method by compressing video frames individually.

Motion JPEG – Encoding

Because frames are compressed independently of one another, M-JPEG imposes lower processing and memory requirements on hardware devices.

Motion JPEG – Encoding

M-JPEG compressed-video is also insensitive to motion-complexity, i.e

Motion JPEG – Encoding

For QuickTime formats, Apple has defined two types of coding: MJPEG-A and MJPEG-B. MJPEG-B no longer retains valid JPEG Interchange Files within it, hence it is not possible to take a frame into a JPEG file without slightly modifying the headers.

Motion JPEG – Advantages

* It is simple to implement because it uses a mature compression standard (JPG) with well-developed libraries, and it’s an intraframe method of compression.

Motion JPEG – Advantages

* It tolerates rapidly changing motion in the video stream, whereas compression schemes using interframe compression can often experience unacceptable quality loss when the video content changes significantly between each frame.

Motion JPEG – Advantages

* Because the M-JPEG standard emerged from a market-adoption process rather than a standards body, it enjoys broad client support — most major web browsers and players provide native support and plug-ins are available for the rest.

Motion JPEG – Advantages

* Minimal hardware is required because it is not computationally intensive.

Motion JPEG – Disadvantages

For example, Microsoft documents their standard format to store M-JPEG in AVI files,www.fileformat.info/format/bmp/spec/b7c72ebab8064da48ae5ed0c053c67a4/view.htm Apple documents how M-JPEG is stored in QuickTime files, RFC 2435 describes how M-JPEG is implemented in an RTP stream, and an M-JPEG CodecID is planned for the Matroska file format.www.matroska.org/technical/specs/codecid/index.html

Motion JPEG – Disadvantages

* JPEG is inefficient, using more bits to deliver similar quality, compared to more modern formats (such as JPEG 2000 and H.264/MPEG-4 AVC). Since the development of the original JPEG standard in the early 1990s, technology improvements have been made not only to the JPEG format but to the Video_compression#Intraframe_versus_interframe_compression|interframe compression schemas possible as well.

Motion JPEG – Disadvantages

* Technology improvements can be found in the designs of H.263#H.263v2_.28H.263.2B.29|H.263v2 Annex I and MPEG-4 Part 2, that use frequency-domain prediction of transform coefficient values, and in H.264/MPEG-4 AVC, that use spatial prediction and adaptive transform block size techniques. There are also more sophisticated entropy coding than what was practical when the first JPEG design was developed. All of these new developments make M-JPEG an inefficient recording mechanism.

.mpo – JPEG codec example

# The resolution of the chroma data is reduced, usually by a factor of 2 or 3. This reflects the fact that the eye is less sensitive to fine color details than to fine brightness details.

ICER – Design commonalities with the JPEG2000 compressor

JPEG 2000 has some design commonalities with the ICER image compression format that is used to send images back from the Mars rovers.

ICER – Design commonalities with the JPEG2000 compressor

ICER-JPEG 2000 Common Features

ICER – Design commonalities with the JPEG2000 compressor

* Both offer a variable number of image tiles to increase compression effectiveness over the deep space channel. Image tiles reduce demands on memory and processing time.

ICER – Design commonalities with the JPEG2000 compressor

* Both offer a ‘quality’ quota.

ICER – ICER-JPEG 2000 differences

* JPEG 2000 uses floating point math, where ICER uses only integer math. Thus ICER will have good performance on integer only CPUs like the T414 Transputer, whereas JPEG 2000 will not perform as well as it is forced into floating point emulation.

ICER – ICER-JPEG 2000 differences

* JPEG 2000 implements a low complexity symmetrical wavelet lossless compressor, but ICER uses an integer only non-wavelet lossless compressor.

ICER – ICER-JPEG 2000 differences

* ICER in its current form does compress monochrome images better than colour images due to its origins as an internal NASA Deep Space Network file format.

ICER – ICER-JPEG 2000 differences

* ICER is subject to less than 1% overshoot when byte and quality quotas are in effect. On the other hand JPEG2000 codecs are typically designed never to overshoot their byte quotas.

Lossless JPEG

‘Lossless JPEG’ is a 1993 addition to JPEG standard by the Joint Photographic Experts Group to enable lossless compression. However, it might be used as an umbrella term to refer to all lossless compression schemes developed by the Joint Photographic Expert group. They include JPEG 2000 and JPEG-LS.

Lossless JPEG

Lossless JPEG has some popularity in medical imaging, and is used in Digital Negative (file format)|DNG and some digital cameras to compress raw images, but otherwise was never widely adopted.

Lossless JPEG – Lossless mode of operation

Lossless JPEG is actually a mode of operation of JPEG

Lossless JPEG – Lossless mode of operation

ISO DIS 10918-1 Digital compression and coding of continuous-tone still images (JPEG)

Lossless JPEG – Lossless mode of operation

Once all the samples are predicted, the differences between the samples can be obtained and entropy-coded in a lossless fashion using Huffman coding or arithmetic coding.

Lossless JPEG – Lossless mode of operation

Typically, compressions using lossless operation mode can achieve around 2:1 compression ratio for color images. This mode is quite popular in the medical imaging field, and defined as an option in DNG standard, but otherwise it is not very widely used because of complexity of doing arithmetics on 10, 12 or 14bpp values on typical embedded 32bit processor and a little resulting gain in space.

Lossless JPEG – JPEG-LS

Compression for JPEG-LS is generally much faster than JPEG 2000 and much data compression ratio|better than the original lossless JPEG standard.

Lossless JPEG – Decorrelation/prediction

In the LOCO-I algorithm, primitive edge detection of horizontal or vertical edges is achieved by examining the neighboring pixels of the current pixel X as illustrated in Fig.3. The pixel labeled by B is used in the case of a vertical edge while the pixel located at A is used in the case of a horizontal edge. This simple predictor is called the Median Edge Detection (MED) predictor or LOCO-I predictor. The pixel X is predicted by the LOCO-I predictor according to the following guesses:

Lossless JPEG – Decorrelation/prediction

\min (A,B)\quad \,\mbox\,C\ge \max (A,B) \\

Lossless JPEG – Decorrelation/prediction

\max (A,B)\quad \mbox\,C\le \min (A,B) \\

Lossless JPEG – Context modeling

The JPEG-LS algorithm estimates the conditional expectations of the prediction errors E\left\ using corresponding sample means \bar(C) within each context Ctx. The purpose of context modeling is that the higher order structures like texture patterns and local activity of the image can be exploited by context modeling of the prediction error. Contexts are determined by obtaining the differences of the neighboring samples which represents the local gradient:

Lossless JPEG – Context modeling

For JPEG-LS, the differences g1, g2, and g3 are quantized into 9 regions and the region are indexed from ?4 to 4

Lossless JPEG – Context modeling

After merging contexts of both positive and negative signs, the total number of contexts is ((2\times 4+1)^3+1)/2=365 contexts

Lossless JPEG – Coding corrected prediction residuals

In the regular mode of JPEG-LS, the standard uses Golomb coding|Golomb–Rice codes which are a way to encode non-negative run lengths. Its special case with the optimal encoding value 2k allows simpler encoding procedures.

Lossless JPEG – Run length coding in uniform areas

This is the “run” mode of JPEG-LS and it is executed once a flat or smooth context region characterized by zero gradients is detected

Lossless JPEG – JPEG 2000

JPEG 2000’s lossless mode runs more slowly and has often worse data compression ratio|compression ratios than JPEG-LS on artificial and compound images.www.jpeg.org/public/wg1n1816.pdfhttp://itohws03.ee.noda.sut.ac.jp/~matsuda/mrp/ JPEG 2000 fares better than the UBC implementation of JPEG-LS on digital camera pictures.www.imagecompression.info/gralic/LPCB.html JPEG 2000 is also scalable, progressive, and more widely implemented.

JPEG Network Graphics

‘JPEG Network Graphics’ (‘JNG’, ) is a JPEG-based graphics file format which is closely related to Portable Network Graphics|PNG: it uses the PNG file structure (with a different signature) as a Container format (digital)|container format to wrap JPEG-encoded image data.

JPEG Network Graphics

However, a JNG may contain two separate JPEG datastreams for color information (one 8-bit ‘and’ one 12-bit) to permit decoders that are unable to (or do not wish to) handle 12-bit datastreams to display the 8-bit datastream instead, if one is present.

JPEG Network Graphics

Version 1.0 of the JNG specification was released on January 31, 2001 (initially as part of the MNG specification)

JPEG Network Graphics

This way, users can benefit from the power of JPEG compression while preserving lossless (PNG-compressed) transparency information.

JPEG Network Graphics

The chunk-based structure of JNG files is essentially the same as that of PNG files, differing only in the slightly different signature and the use of different chunks.

JPEG Network Graphics

JNG does not have a registered Internet media type, but image/x-jng can be used.

JPEG-HDR – Overview

This updated version is what is being standardized as JPEG-XT part2.

JPEG-HDR – Support

Software programs that support JPEG-HDR’s include Photosphere (by Greg Ward) and pfstools. A software encoder was available from BrightSide Technologies (formerly Sunnybrook Technologies, acquired by Dolby Laboratories in 2007). The new format that will be standardized will not support the old format headers.

JPEG-HDR – Similar formats

Other formats that use a similar idea of storing extra HDR information in a standard JPEG image include CLARITY-HDR, XDepth (both from Trellis Management) and ERI (from Kodak).

Ringing artifacts – JPEG

JPEG compression can introduce ringing artifacts at sharp transitions, which are particularly visible in text.

Ringing artifacts – JPEG

This is a due to loss of high frequency components, as in step response ringing.

Ringing artifacts – JPEG

JPEG#Block_splitting|JPEG uses 8×8 blocks, on which the discrete cosine transform (DCT) is performed. The DCT is a Fourier-related transform, and ringing occurs because of loss of high frequency components or loss of precision in high frequency components.

Ringing artifacts – JPEG

Ringing also occurs in the wavelet-based JPEG 2000.

Ringing artifacts – JPEG

JPEG and JPEG 2000 have other artifacts, as illustrated above, such as blocking (jaggies) and edge busyness (mosquito noise), though these are due to specifics of the formats, and are not ringing as discussed here.

Ringing artifacts – JPEG

Some illustrations:

Ringing artifacts – JPEG

* [http://www.stat.columbia.edu/~jakulin/jpeg/artifacts.htm Baseline JPEG and JPEG2000 Artifacts Illustrated]

JPEG File Interchange Format

The ‘JPEG File Interchange Format’ (‘JFIF’) is an image file format standard. It is a format for exchanging JPEG encoded files compliant with the JPEG Interchange Format (JIF) standard. It solves some of JIF’s limitations in regard to simple JPEG encoded file interchange. As with all JIF compliant files, image data in JFIF files is compressed using the techniques in the JPEG standard, hence JFIF is sometimes referred to as JPEG/JFIF.

JPEG File Interchange Format – Purpose

JFIF defines a number of details that are left unspecified by the JPEG Part 1 standard (ISO/International Electrotechnical Commission|IEC IS 10918-1, ITU-T Recommendation T.81):

JPEG File Interchange Format – Component sample registration

JPEG allows multiple components (such as YCbCr|Y, Cb, and Cr) to have different resolutions, but it does not define how those differing sample arrays should be aligned

JPEG File Interchange Format – Resolution and aspect ratio

JFIF provides resolution or aspect ratio information using an application segment extension to JPEG

JPEG File Interchange Format – Color space

JPEG does not define which color space|color encoding is to be used for images

JPEG File Interchange Format – History

The standard was established on March 1, 1991 in a meeting at C-Cube Microsystems involving representatives of many companies, including C-Cube Microsystems, Radius, NeXT, Storm Tech, the PD JPEG group, Sun, and Handmade Software. The standard appears to have lost ownership, since C-Cube Microsystems is now defunct, and further development of the standard is dead. The latest version is v1.02, published September 1, 1992.

JPEG File Interchange Format – History

Since 2009, JFIF is under development to be defined as ISO/IEC 10918-5 – JPEG Part 5: JPEG File Interchange Format (JFIF). Ecma International TR/98 specifies the JPEG File Interchange Format (JFIF); the first edition was published in June 2009.

JPEG File Interchange Format – History

As many other JPEG components, the specification is now approved as common ITU and ISO/IEC standard, under ITU-T T.871 | ISO/IEC 10918-5.

JPEG File Interchange Format – History

In 1996, Request for Comments|RFC 2046 specified that the image format used for transmitting JPEG images across the internet should be JFIF. The MIME type of image/jpeg must be encoded as JFIF. In practice, however, virtually all Internet software can decode any baseline JIF image that uses Y or YCbCr components, whether it is JFIF compliant or not.

JPEG File Interchange Format – Compatibility

The newer Exchangeable image file format (Exif) is comparable to JFIF, but the two standards are mutually incompatible

JPEG File Interchange Format – Compatibility

However, Photoshop generally saves CMYK buffers as four-component Adobe JPEGs that are not conformant with JFIF

JPEG File Interchange Format – JFIF extension (JFXX) segment format

An optional second application segment allows a thumbnail image to be embedded using several different image formats (to save space).

For More Information, Visit:

store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

store.theartofservice.com/itil-2011-foundation-complete-certification-kit-fourth-edition-study-guide-ebook-and-online-course.html

Categories: News