Sunteți pe pagina 1din 50

Sisteme Multimedia

Transformata DCT. Compresia JPEG

Cezar PLESCA

Transformata DCT. Compresia JPEG

Reprezentarea in frecventa
Fourrier : scrierea unei functii
oarecare ca suma ponderata de
functii periodice (sinus, cosinus)
Functiile periodice de diferite
frecvente sunt normate pentru a
constitui o baza. Coeficientii
sunt obtinuti prin proiectia
functiei pe vectorii de baza.

Cezar PLESCA

Transformata DCT. Compresia JPEG

Baza transformatei DCT 1D I

,,u

Cezar PLESCA

Transformata DCT. Compresia JPEG

Baza transformatei DCT 1D - II

,,u

Cezar PLESCA

Transformata DCT. Compresia JPEG

Baza transformatei DCT 1D III


Functia
, este reprezentanta frecventei u (0-7).

Dorim ca semnalele sa fie o baza in .


1) Norma fiecarui vector din baza sa fie egala
cu 1.
2) Oricare doi vectori diferiti sa fie ortogonali
(produsul
lor scalar sa fie nul).

Vectorul trebuie multiplicat astfel :


Vectorul (u=1-7) trebuie multiplicat cu .
Cezar PLESCA

Transformata DCT. Compresia JPEG

Coeficientii transformatei DCT


1D
F(u) : transformata unui vector f = [f(0), f(1),
. f(7)]

Cezar PLESCA

Transformata DCT. Compresia JPEG

Descompunerea in baza DCT


1D
Vector
p=(0,6;0,5; 0,4;

0,5;0,6; 0,5; 0,4; 0,55).


1 = alb ; -1 = negru
Coeficientul (DC) nu
este cu mult diferit de
media vectorului p dar
ceilalti apte
coeficienti
(AC) sunt mult mai
mici.
Cezar PLESCA

Transformata DCT. Compresia JPEG

Transformata DCT 2D - I
Pentru o imagine f(i, j) de 8x8 pixeli DCT-2D
produce o matrice F(u,v) : spectrul de
frecvente al imaginii.

Cezar PLESCA

Transformata DCT. Compresia JPEG

Transformata DCT 2D - II
Calculul transformatei se poate realiza in doi
pasi:
1) Calculul DCT 1D pe fiecare linie : G(i,v)
2) Calculul DCT 1D pe coloanele matricii
G(i,v)
Volumul de calcule se reduce de la NxN la
N+N
operatii pentru calculul fiecarui coeficient
DCT 2D.
Cezar PLESCA

Transformata DCT. Compresia JPEG

Baza transformatei DCT 2D

Cezar PLESCA

Transformata DCT. Compresia JPEG

10

Descompunere in baza DCT


8x8

Cezar PLESCA

Transformata DCT. Compresia JPEG

11

Descompunere in baza DCT 8x8

Cezar PLESCA

Transformata DCT. Compresia JPEG

12

Descompunere in baza DCT 8x8

Cezar PLESCA

Transformata DCT. Compresia JPEG

13

DCT 2D pentru un bloc 8x8 pixeli

Caracterul A
scalat (nearest
neighbor si
bilinear).
Matricea de
coeficienti DCT
a
blocului 8x8.
Cezar PLESCA

Transformata DCT. Compresia JPEG

14

DCT 2D pentru un bloc 8x8 pixeli


Refacerea blocului 8x8 pe baza coeficientilor
DCT.
Stanga : imaginea refacuta; dreapta :
matricea unor frecvente din baza DCT, mijloc :
coef. DCT * matrice.

Cezar PLESCA

Transformata DCT. Compresia JPEG

15

Caracteristici DCT 2D
DCT capteaza notiunea de frecventa
spatiala cat de des se schimba valoarea
unui pixel in cadrul unei imagini sau a unui
bloc 8x8 al unei imagini.
DCT capteaza redundanta spatiala a
imaginilor naturale (continutul se schimba
relativ rar).
DCT poate concentra informatia din
imagine in cativa dintre coeficientii cei mai
importanti: coeficientul DC si cateva frecvente
Cezar PLESCA Transformata DCT. Compresia JPEG
16
joase AC.

DCT Compactarea energiei

Cezar PLESCA

Transformata DCT. Compresia JPEG

17

DCT Compactarea energiei

Cezar PLESCA

Transformata DCT. Compresia JPEG

18

Entropia DCT - I

Cezar PLESCA

Transformata DCT. Compresia JPEG

19

Entropia DCT - II

Entropia numarul minim (optim) de biti


pentru reprezentarea unui simbol dintr-un
alfabet (0-255).
DCT 50% - jumatate din coeficienti AC sunt
anulati (matricea Cezar
DCT
se parcurge in zigzag).
PLESCA Transformata DCT. Compresia JPEG
20

Reconstructia DCT - I
Doar un procent a) 100% b) 75% c) 50% d)
25% din coeficientii DCT sunt folositi la
reconstructie.

Cezar PLESCA

Transformata DCT. Compresia JPEG

21

Reconstructia DCT - II
Doar un procent a) 100% b) 75% c) 50% d)
25% din coeficientii DCT sunt folositi la
reconstructie.

Cezar PLESCA

Transformata DCT. Compresia JPEG

22

Reconstructia DCT - III


Doar un procent a) 100% b) 75% c) 50% d)
25% din coeficientii DCT sunt folositi la
reconstructie.

Cezar PLESCA

Transformata DCT. Compresia JPEG

23

Reconstructia DCT - IV

Reconstructia imaginii folosind coeficientul DC


si cei mai importanti coeficienti AC : DCT(1,2)
si DCT(2,1).
Cezar PLESCA

Transformata DCT. Compresia JPEG

24

Scheme de compresie
JPEG

Cezar PLESCA

Transformata DCT. Compresia JPEG

25

Compresia JPEG
Observatia 1: redundanta spatiala : continutul unei
imagini evolueaza lent in intensitate, mai ales pe
zone restranse : analiza pe blocuri 8x8 pixeli.
Observatia 2: ochiul uman este mult mai sensibil la
diferente/pierderi in zona frecventelor joase si mai
tolerabil in zona frecventelor inalte : transf. DCT.
Observatia 3: acuitatea vizuala (abilitatea de a
distinge) linii apropiate este mai pronuntata pentru
imaginile gri decat pentru cele color : model YCbCr

Cezar PLESCA

Transformata DCT. Compresia JPEG

26

Schema de compresie JPEG

Cezar PLESCA

Transformata DCT. Compresia JPEG

27

Modelul de culoare YCbCr - I


Luminozititatea separata de informatia de
culoare.
Y luminozitatea imaginii (componenta albnegru)
CbCr componenta cromatica (diferente
blue/red)

Modelul de culoare YCbCr : compresii JPEG si


MPEG. Modele similare
pentru
TV28 :
Cezar PLESCA Transformata
DCT.transmisii
Compresia JPEG

CB

CR
29

Esantionari YCbCr

4:4:4 - nici o esantionare


4:2:2 - esantionare orizontala Cb si Cr cu 2
4:1:1 - esantionare orizontala Cb si Cr cu 4
4:2:0 - esantionare orizontala si verticala CbCr
cu 2
4:2:0 : 24x4=96 biti (RGB) convertiti :
8x4+8x2=48 biti

Cezar PLESCA

Transformata DCT. Compresia JPEG

30

Etapa I : Esantionare YCbCr


4:2:0
Imaginea este impartita in macroblocuri
16x16,
fiecare macrobloc continand 4 blocuri 8x8.
Transformare RGB YCbCr, mediere pentru
Cb, Cr.

Cezar PLESCA

Transformata DCT. Compresia JPEG

31

Etapa II : DCT + Cuantificare


Intrarile tabelelor de cuantizare Q(u, v) tind
sa
creasca catre coltul din dreapta jos
(frecventele cele
mai inalte) : vor rezulta valori mici sau nule
Tabele diferite pentru Y (stanga) si CbCr
(dreapta)

Cezar PLESCA

Transformata DCT. Compresia JPEG

32

Etapa III : Zig-Zag + RLE + VLC

Cezar PLESCA

Transformata DCT. Compresia JPEG

33

Categorii JPEG

Valoarea unui coeficient DCT : categorie + index in


cadrul categoriei. Categorie = nr biti pentru index.
Cezar PLESCA

Transformata DCT. Compresia JPEG

34

Codarea coeficientilor DC

Cezar PLESCA

Transformata DCT. Compresia JPEG

35

Codarea coeficientilor AC

Cezar PLESCA

Transformata DCT. Compresia JPEG

36

Compresie vs. Calitate

Matricile de cuantificare sunt scalate cu un


factor ce
depinde de calitatea specificata de utilizator.
Calitate marita factor de scalare mic Q
micsorata!
Cezar PLESCA Transformata DCT. Compresia JPEG
37

Etapele compresiei JPEG


1) Descompunere in macroblocuri 16x16
2) Transformare YCbCr si subesantionare
cromatica.
3) Aplicarea transformatei DCT pe blocuri 8x8.
4) Cuantificarea blocurilor de coeficienti DCT.
5) Parcurgerea in zigzag a matricii DCT:
a) codificare RLE pentru coeficientii AC;
b) codificare diferentiala pentru DC.
6) Codificarea fluxului rezultat (DC si AC) prin
codare
Cezar PLESCA
DCT. Compresia JPEG
38
entropica (Huffman
sauTransformata
aritmetica).

Modurile de lucru JPEG


Modul secvential imaginea este parcursa
de la
stanga catre dreapta, de sus in jos : video
MJPEG.
Modul progresiv I scanari multiple pentru
codarea coeficientilor. Scan 1) DC si AC1,
AC2.
Scan 2) AC3, AC4, AC5. . Scan k)
Codificarea
ultimilor coeficienti AC61, AC62, AC63.
Modul progresiv II - scanari multiple pentru
coeficientii DCT. Scan 1) Codarea primilor 3
Cezar PLESCA

Transformata DCT. Compresia JPEG

39

Modul de lucru secvential

Cezar PLESCA

Transformata DCT. Compresia JPEG

40

Modul de lucru de tip


progresiv

Cezar PLESCA

Transformata DCT. Compresia JPEG

41

Moduri de lucru de tip progresiv

c) mod de codare progresiv prin transmiterea


unor
fragmente din spectrul de frecvente DCT.
d) mod de codare progresiv prin transmiterea
planelor de biti ale
matricilor de coef. DCT. 42
Cezar PLESCA Transformata DCT. Compresia JPEG

Modul de lucru ierarhic - I


Reducerea rezolutiei imaginii f cu factori de 2
si 4
pentru a obtine imaginile f2 si respectiv f4.
1. Compresia imaginii f4 in modul secvential
-> F4.
2. Compresia imaginii diferenta d2.
3. (a) Decodificarea F4 pentru a obtine f4.
Interpoleaza f4 pentru a o aduce la aceeasi
dimensiune ca f2 : E(f4)
3. (b) Compreseaza diferenta d2=E(f4)-f2
folosind
modul de lucru secvential pentru a genera D2.
4. Calculeaza si compreseaza
intr-un mod 43
Cezar PLESCA Transformata DCT. Compresia JPEG

Modul de lucru ierarhic - II

Cezar PLESCA

Transformata DCT. Compresia JPEG

44

Performante JPEG
Pentru imagini color de calitate
superioara (Q=100), compresia JPEG : 8.25
biti per pixel. Pentru imagini in nuante de gri,
performanta este de 6.5 biti per pixel.
Pentru imagini de calitate medie, un
factor de calitate Q=25 foloseste aprox.
4.3% din dimensiunea initiala.
Pentru majoritatea aplicatiilor, factorul
de calitate trebuie ales pana la 0.75 bit per
pixel, ceea ce corespunde in general unui
Cezar PLESCA

Transformata DCT. Compresia JPEG

45

JPEG Exemple - I
Calitate maxima (Q=100), rata de compresie 2.6
(9 biti per pixel) : artefacte greu sesizabile.

Cezar PLESCA

Transformata DCT. Compresia JPEG

46

JPEG Exemple - II
Calitate medie (Q=50), rata de compresie 15.
putine artefacte sesizabile.

Cezar PLESCA

Transformata DCT. Compresia JPEG

47

JPEG Exemple - III


Calitate redusa (Q=25), rata de compresie 23.
artefacte vizibile, pierderea frecventelor inalte.

Cezar PLESCA

Transformata DCT. Compresia JPEG

48

JPEG Exemple - IV
Calitate foarte redusa (Q=10), rata de compresie 46.
artefacte extrem de vizibile, efect de macrobloc.

Cezar PLESCA

Transformata DCT. Compresia JPEG

49

JPEG Exemple - V
Calitate minima (Q=1), rata de compresie 144.
artefacte extreme, efect de macrobloc pronuntat.

Cezar PLESCA

Transformata DCT. Compresia JPEG

50

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