250 likes | 636 Views
JPEG Still Image Data Compression Standard. JPEG Introduction - The background. JPEG stands for Joint Photographic Expert Group A standard image compression method is needed to enable interoperability of equipment from different manufacturer
E N D
JPEG Introduction - The background • JPEG stands for Joint Photographic Expert Group • A standard image compression method is needed to enable interoperability of equipment from different manufacturer • It is the first international digital image compression standard for continuous-tone images (grayscale or color) • Why compression is needed? • Ex) VGA(640x480) 640x480x8x3=7,372,800bits with compression 200,000bits without any visual degradation
JPEG Introduction – what’s the objective? • “very good” or “excellent” compression rate, reconstructed image quality, transmission rate • be applicable to practically any kind of continuous-tone digital source image • good complexity • have the following modes of operations: • sequential encoding • Progressive encoding • lossless encoding
entropy encoder compressed image data Source image data descriptors symbols encoder statistical model Encoder model model tables entropy coding tables The basic parts of an JPEG encoder JPEG Overview
statistical model entropy encoder quantizer 88 blocks DCT-based encoder compressed image data FDCT Source image data table specification table specification The basic architecture of JPEG Baseline system JPEG Baseline System JPEG Baseline system is composed of: • Sequential DCT-based mode • Huffman coding
JPEG Baseline System – Why does it work? Frequency sensitivity of Human Visual System • Lossy encoding • HVS is generally more sensitive to low frequencies • Natural images
The mathematical representation of FDCT (2-D): Where f(x,y): 2-D sample value F(u,v): 2-D DCT coefficient The Baseline System – DCT • The Discrete Cosine Transform (DCT) separates the frequencies contained in an image. • The original data could be reconstructed by Inverse DCT.
An example of 1-D DCT decomposition Before DCT (image data) After DCT (coefficients) The 8 basic functions for 1-D 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 block • the upper-left corner coefficient is called the DC coefficient, which is a measure of the average of the energy of the block • Other coefficients are called AC coefficients, coefficients correspond to high frequencies tend to be zero or near zero for most natural images
The Baseline System – Quantization • Why quantization? . • to achieve further compression by representing DCT coefficients with no greater precision than is necessary to achieve the desired image quality • Generally, the “high frequency coefficients” has larger quantization values • Quantization makes most coefficients to be zero, it makes the compression system efficient, but it’s the main source that make the system “lossy” F(u,v): original DCT coefficient F’(u,v): DCT coefficient after quantization Q(u,v): quantization value
The Baseline System-Quantization (cont.) JPEG Luminance quantization table
Original image pattern After FDCT(DCT coefficients) Digitized image A simple example
A simple example(cont.) DCT coefficients Quantized coefficients
DC difference quantized DC coefficients DPCM Differential pulse code modulation Baseline System - DC coefficient coding • Since 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
Horizontal frequency Vertical frequency Baseline System - AC coefficient coding • AC coefficients are arranged into a zig-zag sequence: • 3 0 0 -3 0 -3 0 0 0 0 -1 0 -2(EOB)
Baseline System - Statistical modeling • Statistical modeling translate the inputs to a sequence of “symbols” for Huffman coding to use • Statistical 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+SSSS • symbol 2: amplitude of difference (additional bits)
Additional bits for sign and magnitude Huffman AC statistical model run-length/amplitude combinations Huffman coding of AC coefficients
JPEG 2000 • Allow efficient lossy and lossless compression within a single unified coding framework • Progressive transmission by quality, resolution, component, or spatial locality • Compressed domain processing • Region of Interest coding • JPEG2000 is NOT an extension of JPEG • Wavelet Transform • An extremely flexible bitstream structure
JPEG2000 ROI coding • Bit plane shift • Finer Quantization level used
Experiment • http://www.sfu.ca/~cjenning/toybox/hjpeg/index.html