Sunteți pe pagina 1din 17

1

INTRODUCERE N COMPRESIA DATELOR




Compresia datelor se ocup cu reprezentarea informaiei ntr-o
form compact. Acest lucru se realizeaz prin identificarea i
extragerea redundanei din date. Datele pot fi caractere dintr-un fiier
text, numere ce reprezint eantioane ale unor semnale vocale sau de
imagine etc.
Exemple de compresie [2]:
- codul Morse, care aloc literelor ce apar mai des n cuvinte mai
puine semne (linie, punct) i celor mai rare, mai multe semne;
- alfabetul Braille, care folosete tablouri de puncte de
dimensiuni 2x3, n care punctele sunt distribuite n funcie de
probabilitile de apariie a literelor n cuvinte.
n aceste exemple de compresie s-a folosit structura statistic a
cuvintelor, dar mai exist i alte caracteristici ale semnalelor ce pot fi
folosite n scopul realizrii compresiei. Astfel, n timpul vorbirii,
construcia fizic a cavitii bucale dicteaz tipul de sunete ce se produc,
adic mecanica producerii vorbirii impune structura vorbirii, prin
urmare, n loc de a transmite vorbirea nsi, s-ar putea transmite
informaii cu privire la conformaia cavitii bucale, care ar putea fi
folosite la recepie pentru a sintetiza vorbirea. n acest sens, o cantitate
adecvat de informaie privind conformaia cavitii bucale poate fi
reprezentat mai compact dect numerele ce reprezint eantioanele
semnalului vocal.
2
n compresie mai pot fi folosite caracteristicile utilizatorului
datelor. De multe ori, cnd se transmit semnale sonore sau vizuale,
acestea sunt destinate percepiei umane, dar oamenii au posibiliti de
percepie limitate. De exemplu, oamenii nu pot auzi frecvene foarte
nalte, pe care, ns, unele animale le pot percepe. Aadar, nu are rost a
transmite informaii ce nu pot fi percepute, astfel nct informaiile
irelevante nu mai trebuie transmise.
Cu toate c n ultimul timp capacitatea de stocare i transmitere a
informaiei a crescut mult (de exemplu compact discul i fibra optic),
aceasta nu rspunde pe deplin cerinelor practice, motiv care justific
necesitatea compresiei fiierelor de dimensiuni mari ce trebuie stocate
sau transmise. n cazul stocrii, pentru a crete volumul de date ce poate
fi stocat, cum este cazul fiierelor grafice, se folosesc metode care
comprim datele la stocare i le decomprim la redare. n cazul
transmiterii, limea de band a semnalelor digitale este foarte mare, n
comparaie cu a canalelor disponibile, astfel nct compresia datelor la
emitor este absolut necesar pentru a putea folosi canalul. La recepie
are loc operaia de decompresie. De exemplu, semnalul TV de nalt
definiie, HDTV, necesit pentru transmiterea fr compresie
aproximativ 884 Mbii/secund. Pentru a transmite aceast cantitate
mare de informaie, ar fi necesar un canal cu banda de cca. 220 MHz.
Folosind compresia, este necesar a transmite mai puin de 20 Mbii /sec,
care, mpreun cu semnalul audio, pot fi transmii ntr-o band de 6
MHz.

Tehnici de compresie i decompresie

Tehnicile sau algoritmii de compresie i de decompresie cuprind
doi algoritmi: unul care furnizeaz reprezentarea
c
X pe mai puini bii a
3
semnalului de intrare X i algoritmul de reconstrucie care opereaz
asupra lui
c
X , pentru a produce semnalul reconstruit

X .
Schemele de compresie se mpart n dou clase:
- compresie fr pierderi, cnd

X X = ;
- compresie cu pierderi, cnd

X X . n acest caz se realizeaz o


compresie mai mare.

Compresia fr pierderi

Dup cum arat numele, aceasta nu implic pierderea de
informaie, datele iniiale fiind refcute exact din cele compresate.
Aceast compresie se folosete de obicei pentru semnale discrete ca
text, date generate de calculator, unele tipuri de informaie video,
deoarece refacerea exact este esenial n cazul textelor (sensul
comunicrii), unor imagini (imagistic pentru diagnostic), numere
(comunicri bancare) etc.

Compresia cu pierderi

Compresia cu pierderi conduce la o rat de compresie superioar
cu preul pierderii de informaie, datele care au fost supuse compresiei
neputnd fi refcute exact. Aceast compresie este mai eficient cnd se
aplic semnalelor imagistice sau sonore, caz n care pierderea de
informaie din afara percepiei vizuale sau auditive umane poate fi
tolerat. Multe tehnici de compresie cu pierderi pot fi ajustate la diferite
nivele de calitate. Evident, creterea acurateei semnalului refcut se
obine cu preul unei compresii mai reduse. Volumul compresiei
depinde att de mrimea redundanei sursei, ct i de eficiena reducerii
acesteia.
4

Evaluarea compresiei

Un algoritm de compresie poate fi evaluat n funcie de:
- necesarul de memorie pentru implementarea algoritmului;
- viteza algoritmului pe o anumit main;
- raportul de compresie;
- calitatea reconstruciei.
De obicei, ultimele dou criterii sunt eseniale n adoptarea
algoritmului de compresie.
Uzual, performanele compresiei pot fi exprimate prin raportul
de compresie i rata de compresie.
Raportul de compresie este raportul dintre numrul de bii
necesar reprezentrii datelor nainte i dup compresie.
Rata de compresie reprezint numrul mediu de bii necesar
reprezentrii unui eantion.
n compresia cu pierderi, versiunea reconstruit difer de
varianta original i, pentru a determina eficiena algoritmului de
compresie, trebuie s existe mijloace de apreciere a diferenei dintre
semnalul original i cel reconstruit. Diferena dintre semnalul original i
cel reconstruit se numete distorsiune. Tehnicile de compresie cu
pierderi se folosesc de obicei pentru compresia semnalelor analogice,
care se mai numesc forme de und, motiv pentru care compresia
semnalelor analogice mai poart denumirea de codarea formelor de
und. n cazul codrii semnalelor video i sonore destinatarul este, de
obicei, omul, al crui rspuns este dificil de apreciat, motiv pentru care
se folosesc msuri aproximative de determinare a calitii reconstruciei.
Ali termeni folosii n aprecierea diferenei dintre semnalul
original i cel refcut este fidelitatea i calitatea. Acestea sunt cu att
5
mai ridicate, cu ct diferena dintre versiunea reconstruit i cea
original a sursei este mai mic.

Modelare i codare

Cerinele reconstruciei sunt cele ce impun dac compresia este
cu sau fr pierderi, schema exact depinznd de un numr de factori.
Unii din cei mai importani sunt impui de caracteristicile datelor
destinate compresiei, de exemplu, o tehnic de compresie poate fi
eficient pentru compresia unui text, dar total ineficient pentru
imagini. Fiecare aplicaie prezint particulariti specifice.
Dezvoltarea algoritmilor de compresie pentru o varietate de date
cuprinde dou faze:
- prima faz se refer de obicei la modelare, cnd se ncearc
extragerea informaiei despre orice redundan din date i descrierea
acesteia sub forma unui model;
- a doua faz este codarea.
Diferena dintre date i model se numete secven rezidual.
n continuare sunt prezentate cteva exemple de modelare a
datelor.

Exemplul 1.
Fie secvena de eantioane
{ } {9,11,11,11,14,13,15,17,16,17, 20, 21}
n
x = , pentru 1,12 n = .
Dac se dorete a se transmite sau stoca reprezentarea binar a
acestor numere, ar fi necesari 5 bii/eantion. Un model sugerat de
reprezentarea eantioanelor secvenei, care ar necesita mai puini bii, ar
putea fi o dreapt, descris de ecuaia:
8;
n
x n = + 1, 2, n =
6
n Fig. 1 s-au reprezentat eantioanele secvenei.



Fig. 1

Diferena dintre date i model, adic eroarea rezidual, este dat
de secvena:
{0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1}
n n n
e x x = =
Secvena rezidual conine numai trei valori, numerele { 1, 0, 1} ,
care pot fi codate cu 2 bii, de exemplu:

1 00
0 01
1 10


i, prin urmare, se obine compresia prin transmiterea sau stocarea
parametrilor modelului i secvena rezidual.

7
Exemplul 2.
Fie secvena {27, 28, 29, 28, 26, 27, 29, 28, 30, 32, 34, 36, 38}
n
x = ,
cu reprezentarea din Fig. 2.



Fig. 2

Se observ c secvena nu urmeaz o lege simpl, ca n cazul
precedent, n schimb, fiecare valoare este apropiat de precedenta. Se
presupune c se transmite prima valoare, apoi se transmite diferena fa
de valoarea precedent.
Astfel, secvena transmis ar fi: 1, 1, -1, -2, 1, 2, -1, 2, 2, 2, 2, 2.
Pentru transmiterea acestei secvene sunt necesare 4 numere {-1, 1, -2,
2}, care pot fi codate cu 2 bii, dup cum urmeaz:

1 00
1 01
2 10
2 11


8
La fel ca n cazul precedent, numrul valorilor distincte a fost
redus, fiecare numr fiind reprezentat pe un numr mai mic de bii,
efectundu-se astfel compresia. Decodorul adaug fiecare valoare
recepionat la valoarea precedent decodat pentru a obine secvena
reconstruit.
Tehnicile care folosesc valorile trecute ale secvenei pentru a
estima valoarea curent i apoi codeaz eroarea de predicie sau
rezidual se numesc predictive.
n cazul redundanei de tip statistic, sursele genereaz mesaje cu
diferite probabiliti, caz n care este avantajos a asigna coduri binare de
lungimi diferite, diferitelor simboluri.

Exemplul 3.
Fie secvena de mesaje m a r e a b/ e b/ t a a a r e b/ t a a a a r e
b/ m a r e, tipic pentru toate secvenele generate de surs. Se observ
c secvena este format din ase mesaje diferite. Pentru a reprezenta
ase mesaje, sunt necesari 3 bii/mesaj. n loc de a proceda astfel, se
poate folosi codul din Tabelul 1.
Tabelul 1
a 1
e 000
r 001
b/ 010
m 0110
t 0111

Se observ c s-a atribuit cuvntul cu un singur bit mesajului
care apare cel mai des si cel mai lung cuvnt mesajului care apare cel
mai rar. Cu acest cod rezult 75 bii pentru ntreaga secven. Cum sunt
9
27 mesaje n secven, rezult c sunt atribuii 2,7 bii/mesaj. Aceasta
nseamn un raport de compresie 1,08. n cazul textelor, mpreun cu
redundana statistic, exist redundan n forma cuvintelor care se
repet mai des. Avantajul acestui tip de redundana const n
posibilitatea construirii unei liste de cuvinte i apoi s se reprezinte
poziia lor n list. Acest tip de compresie se numete tehnic de
dicionar. Adesea, structura sau redundana datelor devine mai evident,
dac se consider grupuri de mesaje.

Preliminarii matematice pentru compresia far pierderi

Shannon a definit informaia ataat unui eveniment A, care se
produce cu probabilitatea ( ) p A , ca fiind [87]
( ) log ( )
x
i A p A = (1)
Consideraii asupra bazei logaritmului vor fi fcute ulterior. Cu
alte cuvinte, cu ct probabilitatea unui eveniment este mai mic, cu att
informaia adus de acesta este mai mare, i invers. Caracterul subiectiv
al unui eveniment este greu msurabil, motiv pentru care informaia
asociat unui eveniment va fi msurat matematic cu relaia (1), ea fiind
eliberat de caracterul su semantic.
O alt proprietate a acestei definiii matematice a informaiei este
c informaia obinut la producerea a doua evenimente independente
este suma informaiilor obinute la producerea evenimentelor
individuale.
( ) ( ) ( ) i AB i A i B = + (2)
Unitatea de msur a informaiei depinde de baza logaritmului.
Pentru
baza 2 unitatea de msur se numete bit;
baza e unitatea de msur se numete nat;
10
baza 10 unitatea de msur se numete hartley.
De obicei se folosete baza 2, care nu este disponibil n
calculator. Pentru a folosi baza e cu care opereaz calculatoarele, se ine
cont c

2
ln
log .
ln 2
x
x =
Dac se dispune de o mulime de evenimente independente
i
A ,
care reprezint mulimile realizrilor unui eveniment S, astfel nct

i
A S =

, (3)
atunci informaia medie asociat evenimentului este dat de
( ) ( ) ( ) log ( )
i i i x i
i i
H p A i A p A p A = =

(4)
care se numete entropia asociat experimentului.
Shannon a artat c dac experimentul este o surs care
furnizeaz mesajele
i
A dintr-o mulime A, atunci entropia este o msur
a numrului mediu de simboluri binare necesare codrii ieirii sursei.
De asemenea, Shannon a artat c un algoritm de compresie fr
pierderi optim poate coda mesajele sursei cu un numr mediu de bii,
cel puin egal cu entropia sursei [87].
Mulimea mesajelor, numite i mesaje, definete alfabetul sursei.
Pentru o surs S cu alfabetul {1, 2, } A m = care genereaz secvena
1 2
{ , , , }
n
x x x , entropia este [1], [34]:

1
( ) lim
n
n
H S G
n

= (5)
unde
1 2
1 1 2 2 1 1
1 1 1
... ( , ,..., ) log ( ,.., )
n
m m m
n n n n n
i i i
G p x i x i x i p x i x i
= = =
= = = = = =


11
Dac fiecare element din secven este independent i identic
distribuit, (i.i.d), rezult atunci

1
1 1 1 1
1
( ) log ( )
m
n
i
G n p x i p x i
=
= = =

(6)
Modelul statistic i.i.d. nseamn c variabilele aleatoare sunt
independente i sunt caracterizate de aceeai lege de repartiie.
n acest caz entropia devine:

1 1
1 1 1 1
1 1
( ) ( ) log ( ) ( ) log ( )
m n
i i
i i
H S p x i p x i p x p x
= =
= = = =

(7)
Pentru multe surse relaiile (5) i (7) nu sunt identice. Pentru a
face deosebire ntre ele, cantitatea calculat cu (7) se numete entropia
de ordinul nti a sursei, iar (5) entropia sursei.
n general, nu este posibil a cunoate entropia unei surse fizice,
aceasta trebuind estimat. Estimarea entropiei depinde de presupunerile
asupra statisticii sursei.

Exemplul 4.
Fie secvena de eantioane:
{1, 2, 3, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10}
Pentru aceast secven probabilitile de apariie pentru fiecare
numr sunt

1
(1) (2) (7) (10)
16
p p p p = = = =

2
(2) (3) (4) (5) (8) (9)
16
p p p p p p = = = = = =
Presupunnd secvena i.i.d., entropia sa este aceeai cu entropia
de ordinul 1, dat de relaia (7).
12

16
1
( ) ( ) log ( ) 3, 25 H S p i p i = =

bii
Aceasta nseamn c cea mai bun schem de codare pentru
aceast secven o poate coda la 3,25 bii/mesaj. Dac se presupune c
exist corelaie ntre mesajele sursei i aceasta se nltur, reinnd
numai diferena ntre valorile eantioanelor vecine, se ajunge la
secvena rezidual:
{1, 1, 1, -1, 1, 1, 1,-1, 1, 1, 1, 1, 1, 1, 1}
Aceast secven este constituit numai din dou valori 1 i 1,
cu probabilitile:

13
(1)
16
p = i
3
( 1)
16
p =
n acest caz entropia este 0,7 bii /mesaj. Evident, cunoscnd
numai aceast secven nu se va putea reconstrui originalul. Receptorul
trebuie s cunoasc procesul prin care a fost generat secvena rezidual
din cea original. Procesul depinde de presupunerile asupra redundanei
sau structurii secvenei. Aceste presupuneri determin modelul pentru
secven.
n exemplul considerat modelul este

1 n n n
x x r

= +

unde x
n
este al n-lea element al secvenei originale i
n
r , al n-lea
element al secvenei reziduale. Acest model este static, deoarece
rmne invariant, oricare ar fi n. Modelul care se modific odat cu n se
numete adaptiv.

Exemplul 5.
Fie urmtoarea secven:
1, 2, 1, 2, 3, 3, 3, 3, 1, 2, 3, 3, 3, 3, 1, 2, 3, 3, 1, 2.
13
Evident, n aceste date exist o anumit redundan. Dac se
consider fiecare mesaj separat, este dificil de extras redundana din
date. Pentru acest caz,

1
(1) (2) ;
4
p p = =
1
(3)
2
p = ;
rezult ( ) H S =1,5 bii/mesaj.
Secvena conine 20 de mesaje, deci n total sunt necesari 1,5 x 20 = 30
de bii pentru a reprezenta secvena.
n continuare se consider secvena observat n blocuri de
lungime 2. Astfel, se observ c sunt numai dou mesaje 12 i 33 cu
probabilitile:

1
(12)
2
p = ;
1
(33)
2
p = ;
rezultnd ( ) H S =1 bit /mesaj
Cum n secven sunt 10 astfel de grupe de dou mesaje, rezult
un necesar de 10 bii pentru a reprezenta ntreaga secven. Teoria
spune c ntotdeauna se poate extrage redundana din date, prin
considerarea blocurilor de date din ce n ce mai mari, dar n practic
exist limitri la aceast abordare.
Pentru a evita aceste limitri, se va ncerca obinerea unui model
ct mai exact pentru date i s se codeze sursa conform modelului.

Modele

Un model bun pentru date conduce la algoritmi de compresie
eficieni. Pentru a dezvolta algoritmi care efectueaz operaii
matematice asupra datelor, acestea trebuie modelate matematic.


14
Modele fizice

Dac se cunoate ceva despre mecanismul de generare a datelor,
se poate folosi aceast informaie pentru construirea modelului. De
exemplu, n aplicaiile referitoare la vorbire, cunoaterea mecanismului
de producere a vorbirii poate fi folosit la construirea unui model
matematic pentru procesul vorbirii eantionate.

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 aceeai probabilitate. Acesta este numit model de
ignoran si ar putea fi util cnd nu se cunoate nimic despre surs.
Urmtorul pas n creterea complexitii modelului este de a
pstra presupunerea asupra independenei, dar de a nltura
presupunerea de probabilitate egal pentru mesaje. n acest caz se aloc
fiecrui mesaj o probabilitate n funcie de frecvena de furnizare a
mesajului respectiv.
Pentru o surs care genereaz mesaje dintr-un alfabet

1
{ ,..., }
M
S s s =
se poate folosi modelul de probabilitate

1 2
{ ( ), ( ),...., ( )}
M
P p s p s p s =
Cu acest model se poate calcula entropia sursei cu relaia (7) i
pot fi construite coduri eficiente pentru reprezentarea mesajelor din S,
adic se poate folosi un numr mediu minim de bii pentru fiecare
mesaj. Dac se renun la presupunerea de independen, se pune
problema gsirii unui mod de a descrie dependena datelor, aa cum este
n cazul modelelor Markov.
15
Modele Markov

Unul dintre cele mai rspndite moduri de reprezentare a
dependenei ntre date este folosirea modelului Markov [49]. Pentru
modelarea datelor, n compresia fr pierderi se folosete un model
particular numit lan Markov discret.
Fie { }
n
x secvena observat. Aceasta secven se zice c este un
model Markov de ordin k, dac:
1 1
( ,... ,..) ( ,.... )
n n n k n n n k
p x x x p x x x

= , (8)
adic simbolul
n
x depinde numai de ultimele k mesaje
1
,...,
n n k
x x

.
Mulimile
1
{ ,..., }
i i k
x x

, , 1,... i n n = , reprezint strile
procesului. Dac mrimea alfabetului sursei este l, numrul de stri este
k
l . Cel mai des folosit model Markov este cel de ordinul 1, pentru care:
1 2 1
( , ....) ( )
n n n n n
p x x x p x x

= (9)
Relaiile (8) i (9) indic existena dependenei ntre eantioane,
dar modul n care a fost introdus aceast dependen nu este explicit.
Se pot dezvolta diferite modele de ordinul 1, n funcie de presupunerile
asupra modului de introducere a dependenei ntre eantioane.
Dac se presupune c dependena a fost introdus liniar, secvena
de date ar putea fi vzut ca ieirea unui filtru liniar excitat cu zgomot
alb. Ieirea acestui filtru este dat de ecuaia cu diferene [36]:

1 n n n
x x w

= + (10)
unde
n
w este zgomot alb. Acest model se folosete frecvent la
dezvoltarea algoritmilor pentru vorbire i imagine.
Folosirea modelului Markov nu necesit prezumia de liniaritate.
De exemplu, fie o imagine binar, care are numai dou feluri de pixeli -
albi i negri. Se tie c apariia unui pixel alb la observarea urmtoare
16
depinde n oarecare msur dac pixelul curent este alb sau negru. Prin
urmare, se poate modela succesiunea de pixeli cu un lan Markov.
Definind strile
a
S i
n
S corespunztoare cazului cnd pixelul
curent este alb, respectiv negru, probabilitile de tranziie ( / ) p a n i
( / ) p n a i probabilitile fiecrei stri ( )
a
p S i ( )
n
p S , modelul
Markov poate fi reprezentat ca n Fig. 3.



Fig. 3

( / ) 1 ( / ) p a a p n a =
n general, entropia unui proces cu
k
M l = stri finite,
i
S , este
valoarea medie a entropiei fiecrei stri:

1
( ) ( );
M
k
i i
i
H p S H S M l
=
= =

(11)

1
( ) ( ) log ( )
l
i j i j i
j
H S p S S p S S
=
=

; (12)
unde ( )
j i
p S S este probabilitatea de trecere din starea i n starea j.

Folosirea modelelor Markov n compresia textelor

Modelele Markov sunt utile n compresia textelor, deoarece
probabiltatea de apariie a unei litere este influenat de precedentele.
Fie cuvntul ornitoring. Se presupune c s-a procesat deja ornitorin i
17
urmeaz a se coda urmtoarea liter. Dac nu se ine seama de context
i se trateaz litera ca o surpriz, probabilitatea s apar litera g este
relativ sczut. Dac se folosete un model Markov de ordinul ,
probabilitatea s urmeze g crete considerabil. Cu creterea 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 sczut.

Model de surse compuse

n multe aplicaii 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 vzut ca o combinaie de diverse surse, din care una este activ
la un moment dat. Fiecare din acestea este descris de un model propriu.

S-ar putea să vă placă și