this dir | view | cards | source | edit | dark top

Data Compression Algorithms

Data Compression Algorithms
Introduction

data compression

Introduction

compression

Introduction

methods

Introduction

measuring the performance

Introduction

limits of lossless compression

Statistical methods

basic concepts

Statistical methods

typical strategy

Statistical methods

codes

Statistical methods

prefix codes

Statistical methods

Shannon-Fano coding

Statistical methods

optimality of Huffman code

Statistical methods

can we modify Huffman algorithm to guarantee that the resulting code minimizes the maximum codeword length?

yes, when constructing the tree, we can sort the nodes not only by their frequencies but also by the depth of their subtree

Statistical methods

what is the maximum height of a Huffman tree for an input message of length nn?

Statistical methods

is there an optimal prefix code which cannot be obtained using Huffman algorithm?

yes

Statistical methods

generalize the construction of binary Huffman code to the case of mm-ary coding alphabet (m>2m\gt 2)

Statistical methods

implementation notes

Statistical methods

adaptive compression

Statistical methods

if we know that the code contains 2 codewords of length 2 and 4 codewords of length 3, we can construct canonical Huffman code (?)

00, 01, 100, 101, 110, 111

Statistical methods

adaptive Huffman code

Arithmetic coding

each string sAs\in A^* associate with a subinterval Is[0,1]I_s\subseteq[0,1] such that

Arithmetic coding

encoding

Arithmetic coding

decoding

Arithmetic coding

problem: using floating point arithmetic leads to rounding errors → we will use integers

underflow may happen that way if we use too short integers

Arithmetic coding

another problem

Hurá, máš hotovo! 🎉
Pokud ti moje kartičky pomohly, můžeš mi koupit pivo.