Course details

Data Coding and Compression

KKO Acad. year 2021/2022 Summer semester 5 credits

Introduction to data compression theory. Lossy and lossless data compression, adaptive methods, statistical - Huffman and arithmetic coding, dictionary methods LZ77, LZ78, transform coding, Burrows-Wheeler transform. Hardware support for data compression.


Deputy Guarantor

Language of instruction



Credit+Examination (written)

Time span

26 hrs lectures, 26 hrs projects

Assessment points

70 exam, 30 projects




Šimek Václav, Ing. (DCSY FIT BUT)

Subject specific learning outcomes and competences

Theoretical background of advanced data processing using compression.

Generic learning outcomes and competences

Importance of advanced data compression.

Learning objectives

To give the students the knowledge of basic compression techniques, the methods for lossy and lossless data compression, their efficiency and hardware support for data compression.

Why is the course taught

Compression represents one of the most fundamental operations which is applied not only to improve the storage capacity, but also to lower the communication latency or increase throughput of the transmission channels. The goal of this course is to provide knowledge of compression techniques as well as the mathematical foundations of data compression. The students should develop transferable skills such as problem analysis and problem solving.

Prerequisite kwnowledge and skills

Knowledge of functioning of basic computer units.

Study literature

  • Lecture notes and study supports in e-format.

Fundamental literature

  • Sayood, K.: Introduction to Data Compression, Fifth Edition, 2017, ISBN 978-0-12809-474-7
  • Salomon, D.: Data Compression. The Complete Reference, Fourth Edition, Springer 2007, ISBN 978-1-84628-605-5
  • Sayood, K.: Lossless Compression Handbook,  2003, ISBN 978-0-12620-861-0

Syllabus of lectures

  • Introduction to compression theory.
  • Basic compression methods.
  • Statistical and dictionary methods.
  • Huffman coding.
  • Adaptive Huffman coding.
  • Arithmetic coding. Text compression.
  • Lossy and lossless data compression.
  • Dictionary methods, LZ77, LZ78.
  • Variants of LZW.
  • Transform coding, Burrows-Wheeler transform.
  • Other methods.
  • Hardware support for data compression, MXT.

Syllabus - others, projects and individual work of students

Individual project assignment.

Progress assessment

Project designing and presentation.

Exam prerequisites

Project designing and presentation. Min 10 points.


Tuelecturelectures D0207 09:0010:50 1MIT 2MIT NEMB xx

Course inclusion in study plans

Back to top