Documente Academic
Documente Profesional
Documente Cultură
LABORATOR 1
1.1.1 Introducere
VcDemo este un program de nvare a tehnicilor de compresie a
imaginilor i de compresie video.
Scopul programului este de a face posibil experimentarea cu diferii
algoritmi de compresie (mai mult sau mai puin complexi) fr a avea n
vedere implementarea lor propriu-zis. Din aceast cauz programul este
bazat pe meniuri de dialog i permite utilizatorului sa experimenteze cu
diferii parametrii specifici operaiei de compresie.
Pe de o parte, vizualizarea rezultatelor de compresie a imaginilor
ajut la nelegerea performanelor unui anumit algoritm de compresie, iar
pe de alt parte rezultatele stimuleaz o modalitate de rezolvare a
problemei. O modalitate efectiv de a lucra cu VcDemo este de a-i pune
tot timpul ntrebrile: ce se va ntmpla dac folosesc o anumit
combinaie de parametrii, care este cauza artefactelor de compresie i
cum pot fi comparate tehnicile de compresie att din punct de vedere
vizual ct i numeric.
PSNR Calitate
> 40dB Foarte bun
30 40dB Bun
< 30dB Slab
Secvene YUV
Reprezentarea imaginilor color n formatul YUV (Y luminana,
U,V crominana) se face pornind de la reprezentarea RGB (Red
Green Blue) astfel:
Y 0.3R 0.59G 0.11B
U 0.493( B Y )
V 0.877( R Y )
Secvenele YUV conin secvene de imagini brute fr header. Datele
sunt stocate ca o succesiune de blocuri de date Y-U-V. Formatul de
stocare poate fi doar luminan sau luminan-crominan n format
4:2:0 sau 4:2:2. Pentru fiecare secven trebuie s existe un fiier
header cu acelai nume. De exemplu
...\adir\secv.yuv
conine date YUV cu format descris nsecv.hdr. Secvene doar de
luminan sunt coninute n fiiere cu extensia .y.
Secvene BMP
O secven de imagini BMP este de exemplu: imag1.bmp,
imag2.bmp, ..., imag9.bmp, imag10.bmp, etc. Programul nu cunoate
lungimea acestei secvene. Pentru a indica programului c exist o
secvena imag, imaginile trebuie organizate dup cum urmeaz
...\adir\imag.seq
...\adir\imag1.bmp
...\adir\imag2.bmp
...\adir\imag3.bmp
etc
Programul caut fiiere cu extensia *.seq i dup selectare va ncrca
aceast imagine ca prima imagine a secvenei. De aceea imag. Seq trebuie
s fie identic cu imag1.bmp (o copie cu extensie diferit). Toate celelalte
cadre vor fi ncrcate din subdirectorul imag, pn cnd urmtoarea
imagine nu mai poate fi gsit i programul realizeaz c s-a ajuns la ultima
imagine.
va afia doar primul cadru. Se pot apoi activa modulele programului care
lucreaz cu secvene de imagini.
Filtru
trece-jos
Exerciii
a)
b)
c)
Bitrate: Selecteaz rata de bit pentru PCM (doar valori ntregi). Este
aplicat un cuantizor uniform pentru o funcie de densitate
de probabilitate uniform.
Dithering: naintea compresiei PCM o cantitate mic de zgomot poate
fi suprapus peste imagine. Acest lucru face ca artefactele
de compresie PCM s fie mai puin observabile. Deoarece
zgomotul este generat local, el poate fi sczut la decodare.
Aceast opiune poate fi selectat sau nu. Cantitatea de
zgomot este controlat de ctre mrimea pasului dither-
ului.
Errors: Cnd datele sunt comprimate din ce n ce mai mult, biii
devin din ce n ce mai vulnerabili la erorile de canal.
VcDemo permite adugarea naintea decodrii a unor erori
de bit aleatoare in fluxul de bit codat. Astfel se pot vedea
efectele erorilor (simple) de canal. Pot fi selectate diferite
rate de erori de bit.
3.3 Exerciii
Comunicaii multimedia Laborator 1 9
n Figura 4.1 este reprezentat schema codorului DPCM, unde sunt folosite
urmtoarele simboluri:
10 Comunicaii multimedia Laborator 1
~
x (i, j )
x (i, j ) Predictor Memorie
x (i , j )
Figura 4.1 Codorul DPCM
Direcia de
parcurgere
Pixelul curent
Figura 4.2 O seciune din harta de bii pentru modelul de codare DPCM
4.3 Exerciii
LABORATOR 2
1.3 Exerciii
Comunicaii multimedia Laborator 2 17
2.3 Exerciii
1. Alegei imaginea Lena256B.bmp. Aceast imagine este transformat n
coeficieni DCT. Verificai calitatea imaginii reconstruite pentru diferite
dimensiuni ale blocului DCT. n ce msur corespunde teoria cu
implementarea practic?
2. Pentru imaginea Lena256B.bmp selectai transformata DCT 8x8 i
compresie PCM pentru toi coeficienii DCT. Alegei o valoare rezonabil
pentru parametrul c. Desenai dou curbe SNR - numr de bpp, cu i fr
codarea entropic. Ct de mult compresie suplimentar ( sau ce SNR )
d codarea entropic?
3. Repetai punctul (2) pentru valori incorecte ale lui c. Fii ateni la
diferenele dintre numrul de bpp selectat, cel prezis i cel rezultat n
urma compresiei. Explicai diferenele observate.
4. Repetai punctul (3) utiliznd setrile corecte pentru parametrul c, pentru
alte dou cazuri, i anume:
- compresie DPCM pentru toi coeficienii
- compresie DPCM pentru primul coeficient DCT i compresie PCM
pentru restul de coeficieni.
Ce ctig de performane se obine utiliznd compresia adiional DPCM?
5. Repetai punctul (3) pentru imaginea Noise256B.bmp. Observai
variana coeficienilor DCT i rezultatul n urma alocrii biilor. Comparai
rezultatele cu compresia DPCM aplicat acestei imagini.
6. ncrcai imaginea Lena256B.bmp i calculai dependena SNR-numr
de bpp utiliznd blocuri DCT de diferite mrimi, pstrnd compresia
coeficienilor DCT fix ( de exemplu, utiliznd DPCM pentru primul
coeficient DCT i PCM pentru restul coeficienilor, un model de predicie
fixat i un parametru c fixat ).
7. Examinai urmrile erorilor asupra compresiei DCT pentru diferite
probabiliti de eroare, diferite mrimi ale blocurilor DCT i diferite
modele DPCM de predicie. Explicai structura imaginii afiate.
Comparai efectele prezenei erorilor asupra coeficienilor DCT i asupra
imaginii decodate.
8. Pornii programul Matlab. Rulai programul dctdemo. Modificai numrul
de coeficieni DCT cu care se face decompresia i comparai calitatea
imaginii decomprimate. Ci coeficieni sunt necesari pentru a se obine o
aproximare rezonabil a imaginii originale?
22 Comunicaii multimedia Laborator 2
Compresie Calitate
0.25 0.5 bii/pixel color moderat spre bun
0.5 0.75 bii/pixel color bun spre foarte bun
0.75 1.5 bii/pixel color excelent
> 1.75 bii/pixel color nu se poate face diferena cu imaginea
original
diferena DC
Bloc de
imagine
8x8
coeficienii AC
Figura 3.1 Codorul JPEG
- Decodorul JPEG
diferena DC
Imaginea
reconstruit
coeficienii AC
Figura 3.2 Decodorul JPEG
Comunicaii multimedia Laborator 2 23
Pregtirea imaginii
- Procesarea unitilor datelor se poate face:
component cu component, i parcurse de la stnga la dreapta, i de
sus n jos. Acest mod este cunoscut sub numele de procesare
nentreesut (vezi Figura 3.4a). Utiliznd acest mod pentru o imagine
codat RGB, de nalt rezoluie, vor fi afiate pe rnd, componentele
de rou, apoi, verde, i la sfrit albastru.
prin procesare ntreesut (vezi Figura 3.4b), la care se proceseaz
pentru un bloc toate componentele la rnd, iar apoi se trece la blocul
urmtor
24 Comunicaii multimedia Laborator 2
EMBED Word.Picture.8
DCi-1 DCi
DIFF= DCi-DCi-1
Bloci-1 Bloci
3.3 Exerciii
LABORATOR 3
Imagine
Transf.
original Pregtire
Wavelet Cuantizare Codare
imagine
Discret
Imagine
comprimat
mpachetare Controlul
date fluxului
Pregtirea imaginii
- Conform standardului JPEG2000 pregtirea imaginii este compus din
urmtoarii pai (vezi Figura 1.2):
- partiionarea imagini n cadre
- ajustarea nivelului datelor
- o transformare color ireversibil
- Pentru situaia n care imaginea care trebuie comprimat este mai mare
dect memoria disponibil s-a prevzut posibilitatea partiionarea
imaginii n dreptunghiuri disjuncte numite cadre
- Valorile datelor de intrare trebuie s fie ntr-o gam centrat n jurul
lui zero, deoarece standardul opereaz cu filtrri de tip trece-sus. Aa
se explic necesitatea celei de a doua etape de ajustare nivel.
- Al treilea pas n aceast etap const dintr-o tranformare ireversibil a
matricii color. Tipul de transformare depinde de reprezentarea iniial
Comunicaii multimedia Laborator 3 31
I II
Pregtire
imagine III IV
Partiionare
imagine
Ajustare [0, 2 N 1] [2 N 1 , 2 N 1 ]
nivel
Transformare
color
Q dj f
2
2
P dj 1 f
2
P dj f
2
2
Filtru trece-sus
I II
III IV
LL2
LL1 HL1 HL2 HL1
LH2 HH2
LH1 HH1 LH1 HH1
Cuantizarea
- se face cuantizarea coeficienilor transformatei wavelet cu un
cuantizor cu caracteristica uniform i zon moart n jurul lui zero
pentru fiecare subimagine.
- Pentu o subimagine se utilizeaz un pas de cuantizare, fiecare sub-
imagine avnd propiul pas de cuantizare
- Relaia cuantizorului este dat de relaia:
Val .coef .
q sign(Val .coef .)
sub imagine
Codarea
- Fiecare subimagine a unui cadru a unei imagini este mprit n
uniti i mai mici, numite blocuri de cod cu dimensiuni de tipul
64x64 sau 32x32 pixeli.
- n cadrul unui bloc de cod citirea valorilor cuantizate ale coeficienilor
transformatei wavelet se face n benzi, fiecare band avnd o nlime
de patru eantioane.
- La rndul lor citirea benzilor se face de la stnga la dreapta i de sus n
jos, aa cum este prezentat in Figura 1.7
.
..
..
..
..
..
. . . .
. . . . .
. . . .
. . . .
. . . .
W1 W5 W9 W13
W2 W6 W10 W14
Planul LSB al biilor
W3 W7 W11 W15
W4 W8 W12 W16
Planul MSB al biilor
Controlul debitului
- Controlul ratei de debit este operaia prin care fluxul de date este
alterat n scopul atingerii unui debit de date dorit
- trebuie s fie se analizeze toate blocurile comprimate i s se decid
care din ele s fie trunchiat, dup o stategie care s minimizeze efectul
distorsiunilor
Culoarea fundalului
reprezint diverse nivele de
rezoluie, iar desenul
reprezint o regiune
Header Date
pachet comprimate
1.3 Exerciii
2. Estimarea micrii
fereastra de
cutare
dy
dx dx
dy blocul curent
Imaginile afiate:
Este estimat micarea pentru fiecare cadru al secvenei
de imagini. Apar patru ferestre (vezi Figura 2.3):
Secvena de imagini original (stnga sus)
Diferena dintre dou cadre consecutive (dreapta sus)
Predicia compensat de micare a imaginii actuale,
peste care este suprapus cmpul de micare (stnga
jos). Punctul de pornire al vectorului de micare este
indicat printr-un punct negru
Diferena compensat de micare dintre cele dou
cadre consecutive (dreapta jos)
2.3 Exerciii
8. Care este cea mai bun strategie de cutare din punctul de vedere al
erorii i din punctrul de vedere al timpului de calcul pentru acelai
numr de blocuri i acelai deplasament maxim? Ce metod ar fi cel
mai bun compromis ntre eroarea de estimare i timpul de calcul
9. Comparai cele dou criterii de estimare (MAD Minimum Absolut
Difference i MSE Mean Square Error) din punct de vedere al erorii
i din punct de vedere al timpului de calcul.
10.Comparai eficiena estimrii micrii pentru diferite mrimi ale
blocurilor (8, 16 sau 32).
11.Comparai eficiena compensrii micrii pentru cele dou
deplasamente (0.5 jumtate din dimensiunea blocului i 1
dimensiunea blocului).
Comunicaii multimedia Laborator 4 43
LABORATOR 4
Standardul H.261
1. Noiuni teoretice
12 13 14 15 16 17 18 19 20 21 22
23 24 25 26 27 28 29 30 31 32 33
Cadrul curent
Figura 1.5 Decimarea imaginii
46 Comunicaii multimedia Laborator 4
Decodorul:
Escape 0000 01
Run este un cod cu lungime fix de 6 Level este un cod cu lungime fix de 8
bii bii
0127 0111 1111
De exemplu: 0 0 0 1 6 0 3 EOB
se codeaz: 001111 001000010 001001010 10
Fluxul de date are o structur ierarhic format din mai multe niveluri.
1. Nivelul imagine
- PSC (20 bii): Picture Start Code;
- TR (5 bii): Temporal Reference;
- PTYPE (6 bii): CIF sau QCIF;
- dac PEI = 1, PSPARE: bii de rezerv;
2. Nivelul Grup de Blocuri (GOB)
- GBSC (16 bii): GOB Start Code;
- GN (4 bii): Group Number;
- GQUANT: Group Cuantizer, 1...31;
Comunicaii multimedia Laborator 4 51
2. Programul Vprove
Artefacte
vizuale
Macrobloc
selectat cu
mouse-ul
Macrobloc de
culoare verde
Numrul
macroblocului
(X Y)
Numrul
cadrului
Figura 2.5 Fereastra MB Tooltip
Comunicaii multimedia Laborator 4 57
Analiza grafic
Selectai
opiunile
3. Aplicaia H.261
H.261 Codor
Aplicaia H.261 Codor reprezin o imlementare practica a
algoritmului H.261 descris de Recomandarea H.261 versiunea 2 din
martie 1993. El a fost realizat in mediul vizual Visual C++ [MFC] pentru
Windows 95, 98, ME i Xp folosind o implementare a standardului
H.261 realizat de ctre Standford University
havefun.stanford.edu:pub/p64.
Prezentarea meniului
H.261 Decodor
H.261 Decodor este o aplicaie de vizualizare i analiz a
imaginilor video care sunt codate H.261 suport funcii de play, pauz,
replay i cadru cu cadru i afiare a hrii video.
Comunicaii multimedia Laborator 4 63
COMUNICAII MULTIMEDIA
LABORATOR 5
Standardul MPEG
1. Standardul MPEG 1
Date auxiliare
Date
auxiliar
Date Date Date e
auxiliar auxiliar auxiliar
Date e e e
auxiliare Date
Date auxiliare auxil
iare
Date
auxiliar
e
FM FM
ME ME
A) Predicia
Date Date Da
auxil auxil te
iare iare au
xil
Date Date iar
Da
e
auxil auxil
te
iare iare
au
xil
Figura 1.2 Structura unui macrobloc
iar
e
Fiecare macrobloc conine patru blocuri de luminan
( Y1,Y2,Y3,Y4) i dou blocuri de crominan (U,V). Formatul obinut este
n consecin 4:1:1. Prin folosirea prediciei n algoritmii de codare
MPEG se reduc redundanele temporale existente ntre cadre, codndu-se
doar imaginile eroare de predicie (este vorba de diferena ntre imaginile
originale i imaginile obinute prin predicie cu compensarea micrii).
Comunicaii multimedia Laborator 5 67
Date auxiliare
Date
auxiliar Date auxiliare
e
Date auxiliare
Date
auxiliare
Date
auxiliar
e
Date
auxiliare
Observaii:
1. Nu este necesar ca macroblocul corespondent din cadrul anterior
s se afle la o distan mai mic de 16 pixeli.
2. Potrivirea nu se face fa de un cadru video anterior ci mai degrab
fa de un cadru ce a fost deja codat i decodat deoarece decodorul
nu are acces la cadrele video surs ci doar la versiuni decodate ale
cadrelor originale.
68 Comunicaii multimedia Laborator 5
E c ( x, y ) I c ( x, y ) I r [( x, y ) M rc ]
MIN
mM
C[ I
( x , y )B
c ( x, y ) I r (( x, y ) m)]
A. B.
Comunicaii multimedia Laborator 5 69
C. D.
Figura 1.4.(A) Cadrul de la momentul N; (B) Cadrul de la momentul N-1
folosit la predicia coninutului cadrului de la momentul N (s-au figurat i
vectorii de micare); (C) Eroarea de predicie obinut fr compensarea
micrii (toi vectorii de micare sunt presupui nuli); (D) Imaginea care
trebuie codat, obinut prin folosirea compensrii micrii.
B) Interpolarea
Ordonarea Cadrelor
Date auxiliare
2. Standardul MPEG 2
Cerine principale:
Compatibilitate cu semnalul video ntreesut (ITU-R 601).
Codarea la calitate bun la rate cuprinse ntre 4 i 9 Mbii/s.
Acces aleator la comutarea canalelor, cutare i derulare FF/FR
folosind punctele de acces din grupurile de imagini.
Permite codarea crominanei i la formate de rezoluie mai mare 4:2:2
i 4:4:4.
Comunicaii multimedia Laborator 5 73
Cerine suplimentare:
Compatibilitate i interoperabilitate cu MPEG1.
Suport codarea formatelor nentreesute i ntreesute la diferite rate
de cadru.
Suport formate video la diferite rapoarte de aspect.
ncrcare minim a sintaxei MPEG pentru includerea facilitilor de
mai sus.
Codorul i decodorul s aib o complexitate rezonabil.
a) b)
c)
cmpul cmpul
par impar par impar
74 Comunicaii multimedia Laborator 5
timp timp
timp
Figura 2.2 Scanarea a) ntreesut 4:1:1; b) ntreesut 4:2:2/4:4:4 i c)
progresiv
referin curent
Comunicaii multimedia Laborator 5 75
Date auxiliare
Date auxiliare
referin curent
a) b)
Figura 2.7 a) Scanare zig-zag a coeficienilor DCT inter; b) Scanare
alternat a coeficienilor DCT intra
3. Compresia MPEG audio
MPEG-1 audio:
78 Comunicaii multimedia Laborator 5
MPEG-2 audio:
o O extensie a stadardului MPEG-1 audio pentru rate de
eantionare sczute: 16, 22.5, 24 kHz, oferind o calitate mai bun
pentru rate de bit sub 64 kbps mono.
o O extensie compatibil cu MPEG-1 pentru codarea unor surse cu
mai multe canale: 5 canale normale si unul pentru frecventele
joase (5.1), care poate fi decodata si cu un decodor MPEG-1;
o Introduce o metod nou de compresie numita Advanced Audio
Coding (AAC), care nu mai este compatibil cu MPEG-1, deci nu
poate fi decodat de un astfel de decodor. Caracteristicile AAC:
calitate audio foarte bun la rate de 64 kbps pe un canal, suporta
48 de canale audio, 16 canale pentru frecvene joase, 16 canale
pentru voce n mai multe limbi, 16 fluxuri de date. Blocurile
codecului au fost imbuntite, obtinndu-se o imbuntire a
ratei de compresie cu 30% fa de MPEG-1 Layer III.
o Foloseste tot o structur cu 3 layere ca i la MPEG-1;
MPEG-4 audio:
Comunicaii multimedia Laborator 5 79
2. Mascarea auditiv
Este un fenomen numit i mascarea zgomotului, i se manifest
astfel in domeniul frecven: cnd un semnal de nivel mic si
unul de nivel mare apar simultan si sunt destul de apropiate in
frecven, dac semnalul mic se afla sub un prag de mascare,
acesta nu se va auzi din cauza semnalului mai puternic. Acest
fenomen este mai pronunat cnd ambele semnale se afl n
aceeai band critic, i mai putin observabil cnd acestea se
afl in benzi alturate.
Date auxiliare
Date auxiliare
Date auxiliare
Date auxiliare
Comunicaii multimedia Laborator 5 81
Date auxiliare
Date auxiliare
Din fereastra text se obin informaiile cele mai utile cu privire la codarea
cadrului respectiv: rata de bit per cadru (exprimat n bii/pixel), tipul
cadrului (I/B/P) obinut prin codare, felul n care a fost codat fiecare
macrobloc al cadrului (afind o matrice de litere conform poziiei
macroblocului n cadru).
Se ntrerupe de mai multe ori compresia. Se noteaz care sunt cele mai
utilizate tipuri de macroblocuri n codare (cele obinute prin interpolare,
cele obinute prin predicie etc).
Se reia codarea selectnd i alte opiuni.