Video Processing Communications Yao Wang Chapter8a
Video Processing Communications Yao Wang Chapter8a
Video Processing Communications Yao Wang Chapter8a
Outline
Overview of video coding systems
Couple words on probability and information theory concepts Binary encoding Information theory bounds Huffman coding Arithmetic coding Look ahead Lossless coding: now - Section 8.4 Basic lossy coding: scalar and vector quantization Section 8.5, 8.6 Waveform coding: KLT, JPEG Chapter 9 Content-dependent video coding, e,g Facial Animation Parameters (FAPs) in MPEG4 Chapter 10 Video Compression Standards: MPEG-1, MPEG-2, MPEG-4, MPEG7 Chapter 13
Waveform-based techniques
Content-dependent-techniques
Continuous source: Fn takes continuous values (analog image) Discrete source: Fn takes discrete values (digital image) Stationary source: statistical distribution invariant to time (space) shift
Probability distribution
probability mass function (discrete) (pmf) or probability density (continuous) function (pdf): Joint pmf or pdf and Conditional pmf or pdf
symmetric of course
symmetric symmetric
Symbol ai
Binary Encoding
Conditional coding (context-based coding) alternative to vector coding The codeword for current symbol depends on the pattern (context) formed by the previous M symbols
10
Huffman Coding
Huffman coding generate prefix code Can be applied to one symbol at a time (scalar coding), or a group of symbols (vector coding), or one symbol conditioned on previous symbols (conditional coding)
11
12
13
RC ,"a" 1.5625, RC ,"b" RC ,"c" RC ,"d " 1.9375, RC ,1 1.7500 H C ,"a" 1.5016, H C ,"b" H C ,"c" H C ,"d " 1.8829, H C ,1 1.6922
different codebook depending on previous symbols this example for previous symbol b
15
Arithmetic Coding
Basic idea: Represent a sequence of symbols by an interval with length equal to its probability The interval is specified by its lower boundary (l), upper boundary (u) and length d (=probability) The codeword for the sequence is the common bits in binary representations of l and u The interval is calculated sequentially starting from the first symbol The initial interval is determined by the first symbol The next interval is a subinterval of the previous one, determined by the next symbol
16
Encoding:
Decoding:
Huffman coding
Convert a fixed number of symbols into a variable length codeword Efficiency: To approach entropy rate, must code a large number of symbols together Used in all image and video coding standards
Arithmetic coding
Convert a variable number of symbols into a variable length codeword Efficiency: in limit same as Huffman N is sequence length Can approach the entropy rate by processing one symbol at a time Easy to adapt to changes in source statistics Complex, but integer implementation is available No codebook needed Question on precision of computation (finite-precision methods exist) Used as advanced options in image and video coding standards
18
Summary
Coding system:
original data -> model parameters -> quantization-> binary encoding Waveform-based vs. content-dependent coding
Lossless coding
Bit rate bounded by entropy rate of the source Huffman coding:
Scalar, vector, conditional coding can achieve the bound only if a large number of symbols are coded together Huffman coding generates prefix code (instantaneously decodable)
Arithmetic coding
Can achieve the bound by processing one symbol at a time More complicated than scalar or short vector Huffman coding
19