Sunteți pe pagina 1din 331

Compresia si Codarea

Informaţiei
Ioan Buciu
ibuciu@uoradea.ro
http://webhost.uoradea.ro/ibuciu/

Departamentul de Electronică,
Facultatea de Inginerie Electrică si Tehnologia Informaţiei
Universitatea Oradea, 410087, str. Universităţii 1,
Romania

I. Buciu - Compresia si Codarea Informaţiei


Scopul cursului
¾ Scopul cursului este de a familiariza studentul cu principiile si metodele
de compresie şi codare a informaţiei şi, în particular, pentru imagini statice,
secvenţe de imagini şi informaţie audio.
¾ Noţiunile importante prezentate la curs vor fi dezbătute pe larg în cadrul
lucrărilor de laborator asociate cursului.
¾ Material de curs (bibliografie principală):
¾ D. D. Salomon: Data Compression: The Complete Reference
(Fourth Edition), Springer – Verlag, 2007.
¾ Mohammed Ghanbari: Standard Codecs: Image compression to
Advanced Video Coding, Institution of Electrical Engineers ,
2003.

I. Buciu - Compresia si Codarea Informaţiei


Scopul cursului
¾ Bibliografie adiţională:
¾ Cliff Wootton: A Practical Guide to Video and Audion
Compression, Focal Press, 2005.
¾ V. Bhaskaran and K. Konstantinides: Image and Video
Compression Standards, 2nd Edition, Springer, 1997.
¾ R. C. Gonzales, R. E. Woods, S. L. Eddins, Digital Image
Processing using Matlab, Gatesmark Publishing, 2009.
¾ Cerinţe pentru intrarea în examen:
¾ Situaţia la laborator încheiată (se pot recupera doar 2 lucrări în
perioada de recuperare !)

I. Buciu - Compresia si Codarea Informaţiei


Cuprinsul cursului
¾ Introducere: noţiuni de bază in prelucrarea imaginilor, transformata
Fourier, şi aplicaţii ale prelucrării semnalelor video.
¾ Compresia fără pierderi: codarea Huffman, codarea aritmetica, codarea
Lempel – Ziv.
¾ Transformate: transformate unitare, transformata KLT, Transformata
Cosinus Discreta (TCD), transformata undisoară.
¾ Compresia cu pierderi a imaginilor statice: JPEG, JPEG 2000.
¾ Fundamente de prelucrare a semnalului video.
¾ Estimarea mişcării.
¾ Compresia audio.

I. Buciu - Compresia si Codarea Informaţiei


Importanta domeniului
¾ Prelucrarea semnalelor video este un domeniu folosit în:
¾ Transmisiile TV digitale;
¾ Studiourile TV digitale;
¾ Videoconferinţe, videotelefonie;
¾ Multimedia;
¾ Transmisii video via Internet;
¾ Librării digitale (căutare bazată pe conţinut);
¾ Servicii de reţea noi pentru protecţia informaţiei (ex.
watermarking, etc.);
¾ DVD.
I. Buciu - Compresia si Codarea Informaţiei
Importanta domeniului
¾ Necesitatea introducerii de noi canale TV într-o lăţime de banda limitată.
¾ Necesitatea furnizării unei imagini şi sunet de calitate superioară.
¾ Apariţia de noi servicii digitale odată cu dezvoltarea tehnologiilor
aferente.
¾ Constrângerile şi problemele prelucrării semnalelor video sunt:
¾ Proiectarea camerelor video şi sistemelor de transmisie;
¾ Transmiterea, înregistrarea şi depozitarea eficientă a semnalelor
video;
¾ Constrângeri legate de lungimea de bandă şi rata de bit;
¾ Extragerea şi descrierea conţinutului informaţiei.

I. Buciu - Compresia si Codarea Informaţiei


Transmiterea digitala a informaţiei
¾ Intr-un sistem de transmisie digital sursa de informaţie suferă
următoarele etape:
¾ sursa de informaţie Æ codarea sursei Æ codarea canalului Æ
modulaţia Æ canal de transmisie Æ demodulaţia Æ decodarea
canalului Æ decodarea sursei Æ recuperarea informaţiei
¾ Cursul de faţă se referă doar la codarea şi decodarea sursei şi la
recuperarea informaţiei (video sau imagini statice).
¾ Codarea sursei se poate adapta la cazul particular a semnalelor video iar
codarea sursei se poate adapta la proprietăţile canalului de transmisie.

I. Buciu - Compresia si Codarea Informaţiei


Transmiterea digitala a informaţiei
¾ Prin exploatarea redundantei spaţiale, spectrale şi temporale a
informaţiei (semnalelor video) se poate optimiza procesul de transmitere şi
stocare a informaţiei.
¾ Informaţia irelevantă pentru ochiul uman este eliminată (prin cuantizare)
datorită proprietăţilor biologice ale ochiului uman (percepţia vizuală).
¾ Criteriul calităţii cantitative pentru eliminarea redundaţei se referă la
Eroarea Medie Patratica (EMP) şi la valoarea Raportului Semnal – Zgomot
(RSZ).
¾ Calitatea vizuala a unei imagini vizualizată de ochiul uman este
subiectivă şi NU coincide întotdeauna cu calitatea cantitativă.
¾ Este necesară determinarea unui criteriu pentru ambele calităţi.
I. Buciu - Compresia si Codarea Informaţiei
Compresia - Generalitati
¾ SCOPUL COMPRESIEI ?
¾ 1. Reducerea spaţiului de stocare pe
¾ disc, hardware, etc.
¾ 2. Reducerea timpului de transmisie
¾ pentru informaţia de dimensiune mare.
¾ CUM SE OBTINE COMPRESIA ?
¾ Raspuns: CODARE
¾ Inainte de codare: MODELARE

I. Buciu - Compresia si Codarea Informaţiei


Compresia - Generalitati
¾ MODELARE Æ transformarea informaţiei originale prin extragerea
informaţiei redundante Æ obţinerea modelului.
¾ Informaţia obţinută (modelul) aproximează informaţia originală.
¾ Cu cat modelul este mai apropiat de caracteristicile informaţiei originale
(sursa) cu atat algoritmul de compresie este mai eficient.
¾ Modelul este generat din statisticile empirice ale sursei.
¾ SURSA EMITE SIMBOLURI APARTINAND UNUI ALFABET
FINIT.
¾ Alfabet Æ mulţimea tuturor simbolurilor generate de sursă.
¾ CODARE Æ informaţiei i se atribuie cuvinte de cod.

I. Buciu - Compresia si Codarea Informaţiei


Termenul de compresie - Exemple
¾ Un exemplu simplu: un fişier de 100 K caractere

Caracter a b c d e f

Frecventa 45 13 12 16 9 5
(1000s)
Codare cu 000 001 010 011 100 101
lungime
fixa

¾ Spaţiu de stocare: (45*3 + 13*3 + 12*3 + 16*3 + 9*3 + 5*3)* 1000


= 300 Kbiti

I. Buciu - Compresia si Codarea Informaţiei


Termenul de compresie - Exemple
¾ Se poate comprima informaţia de mai sus ???
¾ DA. SOLUTIE: Atribuirea caracterelor care apar mai frecvent cuvinte de
cod mai scurte şi celor care apar mai putin frecvent cuvinte de cod mai
lungi. Caracter a b c d e f

Codare cu 000 001 010 011 100 101


lungime
fixa
Codare cu 0 101 100 111 1101 1100
lungime
variabila
¾ Spaţiu de stocare: (45*1 + 13*3 + 12*3 + 16*3 + 9*4 + 5*4)* 1000
= 224 Kbiti Æ Salvăm 25 % din spaţiu !

I. Buciu - Compresia si Codarea Informaţiei


Coduri unic decodabile
¾ Atribuirea cuvintelor de cod trebuie facută în aşa fel încat să nu existe
ambiguităţi la decodare (şirul să fie decodat in mod unic).
¾ Coduri de lungime fixa: Cod_1
Caracter Cod_1 Cod_2 Cod_3
¾ Coduri de lungime variabilă:
a 00 0 0
¾ Cod_2 si Cod_3
¾ Fie secvenţa de mesaj: b 01 10 1

¾ S = aacabad c 10 110 00

d 11 111 01

I. Buciu - Compresia si Codarea Informaţiei


Coduri unic decodabile
¾ Folosindu-se tabelul anterior, codarea lui S va fi:
¾ MC Cod_1(S) = 00001000010011
¾ MC Cod_2(S) = 001100100111
¾ MC Cod_3(S) = 000001001
¾ Codul_1 si codul_2 sunt unic decodabile Æ decodarea conduce la
secvenţa iniţială aacabad.
¾ Codul_3 NU ESTE UNIC DECODABIL !
¾ Decodare MC Cod_3(S) Æ accbcb SAU acadab SAU aaaaabcb !!!
¾ Codurile cu lungime fixă sunt întotdeauna unic decodabile.
¾ Nu toate codurile de lungime variabilă sunt unic decodabile.
I. Buciu - Compresia si Codarea Informaţiei
Coduri unic decodabile
¾ Pentru ca un cod să fie unic decodabil nici un cuvant de cod NU
TREBUIE să fie prefix pentru un alt cuvant de cod din setul de cuvinte
existente în cod.
¾Eliminarea ambiguităţii.

I. Buciu - Compresia si Codarea Informaţiei


Termenul de compresie - Exemple
¾ Un exemplu de semnal sinusoidal compus:
f(t) = cos(t) + 5*cos(2*t) + cos(3*t) + 2*cos(4*t)
¾ Presupunem ca pe intervalul [0, 2*pi] fixam 1000 de puncte egal
distantate (valorile t pe axa X) pentru reprezentarea functiei (valorile
functiei pe axa Y).
¾ Putem interpola complet aceste date prin folosirea unui model A:
¾ t = linspace(0,2*pi, 1000)’:
¾ b = cos(t) + 5*cos(2*t) + cos(3*t) + 2*cos(4*t)
¾ A = [ones(size(t)), cos(t), cos(2*t), cos(3*t), cos(4*t)]
¾ si rezolvarea ecuatiei Ax = b, pentru obtinerea coeficientilor x:

I. Buciu - Compresia si Codarea Informaţiei


Termenul de compresie - Exemple
¾ x = A \ b; x = [0 1 5 1 2];
¾ Prin eliminarea coeficientilor
¾cu valoare < 2:
¾ A = [cos(2*t), cos(4*t)]
¾ x = [5.0040, 2.0040];

I. Buciu - Compresia si Codarea Informaţiei


Termenul de compresie - Exemple
¾ Compresie prin eliminarea (filtrarea)
unor frecvente.
¾ EXEMPLU 1
¾ t = linspace(0,2*pi, 2^8)’:
¾ f = exp(-(cos(t).^2)).*(sin(2*t) + …
+ 2*cos(4*t) + 0.4*sin(t).*sin(50*t))
¾ Aplicare transformata Fourier:
¾ fy = fft(y);
¾ Pastrarea coeficientilor care respecta
conditia 7 <= k <= 2^8.

I. Buciu - Compresia si Codarea Informaţiei


Termenul de compresie - Exemple
¾ filterfy = [fy(1:6), zeros(1,2^8 – 12), fy(2^8 – 5: 2^8)];
¾ Aplicare transformata Fourier inversa pentru reconstructia semnalului
filtrat:
¾ filtery = ifft(filterfy).

I. Buciu - Compresia si Codarea Informaţiei


Semnale aleatoare
¾ Sa consideram un proces aleator, mai exact o secvenţă de variabile
aleatoare notata cu u(n).
¾ Expectaţia unei variabile aleatoare X este definită de relaţia:
E [X ] = ∫ x f X ( x) dx

−∞

¾ Proces staţionar: o secvenţă aleatoare u(n) se numeşte staţionară in sens


strict (local) dacă densitatea comună a fiecărei secvenţe {u (l ),1 ≤ l ≤ k }
parţiale este egală cu densitatea secvenţei deplasate {u (l + m),1 ≤ l ≤ k }
pentru orice întreg m şi orice lungime k.
¾ O secvenţă u(n) se numeşte staţionară în sens larg (global) dacă:
¾ E[u(n) ] = μ = constant
¾ E[u(n) * u(n)’ ] = r (n – n’) = r (n’) depinde doar de de n’.
I. Buciu - Compresia si Codarea Informaţiei
Fundamente de teoria informaţiei
¾ Presupunem că avem o sursă care generează un set discret de mesaje
independente rk (numit alfabet) cu probabilităţile pk, k = 1, …, L. Informaţia
asociată acestui alfabet este definită de relatia:
Ik = – log2 pk (biti)
¾ Entropia unei surse este reprezentată de informaţia medie generată de
sursa: L
H = ∑ pk log 2 pk (biti/ mesaj)
k =1
¾ Entropia unei surse ne oferă limita inferioară a numărului de biţi necesari
pentru codarea sursei.

I. Buciu - Compresia si Codarea Informaţiei


Fundamente de teoria informaţiei
¾ Exemplu: Fie alfabetul sursa A = {0, 1, 2, 3} care genereaza urmatoarea
informatie (mesaj): M = {0, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 3,
3}. Probabilitatea de aparitie a simbolurilor este: p(0) = 1/20 = 0.05, p(1) =
2/20 = 0.1, p(2) = 4/20 = 0.2 si p(3) = 13/20 = 0.65. Entropia este:
¾ H = - (p(0) * log2(p(0)) + p(1) * log2(p(1)) + p(2) * log2(p(2)) + p(3) *
log2(p(3)) ) = - (0.05 * log2(0.05) + 0.1 * log2(0.1) + 0.2 * log2(0.2) + 0.65
* log2(0.65) ) = -1.42 biti/mesaj.
¾ Daca presupunem ca intre fiecare 2 simboluri consecutive exista
corelatie, corelatia (redundanta) se poate elimina prin extragerea fiecarui
simbol din valoarea sa precedenta, obtinandu-se astfel o sursa de reziduri.

I. Buciu - Compresia si Codarea Informaţiei


Fundamente de teoria informaţiei
¾ Astfel M se transforma in Mr = {0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0,
1, 0, 0, 0}, iar alfabetul va fi A = {-1, 1, 0} . Probabilitatea de aparitie a
simbolurilor va fi acum: p(-1) = 1/20 = 0.05, p(1) = 4/20 = 0.2, p(0) =
15/20 = 0.75. Entropia este:
¾ H = = - (0.05 * log2(0.05) + 0.2 * log2(0.2) + 0.75 * log2(0.75) ) = -
0.992 biti/mesaj < -1.42 .
¾ Prin eliminarea redundantei mesajul poate fi reprezentat pe un numar
mai mic de biti !

I. Buciu - Compresia si Codarea Informaţiei


Fundamente de teoria informaţiei
¾ Entropia unei surse ne oferă limita inferioară pentru lungimea medie de
cod Imedie a unui cod cu lungime variabilă asociat simbolului rk.
¾ Redundanţa unui cod este dată de relaţia: R = Imedie – H.
¾ Entropia unei surse este maximă în cazul unei distribuţii uniforme, adică:
pk = 1/ L, k = 1, …, L.

I. Buciu - Compresia si Codarea Informaţiei


Teorema codării sursei fara zgomot
¾ Considerăm o sursa staţionară şi discretă de informaţie.
¾ La codarea sursei fiecărui simbol i se asociază un cuvânt de cod.
¾ Lungimea de cod este dată de lungimea numărului de biţi din cuvânt.
¾ Lungimea medie de cod este reprezentată de rata de bit exprimată în biţi
pe simbol.
¾ Teorema lui Shannon pentru codarea sursei fără zgomot ne spune că,
pentru o sursă discretă şi staţionară, rata de bit minimă necesară pentru
codarea unui simbol, în medie, este egală cu entropia sursei.
¾ In practică, imaginile şi secvenţele video sunt reprezentate de alfabete de
lungime finită.

I. Buciu - Compresia si Codarea Informaţiei


Teorema codării sursei fara zgomot
¾Eficienţa (randamentul) unei codări este dată de relaţia:
H
η=
I medie
¾ Redundanţa unei surse poate fi exprimată in raport cu η :
¾Daca η = 1, redundanţa R = 0.
¾ In cazul canalelor de transmisie cu zgomot simbolurile recepţionate pot
suferi erori datorate lipsei redundanţei din informaţiei.
¾ Prin adăugarea redundanţei (codarea canalului) unele erori pot fi
depistate sau chiar corectate.

I. Buciu - Compresia si Codarea Informaţiei


Teorema codării sursei fara zgomot

¾Teorema lui Shannon pentru codarea sursei fără zgomot ne spune că este
posibilă transmiterea fără eroare a simbolurilor pe un canal cu zgomot dacă
rata de bit R este mai mică decât capacitatea C a canalului (R < C).
¾ Canalul se presupune a fi fără memorie.
¾ Capacitatea (Gaussiana) a canalului este dată de zgomot şi de puterea
semnalului.
¾ Capacitatea canalului limitează superior rata de bit.

I. Buciu - Compresia si Codarea Informaţiei


Codarea cu pierderi a informaţiei
¾ Teorema codării fără zgomot limitează inferior rata de bit pentru codarea
sursei şi a canalului fără zgomot.
¾ Teorema codării canalului cu zgomot limitează superior rata de bit
pentru o transmisie fără erori.
¾ In cazul unei codări cu pierderi are loc o distorsiune a informaţiei.
¾ Una din cauze este procesul de cuantizare a informaţiei.
¾ Erorile pot sa apară chiar şi în cazul unui canal fără zgomot.
¾ Si în acest caz se poate defini o limita inferioara a ratei de bit.

I. Buciu - Compresia si Codarea Informaţiei


Codarea cu pierderi a informaţiei
¾ Teorema codării sursei ne spune că, pentru o distorsiune dată D, există o
funcţie numită Rata de Distorsionare R(D) exprimată prin minimul ratei de
bit necesară transmiterii sursei cu o distorsiune mai mică decât D.
¾ Pentru distorsiuni mai mici decât D, rata de bit satisface relaţia R ≥ R (D)
¾ Pentru un canal cu zgomot relaţia devine: C ≥ R(D)
¾ Relaţia de mai sus se referă la teorema transmiterii informatiei care ne
spune că este posibilă transmiterea informaţiei distorsionate cu D pe un
canal cu zgomot dacă capacitatea C a unui canalului cu zgomot este mai
mare decât rata de distorsiune R(D).

I. Buciu - Compresia si Codarea Informaţiei


Modelul CODEC Video DPCM / DCT
¾ Majoritatea standardelor de codare video (standarde ISO & ITU) de la
începutul anilor 90 au fost bazate pe acelaşi principiu generic (sau model)
cunoscut sub numele CODEC DPCM / DCT (DPCM – Differential Pulse
Code Modulation, DCT – Discrete Cosine Transform).
¾ Paşii de bază ale codării video:
¾ Fiecare cadru video este procesat în unităţi numite macroblocuri.
¾ Fiecare cadru este comparat cu un cadru de referinţă prin
determinarea celei mai bune “similarităţi” pentru fiecare
macrobloc. Acest pas se numeşte determinarea vectorului de
estimare a miscării.

I. Buciu - Compresia si Codarea Informaţiei


Modelul CODEC Video DPCM / DCT
¾ Paşii de bază a codării video:
¾ Formarea unui macrobloc rezidual prin extragerea
macroblocului prezis din macroblocul real.
¾ Macroblocul rezidual este transformat (tipic cu ajutorul
Transformatei Cosinus Discreta – TCD) şi apoi cuantificat.
¾ Coeficienţii cuantificaţi sunt reordonaţi şi codaţi cu un cod de
lungime variabilă (run – level code).
¾ La final, coeficienţii, vectorul de mişcare si locaţia asociată
pentru fiecare macrobloc sunt comprimaţi (codarea entropiei)
pentru producerea fluxului (de biţi) final.

I. Buciu - Compresia si Codarea Informaţiei


Elemente fundamentale de prelucrare a
imaginii

¾Prelucrarea imaginii digitale poate fi împarţită în 6 clase de bază:


¾ 1. Reprezentarea şi modelarea imaginii;
¾ 2. Imbunătăţirea imaginii;
¾ 3. Restaurarea imaginii;
¾ 4. Analiza imaginii;
¾ 5. Reconstrucţia imaginii;
¾ 6. Compresia imaginii.

I. Buciu - Compresia si Codarea Informaţiei


Elemente fundamentale de prelucrare a
imaginii
¾ Imagine Æ Tablou bidimensional de pixeli

I. Buciu - Compresia si Codarea Informaţiei


Elemente fundamentale de prelucrare a
imaginii
¾ Reprezentarea imaginii caracterizează cantitatea de imagine reprezentată
de fiecare pixel (elementul de imagine).
¾ Obiectivul principal al imbunătătirii imaginii este de a prelucra imaginea
in asa fel încât imaginea finală sa fie mai “potrivită” pentru o aplicaţie
specifică (este un proces orientat pe problema).
¾ Restaurarea imaginii se referă la eliminarea sau minimizarea unei
degradări din imagine.
¾ Analiza imaginii se referă la măsurători cantitative pentru descrierea unei
imagini.
¾ Aplicaţii ale analizei imaginii: imagistică medicală, robotică, etc.
I. Buciu - Compresia si Codarea Informaţiei
Elemente fundamentale de prelucrare a
imaginii
¾ Majoritatea metodelor de prelucrare a imaginii, cum ar fi îmbunătăţirea
imaginii sau filtrarea, folosesc informaţie locală de imagine. Aceste operaţii
pot fi executate folosind o fereastră finită (mască) care se deplasează de-a
lungul imaginii.
¾ Informaţia globală de imagine este folosită în special pentru
transformarea imaginii, cum ar fi, Transformata Cosinus Discreta (TCD).
¾ Majoritatea metodelor de codare a imaginilor sunt de tip codare – bloc:
imaginea originală se împarte în blocuri de lungime fixă (de regulă 8 x 8
pixeli) iar aceste operaţii se aplică tuturor acestor blocuri (local).

I. Buciu - Compresia si Codarea Informaţiei


Transformata Fourier (TF)
¾ Transformata Fourier (TF) si Transformata Fourier inversă a unei funcţii
f (x) sunt date de perechea:

1 ∞
F (ξ ) = F{ f(x)} = ∫ f(x) exp (- j 2πξ x) dx
2π −∞

1
f(x) = F [F (ξ )] =

∫ F (ξ ) exp (j 2πξ x) dξ
-1

2π −∞

I. Buciu - Compresia si Codarea Informaţiei


Transformata Fourier 2D (TF – 2D)
¾ Transformata Fourier - 2D (TF - 2D) si Transformata Fourier inversă a
sa sunt date de relaţiile:

1 ∞ ∞
F (ξ1 , ξ 2 ) = F{ f(x, y)} = ∫ ∫ f(x, y) exp (- j 2π (ξ1 x + ξ 2 y)) dx dy
2π −∞ −∞

1
f ( x, y ) = F [F(ξ1 , ξ 2 )] =
∞ ∞
∫ ∫ F(ξ1 , ξ 2 ) exp (j 2π (ξ1 x + ξ 2 y)) dξ dξ 2
-1

2π −∞ −∞

I. Buciu - Compresia si Codarea Informaţiei


Transformata Fourier – 2D (TF – 2D)
¾ Cateva din proprietaţile transformatei TF - 2D :
¾ Frecvente spaţiale. Dacă f(x, y) reprezintă luminanţa imaginii si
x, y coordonatele spaţiale, atunci ξ1, ξ2 se numesc frecvenţe
spaţiale ce reprezintă schimbările de luminanţă în raport cu
distanţa spaţială.
¾ Separabilitate. Prin definiţie transformata Fourier kernel este
separabilă => O transformată Fourier 2D se poate obţine din
transformări Fourier succesive 1D.
¾ Teorema convoluţiei.
g(x,y) = h(x,y) ⊗ f(x,y) = H (ξ1 ,ξ 2 )F (ξ1 ,ξ 2 )

I. Buciu - Compresia si Codarea Informaţiei


Imagini si transformate Fourier
¾ O imagine (ca orice semnal) poate fi interpretată ca o sumă de
componente de diverse frecvenţe.
¾ Frecvenţa spaţială se referă la modul în care se modifică valoarea unui
pixel în raport cu valorile pixelilor vecini din aceeasi imagine.
¾ O variaţie lentă a valorilor de la un capat al celuilalt al imaginii indică Æ
imagine de frecvenţe spaţiale joase.
¾ O variaţie bruscă a valorilor pentru pixelii adiacenti conduce la Æ
imagine de frecvenţe spatiale înalte.
¾ Exemple de variaţie bruscă în imagine: contur, margine, muchie.

I. Buciu - Compresia si Codarea Informaţiei


Imagini si transformate Fourier

Imagine de frecvente spatiale joase Imagine de frecvente spatiale inalte

¾ O imagine naturala este compusa atat din frecvenţe spaţiale înalte cat şi
frecvenţe spaţiale joase.
¾ Descompunerea imaginii în componente de frecvenţă Æ Transformata
Fourier bidimensională (TF – 2D) Æ parte reala şi parte complexă.
¾ TF – 2D: domeniul pixelilor Æ domeniul frecvenţelor spaţiale.
I. Buciu - Compresia si Codarea Informaţiei
Imagini si transformate Fourier
¾ Partea reala a TF – 2D reprezintă amplitudinea frecvenţelor spaţiale
prezente în imagine.
¾ Partea complexă a TF – 2D reprezintă faza frecvenţelor spaţiale din
imagine.
¾ Reprezentarea frecvenţelor spaţiale din imagine Æ “diagrama stea”:
frecvenţa cea mai joasă este reprezentată în centrul diagramei iar
frecvenţele spaţiale cresc pe măsură ce ne indepărtăm de mijlocul
diagramei.

I. Buciu - Compresia si Codarea Informaţiei


Imagini si transformate Fourier

TF – 2D pentru imaginea de frecvente spatiale joase


Stanga: imaginea originala; dreapta: diagrama stea. Se observa ca majoritatea
componentelor din imagine sunt concentrate in partea din mijloc a
diagramei (partea luminoasa), indicand o imagine de frecvente spatiale
predominante joase.

I. Buciu - Compresia si Codarea Informaţiei


Imagini si transformate Fourier

TF – 2D pentru imaginea de frecvente spatiale inalte


Stanga: imaginea originala; dreapta: diagrama stea. Se observa ca majoritatea
componentelor din imagine sunt distribuite in spatiul frecventelor inalte.

I. Buciu - Compresia si Codarea Informaţiei


Imagini si transformate Fourier

I. Buciu - Compresia si Codarea Informaţiei


TF – 2D : Exemplu

a) b) c)

Componenta continua (DC)


Componente de frecvente inalte
Componente de frecvente joase
a) Imaginea originala b) Amplitudinea coeficientilor TF
c) Amplitudinea centrata a coeficientilor TF
d)
d) Faza TF

I. Buciu - Compresia si Codarea Informaţiei


TF – 2D : Exemplu

I. Buciu - Compresia si Codarea Informaţiei


TF – 2D : Exemplu
¾ In imaginea (centrata) a spectrului, componenta cea mai mare ca
valoarea - punctul cel mai luminos - (continuă - DC) este situată in centrul
imaginii.
¾ Componenta DC este înconjurată de coeficienţii corespunzători
frecvenţelor joase.
¾ Din imagine se observă că, majoritatea frecvenţelor din imagine sunt
concentrate în banda de frecvenţe (zona mai deschisă).
¾ Cu cat ne îndepărtăm de centru găsim componente de frecvenţe tot mai
înalte (valori tot mai mici apropiate de zero).
¾ Frecvenţele înalte sunt asociate detaliilor din imagine (cum ar fi
muchiile, de exemplu).

I. Buciu - Compresia si Codarea Informaţiei


TF – 2D : Exemplu

a) b) c)

Reconstructia imaginii din spectrul de amplitudini si faza TF


a) Imaginea originala b) Reconstructia folosind doar amplitudinea TF
c) Reconstructia folosind doar faza TF

I. Buciu - Compresia si Codarea Informaţiei


TF – 2D : Exemplu

a) b)

Reconstructia imaginii din spectrul de amplitudini si faza TF


a) Imaginea originala
b) Reconstructia folosind amplitudinea + faza TF (reconstructie totala)

I. Buciu - Compresia si Codarea Informaţiei


Importanta amplitudinii si fazei TF2D

Imaginea A Imaginea B

Amplitudine A Amplitudine B
+ +
Faza B Faza A

I. Buciu - Compresia si Codarea Informaţiei


Reconstructia imaginii din componentele
Fourier
Imaginea 50
originala componente

200 1000
componente componente

I. Buciu - Compresia si Codarea Informaţiei


TF – 2D

I. Buciu - Compresia si Codarea Informaţiei


Aplicatii 2D –TF: Suprimarea zgomotului

+ =

a) Imagine originala b) Zgomot sinusiodal c) Imagine zgomotoasa

d) Spectrul TF pentru a) e) Spectrul TF pentru zgomot f) Spectrul TF pentru c)

I. Buciu - Compresia si Codarea Informaţiei


Aplicatii 2D –TF: Suprimarea zgomotului
¾ Pentru eliminarea celor doua spoturi luminoase
(asociate zgomotului) din spectrul TF se aplica un
filtru opreste-banda sau trece-jos pentru eliminarea
componentelor de frecventa înalta (in care se gasesc
si componente de zgomot).

Fitru Butterworth
opreste banda

Fitru Gaussian trece


jos (sigma = 0.8)

I. Buciu - Compresia si Codarea Informaţiei


Aplicatii 2D –TF: Compresia imaginii
¾ Pentru compresia imaginii se poate folosi TF 2D:
¾Se stabileşte un prag θ;
¾ Componentele de valoare sub acest prag (de frecvenţă foarte
înaltă) se setează la zero.
¾ Ex: pentru c2DTF = 5, θ = 7 Î c2DTF Æ 0
¾ De ce compresie ?
¾ în binar c2DTF = 5 este reprezentat de 101 (pe 3 biţi) !
¾ în binar c2DTF = 0 este reprezentat de 0 (1 bit) !

I. Buciu - Compresia si Codarea Informaţiei


Teorema esantionarii in 2D
¾ Imaginile digitale au un spectru de frecvenţă limitat.
¾ Transformata Fourier a unei imagini eşantionate în mod arbitrar este o
replica scalată şi periodică a transformatei Fourier a imaginii originale.
¾ Daca frecvenţele de eşantionare x, y sunt mai mari decât dublul lăţimii
de banda (frecventele Nyquist), adică ξxs > 2 ξx0 si ξys > 2 ξy0 atunci F(ξ1,
ξ2) poate fi reconstituit cu un filtru trece jos ideal.
¾ Daca frecvenţele de eşantionare sunt sub frecventele Nyquist, spectrul
F(ξ1, ξ2) este distorsionat şi nu poate fi reconstituit.

I. Buciu - Compresia si Codarea Informaţiei


Reconstructia folosind eşantioane
¾ Filtrarea de tip trece jos ideala in domeniul frecvenţă este echivalentă cu
procesul de convoluţie cu funcţia sinc in domeniul spaţial.
¾ Pentru reconstrucţia completă a unei funcţii continue f(x,y) cu ajutorul
eşantioanelor sale f(mΔx, nΔ y) este necesară o interpolare de ordin infinit.
¾ In realitate este posibilă doar o interpolare de ordin finit.
¾ Interpolarea si filtrarea trece jos sunt două etape necesare pentru
reconstrucţia semnalului analogic (continuu).
¾ In cazul interpolării 2D (bidimensionale) interpolarea se aplică mai întâi
liniilor şi apoi coloanelor.

I. Buciu - Compresia si Codarea Informaţiei


Matrici
¾ Imaginile digitale sunt de obicei reprezentate prin matrici în care fiecare
element al matricii corespunde unei valori (pe nivele de gri pentru imagine
reprezentată pe nivele de gri) a pixelului corespunzător locaţiei spaţiale.
¾ O matrice ortogonală este o matrice pentru care inversa sa este egală cu
transpusa sa: A −1 = A T sau A T A = AA T = I .
¾ O matrice se numeşte unitară dacă inversa sa este egală cu conjugata
transpusei: A −1 = A ∗T sau A ∗T A = AA ∗T = I
¾ Liniile (coloanele) unei matrici unitare pătrate de dimensiune N x N sunt
ortogonale şi formează un set complet de vectori de bază într-un spaţiu
vectorial de dimensiune N.

I. Buciu - Compresia si Codarea Informaţiei


Reprezentarea matematica a imaginii
¾ O imagine digitala este reprezentata ca funcţie de două variabile
independente (x, y, de exemplu): u(x, y), v[x, y], f[x, y].
¾ Variabilele x, y au valori discrete şi sunt notate de obicei cu l, c (linii,
coloane) sau m, n.
¾ Aceste variabile se referă la spaţiul imaginii, adică locaţia elementului de
imagine (pixel).
¾ In cazul informaţiei video se introduce o noua variabilă, timpul; valoarea
pixelului la fiecare locaţie variază în funcţie de această nouă variabila.
¾ Valoarea pixelului se poate referi la luminanţă (strălucire) în cazul
imaginilor pe nivele de gri sau culoare în cazul imaginilor color.

I. Buciu - Compresia si Codarea Informaţiei


Reprezentarea informaţiei
¾ Aproape fiecare culoare poate fi compusă din cele trei culori
fundamentale:
¾rosu, verde si albastru.
¾ Retina conţine 3 tipuri de fotoreceptori

I. Buciu - Compresia si Codarea Informaţiei


Imaginea alb - negru
¾ Imagine alb – negru:
¾ doar 2 culori pentru fiecare
¾ din pixelii imaginii.
¾ 1 – negru.
¾ 0 – alb.

I. Buciu - Compresia si Codarea Informaţiei


Indexarea informatiei de culoare
¾ Pentru o imagine reprezentată
¾ pe 8 biţi, valoarea unui pixel nu
¾ poate depăşi 256.

I. Buciu - Compresia si Codarea Informaţiei


Imagine color 24 - biti
¾ Imagine color 24 – biţi (true color): milioane de (nuanţe) culori simultan
¾ 8 biţi pentru fiecare canal R, G si B.

I. Buciu - Compresia si Codarea Informaţiei


Sistemul vizual uman - fotoreceptorii
¾ SVU conţine 3 tipuri de fotoreceptori (conuri) responsabili cu vederea
color: S, M, si L.
¾ Cainii au 2 tipuri, albinele 4.
¾ S este sensibil la albastru
¾ (445 nm).
¾ M este sensibil la verde
¾ sau galben (535 nm).
¾ S este sensibil la rosu
¾ (575 nm).
¾ Răspunsul la stimuli (sensibilitatea) nu este uniform.

I. Buciu - Compresia si Codarea Informaţiei


Reprezentarea informaţiei video
¾ Secvenţele video pot fi tratate ca o secvenţă de cadre (imagini statice),
unde fiecare astfel de imagine reprezintă o matrice de pixeli.
¾ Semnalul video color este reprezentat de cele trei culori primare RBG
(Red, Blue, Green), aşa numitul spaţiul de culoare RGB.
¾ Componentele R, G, B sunt puternic corelate.
¾ In general pentru o codare eficientă, spaţiul de culoare este convertit în
sistemul de culori YUV.
¾ Y se referă la luminanţă (strălucire), iar U si V sunt componentele de
crominanţă (diferente de culoare – nuanţă).
¾ Conversia RGB Æ YUV:
¾Y = 0,3 R + 0,6 G + 0,1 B; U = B – Y; V=R–Y
I. Buciu - Compresia si Codarea Informaţiei
Reprezentarea imaginii color
¾ Un alt sistem de coordonate pentru culoare este spaţiul YCrCb, unde
componentele Cr si Cb sunt obţinute astfel:
¾ Cr = (V / 1,6) +0,5
¾ Cb = (U / 2) + 0,5
¾Componentele Cr si Cb prezinta o redundanţă crescută.
¾ Componentele de crominantă sunt de obicei subesantionate cu 2 în
fiecare directie.
¾ Un bloc de imagine 2 x 2 va fi astfel reprezentat de 4 valori de
luminanţă şi o singură valoare pentru Cr si Cb.
¾ Valorile lui Cb si Cr sunt obţinute prin medierea valorilor Cb si Cr din
blocul 2 x 2 pixeli.
I. Buciu - Compresia si Codarea Informaţiei
Reprezentarea imaginii color

R G B

I. Buciu - Compresia si Codarea Informaţiei


Reprezentarea imaginii color

Y U (Cb) V (Cr)

I. Buciu - Compresia si Codarea Informaţiei


Reprezentarea imaginii color pentru compresie
¾ DE RETINUT:
¾ Sistemul YUV separă componenta de luminanţă pentru care
ochiul este foarte sensibil la detalii, de componentele de nuanţă la
care sensibilitatea este mai redusă !
¾ Consecintă: la semnalul TV apare o compresie în cazul
crominantei (nuanţei) prin limitarea benzii de frecvenţă pentru U
şi V la 1,3 MHz faţă de 6 MHz disponibil pentru semnalul Y (la
sistemul TV PAL).

I. Buciu - Compresia si Codarea Informaţiei


Formate de imagine
¾ CCIR – 601 – este un standard ce se referă la informaţia video digitală.
¾ Mai precis, CCIR – 601 stabileşte un format de imagine de o rezoluţie
impusă (dedicat special studiourilor digitale de inregistrări):
¾ Rezoluţia de luminantă: 720 x 485.
¾ Rezoluţia de crominantă: 360 x 485.
¾ Numar de cadre pe secundă (ncs): 60.
¾ Pentru alte aplicaţii, această rezoluţie poate să difere, rezoluţie mică (în
aplicaţii de tip videoconferinţe sau videotelefonie) sau rezolutie mai mare
(în cazul televiziunii HDTV).

I. Buciu - Compresia si Codarea Informaţiei


Formate de imagine
¾ Formatul SIF (source input format) foloseşte jumătate din aceste valori
(scanare intreţesută).
¾ Mai exact: standardul european: 360 x 288 x 25
¾ Mai exact: standardul american: 360 x 240 x 30
¾ Număr de cadre pe secundă (ncs): 50.
¾ Formatul CIF (common intermediate format):
¾ Rezoluţia de luminanţă: 352 x 240.
¾ Rezoluţia de crominanţă: 176 x 120.
¾ Număr de cadre pe secundă (ncs): 30.

I. Buciu - Compresia si Codarea Informaţiei


Formate de imagine
¾ Formatul QCIF (quarter common intermediate format):
¾ Rezoluţia de luminanţă: 176 x 120.
¾ Rezoluţia de crominanţă: 88 x 60.
¾ Numar de cadre pe secundă (ncs): 30.
¾ Formatul SubQCIF: cel mai mic format standard
¾ Rezolutia de luminanţă: 128 x 96.
¾ HDTV: rezoluţie dublă faţă de referinţă CCIR – 601.
¾ Variante HDTV:
¾ 1080 x 720 (nu este standard)
¾ 1920 x 720 (formatul propus in Europa)
¾ 1920 x 1200 (experimental)
I. Buciu - Compresia si Codarea Informaţiei
Noţiuni introductive de compresie video
¾ Secvenţele video implica un volum mare de date.
¾ De exemplu, sa consideram un modem de 56 kpbs si fiecare cadru de
imagine color conţine:
¾ 288 x 352 pixeli,
¾ fiecare pixel din culorile primare (R, G, B) este reprezentat
pe 8 biti,
¾ O secvenţa video conţine 30 de cadre / secunda
¾ In aceste condiţii rata de bit necesara este de 72990720 biţi pe secunda
(bps), adica de 1289 de ori mai mare decat rata de bit disponibila (a
modemului).

I. Buciu - Compresia si Codarea Informaţiei


Noţiuni introductive de compresie video
¾ De aici Î compresia imaginii este necesara !
¾ Compresia imaginii poate avea loc datorita prezentei informatiei
redundante din imagine, prin eliminarea redundantei are loc compresia.
¾ O mica parte din informaţia redundanta este totuşi folosita pentru
obţinerea unei rezilienţe la eroare (aparuta la erorile de codare a canalului).
¾ Redundanta se poate imparti in redundanta statistica si redundanta
psihovizuala.
¾ Redundanta statistica include redundanta spaţiala, spectrala si temporala.
¾ Redundanta psihovizuala se refera la proprietatile Sistemului Vizual
Uman (SVU): informaţia este perceputa in mod diferit.

I. Buciu - Compresia si Codarea Informaţiei


Noţiuni introductive de compresie video
¾SVU are proprietati de senzitivitate diferite:
¾ mascarea luminanţei (contrastul): senzitivitatea ochilor depinde
de intensitatea altui stimul vizual.
¾ mascare temporala: SVU nu este sensibil la detalii in cazul in
care scena se schimba brusc.
¾ mascarea texturii (dependenta de detalii):cu cat textura este mai
puternica (variata) cu atât este mai mare pragul de discriminare
(zgomotul aditiv este mai puţin supărător pentru texturile variate
decât in zonele netede de imagine).
¾ mascarea frecventei: ochiul este mai puţin sensibil la conţinutul
unei imagini corespunzător frecventelor înalte.
I. Buciu - Compresia si Codarea Informaţiei
Noţiuni introductive de compresie video
¾SVU are proprietati de senzitivitate diferite:
¾ SVU este mai sensibil la informaţia de luminanţa decât la
informaţia de crominanta.

I. Buciu - Compresia si Codarea Informaţiei


Măsurarea calitatii imaginii
¾Calitatea imaginii si a informaţiei video sunt doi factori hotărâtori pentru
alegerea metodei de codare / compresie.
¾ Daca doua metode ce compresie conduc la aceeasi calitate vizuala a
imaginii sau a informaţiei video reconstituite, se prefera metoda care
comprima cel mai bine (reduce informaţia mai mult).
¾ Invers, daca o informaţie este comprimata cu aceeaşi cantitate de către
doua metode de compresie, se prefera metoda care conduce la cea mai buna
calitate vizuala a imaginii.
¾ Măsurarea calitatii imaginii este dificila: măsurare obiectiva – eroarea
medie pătratica, raport semnal – zgomot; măsurare subiectiva – măsurata
de factorul uman prin inspecţie vizuala.

I. Buciu - Compresia si Codarea Informaţiei


Măsurarea calitatii imaginii
¾ Măsurarea (evaluarea) subiectiva este foarte costisitoare: este nevoie de
multe imagini si mai mulţi evaluatori umani pentru o decizie finala.

I. Buciu - Compresia si Codarea Informaţiei


Măsurarea obiectiva a calitatii imaginii
¾ Notam cu e(m,n) eroarea dintre intrarea x(m,n) a codorului si
reconstrucţia y(m,n) obţinuta de decodor, pentru fiecare pixel al carei
coordonate pe linii si coloane sunt m si n.
e(m,n) = x(m,n) – x(m,n)
¾ Eroarea Medie Patratica (EMP) se defineşte ca valoarea medie a erori
pătratice: 1 linii −1 coloane−1
ε EMP = ∑ ∑ e 2 (m, n)
linii ∗ coloane m =0 n =0

¾ Raportul Semnal – Zgomot (RSZ) este definit prin:

∑ ∑
linii −1 coloane −1
x 2 (m, n)
RSZ (dB ) = 10 * log10 m =0 n =0
linii ∗ coloane * ε EMP

I. Buciu - Compresia si Codarea Informaţiei


Măsurarea obiectiva a calitatii imaginii
¾ La codarea video se foloseste frecvent Raportul Semnal – Zgomot de
Varf (RSZV): 2552
RSZV (dB ) = 10 * log10
ε EMP
¾ In relatia de mai sus se presupune o reprezentare a imagini pe 8 biti Î
valorea maxima este 255.
¾ Cu cat raportul RSZ este mai mare cu atat calitatea imaginii este mai
buna.
¾ Nu intodeauna principiul de mai sus coincide cu parerea factorului uman.
¾ Se prefera o combinatie intre judecata subiectiva (factorul uman) si
masuratoarea obiectiva.

I. Buciu - Compresia si Codarea Informaţiei


Notiuni de codare si decodare a sursei
¾ Exista trei etape principale in codarea unei imagini sursa: transformarea,
cuantizarea si atribuirea cuvintelor de cod.
¾ Procesul de transformare se foloseşte pentru determinarea cantitatii de
informaţie din imagine sau informaţie video care trebuie codata.
¾ Datele astfel transformate conduc la o reducere a redundantei din
imagine si, ca o consecinţa, la o codare mai eficienta.
¾ Procesul de cuantizare discretizeaza coeficienţii de transformare
rezultând o compresie cu perderi.
¾ Cuantizarea care foloseşte intrare si ieşire scalara se numeşte cuantizare
scalara, in timp ce, cunatizarea vectoriala are ca intrare si ieşire vectori.

I. Buciu - Compresia si Codarea Informaţiei


Notiuni de codare si decodare a sursei

¾ Exemple de codare cu lungime vaiabila: codarea entropiei (codare


Huffman si coduri aritmetice) si codare de tip run – length (RLC).
¾ Cuanitizarea este un proces reversibil.

I. Buciu - Compresia si Codarea Informaţiei


Procesul de cuantizare
¾ Etapa de cuantizare transforma o variabila continua u intr-o variabila
discreta u* care poate lua valori dintr-o mulţime finita de numere {r1, r2, …,
rL}.
¾ Procesul de cuantizare este ireversibil: valoarea variabilei continue (de la
intrarea cuantizorului) nu poate fi determinata in mod unic pe baza valorii
variabilei sale discrete (de la ieşirea cuantizorului).
¾ Cuantizorul este definit de 2 parametrii: nivelele de decizie {tk, k = 1, …,
L+1} si nivelele de reconstructie {rk, k = 1, …, L}.
¾ Daca u se afla in intervalul [tk, tk+1) va lua valoarea discreta rk.
¾ A = tL+1 – t1 se numeşte gama dinamica a cuantizorului.

I. Buciu - Compresia si Codarea Informaţiei


Procesul de cuantizare
¾ Un exemplu de cuantizor cu prag constant (QPC) este prezentat in figura
de mai jos.
¾ QPC este caracterizat de 2 parametrii: valoarea de prag th si pasul de
cuantizare q.

I. Buciu - Compresia si Codarea Informaţiei


Procesul de cuantizare
¾ In practica nu se transmit coeficientii cuantizati ci un index de cuantizare
definit de expresia: ⎢ F (u , v) ⎥
Index (u , v) = ⎢ ⎥
⎣ q ⎦
¾ unde F(u,v) sunt coeficientii (obtinuti dupa transformarea imaginii – ex.
Transformata TCD), iar simbolul ⎣ ⎦ semnifica rotunjirea la cel mai
apropiat intreg.
¾ Motivul pentru care se transmite indexul in locul coeficientilor cuantizati
este faptul ca indexul are o entropie mult mai mica.
¾ La decodare, coeficientii sunt recuperati (reconstituiti) prin cuantizare
inversa: ⎧ 1⎫
q
F (u , v) = ⎨ Index (u , v) ± ⎬ × q
⎩ 2⎭

I. Buciu - Compresia si Codarea Informaţiei


Procesul de cuantizare
¾ Problema cu cuantizorul liniar este faptul ca, pentru o rata de bit scazuta
nivele de cuantizare sunt limitate Æ pasul de cuantizare este mare.
¾ Apare (mai ales in zonele de luminanta scazuta) asa numitul zgomot
granular.
¾ Zgomotul este mai putin pronuntat la un pas de cuantizare si mai mare
dar se pierde din rezolutie (in acele zone) Æ apare asa numitul zgomot de
contur.
¾ Solutia cea mai simpla este de a reduce pasul de cuantizare.
¾ Pas de cuantizare mic Æ reduce nivele de reconstructie (la o rata de bit
scazuta) Æ tranzitiile bruste din imagine (muchiile) nu pot fi codate cu o
precizie satisfacatoare Æ zgomot de panta supraincarcata.
I. Buciu - Compresia si Codarea Informaţiei
Procesul de cuantizare
¾ SOLUTIA: Folosirea unui pas de cuantizare adaptiv.
¾ Pas de cuantizare mic pentru zonele uniforme din imagine (tranzitii
lente)
¾ Pas de cuantizare mare pentru zonele care reprezinta muchii sau tranzitii
bruste (texturi complexe).
¾ Se poate ajunge pana la 1 bit / pixel Æ timp de calcul ridicat !

I. Buciu - Compresia si Codarea Informaţiei


Cuantizorul Lloyd - Max
¾ Cuantizorul Lloyd – Max este un cuantizor optim din punct de vedere al
principiului EMP (minimizează distorsiunea introdusa de cuantizor)
¾ Cuantizorul Lloyd minimizează EMP pentru un număr de nivele de
cuantizare date.
¾ Nivele de tranziţie optime sunt situate la jumătatea distantei dintre nivele
de reconstrucţie optime.
¾ Nivele de reconstrucţie optime sa afla la in centrul de masa al densitatii
de probabilitate dintre nivele de tranziţie.
¾ Nivelele de reconstrucţie si de tranziţie pot fi determinate iterativ
folosind, de exemplu, metoda Newton – Rapshon.

I. Buciu - Compresia si Codarea Informaţiei


Cuantizarea optima uniforma
¾ O cuantizare uniforma este caracterizata de următoarele expresii:
t L +1 − t1
¾ nivele de decizie: Δ= t k = t k −1 + Δ
L

Δ
¾ nivele de reconstrucţie: rk = t k +
2 ⎛ Δ Δ⎞
¾ Erorile de cuantizare sunt uniform distribuite pe intervalul ⎜ − 2 , 2 ⎟
⎝ ⎠
¾ EMP este data de relaţia:

1 Δ2 2 Δ2
ε EMP = ∫ u du =
Δ −Δ 2 12

I. Buciu - Compresia si Codarea Informaţiei


Cuantizarea optima uniforma
¾ Daca nivele de cuantizare sunt prea mici se poate observa un efect de
“contur” in imagini.
¾ In mod normal imaginile sunt cuantizate uniform cu 8 biţi / pixel.
Efectul de “contur” este vizibil la 6 biţi / pixel.
¾ La imaginile color spaţiul de culoare nu este uniform.
¾ O cuantizare pe 4 biţi este, de multe ori, suficienta pentru imaginile
color.

I. Buciu - Compresia si Codarea Informaţiei


Cuantizarea vectoriala
¾ Cuantizarea vectoriala (CV) se refera la transformarea unui bloc de date
de eşantioane intr-un numar de stari finite.
¾ CV este superioara vectorizarii scalare.
¾ CV se foloseşte de dependentele statistice dintre eşantioanele de date.
¾ Primul pas este descompunerea unei imagini intr-un set de vectori.
¾ Fie x = [x1, x2, …, xm] un vector de dimensiune m corespunzător unui
bloc dintr-o imagine.
¾ In CV spaţiul de dimensiune m constituit din 2m blocuri posibile este
cuantizat in L regiuni Ri, i = 1, …, L, numite regiuni Voronoi.

I. Buciu - Compresia si Codarea Informaţiei


Cuantizarea vectoriala
¾ Toti vectorii inclusi in regiunea Ri sunt reprezentaţi de un singur vector,
ri, ri = [ri1, ri2, …, rim] numit vector de cod.
¾ Mulţimea r = [r1, ri2, …, rL] se numeşte alfabetul codului.
¾ Partitionarea spaţiului m in L regiuni Voronoi in aşa fel încât eroarea
medie pătratica de cuantizare sa fie minima se refera la proiectarea
alfabetului de cod.
¾ Odată ce alfabetul este alcătuit, pentru transformarea unui mesaj intr-un
vector cod, se cauta vectorul de cod din alfabet de valoare cea mai
apropiata de vectorul rezultat din transformarea mesajului (informaţiei).
¾ Eticheta de reconstrucţie este data de entropia codului.

I. Buciu - Compresia si Codarea Informaţiei


Cuantizarea vectoriala
¾ La decodare se cauta eticheta corespunzătoare vectorului de
reconstrucţie.
¾ Daca se aloca 8 biţi / pixel, si lungimea L a alfabetului este o putere a lui
2, rata de compresie este (m x 8) / log2L.
¾ Valori tipice: m = 4 x 4, L = 1024 Î rata de compresie = 12,8.
¾ Alfabetul este proiectat (invatat) folosind un set de antrenare de imagini
reprezentative.
¾ Pentru măsurarea distorsiunilor se foloseşte de regula EMP.
¾ De regula este nevoie de 100 de vectori de antrenare / cod si L < 5000.

I. Buciu - Compresia si Codarea Informaţiei


Cuantizarea vectoriala
¾ Metoda celor k – medii:
¾ Se initializeaza j = 0 si un alfabet initial cu valori r(0) = [r1, r2, …,
rL].
¾ Pentru fecare iteraţie j = 1, …
¾Se definesc regiunile Ri folosind r(j) si un clasificator de
distanta minima.
D ( j −1) − D ( j )
¾ Daca ( j)
<ε stop. (D(j) este distorsiunea totala
D
pentru r(j)).
¾ Daca nu este îndeplinita condiţia de mai sus, se
incrementează j, se actualizează r(j) calculând media celor Ri.

I. Buciu - Compresia si Codarea Informaţiei


Cuantizarea vectoriala
¾Alegerea valorilor iniţiale ale alfabetului este cruciala !
¾ Algoritmul descris este unul de tip căutare completa.

I. Buciu - Compresia si Codarea Informaţiei


Notiuni introductive de compresie a informaţiei
¾ Este necesara reducerea cantitatii de date (informaţie)
¾ Datele pot conţine o cantitate mare de informaţii redundante (spaţiala,
temporala, de codare, sau psihovizuala).
¾ Pentru reducerea redundantei datele sunt modelate.
¾ Comprimare Ù Date fara informaţie redundanta.
¾ Relaţia de baza:

Compresie = Modelare + Codare

I. Buciu - Compresia si Codarea Informaţiei


Notiuni introductive de compresie a informaţiei
¾ Clasificarea metodelor de compresie:
¾ cu pierderi (informaţia iniţiala NU SE POATE recupera in
totalitate)
¾ fara pierderi (informaţia iniţiala SE POATE recupera in
totalitate)
¾ Metodele practice de compresie (pentru codarea imaginilor si video) sunt
de regula cu pierderi.

I. Buciu - Compresia si Codarea Informaţiei


Entropia
¾ Principiile compresiei sunt imprumutate de teoria informatiei.
¾ Simbolurile sunt modelate ca variabile aleatoare.
¾ Comceptul de baza se refera la “masurarea incertitudinii” cunoscuta sub
numele de entropie:

H ( X ) = −∑ x∈X P( x) log 2 P ( x)

¾ Codarea sursei Æ Reducerea entropiei Æ Reducerea numarului (mediu)


de biti necesari reprezentarii informatiei (imaginii) Æ COMPRESIE

I. Buciu - Compresia si Codarea Informaţiei


Entropia
¾ Exemplu 1: Fie o variabila aleatoare X cu probabilitatile (simbolului)
urmatoare: 0.15, 0.15, 0.2, 0.25 si 0.25. Entropia este data de:

H(X) = – (0.15 log 0.15 + 0.15 log 0.15 + 0.2 log 0.2 +
+ 0.25 log 0.25 + 0.25 log 0.25) =
= – 0.3 log 0.15 – 0.2 log 0.2 – 2*0.5 log 0.25
≈ 2.2855 biti.

I. Buciu - Compresia si Codarea Informaţiei


Entropia
¾ Exemplu 2: Fie o variabila aleatoare X cu probabilitatile (simbolului)
urmatoare: 0.5, 0.25, 0.125 si 0.125. Entropia este data de:

H(X) = – (0.5 log 0.5 + 0.25 log 0.25 +


+ 0.125 log 0.125 + 0.125 log 0.125) =
= – 0.5 log 0.5 – 0.25 (log 0.25 + log 0.125)
= 1.75 biti.

I. Buciu - Compresia si Codarea Informaţiei


Coduri
¾ Cod: O secventa de simboluri (cuvinte ale sursei) reprezentate printr-o
alta secventa numita cuvant de cod.
¾ Codurile unic decodabile sunt acele coduri pentru care cuvintele sursei
pot fi recuperate in mod unic dintr-o secventa de cod (reprezentare 1 – la –
1 fara pierderi).
¾ Exemplu de coduri unic decodabile: coduri – prefix. La acest cod nici un
cuvant de cod nu este prefixul altui cuvant de cod.

I. Buciu - Compresia si Codarea Informaţiei


Coduri
¾ Exemplu 3: Fie urmatorul alfabet de simboluri sursa X = {a, b, c, d}. Fie
o functie f care converteste X in cuvintele de cod binare B = {1, 01, 000,
001}. Acest cod este unic decodabil (nici un cuvant de cod din B nu este
prefixul altuia). Daca luam ca multimea cuvintelor de cod sa fie {0, 01, 10,
11} , atunci f nu este unic decodabila (0 este prefixul lui 01). De exemplu
ac ≠ ba, dar f*(ac) = f(a)f(c) = 010 = f(b)f(a) = f*(ba). Un exemplu de cod
unic decodabil dar care nu este de tip prefix este urmatorul B = {0, 01, 011,
0111}.

I. Buciu - Compresia si Codarea Informaţiei


Coduri bloc
¾ Definitie : O codare de tip bloc de ordinul n este o functie care atribuie
fiecarui bloc de n caractere consecutive o secventa de biti de lungime
variabila.
¾ Exemplu 4: sa consideram pentru inceput ca avem la dispozitie o sursa
cu un alfabet compus doar din 2 litere : X = {a, b}. In acest caz literele ‘a’
si ‘b’ au o probabilitate egala de aparitie.
¾ Codare bloc de ordinul 1 : In acest caz fiecare caracter este
reprezentat pe singur bit.

I. Buciu - Compresia si Codarea Informaţiei


Coduri bloc
¾Codare bloc de ordinul 1 : In acest caz fiecare caracter este reprezentat
pe un singur bit.

Bloc p(Bloc) Cuvant de cod


a 0,5 0
b 0,5 1
R = 1 bit/caracter

¾ In cazul de mai sus avem nevoie de 24 de biti pentru reprezentarea celor


24 de caractere – o medie de 1 bit / caracter.

I. Buciu - Compresia si Codarea Informaţiei


Coduri bloc
¾Codare bloc de ordinul 2: In acest caz fiecare pereche de caractere este
reprezentata pe unul, doi sau trei biti.
Bloc p(Bloc) Cuvant de cod
aa 0,45 0
bb 0,45 10
ab 0.05 110
ba 0.05 111
R = 0,825 biti/caracter

¾ In cazul de mai sus avem nevoie de 20 de biti pentru reprezentarea celor


24 de caractere – o medie de 0.83 biti / caracter.

I. Buciu - Compresia si Codarea Informaţiei


Coduri bloc
¾Codare bloc de ordinul 3: In acest caz fiecare triplet de caractere este
reprezentata pe unul pana la 6 biti (17 biti pentru 24 caractere = 0.71 biti /
caracter).
Bloc p (Bloc) Cuvant de cod
aaa 0,405 0
bbb 0,405 10
aab 0.045 1100
abb 0.045 1101
bba 0.045 1110
baa 0.045 11110
aba 0.005 111110
bab 0.005 111111
R = 0,68 biti/caracter

I. Buciu - Compresia si Codarea Informaţiei


Lungimea codului
¾ Un cod unic decodabil f pentru o variabila aleatoare X are lungimea
egala cu:

L(C ) = E{l ( X )} = ∑ x P( x)l ( x)

unde l(x) este lungimea (numarul de simboluri de cod) codului asociat lui x
¾Exemplu 4: Fie C codul – prefix pentru exemplul 3 cu probabilitatile
0,5; 0.25; 0.125; si 0,125. Lungimea codului este L(C) = 0,5 * 1 + 0,25*2
+ 0.125*3 + 0.125*3 = 1.75. Pentru celalalt cod unic decodabil avem: L(C)
= 0,5 * 1 + 0,25*2 + 0.125*3 + 0.125*4 = 1.875.

I. Buciu - Compresia si Codarea Informaţiei


Coduri optimale
¾ Un cod sursa este optim daca are lungimea L(C) cea mai mica.
¾ Prima teorema a lui Shannon: Orice cod optim satisface relatia:

H ( X ) ≤ L(C ) < H ( X ) + 1

I. Buciu - Compresia si Codarea Informaţiei


Codarea de tip Huffman
¾ Codarea de tip Huffman este un algoritm des folosit pentru proiectarea
unui cod – prefix (cand se cunosc variabilele – probabilitatile).
¾ Codarea de tip Huffman este folosita in standardele mai vechi de
imagine si video (standardul JPEG pentru imagini, MPEG – 2 si H – 263
pentru video).
¾ Cand este cunoscuta distributia de probabilitati a unei surse discrete,
algoritmul de codare Huffman furnizeaza o procedura sistematica de
proiectare pentru a obtine lungimea optima a cuvantului de cod.

I. Buciu - Compresia si Codarea Informaţiei


Codul Huffman
¾ Proiectarea codurilor Huffman implica 2 pasi: generarea simbolurilor
si atribuirea codurilor:
¾ Generarea simbolurilor: se formeaza arborele de codare Huffman in
felul urmator:
a. Aranjarea probabilitatii simbolurilor pi in ordine descrescatoare si
stabilirea acestora ca fiind frunzele arborelui.
b. Repetarea urmatorilor pasi pana cand ramurile se restrang intr-un nod:
¾ i. Cele doua noduri cu cele mai mici probabilitati converg si formeaza un nou nod cu
probabilitatea egala cu suma probabilitatilor celor doua noduri.
ii. Se atribue „1” si „0” perechii de ramuri care converge intr-un nod.

I. Buciu - Compresia si Codarea Informaţiei


Codul Huffman
¾ Atribuirea codurilor; cuvantul de cod pentru fiecare simbol este o
secventa binara de la radacina arborelui catre frunza in care
probabilitatea simbolului este localizata.
¾ Exemplu 5: Se considera o sursa discreta continand 5 simboluri {a, b, c, d, e}
cu o probabilitate de distributie {0.4, 0.14, 0.2, 0.2, 0.06}. Procedura de
codare Huffman si rezultatele acestei codari sunt ilustrate in urmatoarele
figuri. Se observa ca in timpul procesului de convergenta poate aparea
posibilitatea ca doua sau mai multe probabilitati sa fie egale. De exemplu, la
pasul 2 in fig. (a), probabilitatea simbolurilor d si e este egala cu
probabilitatea simbolurilor b si c. In caz de egalitate alegerea convergentei
poate fi arbitrara, iar codurile rezultate pot fi diferite, avand aceeasi rata
medie de bit si aceeasi rata de compresie dupa cum poate fi verificat utilizand
exemplele de coduri din fig. (a) si (b).
I. Buciu - Compresia si Codarea Informaţiei
Codul Huffman
1) Generarea simbolurilor 2) Atribuirea codurilor

Simbol Cuvant
de cod
a 0

b 10

c 110

d 1110

e 1111

I. Buciu - Compresia si Codarea Informaţiei


Codul Huffman
¾ Exemplu 6: Cuvintele de cod Huffman pentru alfabetul {e, o, a, i, u} cu
o probabilitate de distributie {0.42, 0.30, 0.12, 0.09, 0.07} sunt
urmatoarele:
1) Generarea simbolurilor 2) Atribuirea codurilor
Simbol Cuvant
de cod
e 1
o 00
a 011
i 0100
u 0101

I. Buciu - Compresia si Codarea Informaţiei


Codarea aritmetica
¾ Dezavantajele codului Huffman: lungimea alfabetului creste, nu este
adaptabil (ca lungime), etc.
¾ O solutie: Codul Aritmetic.
¾ Idea de baza este folosirea probabilitatilor (simbolurilor) ca si cuvinte de
cod.
¾ Codarea sursei in cuvinte de cod se face secvential folosindu-se functia
de repartitie cumulativa: i
Fx (i ) = ∑ p ( x = k )
k =1

¾Codurile aritmetice adaptice sunt folosite in standardele actuale de


compresie a imaginii (JPEG2000) si video MPEG – 4 si H.264.

I. Buciu - Compresia si Codarea Informaţiei


Codarea aritmetica
¾ Codarea aritmetica se imparte in 2 etape:
¾ Generarea unei etichete pentru o secvenţă dată de mesaje;
¾ Etichetei i se atribue un cod binar.
¾ Generarea unei etichete:
¾ Se începe cu intervalul [0,1].
¾ Funcţia de repartiţie a variabilei aleatoare asociate sursei este
folosită la împărţirea intervalului de lungime 1 în subintervale de
forma [Fx(xi-1), Fx(xi)], proporţionale cu valorile funcţiei de
repartiţie.
¾ Apariţia primului mesaj din secvenţă restricţionează intervalul
care conţine eticheta la unul din subintervale.
I. Buciu - Compresia si Codarea Informaţiei
Codarea aritmetica
¾ Generarea unei etichete:
¾Se presupune că primul mesaj este sk şi x(sk)=xk; atunci intervalul
care conţine valoarea etichetei va fi subintervalul [Fx(xi-1),
Fx(xi)].
¾ Acesta este partiţionat în subintervale proporţionale cu valorile
funcţiei de repartiţie, la fel ca intervalul original.
¾Fiecare mesaj care urmează impune ca eticheta să fie
restricţionată la un subinterval care este partiţionat în continuare
în aceleaşi proporţii.

I. Buciu - Compresia si Codarea Informaţiei


Codarea aritmetica
¾ Generarea unei etichete:
¾ În general, pentru o secvenţă x = x1x2, …, xn, se poate arăta că
limita superioară şi cea inferioară a intervalului etichetei pot fi
calculate recursiv, cu relaţiile:
( )
l n = l ( n −1) + u ( n −1) − l ( n −1) Fx ( x n − 1)
u n = l ( n −1) + (u ( n −1)
− l ( n −1) )F ( x
x n )
unde prin l(n) şi u(n) s-au notat limitele inferioară, respectiv,
superioară a intervalului ce conţine eticheta corespunzătoare
succesiunii de n mesaje.
¾ În relaţiile de mai sus se va considera l(0) = 0 şi u(0) =1 deoarece
înainte de a furniza mesajele intervalul iniţial se consideră [0,1].

I. Buciu - Compresia si Codarea Informaţiei


Codarea aritmetica
¾ Generarea unei etichete:
¾ În final eticheta sa ia fie la mijlocul intervalului final

u (n) + l (n)
Tx ( x ) =
2
¾ fie limita inferioara a intervalului
Tx ( x) = l ( n )
¾ DE RETINUT: Pentru codarea unui mesaj folosind un cod aritmetic este
necesara cunoasterea alfabetului, probabilitatile de aparitie a simbolurilor si
a mesajului de codat.

I. Buciu - Compresia si Codarea Informaţiei


Codarea aritmetica
¾ Exemplu 6: Fie sursa cu alfabetul S = {s1,s2,s3}, cu p(s1) = 0.8, p(s2) =
0.02, p(s3) = 0.18. Se defineşte variabila aleatoare x(si) = i şi se doreşte a
coda secvenţa 1321.
¾ Din modelul de probabilitate se obţine Fx(k) = 0, Fx(1) = 0.8, Fx(2) =
0.82, Fx(3) = 1, pentru k > 3.
¾ Se iniţializează cu u(0) = 1, l(0) = 0.
¾ Primul element al secvenţei este 1:
l(1) = 0 + (1 – 0)*0 = 0
u(1) = 0 + (1 – 0)*0.8 = 0.8
¾ adică eticheta este conţinută în intervalul [0, 0.8).

I. Buciu - Compresia si Codarea Informaţiei


Codarea aritmetica
¾ Următorul element este 3:
l(2) = 0 + (0.8 – 0)*Fx(2) = 0.656
u(2) = 0 + (0.8 – 0)* Fx(3) = 0.8
¾ intervalul care conţine eticheta pentru secvenţa 13 este [ 0.656; 0.8).
¾ În continuare urmează 2:
l(3) = 0.656 + (0.8 – 0.656)*Fx(1) = 0.7712
u(3) = 0.656 + (0.8 – 0.656)* Fx(2) = 0.77408
¾ Intervalul urmator este [0.7712; 0.77408).

I. Buciu - Compresia si Codarea Informaţiei


Codarea aritmetica
¾ Urmează 1 şi limitele intervalului devin :
l(4) = 0.7712 + (0.77408 – 0.7712)*Fx(0) = 0.7712
u(4) = 0.7712 + (0.77408 – 0.7712)* Fx(1) = 0.773504
¾ Eticheta este:
Tx (1321) = 0.7712

I. Buciu - Compresia si Codarea Informaţiei


Decodarea aritmetica
¾ Intervalul care conţine eticheta este o submulţime a fiecărui interval
obţinut la codare.
¾ Se urmăreşte a se decoda elementele din secvenţă astfel încât valoarea
etichetei să fie cuprinsă între limitele l(k) şi u(k) pentru fiecare k.
¾ DE RETINUT: Pentru decodarea unui mesaj codat in cod aritmetic (asa
cum se prezinta la intrarea unui decodor) este necesara doar cunoasterea
lungimii mesajului, alfabetului, probabilitatilor de aparitie a simbolurilor in
alfabet si a etichetei.

I. Buciu - Compresia si Codarea Informaţiei


Decodarea aritmetica
¾ Exemplu 7: Fie eticheta Tx ( x1 x2 x3 x4 ) = 07712 . Sa se decodeze mesajul
x1x2x3x4 codat cu un cod aritmetic avand eticheta de mai sus si alfababetul S
= {s1,s2,s3}, cu p(s1) = 0.8, p(s2) = 0.02, p(s3) = 0.18.
¾ Rezolvare:
¾ Fx(k) = 0, Fx(1) = 0.8, Fx(2) = 0.82, Fx(3) = 1.
¾ Se începe cu l(0) = 0 şi u(0) = 1.
¾ După decodarea primului element din secvenţă , x1, limitele devin
l(1) = 0 + (1 – 0)* Fx (x1 – 1) = Fx (x1 – 1)
u(1) = 0 + (1 – 0)*Fx(x1) = Fx (x1)
¾ Este necesară aflarea valorii lui x1 pentru care valoarea etichetei 0.7712
cade în intervalul obţinut.
I. Buciu - Compresia si Codarea Informaţiei
Decodarea aritmetica
¾ x1 = 1, rezultă intervalul [0; 0,8),
¾ x1 = 2, rezultă intervalul [0,8; 0,82),
¾ x1 = 3, rezultă intervalul [0,82; 1).
¾ Cum eticheta este conţinută în primul interval, se decide x1 = 1.
¾ Se continua (NOUL INTERVAL ESTE CEL ASOCIAT LUI x1 = 1 !):
l(2) = 0 + (0,8 - 0)* Fx (x2 – 1) = 0.8*Fx (x2-1)
u(2) = 0 + (0,8 - 0)*Fx(x2) = 0.8*Fx (x2)
¾ x2 = 1, rezultă intervalul [0; 0,64),
¾ x2 = 2, rezultă intervalul [0,64; 0,656),
¾ x2 = 3, rezultă intervalul [0,656; 0,8).

I. Buciu - Compresia si Codarea Informaţiei


Decodarea aritmetica
¾ Eticheta este conţinută în ultimul interval, aşa că se decide x2 = 3.
¾Se continua (NOUL INTERVAL ESTE CEL ASOCIAT LUI x2 = 3 !):
l(3) = 0,656 + (0,8 – 0,656)* Fx (x3 – 1) = Fx (x3 – 1)
u(3) = 0,656 + (0,8 – 0,656)*Fx(x3) = Fx (x3)
¾ x3 = 1, rezultă intervalul [0,656; 0,7712),
¾ x3 = 2, rezultă intervalul [0,7712; 0,77408),
¾ x3 = 3, rezultă intervalul … ?
¾ Eticheta este conţinută în al doilea interval, aşa că se decide x3 = 2.

I. Buciu - Compresia si Codarea Informaţiei


Decodarea aritmetica
¾ Se continua (NOUL INTERVAL ESTE CEL ASOCIAT LUI x3 = 2 !):
l(4) = 0,7712 + (0.77408 – 0,7712 )* Fx (x4 – 1) = Fx (x4 – 1)
u(4) = 0,7712 + (0.77408 – 0,7712 )*Fx(x4) = Fx (x4)
¾ x4 = 1, rezultă intervalul [0.7712; 0.773504 ),
¾ x4 = 2, rezultă intervalul [0.773504; 0.7735616),
¾ x4 = 3, rezultă intervalul … ?
¾ Eticheta este conţinută în primul interval, aşa că se decide x4 = 1.
¾ In final se obtine x1x2x3x4 = 1321.

I. Buciu - Compresia si Codarea Informaţiei


Codul Lempel – Ziv
¾ Codul Lempel – Ziv si variantele sale sunt metode care combina
modelarea cu codarea. Aceste coduri sunt alcatuite din 2 etape: atribuirea
de probabilitati (formarea unui dictionar) urmata de o codare aritmetica Æ
cod aritmetic adaptiv.
¾ Cele doua variante de baza LZ77 (cu fereastra glisanta) si LZ78.
¾ O varianta des intilnita este codul Lempel – Ziv – Welch (LZW) folosit
in aplicatii ca: formatul de imagine fara pierderi Graphical Interchange
Format (GIF), Portable Document Format (PDF - Adobe Acrobat),
PostScript (PS).

I. Buciu - Compresia si Codarea Informaţiei


Codul Lempel – Ziv
¾ Idea de baza: folosirea sirurilor curente pentru predictia sirurilor viitoare.
¾ Crearea unui dictionar cu ajutorul sirurilor curente disponibile si
atribuirea uni index de dictionar pentru cel mai lung sir care se potriveste
cu datele curente. Urmatorul simbol (care nu se potriveste) este folosit
pentru expandarea dictionarului.

I. Buciu - Compresia si Codarea Informaţiei


Codul Lempel – Ziv
¾ Exemplu:

I. Buciu - Compresia si Codarea Informaţiei


Codul Lempel – Ziv
¾ Exemplu:

I. Buciu - Compresia si Codarea Informaţiei


Codul Lempel – Ziv
¾ Exemplu:

I. Buciu - Compresia si Codarea Informaţiei


Codul Lempel – Ziv
¾ Exemplu:

I. Buciu - Compresia si Codarea Informaţiei


Codarea diferentiala
¾ Idea de baza: in loc sa se codeze direct sursa semnalului, se codeaza
diferenta dintre semnalul curent si predictia sa (semnalul ce urmeaza).
¾ Aceasta abordare se numeste codare predictiva sau diferentiala.
¾ Codarea diferentiala se bazeaza pe corelatia spatiala sau temporala dintre
pixeli.
¾ Valorile diferenta au de regula o gama dinamica mica.
¾ Cand aceste valori se cuantizeaza metoda se numeste Modulatia
Diferentiala a Implusurilor in Cod (MDIC).
¾ Un caz special este Modulatia Delta.
¾ Procesul de codare implica operatia de transformare, cuantizare si
atribuire a codului.
I. Buciu - Compresia si Codarea Informaţiei
Codarea diferentiala
¾ Desi MDIC este simpla, nu ofera o compresie eficienta.
¾ Imaginea digitala este reprezentata printr-o matrice (tablou 2D) in care
pixelii invecinati sunt puternic corelati (prezenta redundantei spatiale).
¾ Diferenta dintre valorile corespunzatoare nivelurilor de gri are o varianta
mai mica decat imaginea originala Æ pentru acelasi numar de biti /
esantion eroarea de cuantizae va fi mai mica.
¾ La codarea MDIC de tip pixel – cu – pixel (nu codare bloc), valoarea
pixelului precedent este folosit ca predictor, semnalul diferenta avand
expresia:
d i = zi − zˆi = zi − zi −1

I. Buciu - Compresia si Codarea Informaţiei


Codarea diferentiala
¾ Versiunea cuantizata a diferentei este data de expresia:
dˆi = Q(d i ) = d i + eq
¾ unde cu eq s-a notat eoarea de cuantizare.
¾ La decodare, valoarea pixelului reconstituit este data de expresia:
zir = zir−1 + dˆi
¾Aparitia erorii numerice de acumulare !
¾ Pentru evitarea acestei erori predictia la codare trebuie sa fie identica cu
cea de la decodare.
¾ Din acest motiv, la codare se folosesc valorile reconstituite a
esantioanelor codate anterior in loc de valorile reale.

I. Buciu - Compresia si Codarea Informaţiei


Codarea diferentiala
¾ La codare, semnalul diferenta ia valoarea:
d i = zi − zir−1
¾ adica valoarea anterioara reconstituita zir−1 este folosita ca predictor ẑi
¾ La codare se simuleaza decodarea in bucla de predictie pentru evitarea
erorilor de acumulare.
¾ De regula se foloseste cuantizorul Lloyd – Max.
¾ Predictorul este proiectat pentru cazul unor erori de cuantizare zero, iar
cuantizorul este astfel proiectat sa minimizeze eroarea de cuantizare.
¾ Dupa operatia de cuantizare se aplica un algoritm de codare fara pierderi
cum ar fi codarea Huffman sau aritmetica.

I. Buciu - Compresia si Codarea Informaţiei


Predictie liniara
¾ Intr-un sistem MDIC, versiunea prognozata a unui esantion poate fi
descrisa ca o functie avand ca argumente esantioanele anterioare
reconstituite:
(
zˆi = f zir−1 ,..., zir− n )
¾ In cazul unei predictii liniare avem functia respectiva se poate exprima:
n
zˆi = ∑ a j zir− j
j =1

unde aj sunt coefficientii de predictie.

I. Buciu - Compresia si Codarea Informaţiei


Predictia liniara
¾ Semnalul, diferenta este dat de d i = zi − zˆi iar valoarea cuantizata a
lui d i este d̂ i .Versiunea reconstituita:
zir = zˆi + dˆi
¾ Eroarea de predictie este ei = zi − zˆi
¾ In general coeficientii de predictie sunt selectati in asa fel incat valoarea
erorii medie patratica este minimizata.
¾ Distorsiuni tipice la codarea intracadru (in interiorul cadrului):
¾ Zgomot granular: zgomot aleator in zonele uniforme ale
imaginii.
¾ Discontinuitati de muchie.

I. Buciu - Compresia si Codarea Informaţiei


Codarea diferentiala intercadru
¾ Codarea secventelor de imagini (video) se numeste codarea intercadru.
¾ Cadrele succesive contin, in mare parte, informatie redundanta.
¾ In codarea 3D – MDIC se exploateaza ambele tipuri de redundanta:
spatiala si temporala.
¾ Se foloseste scanarea intretesuta si doar liniile pare sau impare ale
cadrului prezent sunt achizitionate simultan.
¾ Daca se proceseaza liniile pare, liniile impare al cadrului curent sunt de
asemenea disponibile (vecinii de sus ai liniei pare) si vecinii scanati deja, in
asa fel incat este possibila predictia.
¾ Mai mult, liniile pare si impare ale cadrului precedent sunt dispoibile.

I. Buciu - Compresia si Codarea Informaţiei


Codarea predictiva cu compensare a miscarii
¾ Pentru o rata de cadru suficient de mare, modificarile care apar de la
cadru la cadru pot fi atribuite deplasarii (miscarii) obiectelor pe durata
secventei video (de – a lungul cadrelor).
¾ Daca ar fi posibila analiza miscarii obiectelor din cadrele succesive am
putea estima pozitia lor in cadrele urmatoare prin predictia pozitiei lor din
cadrele anterioare.
¾ In acest caz s-ar cuantiza si coda doar diferenta dintre cadrul real si cel
estimat.
¾ Aceasta abordare se numeste Codare Predictiva cu Estimare a Miscarii,
metoda adoptata la majoritatea standardelor de codare video.

I. Buciu - Compresia si Codarea Informaţiei


Coordonatele vectorului de miscare
¾ Eroarea medie patratica
¾ Eroarea medie absoluta

I. Buciu - Compresia si Codarea Informaţiei


Codarea transformatei
¾ In cazul codarii transformatei, pentru obtinerea compresiei se tine cont
de corelatia intracadru (intre pixeli).
¾ Codarea transformatei este o tehnica fundamentala in compresia
imaginilor statice.
¾ Este folosita si in compresia video pentru informatiei intracadru si a
erorii de predictie in codarea predictiva cu compensare a miscarii.
¾ Codarea transformatei este folosita in standarde ca: JPEG, JPEG2000,
MPEG 1 – 4, si ITU H.261, H.263, H.264.
¾ In codarea transformatei se urmareste reducerea corelatiei dintre pixeli
ÅÆ reducerea redundantei spatiale.
¾ Pixelii ce contin informatie redundanta sunt eliminati.

I. Buciu - Compresia si Codarea Informaţiei


Principiile compresiei video
¾ Codarea intercadru predictiva sta la baza codecurilor video actuale si
este folosita la H.261, H.263, MPEG – 1, 2 si 4.
¾ Cele trei principii fundamentale de reducere a redundantei:
– Reducerea redundantei spatiale dintre pixelii imaginii (eliminarea
sau transformarea pixelilor similari) Æ aplicarea transformatelor.
– Reducerea redundantei temporale pentru eliminarea
similaritatilor dintre cadrele succesive Æ codarea diferentelor
dintre cadre.
– Codarea entropiei pentru reducerea redundantei dintre
simbolurile de informatie Æ tehnici de codare cu lungime
variabila (Huffman, coduri aritmetice, etc).
– PLUS: Redundanta psihovizuala Æ Redundanta spectrala !

I. Buciu - Compresia si Codarea Informaţiei


Sistemul Vizual Uman si Perceptia vizuala
¾ Sistemul vizual uman (SVU) este EXTRAORDINAR de perfect in
recunoasterea faciala la o rezolutie extrem de scazuta.
¾ De ce ? Rezolutie scazuta Æ imagine de frecventa joasa.
¾ Detaliile nu sunt importante si sunt eliminate (corespunzatoare
frecventelor inalte) !!!
¾ Informatia (energia) relevanta (dpdv vizual) este concentrata in spectrul
frecventelor joase !

I. Buciu - Compresia si Codarea Informaţiei


Sistemul Vizual Uman si Perceptia vizuala
¾

Rezolutia: 32 x 25 pixeli ! Rezolutia: 638 x 495


~ factor de rezolutie = 20 x

I. Buciu - Compresia si Codarea Informaţiei


Sistemul Vizual Uman si Perceptia vizuala

¾ 1. Imaginile de tip RGB Æ convertite in spatiu de culoare reprezentat


mai eficient (eliminarea redundantei) + predictia distorsiunilor de culoare.
¾ 2. Descompunerea imaginilor in componente de frecvente spatiale
orientate (asemanator modelului de filtrare de tip undisoara Gabor – o
descompunere eficienta).
¾ 3. Masurarea contrastului local prin transformari neliniare Æaproximare
prin folosirea amplitudinilor coeficientilor undisoara.
¾ 4. Senzitivitatea SVU scade cu cresterea frecventelor spatiale =>
necesitatea compensarii Functiei de Senzitivitate a Contrastului (FSC).
I. Buciu - Compresia si Codarea Informaţiei
Sistemul Vizual Uman si Perceptia vizuala

¾5. Efectul de mascare Æ prezice ce cantitate de zgomot de cuantizare (ce


apare in momentul compresiei- codarii) poate fi “ascuns” (mascat de) in
semnalul original fara afectarea vizibila a calitatii imaginii.
¾ Efectul de mascare Æ mascarea unei zone din imagine de catre alta zona
apropriata in spatiu si cu caracteristici spaiale si de frecventa similare Æ
contrast mult mai puternic pentru a 2-a zona fata de prima.
¾ 6. Combinarea tuturor informatiilor (descompuse in componente de
frecvente spatiale diferite si prelucrate de pasii de mai sus) pentru
generarea tabloului intreg Æ aproximarea datelor (imaginii) originale cu
varianta comprimata, la nivelul SVU.

I. Buciu - Compresia si Codarea Informaţiei


Sistemul Vizual Uman si Perceptia vizuala
¾ Exemplu de descompunere pentru imaginea “Becalli”

I. Buciu - Compresia si Codarea Informaţiei


Sistemul Vizual Uman si Perceptia vizuala
¾ Exemplu de mascare a contrastului

I. Buciu - Compresia si Codarea Informaţiei


Redundanta psihovizuala – Perceptia vizuala
¾ Redundanta spectrala se manifesta la nivelele inferioare ale sistemului
vizual uman (primele trei nivele ale retinei).
¾ Peceptia vizuala se manifesta la nivelele superioare ale sistemului vizual
uman Æ cerebel.

¾ Perceptia vizuala este extrem de complexa.

I. Buciu - Compresia si Codarea Informaţiei


Redundanta psihovizuala – Perceptia vizuala
¾ LGN – Lateral Geniculate Nucleus – 6 nivele - perceptia informatiei de
luminanta (celule ganglionare specializate).
¾ Cortexul vizual – V1 … AIT.
¾ V1 (cortexul vizual primar) – 6 nivele Æ sunt stimulate - transmit
implusuri catre nivelele superioare atunci cand sunt stimulate de catre:
¾ muchii orientate;
¾ diverse frecvente spatiale;
¾ diverse frecvente temporale;
¾ locatii spatiale particulare;

I. Buciu - Compresia si Codarea Informaţiei


Iluzii optice - Imperfectiunile SVU
¾ Obiecte ireale (imposibile):
¾ Triunghiul lui Oscar Reutersward
¾ Interpretarea 3D – mentala
a modelului !
¾ Creierul uman percepe stimulul
¾ vizual pe componente locale si apoi
¾ le imbina pentru alcatuirea intregului
¾ Triunghiul ca intreg – IMPOSIBIL DE REALIZAT ! - PARADOX

I. Buciu - Compresia si Codarea Informaţiei


Iluzii optice - Imperfectiunile SVU
¾ Iluzii ambigue:
¾ Ambiguitate de perceptie

I. Buciu - Compresia si Codarea Informaţiei


Iluzii optice - Imperfectiunile SVU
¾ Iluzii de distorsiune:
¾ Efectul este cauzat
¾ de celulele neuronale
¾ sensibile la orientare.

I. Buciu - Compresia si Codarea Informaţiei


Iluzii optice - Imperfectiunile SVU
¾ Iluzii de distorsiune:
¾ Spirala lui Fraser:

I. Buciu - Compresia si Codarea Informaţiei


Iluzii optice - Imperfectiunile SVU
¾ Iluzie de camuflaj:
¾

I. Buciu - Compresia si Codarea Informaţiei


Iluzii optice - Imperfectiunile SVU
¾ Inhibitie laterala contrast simultan:

I. Buciu - Compresia si Codarea Informaţiei


Iluzii optice - Imperfectiunile SVU
¾ Contrast simultan :

I. Buciu - Compresia si Codarea Informaţiei


Iluzii optice - Imperfectiunile SVU
¾ Iluzie de miscare:

I. Buciu - Compresia si Codarea Informaţiei


Iluzii optice - Imperfectiunile SVU
¾ Iluzie de adancime:

I. Buciu - Compresia si Codarea Informaţiei


Perceptia vizuala
¾ Sensibilitatea ochiului uman la REZOLUTIE este functie de distanta !

I. Buciu - Compresia si Codarea Informaţiei


Corelarea datelor
¾ Fie doi vectori (variabile) a = (1, 2, 3, 4, 3, 2, 1) si b = (3, 5, 7, 9, 7, 5, 3).
¾ Spunem despre cei doi vectori ca sunt puternic corelati pozitiv, deoarece
ai > ai-1 implica bi > bi-1 si ai < ai-1 implica bi < bi-1 (daca se cunoaste
evolutia lui a putem prezice evolutia lui b) Æ coeficientul de corelatie R ~
+1.
¾ Corelare pozitiva Æ cei doi vectori se modifica in acelasi sens.
¾ Daca b = (9, 7, 5, 3, 5, 7, 9) Æ ai > ai-1 implica bi < bi-1 si ai < ai-1 implica
bi > bi-1 Æ cei doi vectori sunt puternic corelati negativ Æ coeficientul de
corelatie R ~ –1 .
¾ Daca evolutia ai > ai-1 sau ai < ai-1 nu se spune nimic despre bi si bi-1 cei
doi vetori nu sunt corelati Æ coeficient de corelatie R ~ = 0.

I. Buciu - Compresia si Codarea Informaţiei


Corelarea datelor

a) R ~ +1 b) R ~ – 1 c) R ~ 0
R = Cab / Ca*Cb, unde Cab este maricea de covarianta a celor doi
vectori a si b iar Ca si Cb sunt variantele celor doi vectori

I. Buciu - Compresia si Codarea Informaţiei


Corelarea datelor – corelare intracadru
(spatiala)

I. Buciu - Compresia si Codarea Informaţiei


Corelarea datelor – corelare intracadru
(spatiala)
¾ Corelarea coloanelor (sau liniilor) dintr-o imagine

Linia R(1) R(2) R(3) R(4) R(5) R(6) R(7) R(8)


128
62 0.93 0.85 0.78 0.73 0.67 0.61 0.54 0.45
63 0.92 0.83 0.77 0.72 0.65 0.59 0.52 0.43
64 0.93 0.86 0.82 0.75 0.67 0.61 0.54 0.45
128

65 0.92 0.85 0.81 0.75 0.67 0.61 0.54 0.46

66 0.91 0.83 0.78 0.71 0.64 0.59 0.51 0.42

med 0.92 0.84 0.79 0.73 0.66 0.60 0.53 0.44

I. Buciu - Compresia si Codarea Informaţiei


Corelarea datelor – corelare intercadru
(temporala)
¾ Corelarea temporala dintre doua cadre
¾ Informatia mutuala masoara cantitatea de informatie redundanta
(corelatia):
⎛ p ( x, y ) ⎞
I ( X ;Y ) = ∑ ∑y p ( x , y ) log ⎜⎜ ⎟⎟
x ⎝ p( x) p( y ) ⎠

Informatia mutuala: 1&2 = 2.04, 1&3 = 1.91, 1&4 = 1.63, 2&3 = 1.93, 2&4 = 1.56, 3&4 = 1.43

I. Buciu - Compresia si Codarea Informaţiei


Corelarea datelor – corelare intercadru
(temporala)
¾

Informatia mutuala: 0.06 !

I. Buciu - Compresia si Codarea Informaţiei


Decorelarea datelor
¾ Decorelare Æ REDUCEREA REDUNDANTEI (spatiale sau
temporale)! Æ COMPRESIE !
¾ Decorelare prin aplicarea transformatelor.
¾ Transformarea datelor este posibila deoarece energia unui semnal
(pentru imagini naturale) este concentrata in majoritate in regiunea
frecventelor joase (un numar mic de coeficienti de transformare sunt
necesari pentru reprezentarea apxoximativa a semnalului).
¾ Coeficientii de transformare pot fi ulterior cuantizati Æ codare cu
pierderi (valorile originale ale semnalului nu mai pot fi reconstituite)!
¾ Decorelare prin transformarea datelor Æ rotirea datelor, “albire”, vectori
singulari, etc.

I. Buciu - Compresia si Codarea Informaţiei


Decorelarea datelor
¾ Exemplu de transformare - rotire.

¾ Fiecare pixel pe x1 si x2 sunt puternic corelati (pe o directie de 450).


¾ Daca se rotesc axele cu 450, aparitia comuna a pixelilor de-a lungul axei y1 au o
distributie uniforma, dar, de-a lungul axei y2 majoritatea sunt concentrati in jurul
valorii zero Æ Consecinta: in medie y1 si y2 pot fi reprezentati la o rata de biti mai
mica decat pixeli de pe x1 si x2 Æ compresie !
I. Buciu - Compresia si Codarea Informaţiei
Decorelarea datelor
¾ Transformarea spatiului (x1, x2) in (y1, y2) prin rotirea cu 450 se realizeaza cu
ajutorul matricei de rotatie:

¾ y1 se numeste valoarea medie (sau componenta continua), iar y2 componenta


reziduala.
¾ Energia din domeniul pixel este egala cu energia din domeniul
transformatei (matrice de transformare este ortonormata (Teorema lui
Parseval).

I. Buciu - Compresia si Codarea Informaţiei


Decorelarea datelor
¾ Exemplu de transformare – rotirea unei imagini.

Ditributia pixelilor pe X Ditributia pixelilor pe Y


inainte de rotatie inainte de rotatie

Imagine

Ditributia pixelilor pe X Ditributia pixelilor pe Y


dupa rotatie dupa rotatie

I. Buciu - Compresia si Codarea Informaţiei


Transformata de “albire”
¾ Pasi: 1. Determinarea vectorilor singulari ai matricei de covarianta Cx:
A = Q ΛQT
¾ 2. Aplicarea transformatei:
z = Λ-1/2QTx
¾ Matricea Λ-1/2 este inversa matricei diagonale Λ1/2 ale carei elemente
sunt egale cu radacina patrata a valorilor proprii. Matricea de covarianta
transformata:
Cz = [Λ-1/2QT]Cx[Λ-1/2QT]T = I
¾ ne spune ca efectul transformatei este rotirea sistemului de coordonate si
scalarea matricei de covarianta la matricea identitate.

I. Buciu - Compresia si Codarea Informaţiei


Transformata de “albire”
¾ Exemplu de transformare – decorelarea pixelilor dintr-o secventa de imagini prin
metoda de “albire” – reducerea redundantei temporale.

Sus: Datele originale. Jos: Datele decorelate. Coeficentul de corelatie dintre imagini este:
Inainte de “albire”: 1&2 = 0.97, 1&3 = 0.94, 1&4 = 0.90, 2&3 = 0.97, 2&4 = 0.90, 3&4 = 0.92
Dupa “albire”: 1&2 = – 0.14, 1&3 = – 0.05, 1&4 = – 0.44, 2&3 = 0.01, 2&4 = – 0.42, 3&4 = – 0.56
I. Buciu - Compresia si Codarea Informaţiei
Codarea transformatei
¾ La receptie datele codate sunt decodate si imaginile sunt reconstituite.
¾ Alocarea bitului: in domeniul transformatei se aplica operatii cum ar fi
trunchiere, cuantizare si atribuirea cuvintelor de cod.
¾ Transformate folosite: Transformata Discreta Karhunen – Loeve
(TDKL), Transformata Cosinus Discreta (TCD) si Transformata Undisoara
(TU).

I. Buciu - Compresia si Codarea Informaţiei


Elemente fundamentale de transformare
¾ Operatia de transformare este un procedeu (functie) care transforma
semnalul initial x(t) obtinandu-se o noua reprezentare a semnalului y(t).
¾ Transformata se numeste liniara daca semnalul rezultant se obtine prin
combinatii liniare a semnalului initial:
y = Tx
unde T reprezinta matricea de transformare.
¾ In cazul imaginilor, fiecare imagine poate fi reprezentata cu ajutorul
imaginilor de baza obtinute prin transformare.
¾ Pentru o imagine de dimensiune N x N exista N2 imagini de baza.
¾ La majoritatea standardelor de compresie (JPEG, MPEG – 1, MPEG –
2), N = 8 Î 64 imagini de baza.
I. Buciu - Compresia si Codarea Informaţiei
Elemente fundamentale de transformare
¾ La receptie se aplica operatia inversa transformarii.
¾ Daca transformata este ortogonala, adica T*TT = I, unde I este matricea
unitate, transformata inversa se simplifica: T-1 = TT.
¾ In acest caz, daca nu exista cuantizare, imaginea poate fi reconstituita
fara eroare.
¾ Ideea de baza a unei transformate: concentrarea energiei semnalului in
cat mai putin coeficienti de transformare.
¾ Compresia se poate obtine prin setarea la valoarea zero ai acelor
coeficienti (de valoare mica) care nu depasesc un prag prestabilit.

I. Buciu - Compresia si Codarea Informaţiei


Transformata Fourier
¾ Transformata Fourier conduce la determinarea spectrului unui semnal.
¾ Transformata Fourier reprezinta un semnal printr-o suma de semnale
(componente) sinusiodale.
¾ Componentele sinusoidale si cosinusoidale sunt functii de baza
ortogonale. Reprezentarea este unica si fiecare coeficient Fourier reprezinta
contributia unei componente sinusiodale la o anumita frecventa.
¾ Semnalele periodice sunt reprezentate foarte eficient cu ajutorul
transformatei Fourier.
¾ Daca semnalul prezinta zone de tranzitie, transformata Fourier nu mai
este eficienta.

I. Buciu - Compresia si Codarea Informaţiei


Transformata Fourier
¾ In acest caz se poate folosi o fereastra (masca) pe “suprafata” careia sa
poate aplica transformata Fourier.
¾ Transformata Fourier nu contine informatii despre translatarea in timp
sau spatiu a unui semnal.
¾ Se poate folosi transformata Fourier scurta (de tip “short – time”).

I. Buciu - Compresia si Codarea Informaţiei


Valori si vectori singulari
¾ λ se numeste valoare singulara a matricei A daca indeplineste relatia:
det (A – λI) = 0
¾ si fiecare solutie λ are un vector singular corespunzator x:
Ax – λx
¾ Suma valorilor singulare ale lui A este egala cu suma elementelor sale de
pe diagonala.
¾ Produsul valorilor singulare ale lui A este egala cu determinantul sau.

I. Buciu - Compresia si Codarea Informaţiei


Valori si vectori singulari
¾ Sa presupunem ca matrica A de dimensiune n x n are n vectori singulari
independenti. Daca acesti vectori sunt ordonati in coloanele matricei S,
atunci avem relatia:
S-1AS = Λ si A = S Λ S-1
unde Λ este o matrice diagonala cu elementele formate din λ.
¾ O matrice A simetrica si cu elemente reale poate si descompusa in
A = Q ΛQT
unde Q contine vectori singulari ortogonali si Λ valorile singulare
corespunzatoare.

I. Buciu - Compresia si Codarea Informaţiei


Transformata Karhunen - Loeve
¾ Transformata Karhunen – Loeve (TKL) este o transformata optima
d.p.d.v. al erorii medie patratice.
¾ TKL concentreaza cea mai mare parte a energiei unui semnal de lungime
n in l ≤ n coeficienti de transformare.
¾ Eroarea medie patratica de reconstructie este data de suma variantei
componentelor eliminate (nu se iau in considerare erorile de cuantizare sau
transmisie).
¾ TKL este o transformata ortogonala ce decoreleaza componentele unui
semnal: y = Tx si x = TTy
unde vectorii de pe liniile lui T sunt vectorii proprii ai matricei de
covarianta a semnalului x.

I. Buciu - Compresia si Codarea Informaţiei


Transformata Karhunen - Loeve
¾ Matricea de corelatie a unui semnal transformat este o matrice diagonala.
¾ KLT se bazeaza pe descompunerea in vectori proprii ai matricei de
covarianta.
¾ Desi transformata este optima, KLT este rareori folosita in practica
datorita timpului de calcul mare (complexitate de calcul) necesar
descompunerii in vectori proprii
¾ Mai mult, KLT deoinde si de natura datelor.
¾ In practica se folosesc alte transfomari sub-optimale (dar cu rezultate
apropiate de cele obtinute de KLT) cum ar fi transformata Haar,
Transformata Cosinus Discreta.

I. Buciu - Compresia si Codarea Informaţiei


Reducerea dimensionalitatii - ACP
¾ Reducerea dimensionalitatii datelor – o metoda statistica este descrisa de
analiza conmponentelor principale (ACP).
¾ ACP transforma datele in asa fel incat un vector de observatie de
dimensiune d este inlocuit de k combinatii liniare a variabilelor datelor
initiale. (k < d !)
¾ Definitie: Fie x un vector de dimensiune d si variabile aleatoare cu media
μ si matricea de covarianta (dispersie) Σ . Fie U = (u1, u2, …, ud) o matrice
ortogonala in asa fel incat are loc relatia:
UT Σ U = Λ = diag(λ1,λ2, … λd)
¾ unde λ1 ≥ λ2 ≥ L ≥ λd sunt valorile singulare asociate lui Σ, iar
¾ v = U T (x − μ ) = uTj (x − μ ) este componenta pricipala j.

I. Buciu - Compresia si Codarea Informaţiei


Reducerea dimensionalitatii - ACP
¾ Componentele principale standardizate: z j = λ−1/ 2 y j
¾ Vectorii singulari uj sunt de lungime unitara.
¾ Componentele yj sunt decorelate si var (yj) = λj
¾ Proprietati: Varianta cea mai mare a semnalului este continuta in primul
vector principal.

I. Buciu - Compresia si Codarea Informaţiei


Transformata Cosinus Discreta
¾ Transformata Cosinus Discreta (TCD) este larg utilizata in codarea audio
si video.
¾ Spre deosebire de ACP, TCD este independenta de natura datelor.
¾ TCD bidimensionala directa definita pentru un bloc de dimensiune N x N
este reprezentata de relatia:
1 N −1 N −1
⎡ (2i + 1)uπ ⎤ ⎡ (2 j + 1) vπ ⎤
Suv = Cu Cv ∑ ∑ sij cos ⎢ ⎥ cos ⎢ ⎥⎦
2N i =0 j =0 ⎣ 2 N ⎦ ⎣ 2N

¾ Valorea pixelului in pozitia (i,j) este sij iar Suv reprezinta coeficientul de
transformare.

I. Buciu - Compresia si Codarea Informaţiei


Transformata Cosinus Discreta
¾ Transformata inversa este data de relatia:

1 N −1 N −1
⎡ (2i + 1)uπ ⎤ ⎡ (2 j + 1) vπ ⎤
sij =
2N

u =0

v =0
C C S
u v uv cos ⎢ 2N ⎥
⎣ ⎦
cos ⎢ 2N



¾ unde ⎧ 1
⎪ daca u , v = 0
Cu C v = ⎨ 2
⎪⎩ 1 altfel

¾ In cazul standard N = 8, i, j iau valori {0, …, 7}, iar TCD este data de:

1 7 7
⎡ (2i + 1)uπ ⎤ ⎡ (2 j + 1) vπ ⎤
Suv = Cu Cv ∑ ∑ sij cos ⎢ ⎥ cos ⎢ ⎥⎦
4 i =0 j =0 ⎣ 16 ⎦ ⎣ 16
¾ TCD sta la baza standardului de compresie JPEG.

I. Buciu - Compresia si Codarea Informaţiei


Transformata Cosinus Discreta
Frecventa crescatoare
¾ Imaginile de baza Componenta
continuua
ale TCD pentru un
bloc de dimensiune
8 x 8.

Frecventa crescatoare

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Standardul JPEG – un standard de compresie a imaginii propus de ITU
(International Telecommunication Union) si ISO (International
Organization for Standardization).
¾ JPEG = Joint Photographic Experts Group.
¾ Caracteristici:
¾ permite utilizatorului (aplicatiei) sa faca un compromis intre
calitatea imaginii si rata de compresie dorita.
¾ standardul este independent de tipul imaginii (nu exista
constrangeri de imagini color, rezolutie, continut, etc).
¾ complexitate de calcul relativ mica.
¾ permite o scanare secventiala sau multipla (progresiva).
I. Buciu - Compresia si Codarea Informaţiei
Standardul JPEG
¾ Standardul JPEG foloseste TCD.
¾ JPEG a devenit standard international in 1992.
¾ JPEG include 2 tipuri de compresie de baza: compresie cu pierderi TCD
si o metoda predictiva pentru compresia fara pierderi.
¾ Cele patru moduri de operare sunt: secvential bazat pe TCD, progresiv
bazat pe TCD, fara pierderi si hierarhic.
¾ In cazul compresiei fara pierderi codarea predictiva este urmata de o
codare cu cod Huffman sau cod aritmetic.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
Imagine
necomprimata Tabel cod Date comprimate
Tabel Q entropie (biti)
AC
128
Scanare zig-zag CLV 01101101 …
TCD Cuantizare
DC Diferenta CLV
128 - 128 Tabel cod Codarea canalului
Codarea sursei entropie
Blocuri
8x8

Imagine Decodarea sursei Tabel cod


entropie Decodarea canalului
comprimata

Scanare zig-zag DLV


+ TCDI Decuantizare 01101101 …
Diferenta DLV
Date comprimate
Tabel Q (biti)
+ 128 Tabel cod
entropie
Sus: Schema bloc pentru compresia JPEG, Jos: Schema bloc pentru decompresia JPEG

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Pasii prezentati in continuare pentru codarea bazata pe compresia TCD
sunt corespunzatori imaginile pe nivele de gri.
¾ Pentru imaginile color acesti pasi se repeta pentru fiecare componenta de
culoare.
¾ Pasii unei compresii bazate pe TCD sunt:
¾ 1. Pentru o imagine ale carei pixeli iau valori intre 0 si 255, din fiecare
astfel de valoare se substrage 128. (In acest caz numarul de biti pentru
reprezentare este B = 8, iar nivele de gri sunt 2B = 28 = 256).

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ 2. Imaginea este impartita in blocuri (nesuprapuse) de dimensiune 8 x 8.

101 90 74 55 54 62 61 29

95 80 61 46 54 70 72 44

99 79 58 48 62 78 78 53

104 84 64 56 73 90 88 100

117 101 79 65 78 94 92 97

140 125 94 68 73 85 82 99

145 139 136 114 82 69 76 92

155 145 143 139 126 107 94 87

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Observatie: Daca dimensiunea imaginii nu este o putere a lui 8, atunci
ultimele linii si coloane sunt multiplicate pentru a se obtine dimensiunea
corespunzatoare.
¾ Observatie: Fiecare bloc este reprezentat inainte de compresie pe 64 de
biti (28), iar dupa compresie, sa zicem, pe 0 pana la 20 de biti.
¾ 3. Fiecare bloc este transformat in domeniul frecventa prin aplicarea
TCD bidimensionale. Vor rezulta 64 de coeficienti TCD si un spectru de
frecventa de dimensiune 8 x 8.
¾ Fiecare valoare din acest spectru reprezinta amplitudinea unei as
anumite functii de baza.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Aceste functii de baza sunt descrise de relatia:

⎡ (2i + 1)uπ ⎤ ⎡ (2 j + 1) vπ ⎤
b uv = cos ⎢ ⎥ cos ⎢ ⎥
⎣ 16 ⎦ ⎣ 16 ⎦
¾ Frecventele joase sunt situate in partea de sus – stanga a spectrului iar
frecventele inalte in partea din dreapta – jos. Componenta continua
(frecventa zero) b00 este situata in coltul din partea sus – stanga.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Functiile TCD de baza sunt ilustrate in figura de mai jos:

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ TCD calculeaza spectru unei imagini prin corelarea fiecarui bloc de
dimensiune 8 x 8 cu fiecare din aceste functii de baza.
¾ Mai exact, valoarea spectrului se calculeaza prin multiplicarea functiilor
de baza corespunzatoare cu valorile blocului si apoi prin insumarea
produselor.
¾ 4. Coeficientii sunt cuantizati folosindu-se o matrice de cuantizare.
¾ In proiectarea matricei de cuantizare se tine cont de compromisul dintre
rata de compresie si fidelitatea (calitatea imaginii).
¾ Proiectarea matricei de cuantizare tine cont de sensibilitatea ochiului
uman in perceptia calitatii imaginii.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Ochiul uman este mult mai sensibil la frecventele joase decat la cele
inalte !!!
¾Nivelul de calitate cuprins intre 1 si 100 in functie de matricea de
cuantizare.
¾ 1 corespunde celei mai scazute calitati dar unei compresii maxime.
¾ 100 Æ calitate maxima, compresie minima.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Matricea de cuantizare standard JPEG corespunzatoare unui compromis
optim intre calitate si compresie este definita de:

⎡16 11 10 16 24 40 51 61 ⎤
⎢12 12 14 19 26 58 60 55 ⎥⎥

⎢14 13 16 24 40 57 69 56 ⎥
⎢ ⎥
14 17 22 29 51 87 80 62 ⎥
Q 50 =⎢
⎢18 22 37 56 68 109 103 77 ⎥
⎢ ⎥
⎢24 35 55 64 81 104 113 92 ⎥
⎢49 64 78 87 103 121 120 101⎥
⎢ ⎥
⎢⎣72 92 95 98 112 100 103 99 ⎥⎦

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Q10 – nivel de calitate 10 (compresie mare)
¾ Q90 – nivel de calitate 90 (compresie scazuta)

⎡ 80 60 50 80 120 200 255 255⎤ ⎡3 2 2 3 5 8 10 12 ⎤


⎢ 55 60 70 95 130 255 255 255⎥⎥ ⎢2 2 3 4 5 12 12 11⎥⎥
⎢ ⎢
⎢ 70 65 80 120 200 255 255 255⎥ ⎢3 3 3 5 8 11 14 11⎥
⎢ ⎥ ⎢ ⎥
70 85 110 145 255 255 255 255⎥ 3 3 4 6 10 17 16 12 ⎥
Q10 =⎢ Q 90 =⎢
⎢ 90 110 185 255 255 255 255 255⎥ ⎢4 4 7 11 14 22 21 15 ⎥
⎢ ⎥ ⎢ ⎥
⎢120 175 255 255 255 255 255 255⎥ ⎢ 5 7 11 13 16 12 23 18 ⎥
⎢245 255 255 255 255 255 255 255⎥ ⎢10 13 16 17 21 24 24 21⎥
⎢ ⎥ ⎢ ⎥
⎢⎣255 255 255 255 255 255 255 255⎥⎦ ⎣⎢14 18 19 20 22 20 20 20⎦⎥

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Cuantizarea se obtine prin divizarea fiecarui element al matricei
transformate (coeficientii TCD) cu elementul corespunzator din matricea de
cuantizare si apoi rotunjirea la cel mai mare intreg:
⎛ D u, v ⎞
C u ,v = rotunjire⎜⎜ ⎟

⎝ Q u, v ⎠
¾ unde Du,v sunt coeficientii TCD.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ 5. Primul element al matricei C (valoarea coeficientului DC) este codata prin
modul diferenta iar celelalte 63 de valori (coeficientii AC) sunt cititi in modul zig –
zag si apoi codati:

¾ DE CE ZIG – ZAG ? Pentru ca, coeficientii corespunzator frecventelor cele mai


importante (componenta continua si cele joase) vor apare primele in aceasta
secventa pe cand cele de frecventa joasa (cuantizate ca valoare la zero !) apar in
coada sirului Æ eficienta maxima a codarii (Huffman).
I. Buciu - Compresia si Codarea Informaţiei
Standardul JPEG
¾ 6. Codarea cu cod de lungime variabila (CLV) – codarea entropica se
realizeaza in 2 etape:
¾ 1. Convertirea coeficientilor TCD cuantizati intr-un set intermediar de
simboluri.
¾ 2. Fiecarui simbol i se asociaza coduri de lungime variabila.
¾ Un simbol este structurat pe doua parti: simbolul_1 (CLV) si simbolul_2
(reprezentare binara a pentru amplitudinea partii a doua).

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Pentru reconstructia (decodare) imaginii pasii sunt urmatorii:
¾ 1. Se decodeaza fluxul de biti (decodor Huffman sau aritmetic)
¾ 2. Fiecare element a lui C multiplicat cu elementul corespunzator al
matricii initiale de cuantizare, obtinandu-se R: R u, v = Q u, v x C u, v
¾ 3. Se aplica transformata inversa TCD pentru matricea R, rotunjita la cel
mai apropiat intreg: N = rotunjire(T T R T)
¾ 4. Valoarea 128 se aduna la rezultatul final, obtinandu-se imaginea
comprimata in format JPEG.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾Exemplu

Sectiune imagine color Componenta de luminanta

Componenta Cr Componenta Cr
Imaginea color intreaga

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾Exemplu Componenta de luminanta

Valorile pixelilor

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾Exemplu

Se scade 128

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾Exemplu

TCD

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG

⎛ D u, v ⎞
C u ,v = rotunjire⎜⎜ ⎟

⎝ Q u, v ⎠

Q_lum

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG

DC DC

Coeficientii TCD
Coeficientii TCD
cuantizati

Dupa cuantizare exista doar 31 coeficientii de luminanta diferiti de zero dintr-un total de 256 (16
x 16 – dimensiunea imaginii) Æ o compresie de ~= 88 % !

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG

Reprezentarea 3D a coeficientilor TCD de luminanta inainte de cuantizare si dupa cuantizare (Unghi de


vizualizare: azimuth = -40, elevatie = 30). Se observa lipsa multor coeficienti dupa cuantizare (mai
exact, valoarea lor se reduce la 0)

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG

DC DC DC DC DC DC DC DC

Reprezentarea 3D a coeficientilor de luminanta TCD inainte de cuantizare si


dupa cuantizare (Unghi de vizualizare: azimuth = -74, elevatie = 0). Se observa
lipsa multor coeficienti dupa cuantizare (mai exact, valoarea lor se reduce la 0)

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Inainte de aplicarea TCD pentru cele 3 componente, componentele de
crominanta se reduc la jumatate. In cazul nostru imaginea are dimensiunea
16 x 16 Æ 2 componente de crominanta de dimensiune 8 x 8.
¾ In final avem 4 blocuri de luminanta (8 + 8 + 8 +8) si 2 de crominanta
(Cb si Cr) Æ 6 blocuri concatenate Æ 8 x (8 x 6) = 8 x 48 elemente:

Y11 Y12 Y13 Y14 Cb11 Cb12 Cr11 Cr12


Y21 Y22 Y23 Y24 Cb21 Cb22 Cr21 Cr22
Y31 Y32 Y33 Y34
Y41 Y42 Y43 Y44

¾ Y11, Y12, Y21, Y22, Cb11, Cr11, Y13, Y14, Y23, Y24, Cb12,
Cr12,Y31, Y32, Y41, Y42, C21, Cr21, Y33, Y34, Y43, Y44, Cb22, Cr22.
I. Buciu - Compresia si Codarea Informaţiei
Standardul JPEG

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
EOB

Coeficientii DC: – 11, – 8, – 7, – 9, – 2, si 4 Æ Vectorul DC diferenta: (– 11, 3, 1, – 2, 7, 6)


Coeficientii AC pentru bloc 1 (scanare zig – zag): (1, 6, 0, 0, 1, 0, –1, 0, 1, 2, EOB) – 11 coeficienti
Coeficientii AC pentru bloc 2 (scanare zig – zag): (– 4, 4, 1, –1, 1, 0, 0, 0, 1, 0, 1, EOB) – 12 coeficienti
Coeficientii AC pentru bloc 3 (scanare zig – zag): (2, –3, 0, 0, 1, 0, 0, 1, –3, 0, 0, 1, EOB) – 13 coeficienti
Coeficientii AC pentru bloc 4 (scanare zig – zag): (–4, –7, 2, 1, 4, 0, 1, 0, – 1, 0, – 1, EOB) – 12 coeficienti
Coeficientii AC pentru bloc 5 (scanare zig – zag): EOB – 1 coeficient.
Coeficientii AC pentru bloc 6 (scanare zig – zag): EOB – 1 coeficient.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG

EOB

Coeficientii DC: – 15, – 12, – 11 si –13 Æ Vectorul DC diferenta: (– 15, 3, 1, – 2)


Coeficientii AC pentru bloc 1 (scanare zig – zag): (1, 6, 0, 0, 1, 0, –1, 0, 1, 2, EOB) – 11 coeficienti
Coeficientii AC pentru bloc 1 (scanare zig – zag): (– 4, 4, 1, –1, 1, 0, 0, 0, 2, 0, 1, EOB) – 12 coeficienti
Coeficientii AC pentru bloc 1 (scanare zig – zag): (2, –3, 0, 0, 1, 0, 0, 1, –3, 0, 0, 1, EOB) – 13 coeficienti
Coeficientii AC pentru bloc 1 (scanare zig – zag): (–4, –7, 2, 1, 4, 0, 1, 0, – 1, 0, – 1, EOB) – 12 coeficienti

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Codarea coeficientilor (diferenta) DC de luminanta:
¾ Fiecare coeficient este format din: Tabelul Huffman pentru coeficientii DC
corespunzator componentei de luminanta
¾ [simbol_1 simbol_2]
¾ – 15: simbol_1 Æ categoria: 4 Æ cod: 101
¾ simbol_2 Æ 15 in binar Æ 1111
¾ – 15 Æ (complement fata de 1) Æ 0000
¾ Codul complet pentru –15 este:
1010000
¾ 3: simbol_1 Æ categoria: 2 Æ cod: 011
¾ simbol_2 Æ 3 in binar Æ 11
Codul complet pentru 3 este:
01111

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Codarea coeficientilor (diferenta) DC de luminanta:
¾ 1: simbol_1 Æ categoria: 1 Æ cod: 010 Tabelul Huffman pentru coeficientii DC
corespunzator componentei de luminanta
¾ simbol_2 Æ 1 in binar Æ 1
¾ Codul complet pentru 1 este:
0101
¾ – 2: simbol_1 Æ categoria: 2 Æ cod: 011
¾ simbol_2 Æ 2 in binar Æ 10
¾ – 2 Æ (complement fata de 1) Æ 01
¾ Codul complet pentru –15 este:
01101

¾Codul pentru coeficientii DC este 1010000 01111 0101 01101 – 21 de biti

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Codarea coeficientilor AC de luminanta:
¾ Fiecare coeficient este format din:
¾ [simbol_1 simbol_2]
¾ Simbol_1 este dat de [Run, Categorie] Æ codul in binar corespunzator tabelului Huffman
pentru coeficientii AC de luminanta.
¾ Run este numarul de zerouri din fata coeficientului in cauza
¾ Categorie – numarul de biti necesari expresiei in binar a coeficientului.
¾ Simbol_2 este coeficientul exprimat in binar.
¾ Coeficientii AC pentru bloc 1 (scanare zig – zag): (1, 6, 0, 0, 1, 0, –1, 0, 1, 2, EOB)
¾ EOB se refera la ultimul bit zero dupa care toti ceilalti (pana la 63) sunt zero.
¾ Coeficientii AC sunt reprezentati astfel: {(0, 1), (0, 6), (2, 1), (1, -1), (1, 1), (0, 2), (0, 0)}.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG

Tabelul Huffman pentru coeficientii AC corespunzator componentei de luminanta

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG

Tabelul Huffman pentru coeficientii AC corespunzator componentei de luminanta

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Codarea coeficientilor AC de luminanta:
¾ Coeficientii AC pentru bloc 1 (scanare zig – zag): (1, 6, 0, 0, 1, 0, –1, 0, 1, 2, EOB)
¾ 1: simbol_1 Æ run = 0, categorie = 1, cod Æ 00
simbol_2 Æ 1 in binar Æ 1
Cod complet Æ 001
¾ 6: simbol_1 Æ run = 0, categorie = 3, cod Æ 100
simbol_2 Æ 1 in binar Æ 110
Cod complet Æ 100110
¾ 1: simbol_1 Æ run = 2 (doua zerouri inainte), categorie = 1, cod Æ 11100
simbol_2 Æ 1 in binar Æ 1
Cod complet Æ 111001

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Coeficientii AC pentru bloc 1 (scanare zig – zag): (1, 6, 0, 0, 1, 0, –1, 0, 1, 2, EOB)
¾ – 1: simbol_1 Æ run = 1 (un zero inainte), categorie = 1, cod Æ 1100
simbol_2 Æ 1 in binar Æ 1, – 1 complement Æ 0
Cod complet Æ 11000
¾ 1: simbol_1 Æ run = 1 (doua zerouri inainte), categorie = 1, cod Æ 1100
simbol_2 Æ 1 in binar Æ 1
Cod complet Æ 11001
¾ 2: simbol_1 Æ run = 0, categorie = 2, cod Æ 01
simbol_2 Æ 2 in binar Æ 10
Cod complet Æ 0110
¾ EOB: se codeaza 1010
¾ Coeficientii AC pentru blocul 1 sunt codati cu sirul de biti:
001100110111001110001100101101010 – 33 de biti
I. Buciu - Compresia si Codarea Informaţiei
Standardul JPEG
¾ Coeficientii AC pentru blocul 2 sunt codati cu sirul de biti:
10001110010000100000111111011110110011010 – 41 de biti
¾ Coeficientii AC pentru blocul 3 sunt codati cu sirul de biti:
0110010011100111100101001110011010 – 34 de biti
¾ Coeficientii AC pentru blocul 4 sunt codati cu sirul de biti:
10001110000001100011001001100111000110001010 – 44 de biti
¾ Coeficientii AC vor fi astfel codati cu sirul (152 de biti):
00110011011100111000110010110101010001110010000100000111111011110110011010
01100100111001111001010011100110101000111000000110001100100110011100011000
1010.
¾ Numarul total de biti pentru stocarea imaginii (sau transmiterea ei) este 21 + 152 = 172
biti.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG
¾ Calitatea compresiei - biti/pixeli (bpp) – numarul total de biti din imaginea comprimata
(inclusiv pentru cele doua componente de crominanta) impartit la numarul total de pixeli.
¾ In cazul nostru (DOAR PENTRU LUMINANTA) Æ 172 / 256 = 0.67 bpp (imaginea
este de dimensiune 16 x 16 = 256).
¾ La decompresie, pasii se repeta in sens invers (decodare Tabel Huffman pentru
coeficientii AC si DC, TCD inversa + decuantizare, se adauga valoarea 128, etc).

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG - Rezultate

Imaginea originala (necomprimata) si valorile pixelilor asociati

Imaginea comprimata si valorile pixelilor asociati

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG - Rezultate

Q = 90, RC = 10:1, Dim = 47 Q = 50, RC = 24:1, Dim = 38


BMP, Dim = 192 Kb (256 x 256)
Kb, 1.72 bpp Kb, 0.74 bpp

Q = 25, RC = 34:1, Dim = 34 Q = 10, RC = 57:1, Dim = 26 Q = 1, RC = 124:1, Dim = 1.52


Kb, 0.52 bpp Kb, 0.31 bpp Kb, 0.17 bpp

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – Rezultate

Q = 50, fara bit de eroare, 6693 biti Q = 50, 2 biti de eroare, Q = 50, 2 biti de eroare,
pentru DC, 59289 biti pentru AC pentru DC pentru AC

Imaginea eroare Imaginea eroare Imaginea eroare

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – Rezultate

Q = 70, fara bit de eroare, 6687 biti Q = 70, cu bit de eroare Q = 70, cu bit de eroare
pentru DC, 79911 biti pentru AC (un bit lipsa) (un bit in plus)

Imaginea eroare Imaginea eroare Imaginea eroare

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG –!
¾ Inainte de transmisie coeficientii din figura d) sufera o reprezentare
intermediara.
¾ Primul numar (coeficientul DC) este codat diferential: daca coeficientul DC al
blocului precedent este 12 Æ diferenta este +3 Æ o reprezentare intermediara: de
tip 2 (3), unde 2 este dimensiunea iar 3 este amplitudinea.
¾ Dimensiunea se refera la numarul de biti necesar pentru codarea valorii
aplitudinii.
¾ Urmeaza codarea coeficientului cuantizat AC:
¾ Simbol 1: (Runlength, Dimensiune)
¾ Simbol 2: Amplitudine
¾Runlength se refera la numarul valori zero consecutive ai coeficientilor AC din
scanarea in zig – zag de dinaintea coeficientului in cauza.
I. Buciu - Compresia si Codarea Informaţiei
Metoda de compresie fara pierderi
¾ In acest caz se foloseste o codare spatiala (spre deosebire de TCD unde
avem de-a face cu o codare in frecventa).
¾ Fiecare pixel este codat folosindu-se o codare predictiva, unde valoarea
prezisa se obtine din una dintre cele anterioare.
¾ Erorile de predictie sunt codate fir cu un cod Huffman fie cu un cod
aritmetic.

I. Buciu - Compresia si Codarea Informaţiei


Metoda de codare hierarhica
¾ In acest caz se foloseste o reprezentare progresiva.
¾ Este potrivita pentru codarea multirezolutie.
¾ Imaginea este descompusa pe mai multe nivele de rezolutie
(subesantionata) asa numite nivele piramidale, rezultand o secventa de
cadre.

I. Buciu - Compresia si Codarea Informaţiei


Metoda de codare hierarhica
¾ Cu exceptia primului cadru, procesul de codare predictiva este aplicat
diferentelor dintre cadrul care trebuie codat si si cadrul de referinta (cadrul
anterior, de regula).
¾ Primul cadru (care reprezinta cea mai mica rezolutie) este codat in mod
nediferential.
¾ Cadrele se pot coda fie folosind o metoda secventiala de tip TCD, codare
progresiva sau codare fara pierderi de tip Huffman sau cu cod aritmetic.

I. Buciu - Compresia si Codarea Informaţiei


Prelucrarea imaginilor color
¾ Prezentarea si descrierea standardului JPEG a fost facuta pentru imagini
pe nivele de gri.
¾ JPEG se poate folosi si pentru imagini color (de tip “24 biti”) prin
aplicarea sa pentru fiecare componenta de culoare.
¾ Spatiul RBG este, in general, transformat in alte coordonate ale spatiului
de culoare, cu ar fi spatiul YUV sau YCbCr (unde exista o corelatie mica
intre componente).
¾ Cea mai importanta informatie spatiala este continuta in componenta de
luminanta Y.
¾ Componentele de crominanta sunt subesantionate, dimensiunea fiind
redusa la jumatate.

I. Buciu - Compresia si Codarea Informaţiei


Formatul GIF (Graphics Interchange Format)
¾ Este un format de compresie fara pierderi nestandardizat oficial.
¾ A fost primul format pentru imagini color (1987).
¾ Formatul GIF accepta doar imagini color de nuante reduse (256 culori –
8 biti).
¾ Formatul GIF se bazeaza, in principal, pe o varianta a algoritmului de
codare Lempel – Ziv – Welch (LZW).

I. Buciu - Compresia si Codarea Informaţiei


Formatul PNG (Portable Networks Graphics)
¾ Formatul PNG este un format de compresie fara pierderi (1996),
proiectat pentru imbunatatirea compresiei formatului GIF si pentru aplicatii
web.
¾ La ora actuala reprezinta un standard oficial ISO / IEC.
¾ PNG suporta trei tipuri de imagini (nivele de gri, culori, si culori paleta
redusa).

I. Buciu - Compresia si Codarea Informaţiei


Codarea in sub-benzi de frecventa
¾ Codarea in sub-benzi de frecventa este predecesorul codarii bazate pe
transformata undisoara.
¾ Principiul codarii in sub-benzi de frecventa a fost introdusa in 1976 –
folosita de atunci la compresia vorbirii (audi) si imaginii.
¾ Principiul de baza este descompunerea spectrului semnalului in benzi de
frecventa, codarea lor separata, urmata de transmiterea lor.
¾ Succesul codarii in sub-benzi se datoreaza:
¾ 1. Dupa cum se stie din materialul prezentat anterior, imaginile naturale
au tendinta de a genera un spectru de frecventa neuniform, in care cea
mai mare parte a energiei sale este concentrata in partea inferioara a
spectrului (zona frecventelor joase).

I. Buciu - Compresia si Codarea Informaţiei


Codarea in sub-benzi de frecventa
¾2. Mai mult, perceptia umana este mai putin sensibila la extremitatile
spectrului de frecventa (frecvente prea joase sau prea inalte, indiferent de
informatie – audio sau video).
¾ 3. Imaginile sunt codate ca un singur bloc (imaginea intreaga odata) si
nu este impartita pe blocuri ca si in cazul unei codari de tip TCD Æ nu apar
acele artefacte de imagine.
¾ Codarea in sub-benzi este asemanatoare ca principiu cu transformata
Fourier (analiza in domeniul frecventa) dar bancile sale de filtre au
proprietati de decorelare mai bune a informatiei.
¾ Functiile de baza Fourier sunt foarte exacte in frecventa dar sunt
imprecise in spatiu.

I. Buciu - Compresia si Codarea Informaţiei


Codarea in sub-benzi de frecventa
¾ Cu alte cuvinte, energia semnalului corespunzator functiilor de baza de
tip Fourier nu sunt concentrate pe o singura frecventa (localizate in spatiu)
ci este distribuita pe toata gama de frecventa (pe tot spatiul).
¾ Daca pixelii din imagine ar fi INTOTDEAUNA puternic corelati nu ar fi
nici o problema.
¾ In realitate, in imagine exista zone in care pixelii sunt slab corelati (de
exemplu in zonele de tranzitie sau discontinuitati – muchiile).
¾ Spre deosebire de functiile de baza de tip Fourier, functiile de tip sub-
banda nu numai ca au o delimitare clara in frecventa dar sunt si
compacte pe intreg spatiul (bine localizate in spatiu).

I. Buciu - Compresia si Codarea Informaţiei


Codarea in sub-benzi de frecventa
¾ Impartirea in sub-benzi se realizeaza prin trecerea imaginii printr-un set
(banci) de filtre de analiza de tip trece-banda.
¾ Filtrele sunt impartite in benzi de octave (impartire similara cu cea care
are loc in sistemul vizual uman).
¾ Octava – este intervalul dintre 2 frecvente pentru care exista raportul 2:1
(frecventa superioara este exact dublul frecventei inferioare).
¾ Exemplu: daca o nota muzicala are frecventa de 400 Hz, nota urmatoare
la distanta de o octava este de 800 Hz, iar nota muzicala precedenta la
distanta de o octava este cea corespunzatoare frecventei de 200 Hz.
¾ 16 KHz este la 2 octave de 4 KHz (4*2 = 8, 8*2 = 16)
¾ 4 KHz este la 3 octave de 500 Hz (500*2 = 1000, 1000*2 = 2000,
2000*2 = 4000).
I. Buciu - Compresia si Codarea Informaţiei
Codarea in sub-benzi de frecventa
¾ Deoarece latimea de banda pentru fiecare versiune filtrata a imaginii este
mai mica decat banda intreaga, aceste sub-benzi pot fi sub-esantionate la o
rata mai scazuta Æ imagini de dimensiune redusa.

¾ Subimaginile sunt cuantizate, codata si apoi transmise.

I. Buciu - Compresia si Codarea Informaţiei


Codarea in sub-benzi de frecventa
¾ Imaginile sunt receptionate la destinatie, aduse la dimensiunea originala
prin aplicarea unor filtre de sinteza (inversa filtrelor de sinteza), rezultatele
sunt interpolate si adunate astfel incat sa compuna imaginea originala.
¾ In absenta erorilor de cuantizare, imaginea reconstituita ar trebui sa fie o
copie PERFECTA a imaginii originale (cazul ideal).
¾ Acest lucru ar fi insa posibil doar daca raspunsul in frecventa a filtrelor
de sinteza sunt distincte pe tot spectrul, adica, cu alte cuvinte, nu exista
suprapunere intre benzile de frecventa Æ ceea ce ar necesita o regiune de
tranzitie a filtrelor foarte abrupta (practic pe verticala) Æ lucru imposibil
de realizat in practica.
¾ Ca si consecinta apar distorsiuni de suprapunere.

I. Buciu - Compresia si Codarea Informaţiei


Codarea in sub-benzi de frecventa
¾ Pentru eliminarea distorsiunilor de suprapunere intre filtrul de analiza si
cel de sinteza trebuie stabilita o anumita relatie in asa fel incat regiunile de
tranzitie sa se elimine reciproc.

Filtru de analiza dual (pe 2 benzi) Codor / decodor de tip sub-banda (pe 2 benzi)

¾H0(z) si H1(z) reprezinta functia de transfer a transformatei z a filtrului de


analiza de tip trece-jos si trece-sus.
¾ La codare are loc o subesantionare cu factorul 2 (eliminarea
esantioanelor pare de exemplu).
I. Buciu - Compresia si Codarea Informaţiei
Codarea in sub-benzi de frecventa
¾ Subesantionarea este echivalenta cu cu comprimarea sursei de imagine
cu factorul 2 (dublarea componentelor de frecventa) Æ dublarea latimii
pentru fiecare componenta din spectru.

Generarea sub-benzii de tip trece-jos si Generarea sub-benzii de tip trece-sus si


reconstructia semnalului reconstructia semnalului

I. Buciu - Compresia si Codarea Informaţiei


Codarea in sub-benzi de frecventa
¾ La decodare se aplica operata inversa: supraesantionarea.
¾ Supraesantionarea se obtine prin inserarea unor esantioane egale ca
valoare cu zero (0) printre esantioanele de intrare Æ expansiune spatiala a
secventei de intrare in decodor.
¾ In domeniul de frecventa toate componentele vor fi comprimate.
¾ Problema Æ imposibilitatea proiectarii unui filtru ideal cu frecventa
de taiere verticala !
¾ Spectrul A ilustreaza semnalul original esantionat si trecut printr-un
filtru trece-jos Æ o parte din energie ramane sub valoarea Fs / 4, frecventa
de taiere ideala pentru acest filtru.

I. Buciu - Compresia si Codarea Informaţiei


Codarea in sub-benzi de frecventa
¾ Expandarea spectrului (B) subesantionare.
¾ Comprimarea spectrului (C) prin supraesantionare.
¾ In final, se vor genera componente auxiliare de frecvente localizate la
multiplii impari de Fs / 2 in spectrul de frecventa.
¾ Consecinta: ÆAparitia suprapunerii la reconstructia sub-benzii originale
(spectrul D).
¾ In cazul filtrului de tip trece-sus apare aceeasi problema.
¾ Imaginea finala de iesire este generata prin adunarea subbenzilor de tip
trece-jos si trece-sus Æ interferenta prin suprapunere.
¾ Solutie: faza celor 2 componente de frecventa sa difere prin π.

I. Buciu - Compresia si Codarea Informaţiei


Codarea in sub-benzi de frecventa
¾ Analiza de face cu ajutorul transformatei in planul Z.
¾ Pentru analiza corespunzatoare filtrului de tip trece-jos, dupa aplicarea
filtrului de sinteza, reconstructia sub-benzii exprimata in planul Z poate fi
scrisa sub forma:

¾ unde Y0(z) si Y1(z) sunt intrarile filtrelor de sinteza dupa


supraesantionare.
¾ Cu presupunerea ca nu exista erori de cuantizare sau transmisie,
esantioanele reconstituite vor avea expresia:

I. Buciu - Compresia si Codarea Informaţiei


Codarea in sub-benzi de frecventa
¾ H0(-z) * H(-z) si H1(-z) * H(-z) sunt componentele de suprapunere
generate de procesul de subesantionare corespunzatoare benzilor de
frecventa joasa, respectiv inalta.
¾ Inlocuind relatiile de ai sus in relatia anterioara obtinem:

¾ Primul termen corespunde semnalului util reconstituit iar al doilea


termen corespunde componentelor de suprapunere.
¾ Prin definirea filtrelor de sinteza prin relatiile

¾ componentele de suprapunere pot fi elimiate.


I. Buciu - Compresia si Codarea Informaţiei
Codarea in sub-benzi de frecventa
¾ Semnalul reconstituit este astfel descris de:

¾ Definind P(z) = H0(z)*H1(-z), avem:


¾ Reconstructia semnalului este acum perfecta dar semnalul este intarziat
cu m esantioane:
¾ Functia de transfer (intrare/iesire) in planul Z este data acum de relatia:

¾ In domeniul pixelilor secventa {y(n)} de imagine reconstituta este o


copie perfecta a imaginii de intrare dar deplasata cu m pixeli, {y(n)} = x(n –
m)}. P(z) se numeste filtru de produs iar m este intarzierea introdusa de
setul de filtre. Filtrul de produs trebuie sa aiba un numar impar de
coeficienti.
I. Buciu - Compresia si Codarea Informaţiei
Codarea in sub-benzi de frecventa
¾ Un exemplu de astfel de filtru este dat de relatia:

¾ Prin factorizarea (descompunerea in factori) relatiei de mai sus, se obtin


urmatoarele 3 solutii pentru perechile de filtre de analiza si sinteza:

¾ sau

¾ Folosirea ecuatiilor de mai sus (indiferent care) ne conduce la rezultatul


P(z) – P(-z) = 2z – 3, adica o intarziere de 3 esantioane.

I. Buciu - Compresia si Codarea Informaţiei


Transformata undisoara
¾ Transformata undisoara a fost propusa in locul transformatei Fourier
pentru avantajele pe care le ofera asupra ultimei.
¾ Functiile de baza se numesc undisoare.
¾ Undisoarele au un suport compact (se pot anula doar pe anumite
intervale mici) spre deosebire de transformata Fourier care are o durata
infinita (descrisa de functia sinus sau cosinus).
¾ Undisoarele sunt localizate atat in timp cat si in frecventa.
¾ Cand se doreste o informatie precisa la frecventa joasa se foloseste un
interval scurt.
¾ Cand se doreste o informatie precisa la frecventa inalta se foloseste un
interval lung.

I. Buciu - Compresia si Codarea Informaţiei


Transformata undisoara
¾ Undisoarele sunt folosite pentru analiza localizata a semnalelor cat si in
cazul zonelor de singularitate a semnalului.
¾ Transformata undisoara reprezinta un semnal ca o combinatie liniara a
versiunilor deplasate si scalate a undisoarei initiale (numita si undisoara de
baza - undisoara mama).
¾ Transformata undisoara sta la baza standardului de compresie JPEG
2000.
¾ Daca factorul de scala si pozitie (pentru deplasare) se aleg ca puteri ale
lui 2, atunci transformata dse numeste Transformata Undisoara Discreta
(TUD), iar descompunerea se numeste diadica.

I. Buciu - Compresia si Codarea Informaţiei


Transformata undisoara
¾ Transformata undişoară descompune o imagine în componente de
imagini detaliate + imagine brută.
¾ Să considerăm că avem o secvenţă de eşantioane
[8 4 1 3]
¾ Prin medierea valorilor (elementelor) două cate două, obţinem secvenţa:
[6 2]
¾ care defineşte o reprezentare mai brută a secvenţei originale.
¾ Dacă se doreşte păstrarea informaţiei pierdute prin mediere, primul
coeficient va fi 2 iar al doilea coeficient va fi –1, deoarece:
6 + 2 = 8, 6 – 2 = 4, 2 + (– 1) = 1, 2 – (– 1) = 3

I. Buciu - Compresia si Codarea Informaţiei


Transformata undisoara
¾ Continuand procesul de descompunere vom obtine
[8 4 1 3]
[6 2] [2 –1]
[4] [2]
¾ iar transformarea finală va avea forma:
[4 2 2 –1]
¾ In descompunerea de mai sus nu s-a pierdut informaţie.
¾ Detaliile şi medierile (reprezentările brute) vor apare pe diverse nivele de
scală.
¾ Semnalul original poate fi reconstituit la nivelul de detaliu dorit printr-un
procedeu recursiv cu ajutorul coeficienţilor de detaliu.
I. Buciu - Compresia si Codarea Informaţiei
Transformata undisoara
¾ Din punct de vedere al compresiei, se observă cum coeficienţii de detaliu
au o valoarea foarte mică.
¾ Prin introducerea unui prag în aşa fel incat coeficienţii mai mici decat
acest prag sa fie egalaţi cu zero, se obţine o compresie semnificativă.
¾ Transformata undişoară poate deveni unitară prin scalarea elementelor
sale cu o constantă, de ex. in cazul transformatei undişoara Haar de
dimensiune 2 x 2:
1 ⎡1 1 ⎤
⎢ ⎥
2 ⎣1 −1⎦

¾ Exemple de undişoare: Haar, pălărie mexicană, Daubechies.

I. Buciu - Compresia si Codarea Informaţiei


Transformata undisoara
¾ Analiza undişoarelor poate fi efectuată cu ajutorul băncilor de filtre.
¾ Exista filtre de analiză, sinteză, de subeşantionare si supraeşantionare.
¾ Băncile de filtre pot fi proiectate în asa fel incat să se obţină o
reconstrucţie perfectă a semnalului original şi evitandu-se efectul de
suprapunere (prin folosirea filtrelor undişoare biortogonale).

I. Buciu - Compresia si Codarea Informaţiei


Transformata undisoara
¾ Calitatea compresiei se măsoară in general in biţi / pixeli (bpp) şi
exprimă numărul de biţi necesar reprezentării imaginii comprimate
(inclusiv pentru componentele de crominanţă în cazul imaginilor culori)
impărţit la numărul de pixeli ai componentei de luminanţă.
¾ 0.25 – 0.5 bpp: calitate moderată – calitate acceptabilă Æ suficientă doar
pentru unele aplicatii.
¾ 0.5 – 0.75 bpp: calitate acceptabilă – calitate foarte bună Æ suficientă
pentru unele aplicatii.
¾ 0.75 – 1.5 bpp: calitate excelentă – suficientă pentru majoritatea
aplicaţiilor.
¾ 1.5 – 2 bpp: imaginea comprimată nu se distinge de imaginea originală.

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Descompunerea multirezoluţie a datelor Æ transformate undişoare Æ
analiza semnalelor simultan în timp şi frecvenţă.
¾ Undişoarele sunt funcţii matematice folosite pentru descompunerea unui
semnal în componente de frecvenţă şi studierea fiecărei componente în
parte.
¾ Transformatele undişoare filtrează (descompune) datele în componente
de rezoluţie joasă (aproximarea datelor – frecvenţe joase) şi componente de
detaliu (frecvenţe inalte).

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Cea mai simplă transformata undişoară Æ mediere si scădere.
¾ Considerăm un semnal unidimensional.

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Exemplu:

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Calculul
transformatei
undişoare implică
folosirea
recursivă a
coeficientilor de
mediere şi
diferenţă Æ set
de filtre

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Sub–eşantionare (rezoluţie joasă + detalii) şi Supra–eşantionare
(reconstrucţie din frecvenţă joasă + detalii).
¾ Sub–eşantionare Æ set (bănci) de filtre de analiză.
¾ Supra–eşantionare Æ set (bănci) de filtre de sinteză.

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Exemplu 1: Sub–eşantionare si Supra–eşantionare.

¾ Descompunere

¾ Reconstrucţie

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Exemplu 2: Arbore logaritmic (arbore multirezoluţie):

¾ Ieşire: 4.5, -2, -1, -1, -.5, -.5, -.5, -.5

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Exemplu 3 - Transformata Haar unidimensionala:
¾ Se da vectorul de intrare {1, 2, 3, 4, 5, 6, 7, 8} (rezolutie 8)
¾ Pasul 1 (rezolutie 4):
¾ Frecvente joase de iesire L1 = {1.5, 3.5, 5.5, 7.5} – medie
¾ Frecvente inalte de iesire H1 = {-0.5, -0.5, -0.5, -0.5} – detalii
¾ Pasul 2 (rezolutie 2) - Repetarea pasului 1 pentru banda de frecvente joase (L1):
¾ L2 = {2.5, 6.5} – medie
¾ H2 = {-1, -1} – coeficienti de detaliu
¾ Pasul 3 (rezolutie 1) Repetarea pasului 1 pentru banda de frecvente joase (L2):
¾ L3 = {4.5} – medie
¾ H3 = {-2} – coeficienti de detaliu
I. Buciu - Compresia si Codarea Informaţiei
Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Exemplu 3 (continuare):
¾ Se transmite doar vectorul descompus {4.5, -2, -1, -1, -0.5, -0.5, -0.5, -0.5}. In
procesul de descompunere nu se pierde nici nu se castiga informatie. Vectorul
original se poate reconstitui din vectorul descompus prin adaugarea si scaderea
coeficientilor de detaliu la valoarea corespunzatoare celei mai mici rezolutii.
Vectorul descompus are tot atatea valori (8) ca si vectorul original dar, cu exceptie
primei valori, toate celelalte valori sunt mai mici. In principiu, VALORI MAI
MICI Æ NUMAR DE BITI REDUS (TRANSFORMARE ZECIMAL – BINAR,
HUFFMAN, ETC) Æ COMPRESIE !

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Există 2 reprezentări:
¾ 1. Descompunere standard
¾ 2. Descompunere piramidală

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Descompunere piramidală undişoară – fiecare descompunere este
compusă din 3 pasi:
¾ Calcularea unei imagini la rezoluţie joasă (aproximări a imaginii
de bază) Æ filtarea imagini şi sub-eşantionare (mediere)
rezultatului cu factorul 2.
¾ Supra – eşantionarea rezultatului de mai sus cu factorul 2.
¾ Calcularea diferenţei dintre imaginea obţinută la pasul 2 şi cea
obţinută la pasul 1.
¾După descompunere se obţin 4 sub - imagini: (aproximată imaginii şi 3
sub - imagini diferenţă).
I. Buciu - Compresia si Codarea Informaţiei
Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Descompunere piramidală undişoară:

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Descompunere piramidală undişoară:

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ Exemplu: imagine 8 x 8 pixeli

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor

I. Buciu - Compresia si Codarea Informaţiei


Descompunerea multirezolutie a imaginii cu
aplicatie in compresia datelor
¾ La reconstrucţia imaginii se porneşte de la sub – imaginea de rezoluţie
scazută la care se adaugă (gradual) sub – imaginile diferenţă (detalii) în
funcţie de rezoluţia dorită.
¾ Pentru compresie, în locul imaginii originale se poate folosi sub –
imaginea de rezoluţie scazută.
¾ Pentru fiecare nivel de descompunere, imaginea este reprezentată de 3
sub – imagini diferenţă care pot fi comprimate, codate şi transmise mult
mai eficient decat imaginea originală.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
Compresie fara pierderi 5.2 bpp

eri
p ierd
cu
sie
mpre
f Co
Imagine originala l
n da
u Sub-ba
x
O sing
b ura co
mpone 1.84 bpp
Re nta
i zo
lut
t ie
joa
i sa
RO
I

1.89 bpp

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Standardul JPEG – 2000 este ultima variantă de compresie dezvoltată de
Joint Photographic Experts Group.
¾ Este un standard acceptat de ISO şi recomandat de ITU – T.
¾ Are la bază descompunerea multirezoluţie a undişoarelor.
¾ Transformate undişoare folosite: de tip intreg “5 – 3” (compresie
reversibilă aproape fără pierderi) şi Daubechies “9 – tap” sau “7 – tap”,
undişoara discretă Mallat.
¾ Principalul avantaj al JPEG – 2000 in raport cu JPEG este rata de
compresie mai bună pentru aceeaşi calitate a imaginii (< 0.25 bps).

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Carateristici:
¾ JPEG – 2000 permite extragerea de rezolutii diferite a imaginii sau
componente dintr-un flux de biti, alocarea unei regiuni de interes (ROI)
in imagine si rata de compresie diferita (fata de restul imaginii) asociate
acestei ROI;
¾ se pot comprima imaginii de dimensiune mare (64 k x 64k);
¾ transmitere in medii zgomotoase;
¾ codare si decodare in timp real;
¾ impartirea (optional) imaginii in blocuri nesuprapuse (tipic 64 x 64);
¾ pentru fiecare sub – banda se poate folosi o cuantizare scalara
independenta;

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Carateristici:
¾ transmisie progresivă a calitatii sau rezolutiei imaginii;
¾ oferă atat compresie cu pierderi cat si fără pierderi;
¾ access spaţial aleator in fluxul de biti;
¾ optiunea de zoom;
¾ oferă opţiunea de prelucrare a imaginii in domeniul transformatei
(rotire, decupare, etc);
¾ rata de bit este fixă;
¾ optiunea de protecţie a imaginii (drepturi de copyright, watermarking,
criptare, etc);
¾ biţii cei mai semnificativi se transmit primii.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Standardul JPEG 2000 foloseşte în mare parte toate elementele şi pasii
de compresie folosiţi la JPEG de baza (decorelarea pixelilor prin
transformare, cuantizarea, codarea entropiei, etc) plus etape adiţionale
specifice standardului JPEG 2000 (preprocesare şi postprocesare).

Intrare Iesire
Preprocesare Codare de baza Postprocesare

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Preprocesare – 3 paşi de preprocesare.
¾ I. “Tiling” – impărţirea imaginii in blocuri nesuprapuse (disjuncte).
¾ Dimensiunea blocului – un pixel Æ întreaga imagine.
¾ Un astfel de bloc este o unitate de bază pentru operaţia de codare: toţi
pasii de codare sunt efectuaţi pe această unitate.
¾ Fiecare astfel de bloc poate fi comprimat şi codat independent de
celelalte blocuri.
¾ Dezavantaj: nu se exploatează corelaţia dintre pixelii de la marginea
blocurilor adiacente Æ odată cu reducerea dimensiunii blocului se reduce şi
caştigul în compresie a codorului.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ II. Deplasarea valorii coeficientului DC – pentru fiecare componentă
RGB valoarea coeficientului DC se deplasează cu 2B – 1, cu B biţi pentru
fiecare componentă de culoare.
¾ III. Transformata de culoare.
¾ Componentele de culoare conţin informaţie redundantă (sunt puternic
corelate) Æ necesară decorelarea:
¾Transformare de culoare ireversibilă (cu pierderi):

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000

¾ III. Transformata de culoare.


¾ Transformare de culoare reversibilă (fără pierderi) :

¾ In acest caz decorelarea nu este atat de puternică (in comparaţie


cu prima transformare) dar informaţia de culoare se poate
recupera.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Codarea de baza -

R
TUD Q E
offset DC
Transformata Flux
G
TUD Q E de
offset DC de culoare biti
B
TUD Q E
offset DC

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ ????????????????????????????????????????????????????????

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Codare diferenţiată in funcţie de regiunea de interes

Regiune de interes (ROI) (4.5 bpp)


(0.05 bpp)

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Codare pentru rezoluţii diferite

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Reconstrucţia imaginii iniţiale in funcţie de rezoluţia dorită.

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Exemple

JPEG la 0.125 bpp JPEG2000 la 0.125 bpp

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Exemple

JPEG la 0.25 bpp JPEG2000 la 0.25 bpp

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Exemple

Imaginea originala

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Exemple

2.5 bpp cu 4 nivele TUD

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Exemple

3.5 bpp cu 4 nivele TUD

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Exemple

4.9 bpp cu 4 nivele TUD

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Exemple

Imaginea originala

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Exemple

Regiune de interes (ROI)


comprimata la 5.85 bpp

I. Buciu - Compresia si Codarea Informaţiei


Standardul JPEG – 2000
¾ Exemple

Imaginea diferenta

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – Modelul Psihoacustic
¾ Urechea umană este capabilă să perceapă (audă) semnale audio cu
frecvenţele cuprinse in spectrul (bandă) de frecvenţă [20 Hz – 20 KHz].
¾ Nu toate frecvenţele sunt percepute in acelasi mod (cele situate la
extremităţile spectrului de frecvenţă sunt percepute cu dificultate).
¾ Dupa ani de cercetare a modului in care urechea umană percepe sunetele
s-a ajuns la concluzia că spectrul de frecvenţă poate fi impărtit in subbenzi
critice neuniforme, neliniare şi dependente de nivelul sunetului Æ scară de
analiză Bark sau curbele Fletcher.

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – Modelul Psihoacustic

Barks = 13*arctan(0.00076*Hz) + 3.5*arctan((f / 7500)^2)

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – Modelul Psihoacustic
¾ Pentru punerea in evidenţă a relaţiei dintre frecvenţă şi percepţia
sunetului procedura este următoarea:
¾ se generează un ton de un nivel audibil foarte mic.
¾ se creste uşor amplitudinea tonului pană la pragul audibil si se
notează acel prag.
¾ experimentul se repetă pentru mai multe frecvenţe si mai multi
subiecţi.

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – Modelul Psihoacustic

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – Modelul Psihoacustic

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – Modelul Psihoacustic
¾ Un semnal audio este un semnal complex compus din mai multe
frecvenţe.
¾ Principiu: Dacă un semnal audio are componente de frecvenţe aflate sub
pragul audibil, acele frecvenţe se pot elimina deoarece ele oricum nu sunt
auzite de o persoana cu un sistem auditiv normal.
¾ Sistemul auditiv uman (SAU) este incapabil să diferenţieze un semnal de
frecvenţă 1.000 Hz de unul de 1.001 Hz (sau 997 Hz).
¾ Daca semnalul de 1000 Hz este mai puternic decat cel de 997 Hz, acesta
din urmă va fi “mascat” de primul, şi nu este perceput Æ MASCARE
AUDITIVA.

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – Modelul Psihoacustic

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – Modelul Psihoacustic
¾ Proprietatea de mascare a sistemului auditiv uman

¾ Mascarea auditivă este o caracteristică de percepţie a sistemului de


auditiv uman şi se referă la “acoperirea” unui sunet de intensitate (nivel)
slab de către un sunet mai puternic in intensitate şi aflat in vecinătatea
temporală sau spectrală a sunetului mai slab.
¾ Dacă două sunete se suprapun pe axa timpului (sunt recepţionate de
aparatul auditiv uman in acelaşi moment de timp), iar unul din ele este
mascat de un altul, spunem că avem mascare in frecvenţă (sau simultană).
¾ Chiar şi zgomotul, dacă este foate puternic, poate masca un semnal
audio.

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – Modelul Psihoacustic
¾ Mascarea auditivă este foarte importantă pentru domeniul de codare
audio perceptuală in stabilirea unui prag de mascare sub care frecvenţele
se pot elimina (frecvenţe care sunt dificil de perceput de către urechea
umană şi care sunt oricum mascate de frecvenţele vecine) Æ conduce la un
număr de biţi mai mic Æ compresie.
¾ Modele de mascare simultană şi temporală sunt cunoscute sub numele de
modele psihoacustice.

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – Modelul Psihoacustic

Exemplu de alocare de biti in functie de nivelul perceptibil al sunetului

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – fara pierderi
¾ Compresie cu pierderi.
¾ Compresie fără pierderi.
¾ Compresia fara pierderi
¾Tehnici de codare a formei de undă (axa temporala) – aproximarea
semnalului original continuu prin ESANTIONARE si CUANTIZARE Æ
semnal digital (eşantionat)!
¾ Ex: Tehnica de Modulatie a Impulsului in Cod (MIC) folosit in
tehnologia Compact Disc Digital Audio (CD audio) – considerat format
comprimat ! – nu este adevărat in totalitate - standard pentru Hi-Fi.
¾ Semnal audio CD – eşantionat la 44.1 KHz – 16 biti / eşantion Æ rată de
705 kbps

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – fara pierderi

Procesul de inregistrare audio analogic

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – fara pierderi

Procesul de cuantizare reprezentat schematic – esantioane de semnal

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – fara pierderi
¾

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – fara pierderi
¾ Percepţia si calitatea semnalului audio este puternic afectată de raportul
semnal-zgomot (RSZ).
¾ Ideal, la digitizarea unui semnal audio, RSZ ar trebui sa ramană constant
pentru orice nivel de cuantizare.
¾ Acest lucru este posibil prin folosirea unei scari logaritmice de
compresie (compresie – expandare).
¾ Metode standard de compresie: legea – miu, legea – A.
¾ Alte tehnici de compresie fără pierderi: modulaţia implusurilor in cod
adaptivă (MICA) şi modulatia implusurilor in cod diferenţială (MICD).
¾ Codarea Huffman sau LZW (oferă o rată de compresie mică !)

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – cu pierderi
¾ Principiu: reducerea redundanţei perceptuale (sunetele abia perceptibile
sunt codate cu o precizie mică, sau chiar deloc).
¾ Spre deosebire de compresia audio fără pierderi, in cazul compresiei
audio cu pierderi se lucrează pe scara frecvenţelor Æ codare sub-bandă.
¾ Pentru trecerea din domenil timp in frecvenţa se folosesc transformate.
¾ Cea mai cunoscuta este Transformata Cosinus Discreta Modificata
(TCDM) - spectrul este impărţit in blocuri (ferestre) consecutive in care
prima jumătate a unui bloc este suprapusă peste a doua jumătate a
blocului anterior.
¾ Spectrul de frecvenţe este impărţit, se stabileste un prag de mascare, sub
care frecvenţele pot fi eliminate fără afectarea semnificativă
(perceptibilă !) a calităţii sunetului.
I. Buciu - Compresia si Codarea Informaţiei
Compresia Audio – standarde MPEG
¾ MP1 (MPEG audio layer – 1): Cel mai simplu codec. Principiu:
identificarea componentelor de ton locale prin determinarea maximelor
(varfurilor) locale din spectrul de frecvenţe audio.
¾ Incepe in 1998 şi finalizată in 1992.
¾ Este format din 3 moduri de operare numite niveluri (layers), de la cel
mai simplu layer – 1 la cel mai complex layer – 3 care oferă cea mai
bună calitate a sunetului la o rată de bit scazută (~ 128 kbps pentru un
canal stereo).

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – standarde MPEG
¾ MP2 (MPEG audio layer – 2): Informaţia dintr-o fereastră este prezisă
cu ajutorul celor 2 ferestre precedente prin interpolare liniară.
¾ Caracteristici:
¾ suport pentru formatul de canal 5.1 (sunet cinema).
¾ codare la o rata de bit mai scazută Æ permite frecvenţe de
eşantionare de 16 KHz, 22.05 KHz, si 24 KHz.
¾ nu ofera o codare diferită de MPEG – 1.

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – standarde MPEG
¾ MP3 (MPEG audio layer – 3): mascare in domeniul timp + model
psihoacustic + TCDM + alocare dinamică a biţilor + codare Huffman.
¾ MPEG – 4 audio oferă o rată de bit de la 2 kbps pană la codare de
calitate inaltă 64 kbps/canal.
¾ Indiferent de variantă, toate MP-urile descompun semnalul in 32 de sub-
benzi egale.

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – standarde MPEG
¾ Dezavantaje:
¾ Dimensiunea egală a benzilor nu corespunde cu benzile critice
de mascare a zgomotului Æ eroarea de cuantizare poate fi
semnificativă.
¾ Reconstrucţia semnalelor prin aplicarea filtrării inverse nu este
perfectă Æ erori de reconstrucţie chiar in absenţa erorilor de
cuantizare.
¾ Filtrele (32) adiacente se suprapun Æ un singur ton poate afecta
2 filtre (bănci de filtre).
¾ Soluţia: apariţia unui nou format de compresie audio: AAC (advanced
audio coding) Æ MPEG 4 audio, cu extensia: .mp4 audio.

I. Buciu - Compresia si Codarea Informaţiei


Principiul compresiei mp3
¾ Filtrarea digitala (eliminarea unor frecvenţe) este o tehnică foarte
eficientă in unele cazuri (telefonie digitală), dar este o metoda destul de
brutală.
¾ Există metode mai elegante de a reduce spaţiul de stocare a unui semnal
audio menţinand in acelasi timp si calitatea originală !
¾ Idea: Stocarea coeficienţilor mai putin importanţi (adică corespunzători
frecvenţelor mai putin importante d.p.d.v. a sistemului psihoacustic)
folosind un numar de biţi mai mic Æ cuantizare diferită.
¾ Coeficienţii “mai putin importanti” (nesemnificativi) sunt acei
coeficienţi care au o amplitudine mică in spectrul de frecvenţă (TCD de
exemplu).

I. Buciu - Compresia si Codarea Informaţiei


Principiul compresiei mp3
¾ ACEST PRINCIPIU STA LA BAZA COMPRESIEI MP3 !!!
¾ Coeficienţii corespunzători benzii verzi sunt reprezentaţi (cuantizaţi) pe
un număr mai mic de biţi (precizie redusă) decat ceilalti coeficienţi.

I. Buciu - Compresia si Codarea Informaţiei


Principiul compresiei mp3
¾ Stabilirea valorii pragului sub care se face o cuantizare diferită
determină compromisul dintre calitate şi rata de compresie.
¾ De exemplu, dacă 90 % dintre coeficienti apartin benzii verzi (precizie
scazută), iar aceşti coeficienţi sunt reprezentaţi pe 8 biţi, iar cei rămaşi
(10%) sunt reprezentaţi pe 16 biţi, avem nevoie de un spaţiu de stocare
cu 45 % mai mic decat in cazul in care toţi coeficienţii ar fi fost
reprezentaţi prin 16 biţi !
¾ De retinut: Nu este eliminată nicio frecvenţă din spaţiul de frecvenţe
original, amplitudinele corespunzătoare acestor frecvenţe sunt doar
aproximate cu o precizie mai mare sau mai mică in raport cu
amplitudinele din spectrul iniţial.

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – MPEG-1 Layer-3 (mp3)

Schema bloc pentru codorul audio MPEG – 1 Layer 3 (mp3)

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – MPEG-1 Layer-3 (mp3)
¾ Bucla de control a ratei de cuantizare neuniformă – dacă numărul de
biţi rezultaţi din codarea Huffman depăşeşte numărul de biţi disponibil
pentru codarea unui bloc, se face o corecţie a pasului de cuantizare Æ
pas de cuantizare mai mare Æ valori cuantizate mai mici Æ un număr
mai mic de biţi necesari.
¾ Bucla de control a distorsiunii – folosită pentru modelarea zgomotului
de cuantizare sub pragul de mascare Æ folosirea unor factori de scalare.
¾ Factor de scală inţtial = 1 pentru fiecare bandă.
¾ Daca zgomotul de cuantizare > pragul de mascare (determinat de
modelul psihoacustic) Î factorul de scală este reajustat Æ pas de
cuantizare mai mic Æ contradicţie mai sus Æ reajustarea ratei de
cuantizare neuniformă.
I. Buciu - Compresia si Codarea Informaţiei
Compresia Audio – MPEG-2 AAC (mp4)

Schema bloc pentru codorul audio MPEG – 1 Layer 3 (mp3)

I. Buciu - Compresia si Codarea Informaţiei


Compresia Audio – MPEG-2 AAC (mp4)
¾ Numărul liniilor de frecvenţă este 1024 (faţă de 576 cat este la MPEG –
1 Layer – 3).
¾ Cuplare pentru codarea intensităţii in mijlocul benzii + la extreme.
¾ Mod imbunătăţit de comutare bloc – 5.3 ms la o frecvenţă de
eşantionare de 48 KHz.
¾ M/S – bloc mono / stereo.
¾ SZ – bloc de suprimare (modelare) a zgomotului – folosit pentru
imbunătăţirea calităţii sunetului codat la rate de bit reduse.
¾ Pentru aceeaşi calitate a sunetului, mp4 (AAC) oferă o rata de bit
(compresie) de pană la 30 % mai mică decat formatul de compresie
mp3.

I. Buciu - Compresia si Codarea Informaţiei


Formatul Header – MPEG-1 + MPEG-2
¾ Fiecare fişier audio digital şi codat în formatul audio MPEG – 1/2
conţine informaţii suplimentare (extra) în asa numitul header care este
transmis odată la fiecare 24 ms (pentru o frecvenţă de esantionare de 48
KHz). Header - ul conţine:
¾ cod de sincronizare (pentru codor si decodor);
¾ rata de bit;
¾ frecvenţa de esantionare necesară pentru comutarea decodorului
pe frecvenţa corectă: 32, 44.1, sau 48 KHz în cazul MPEG – 1.
¾ nivelul (1,2, sau 3) şi informaţii despre tipul MPEG (1 sau 2);
¾ modul de codare: mono, dual mono, stereo, dual stereo;
¾ protecţie copyright - 2 biti (!) incluşi în Serial Copy
Management Scheme.
I. Buciu - Compresia si Codarea Informaţiei
Compresia vorbirii
¾ Analiza vorbirii este un caz particular din domeniul analizei semnalului
audio.
¾ Spectrul de frecvenţă este limitat la < 4 KHz.
¾ 2 tipuri de codare: pe axa timpului (forma de undă) şi analiză prin
sinteză de vocodere.
¾ Codare pe axa timpului Æ nu oferă o compresie cu o rată de bit scazută
(e nesatisfăcătoare), utilă doar pentru semnale audio pe bandă largă.
¾ Vocoderele utilizează o codare parametrică Æ exploatează zona
perceptuală Æ rate de bit mult mai scăzute Æ viteză considerabilă.
¾ Tehnici: codarea predictivă liniară (CPL), predicţia liniară reziduală
excitată (PLRE), etc.

I. Buciu - Compresia si Codarea Informaţiei