Title: VTI6MET1'F DIP
1International standard organizations
- ISO/IEC (International Organization for
Standardization) - Deals with information processing, e.g., image
storage en retrieval - ITU-T (International Telecommunnications
Union-Telecommunications Sector) - Deals with information transmission
2Image Compression Standards
- Binary (bi-level) images
- Group 34 JBIG (1994)
- Continues-tone still images
- JPEG (1994) JPEG-2000
- Image sequences (moving pictures)
- H.261(1990) H.263(1995)
- MPEG1(1994)MPEG2(1995)
- MPEG4(2000) MPEG7 MPEG21
3Compression System
compressed signal
bit rate
signal in
signal out
Coder
Decoder
Quantify the numerical/perceptual difference
4Compression Framework
Compressed Image data
Original Image data
Lossless
Transformation or Decomposition
Symbol Encoding
Quantization
Lossy
5Decomposition or transformation
- A reversible process (or near reversible due to
finite arithmetic) that provides an alternate
image representation that is more amenable to
efficient extraction and coding of relevant
information - Examples Lineair block transformations, e.g.
discrete fourier transform (DCT) wavelet
transform, colorspace transformatie etc
6Example block from Lena image
7DCT of 8x8 Image block
8Quantization
- A many-to-one mapping (maps a range of input
values to a single output value) that reduces the
number of possible signal values at the cost of
introducing error. - Acts as a control knob for trading off image
quality for compression ratio (bit rate) - Examples are scalar uniform or nonuniform
quantization, vector quantization (VQ)
9Uniform Quantization
- Unquantized value 18.1
- Scaled (normalized) value18.1/121.51
- Quantizer output 2
- Dequantized value 2x1224
10Symbol modeling and encoding
- The process of defining a statistical model for
the symbols to be encoded and assigning a binary
codeword to each output symbol based on its
statistics - The resulting code should be uniquely decodable
- Examples are Huffman coding, arithmetic coding.
Lempel-Ziv Welch (LZW) coding
11Variable-Length encoding
- Average length of Code I 2.0 bits/symbol
- Average length of Code II 1.5 bits/symbol
12Variable-length codes
- Code II is a prefix condition code, i.e. no
codeword is a prefix of any other codeword. This
allows any bit stream generated by code II to be
uniquely decodable - Example
- Transmitted bitstream 0011010111010
- Decoded stream 0/0/110/10/111/0/10
- Decode message A,A,C,B,D,A,B
13Huffman Coding
- For a given source with given symbol
probabilities, a Huffman code is a code whose
average length is less than or equal to the
average length of all other uniquely decodable
codes - In global (static) Huffman coding, the codeword
table is preset, wheras in local (custom) huffman
coding the table is computed on the fly for each
input image.
14Entropy of a source
- The average amount of information obtained per
source symbol from an information source is
called the entropy of the source - H(S)Sp(s)LOG(1/P(s))
15Huffman coding en entropy
- No uniquely decodable code can have an average
length less than the source entropy - For the previous example, H(S)1.40 bits/symbol,
while code II achieved 1.50 bits/symbol - By Huffman coding larger blocks of source symbols
at once, the average length of the code per
original source symbol can be made arbitrarily
close to the source entropy
16framework
Original Image data
Compressed Image data
Lossless
Transformation or Decomposition
Symbol Encoding
Quantization
Lossy
17The JPEG Standard Toolkit
- The JPEG (Joint Photographic Experts Group)
standard concerns with the compression of
continuous-tone still-frame monochrome and
color-images - It describes a family of image compression
techniques and provides a toolkit from which
applications can select the elements that satisfy
their particular requirements
18JPEG Encoder Block diagram
Header
Compresseddata
8x8 blocks
FDCT
Quantizer
Entropy encoder
Huffman tables
Quantization tables
19JPEG Decoder Block diagram
Header
Compresseddata
Reconstructed image data
IDCT
Dequantizer
Entropy decoder
Quantization tables
Huffman tables
20JPEG Encoding Example
- The image is first segmented into 8x8 blocks.
Each block is encode independent of the other
blocks (except for the DC coefficient of the DCT) - The value of 128 is subtracted from each pixel
value prior to the DCT (for implementation
facility) - A 3-component color image is treated as three
separate images
21Original block
22Level-Shifted block
23Discrete Cosine Transform (DCT)
- The heart of both the JPEG and the MPEG family of
standards is the DCT operation - For each 8x8 block of an 8-bit input image with
pixel values in the range of (-128, 127), the
forward DCT produces an 8x8 set of 11-bit
coefficients in the range (-1024, 1024). - DCT coefficients are much less correlated and the
signal energy is usually redistributed among a
few coefficients.
24Discrete cosine transform (DCT)
- The discrete cosine transform for an 8x8 block
with input image pixel values f(j,k) and output
DCT coefficient values F(u,v) is given by
25DCT of 8x8 Image block
26DCT Basis functions
- The DCT can be viewed as a spectral decomposition
of the original image block into a set of 8x8
cosine basis functions (templates) of varying
frequencies - The transform coefficients can be viewed as
weighting factors that, when applied tot the
cosine basis functions, will reconstruct the
original block
27(No Transcript)
28DCT coefficient quantization
- Each DCT coefficient is uniformly quantized with
a quantization step that is taken from a
user-defined quantization table - A q-table is characterized by 64, 1-byte elements
- For the baseline system, in order to meet the
needs of the various color components, four
different quantization tables are allowed.
29DCT coefficient quantization
- The quality and compression ratio of an encoded
image can be varied by changing the q-table
elements (usually by scaling up or down the
values of an initial q-table) - The q-table is often designed according to the
perceptual importance of the DCT coefficients
(e.g. by using HSV data CSF data) under the
intended viewing conditions
30Quantization matrix
31Uniform Quantization
- Unquantized value 18.1
- Scaled (normalized) value18.1/121.51
- Quantizer output 2
- Dequantized value 2x1224
32Quantized DCT coefficient
33Coding of quantized coefficients
- After quantization, the DCT coefficients are
recordered into a 1-D format using a zigzag
pattern in order to create long runs of zero. - 20 -20 2 0 0 2 -1 -1 EOB
- The en-of-block (EOB) symbol implies that all the
quantized coefficients from that position until
the end of the block are zero
34Zigzag pattern
35DCT pattern
36Discrete Cosine Transform example
37Discrete Cosine Transform example
89
8
8
1
0
-1
1
0
2
3
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
1
0
1
0
0
64 pixels
0
0
-1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
Cosine patterns/DCT basis functions
38Coding of quantized coefficients
- 20 -20 2 0 0 2 -1 -1 EOB
- DC coefficient The difference between the
quantized DC coefficient of the current block and
that of the previous block is Huffman coded - AC coefficient The magnitude of a nonzero AC
coefficient combined with the runlength of the
zero-valued AC coefficients preceding it is
encoded by a Huffman code.
39Dequantization
- At the receiver, the normalized and quantized DCT
coefficients are invers scaled (dequantized) by
multiplying them by the corresponding
quantization table values - The resulting coefficients are then inverse
transformed and the value of 128 is added to each
pixel. This result in an approximation (due to
quantization) to the original block
40Dequantized DCT coefficients
41Inverse Discrete cosine transform (IDCT)
- The JPEG inverse DCT with input DCT coefficients
values F(u,v) and output pixel f(j,k) is given
by
42Reconstructed 8x8 image block
43Difference image
44SummaryJpeg
- Lossy
- DCT
- Uniform quantization
- Huffman coding
- Manipulating quality
45The MPEG compression standard
- The MPEG (Moving Picture Experts Group) has
developed a series of algorithms for the
compression of motion sequences - The MPEG algorithm is similar to JPEG (in
principle) for the compression of individual
frames, but is also capable of exploiting the
temporal redundancy by estimating and
compensating for object motion from one frame to
another.
46The MPEG compression standard
- MPEG1 compression of video and audio for storage
and retrieval on CD-rom at a combined data rate
up to 1.5 Mb/s. - MPEG2 higher rates than MPEG1, e.g., DVD and
digital satelites use MPEG2 at 3-6 Mb/s HDTV
at 20 Mb/s - MPEG4 supports new functionalities such as
content-based access, manipulation and
scalability, and improved coded efficiency
47MPEG Family of standards
- It is a generic standard that standarizes a
syntax for the representation of the encoded
bit-stream and a method of decoding - The syntax supports operations such as motion
estimation, DCT, quantization and Huffmann
encoding. - Substantial flexibility is left in the design of
the encoder, e.g. the motion estimation algorithm
has not been standardized
48MPEG hierarchie
49MPEG frame types
- Intra-coded or I-frame coded independently from
all other frames - Predictive-coded or P-frame coded based on a
prediction from a past I or P frame - Bi-directionally predictive-coded or B-frame
coded based on a prediction from the past and/or
future I or P frames - The I and P frames are also called reference
frames
50MPEG frame types
- I frames use the most number of bits. Followed by
the P frames and the B frames. A typical ratio of
compressed frame sizes IPB is 621 - The proportion of the I,P and B frames is
application-dependent and is left to the user. An
example is placing a reference frame every 0.1
second - I B B P B B P B B P B B P B B I
51-
Frame k
Frame k-1
Variance 1400
52Video Stream Compositie
53Motion Compensation