All Topics  
JPEG

 
JPEG

   Email Print
   Bookmark   Link






 

JPEG



 
 
In computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, JPEG (pronounced JAY-peg; ) is a commonly used method of compression
Image compression

Image compression is the application of Data compression on digital images. In effect, the objective is to reduce redundancy of the image data in order to be able to store or data transmission data in an efficient form....
 for photographic 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.

JPEG compression is used in a number of image file formats
Image file formats

Image file formats are standardized means of organizing and storing images. This entry is about digital image formats used to store photographic and other images; ....
. 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
World Wide Web

The World Wide Web is a very large set of interlinked hypertext documents accessed via the Internet. With a Web browser, one can view Web pages that may contain writing, s, videos, and other multimedia and navigate between them using hyperlinks....
.






Discussion
Ask a question about 'JPEG'
Start a new discussion about 'JPEG'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, JPEG (pronounced JAY-peg; ) is a commonly used method of compression
Image compression

Image compression is the application of Data compression on digital images. In effect, the objective is to reduce redundancy of the image data in order to be able to store or data transmission data in an efficient form....
 for photographic 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.

JPEG compression is used in a number of image file formats
Image file formats

Image file formats are standardized means of organizing and storing images. This entry is about digital image formats used to store photographic and other images; ....
. 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
World Wide Web

The World Wide Web is a very large set of interlinked hypertext documents accessed via the Internet. With a Web browser, one can view Web pages that may contain writing, s, videos, and other multimedia and navigate between them using hyperlinks....
. These format variations are often not distinguished, and are simply called JPEG.

The MIME media type
Internet media type

An Internet media type, originally called a MIME type after MIME and sometimes a Content-type after the name of a header in several protocols whose value is such a type, is a two-part identifier for file formats on the Internet....
 for JPEG is image/jpeg (defined in RFC 1341).

The JPEG standard


The name "JPEG" stands for Joint Photographic Experts Group
Joint Photographic Experts Group

The Joint Photographic Experts Group is a joint committee between ISO/IEC JTC1 and ITU-T that created the JPEG and JPEG 2000 standards. Its formal name is International Organization for Standardization/International Electrotechnical Commission Joint Technical Committee 1, Subcommittee 29, Working Group 1....
, the name of the committee that created the standard. The group was organized in 1986, issuing a standard in 1992, which was approved in 1994 as ISO 10918-1. JPEG is distinct from MPEG (Moving Picture Experts Group
Moving Picture Experts Group

Moving Picture Experts Group was formed by the International Organization for Standardization to set standards for audio compression and video compression and transmission....
), which produces compression schemes for video.

The JPEG standard specifies both the codec
Codec

A codec is a device or computer program capable of encoder and/or Decoding methods a digital data stream or signal . The word codec is a portmanteau of 'compressor-decompressor' or, most commonly, 'coder-decoder'....
, which defines how an image is compressed into a stream of byte
Byte

A byte is a basic unit of measurement of Computer storage in computer science. In many computer architectures it is a Byte addressing memory address space....
s and decompressed back into an image, and the file format used to contain that stream.

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 bandwidth used by an image is important, JPEG is very popular. JPEG/Exif is also the most common format saved by digital cameras.

On the other hand, JPEG is not as well suited for line drawings and other textual or iconic graphics, where the sharp contrasts between adjacent pixels cause noticeable artifacts. Such images are better saved in a lossless graphics format
Lossless data compression

Lossless data compression is a class of data compression algorithms that allows the exact original data to be reconstructed from the compressed data....
 such as TIFF, GIF, PNG, or a raw image format
RAW image format

A raw image file contains minimally processed data from the image sensor of either a digital camera, or motion picture film scanner. Raw files are so named because they are not yet processed and therefore are not ready to be used with a bitmap graphics editor or Printing....
. 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 (generation loss
Generation loss

Generation loss refers to the loss of quality and potential increase of file size between subsequent Copying of data. Anything that reduces the quality of the representation when copying, and would cause further reduction in quality on making a copy of the copy, can be considered a form of generation loss....
). To avoid this, an image that is being modified or may be modified in the future can be saved in a lossless format such as PNG, and a copy exported as JPEG for distribution.

As JPEG is a lossy compression method, which removes information from the image, it must not be used in astronomical or medical imaging or other purposes where the exact reproduction of the data is required. Lossless formats such as PNG must be used instead.

JPEG compression


The compression method is usually lossy, meaning that some visual quality is lost in the process and cannot be restored. There are variations on the standard baseline JPEG that are lossless; however, these are not widely supported.

There is also an interlace
Interlace (bitmaps)

Interlacing is a method of encoding a bitmap image such that a person who has partially received it sees a degraded copy of the entire image. When communicating over a slow communications link, this is often preferable to seeing a perfectly clear copy of one part of the image, as it helps the viewer decide more quickly whether to abort or con...
d "Progressive JPEG" format, in which data is compressed in multiple passes of progressively higher detail. This is ideal for large images that will be displayed while downloading over a slow connection, allowing a reasonable preview after receiving only a portion of the data. However, progressive JPEGs are not as widely supported, and even some software which does support them (such as some versions of Internet Explorer) only displays the image once it has been completely downloaded.

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

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 1 MCU block (Minimum Coded Unit) (usually 16 pixels in both directions, for 4:2:0).

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.

The top and left of a JPEG image must lie on a block boundary, but the bottom and right need not do so. This limits the possible lossless crop operations, and also what flips and rotates can be performed on an image whose edges do not lie on a block boundary for all channels.

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 relatively easily by anyone with a hex editor and an understanding of the format.

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 files


The file format
File format

A file format is a particular way to encode information for storage in a computer file.Since a disk drive, or indeed any computer storage, can store only bits, the computer must have some way of converting information to 0s and 1s and vice-versa....
 is known as 'JPEG Interchange Format' (JIF), as 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:

  • Color space definition
  • Component sub-sampling registration
  • Pixel aspect ratio definition


Several additional standards have evolved to address these issues. The first of these, released in 1992, was JPEG File Interchange Format
JPEG File Interchange Format

The JPEG File Interchange Format is an standard. It is a format for exchanging JPEG encoded files compliant with the JPEG standard. It solves some of JIFs limitations in regard to simple JPEG encoded file interchange....
 (or JFIF), followed in recent years by Exchangeable image file format
Exchangeable image file format

Exchangeable image file format is a specification for the file format used by digital cameras. The specification uses the existing JPEG, TIFF Rev....
 (Exif) and ICC
International Color Consortium

The International Color Consortium was formed in 1993 by eight industry vendors in order to create a universal color management system that would function transparently across all operating systems and software packages....
 color profiles
ICC profile

In color management, an ICC profile is a set of data that characterizes a color input or output device, or a color space, according to standards promulgated by the International Color Consortium ....
.

There is some confusion between the original 'JPEG Interchange Format' (JIF) and the similarly titled 'JPEG File Interchange Format' (JFIF). In some ways JFIF is a cutdown version of the JIF standard in that it specifies certain constraints (such as standard color space), while in other ways it is an extension of JIF due to the standard Application Segment header. The documentation for the original JFIF standard states:

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.


Image files that employ JPEG compression are commonly called "JPEG files". Most image capture devices (such as digital cameras) and most image editing software programs that write to a "JPEG file" are actually creating a file in the JFIF and/or Exif format.

Strictly speaking, the JFIF and Exif standards are incompatible because they each specify that their header appears first. In practice, most JPEG files in Exif format contain a small JFIF header that precedes the Exif header. This allows older readers to correctly handle the older format JFIF header, while newer readers also decode the following Exif header.

JPEG file extensions


The most common filename extension
Filename extension

A filename extension is a substring to the filename of a computer file applied to indicate the encoding convention of its contents.In some operating systems it is optional, while in some others it is a requirement....
s 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 - TIFF
Tagged Image File Format

Tagged Image File Format is a file format for storing raster graphics, including photographs and line art. It is now under the control of Adobe Systems....
 encoded files often embed a JPEG image as a thumbnail
Thumbnail

Thumbnails are reduced-size versions of pictures, used to help in recognizing and organizing them, serving the same role for images as a normal text index does for words....
 of the main image.

Color profile


Many JPEG files embed an ICC color profile (color space
Color space

A color model is an abstract mathematical model describing the way colors can be represented as tuples of numbers, typically as three or four values or color components ....
). Commonly used color profiles include sRGB
SRGB color space

sRGB is a standard RGB color spaces created cooperatively by Hewlett-Packard and Microsoft for use on monitors, printers, and the Internet....
 and Adobe RGB
Adobe RGB color space

The Adobe RGB color space is an RGB color space developed by Adobe Systems in 1998. It was designed to encompass most of the colors achievable on CMYK color printing, but by using RGB color model primary colors on a device such as the computer display....
. Because these color spaces use a non-linear transformation, the dynamic range
Dynamic range

Dynamic range is a term used frequently in numerous fields to describe the ratio between the smallest and largest possible values of a changeable quantity, such as in sound and light....
 of an 8-bit JPEG file is about 11 stops
F-number

In optics, the f-number of an optical system expresses the diameter of the entrance pupil in terms of the focal length of the photographic lens; in simpler terms, the f-number is the focal length divided by the "effective" aperture diameter....
. However, many applications are not able to deal with JPEG color profiles and simply ignore them.

Syntax and structure


A JPEG image contains a sequence of markers, each of which begins with a 0xFF byte followed by a byte indicating what kind of marker it is. Some markers consist of just those two bytes; others are followed by two bytes indicating the length of marker-specific payload data that follows. (The length includes the two bytes for the length, but not the two bytes for the marker.) Some markers are followed by entropy-coded data; the length of such a marker does not include the entropy-coded data. Note that consecutive 0xFF bytes are used as fill bytes for padding purposes (see JPEG specification section B.1.2.3 for details).

Within the entropy-coded data, after any 0xFF byte, a 0x00 byte is inserted by the encoder before the next byte, so that there does not appear to be a marker where none is intended. Decoders must skip this 0x00 byte. This technique, called byte stuffing, is only applied to the entropy-coded data, not to marker payload data.

Common JPEG markers
Short name Bytes Payload Name Comments
SOI 0xFFD8 none Start Of Image 
SOF0 0xFFC0 variable size Start Of Frame (Baseline DCT) Indicates that this is a baseline DCT-based JPEG, and specifies the width, height, number of components, and component subsampling (e.g., 4:2:0).
SOF2 0xFFC2 variable size Start Of Frame (Progressive DCT) Indicates that this is a progressive DCT-based JPEG, and specifies the width, height, number of components, and component subsampling (e.g., 4:2:0).
DHT 0xFFC4 variable size Define Huffman Table(s) Specifies one or more Huffman tables.
DQT 0xFFDB variable size Define Quantization Table(s) Specifies one or more quantization tables.
DRI 0xFFDD 2 bytes Define Restart Interval Specifies the interval between RSTn markers, in macroblocks.
SOS 0xFFDA variable size Start Of Scan Begins a top-to-bottom scan of the image. In baseline DCT JPEG images, there is generally a single scan. Progressive DCT JPEG images usually contain multiple scans. This marker specifies which slice of data it will contain, and is immediately followed by entropy-coded data.
RSTn 0xFFDn none Restart Inserted every r macroblocks, where r is the restart interval set by a DRI marker. Not used if there was no DRI marker. n, the low 4 bits of the marker code, cycles from 0 to 7. Note: to avoid confusing these with the end of image marker 0xFFD9 etc, it's necessary to check that the pseudo code condition ((uint8)marker & 0xF0)

0xD0 && ((uint8)marker & 0x0F) <= 7 is met.

APPn 0xFFEn variable size Application-specific For example, an Exif JPEG file uses an APP1 marker to store metadata, laid out in a structure based closely on TIFF.
COM 0xFFFE variable size Comment Contains a text comment.
EOI 0xFFD9 none End Of Image 


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

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.

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. Since the runs of macroblocks between restart markers may be independently decoded, these runs may be decoded in parallel.

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:
  1. The representation of the colors in the image is converted from RGB
    RGB color model

    The RGB color model is an additive color in which red, green, and blue light are added together in various ways to reproduce a broad array of colors....
     to YCbCr
    YCbCr

    YCbCr or Y'CbCr is a family of color spaces used as a part of the Color image pipeline in video and digital photography systems. Y' is the Luma component and Cb and Cr are the blue-difference and red-difference chrominance components....
    , consisting of one luma
    Luma (video)

    As applied to video signals, luma represents the brightness in an image . Luma is typically paired with Chrominance. Luma represents the achromatic image without any color, while the chroma components represent the color information....
     component (Y), representing brightness, and two chroma
    Chrominance

    Chrominance , is the signal used in video systems to convey the color information of the picture, separately from the accompanying luma signal....
     components, (Cb and Cr), representing color. This step is sometimes skipped.
  2. 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.
  3. The image is split into blocks of 8×8 pixels, and for each block, each of the Y, Cb, and Cr data undergoes a discrete cosine transform
    Discrete cosine transform

    A discrete cosine transform expresses a sequence of finitely many data points in terms of a sum of cosine functions oscillating at different frequency....
     (DCT). A DCT is similar to a Fourier transform
    Fourier transform

    In mathematics, Fourier analysis is a subject area which grew out of the study of Fourier series. The subject began with trying to understand when it was possible to represent general functions by sums of simpler trigonometric functions....
     in the sense that it produces a kind of spatial frequency spectrum.
  4. The amplitudes of the frequency components are quantized
    Quantization

    Quantization is the procedure of constraining something from a continuous set of values to a discrete set . Quantization in specific domains is discussed in:...
    . Human vision is much more sensitive to small variations in color or brightness over large areas than to the strength of high-frequency brightness variations. Therefore, the magnitudes of the high-frequency components are stored with a lower accuracy than the low-frequency components. 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. If an excessively low quality setting is used, the high-frequency components are discarded altogether.
  5. The resulting data for all 8×8 blocks is further compressed with a loss-less algorithm, a variant of Huffman encoding.
The decoding process reverses these steps. In the remainder of this section, the encoding and decoding processes are described in more detail.

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 red, green, and blue
RGB color model

The RGB color model is an additive color in which red, green, and blue light are added together in various ways to reproduce a broad array of colors....
). This particular option is a lossy data compression
Lossy data compression

A lossy compression method is one where data compression and then decompressing it retrieves data that may well be different from the original, but is close enough to be useful in some way....
 method.

Color space transformation
First, the image should be converted from RGB
RGB color model

The RGB color model is an additive color in which red, green, and blue light are added together in various ways to reproduce a broad array of colors....
 into a different color space
Color space

A color model is an abstract mathematical model describing the way colors can be represented as tuples of numbers, typically as three or four values or color components ....
 called YCbCr
YCbCr

YCbCr or Y'CbCr is a family of color spaces used as a part of the Color image pipeline in video and digital photography systems. Y' is the Luma component and Cb and Cr are the blue-difference and red-difference chrominance components....
. It has three components Y, Cb and Cr: the Y component represents the brightness of a pixel, the Cb and Cr components represent the chrominance
Chrominance

Chrominance , is the signal used in video systems to convey the color information of the picture, separately from the accompanying luma signal....
 (split into blue and red components). This is the same color space as used by digital color television
Digital television

Digital television is the sending and receiving of moving images and sound by Discrete signal signals, in contrast to the Analog television used by analog TV....
 as well as digital video including video DVDs, and is similar to the way color is represented in analog PAL
PAL

PAL, short for Phase Alternating Line, is a color-encoding system used in broadcast television systems in large parts of the world. Other common analog television systems are SECAM and NTSC....
 video and MAC
Multiplexed Analogue Components

Multiplexed Analogue Components was a satellite television transmission standard, originally proposed for use on a Europe-wide terrestrial HDTV system, although it was never used terrestrially....
 but not by analog NTSC
NTSC

NTSC is the analog television system used in most of the Americas, Japan, South Korea, Taiwan, the Philippines, Burma, and some Pacific island nations and territories ....
, which uses the YIQ
YIQ

YIQ is the color space used by the NTSC color TV system, employed mainly in North America and Central America, and Japan. In the United States, currently federally mandated for analog over-the-air TV broadcasting as shown in this excerpt of the current FCC rules and regulations part 73 "TV transmission standard":...
 color space. The YCbCr color space conversion allows greater compression without a significant effect on perceptual image quality (or greater perceptual image quality for the same compression). The compression is more efficient as the brightness information, which is more important to the eventual perceptual quality of the image, is confined to a single channel, more closely representing the human visual system.

This conversion to YCbCr 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
RGB color model

The RGB color model is an additive color in which red, green, and blue light are added together in various ways to reproduce a broad array of colors....
, where the image is stored in separate channels for red, green and blue luminance. This results in less efficient compression, and would not likely be used if file size was an issue.

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 color of an image (the Cb and Cr components). Using this knowledge, encoders can be designed to compress images more efficiently.

The transformation into the YCbCr color model
YCbCr

YCbCr or Y'CbCr is a family of color spaces used as a part of the Color image pipeline in video and digital photography systems. Y' is the Luma component and Cb and Cr are the blue-difference and red-difference chrominance components....
 enables the next step, which is to reduce the spatial resolution of the Cb and Cr components (called "downsampling
Downsampling

In signal processing, downsampling is the process of Sample rate conversion of a signal . This is usually done to reduce the data signaling rate or the size of the data....
" or "chroma subsampling
Chroma subsampling

Chroma subsampling is the practice of encoding images by implementing less resolution for Chrominance information than for luma information. It is used in many video encoding schemes?both analog and digital?and also in JPEG encoding....
"). The ratios at which the downsampling can be done on JPEG are 4:4:4 (no downsampling), 4:2:2 (reduce by factor of 2 in horizontal direction), and most commonly 4:2:0 (reduce by factor of 2 in horizontal and vertical directions). For the rest of the compression process, Y, Cb and Cr are processed separately and in a very similar manner.

Block splitting
After subsampling
Chroma subsampling

Chroma subsampling is the practice of encoding images by implementing less resolution for Chrominance information than for luma information. It is used in many video encoding schemes?both analog and digital?and also in JPEG encoding....
, each channel
Channel (digital image)

Color digital images are made of pixels, and pixels are made of combinations of primary colors. A channel in this context is the grayscale image of the same size as a color image, made of just one of these primary colors....
 must be split into 8×8 blocks of pixels. 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 edge pixels with a fixed color (typically black) creates ringing artifacts along the visible part of the border; repeating the edge pixels is a common technique that reduces the visible border, but it can still create artifacts.

Discrete cosine transform

Next, each component (Y, Cb, Cr) of each 8×8 block is converted to a frequency-domain representation, using a normalized, two-dimensional type-II discrete cosine transform
Discrete cosine transform

A discrete cosine transform expresses a sequence of finitely many data points in terms of a sum of cosine functions oscillating at different frequency....
 (DCT).

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

Before computing the DCT of the subimage, its gray values are shifted from a positive range to one centered around zero. For an 8-bit image each pixel has 256 possible values: . To center around zero it is necessary to subtract by half the number of possible values, or 128.

Subtracting 128 from each pixel value yields pixel values on

The next step is to take the two-dimensional DCT, which is given by:

Dctjpeg


where
  • is the horizontal spatial frequency
    Spatial frequency

    In mathematics, physics, and engineering, spatial frequency is a characteristic of any structure that is periodic across position in space. The spatial frequency is a measure of how often the structure repeats per unit of distance....
    , for the integers .
  • is the vertical spatial frequency, for the integers .
  • is a normalizing function
  • is the pixel value at coordinates
  • is the DCT coefficient at coordinates


If we perform this transformation on our matrix above, and then round to the nearest integer, we get

Note the rather large value of the top-left corner. This is the DC coefficient
DC coefficient

When describing a periodic function in the frequency domain, the DC bias, DC component, or DC coefficient is the mean value of the waveform ....
. The remaining 63 coefficients are called the AC coefficients. The advantage of the DCT is its tendency to aggregate most of the signal in one corner of the result, as may be seen above. The quantization step to follow accentuates this effect while simultaneously reducing the overall size of the DCT coefficients, resulting in a signal that is easy to compress efficiently in the entropy stage.

The DCT temporarily increases the bit-depth of the image, since the DCT coefficients of an 8-bit/component image take up to 11 or more bits (depending on fidelity of the DCT calculation) to store. This may force the codec to temporarily use 16-bit bins to hold these coefficients, doubling the size of the image representation at this point; they are typically reduced back to 8-bit values by the quantization step. The temporary increase in size at this stage is not a performance concern for most JPEG implementations, because typically only a very small part of the image is stored in full DCT form at any given time during the image encoding or decoding process.

Quantization
The human eye is good at seeing small differences in brightness
Brightness

Brightness is an attribute of visual perception in which a source appears to be radiating or reflecting light. In other words, brightness is the perception elicited by the luminance of a visual target....
 over a relatively large area, but not so good at distinguishing the exact strength of a high frequency brightness variation. This allows one to greatly reduce the amount of information in the high frequency components. This is done by simply dividing each component in the frequency domain by a constant for that component, and then rounding to the nearest integer. This is the main lossy operation in the whole process. As a result of this, it is typically the case that many of the higher frequency components are rounded to zero, and many of the rest become small positive or negative numbers, which take many fewer bits to store.

A typical quantization matrix, as specified in the original JPEG Standard, is as follows:

The quantized DCT coefficients are computed with

where is the unquantized DCT coefficients; is the quantization matrix above; and is the quantized DCT coefficients. (Note that this is in no way matrix multiplication
Matrix multiplication

In mathematics, matrix multiplication is the operation of multiplying a matrix with either a scalar or another matrix. This article gives an overview of the various ways to perform matrix multiplication....
.)

Using this quantization matrix with the DCT coefficient matrix from above results in:

For example, using -415 (the DC coefficient) and rounding to the nearest integer

Entropy coding
Entropy coding is a special form of lossless data compression
Lossless data compression

Lossless data compression is a class of data compression algorithms that allows the exact original data to be reconstructed from the compressed data....
. It involves arranging the image components in a "zigzag
Zigzag

A zigzag is a pattern made up of small corners at variable angles, though constant within the zigzag, tracing a path between two parallel lines; it can be described as both jagged and fairly regular....
" order employing run-length encoding
Run-length encoding

Run-length encoding is a very simple form of data compression in which runs of data are stored as a single data value and count, rather than as the original run....
 (RLE) algorithm that groups similar frequencies together, inserting length coding zeros, and then using Huffman coding
Huffman coding

In computer science and information theory, Huffman coding is an entropy encoding algorithm used for lossless data compression. The term refers to the use of a variable-length code table for encoding a source symbol where the variable-length code table has been derived in a particular way based on the estimated probability of occurrence for...
 on what is left.

The JPEG standard also allows, but does not require, the use of arithmetic coding
Arithmetic coding

Arithmetic coding is a method for lossless data compression. Normally, a string of characters such as the words "hello there" is represented using a fixed number of bits per character, as in the American Standard Code for Information Interchange code....
, which is mathematically superior to Huffman coding. However, this feature is rarely used as it is covered by patent
Patent

A patent is a set of exclusive rights granted by a state to an inventor or his assignee for a term of patent in exchange for a disclosure of an invention....
s and because it is much slower to encode and decode compared to Huffman coding. Arithmetic coding typically makes files about 5% smaller.

The zigzag sequence for the above quantized coefficients are shown below. (The format shown is just for ease of understanding/viewing.)

If the i-th block is represented by Bi and positions within each block are represented by (p,q) where p = 0, 1, ..., 7 and q = 0, 1, ..., 7, then any coefficient in the DCT image can be represented as Bi(p,q). Thus, in the above scheme, the order of encoding pixels (for the i-th block) is Bi(0,0), Bi(0,1), Bi(1,0), Bi(2,0), Bi(1,1), Bi(0,2), Bi(0,3), Bi(1,2) and so on.

This encoding mode is called baseline sequential encoding. Baseline JPEG also supports progressive encoding. While sequential encoding encodes coefficients of a single block at a time (in a zigzag manner), progressive encoding encodes similar-positioned coefficients of all blocks in one go, followed by the next positioned coefficients of all blocks, and so on. So, if the image is divided into N 8×8 blocks , then progressive encoding encodes Bi(0,0) for all blocks, i.e., for all i = 0, 1, 2, ..., N-1. This is followed by encoding Bi(0,1) coefficient of all blocks, followed by Bi(1,0)-th coefficient of all blocks, then Bi(0,2)-th coefficient of all blocks, and so on. It should be noted here that once all similar-positioned coefficients have been encoded, the next position to be encoded is the one occurring next in the zigzag traversal as indicated in the figure above. It has been found that Baseline Progressive JPEG encoding usually gives better compression as compared to Baseline Sequential JPEG due to the ability to use different Huffman tables (see below) tailored for different frequencies on each "scan" or "pass" (which includes similar-positioned coefficients), though the difference is not too large.

In the rest of the article, it is assumed that the coefficient pattern generated is due to sequential mode.

In order to encode the above generated coefficient pattern, JPEG uses Huffman encoding. JPEG has a special Huffman code word for ending the sequence prematurely when the remaining coefficients are zero.

Using this special code word: "EOB", the sequence becomes:

JPEG's other code words represent combinations of (a) the number of significant bits of a coefficient, including sign, and (b) the number of consecutive zero coefficients that follow it. (Once you know how many bits to expect, it takes 1 bit to represent the choices , 2 bits to represent the choices , and so forth.) In our example block, most of the quantized coefficients are small numbers that are not followed immediately by a zero coefficient. These more-frequent cases will be represented by shorter code words.

The JPEG standard provides general-purpose Huffman tables; encoders may also choose to generate Huffman tables optimized for the actual frequency distributions in images being encoded.

Compression ratio and artifacts


Jpegvergroessert
The resulting compression ratio can be varied according to need by being more or less aggressive in the divisors used in the quantization phase. Ten to one compression usually results in an image that cannot be distinguished by eye from the original. 100 to one compression is usually possible, but will look distinctly artifacted
Compression artifact

A compression artifact is the result of an aggressive data compression scheme applied to an , Sound recording, or video that discards some data that may be too complex to store in the available data-rate, or may have been incorrectly determined by an algorithm to be of little subjective importance, but is in fact objectionable to the view...
 compared to the original. The appropriate level of compression depends on the use to which the image will be put.

Those who use the World Wide Web
World Wide Web

The World Wide Web is a very large set of interlinked hypertext documents accessed via the Internet. With a Web browser, one can view Web pages that may contain writing, s, videos, and other multimedia and navigate between them using hyperlinks....
 may be familiar with the irregularities known as compression artifact
Compression artifact

A compression artifact is the result of an aggressive data compression scheme applied to an , Sound recording, or video that discards some data that may be too complex to store in the available data-rate, or may have been incorrectly determined by an algorithm to be of little subjective importance, but is in fact objectionable to the view...
s (commonly known as 'jaggies') that appear in JPEG images. These are due to the quantization step of the JPEG algorithm. They are especially noticeable around sharp corners between contrasting colours (text is a good example as it contains many such corners). They can be reduced by choosing a lower level of compression
Image compression

Image compression is the application of Data compression on digital images. In effect, the objective is to reduce redundancy of the image data in order to be able to store or data transmission data in an efficient form....
; they may be eliminated by saving an image using a lossless
Lossless data compression

Lossless data compression is a class of data compression algorithms that allows the exact original data to be reconstructed from the compressed data....
 file format, though for photographic images this will usually result in a larger file size. Compression artifacts make low-quality JPEGs unacceptable for storing heightmap
Heightmap

In computer graphics, a heightmap or heightfield is a raster graphics used to store values, such as surface elevation data, for display in 3D computer graphics....
s. The images created with ray-tracing programs have noticeable blocky shapes on the terrain. Compression artifacts are acceptable when the images are used for visualization purpose. Unfortunately subsequent processing of these images usually result in unacceptable artifacts.

Image Lossless Compression Lossy Compression
Original
Processed by
Canny edge detector


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.

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
Matrix of ones

In mathematics, a matrix of ones is a Matrix where every element is equal to one. Examples of standard notation are given below:In special contexts, the term unit matrix is used as a synonym for "matrix of ones" This is done whenever it is clear that "unit matrix" does not refer to the identity matrix....
, information will still be lost in the rounding step.

Decoding

Decoding to display the image consists of doing all the above in reverse.

Taking the DCT coefficient matrix (after adding the difference of the DC coefficient back in)

and taking the entry-for-entry product with the quantization matrix from above results in

which closely resembles the original DCT coefficient matrix for the top-left portion. Taking the inverse DCT (type-III DCT) results in an image with values (still shifted down by 128)

and adding 128 to each entry

This is the uncompressed subimage and can be compared to the original subimage (also see images to the right) by taking the difference (original - uncompressed) results in error values

with an average absolute error of about 5 values per pixels (i.e., ).

The error is most noticeable in the bottom-left corner where the bottom-left pixel becomes darker than the pixel to its immediate right.

Required precision

The JPEG encoding does not fix the precision needed for the output compressed image. On the contrary, the JPEG standard (as well as the derived MPEG standards) have very strict precision requirements for the decoding, including all parts of the decoding process (variable length decoding, inverse DCT, dequantization, renormalization of outputs); the output from the reference algorithm must not exceed:
  • a maximum 1 bit of difference for each pixel component
  • low mean square error over each 8×8-pixel block
  • very low meanerror over each 8×8-pixel block
  • very low mean square error over the whole image
  • extremely low meanerror over the whole image
These assertions are tested on a large set of randomized input images, to handle the worst cases. Look at the IEEE 1880-1990 standard for reference. This has a consequence on the implementation of decoders, and it is extremely critical because some encoding processes (notably used for encoding sequences of images like MPEG) need to be able to construct, on the encoder side, a reference decoded image. In order to support 8-bit precision per pixel component output, dequantization and inverse DCT transforms are typically implemented with at least 14-bit precision in optimized decoders.

Effects of JPEG compression

JPEG compression artifacts blend well into photographs with detailed non-uniform textures, allowing higher compression ratios. Notice how a higher compression ratio first affects the high-frequency textures in the upper-left corner of the image, and how the contrasting lines become more fuzzy. The very high compression ratio severely affects the quality of the image, although the overall colors and image form are still recognizable. However, the precision of colors suffer less (for a human eye) than the precision of contours (based on luminance). This justifies the fact that images should be first transformed in a color model separating the luminance from the chromatic information, before subsampling the chromatic planes (which may also use lower quality quantization) in order to preserve the precision of the luminance plane with more information bits.

Sample photographs

For information, the uncompressed 24-bit RGB bitmap image below (73,242 pixels) would require 219,726 bytes (excluding all other information headers). The filesizes indicated below include the internal JPEG information headers and some meta-data. For full quality images (Q=100), about 8.25 bits per color pixel is required. On grayscale images, a minimum of 6.5 bits per pixel is enough (a comparable Q=100 quality color information requires about 25% more encoded bits). The full quality image below (Q=100) is encoded at 9 bits per color pixel, the medium quality image (Q=25) uses 1 bit per color pixel. For most applications, the quality factor should not go below 0.75 bit per pixel (Q=12.5), as demonstrated by the low quality image. The image at lowest quality uses only 0.13 bit per pixel, and displays very poor color, it could only be usable after subsampling to a much lower display size.

align="bottom"| NOTE: The above images are not IEEE
Institute of Electrical and Electronics Engineers

The Institute of Electrical and Electronics Engineers or IEEE is an international non-profit, professional body for the advancement of technology related to electricity....
 / CCIR
ITU-R

The ITU Radiocommunication Sector is one of the three sectors of the International Telecommunication Union and is responsible for radio communication....
 / EBU
European Broadcasting Union

The European Broadcasting Union is a confederation of 75 broadcasting organisations from 56 countries, and 43 associate broadcasters from a further 25....
 test images
Standard test image

A standard test image is a digital image file used across different institutions to test and algorithms. By using the same standard test images, different labs are able to compare results, both visually and quantitatively....
, and the encoder settings are not specified or available.
Image Quality Size (bytes) Compression Ratio Comment
Jpeg Example Jpg Rip 100
Full quality (Q = 100) 83,261 2.6:1 Extremely minor artifacts
Jpeg Example Jpg Rip 050
Average quality (Q = 50) 15,138 15:1 Initial signs of subimage artifacts
Jpeg Example Jpg Rip 025
Medium quality (Q = 25) 9,553 23:1 Stronger artifacts; loss of high resolution information
Jpeg Example Jpg Rip 010
Low quality (Q = 10) 4,787 46:1 Severe high frequency loss; artifacts on subimage boundaries ("macroblocking") are obvious
Jpeg Example Jpg Rip 001
Lowest quality (Q = 1) 1,523 144:1 Extreme loss of color and detail; the leaves are nearly unrecognizable


The medium quality photo uses only 4.3% of the storage space but has little noticeable loss of detail or visible artifacts. However, once a certain threshold of compression is passed, compressed images show increasingly visible defects. See the article on rate distortion theory
Rate distortion theory

Rate?distortion theory is a major branch of information theory which provides the theoretical foundations for lossy data compression; it addresses the problem of determining the minimal amount of entropy R that should be communicated over a channel, so that the source can be approximately reconstructed at the receiver without exceeding...
 for a mathematical explanation of this threshold effect.

Lossless further compression



From 2004 to 2008, new research has emerged on ways to further compress the data contained in JPEG images without modifying the represented image. This has applications in scenarios where the original image is only available in JPEG format, and its size needs to be reduced for archival or transmission. Standard general-purpose compression tools cannot significantly compress JPEG files.

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

  • Correlations between magnitudes of adjacent coefficients in the same block;
  • Correlations between magnitudes of the same coefficient in adjacent blocks;
  • Correlations between magnitudes of the same coefficient/block in different channels;
  • The DC coefficients when taken together resemble a downscale version of the original image multiplied by a scaling factor. Well-known schemes for lossless coding of continuous-tone images can be applied, achieving somewhat better compression than the Huffman coded DPCM
    Dpcm

    Dots per centimetre or dpcm is a unit of , used as a metric alternative to dots per inch/dpi.It is used in Cascading Style Sheets media queries, among other standards....
     used in JPEG.


Some standard but rarely-used options already exist in JPEG to improve the efficiency of coding DCT coefficients: the arithmetic coding
Arithmetic coding

Arithmetic coding is a method for lossless data compression. Normally, a string of characters such as the words "hello there" is represented using a fixed number of bits per character, as in the American Standard Code for Information Interchange code....
 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). Modern methods have improved on these techniques by reordering coefficients to group coefficients of larger magnitude together; using adjacent coefficients and blocks to predict new coefficient values; dividing blocks or coefficients up among a small number of independently coded models based on their statistics and adjacent values; and most recently, by decoding blocks, predicting subsequent blocks in the spatial domain, and then encoding these to generate predictions for DCT coefficients.

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

A freely-available tool called packJPG is based on the 2007 paper "Improved Redundancy Reduction for JPEG Files." There are also at least two companies selling proprietary tools with similar capabilities, Infima's JPACK and Smith Micro Software
Smith Micro Software

Smith Micro Software, Inc. , founded in 1983 by William W. Smith, Jr. is a diversified developer and marketer of both enterprise and consumer-level software solutions and services....
's StuffIt
StuffIt

StuffIt is a family of computer software utilities for archiving and compressing computer file on the Macintosh and Microsoft Windows platforms: it was originally produced for the Macintosh....
, both of which claim to have pending patents on their respective technologies.

Derived formats

  • JPEG Stereoscopic (JPS, extension .jps) is a JPEG-based format for stereoscopic
    Stereoscopy

    Stereoscopy, stereoscopic imaging or 3-D imaging is any technique capable of recording three-dimensional visual information or creating the stereopsis in an image....
     images. It contains two images of identical size side by side, one for each eye.


Patent issues

In 2002 Forgent Networks
Forgent Networks

Asure Software is a software company which has licensing as its primary revenue source. Prior to September 13, 2007, the company was known as Forgent Networks....
 asserted that it owned and would enforce patent
Patent

A patent is a set of exclusive rights granted by a state to an inventor or his assignee for a term of patent in exchange for a disclosure of an invention....
 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
Unisys

Unisys Corporation , based in Blue Bell, Pennsylvania, Pennsylvania, United States, and incorporated in Delaware, is a global provider of information technology services and programs....
' attempts to assert its rights over the GIF image compression standard.

The JPEG committee investigated the patent claims in 2002 and were of the opinion that they were invalidated by prior art
Prior art

Prior art , in most systems of patent law, constitutes all information that has been made available to the public in any form before a given date that might be relevant to a patent's claims of originality....
. Others also concluded that Forgent did not have a patent that covered JPEG. Nevertheless, between 2002 and 2004 Forgent was able to obtain about US$105 million by licensing their patent to some 30 companies. In April 2004, Forgent sued 31 other companies to enforce further license payments. In July of the same year, a consortium of 21 large computer companies filed a countersuit, with the goal of invalidating the patent. In addition, Microsoft launched a separate lawsuit against Forgent in April 2005. In February 2006, the United States Patent and Trademark Office
United States Patent and Trademark Office

The United States Patent and Trademark Office is an agency in the United States Department of Commerce that issues patents to inventors and businesses for their inventions, and trademark registration for product and intellectual property identification....
 agreed to re-examine Forgent's JPEG patent at the request of the Public Patent Foundation
Public Patent Foundation

Public Patent Foundation, or PUBPAT, is a nonprofit organization that seeks to limit perceived abuse of the United States patent law. It was founded in 2003 by Dan Ravicher....
. On May 26, 2006 the USPTO found the patent invalid based on prior art. The USPTO also found that Forgent knew about the prior art
Prior art

Prior art , in most systems of patent law, constitutes all information that has been made available to the public in any form before a given date that might be relevant to a patent's claims of originality....
, and did not tell the Patent Office, making any appeal to reinstate the patent highly unlikely to succeed.

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

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.

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
JPEG 2000

JPEG 2000 is a wavelet-based standard. It was created by the Joint Photographic Experts Group committee in the year 2000 with the intention of superseding their original discrete cosine transform-based JPEG standard ....
 standard from over 20 large organizations.

Beginning in August 2007, another company, Global Patent Holdings, LLC claimed that its patent , is infringed by the downloading of JPEG images on either a website or through e-mail. If not invalidated, this patent could apply to any website that displays JPEG images. The patent emerged in July 2007 following a seven-year reexamination by the U.S. Patent and Trademark Office in which all of the original claims of the patent were revoked, but an additional claim (claim 17) was confirmed. 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. A third lawsuit was filed on December 5, 2007 in Southern Florida against ADT Security Services, AutoNation, Florida Crystals Corp., HearUSA, MovieTickets.com, Ocwen Financial Corp. and Tire Kingdom, and a fourth lawsuit on January 8, 2008 in Southern Florida against the Boca Raton Resort & Club. A fifth lawsuit was filed against Global Patent Holdings in Nevada. That lawsuit was filed by Zappos.com, Inc., who was allegedly threatened by Global Patent Holdings, and seeks a judicial declaration that the '341 patent is invalid and not infringed. The patent owner has also used the 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. On March 5, 2008, the U.S. Patent and Trademark Office agreed to reexamine the '341 patent, finding that the new prior art raised substantial new questions regarding the patent's validity. In light of the reexamination, the accused infringers in four of the five pending lawsuits have filed motions to suspend (stay) their cases until completion of the U.S. Patent and Trademark Office's review of the '341 patent. On April 23, 2008, a judge presiding over the two lawsuits in Chicago, Illinois granted the motions in those cases. On July 22, 2008, the Patent Office issued the first "Office Action" of the second reexamination, finding the claim invalid based on nineteen separate grounds.

Standards

  • JPEG (lossy and lossless): ITU-T T.81, ISO/IEC IS 10918-1
  • JPEG (extensions): ITU-T T.84
  • JPEG-LS
    JPEG-LS

    The Joint Photographic Experts Group, in addition to their well-known lossy image compression techniques, JPEG and JPEG 2000, also have three standards for lossless compression ....
     (lossless, improved): ITU-T T.87, ISO/IEC IS 14495-1
  • JBIG
    JBIG

    JBIG is a Lossless data compression standard from the Joint Bi-level Image Experts Group, standardized as International Organization for Standardization/International Electrotechnical Commission standard 11544 and as ITU-T recommendation T.82....
     (black and white pictures): ITU-T T.82, ISO/IEC IS 11544-1
  • JPEG 2000
    JPEG 2000

    JPEG 2000 is a wavelet-based standard. It was created by the Joint Photographic Experts Group committee in the year 2000 with the intention of superseding their original discrete cosine transform-based JPEG standard ....
     (successor of JPEG/JPEG-LS): ITU-T T.800, ISO/IEC IS 15444-1
  • JPEG-2000 (extensions): ITU-T T.801
  • JPEG XR (formerly called HD Photo) undergoing final voting as ISO/IEC 29199-2


See also

  • Image compression
    Image compression

    Image compression is the application of Data compression on digital images. In effect, the objective is to reduce redundancy of the image data in order to be able to store or data transmission data in an efficient form....
  • Image file formats
    Image file formats

    Image file formats are standardized means of organizing and storing images. This entry is about digital image formats used to store photographic and other images; ....
  • Comparison of graphics file formats
    Comparison of graphics file formats

    This is a comparison of ....
  • Windows Picture and Fax Viewer
    Windows Picture and Fax Viewer

    Windows Picture and Fax Viewer is an developed by Microsoft that is included with the Windows XP and Windows Server 2003 operating systems. It is based on GDI+ and is capable of viewing image formats supported by GDI+, namely, JPEG, BMP file format, Portable Network Graphics, Graphics Interchange Format , ICO , Windows Metafile, Windows Met...
  • Exchangeable image file format
    Exchangeable image file format

    Exchangeable image file format is a specification for the file format used by digital cameras. The specification uses the existing JPEG, TIFF Rev....
     (Exif)
  • JPEG File Interchange Format
    JPEG File Interchange Format

    The JPEG File Interchange Format is an standard. It is a format for exchanging JPEG encoded files compliant with the JPEG standard. It solves some of JIFs limitations in regard to simple JPEG encoded file interchange....
     (JFIF)
  • Design rule for Camera File system
    Design rule for Camera File system

    Design rule for Camera File system is a Japan Electronics and Information Technology Industries Association specification which defines a file format and file system for digital cameras, including the directory structure, file naming method, character set, file format, and metadata format....
     (DCF)
  • JPEG 2000
    JPEG 2000

    JPEG 2000 is a wavelet-based standard. It was created by the Joint Photographic Experts Group committee in the year 2000 with the intention of superseding their original discrete cosine transform-based JPEG standard ....
  • Motion JPEG
  • Graphics editing program
  • GDI+ vulnerability section of GDI article
    Graphics Device Interface

    The Graphics Device Interface is a Microsoft Windows application programming interface and core operating system component that is responsible for representing graphical objects and transmitting them to output devices such as computer display and computer printer....
    , exploitable bug in JPEG handling code of GDI+ library
  • Comparison of layout engines (graphics)
    Comparison of layout engines (graphics)

    The following tables compare computer graphics compatibility and support for a number of layout engines. Please see the individual products' articles for further information....
  • Generation loss
    Generation loss

    Generation loss refers to the loss of quality and potential increase of file size between subsequent Copying of data. Anything that reduces the quality of the representation when copying, and would cause further reduction in quality on making a copy of the copy, can be considered a form of generation loss....
  • PGF
    Progressive Graphics File

    PGF is a wavelet-based Raster graphics Graphics file format that employs lossless data compression and lossy data compression. PGF was created to improve upon and replace the JPEG format....
  • PNG
  • Lossless Image Codec FELICS
    FELICS

    FELICS, which stands for Fast Efficient & Lossless Image Compression System, is a lossless data compression algorithm, that performs 5-times faster...
  • C-Cube
    C-Cube

    C-Cube Microsystems was a pioneer in video compression technology as well as the implementation of that technology into cost-effective semiconductors....
     an early implementer of JPEG in chip form
  • Libjpeg
    Libjpeg

    libjpeg is a library written entirely in C which contains a widely-used implementation of a JPEG decoder, JPEG encoder and other JPEG utilities....
     of Independent JPEG Group
  • Deblocking filter (video)
    Deblocking filter (video)

    A deblocking filter is applied to blocks in decoded video to improve visual quality and prediction performance by smoothing the sharp edges which can form between blocks when discrete cosine transform techniques are used....
    , the similar deblocking methods could be applied to JPEG
  • Lenna
    Lenna

    Lenna or Lena is the name given to a standard test image originally cropped from a Playboy magazine centerfold picture of Lena S?derberg, a Swedish ethnic group model who posed Nudity for the November 1972 issue....
    , the traditional standard image used to test image processing algorithms


External links

  • at W3.org
  • at W3.org
  • on the JPEG format
  • at visengi.com