Jpeg ppt notes

download Jpeg ppt notes

of 24

description

JPEG Still Image Data Compression Standard

Transcript of Jpeg ppt notes

  • JPEGStill Image Data Compression StandardSchool of Computer Science, University of Central Florida,VLSI and M-5 Research Group

  • JPEG Introduction - The backgroundJPEG stands for Joint Photographic Expert GroupA standard image compression method is needed to enable interoperability of equipment from different manufacturerIt is the first international digital image compression standard for continuous-tone images (grayscale or color)The history of JPEG the selection process

  • JPEG Introduction whats the objective?very good or excellent compression rate, reconstructed image quality, transmission ratebe applicable to practically any kind of continuous-tone digital source imagegood complexityhave the following modes of operations:sequential encodingprogressive encodinglossless encodinghierarchical encoding

  • JPEG Overview

  • JPEG Overview (cont.)JPEG has the following Operation Modes:Sequential DCT-based modeProgressive DCT-based modeSequential lossless modeHierarchical modeJPEG entropy coding supports:Huffman encodingArithmetic encoding

  • JPEG Baseline System

  • JPEG Baseline SystemJPEG Baseline system is composed of:Sequential DCT-based modeHuffman coding

  • Frequency sensitivity of Human Visual SystemJPEG Baseline System Why does it work?Lossy encodingHVS is generally more sensitive to low frequenciesNatural images

    frequency

    0

    sensitivity

  • The Baseline System DCTThe Discrete Cosine Transform (DCT) separates the frequencies contained in an image.The original data could be reconstructed by Inverse DCT.

  • The Baseline System-DCT (cont.)

  • The Baseline System-DCT (cont.)The DCT coefficient values can be regarded as the relative amounts of the 2-D spatial frequencies contained in the 88 blockthe upper-left corner coefficient is called the DC coefficient, which is a measure of the average of the energy of the blockOther coefficients are called AC coefficients, coefficients correspond to high frequencies tend to be zero or near zero for most natural images

    DC coefficient

  • The Baseline System QuantizationWhy quantization? .to achieve further compression by representing DCT coefficients with no greater precision than is necessary to achieve the desired image qualityGenerally, the high frequency coefficients has larger quantization values Quantization makes most coefficients to be zero, it makes the compression system efficient, but its the main source that make the system lossyF(u,v): original DCT coefficientF(u,v): DCT coefficient after quantizationQ(u,v): quantization value

  • The Baseline System-Quantization (cont.)JPEG Luminance quantization table

    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

  • A simple example

  • A simple example(cont.)Quantized coefficientsDCT coefficients

    Sheet1

    0.2

    -0.6

    0.8

    -1

    1

    -0.8

    0.6

    -0.2

    1

    Sheet1

    U=7

    Amplitude

    Sheet2

    -10-10-101010-10-10-10

    -10101010101010-10

    1010101010101010

    1010101010101010

    1010101010101010

    1010101010101010

    -10101010101010-10

    -10-10-101010-10-10-10

    400-26000-110

    00000000

    -450-24080-100

    00000000

    -2000020000

    00000000

    -3010018040

    00000000

    Sheet3

    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

    Sheet1

    0.2

    -0.6

    0.8

    -1

    1

    -0.8

    0.6

    -0.2

    1

    Sheet1

    0

    0

    0

    0

    0

    0

    0

    0

    U=7

    Amplitude

    Sheet2

    -10-10-101010-10-10-10

    -10101010101010-10

    1010101010101010

    1010101010101010

    1010101010101010

    1010101010101010

    -10101010101010-10

    -10-10-101010-10-10-10

    30-300000

    00000000

    -30-200000

    00000000

    -10000000

    00000000

    00000000

    00000000

    Sheet3

  • Baseline System - DC coefficient codingSince most image samples have correlation and DC coefficient is a measure of the average value of a 88 block, we make use of the correlation of DC coefficients

  • Baseline System - AC coefficient codingAC coefficients are arranged into a zig-zag sequence:

  • Baseline System - Statistical modelingStatistical modeling translate the inputs to a sequence of symbols for Huffman coding to useStatistical modeling on DC coefficients:symbol 1: different size (SSSS)symbol 2: amplitude of difference (additional bits)Statistical modeling on AC coefficients:symbol 1: RUN-SIZE=16*RRRR+SSSSsymbol 2: amplitude of difference (additional bits)

  • Additional bits for sign and magnitudeHuffman AC statistical model run-length/amplitude combinationsHuffman coding of AC coefficients

  • An examples of statistical modeling

    Sheet1

    Example 1: Huffman symbol assignment to DC descriptors

    quantized DC value+8+9+8-6-8-3+3+3

    DPCM difference0+1-1-14-2+5+60

    SSSS01142330

    Additional bits--10000100101110--

    Sheet2

    -10-10-101010-10-10-10Predictors for lossless coding

    -10101010101010-10selection valueprediction strategy

    10101010101010100no prediction

    10101010101010101A

    10101010101010102B

    10101010101010103C

    -10101010101010-104A+B-C

    -10-10-101010-10-10-105A+(B-C)/2

    6B+(A-C)/2

    7(A+B)/2

    400-26000-110

    00000000

    -450-24080-100

    00000000

    -2000020000

    00000000

    -3010018040

    00000000

    Sheet3

    Sheet1

    Example 2: Huffman symbol assignment to AC descriptors

    zigzag index12345678963

    AC descriptor0000-1400+100

    RRRR42EOB

    SSSS410

    RUN-SIZE68330

    Additional bits00011--

    Sheet2

    -10-10-101010-10-10-10Predictors for lossless coding

    -10101010101010-10selection valueprediction strategy

    10101010101010100no prediction

    10101010101010101A

    10101010101010102B

    10101010101010103C

    -10101010101010-104A+B-C

    -10-10-101010-10-10-105A+(B-C)/2

    6B+(A-C)/2

    7(A+B)/2

    400-26000-110

    00000000

    -450-24080-100

    00000000

    -2000020000

    00000000

    -3010018040

    00000000

    Sheet3

  • Other Operation Modes

  • JPEG Progressive ModelWhy progressive model?Quick transmissionImage built up in a coarse-to-fine passesFirst stage: encode a rough but recognizable version of the imageLater stage(s): the image refined by successive scans till get the final imageTwo ways to do this:Spectral selection send DC, AC coefficients separatelySuccessive approximation send the most significant bits first and then the least significant bits

  • JPEG Lossless Model

    Sheet1

    0.2

    -0.6

    0.8

    -1

    1

    -0.8

    0.6

    -0.2

    1

    Sheet1

    U=7

    Amplitude

    Sheet2

    -10-10-101010-10-10-10Predictors for lossless coding

    -10101010101010-10selection valueprediction strategy

    10101010101010100no prediction

    10101010101010101A

    10101010101010102B

    10101010101010103C

    -10101010101010-104A+B-C

    -10-10-101010-10-10-105A+(B-C)/2

    6B+(A-C)/2

    7(A+B)/2

    400-26000-110

    00000000

    -450-24080-100

    00000000

    -2000020000

    00000000

    -3010018040

    00000000

    Sheet3

  • JPEG Hierarchical ModelHierarchical model is an alternative of progressive model (pyramid)Steps:filter and down-sample the original images by the desired number of multiplies of 2 in each dimensionEncode the reduced-size image using one of the above coding modelUse the up-sampled image as a prediction of the origin at this resolution, encode the differenceRepeat till the full resolution image has been encode

    --The joint in JPEG refers to collaboration between CCITT and ISO. --many continuous-tone image applications require a compression standard in order to develop significantly beyond their present state. JPEG has undertaken the ambitious task for developing a general-purpose compression standard to meet the needs of almost all continuous-tome still-image application.--From June 1987, JPEG conducted a selection process based on a blind assessment of subjective picture quality, and narrowed 12 proposed methods to three, in 1988 the a second, more rigorous selection process reveals that ADCT proposal produced the best quality. Later JPEG developed the ADCT and formalized it, so is the firstinternational still-image compression standard.--JPEG encoder and decoder makes the user to be able to change the parameters so they can control the compression/quality tradeoff. When we say a very good image quality, the compression rate must be in a acceptable level. Sequential encoding: each image component is encoded in a single left-to-right, top-to-bottom scan.Progressive encoding: the image is encoded in a multiple scans for applications in which transmission time is long, and the viewer prefers to watch the image built up in multiple coarse-to-clear passes.Loss-less encoding: the image is encoded to guarantee exact recovery of every source image sample value (even through the compression rate is low compared to the lossy modes)Hierarchical encoding: the image is encoded at multiple resolutions, so that lower-resolution versions may be accessed without first having to decompress the image at its fullresolution. A kind of Progressive encoding.In this presentation, I will only talk about how JPEG encoder works. The decoding process is simply the inverse procedure of encoding.