0% found this document useful (0 votes)
15 views32 pages

Lossless Math

This document discusses the fundamentals of multimedia communications, focusing on lossless compression and information theory. It covers key concepts such as entropy, coding schemes, and the properties of information sources, including models for efficient compression. The document also explores encoding definitions, variable length codes, unique decodability, and relevant theorems like McMillan's and Kraft's inequalities.

Uploaded by

shreya.dilip649
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views32 pages

Lossless Math

This document discusses the fundamentals of multimedia communications, focusing on lossless compression and information theory. It covers key concepts such as entropy, coding schemes, and the properties of information sources, including models for efficient compression. The document also explores encoding definitions, variable length codes, unique decodability, and relevant theorems like McMillan's and Kraft's inequalities.

Uploaded by

shreya.dilip649
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Multimedia Communications

Mathematical Preliminaries for Lossless


Compression
What we will see in this chapter
• Definition of information and entropy
• Modeling a data source
• Definition of coding and when a coding scheme is decodable

Copyright S. Shirani
Why information theory?
• Compression schemes can be divided into two classes: lossy
and lossless.
• Lossy compression: involves loss of some information and
data that have been compressed generally cannot be recovered
exactly
• Lossless schemes compress the data without loss of
information and the original data can be recovered exactly
from the compressed data
• There is a relation between lossless compression and
information and entropy.

Copyright S. Shirani
Information Theory
• Discrete information source with N symbols (set of symbols is
often called the alphabet) AN={a1,…,aN}.
• The probability function p : AN → [0,1] gives the probability
of occurrence of the symbols (p(a1)=p1, …., p(aN)=pN).
• When we receive one the symbols how much information do
we get?
• If p1=1, there is no surprise (no information) since we know
what the message must be.
• If the probabilities are very different, when a symbol with a
low probability arrives, you feel more surprised and get more
information.
• Information is somewhat inversely related to the probability

Copyright S. Shirani
Information
• The self-information of a symbol x∈AN
i : AN → R+ , i(x) = -log(p(x))
is a measure of the information one receives upon being told
that symbol x is received.
• i increases to infinity as the probability of the symbol
decreases to zero.
• Logarithm base = 2 : unit of information = BIT (our choice)
= e : unit of information = NAT
= 10 : unit of information = HARTLEY
Example: flipping a coin.
P(H)=P(T)=1/2: i(H)=i(T)=1 bit

Copyright S. Shirani
Entropy
• The entropy of an information source is the expected
(average) value of its self-information:
H ( X ) = E[i ( X )] = E[− log P( X )] = − ∑ P( x) log P( x)
x∈AN

• H(X) is the average amount of information we get from a


symbol of the source

Copyright S. Shirani
Entropy
• Entropy defined in the previous slide is in fact the first order
entropy
• If X={X1,…,Xm} is a sequence of outputs of an information
source S, the entropy of S is
1
H ∞ ( S ) = lim Gm ( S )
m →∞ m
N N N
Gm ( S ) = −∑∑ ....∑ P( X 1 = ai1 , X 2 = ai 2 ,....., X m = aim ) log( P( X 1 = ai1 , X 2 = ai 2 ,....., X m =aim ))
i1=1 i 2 =1 im =1

• For i.i.d. (independent, identically distributed) sources, H∞=H1.


• For most sources, H∞ is not equal to H1.

Copyright S. Shirani
Entropy
• In general, it is not possible to know the actual entropy of a
physical source
• We have to estimate the entropy
• The estimate of the entropy depends on our assumption about
the structure of the source.
• Exp: 1 2 3 2 3 4 5 4 5 6 7 8 9 8 9 10
– Assumption1: iid source
• P(1)=P(6)=P(7)=P(10)=1/16
• P(2)=P(3)=P(4)=P(5)=P(8)=P(9)=2/16, H=3.25 bits
– Assumption2: sample-to-sample correlation xn = x n−1+rn
• 1 1 1 –1 1 1 1 –1 1 1 1 1 1 –1 1 1
• P(1)=13/16, P(-1)=3/16, H=0.7 bits

Copyright S. Shirani
Entropy
• Our assumptions about the structure of the source are called
models
• In previous example the model is: xn = x n−1+rn
• This is static model: the parameters do not change with n
• Adaptive models: the parameters change or adapt with n to
the changing characteristics of data

Copyright S. Shirani
Properties of Entropy
• 0 ≤ H(X) ≤ log2N
• The entropy is zero when one of the symbols occurs with
probability 1.
• The entropy is maximum when all symbols occur with equal
probability.
• H is a continuous function of the probabilities (a small change
in probability, causes a small change in average information)
• If all symbols are equally likely, increasing the number of
symbols, increases H.
– The more possible outcomes there are, the more information should be
contained in the occurrence of any particular outcome

Copyright S. Shirani
Models for Information Sources
• Good models for sources lead to more efficient compression
algorithms
• Physical models: if we know something about the physics of
the data generation, we can use that information to construct a
model
– Exp: physics of speech production
• Probability models
– Simplest statistical model: each symbol that is generated by the source
is independent of every other symbol and each occurs with the same
probability (ignorance model)
– Next step: independent, a probability for each symbol
– Next step: discard the independence assumption and come up with a
description of the dependency

Copyright S. Shirani
Models for Information Sources
• One of the most popular ways of representing dependence in
data is through the use of Markov models
• kth-order Markov P(Xn=xn|Xn-1=xn-1,…, Xn-k=xn-k)= P(Xn=xn|
Xn-1=xn-1,…, Xn-k=xn-k, …)
– Knowledge of the past k symbols is equivalent to knowledge of the
past.
– If Xn belongs to a discrete set: also called finite state process
– Values taken by {Xn-1,…, Xn-k} is called the state of Markov process
– If the size of source alphabet is N, the number of states is Nk
• First-order Markov model: P(Xn=xn|Xn-1=xn-1).

Copyright S. Shirani
Models for Information Sources
• How to describe the dependency between samples?
– Linear models
– Markov chains
• Entropy of a finite state process:
M
H(X) = ∑ P(Si )H(X | Si )
i =1
where Si is the ith state of the Markov model, and P(Si) is the
stationary probability of state i.

Copyright S. Shirani
Example: Binary image
• Image has two types of pixels: white and black
• The type of next pixel depends on current pixel being white or black
• We can model pixels as a first order discrete Markov chain

P(b|w)
P(w|w) Sw Sb P(b|b)
P(w|b)
P(Sw) = 30/31, P(Sb) =1/31, P(b|w) = 0.01, P(w|b) = 0.3
• Entropy based on iid assumption: H = -(30/31)log(30/31)-(1/31)log(1/31)
= 0.206 bits
• Entropy: H(X|Sb) = -.3log.3-.7log.7= 0.881 bits
H(X|Sw) = -.01log.01-.99log.99= 0.081 bits
H(X) = (30/31)*0.081 + (1/31)*.881 = 0.107 bits

Copyright S. Shirani
Formal definition of encoding
An encoding scheme for a source alphabet A={a1,a2,…,aN} in
terms of a code alphabet C={c1, …,cM} is a list of mappings,
a1 -> w1
a2 -> w2
.
aN -> wN
in which w1, .., wN ∈ C+ where C+ is defined as

C = C k
+

k=1

Ck is the Cartesian product of C with itself k times.

Copyright S. Shirani
Formal definition of encoding
• Example: A={a,b,c}, code alphabet C={0,1} the scheme
a -> 01
b -> 10
c -> 111
is an encoding scheme.
Suppose that ai -> wi ∈C+ is an encoding scheme for a source alphabet
A={a1, …, aN}. Suppose that the source letter a1, …, aN occur with
relative frequencies (probabilities) f1, .. fN respectively. The average code
word length of the code is defined as:
− N
l = ∑ f i li
i =1

where li is the length of wi

Copyright S. Shirani
Fixed Length Codes
• If the source has an alphabet with N symbols, these can be
encoded using a fixed length coder using B bits per symbol,
where:

B = log 2 N

Copyright S. Shirani
Optimal codes
• The average number of code letters− required to encode a source text
consisting of P source letters is P l
• It may be expensive and time consuming to transmit
− long sequences of
code letters, therefore it may be desirable for l to be as small as
possible. −
• Common sense or intuition suggests that, in order to minimize l , we
ought to have the frequently occurring source letters represented by
short code words and to reserve the longer code words for rarely
occurring source letters (use variable length codes).
• Using variable length codes, we should make sure that the code is
decodable.

Copyright S. Shirani
Variable Length Codes: Examples
Letters P(ak) Code I Code II Code III Code IV
a1 0.5 0 0 0 0
a2 0.25 0 1 10 01
a3 0.125 0 00 110 011
a4 0.125 10 11 111 0111
Average length 1.125 1.25 1.75 1.875
• Code I: not uniquely decodable.
• Code II: not uniquely decodable.
• Code III: uniquely decodable. (Note: rate exactly equal to H.)
• Code IV: uniquely decodable.

Copyright S. Shirani
A test for unique decodability
• Two binary codewords a (k bit long) and b (n bit long) and n>k
• If the first k bits of b are identical to a, then a is called a prefix
of b
• The last n-k bits in b are called the dangling suffix
 Construct a list of all the codewords
 Examine all pairs of codewords to see if any codeword is a
prefix of another codeword
 Whenever there is such a pair, add the dangling suffix to the
list in the previous iteration
 Continue until:
 There is a dangling suffix that is a codeword: code not uniquely
decodeable
 There is no more dangling suffixes: code uniquely decodable

Copyright S. Shirani
A test for unique decodability
• Exp: {0, 01, 11}
• Dangling suffix: 1
• {0,01,11,1}
• No more dangling suffixes: code is uniquely decodable

Copyright S. Shirani
Prefix codes
• One type of code in which we will never face the possibility
of a dangling suffix being a codeword is a code in which no
codeword is a prefix of the other
• These type of codes are called prefix code
• A simple way to check if a code is prefix is to draw the binary
tree of the code

Copyright S. Shirani
Tree Representation of Codes

Code III Code IV

0 1 0
a1 a1
0 1 1
a3 a2 a2
0 1 1
a3 a4 a3
1
a4

• In a prefix code, all code words are external nodes (leaves).

Copyright S. Shirani
Instantaneously Decodable Codes

• Instantaneous codes decode


a symbol as soon as its code
is received.
• This simplifies the
decoding logic.
• It is both necessary and Uniquely
Prefix
sufficient that an decodable
codes
instantaneous code have no codes
code word which is a prefix
of another code word
(prefix condition)

Copyright S. Shirani
McMillan and Kraft theorems
• Theorem (McMillan’s inequality): If |S|=N and |A|=M and si-> wi ∈Ali
i=1,2,..,N is an encoding scheme resulting in a uniquely decodable code
then
N

∑M
i =1
− li
≤1
N
• For binary codes the condition is: ∑ 2 −l ≤ 1
i

i =1
• Theorem (Kraft’s inequality): Suppose that S={s1, …,sN} is a source
alphabet and A={a1, …,aM} is a code alphabet and l1, l2,..,lN are positive
integers. Then, there is an encoding scheme si -> wi i=1,2,..,N for S in
terms of A satisfying prefix condition with length(wi)=li if and only if
N

∑M
i =1
− li
≤1

Copyright S. Shirani
McMillan and Kraft theorems

Uniquely
decodable
code

McMillan

N
Exist a prefix encoding
scheme with lengths li Kraft
∑M
i =1
− li
≤1

Copyright S. Shirani
Kraft-McMillan inequalities
• Note that the theorem refers to existence of such a code and does not refer
to a particular code. A particular code may obey the Kraft inequality and
still not be instantaneous, but there will exist codes that have the li and are
instantaneous.
• Example 1: Is there an instantaneous code with code lengths 1,2,2,3?
– Kraft inequality: 2-1+2-2+2-2+2-3 > 1 : No
• It is nice to work with prefix codes, are we losing something (in terms of
codeword length) if we restrict ourselves to prefix codes?
• No. If there is a code which is uniquely decodable and nonprefix, the
values of l1, l2,..,lN for this code satisfy the Kraft-McMillan inequality.
Thus, according to Kraft theorem, a prefix code with the same codeword
length also exist.

Copyright S. Shirani
Kraft-McMillan inequalities
• If a set of {li} is available that obey the Kraft inequality, an
instantaneous code can be systematically built.
• Example: M=3, l={1,2,2,2,2,2,3,3,3} find an instantaneous code.

a1
0 0 a2
1 1 a3
2 a4
2 0 a5
1
a6 0 a7
2 1 a8
2 a9

Copyright S. Shirani
Kraft-McMillan inequalities
• One approach to build a uniquely decodable code is:
1. For the particular value of M and N, find all sets of {li} that satisfy
the Kraft inequality
2. Systematically build the codewords
3. Assign the shorter codeword to source letter with higher probability
(relative frequency) and longer codewords

to letter less likely
4. Find the average codeword length ( l ) of the above codes

5. Pick the code that has the minimum l
• This “brute force” approach is useful in “mixed” −
optimization problems, in which we want to keep l small and
serve some other purpose

• Where minimization of l is our only objective a faster and
more elegant approach is available (Huffman algorithm)

Copyright S. Shirani
Lossless Source Coding Theorem
• Consider a source with entropy H. Then for every
encoding scheme for S, in terms of A, resulting in a
uniquely decodable−
code, the average code word
length satisfies: l ≥ H
– It is possible to code the source, without distortion, using H +
ε bits, where ε is an arbitrarily small positive number.
However, it is not possible to code the source using B bits,
where B < H.
• The theorem does not tell how the coder can be
constructed.

Copyright S. Shirani
Kolmogorov complexity
• Kolmogorov complexity K(x) of a sequence x is the size of
the program needed to generate x
• In this size we include all inputs that might be needed by the
program
• We do not specify the programming language since it is
always possible to translate a program in one language to a
program in another language.
• If x is a random sequence with no structure the only program
that could generate it would contain the sequence itself
• There is a correspondence between size of smallest program
and amount of compression that can be obtained
• Problem: there is no systematic was of computing (or
approximating) the Kolmogrorov complexity

Copyright S. Shirani
Minimum Description Length
• Let Mj be a model from a set of models that attempts to
characterize the structure in a sequence x
• Let DMj be the number of bits required to describe the model
Mj.
– Example: if Mj has coefficients then DMj will depend how many
coefficients the model has and how many bits is used to represent each
• Let RMj(x) be the number of bits required to represent x with
respect to the model Mj
• Minimum description length would be given by:

min( DMj + RMj ( x))


j

Copyright S. Shirani

You might also like