Navigation
  • Home
  • Recent
  • Most Active
  • Popular
  • Blog
  • Credits
  • RSS
  •   Interaction
  • Register
  • Statistics
  •   Help
  • Suggestions
  • Contact Us
  • How to Edit
  • Help



  • [Edit]



    In computing, JPEG (pronounced JAY-peg; IPA: ) is a commonly used standard method of compression for photographic images. The name JPEG stands for Joint Photographic Experts Group, the name of the joint ISO/CCITT committee which created the standard. The group was organized in 1986, issuing a standard in 1992 which was approved in 1994 as ISO 10918-1. JPEG should not be confused with MPEG, the Moving Picture Experts Group, which produces compression schemes for motion pictures.

    JPEG provides for lossy compression of images (although there are variations on the standard baseline JPEG which are lossless). The file format which employs this compression is commonly also called JPEG; the most common file extension for this format is .jpg, though .jpeg, .jfif, .JPG, and .JPE are also used.

    JPEG itself specifies only how an image is transformed into a stream of bytes, not how those bytes are encapsulated in any particular storage medium. A further standard created by the Independent JPEG Group, called JFIF (JPEG File Interchange Format), specifies how to produce a file suitable for computer storage and transmission (such as over the Internet) from a JPEG stream. In common usage, when one speaks of a "JPEG file" the actual file is generally found to be JFIF, or sometimes an Exif JPEG file. There are, however, other JPEG-based file formats, such as JNG. Additionally, the TIFF format can carry JPEG data.

    JPEG/JFIF is the format most used for storing and transmitting photographs on the World Wide Web. For this application, it is preferred to formats such as GIF, which has a limit of 256 distinct colors that is insufficient for colour photographs, and PNG, which produces much larger image files for this type of image. The compression algorithm is not as well suited for line drawings and other textual or iconic graphics, and thus the PNG and GIF formats are preferred for these types of images.

    The MIME media type for JPEG is image/jpeg (defined in RFC 1341).


        JPEG
            Encoding
                Color space transformation
                Downsampling
                Discrete cosine transform
                Quantization


                Entropy coding
                Compression ratio and artifacts
                Decoding
            Color profile
            Usage
                Photographs
                Medical Imaging: JPEGs 12-bit mode
            Potential patent issues
            Standards
            See also
    NameJoint Photographic Experts Group
    ScreenshotImage:Phalaenopsis JPEG.jpg
    CaptionA photo of a flower compressed with successiv...
    Extension.jpeg, .jpg, .jpe<...
    Mimeimage/jpeg
    TypecodeJPEG
    Uniform Typepublic.jpeg
    OwnerJoint Photographic Experts Group

    top

    Encoding
    Many of the options in the JPEG standard are not commonly used. 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). This particular option is a lossy data compression method.

    top

    Color space transformation
    First, the image is converted from RGB into a different color space called YCbCr. This is the same as the color space used by PAL, MAC and Digital color television transmission but not by NTSC which uses IQ, a totally different color space based on different axes and asymmetrical bandwidth.
      The Y component represents the brightness of a pixel
      The Cb and Cr components together represent the chrominance

    top

    Downsampling
    The human eye can see more detail in the Y component than in Cb and Cr. Using this knowledge, encoders can be designed to compress images more efficiently.

    The above transformation enables the next step, which is to reduce the Cb and Cr components (called "downsampling" or "chroma subsampling"). 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.

    top

    Discrete cosine transform








    Next, each component (Y, Cb, Cr) of the image is "tiled" into sections of eight by eight pixels each, then each tile is converted to frequency space using a two-dimensional forward discrete cosine transform (DCT, type II).

    If one such 8×8 8-bit subimage is:


    egin
    52 & 55 & 61 & 66 & 70 & 61 & 64 & 73 \
    63 & 59 & 55 & 90 & 109 & 85 & 69 & 72 \
    62 & 59 & 68 & 113 & 144 & 104 & 66 & 73 \
    63 & 58 & 71 & 122 & 154 & 106 & 70 & 69 \
    67 & 61 & 68 & 104 & 126 & 88 & 68 & 70 \
    79 & 65 & 60 & 70 & 77 & 68 & 58 & 75 \
    85 & 71 & 64 & 59 & 55 & 61 & 65 & 83 \
    87 & 79 & 69 & 68 & 65 & 76 & 78 & 94
    end


    which, if we now subtract 128 from each element, results in


    egin
    -76 & -73 & -67 & -62 & -58 & -67 & -64 & -55 \
    -65 & -69 & -73 & -38 & -19 & -43 & -59 & -56 \
    -66 & -69 & -60 & -15 & 16 & -24 & -62 & -55 \
    -65 & -70 & -57 & -6 & 26 & -22 & -58 & -59 \
    -61 & -67 & -60 & -24 & -2 & -40 & -60 & -58 \
    -49 & -63 & -68 & -58 & -51 & -60 & -70 & -53 \
    -43 & -57 & -64 & -69 & -73 & -67 & -63 & -45 \
    -41 & -49 & -59 & -60 & -63 & -52 & -50 & -34
    end


    and then taking the DCT and rounding to the nearest integer results in


    egin
    -415 & -30 & -61 & 27 & 56 & -20 & -2 & 0 \
    4 & -22 & -61 & 10 & 13 & -7 & -9 & 5 \
    -47 & 7 & 77 & -25 & -29 & 10 & 5 & -6 \
    -49 & 12 & 34 & -15 & -10 & 6 & 2 & 2 \
    12 & -7 & -13 & -4 & -2 & 2 & -3 & 3 \
    -8 & 3 & 2 & -6 & -2 & 1 & 4 & 2 \
    -1 & 0 & 0 & -2 & -1 & -3 & 4 & -1 \
    0 & 0 & -1 & -4 & -1 & 0 & 1 & 2
    end


    Note the rather large value of the top-left corner. This is the DC coefficient. The remaining 63 coefficients are called the AC coefficients.


    top

    Quantization
    The human eye is good at seeing small differences in brightness over a relatively large area, but not so good at distinguishing the exact strength of a high frequency brightness variation. This fact allows one to get away with greatly reducing 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.

    A common quantization matrix is:


    egin
    16 & 11 & 10 & 16 & 24 & 40 & 51 & 61 \
    12 & 12 & 14 & 19 & 26 & 58 & 60 & 55 \
    14 & 13 & 16 & 24 & 40 & 57 & 69 & 56 \
    14 & 17 & 22 & 29 & 51 & 87 & 80 & 62 \
    18 & 22 & 37 & 56 & 68 & 109 & 103 & 77 \
    24 & 35 & 55 & 64 & 81 & 104 & 113 & 92 \
    49 & 64 & 78 & 87 & 103 & 121 & 120 & 101 \
    72 & 92 & 95 & 98 & 112 & 100 & 103 & 99
    end


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


    egin
    -26 & -3 & -6 & 2 & 2 & -1 & 0 & 0 \
    0 & -2 & -4 & 1 & 1 & 0 & 0 & 0 \
    -3 & 1 & 5 & -1 & -1 & 0 & 0 & 0 \
    -4 & 1 & 2 & -1 & 0 & 0 & 0 & 0 \
    1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
    0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
    0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
    0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
    end


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


    mathrm
    left(
    rac

    ight)

    top


    mathrm
    left(
    -25.9375

    ight)

    top


    -26




    top

    Entropy coding
    Entropy coding is a special form of lossless data compression. It involves arranging the image components in a "zigzag" order employing run-length encoding (RLE) algorithm that groups similar frequencies together, inserting length coding zeros, and then using Huffman coding on what is left.

    The JPEG standard also allows, but does not require, the use of arithmetic coding which is mathematically superior to Huffman coding. However, this feature is rarely used as it is covered by patents and because it is much slower to encode and decode compared to Huffman coding. Arithmetic coding typically makes files about 5% smaller.

    The zig-zag sequence for the above quantized coefficients would be:


    −26,

    −3, 0,

    −3, −2, −6,

    2, −4, 1, −4,

    1, 1, 5, 1, 2,

    −1, 1, −1, 2, 0, 0,

    0, 0, 0, −1, −1, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0,

    0, 0, 0, 0,

    0, 0, 0,

    0, 0,

    0

    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:

    −26,

    −3, 0,

    −3, −2, −6,

    2, −4, 1, −4,

    1, 1, 5, 1, 2,

    −1, 1, −1, 2, 0, 0,

    0, 0, 0, −1, −1, EOB

    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.

    top

    Compression ratio and artifacts





    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 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 may be familiar with the irregularities known as compression artifacts that appear in JPEG images. These are due to the quantization step of the JPEG algorithm. They are especially noticeable around eyes in pictures of faces. They can be reduced by choosing a lower level of compression; they may be eliminated by saving an image using a lossless file format, though for photographic images this will usually result in a larger file size. Compression artifacts make low-quality JPEGs unacceptable for storing heightmaps. The images created with ray-tracing programs have noticeable blocky shapes on the terrain.

    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 less artifacts. This way it is possible to make a JPEG file smaller and prettier by hand.


    top

    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)


    egin
    -26 & -3 & -6 & 2 & 2 & -1 & 0 & 0 \
    0 & -2 & -4 & 1 & 1 & 0 & 0 & 0 \
    -3 & 1 & 5 & -1 & -1 & 0 & 0 & 0 \
    -4 & 1 & 2 & -1 & 0 & 0 & 0 & 0 \
    1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
    0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
    0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
    0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
    end


    and multiplying it by the quantization matrix from above results in


    egin
    -416 & -33 & -60 & 32 & 48 & -40 & 0 & 0 \
    0 & -24 & -56 & 19 & 26 & 0 & 0 & 0 \
    -42 & 13 & 80 & -24 & -40 & 0 & 0 & 0 \
    -56 & 17 & 44 & -29 & 0 & 0 & 0 & 0 \
    18 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
    0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
    0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
    0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
    end


    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)




    egin
    -68 & -65 & -73 & -70 & -58 & -67 & -70 & -48 \
    -70 & -72 & -72 & -45 & -20 & -40 & -65 & -57 \
    -68 & -76 & -66 & -15 & 22 & -12 & -58 & -61 \
    -62 & -72 & -60 & -6 & 28 & -12 & -59 & -56 \
    -59 & -66 & -63 & -28 & -8 & -42 & -69 & -52 \
    -60 & -60 & -67 & -60 & -50 & -68 & -75 & -50 \
    -54 & -46 & -61 & -74 & -65 & -64 & -63 & -45 \
    -45 & -32 & -51 & -72 & -58 & -45 & -45 & -39
    end


    and adding 128 to each entry


    egin
    60 & 63 & 55 & 58 & 70 & 61 & 58 & 80 \
    58 & 56 & 56 & 83 & 108 & 88 & 63 & 71 \
    60 & 52 & 62 & 113 & 150 & 116 & 70 & 67 \
    66 & 56 & 68 & 122 & 156 & 116 & 69 & 72 \
    69 & 62 & 65 & 100 & 120 & 86 & 59 & 76 \
    68 & 68 & 61 & 68 & 78 & 60 & 53 & 78 \
    74 & 82 & 67 & 54 & 63 & 64 & 65 & 83 \
    83 & 96 & 77 & 56 & 70 & 83 & 83 & 89
    end


    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


    egin
    -8 & -8 & 6 & 8 & 0 & 0 & 6 & -7 \
    5 & 3 & -1 & 7 & 1 & -3 & 6 & 1 \
    2 & 7 & 6 & 0 & -6 & -12 & -4 & 6 \
    -3 & 2 & 3 & 0 & -2 & -10 & 1 & -3 \
    -2 & -1 & 3 & 4 & 6 & 2 & 9 & -6 \
    11 & -3 & -1 & 2 & -1 & 8 & 5 & -3 \
    11 & -11 & -3 & 5 & -8 & -3 & 0 & 0 \
    4 & -17 & -8 & 12 & -5 & -7 & -5 & 5
    end


    with an average absolute error of about 5 values per pixels (i.e., rac sum_^8 sum_^8 |e(x,y)| = 4.8125).

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

    top

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

    top

    Usage
    JPEG is at its best on photographs and paintings of realistic scenes with smooth variations of tone and color. In this case it usually performs much better than purely lossless methods while still giving a good looking image. In fact, it will usually produce much better results for such images than, for example, GIF, which can be lossless as long as the image contains 256 or fewer unique colors but requires severe quantization for full-color images.

    Some operations on JPEG images, such as rotation by multiples of 90°, can be performed losslessly as long as the image size is a multiple of eight pixels in both directions. One program which can do this is the jpegtran utility which comes with the reference implementation.

    top

    Photographs
    JPEG compression artifacts blend well into photographs with detailed non-uniform textures, allowing higher compression ratios.





    NOTE: The above images are not IEEE / CCIR / EBU test images, and the encoder settings are not specified or available.

    The mid-quality photo uses only one sixth 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 for a mathematical explanation of this threshold effect.

    top

    Medical Imaging: JPEGs 12-bit mode
    There are 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 very few consumer programs (including web browsers) support this rarely used JPEG format.

    top

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

    The JPEG committee investigated the patent claims in 2002 and were of the opinion that they were invalidated by prior art. 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$90 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. Surprisingly, in contrast to the other major computer companies such as Sony and Philips, Microsoft launched a major lawsuit against Forgent. 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. 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, 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 6, 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 standard from over 20 large organizations.

    top

    Standards
      JPEG (lossy and lossless): ITU-T T.81, ISO/IEC IS 10918-1
      JPEG (extensions): ITU-T T.84
      JPEG-LS (lossless, improved): ITU-T T.87, ISO/IEC IS 14495-1
      JBIG (black and white pictures): ITU-T T.82, ISO/IEC IS 11544-1
      JPEG 2000 (successor of JPEG/JPEG-LS): ITU-T T.800, ISO/IEC IS 15444-1
      JPEG-2000 (extensions): ITU-T T.801

    top

    See also
     
    Search more:
     

       
    Source Privacy License Download Contact Us Atlas
    Scientus.org Dictionary (Yet Another Wiki) RC : 1.39
    This article is licensed under the GNU Free Documentation License [copyleft]. It uses material from the Wikipedia article "JPEG". link