Documente Academic
Documente Profesional
Documente Cultură
Low networks bandwidth doesn't allow for real time video transmission Slow storage devices don't allow for fast playing back Compression reduces storage requirements
E.G.M. Petrakis Multimedia Compression 1
Classification of Techniques
Lossless: recover the original representation Lossy: recover a representation similar to the original one
high compression ratios more practical use
Compression Standards
Furht at.al. 96
E.G.M. Petrakis
Multimedia Compression
Lossless Techniques
Furht at.al. 96
E.G.M. Petrakis
Multimedia Compression
Lossy Techniques
Furht at.al. 96
E.G.M. Petrakis
Multimedia Compression
Furht at.al. 96
E.G.M. Petrakis
Multimedia Compression
JPEG Encoder
Three main blocks:
Forward Discrete Cosine Transform (FDCT) Quantizer Entropy Encoder
Sequential JPEG
Pixels in [0,2p-1] are shifted in [-2p-1,2p-1-1] The image is divided in 8x8 blocks Each 8x8 block is DCT transformed
C (u ) C ( v ) 7 7 ( 2 x + 1)u ( 2 y + 1)v F (u, v ) = f ( x, y ) cos cos 2 2 x =0 y =0 16 16 1 for u = 0 C (u ) = 2 1 for u > 0 1 for v = 0 C (v ) = 2 1 for v > 0 E.G.M. Petrakis
Multimedia Compression
DCT Coefficients
F(0,0) is the DC coefficient: average value over the 64 samples The remaining 63 coefficients are the AC coefficients Pixels in [-128,127]: DCTs in [-1024,1023]
Most frequencies have 0 or near to 0 values and need not to be encoded This fact achieves compression E.G.M. Petrakis Multimedia Compression 10
Quantization Step
All 64 DCT coefficients are quantized
Fq(u,v) = Round[F(u,v)/Q(u,v)] Reduces the amplitude of coefficients which contribute little or nothing to 0 Discards information which is not visually significant Quantization coefficients Q(u,v) are specified by quantization tables A set of 4 tables are specified by JPEG
E.G.M. Petrakis Multimedia Compression 11
Quantization Tables
Furht at.al. 96
for (i=0; i < 64; i++) for (j=0; j < 64; j++) Q[i,j] = 1 + [ (1+i+j) quality]; quality = 1: best quality, lowest compression quality = 25: poor quality, highest compression
E.G.M. Petrakis Multimedia Compression 12
AC Coefficients
The 63 AC coefficients are ordered by a zig-zag sequence Places low frequencies before high frequencies Low frequencies are likely to be 0 Sequences of such 0 coefficients will be encoded by fewer bits
E.G.M. Petrakis Multimedia Compression
Furht at.al. 96
13
DC Coefficients
Predictive coding of DC Coefficients Adjacent blocks have similar DC intensities Coding differences yields high compression
E.G.M. Petrakis
Multimedia Compression
14
Entropy Encoding
Encodes sequences of quantized DCT coefficients into binary sequences AC: (runlength, size) (amplitude) DC: (size, amplitude) runlength: number consecutive 0s, up to 15 amplitude: first non-zero value size: number of bits to encode amplitude 0 0 0 0 0 0 476: (6,9)(476)
E.G.M. Petrakis Multimedia Compression 15
Huffman coding
Converts each sequence into binary First DC following with ACs Huffman tables are specified in JPEG Each (runlength, size) is encoded using Huffman coding Each (amplitude) is encoded using a variable length integer code (1,4)(12) => (11111101101100)
E.G.M. Petrakis Multimedia Compression 16
E.G.M. Petrakis
Multimedia Compression
17
E.G.M. Petrakis
Multimedia Compression
18
Compression Measures
Compression ratio (CR): increases with higher compression
CR = OriginalSize/CompressedSize
Root Mean Square Error (RMS): better quality with lower RMS
Xi: original pixel values xi: restored pixel values n: total number of pixels
E.G.M. Petrakis Multimedia Compression 19
1 RMS = n
( X x ) i i i =1
Furht at.al. 96
E.G.M. Petrakis
Multimedia Compression
20
JPEG Decoder
The same steps in reverse order
The binary sequences are converted to symbol sequences using the Huffman tables F(u,v) = Fq(u,v)Q(u,v) Inverse DCT
1 7 7 ( 2 x + 1)u ( 2 y + 1)v F ( x, y ) = C (u )C ( v ) F (u, v ) cos cos 4 u =0 v =0 16 16
E.G.M. Petrakis Multimedia Compression 21
Progressive JPEG
When image encoding or transmission takes long there may be a need to produce an approximation of the original image which is improved gradually
Furht at.al. 96
E.G.M. Petrakis
Multimedia Compression
22
E.G.M. Petrakis
Multimedia Compression
23
Lossless JPEG
Simple predictive encoding
Furht at.al. 96
prediction schemes
E.G.M. Petrakis
Multimedia Compression
24
Hierarchical JPEG
Produces a set of images at multiple resolutions
Begins with small images and continues with larger images (down-sampling) The reduced image is scaled-up to the next resolution and used as predictor for the higher resolution image
E.G.M. Petrakis
Multimedia Compression
25
Encoding
1. Down-sample the image by 2a in each x, y 2. Encode the reduced size image (sequential, progressive ..) 3. Up-sample the reduced image by 2 4. Interpolate by 2 in x, y 5. Use the up-sampled image as predictor 6. Encode differences (predictive coding) 7. Go to step 1 until the full resolution is encoded
E.G.M. Petrakis Multimedia Compression 26
Furht at.al. 96
E.G.M. Petrakis
Multimedia Compression
27
Interleaved JPEG
Minimum Coded Unit (MCU): the smallest group of interleaved data blocks (8x8)
Furht at.al. 96
E.G.M. Petrakis
Multimedia Compression
29
Video Compression
Various video encoding standards: QuickTime, DVI, H.261, MPEG etc
Basic idea: compute motion between adjacent frames and transmit only differences Motion is computed between blocks Effective encoding of camera and object motion
E.G.M. Petrakis Multimedia Compression 30
MPEG
The Moving Picture Coding Experts Group (MPEG) is a working group for the development of standards for compression, decompression, processing, and coded representation of moving pictures and audio MPEG groups are open and have attracted large participation
http://mpeg.telecomitalialab.com
E.G.M. Petrakis Multimedia Compression 31
MPEG Features
Random access Fast forward / reverse searches Reverse playback Audio visual synchronization Robustness to errors Auditability Cost trade-off
E.G.M. Petrakis Multimedia Compression 32
MPEG -1, 2
At least 4 MPEG standards finished or under construction MPEG-1: storage and retrieval of moving pictures and audio on storage media
352x288 pixels/frame, 25 fps, at 1.5 Mbps Real-time encoding even on an old PC
MPEG-4
Encodes video content as objects Based on identifying, tracking and encoding object layers which are rendered on top of each other Enables objects to be manipulated individually or collectively on an audiovisual scene (interactive video) Only a few implementations Higher compression ratios
E.G.M. Petrakis Multimedia Compression 34
MPEG-7
Standard for the description of multimedia content
XML Schema for content description Does not standardize extraction of descriptions MPEG1, 2, and 4 make content available MPEG7 makes content semantics available E.G.M. Petrakis Multimedia Compression 35
MPEG-1,2 Compression
Compression of full motion video, interframe compression, stores differences between frames A stream contains I, P and B frames in a given pattern Equivalent blocks are compared and motion vectors are computed and stored as P and B frames
Furht at.al. 96
E.G.M. Petrakis
Multimedia Compression
36
Frame Structures
I frames: self contained, JPEG encoded
Random access frames in MPEG streams Low compression
P frame 5 must be decoded before B frames 2 3 4 I frame 9 must be decoded before B frames 6 7 8 Frame order for transmission: 1 5 2 3 4 9 6 7 8
Multimedia Compression 38
E.G.M. Petrakis
Motion Estimation
The motion estimator finds the best matching block in P, B frames
Block: 8x8 or16x16 pixels P frames use only forward prediction: a block in the current frame is predicted from past frame B frames use forward or backward or prediction by interpolation: average of forward, backward predicted blocks
E.G.M. Petrakis Multimedia Compression 40
Motion Vectors
block: 16x16pixles Furht at.al. 96
MPEG Encoding
I frames are JPEG compressed P, B frames are encoded in terms of future or previous frames Motion vectors are estimated and differences between predicted and actual blocks are computed
These error terms are DCT encoded Entropy encoding produces a compact binary code Special cases: static and intracoded blocks
E.G.M. Petrakis Multimedia Compression 42
MPEG encoder
JPEG encoding
Furht at.al. 96
E.G.M. Petrakis
Multimedia Compression
43
MPEG Decoder
Furht at.al. 96
E.G.M. Petrakis
Multimedia Compression
44
The block is compared with a previous or forward block within a search area of size (m+2p)x(n+2p) m = n = 16 p = 6
Multimedia Compression 45
E.G.M. Petrakis
Block Matching
Furht at.al. 96
Cost functions
I.
The block has moved to the position that minimizes a cost function
Mean Absolute Difference (MAD)
E.G.M. Petrakis
F 2 (i, j ) G 2 (i + dx, j + dy ) i j i j
Multimedia Compression
E.G.M. Petrakis
48
1 if F (i, j ) G (i + dx, j + dy ) t T ( dx, dy , i, j ) = otherwise 0 t: predefined threshold each pixel is classified as a matching pixel (T=1) or a mismatching pixel (T=0) the matching block maximizes PDC
E.G.M. Petrakis Multimedia Compression 49
Exhaustive Search
Evaluates the cost function at every location in the search area
Requires (2p+1)2 computations of the cost function For p=6 requires169 computations per block!!
E.G.M. Petrakis
Multimedia Compression
51
Three-Step Search
Computes the cost function at the center and 8 surrounding locations in the search area
The location with the minimum cost becomes the center location for the next step The search range is reduced by half
E.G.M. Petrakis
Multimedia Compression
52
E.G.M. Petrakis
Multimedia Compression
53
ThreeStep Search
1.
2. Pick min MAD location and recompute MAD at 9 locations at distance 2 from center 3. Pick the min MAD locations and do same at distance 1 from center
The smallest MAD from all locations indicates the final estimate M24 at (dx,dy)=(1,6) Requires 25 computations of MAD
Multimedia Compression 54
E.G.M. Petrakis
55
Furht at.al. 96
if cost at M(0,0) < T then search ends! compute min cost at M1,M2,M3,M4; take their min; if min cost < M(0,0) if (cost less than T) then search ends! else compute cost at direction of minimum cost (M5,M6 in the
example);
Repeat
find min MAD along dx=0,-1,1 (y fixed): M(1,0) in example find min MAD along dy=0,-1,1 starting from previous min (x fixed): M(2,2) search similarly along the direction connecting the above mins
E.G.M. Petrakis Multimedia Compression 57
58
References
B. Furht, S. W. Smoliar, H-J. Zang, Video and Image Processing in Multimedia Systems, Kluwer Academic Pub, 1996
E.G.M. Petrakis
Multimedia Compression
59