Documente Academic
Documente Profesional
Documente Cultură
c A b AT
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 1 m 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 AT n x n
nx n nx n nx n
s AT n x n S A
nx n nx n nx n
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
Functia
1 / p
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
14 17 22 29 51 87 80 62
QL
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 9 17 18 24 47 99 99 99 99
49 18 21 26 66 99 99 99 99
64 78 87 103 121 120 101
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
unde x reprezinta valorile coeficientilor DCT
Observatii
Daca repreznta valorile cuantizate si Q este pasul de cuantizare
atunci valoarea reconstituita va fi in intervalul:
1 1
I x q a, b xq Q, xq Q
2 2
10 10 10 10
200 5 10 200
200 5 10 200
200 5 10 200
Exemplu
Matricea transformarii cosinus discrete este:
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
RC 3 1.07
n 119 119
Exemplu
In cazul refacerii imaginilor, dupa deponderare si
transformare inversa:
28 49 49 28
173 0 0 173
sˆ1 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 34 211 sˆ 3
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: