Transcript Capitolul 1
UNIVERSITY POLITEHNICA of BUCHAREST
DEPARTMENT OF COMPUTER SCIENCE
Conf. Dr. Ing. Costin-Anton Boiangiu
<[email protected]>
Notare (1)
[60%] Activitate in timpul semestrului
(laborator/proiect)
[05%] Faza documentare si raport preliminar
[10%] Documentatie proiect
[50%] Implementare, optimizari, paralelizari
[05%] Validarea rezultatelor obtinute (scenarii de test)
[30%] Raport final, articol revista
[10%] Activitate in timpul semestrului (curs)
[50%] Prezenta
[50%] Grad de participare la discutii in cadrul
prezentarilor colegilor
Notare (2)
[10%] Prezentare in cadrul cursului
[60%] Calitatea prezentarii si claritatea expunerii
[40%] Calitatea cercetarii depuse in domeniul prezentat si
abilitatea de a raspunde intrebarilor conexe
[20%] Examen Final (cu orice fel de documentatie scrisa pe
masa) – o idee/abordare originala plus algoritmul aferent
pentru rezolvarea unei probleme practice din cadrul ariilor
definite de curs
[50%] Descriere idee/abordare
[25%] Demonstratie matematica
[25%] Algoritm (pseudocod apropiat de un limbaj de
programare)
Criterii Promovare
Pentru promovare trebuie sa:
Obtineti:
50% din punctajul din timpul anului
50% din punctajul final
Sustineti o prezentare in fata colegilor, in cadrul
cursului, pe baza unei programari preliminare
Precizari Importante (1)
Alegerea prezentarii:
Deadline: 16 octombrie, ora 22:00, cerere pozitii pe site-ul cursului
si alocare in ordinea sosirii cererilor
Se pot alege teme din cadrul articolelor upload-ate pe site sau
altceva in domeniul cursului, de comun acord
Prezentarea va fi trimisa in fiecare luni de dinaintea cursului pana la
ora 22:00, pe e-mail-ul [email protected],ro, urmand a fi
postata pe site-ul de curs pentru a putea fi vizualizata de toti cei
interesati.
Prezentarile din prima saptamana vor beneficia de un bonus de 1
punct, iar in cea de a doua de 0.5 puncte
Alegerea proiectului
Deadline: 16 octombrie, ora 22:00
Pentru fiecare saptamana intarziere se scade 1 punct din nota de
proiect
Precizari Importante (2)
Predarea proiectului (implementare)
Pentru cei care nu echivaleaza examen: ultimul laborator
Pentru cei care echivaleaza examen: preziua examenului
Predarea proiectului (raport cercetare, articol
conferinta/revista)
Pentru cei care nu echivaleaza examen: ultimul laborator
Pentru cei care echivaleaza examen: preziua examenului
Pentru predare inainte de termen se acorda bonus de 0.5
puncte pe saptamana in cadrul activitatii de laborator/proiect
Cei care sunt acceptati cu un articol la o conferinta/revista
importanta (necesita validare) primesc 10 la aceasta
materie!
Ce este compresia?
Definitia 1: Compresia este stiinta reprezentarii datelor intr-o
forma compacta
Definitia 2: Compresia este procesul de minimizare a spaţiului
ocupat sau a timpului necesar transmiterii unei anumite cantităţi
de informaţie
Analogie fizica: impachetarea unei valize
7
De ce compresie?
In lumea fizica
Insuficienta spatiului
In lumea digitala
Intrebare: Capacitatea de stocare/transmitere creste exponential. Merita
efortul?
Raspuns: Da, mai multa viteza.
Exemple:
1 sec de audio CDDA:
1 sec de audio HD:
44100 samples x 2 channels x 16 bits/sample = 1,411,200 bits
192,000 x 2 x 24/32 = 9,216,000/12,288,000 bits
1 sec de video CCIR 601 = 20+ MB
1 frame VGA (RGB):
1024 x 768 x 24 = 18,874,368 bits
8
De ce compresie?
Alte exemple
HDTV:
Pana la 2,985 Mbps (1920 x 1080 x 24 x 60)
Cablu HDMI 5-10 Gpbs
NHK’s 8K:
7680 x 4320 x 24 x 30 = 23,880 Gpbs (!)
Compresie
Audio 28Mbps 7-28Mbps
Video 24Gbps 180-600 Mbps
9
De ce compresie?
Concluzie – fara compresie:
Multe aplicatii/servicii nu ar fi functionale
Ex., streaming video
Alte servicii ar fi mult mai scumpe
Ex. Telefonie analogica vs. digitala
De ce nu am tine datele compresate mereu?
Majoritatea formatelor de date sunt proiectate pentru
achizitie/consum nu si pentru stocare eficienta
10
Terminologie
original
x
compresat
Compresie
y
decompresat
Decompresie
x’
Metodele de compresie pot fi împărţite în:
metode de compresie cu pierdere
metode de compresie fără pierdere
11
Terminologie
Factorul de compresie:|x|/|y|
|x| reprezinta lungimea in biti a mesajului initial, iar |y|
reprezinta lungimea in biti a mesajului codificat
Ex.: |x| = 65,536, |y| = 16384, compresie = 4:1
sau, marimea datelor a fost redusa la (|x|-|y|)/|y| = 75%
Alte marimi ale codificarii
Biti / esantion (bits per sample)
Ex. ASCII: 8 bits/char, RGB: 24/48/72 bits/pixel
Distorsiune (metode cu pierderi)
Raportul dintre diferenta dintre x si x’ perceputa de om si
diferenta matematica dintre x si x’
12
Compresia cu pierdere
Metodele de compresie cu pierdere de informaţie sunt
folosite în special în transmisia semnalului audio şi video,
unde pierderea de informaţie
au ca rezultat o scădere a calităţii sunetului, respectiv
imaginii
13
Compresia fara pierdere
Conceptul de compresie de date fără pierdere pare
imposibil la prima vedere, dar o analiză mai atentă face ca
această idee, de compresie fără pierdere, să aibă sens
Dacă ne gândim la prescurtările din viaţa de zi cu zi
(abrevieri: prof., etc., CEC, ş.a.) acestea apar ca o formă
primitivă a compresiei de date
Compresia de date fără pierdere, prezentă în programele
de arhivare, în sistemele de transmisiune a datelor, a
evoluat de-a lungul timpului pornind de la algoritmi
simpli (suprimarea zerourilor, codarea pe şiruri) şi
ajungând la algoritmii complecşi folosiţi în prezent
14
Compresia fara pierdere
Metodele de compresie fără pierderi au la bază ideea că, în
general, cantitatea de informaţie prelucrată (transmisă,
depozitată) conţine o anumită redundanţă care se datorează:
distribuţiei caracterelor (unele caractere au o frecvenţă de apariţie
mult mai mare decât altele)
repetării consecutive a unor caractere;
distribuţiei grupurilor de caractere (unele grupuri sunt mult mai
frecvente decât altele şi în plus există grupuri care nu apar deloc)
distribuţiei poziţiei (unele caractere sau grupuri ocupă poziţii
preferenţiale, predictibile în anumite blocuri de date)
15
Avantajele compresiei
Avantajele compresiei sunt:
reducerea spaţiului necesar depozitării unei cantităţi de
informaţie;
scăderea timpului de transmitere a unor mesaje, ceea ce
duce la scăderea costului per mesaj şi posibiltatea creşterii
traficului într-o reţea de transmisiuni
această scădere a timpului este efectul direct al micşorării
cantităţii de informaţie, dar şi efectul indirect al micşorării
pierderilor de timp datorate protocoalelor de comunicaţie
scăderea timpului de rulare a unui program datorită
timpului de acces la disc
16
Clasificarea algoritmilor de compresie fără pierderi
algoritmi statici - se bazează pe o statistică bine cunoscută a sursei
şi dau rezultate bune în cazul în care sursele au o statistică
asemănătoare cu cea presupusă
in caz contrar, rezultatul poate fi o extensie în loc de o compresie
algoritmi semiadaptivi (sau în două treceri) -
algoritmi care
folosesc statistica simbolurilor mesajului, statistică ce se obţine
printr-o parcurgere iniţială a întregului mesaj
aceşti algoritmi oferă rezultate pentru orice tip de sursă, dar nu pot fi
folosiţi într-o transmisiune
algoritmi adaptivi - sunt de obicei cei mai potriviti pentru orice tip
de sursă
tehnicile adaptive au ca idee construirea unui "dicţionar de codare" al
simbolurilor mesajului, paralel cu codarea pentru compresie a mesajului.
acest dicţionar se va construi identic la recepţie, pe baza informaţiei
recepţionate
17
Modelare si codificare
Cerinţele reconstrucţiei sunt cele ce impun dacă compresia este cu sau fără
pierderi, schema exactă depinzând de un număr de factori
Unii din cei mai importanţi sunt impuşi de caracteristicile datelor destinate
compresiei, de exemplu, o tehnică de compresie poate fi eficientă pentru
compresia unui text, dar total ineficientă pentru imagini
Fiecare aplicaţie prezintă particularităţi specifice
Dezvoltarea algoritmilor de compresie pentru o varietate de date cuprinde
două faze:
prima fază se referă de obicei la modelare, când se încearcă extragerea
informaţiei despre orice redundanţă din date şi descrierea acesteia sub forma
unui model
a doua fază este codarea.
Diferenţa dintre date şi model se numeşte secvenţă reziduală sau reziduu.
18
Modelare si Codificare. Exemplul 1
Se considera secventa:
Sn = 9, 11, 11, 11, 14, 13, 15, 17, 16, 17, 20, 21
Codificare binara necesita 5 bits/sample
Se considera modelul:
Ŝn = n + 8:
9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
Reziduu
en = Sn - Ŝn: 0, 1, 0, -1, 1, -1, 0, 1, -1, -1, 1, 1
Ex. codificare: ‘00’ <=> -1, ‘01’ <=> 0, ‘10’ <=> 1
2 bits/sample
Schema de compresie = model + reziduu
Obs. Modelul trebuie sa fie codificat de asemenea (de obicei in cadrul
algoritmului)
19
Modelare si Codificare. Exemplul 2
Se considera secventa:
Sn = 27, 28, 29, 30, 30, 32, 31, 31, 29, 28, 27
Se considera modelul:
Ŝ1 = 0; Ŝn = Sn-1 for n > 1
0, 27, 28, 29, 30, 30, 32, 31, 31, 29, 28
Reziduul
{en}= 27, 1, 1, 1, 0, 2, -1, 0, -2, -1, -1
Poate fi codificat cu mult mai putini biti
Codificare predictiva
Folosirea datelor precedente pentru a calcula date viitoare.
Foarte folositor pentru exploatarea redundantei temporale
Ex. in audio si video
20
Codificare in lumea reala: Braille (1821)
“Be nice to others”
21
Codificare in lumea reala: Morse (1844)
Observati diferentele in lungimele codurilor
22
Codul Morse vs. Frecventa literelor
In general, frecventa mare/mica => cod scurt/lung
Acesta este ideea in spatele schemei de codificare ce exploateaza
redundanta statistica.
23
Reprezentarea datelor
Date analogice (continue)
Reprezentate de numere reale
Observatie: nu pot fi stocate in calculatoare
Date digitale (discrete)
Valori intr-un set finit {a1, a2, …, an},
Toate datele sunt reprezentate ca siruri de simboluri din acest set.
Ex.: {a,b,c,d,r} => abc, car, bar, abracadabra, …
Folosim date digitale pentru a aproxima date analogice
24
Seturi de simboluri
Alfabetul roman si semnele de punctuatie
ASCII - 256 simboluri
Braille, Morse
Binar- {0,1}
0 si 1 se numesc biti
Toate datele digitale pot fi reprezentate eficient cu biti
Ex.: {a, b, c, d}, reprezentare binara cu lungime fixa (2
bits/simbol):
Simbol
Binar
a
00
b
01
c
10
d
11
25
Surse de informaţie si codificare
Sursele de informatie pot fi analogice sau discrete
Majoritatea surselor de informatie din domeniul
calculatorelor si al aplicatiilor internet sunt discrete
Pentru a descrie o sursă discretă fără memorie (SDFM) sunt
necesare două mărimi: alfabetul sursei şi probabilităţile de
furnizare a fiecărui simbol:
s1
S :
p
1
s2
...
p2
...
sN
p N
N
p(s k ) 1
k 1
26
Surse de informaţie si codificare
dacă numărul de simboluri este finit, sursa se numeşte discretă
dacă la un moment dat se emite sigur un simbol atunci sursa
este completă
sursa este fără memorie dacă evenimentele sk sunt
independente, adică furnizarea unui simbol la un moment dat
nu depinde de simbolurile furnizate anterior
totalitatea simbolurilor unei surse formează alfabetul sursei
orice succesiune finită de simboluri, în particular un singur
simbol, se numeşte cuvânt
totalitatea cuvintelor formate cu un anumit alfabet se numeşte
limbaj
27
Teoria informatiei
Dezvoltata formal de Claude Shannon la Bell Labs in
1940-1950
Explica limitele de codificare/transmisie folosind teoria
probabilitatilor
Informatia furnizata de un simbol A al unei surse de
informatii este:
P(A) reprezinta probabilitatea de aparitie a simbolului A
i ( A ) log
1
b
P ( A)
log
b
PA
28
Surse de informaţie si codificare
6
Observatii
5
P(A) mic => i(A) mare
4
P(A) mare => i(A) mic
3
Idee:
Simbolurile cu probabilitate
mica (surpriza) contin mai
multa informatie
Daca A si B sunt
independente atunci:
i(AB) = i(A) + i(B)
log
2
2
x
1
0
0
0.1
0.2
i ( AB ) log
log
0.3
0.5
1
b
1
b
0.4
P ( A)
0.6
log
P ( AB )
log
0.7
1
b
0.8
0.9
1
b
1
P ( A) P ( B )
i( A) i( B )
P(B)
29
Exemplu: aruncarea monezii
Moneda ideala
Fie H si T rezultatele aruncarii
Daca P(H) = P(T) = 1/2, atunci
i(H) = i(T) = -1/log2(1/2) = 1 bit
Moneda masluita
Fie P(H) = 1/8, P(T) = 7/8
i(H) = 3 biti
i(T) = 0.193 biti
Obs. ca P(H) + P(T) = 1
30
Entropie
Entropia este informaţia medie pe simbol sau, altfel formulat, este
incertitudinea medie asupra simbolurilor sursei S, sau informatia
medie furnizata de un simbol
Unitatea de masura pentru entropie este biti/simbol
Daca experimentul genereaza simboluri, atunci (pentru log2) H este
numarul mediu de simboluri binare necesare pentru codificare
Shannon: Nici un algoritm fara pierderi nu poate compresa mai
bine
N
N
H ( S ) p ( s i ) i ( s i ) p ( s i ) log( p ( s i ))
i 1
i 1
31
Exemplul 1
Se considera secventa:
1 2 3 2 3 4 5 4 5 6 7 8 9 8 9 10
P(1) = P(6) = P(7) = p(10) = 1/16
P(2) = P(3) = P(4) = P(5) = P(8) = P(9) = 2/16
Presupunand ca secventa este iid (Independent &
Identically Distributed):
H
10
i 1
P ( i ) log
2
P (i ) 4
2
1
2
log 2
log 2
6
3 . 25 bits
16
16
16
16
1
32
Exemplul 2
Consideram secventa
12123333123333123312
P(1) = P(2) = 1/4, P(3) = 1/2, H = 1.5 bits/simbol
Total biti: 20 x 1.5 = 30
Reconsideram secventa
(1 2) (1 2) (3 3) (3 3) (1 2) (3 3) (3 3) (1 2) (3 3) (1 2)
P(1 2) = 1/2, P(3 3) = 1/2
H = 1 bit/simbol x 10 simboluri = 10 biti
In teorie, se poate extrage o structura luand esantioane mai
mari
In realitate, ne trebuie un model corect, pentru ca de obicei nu
este practic sa observam sursa prea mult timp
33
Modele
Un model bun pentru date conduce la algoritmi de compresie
eficienţi
Pentru a dezvolta algoritmi care efectuează operaţii matematice
asupra datelor, acestea trebuie modelate matematic
Modele fizice
Dacă se cunoaşte ceva despre mecanismul de generare a datelor,
se poate folosi această informaţie pentru construirea modelului
De exemplu, în aplicaţiile referitoare la vorbire, cunoaşterea
mecanismului de producere a vorbirii poate fi folosit la
construirea unui model matematic pentru procesul vorbirii
eşantionate.
34
Modele
Modele probabilistice
Cel mai simplu model statistic pentru sursă este de a
presupune că fiecare mesaj furnizat de sursă este
independent de celelalte şi fiecare se produce cu aceeaşi
probabilitate
Acesta este numit model de ignoranţă si ar putea fi util când nu se
cunoaşte nimic despre sursă
Următorul pas în creşterea complexităţii modelului este de a
păstra presupunerea asupra independenţei, dar de a înlătura
presupunerea de probabilitate egală pentru mesaje
În acest caz se alocă fiecărui mesaj o probabilitate în funcţie de
frecvenţa de furnizare a mesajului respectiv.
35
Modele
Modele probabilistice (cont)
Pentru o sursă care generează mesaje dintr-un alfabet
S = {s ,..., s }
1
M
se poate folosi modelul de probabilitate
Cu acest model se poate calcula entropia sursei şi pot fi construite
coduri eficiente pentru reprezentarea mesajelor din S, adică se
poate folosi un număr mediu minim de biţi pentru fiecare mesaj
Dacă se renunţă la presupunerea de independenţă, se pune
problema găsirii unui mod de a descrie dependenţa datelor, aşa
cum este în cazul modelelor Markov
36
Modele
Model de surse compuse
În multe aplicaţii nu este potrivit a se folosi un singur
model pentru a descrie sursa, caz în care se poate defini o
sursă compusă, care poate fi văzută ca o combinaţie de
diverse surse, din care una este activă la un moment dat
Fiecare din acestea este descrisă de un model propriu
Source 1
Source 2
…
Source n
37
Modele
Model Markov
Unul dintre cele mai răspândite moduri de reprezentare a
dependenţei între date este folosirea modelului Markov
Pentru modelarea datelor, în compresia fără pierderi se
foloseşte un model particular numit lanţ Markov discret
Fie {xn } secvenţa observată. Aceasta secvenţă se zice că
este un model Markov de ordin k, dacă:
P x n x n 1 , , x n k
P x n x n 1 , , x n k ,
adică simbolul xn depinde numai de ultimele k mesaje xn-1,
..., xn-k
38
Modele
Multimile {xi-1, …, xi-k}, i=n, n-1,…, reprezinta starile
procesului
Dacă mărimea alfabetului sursei este l, numărul de stări este
lk
Cel mai des folosit model Markov este cel de ordinul 1,
pentru care:
P x n x n 1 P x n x n 1 , , x n k ,
39
Modele
Folosirea modelului Markov nu necesită prezumţia de
liniaritate
De exemplu, fie o imagine binară, care are numai două
feluri de pixeli - albi şi negri
Se ştie că apariţia unui pixel alb la observarea următoare
depinde în oarecare măsură dacă pixelul curent este alb sau
negru
Prin urmare, se poate modela succesiunea de pixeli cu un
lanţ Markov
40
Modele
Se defines doua stari: Sb & Sw
pentru valoarea pixelului curent
Se defines probabilitatile:
P(Sb) = prob. ca pixelul sa
fie negru
P(Sw) = prob. Ca pixelul sa
fie alb
Probabilitatile de tranzitie
sunt:
P(b|b), P(b|w)
P(w|b), P(w|w)
41
P(w|w)
P(b|b)
P(b|w)
Sw
P(w|b)
Sb
H S w P b / w log b / w P w / w log w / w
H S b P w / b log b / w P b / b log b / b
P w / w 1 P b / w ,
P b / b 1 P w / b
H P S b H S b P S w H S w
Exemplu
Fie
P S w 30 / 31
P S b 1 / 31
P w / w 0 . 99
P b / w 0 . 01
P b / b 0 . 7
P w / b 0 .3
Pentru modelul iid (Independently and Identically Distributed):
H iid 0 . 8 log 0 . 8 0 . 2 log 0 . 2 0 . 206
Pentru modelul Markov:
H S b 0 . 3 log 0 . 3 0 . 7 log 0 . 7 0 . 881
H S w 0 . 01 log 0 . 01 0 . 99 log 0 . 99 0 . 081
H Markov
42
30
31
0 . 081
1
31
0 . 881 0 . 107
Folosirea modelelor Markov in compresia textelor
Modelele Markov sunt utile în compresia textelor, deoarece
probabiltatea de apariţie a unei litere este influenţată de
precedentele
Fie cuvântul “ornitoring”:
Se presupune că s-a procesat deja ornitorin şi urmează a se coda
următoarea literă
Dacă nu se ţine seama de context şi se tratează litera ca o
surpriză, probabilitatea să apară litera g este relativ scăzută
Dacă se foloseşte un model Markov de ordinul Ι, probabilitatea să
urmeze g creşte considerabil
Cu creşterea ordinului modelului Markov (de la “n” la “in”, la
“rin” ş.a.m.d.) probabilitatea literei g devine mai mare, ceea ce
conduce la o entropie scăzută.
43
Coduri unic decodificabile
Codificarea sursei S, prin alfabetul X, inseamnă găsirea unei corespondenţe
biunivoce (S,X) între cuvintele de cod {ci | i=1,2,...,N} şi simbolurile sursei S
Fiecare cuvânt de cod este o succesiune finită de litere din alfabetul codului
Probabilitatea unui cuvânt de cod este dată de probabilitatea simbolului care
trebuie transmis
Definiţie: Un cod se numeşte unic decodabil dacă fiecărei succesiuni de
cuvinte de cod îi corespunde o singură succesiune de mesaje (simboluri) ale
sursei.
Definiţie: Dacă un cuvânt de cod ci este format din succesiunea xi1xi2xim, atunci
succesiunea xi1...xik, km se numeşte prefix al cuvântului respectiv
Dacă nici un cuvânt de cod nu este prefix pentru alt cuvânt de cod se spune că
acel cod are proprietatea de prefix.
44
Coduri unic decodificabile
Exemple
Alfabet = {a1, a2, a3, a4}
P(a1) = 1/2, P(a2) = 1/4, P(a3) = P(a4) = 1/8
H = 1.75 bits
n(ai) = lungime(cuvant cod(ai)), i=1..4
Lungime medie l = i=1..4P(ai) n(ai)
Coduri posibile:
Probabilitate
Cod 1
Cod 2
Cod 3
Cod 4
a1
0.500
0
0
0
0
a2
0.250
0
1
10
01
a3
0.125
1
00
110
011
a4
0.125
10
11
111
0111
1.125
1.250
1.750
l
1.875
45
Coduri unic decodificabile
Probabilitate
Cod 1
Cod 2
Cod 3
Cod 4
a1
0.500
0
0
0
0
a2
0.250
0
1
10
01
a3
0.125
1
00
110
011
a4
0.125
10
11
111
0111
1.125
1.250
1.750
l
1.875
Cod 1
Coduri identice pentru a1 si a2==> decode(‘00’) = ???
Cod 2
Coduri unice dar ambigue: decode( ‘00’/’11’) = ???
Cod 3
Unic decodificabil, instantaneu
Code 4
Unic decodificabil, aproape instantaneu
46
Coduri unic decodificabile
Decodificare unica:
Pentru orice secventa de cuvinte cod exista o unica
decodificare pentru ea
Unica != instantanee
Ex.:
a1 0
a2 01
a3 11
decode(0111111111) = a1a3… or a2a3… ?
Nu se stie pana la sfarsitul secventei
0111111111 01111111a3 011111a3a3 0111a3a3a3
01a3a3a3a3 a2a3a3a3a3a3
47
Test de Decodificare Unica
Prefix si sufix
Fie a = a1…ak, b = b1…bn coduri binare si k < n
Daca a1…ak = b1…bk atunci a este prefix al lui b si
bk+1…bn este sufix (dangling suffix) al lui a: ds(a, b)
Algoritm
Fie C = {cn} setul tuturor cuvintelor cod
Pentru toate perechile (ci, cj) in C repeta:
Daca ds(ci, cj) C
// sufixul NU este cuvant cod
C = C U ds(ci, cj)
Altfel
// sufixul este cuvant cod
return NOT_UNIQUE
pana cand nu mai exista perechi unice
return UNIQUE
48
Coduri Prefix
Cod prefix:
Niciun cuvant cod nu este prefix al altuia
Arborii binari = decodificatori de prefix:
symbol
code
a
00
b
01
c
1
0
1
0
1
a
b
c
repeat
curr = root
repeat
if get_bit(input) =
1
curr = curr.right
else
curr = curr.left
until is_leaf(curr)
output curr.symbol
until eof(input)
49
Decodificarea coduril prefix. Exemplu
simbol
cod
a
0
b
10
c
110
d
1110
r
1111
1
0
a
0
b
1
0
c
1
0
1
d
r
abracadabra = 010111101100111001011110
50
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= 010111101100111001011110
Output = ----------51
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= 010111101100111001011110
Output = a---------52
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= -10111101100111001011110
Output = a---------53
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= -10111101100111001011110
Output = a---------54
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= --0111101100111001011110
Output = ab--------55
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= ---111101100111001011110
Output = ab--------56
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= ---111101100111001011110
Output = ab--------57
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= ----11101100111001011110
Output = ab--------58
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= -----1101100111001011110
Output = ab--------59
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= ------101100111001011110
Output = abr-------60
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= -------01100111001011110
Output = abr-------61
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= -------01100111001011110
Output = abra------62
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= --------1100111001011110
Output = abra------63
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= --------1100111001011110
Output = abra------64
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= ---------100111001011110
Output = abra------65
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= ----------00111001011110
Output = abrac-----66
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= -----------0111001011110
Output = abrac-----67
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
1
0
1
d
r
= -----------0111001011110
Output = abraca----68
Exemplu decodificare
1
0
a
0
b
1
0
c
Input
Si tot asa…
1
0
1
d
r
= ------------111001011110
Output = abraca----69
Concluzii
In compresia datelor un rol important il are teoria codarii si teoria
informatiei
Compresia se refera la micsorarea redundantei mesajului de transmis
Compresia de poate face:
cu pierdere de informatie, asa cum este cazul surselor continue
(analogice) discretizate, reprezentate numeric in calculator
fara pierdere de informatie, asa cum este in cazul textelor
Ca masura a compresiei se foloseste - cel mai des – marimea numira
raportul de compresie, ca raport intre marimea fisierului comprimat
si marimea fisireului initial, necomprimat
Un criteriu complet al calitatii compresiei trebuie sa considere insa si
complexitatea algoritmilor de codare/decodare
70