Top Banner

Click here to load reader

Multimedia Data Compression Mee Young Sung University of Incheon Department of Computer Science & Engineering [email protected]

Dec 26, 2015

ReportDownload

Documents

  • Slide 1
  • Multimedia Data Compression Mee Young Sung University of Incheon Department of Computer Science & Engineering [email protected]
  • Slide 2
  • 1.Lossless Compression Algorithms 1.Introduction 2.Basics of Information Theory 3.Run-Length Coding 4.Variable-Length Coding(VLC) 1.Shannon-Fano Algorithm 2.Huffman Coding 3.Adaptive Huffman Coding 5.Dictionary-Based Coding 6.Arithmetic Coding 7.Lossless Image Compression 8.Differential Coding of Images 1.Differential Coding of Images 2.Lossless JPEG
  • Slide 3
  • 2.Lossy Compression Algorithms 1.Introduction 2.Distortion Measures 3.The Rate-Distortion Theory 4.Quantization 1.Uniform Scalar Qunantization 2.Nonuniform Saclar Qunantization 3.Vector Qunantization 5.Quantization 1.Discrete Cosine Transform(DCT) 2.Karhunen-Love Transform* 6.Wavelet-Based Coding 1.Introduction 2.Continuous Wavelet Transform* 3.Discrete Wavelet Transform* 7.Wavelet Packets 8.Embedded Zerotree of Wavelet Coefficients 1.The Zerotree Data Structure 2.Successive Approximation Quantization 3.EZW Example 9.Set Partitioning in Hierarchical Trees (SPIHT)
  • Slide 4
  • 3.Image Compression Standard 1.The JPEG Standard 1.Main Steps in JPEG Image Compression 2.JPEG Modes 3.A Glance at the JPEG Bitstream 2.The JPEG2000 Standard 1.Main Steps of JPEG2000 Image Compression* 2.Adapting EBCOT to JPEG2000 3.Region-of-Interest Coding 4.Comparison of JPEG and JPEG2000 Performance 3.The JPEG-LS Standard 1.Prediction 2.Context Determination 3.Residual Coding 4.Near-Lossless Mode 4.Bilevel Image Compression Standard 1.The JBIG Standard 2.The JBIG2 Standard
  • Slide 5
  • 4.Basic Video Compression Techniques 1.Introduction to Video Compression 2.Video Compression Based on Motion Compensation 3.Search for Motion Vectors 1.Sequential Search 2.2D Logarithmic Search 3.Hierarchical Search 4.H.261 1.Intra-Frame (I-Frame) Coding 2.Inter-Frame (P-Frame) Predictive Coding 3.Quantization in H.261 4.H.261 Encoder and Decoder 5.A Glance at the H.261 Video Bitstream Syntax 5.H.263 1.Motion Compensation in H.263 2.Optional H.263 Coding Modes 3.H.263+ and H.263++
  • Slide 6
  • 5.MPEG Video Coding I MPEG-1 and 2 1.Overview 2.MPEG-1 1.Motion Compensation in MPEG-1 2.Other Major Differences form H.261 3.MPEG-1 Video Bitstream 3.MEPG-2 1.Supporting Interlaced Video 2.MPEG-2 Scalabilities 3.Other Major Differences form MPEG-1
  • Slide 7
  • 6.MPEG Video Coding II MPEG-4, 7, and Beyond 1.Overview of MPEG-4 2.Object-Based Visual Coding in MPEG-4 1.VOP-Based Coding vs. Frame-Based Coding 2.Motion Compensation 3.Texture Coding 4.Shape Coding 5.Static Texture Coding 6.Sprite Coding 7.Global Motion Compensation 3.Synthetic Object Coding in MPEG-4 1.2D Mesh Object Coding 2.3D Model-based Coding 4.MPEG-4 Object Types, Profiles and Levels 5.MPEG-4 Part10/H.264 1.Core Features 2.Baseline Profile Features 3.Main Profile Features 4.Extended Profile Features 6.MPEG-7 1.Descriptor (D) 2.Description Scheme (DS) 3.Description Definition Language (DDL) 7.MPEG-21
  • Slide 8
  • 7.Basic Audio Compression Techniques 1.ADPCM in Speech Coding 1.ADPCM 2.G.726 ADPCM 3.Vocoders 1.Phase Insensitivity 2.Channel Vocoder 3.Formant Vocoder 4.Linear Predictive Coding 5.CELP 6.Hybrid Excitation Vocoders*
  • Slide 9
  • 8.MPEG Audio Compression 1.Psychoacoustics 1.Equal-Loudness Relations 2.Frequency Masking 3.Temporal Masking 2.MPEG Audio 1.MPEG Layers 2.MPEG Audio Strategy 3.MPEG Audio Compression Algorithm 4.MPEG-2 AAC(Advanced Audio Coding) 5.MPEG-4 Audio 3.Other Commercial Audio Codecs 4.The Future: MPEG-7 and MPEG-21
  • Slide 10
  • Run-Length Coding 00... 00100... 001100... 00100... 001100... 00 : 89 0 14 9 20 30 9 0 0 Run length( ) 1110 1001 0000 1111 0101 1111 1111 0000 0000 1001 : 40 Run length( ) 14 9 0 15 5 15 15 0 0 9
  • Slide 11
  • Huffman Coding Encoding for Huffman Algorithm: A bottom-up approach 1. Initialization: Put all nodes in an OPEN list, keep it sorted at all times (e.g., ABCDE). 2. Repeat until the OPEN list has only one node left: (a) From OPEN pick two nodes having the lowest frequencies/probabilities, create a parent node of them. (b) Assign the sum of the children's frequencies/probabilities to the parent node and insert it into OPEN. (c) Assign code 0, 1 to the two branches of the tree, and delete the children from OPEN. Symbo l Countlog 2 (1/p i )CodeSubtotal (# of bits) A151.38015 B72.4810021 C62.7010118 D62.7011018 E52.9611115
  • Slide 12
  • Huffman Coding , , ,
  • Slide 13
  • Fourrier Transform
  • Slide 14
  • Reinforcement and Interference
  • Slide 15
  • Complex Wave Fundamental and Spectral Frequencies
  • Slide 16
  • Line Spectrum
  • Slide 17
  • Fundamental Frequency in a Line Spectrum
  • Slide 18
  • DCT Discrete Cosine Transform (DCT): Inverse Discrete Cosine Transform (IDCT):
  • Slide 19
  • Example 1 1D DCT: 1D IDCT:
  • Slide 20
  • Example 2
  • Slide 21
  • Example 3
  • Slide 22
  • Example 4
  • Slide 23
  • Example of 1D IDCT(Inverse DCT)
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • JPEG Joint Photographic Expert Group Motivation The compression ratio of lossless methods (e.g., Huffman, Arithmetic, LZW) is not high enough for image and video compression, especially when the distribution of pixel values is relatively flat. JPEG uses transform coding, it is largely based on the following observations: Observation 1: A large majority of useful image contents change relatively slowly across images, i.e., it is unusual for intensity values to alter up and down several times in a small area, for example, within an 8 x 8 image block. Translate this into the spatial frequency domain, it says that, generally, lower spatial frequency components contain more information than the high frequency components which often correspond to less useful details and noises. Observation 2: Pshchophysical experiments suggest that humans are more receptive to loss of higher spatial frequency components than loss of lower frequency components.
  • Slide 30
  • JPEG (DCT) Discrete Cosine Transform (DCT): Inverse Discrete Cosine Transform (IDCT):
  • Slide 31
  • JPEG Encoding
  • Slide 32
  • JPEG Major Steps DCT (Discrete Cosine Transformation) Quantization Zigzag Scan DPCM on DC component RLE on AC Components Entropy Coding
  • Slide 33
  • JPEG (DCT) The 64 (8 x 8) DCT basis functions:
  • Slide 34
  • JPEG (DCT) Computing the DCT Factoring reduces problem to a series of 1D DCTs:
  • Slide 35
  • JPEG (Quantization) F'[u, v] = round ( F[u, v] / q[u, v] ). Why? -- To reduce number of bits per sample Example: 101101 = 45 (6 bits). q[u, v] = 4 --> Truncate to 4 bits: 1011 = 11. Quantization error is the main source of the Lossy Compression. Uniform Quantization Each F[u,v] is divided by the same constant N. Non-uniform Quantization -- Quantization Tables Eye is most sensitive to low frequencies (upper left corner), less sensitive to high frequencies (lower right corner) The numbers in the above quantization tables can be scaled up (or down) to adjust the so called quality factor.quality factor Custom quantization tables can also be put in image/scan header.
  • Slide 36
  • JPEG (Quantization) The Luminance Quantization Table q(u, v) The Chrominance Quantization Table q(u, v) Eye Sensitivity
  • Slide 37
  • JPEG (Zig-Zag Scan) Zig-zag Scan Why? -- to group low frequency coefficients in top of vector. Maps 8 x 8 to a 1 x 64 vector
  • Slide 38
  • JPEG (DPCM on DC component ) DPCM (Differential Pulse Code Modulation) DC component is large and varied, but often close to previous value. Encode the difference from previous 8 x 8 blocks DPCM DPCM / , (a) 14192536435566524834 (b) DPCM +14+5+6+11+7+12+11-14+4-14 (c) 14192536435566524834
  • Slide 39
  • JPEG (RLE on AC components ) RLE (Run Length Encode) 1 x 64 vector has lots of zeros in it Keeps skip and value, where skip is the number of zeros and value is the next non-zero component. Send (0,0) as end-of-block sentinel value Zig-Zag scanned ACs
  • Slide 40
  • JPEG (Entropy Coding ) Categorize DC values into SIZE (number of bits needed to represent) and actual bits. Example: if DC value is 4, 3 bits are needed. Send off SIZE as Huffman symbol, followed by actual 3 bits. For AC components two symbols are used: Symbol_1: (skip, SIZE), Symbol_2: actual bits. Symbol_1 (skip, SIZE) is encoded using the Huffman coding, Symbol_2 is not encoded. Huffman Tables can be custom (sent in header) or default. SizeAmplitude 0 1 -1,1 2 -3,-2,2,3 3 -7,-6,-5,-4,4,5,6,7 DC (n-1)DC (n)
  • Slide 41
  • http://www.cs.sfu.ca/mmbook/demos.htm http://www.cs.sfu.ca/CC/365/li/material/mis c/demos.htmlhttp://www.cs.sfu.ca/CC/365/li/material/mis c/demos.html