Documente Academic
Documente Profesional
Documente Cultură
LABORATOR 1
1.1.1 Introducere
VcDemo este un program de învăţare a tehnicilor de compresie a
imaginilor şi de compresie video.
Scopul programului este de a face posibilă experimentarea cu diferiţi
algoritmi de compresie (mai mult sau mai puţin complexi) fără a avea în
vedere implementarea lor propriu-zisă. Din această cauză programul este
bazat pe meniuri de dialog şi permite utilizatorului să experimenteze cu
diferiţi parametrii specifici operaţiei de compresie.
Pe de o parte, vizualizarea rezultatelor de compresie a imaginilor
ajută la înţelegerea performanţelor 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 întrebările: „ce se va întâmpla dacă folosesc o anumită
combinaţie de parametrii”, „care este cauza artefactelor de compresie” şi
„cum pot fi comparate tehnicile de compresie atât din punct de vedere
vizual cât şi numeric”.
imaginii de start active sau tipului imaginii (imagine fixă, secvenţă video,
secvenţă MPEG).
PSNR Calitate
> 40dB Foarte bună
30 – 40dB Bună
< 30dB Slabă
Comunicaţii multimedia – Laborator 1 3
Secvenţe YUV
Reprezentarea imaginilor color în formatul YUV (Y – luminanţa,
U,V – crominanţa) 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 )
Secvenţele YUV conţin secvenţe de imagini brute fără 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 fişier header cu acelaşi nume. De exemplu
...\adir\secv.yuv
conţine date YUV cu format descris în secv.hdr. Secvenţe doar de
luminanţă sunt conţinute în fişiere cu extensia .y.
Secvenţe BMP
O secvenţă de imagini BMP este de exemplu: imag1.bmp,
imag2.bmp, ..., imag9.bmp, imag10.bmp, etc. Programul nu cunoaşte
lungimea acestei secvenţe. Pentru a indica programului că există o
secvenţă imag, imaginile trebuie organizate după cum urmează:
...\adir\imag.seq
...\adir\imag1.bmp
...\adir\imag2.bmp
...\adir\imag3.bmp
etc
Programul caută fişiere cu extensia *.seq şi după selectare va încărca
această imagine ca prima imagine a secvenţei. De aceea imag.seq trebuie să
fie identică cu imag1.bmp (o copie cu extensie diferită). Toate celelalte
cadre vor fi încărcate din subdirectorul imag, până când următoarea
4 Comunicaţii multimedia – Laborator 1
1.2.3 Exerciţii
a)
b)
c)
Bitrate: Selectează rata de bit pentru PCM (doar valori întregi). Este
aplicat un cuantizor uniform pentru o funcţie 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 puţin observabile. Deoarece
zgomotul este generat local, el poate fi scăzut la decodare.
Această opţiune poate fi selectată sau nu. Cantitatea de
zgomot este controlată de către mărimea pasului dither-
ului.
Errors: Când datele sunt comprimate din ce în ce mai mult, biţii
devin din ce în ce mai vulnerabili la erorile de canal.
VcDemo permite adăugarea înaintea decodării 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.
1.3.3 Exerciţii
1. Găsiţi pentru imaginea „Lena256B.bmp” care este numărul minim de
biţi, pentru care diferenţa faţă de imaginea iniţială este acceptabilă. Câte
nuanţe de gri are imaginea în acel caz?
2. Adăugaţi dither la imagine înaintea codării PCM. Reduceţi numărul de
biţi şi obţineţi o imagine de aceeaşi calitate cu imaginea codată anterior.
Care este câştigul în rata de bit? Care este concluzia, dacă se iau în
considerare numai evaluările numerice?
8 Comunicaţii multimedia – Laborator 1
~
x (i, j )
xˆ (i, j ) Predictor Memorie
Figura 1.7 Codorul DPCM
Comunicaţii multimedia – Laborator 1 9
În Figura 1.7 este reprezentată schema codorului DPCM, unde sunt folosite
următoarele simboluri:
Direcţia de
parcurgere
Pixelul curent
Figura 1.8 O secţiune din harta de biţi pentru modelul de codare DPCM
1.4.3 Exerciţii
1. Alegeţi imaginea de test „Lena256B.bmp”. Se alege primul model de
predicţie. Determinaţi compresia pentru fiecare din cele 6 rate de bit.
2. Care este câştigul în rata de bit pentru aceeaşi calitate a imaginii
(subiectivă) faţă de codarea PCM?
3. Realizaţi compresia folosind diferite modele de predicţie. Comparaţi
imaginile rezultate.
4. Reprezentaţi grafic dependenţa SNR în funcţie de rata de bit pentru
ultimul model de predicţie.
12 Comunicaţii multimedia – Laborator 2
LABORATOR 2
unde H1(z) este un filtru trece-jos, iar filtrele Hk(z), k=2,3,...,M, sunt filtre
trece banda şi au caracteristicile:
2.1.3 Exerciţii
1. Deschideţi imaginea ”Lena256B.bmp” şi realizaţi descompunerea pe
subbenzi. Pentru un număr diferit de coeficienţi ai filtrului observaţi
imaginea codată rezultată.
2. Pentru aceeaşi imagine, alegeţi o structură de descompunere şi un
anumit filtru. Modificând tipul de codare al subbenzilor, între DPCM
şi PCM, observaţi cum apare imaginea codată şi funcţie de parametrul
c.
3. Selectaţi un filtru cu 16 coeficienţi, o descompunere pe 28 subbenzi şi
alegeţi compresia PCM pentru toate subbenzile. Alegeţi o valoare
optimă pentru c. Observaţi câştigul SNR în cazul codării entropice.
4. Pentru diferite grade de descompunere, alegând codarea entropică,
observaţi SNR.
5. Pentru imaginea “Lena256B.bmp” alegeţi un anumit tip de codare al
subbenzilor, precum şi un anumit parametru c. Variaţi numărul de
subbenzi folosite în descompunere precum şi tipul filtrelor. Cum
variază SNR funcţie de rata de bit?
16 Comunicaţii multimedia – Laborator 2
2.2.3 Exerciţii
1. Alegeţi imaginea “Lena256B.bmp”. Această imagine este
transformată în coeficienţi DCT. Verificaţi calitatea imaginii
reconstruite pentru diferite dimensiuni ale blocului DCT. În ce măsură
corespunde teoria cu implementarea practică?
2. Pentru imaginea “Lena256B.bmp” selectaţi transformata DCT 8x8 şi
compresie PCM pentru toţi coeficienţii DCT. Alegeţi o valoare
rezonabilă pentru parametrul c. Desenaţi două curbe SNR - număr de
bpp, cu şi fără codarea entropică. Cât de multă compresie suplimentară
( sau ce SNR ) dă codarea entropică?
3. Repetaţi punctul (2) pentru valori incorecte ale lui c. Fiţi atenţi la
diferenţele dintre numărul de bpp selectat, cel prezis şi cel rezultat în
urma compresiei. Explicaţi diferenţele observate.
4. Repetaţi punctul (3) utilizând setările corecte pentru parametrul c,
pentru alte două cazuri, şi anume:
- compresie DPCM pentru toţi coeficienţii
- compresie DPCM pentru primul coeficient DCT şi compresie PCM
pentru restul de coeficienţi.
Ce câştig de performanţe se obţine utilizând compresia adiţională
DPCM?
20 Comunicaţii multimedia – Laborator 2
Tabelul 2.1
Compresie Calitate
0.25 – 0.5 biţi/pixel color moderată spre bună
0.5 – 0.75 biţi/pixel color bună spre foarte bună
0.75 – 1.5 biţi/pixel color excelentă
> 1.75 biţi/pixel color nu se poate face diferenţa cu imaginea
originală
Codorul JPEG
diferenţa DC
Bloc de
imagine
8x8
coeficienţii AC
Figura 2.8 Codorul JPEG
Decodorul JPEG
diferenţa DC
Imaginea
reconstruită
coeficienţii AC
Figura 2.9 Decodorul JPEG
Pregătirea imaginii
Procesarea unităţilor datelor se poate face:
componentă cu componentă, şi parcurse de la stânga la dreapta, şi
de sus în jos. Acest mod este cunoscut sub numele de procesare
neîntreţesută (vezi Figura 2.11a). Utilizând acest mod pentru o
imagine codată RGB, de înaltă rezoluţie, vor fi afişate pe rând,
componentele de roşu, apoi, verde, şi la sfârşit albastru.
prin procesare întreţesută (vezi Figura 2.11b), la care se
procesează pentru un bloc toate componentele la rând, iar apoi se
trece la blocul următor
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
DCi-1 DCi
DIFF= DCi-DCi-1
Bloci-1 Bloci
2.3.3 Exerciţii
1. Încărcaţi imaginea “Lena256B.bmp”. Utilizaţi matricea standard de
normalizare a luminanţei. Desenaţi trei grafice SNR-număr de bpp, câte
unul pentru fiecare mod de codare entropică ales. Ce SNR suplimentar
ne oferă codarea entropică? Pe aceleaşi grafice, desenaţi caracteristica
Calitate (Quality)-SNR. Ce observaţi în legătură cu aceste grafice?
2. Repetaţi punctul (1) pentru o matrice de normare uniform distribuită
(flat cuant). Observaţi că SNR-ul obţinut în acest caz este mai mare!
Daţi o justificare pentru utilizarea matricii standard de normare în loc
de matricea de normare uniform distribuită.
3. Comparaţi cuantizarea coeficienţilor DCT în codarea JPEG cu cea
rezultată din modul de compresie DCT, de exemplu, pentru imaginea
“Lena256B.bmp” la o rată de 1 bpp. Puteţi găsi diferenţele? Explicaţi.
4. Examinaţi efectele fenomenului de smoothing asupra imaginii JPEG
decodate.
5. Determinaţi raportul de scădere a SNR-ului în urma introducerii de
markeri în fişierul codat JPEG.
6. Examinaţi consecinţele introducerii biţilor de eroare asupra compresiei
JPEG, la diferite valori ale probabilităţilor.
28 Comunicaţii multimedia – Laborator 3
LABORATOR 3
Imagine
Transf.
originală Pregătire
Wavelet Cuantizare Codare
imagine
Discretă
Imagine
comprimată
Împachetare Controlul
date fluxului
Pregătirea imaginii
Conform standardului JPEG2000 pregătirea imaginii este compusă din
următoarii paşi (vezi Figura 3.2):
- partiţionarea imaginii în cadre
- ajustarea nivelului datelor
- o transformare color ireversibilă
Pentru situaţia, în care imaginea, care trebuie comprimată, este mai
mare decât memoria disponibilă, s-a prevăzut posibilitatea
partiţionarea 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 filtrări de tip trece-sus. Aşa
se explică necesitatea celei de a doua etape de ajustare nivel.
Al treilea pas în această etapă constă într-o tranformare ireversibilă a
matricii color. Tipul de transformare depinde de reprezentarea iniţială
Comunicaţii multimedia – Laborator 3 29
I II
Pregătire
imagine III IV
Partiţionare
imagine
Transformare
color
~ n
m
0
m0 n
Q dj f
2
~ n
m 2
1
P dj 1 f
2
P dj f
~ n
m 2
2
0
Filtru trece-sus
I II
III IV
LH3 LH4
HL1 HL1
Cuantizarea
Se face cuantizarea coeficienţilor 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 având propiul pas de cuantizare.
Relaţia cuantizorului este dată de relaţia:
Val.coef .
q sign(Val.coef .)
sub imagine
Codarea
Fiecare subimagine a unui cadru al imaginii este împărţită în unităţi ş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 coeficienţilor
Transformatei Wavelet se face în benzi, fiecare bandă având o
înălţime de patru eşantioane.
La rândul ei, citirea benzilor se face de la stânga la dreapta şi de sus în
jos, aşa cum este prezentat in Figura 3.7
….
….
….
….
….
….
. . . .
. . . .
. . . .
. . . .
. . . .
W1 W5 W9 W13
W2 W6 W10 W14
Planul LSB al biţilor
W3 W7 W11 W15
W4 W8 W12 W16
Planul MSB al biţilor
Controlul debitului
Controlul ratei de debit este operaţia prin care fluxul de date este
alterat în scopul atingerii unui debit de date dorit
Trebuie să se analizeze toate blocurile comprimate şi să se decidă care
din ele să fie trunchiat, după o stategie care să minimizeze efectul
distorsiunilor
34 Comunicaţii multimedia – Laborator 3
Culoarea fundalului
reprezintă diverse nivele de
rezoluţie, iar desenul
reprezintă o regiune
Header Date
pachet comprimate
3.1.3 Exerciţii
1. Încărcaţi imaginea “Lena256B.bmp”. Bifaţi opţiunea „Lossless
quant” şi observaţi influenţa dimensiunii blocului de cod asupra
dimensiunii fişierului JPEG2000 generat.
2. Setaţi dimensiunea blocului de cod la 32 şi numărul de nivele de
rezoluţie la 5. Trasaţi curba SNR - rată de bit. Comparaţi această curbă
cu cea obţinută pentru codorul JPEG. Cu ce codor se obţine o calitate
mai bună?
3. Setaţi dimensiunea blocului de cod la 32 şi numărul de nivele de
rezoluţie la 5. Calculaţi, variind rata de bit, între ce limite variază
factorul de compresie.
4. Pentru o rată de bit fixată variaţi numărul de nivele de rezoluţie. Cum
depinde SNR-ul de numărul de nivele de rezoluţie? Ce număr minim
de nivele ar trebui ales, astfel încât SNR-ul să nu mai varieze
semnificativ?
5. Observaţi ce se întâmplă, dacă rata de bit la decodare este mai mică
decât cea la codare.
6. Pentru dimensiunea blocului de cod şi numărul de nivele de rezoluţie
fixate variaţi în tab-ul „Tiling” dimensiunea subimaginilor în care să
fie împărţită imaginea iniţială. Influenţează acest lucru calitatea
imginii decodate? Cum? Când este folositoare acestă opţiune?
7. Comparaţi calitatea imaginilor JPEG şi JPEG2000 codate la rate de bit
mici şi la rate de bit mari. Ce observaţi?
Comunicaţii multimedia – Laborator 3 37
Fereastră de căutare
Cadrul k-1
Bloc
Cadrul k
Căutarea completă
Este folosită pentru evaluarea criteriilor de potrivire în fiecare bloc
de dimensiune 2M 1 1 2M 2 1 din fereastra de căutare. Această strategie
este extrem de consumatoare de timp şi nu se prea foloseşte. În schimb
sunt folosiţi alţi algoritmi de căutare mai rapizi.
2 2 2
1 1 2 1 2
3 3 3
2 2 3 2 3
3 3 3
1 0
1 1 1
Căutarea încrucişată
Metoda căutării încrucişate este altă strategie de căutare
logaritmică, la care la fiecare pas există 4 poziţii de căutare care sunt
colţurile unei cruci „+” (vezi Figura 3.14).
Distanţa dintre punctele de căutare este redusă dacă cea mai bună
potrivire este în centrul crucii sau la marginea ferestrei de căutare.
40 Comunicaţii multimedia – Laborator 3
1 2 3
1 0 1 2 3
5
1 2 3 5 4 5
5
4
fereastra de
căutare
dy
dx dx
dy blocul curent
Imaginile afişate:
Este estimată mişcarea pentru fiecare cadru al secvenţei de imagini.
Apar patru ferestre (vezi Figura 3.17):
Secvenţa de imagini originală (stânga sus)
Diferenţa dintre două cadre consecutive (dreapta sus)
Predicţia compensată de mişcare a imaginii actuale, peste
care este suprapus câmpul de mişcare (stânga jos).
Punctul de pornire al vectorului de mişcare este indicat
printr-un punct negru
Diferenţa compensată de mişcare dintre cele două cadre
consecutive (dreapta jos)
3.2.3 Exerciţii
Încărcaţi secvenţa „car.seq” şi folosiţi estimarea mişcării cu
strategia de căutare „Full Search” pe blocuri 8x8 şi un deplasament
maxim de 8 pixeli
8. Care este cea mai bună strategie de căutare din punctul de vedere al
erorii şi din punctrul de vedere al timpului de calcul pentru acelaşi
număr de blocuri şi acelaşi deplasament maxim? Ce metodă ar fi cel
mai bun compromis între eroarea de estimare şi timpul de calcul?
9. Comparaţi 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.Comparaţi eficienţa estimării mişcării pentru diferite mărimi ale
blocurilor (8, 16 sau 32).
11.Comparaţi eficienţa compensării mişcării pentru cele două
deplasamente („0.5” – jumătate din dimensiunea blocului şi „1” –
dimensiunea blocului).
Comunicaţii multimedia – Laborator 4 45
LABORATOR 4
Standardul H.261
1. Noţiuni 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 4.5 Obţinerea vectorului de mişcare pentru codarea intercadru
48 Comunicaţii multimedia – Laborator 4
Schema decodorul:
Escape 0000 01
Run este un cod cu lungime fixă de 6 Level este un cod cu lungime fixă de 8
biţi biţi
De exemplu: 0 0 0 –1 6 0 3 EOB
se codează: 001111 001000010 001001010 10
- MVD: MV Data;
- CBP: Coded Block Pattern
4. Nivelul Blocuri
- TCOEFF: Coeficienţii transformatei;
Artefacte
vizuale
Macrobloc
selectat cu
mouse-ul
Macrobloc
de culoare
verde
Numărul
macroblocului
(X Y)
Numărul
cadrului
Figura 4.14 Fereastra MB Tooltip
Comunicaţii multimedia – Laborator 4 59
Analiza grafică
Avansaţi în secvenţa video cadru cu cadru
Vezi vedea în background multe macroblocuri codate intra de culoare
verde şi galbenă. Aceste macroblocuri folosesc cei mai mulţi biţi
pentru codarea cadrului
Se pare că foarte mulţi biţi sunt folosiţi pentru background-ul static
din spatele bărbatului. Verificaţi acest lucru: opriţi secvenţa video şi
selectaţi „Graph / Enable” şi setaţi cele două opţiuni din Figura 4.15.
Selectaţi
opţiunile
Codorul H.261
Aplicaţia Codor H.261 reprezină o implementare practică a
algoritmului H.261 descris de “Recomandarea H.261” versiunea 2 din
martie 1993. El a fost realizat în mediul vizual Visual C++ pentru
Windows 95, 98, ME şi Xp folosind o implementare a standardului
H.261 realizată de către Standford University
havefun.stanford.edu:pub/p64.
Prezentarea meniului
Meniul “Fişier” conţine doua opţiuni cu ajutorul carora se poate
alege sursa video care urmează a fi comprimată. Se poate opta între
codarea unui fişier de tipul *.avi, *.qcif, *.cif existent pe disc (“Deschide
fişierul sursă”) sau codarea in timp real a unei surse video externe
furnizată de o camera video cu opţiunea ”Noua fereastră de captură”.
62 Comunicaţii multimedia – Laborator 4
Decodorul H.261
Decodorul H.261 este o aplicaţie de vizualizare şi analiză a
imaginilor video care sunt codate H.261, ce suportă funcţii de play,
pauză, replay cadru cu cadru şi afişare a hărţii video.
LABORATOR 5
Standardul MPEG
Modul
intracadru
Bit
stream
DCT Q VLC
Video IN
Q 1
Modul
intercadru
IDCT
ME FM
A) Predicţia
MPEG foloseşte în codare împărţirea imaginii în macroblocuri de
16x16 pixeli pentru luminanţă şi 8x8 pentru crominanţă spre deosebire de
blocurile folosite la codarea JPEG ce au o mărime de doar 8x8 pixeli atât
pentru luminanţă cât şi pentru crominanţă.
Y1 Y2 U
Y3 Y4 V
Cadrul decodat
anterior
(24,4)
Cadrul curent
Cadrul decodat
viitor
(16,8)
(8,24)
Bloc
16x16
Observaţii:
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.
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.
Comunicaţii multimedia – Laborator 5 71
C. D.
Figura 5.4.(A) Cadrul de la momentul N; (B) Cadrul de la momentul N-1
folosit la predicţia conţinutului cadrului de la momentul N (s-au figurat şi
vectorii de mişcare); (C) Eroarea de predicţie obţinută fără compensarea
mişcării (toţi vectorii de mişcare sunt presupuşi nuli); (D) Imaginea care
trebuie codată, obţinută prin folosirea compensării mişcării.
B) Interpolarea
Deşi codarea cu ajutorul predicţiei ne oferă o rată de compresie mai
bună decăt cea rezultată în urma unei compresii JPEG efectuată cadru cu
cadru, şi aceasta poate fi îmbunătăţită. Astfel MPEG permite codarea
cadrelor video folosind două cadre de referinţă. Unul este considerat în
cadrul precedent (aposteriori) iar celălat în cel viitor (apriori) faţă de
cadrul curent. Această abordare poartă denumirea si de interpolare
bidirecţională şi are ca efect o rată de compresie mai bună decât cea
obţinută prin folosirea unui singur cadru de referinţă.
Pentru a întelege de ce interpolarea bidirecţională poate îmbunatăţi
semnificativ rata de compresie considerăm o imagine care se mişcă în
raport cu cadrul imagine la o rată de 1/2 pixeli per cadru. Încercând
determinarea unui macrobloc în cadru actual bazându-ne pe cadrul
imediat următor nu vom putea găsi nici un bloc care să se potrivească. În
mod similar vom obţine acelaşi lucru procedând la fel şi în cazul
următorului cadru.Totuşi o estimare a celei mai bune potriviri dintre
cadrul precedent şi cel viitor ne va determina o predicţie exactă, astfel
încât matricea de eroare va deveni nulă.
Figura 5.3 ilustrează tehnica folosită în interpolarea bidirecţională.
Cadrul curent considerat a fi cadrul B este procesat în funcţie de cele
două cadre de referinţă: cel precedent respectiv cel viitor. Fiecare
macrobloc va putea fi codat folosind un bloc din cadrul ulterior (vorbim
în acest caz de predicţie apriori), un bloc din cadrul anterior (predicţie
aposteriori), sau câte un bloc din fiecare cadru referinţă (mediere)
rezultând matricea de eroare minimă.
72 Comunicaţii multimedia – Laborator 5
Ordonarea Cadrelor
În MPEG se definesc trei tipuri de cadre:
a) Cadre I (Intra-coded images):
Sunt codate fără referinţe la alte imagini. Un cadru I este tratat ca o
imagine fixă.
MPEG foloseşte codarea JPEG pentru aceste imagini. Totuşi,
contrar JPEG, compresia trebuie făcută în timp real. Rata de
compresie a imaginilor I este mai mică cu MPEG.
Cadrele I sunt punctele de acces aleator în fluxul MPEG.
Cadrele I folosesc 8x8 blocuri pentru a defini un macrobloc pe care
se calculează DCT.
Coeficienţii DC sunt codaţi DPCM. Diferenţe ale blocurilor
succesive sunt calculate şi transformate utilizând codarea cu
lungime variabilă.
Predicţie apriori
1 2 3 4 5 6 7 8
TIMP
I B B P B P B I
Predicţie Bidireţională
Cerinţe principale:
Compatibilitate cu semnalul video întreţesut (ITU-R 601).
Codarea la calitate bună la rate cuprinse între 4 şi 9 Mbiţi/s.
Acces aleator la comutarea canalelor, căutare şi derulare FF/FR
folosind punctele de acces din grupurile de imagini.
Permite codarea crominanţei şi la formate de rezoluţie mai mare 4:2:2
şi 4:4:4.
Comunicaţii multimedia – Laborator 5 75
Cerinţe suplimentare:
Compatibilitate şi interoperabilitate cu MPEG1.
Sistemul să suporte codarea formatelor neîntreţesute şi întreţesute la
diferite rate de cadru.
Sistemul să suporte formate video la diferite rapoarte de aspect.
Încărcare minimă a sintaxei MPEG pentru includerea facilităţilor de
mai sus.
Codorul şi decodorul să aibă o complexitate rezonabilă.
a) b) c)
câmpul câmpul
par impar par impar
referinţă curent
Macrobloc cadru
Figura 5.9 Predicţia între câmpuri pentru imagini-cadru
referinţă curent
a) b)
Figura 5.12 a) Scanare zig-zag a coeficienţilor DCT inter; b) Scanare
alternată a coeficienţilor DCT intra
MPEG-1 audio:
Suportă rate de eşantionare de 32, 44.1 sau 48 kHz;
Acceptă surse cu unul sau două canale audio;
Rate de bit acceptate: 32 – 224 kbiti/s pentru un canal;
Permite introducerea unui cod corector de erori (CRC);
Permite introducerea altor date decât cele audio in fluxul rezultant;
Oferă o alegere intre 3 niveluri de compresie (numite layere),
pentru a oferi posibilitatea de compromisuri între calitatea audio si
complexitatea codec-ului:
- Layer I: este cel mai simplu şi este potrivit pentru rate de peste
128 kbps pentru un canal.
- Layer II: este de complexitate medie şi este destinat codării la
rate in jurul a 128 kbps pentru un canal. Este folosit in
standardele Digital Audio Broadcasting (DAB), CD-Interactive
(CD-I) si Video-CD.
- Layer III: este cel mai complex, dar oferă cea mai bună calitate
pentru rate de 64 kbps pentru un canal. Este potrivit pentru
transmisie prin ISDN, pentru arhive de muzica (format mp3),
etc.
MPEG-2 audio:
Este o extensie a stadardului MPEG-1 audio pentru rate de
eşantionare scăzute: 16, 22.5, 24 kHz, oferind o calitate mai bună
pentru rate de bit sub 64 kbps mono.
80 Comunicaţii multimedia – Laborator 5
MPEG-4 audio:
Destinat pentru o gamă largă de aplicaţii audio:
- Compresia semnalului vocal: rate de 2-24 kbps, folosind
metodele HVXC (Harmonic Vector eXcitation Coding), si
CELP (Code Excited Linear Prediction);
- Citirea textului dintr-un document (text-to-speech interface);
- Compresia semnalului audio de înaltă fidelitate;
- Sunet sintetic (muzică sintetizată gen MIDI);
- Mixarea acestor tipuri diferite de semnal audio într-o singură
coloană sonoră;
- Scalabilitatea fluxului de date audio: transmiterea cu rată
variabilă în funcţie de largimea de bandă a canalului folosit,
prin degradarea calitaţii audio;
Tabelul 5.1
Nr. bandă Frecvenţa (Hz) Nr. bandă Frecvenţa (Hz)
0 50 14 1.970
1 95 15 2.340
2 140 16 2.720
3 235 17 3.280
4 330 18 3.840
5 420 19 4.690
6 560 20 5.440
7 660 21 6.375
8 800 22 7.690
9 940 23 9.375
10 1.125 24 11.625
11 1.265 25 15.375
12 1.500 26 20.250
13 1.735
(frecvenţele reprezinta limita superioară a benzii)
Semnalul puternic
Amplitudine
Frecvenţa
Figura 5.13 Mascarea auditivă
Nivelul
zgomotului de
cuantizare
Banda critică
Date audio
digitale
Cuantizor si Formatare flux Date comprimate
(PCM) Bancul de filtre
codor de biţi
Date auxiliare
Se întrerupe de mai multe ori compresia. Se notează care sunt cele mai
utilizate tipuri de macroblocuri în codare (cele obţinute prin
interpolare, cele obţinute prin predicţie etc).
Se reia codarea selectând şi alte opţiuni.
5.6 Exerciţii