Lecture slides
General information
Lecture 1: Measuring amount of information. Entropy
Lecture 2: Stationary sources. Prefix codes. Huffman code
Lecture 3: Arithmetic coding.
Lecture 4: Off-line universal coding
Lecture 5: On-line adaptive universal coding
Lecture 6: Low-complexity universal coding: Monotonic codes. LZ-77
Lectures 7-8: LZW, PPM, BWT. Comparisons. Challenges
Lectures 9: Analog sources. Measuring information
Lectures 10: Quantization
Lectures 11: Transforms. Basics of image coding
Lectures 12-13: Grayscale image compression. JPEG. Wavelets.
Lectures 14-15: Audio data coding. Demos
Lectures 16: : Linear prediction. Speech coding. Demos
Problem solving session slides
1. Measuring information. Markov chains
2. Instant coding
Matlab scripts
Auxilary
word2bin.m - Representing integer in binary form
bin2word.m - Transforming binary sequence to integer
Entropy
Entropy.m - computing entropy for given p.d.
Problem12.m - Empiric estimate of the entropy rate
Huffman
Huffman.m - Huffman code constructing
Huffman_dec.m - Huffman code single symbol decoder
uniform_enc.m - Huffman coding for uniform distribution
uniform_dec.m - Huffman decoding for uniform distribution
Off-line coding
Huffman_enc_seq.m - Huffman code. Sequence encoding
Huffman_dec_seq.m - Huffman code. Sequence decoding
Test_Huffman.m - Huffman code coding test
Off_line_Huffman.m - Demo-program of using Huffman code for universal off-line coding
Arithmetic coding
int_arithm_enc.m - Arithmetic encoder in integer arithmetics
int_arithm_dec.m - Arithmetic decoder in integer arithmetics
test.m - Testing program for arithmetic coding
On-line adaptive coding
symbol_encoder.m - Single symbol encoder (for adaptive coding)
symbol_decoder.m - Single symbol decoder (for adaptive coding)
adaptive_arithm_coding.m - Adaptive on-line coding)
adaptive_arithm_decoding.m - Adaptive on-line decoding)
Archivers
gamma_cod.m - Elias monotonic coding for integers
gamma_dec.m - Elias monotonic code decoding for integers
seqcmp.m - Compare strings for LZ algorithms
LZ_77.m - Demo LZ-77
LZW.m - Demo LZW
Image coding. Common routines
rgb2yuv.m - RGB to YUV transform
yuv2rgb.m - YUV to RGB transform
decim.m - Factor 2 decimation of 2D arrays
expand.m - Factor 2 expanding of 2D arrays
difcod.m - Differential coding for LLL component of wavelen transform and for DC coefficients of JPEG-like coding
show.m - Plots grayscale images without any requirements on the data types (unlike standard program imshow(...))
JPEG-like image coding.
DemoImageCompr.m - JPEG-like coding,decoding, performance evaluation
im_dct.m - Block-wise forward DCT
im_idct.m - Block-wise inverse DCT
quant_dct.m - Block-wise quantization
cat_amp_enc.m - JPEG AC and DC encoding of integers
cat_amp_dec.m - JPEG AC and DC decoding of integers
grayscsale_compr.m - draft of encoding for image component
Wavelet-based image coding.
Demo_Wavelet.m - Wavelet-based coding,decoding, performance evaluation
forw_wvt.m - Forward 2D discrete wavelet transform
invers_wvt.m - Inverse 2D discrete wavelet transform
sb_quant.m - Subband-wise quantization with possibility of scaling
Audio coding
Demo_Audio.m: demonstrates reading, writing, resampling and playing audio files
dct4.m - DCT-IV cosine transform used for computing overlapped cosine transform
odct.m - overlapped cosine transform
Home Assignments
List of registered students
Home assignment 1: Entropy. Deadline 7th of March
Home assignment 2: Lossless compression. Deadline 17th of April
Home assignments 3: Lossy multimedia data compression, deadline 29th of May
Appendix 1: Image formats
Appendix 2: JPEG standard
Appendix 3: Wavelet coding
Appendix 4: Audio data coding
Research topics and topics for Bachelor and Master diploma theses
See
http://cit.cs.ut.ee/forstudents.html
Test files
Set of files for the first homework
Set of short phrases for compression experiments
Test images
Test 1
Test 2
Test 3
Test 4
Test 5
Test 6
Matlab programs
Quantization
Uniform scalar quantization
Optimal nonuniform scalar quantization for Gaussian variable
The Lloyd-Max quantization procedure
Vector quantization
Q-function
Linear prediction
Autocorrelation method and the Levinson-Durbin procedure
Image transforms
BMP to YUV transform
Decimation
Interpolation of the decimated component
YUV to BMP
Entropy function
FDCT and IDCT
Uniform variable rate quantizer (rounding off type)
The main program:BMP to YUV, decimation, DCT, quantization, dequantization, IDCT, interpolation, YUV to BMP
JPEG-like coding (run-length coding + entropy estimates)
Zigzag scanning, run-length coding
The main program:BMP to YUV, decimation, DCT, quantization, coding, dequantization, IDCT, interpolation, YUV to BMP
The main program for 1-D wavelet decomposition and reconstruction
1-D wavelet decomposition (orthogonal filter bank)
1-D wavelet reconstruction (orthogonal filter bank)
1-D wavelet decomposition and reconstruction (orthogonal filter bank)
1-D wavelet decomposition and reconstruction (biorthogonal filter bank)
1-D wavelet decomposition (biorthogonal filter bank)
1-D wavelet reconstruction (biorthogonal filter bank)
The main program for 2-D wavelet decomposition and reconstruction
2-D wavelet decomposition and reconstruction
2-D wavelet decomposition
2-D wavelet reconstruction
Wavelet filter banks
Main program for hierarchical wavelet decomposition and reconstruction
Hierarchical wavelet decomposition and reconstruction (orthogonal filter bank)
Hierarchical wavelet decomposition, quatization, entropy coding, and reconstruction (biorthogonal filter bank)
Speech coding
Main program for computing linear spectral parameters for a 4th order filter
Program for finding roots of polynomial equation of order 4
Program for reconstructing polynomial equation of order 4 from its roots
Program for searching for pitch period