Documente Academic
Documente Profesional
Documente Cultură
multimedia
Codarea Huffman
2020
1/8
Not, iuni teoretice
Aprecierea compresiei
s1 s2 ... sN
S:
p(s1 ) p(s2 ) . . . p(sN )
l min,XFM H(S)/ log2 M H(S)
Eficient, a codării: η = l
= l
⇒ η= l·log2 M
PN
Entropia sursei: H(S) = − p(sk ) · log2 p(sk ) [bit, i/mes.]
k=1
[bit, i/mes.]
M = numărul de simboluri din alfabetul codului.
Pentru coduri binare: X = {0, 1} ⇒ M = 2 ⇒ η = H(S) l
.
Factorul de compresie: FC = llu , lu = dlogM Ne
dlog2 Ne
Pentru coduri binare: lu = dlog2 Ne ⇒ FC = l
.
3/8
Exemplu codare Huffman statică
4/8
Exemplu codare Huffman statică
0.64+0.4·0.04+0.2·0.04+0.1·0.64+0.2·0.04 = = 0.9645
0.064 + 0.016 + 0.008 + 0.064 + 0.008 = 0.16 FC ,disp min = dlog
l
2 5e 3 ∼
= 2.2 = 1.36
disp min
5/8
Exemplu codare Huffman statică
6/8
Exemplu codare Huffman statică
Codul 1: Codul 2:
s1 → c1,disp min → 010 s1 → c1,disp max → 0010
s2 → c2,disp min → 00 s2 → c2,disp max →1
s3 → c3,disp min → 10 s3 → c3,disp max → 01
s4 → c4,disp min → 011 s4 → c4,disp max → 0011
s5 → c5,disp min → 11 s5 → c5,disp max → 000
Exemplu: Viteza mesajelor sursei: vmes = 10000 mesaje/sec.
Capacitatea necesară a canalului:
C = vmes · l = 10000 mesaje/sec · 2.2 bit, i/mesaj = 22000 bit, i/sec
Succesiuni de mesaje furnizate:
s1 s, i s4 ⇒ 1) 3 · 10000 = 30000 bit, i/sec; 2) 4 · 10000 = 40000 bit, i/sec;
⇒ buffer necesar cu capacitatea
1) 30000-22000=8000 bit, i; 2) 40000-22000=18000 bit, i.
s2 ⇒ 1) 2 · 10000 = 20000 bit, i/sec; 2) 1 · 10000 = 10000 bit, i/sec; ⇒ un
deficit de 1) 22000-20000=2000 bit, i/sec; 2) 22000 - 10000=12000 bit, i/sec.
Powered by TCPDF (www.tcpdf.org)
8/8