Documente Academic
Documente Profesional
Documente Cultură
DEPARTMENT
DEPARTMENT OF
OF COMPUTER
COMPUTER SCIENCE
SCIENCE
b AT c A
Compresia prin utilizarea transformarilor
Transformarea insasi nu face nici o compresie
Scopul transformarii este de a decorela semnalul de intrare ceea ce
duce la re-distributia energiei semnalului peste un numar mic de
coeficienti, coeficientii transformarii
Intrucat energia semnalului se conserva rezulta ca u are loc pierdere
de energie si de informatie
In acest fel multi coeficienti pot fi neglijati dupa cuantizare si
inaintea codarii
In plus, prin considerarea si includerea unui model al aparatului
vizual, in speta a functiei de sensibilitate la constrast, in procesul
de cuantizare a coeficientilor rezulta de asemenea o marire a
eficientei compresiei
Compresia prin utilizarea transformarilor
O transformare se numeste uni-dimensionala (1D) daca este aplicata intr-
o singura directie (dimensiune) a unei imagini, adica pe linie sau pe
coloana
O trasnformare bi-dimensionala (2D) este aplicata unui bloc 2D de pixeli
O transformare este separabila daca nucleul transformarii poate fi
descompus in doua nuclee 1D pentru operatiile efectuate pe verticala si
pe orizontala
Astfel o transformare separabila aplicata unui bloc de NxN pixeli poate fi
efectuata in doi pasi
Mai intai se aplica o transformare 1D in N puncte pe orizontala, deci pe fiecare linie
a blocului, si apoi o alta trasformare 1D pe coloanele blocului
Prin transformata 1D in N puncte se intelege o transformare 1D efectuata pe N pixeli
Compresia prin utilizarea transformarilor
In alegerea tipului de transformare se are in vedere gradul
de decorelare a imaginii, functiile de baza dupa acre se
face descompunerea, numarul de operatii necesar pentru
realizarea transformarii, rapiditatea implementarilor
Cele mai folosite transformari sunt:
Transformata Fourier Discreta (DFT)
Trasformata Karhunen-Loeve (KLT)
Transformata cosinus discreta (DCT)
Trasformata Walsh-Hadamard (WHT)
Transformata cosinus discreta (DCT)
Cea mai folosita transformare este DCT aplicata unor
blocuri de marime mica, 8x8 pixeli
Explicatia consta in puterea de decorelare si in existenta
unor algoritmi pentru implementari de timp real
DCT este apropiata de transformata Fourier discreta si
trebuie retinut ca coeficientii acesteia (DCT) pot fi
interpretati in domeniul frecventa
Coeficienti DCT mici arata/corespund unor frecvente
spatiale mici in blocurile de imagine considerate
Coeficienti DCT mari corespund frecventelor mari
Transformata cosinus discreta (DCT)
Pentru aplicarea transformarii, se esantioneaza o imagine
la intervale regulate, se analizeaza componentele spectrale
prezente in esantionae, se inlatura acele frecvente care nu
afecteaza imaginea din punctual de vedere al ochiului
uman
Aceasta metoda este baza pentru standardele JPEG, MPEG,
(CCCIT)H.261 si H.263
A fost dezvoltata de Ahmed, Natarajan, and Rao [1974]
S-a folosit prima oara in compresia imaginilor de Chen
and Pratt [1984]
Transformata cosinus discreta (DCT)
Pentru o matrice s de dimensiune nxn, DCT 2D se calculeaza
simplu:
DCT 1D se aplica pentru fiecare linie a lui s
apoi fiecarei coloane a rezultatului
Relatiile de calcul sunt:
2 n 1m 1 ( 2i 1 )u ( 2 j 1 )v
S ( u ,v )
nm
C( u ) C( v ) s( i , j ) cos
2n
cos
2m
i0j0
u 0 ,1,..., n 1; v 0 ,..., m 1
1 / 2 , daca u 0 1 / 2 , daca v 0
C( u ) C( v )
1, daca u 0 1, daca v 0
Transformata cosinus discreta (DCT)
In notatie matriciala:
S A s ATn x n
nxn nxn nxn
s ATn x n S A
nxn nxn nxn
Transformata cosinus discreta (DCT)
Ca si in cazul uni-dimensional, fiecare element S(u,v) al
transformarii este produsul intern intre intrare si functia
baza, unde in acest caz functiile de baza sunt matrici
de dimensiune nxn
1 / p
Functia A( , p ) 2
3 / p
unde:
nc este numarul de coloane
nl este numarul de linii
n_bit_per_pixel este numarul de biti pentru reprezentarea intensitatii unui pixel
n_coef este numarul de coeficienti considerati in transformare
n_bit_per_coef este numarul de simboluri binare pentru reprezentarea unui coeficient
Exemplu: pentru imagini cu nivele de gri: n_bit_per_pixel = 8 si n_bit_per_coef = 32
Standardului JPEG
In standardul de compresie JPEG (Joint Photographic Experts Group)),
fiecare coefficient DCT este normalizat (ponderat) cu valori ale unei
matrici de normalizare, care este fixa pentru toate blocurile
Obiectivul ponderarii este evidentierea importantei coeficeintilor in raport
cu importanta perceptuala a fiecarui coeficient
Dupa normalizare coeficientii sunt rotunjiti la cel mai aproape intreg
Pentru varianta de baza a standardului JPEG se pot folosi 4 matrici de
normalizare, in raport cu luminanta si componentele de crominanta ale
imaginii
Fiecare componenta a ariei de normalizare Q(u,v) este un intreg reprezentat
pe 8 biti care in efect determina marimea pasului de cuantizare
JPEG lucreaza cu 24 de biti pentru culoare, (16.7 milioane de culori),
indiferent de numarul de culori din imagine
Standardului JPEG
In general, frecventele spatiale de ordin mare sunt mai
putin vizibile ochiului uman in comparatie cu frecventele
joase
Astfel, intervalele de cuantizare sunt alese mai mari pentru
frecvente mari
Urmatoarea matrice de cuantizare este folosita intens pentru
imaginile monco-crome si pentru componenta de luminanta a
imaginiii color
Ea se folosteste in compresia JPEG si este determinata din
masurarea pragului de vizibilitate al coeficientului DCT
Alte aplicatii pot folosi alte valori ale matrii de ponderare
Standardului JPEG
Vizualizand matricea de luminanta, QL, si matricea de crominanta, QC, pe o
scara a nivelelor de gri se vede dependenta factorilor de cuantizare de frecventa,
prin cresterea intensitatii incepand din coltul stanga sus inspre coltul dreapta jos
(0 = negru si 121 = alb)
Standardului JPEG
16 11 10 16 24 40 51 61
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
QL 14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 9 17 18 24 47 99 99 99 99
18 99
49 64 78 87 103 121 120 101 21 26 66 99 99 99
72 92 95 98 112 100 103 99 24 26 56 99 99 99 99 99
47 66 99 99 99 99 99 99
QC
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
Standardului JPEG
Standardului JPEG
La efectuarea compresiei, se transforma matricea in
blocuri si se cuantizeaza fiecare bloc
La de-compresie se inmulteste fiecare bloc cu matricea de
cuantizare si se obtine imaginea reconstruita
Cuantizarea inseamna rotunjira la cel mai apropiat intreg
Standardului JPEG
Prin normalizare si cuantizare se obtin multe valori de 0 pentru coeficientii DCT
Inainte de codare entropica, coeficientii DCT sunt reformatati in format 1D prin
scanare in zig-zag dupa urmatoarea configuratie (sau tabel de citire), in vederea
gruparii celulelor care sunt corelate si a indepartarii acestei redundante prin codare
entropica
Aceasta arie este determinata de proprietatile sistemului olfactiv uman, care este mai
putin sensibil la frecvente inalte, si permite folosirea corelatiilor celulelor invecinate
S =
Standardului JPEG
Fiecare componenta din aria de normalizare este un intreg
pe 8 biti si este transferata receptorului ca parte a
informatiei de antet
Se pot specifica pana la 4 arii de normalizare, de exemplu
arii diferite pentru componentele de luminanta si
crominanta ale unei imagini color
Fiecare componenta de culoare este codata independent
De exemplu, o imagine reprezentata in spatiul YIQ este
codata ca trei imagini separate
Schema bloc a codorului JPEG
Schema bloc a decodorului JPEG
Observatii
Inainte de afectuarea transformarii blocului imagine are loc o deplasare
a valorii pixelilor in jos cu jumatate din gama dinamica folosita la
reprezentare
De exemplu, daca se foloseste gama [0 255] atunci se va scadea valoarea
128, inainte de aplicarea transformarii
Pentru decuantizare, de foloseste regula punctului de mijloc la
refacerea coeficientilor DCT, deci la mijlocul intervalului de cuantizare
Acest tip de reconstructie ar fi optimal daca si numai daca functia
densitate de probabilitate a coeficientilor DCT ar fi uniforma
In realitate es este neuniforma, astfel incat pentru a minimiza valoarea
patratica medie se alege ca valoare estimata coordonata centroidului
intervalui de cuantizare
Determinarea pozitiei centroidului portiunii
hasurate
Observatii
In contextul detectiei prezentei unei informatii ascunse
intereseaza posibilitatile de determinare a modificarii functiei
densiatte de probabilitate
Coeficientii DCT au fdp de tip Laplace, ceea ce corespunde
valorii 1 a parametrului de forma in expresia functiei gaussiene
generalizate
Se considera expresia
x
w( x) e
2
10 10 10 10
200 5 10 200
200 5 10 200
200 5 10 200
Exemplu
Matricea transformarii cosinus discrete este:
10 15 37 57
15 23 59 67
Q
25 53 91 96
70 90 100 106
Tranformata cuantizata:
32 1 7 0
9 0 3 1
S c S ./ Q
4 0 2 1
1 0 1 1
Exemplu
Neglijand coeficientii mai mici de 1, 2.5 si 5 din maximumul
coeficientilor AC se obtin transformatele ponderate reduse:
32 0 7 0 32 0 7 0
9 0 3 0 9 0 3 0
S cr1 S cr2
4 0 2 0 4 0 0 0
0 0 0 0 0 0 0 0
32 0 7 0
9 0 0 0
S cr3
0 0 0 0
0 0 0 0
Exemplu
T = [S(1,1), S(1,2), S(2,1), S(3,1), S(2,2), S(1,3), S(1,4), S(2,3), S(3,2), S(4,1), S(4,2),
S(3,3), S(2,4), S(3,4), S(4,3), S(4,4)]
Exemplu
Pentru prima matrice, Scr1, se obtine:
T1= {(1,-9),(0,-4), (1 ,7), (1, -3), (3, -2), (3, 0), EOB}
Exemplu
Simbolurile astfel obtinute se codeaza dupa un tabel de codare Huffman definit a
priori, de obicei
Pentru cazul de fata se va considera ca RLC binara plecand de la o reprezentare pe
8 biti a numerelor intregi cu semn
Pentru bitul de semn, se considera 0 pentru numere pozitive
Pentru caracterul EOB (End Of Block) se considera valoarea -127, foarte putin
probabila sa apara in ultima pozitie
Rezulta fluxul binar:
nc nl 8biti 4 * 4 * 8 128
RC3 1.07
n 119 119
Exemplu
In cazul refacerii imaginilor, dupa deponderare si
transformare inversa:
28 49 49 28
173 0 0 173
s1 A S cr1 . * Q A
T
257 11 11 257
176 22 22 176
17 3 3 17 100 29 29 100
127 45 126 4 4
s 2
45 127 126
211 34 s 3
34 211 163 33 33 163
221 24 24 221 168 59 59 168
Reconstructia imaginilor din trunchierea
transformarilor
Exemplu
Compresia imaginii cameraman cu algoritmul JPEG si blocuri de marime 8x8
S-au considerat mai multe variante in care numarul de coeficienti considerati ai transformarii
sunt 4, 9 si 16
Raportul de compresie este: