Sunteți pe pagina 1din 20

Comunicaţii multimedia – Laborator 5 1

COMUNICAŢII MULTIMEDIA
LABORATOR 5
Standardul MPEG
1. Standardul MPEG 1
MPEG-1 (Motion Picture Expert Group) a reuşit să realizeze o compresie a
semnalului video la o rată de bit de aproximativ 1,5Mbps, aceasta asigurând o calitate
acceptabilă. Dezideratul este ca prin codarea semnalului video sursă să se realizeze o
reducere a spaţiului necesar pentru stocare şi a ratei de bit necesare pentru transmitere
explorând atât redundanţele statistice cât şi pe cele subiective ce există în sau între
cadre. De asemenea se doreşte a se coda un set minim de date folosind tehnicile de
codare entropice, păstrându-se în acelaşi timp calitatea imaginilor originale.
Algoritmul de compresie MPEG-1 a fost dezvoltat avându-se în vedere
atingerea unei compatibilităţi cu aplicaţiile JPEG şi H.261 (standardul CCITT H.216).
Astfel metoda de compresie folosită la MPEG se aseamănă destul de mult cu cea de la
JPEG. Acest lucru se poate observa şi din diagrama bloc a algoritmului de compresie
MPEG video de mai jos:

Modul
intracadru
Bit
stream
DCT Q VLC

Video IN
Q 1
Modul
intercadru

IDCT

ME FM

Figura 1.1 Schema bloc a codorului MPEG

S-au folosit notaţiile:

DCT - Transformata Cosinus Discretă (discrete cosine transform);


Q - Blocul de Cuantizare (quantizer);
VLC - Codare Entropică de tip Huffman(variable length coder);
FM - Blocul de Memorare a Cadrelor (frame memory);
ME - Blocul de Estimare a Mişcării (motion estimator).
Q-1 şi IDCT - operaţiile inverse cuantizării respectiv DCT
2 Comunicaţii multimedia - Laborator

La intrarea codorului MPEG se introduce un semnal video format dintr-o


sucesiune de cadre video. Fiecare cadru este procesat separat fiind tratat ca o singură
imagine statică. Operând asupra unui singur cadru codorul MPEG se află în modul
intracadru. În acest mod de lucru un cadru este mai întîi transformat în domeniul
frecvenţă folosind Transformata Cosinus Discretă apoi cuantizat, pentru ca în final
rezultatul celor două operaţiuni să fie codat folosindu-se algoritmul de codare
Huffman. Dezavantajul utilizării doar a acestui procedeu constă în faptul că deşi se
realizează o compresie semnificativă prin simpla procesare a semnalului video de
intrare ca o succesiune de imagini statice, folosind JPEG, acesta nu exploatează
redundanţa temporală considerabilă prezentă în toate secvenţele video. Astfel mulţi
dintre pixeli se vor schimba foarte puţin sau chiar de loc de la un cadru la celălalt .
Pentru modul de codare intercadru ,blocuri similare de pixeli, comune la
două sau mai multe cadre succesive, sunt înlocuite cu un vector ce caracterizează
mişcarea unuia dintre ele relativă la poziţia din cadrul curent pentru a ajunge în
poziţia în care acesta apare în celelalte cadre. Principala problemă constă în modul de
stabilire a ordinii cadrelor. Câteodată este eficient ca acel vector (pointer) să aibă
drept referinţă un bloc din cadrul anterior, în timp ce în alte situaţii este mai
convenabilă alegerea drept referinţă a unui bloc dintr-un cadru viitor.
În Figura 1.1 este ilustrată şi tehnica codării intercadru : după ce se
realizează prelucrarea cu DCT şi cuantizarea (Q) unui cadru din semnalul video
iniţial, acesta este supus unui proces invers constând din Q-1 şi IDCT. Astfel se poate
obţine un cadru identic cu cel care ar fi obţinut de algoritmul de decompresie. Acesta
va fi apoi stocat în FM şi utilizat la estimarea şi compensarea mişcării (ME) relativ la
cadrele vecine.
Conform unor studii efectuate de grupul MPEG, folosind procedeul de codare
intercadru s-a obţinut o compresie de trei ori mai bună faţă de rezultatele utilizării
doar a modului intracadru, lucru posibil doar prin exploatarea redundanţelor existente
în secvenţele video.
Pentru a se crea suportul necesar utilizării cu success a algoritmului de
compresie pentru o gamă largă de aplicaţii, cei din grupul de cercetare MPEG au
inclus câteva facilităţi cum ar fi:
 posibilitatea de a fi modificaţi de către utilizator parametrii de intrare –
dimensiunea imaginii, numărul de cadre/secundă,etc;
 “random acess” – acces aleator în fluxul de date;
 posibilităţi de derulare ”fast forward/reverse”,”reverse playback”;
 posibilitatea de editare a stream-ului comprimat de biţi .
Pentru MPEG-1 este prevăzut un set de parametrii recomandaţi cum ar fi: un
număr minim de 720 pixeli per linie , un număr de 576 linii pentru fiecare imagine şi
o rată minimă de 30 cadre/ secundă.
Prin acces aleator trebuie să fie posibil accesul în secvenţa cadrelor video în
orice moment al acesteia. Acest lucru implică existenţa cadrelor de acces - cadre
codate în modul intracadru, care pot fi decodate fără referinţă la alte cadre.
Opţiunea de derulare “Fast forward/reverse“ se referă la posibilitatea de a
derula înainte sau înapoi secvenţa video. Rezultatul se poate afişa folosind cadrele de
acces obţinând efectul de repede înainte sau repede înapoi .

Compensarea mişcării (Motion Compensation )

Ideea ce stă în spatele conceptului de compensare a mişcării este că o parte din


imaginea dintr-un cadru va fi la fel sau oricum similară celei cu o mărime egală dintr-
Comunicaţii multimedia – Laborator 5 3

un cadru alăturat. Pentru MPEG sunt prevăzute două moduri de compensare a mişcării
predicţia şi interpolarea.

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

Figura 1.2 Structura unui macrobloc

Fiecare macrobloc conţine patru blocuri de luminanţă ( Y1,Y2,Y3,Y4) şi două


blocuri de crominanţă (U,V). Formatul obţinut este în consecinţă 4:1:1. Prin folosirea
predicţiei în algoritmii de codare MPEG se reduc redundanţele temporale existente
între cadre, codându-se doar imaginile eroare de predicţie (este vorba de diferenţa
între imaginile originale şi imaginile obţinute prin predicţie cu compensarea mişcării).
Un cadru prelucrat cu ajutorul predicţiei este împărţit în macroblocuri, fiecare dintre
acestea fiind codate separat. Codarea se face cu referinţă către un ‘anchor frame’ ce
precede cadrul curent. Fiecare macrobloc din cadrul curent va fi reprezentat de un
vector de mişcare. Acesta ne dă deplasamentul macroblocului din cadrul curent faţă
de corespondentul său din cadrul adiacent (vezi Figura 1.3):

Cadrul decodat
anterior

(24,4)
Cadrul curent

Cadrul decodat
viitor
(16,8)

(8,24)

Bloc
16x16
Figura 1.3 Compensarea mişcării
4 Comunicaţii multimedia - Laborator

S-a considerat exemplul: fiecare cadru video este format din 64x64 pixeli
grupaţi în 16 macroblocuri identice. Porţiunea colorată a cadrului curent reprezintă
macroblocul folosit în compensarea mişcării (colţul stânga sus al său se află în poziţia
(x=16, y=8). Perechea acestui bloc în cadrul precedent se află în poziţia (24,4).
Săgeata din partea stângă a macroblocului reprezintă vectorul de mişcare care în acest
caz este de coordonate (8,24).

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.

Determinând blocul corespondent din cadrul precedent algoritmul MPEG


înregistrează vectorul de mişcare şi eroarea de predicţie care este o matrice de 16x16
de difereţe între macroblocul curent în cadrul c şi macroblocul origine din cadrul r:

E c ( x, y )  I c ( x, y )  I r [( x, y )  M rc ]

În formula de mai sus E c ( x, y ) reprezintă eroarea de predicţie; I i ( x, y ) este valoarea


pixelului de coordonate (x,y) în cadrul i iar M ij este vectorul de mişcare pentru cadrul
j asociat cadrului i.
Matricea de predicţie a erorii va avea multe valori de zero. Aceasta va fi
codată folosind tehnica DCT urmată de cuantizare, obţinând o rată de compresie mai
mare decât prin simpla codare a matricii originale.
Standardul MPEG nu impune un mod de realizare procedeului de potrivire a
blocurilor. Uzual vectorul de mişcare pentru un macrobloc se obţine minimizând
funcţia de cost, funcţie ce măsoara diferenţa dintre un macrobloc şi fiecare posibil
corespondent al său. Acest lucru se poate exprima matematic folosind relaţia:

MIN
mM
 C[ I
( x , y )B
c ( x, y )  I r (( x, y )  m)]

unde s-au folosit notaţiile:


B  un macrobloc în cadrul curent Ic;
m= vectorul de deplasare având referinţa în cadrul de referinţă Ir;
M=aria de căutare în cadrul de referinţă;
C=funcţia de cost.

Valoarea lui m ce minimiza expresia de mai sus se foloseşte ca vector de mişcare


notat pentru acest bloc M rc . Aria de căutare poate acoperi doar mici porţiuni sau
poate cuprinde întreaga arie a cadrului.
Comunicaţii multimedia – Laborator 5 5

A. B.

C. D.
Figura 1.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ă.
6 Comunicaţii multimedia - Laborator

Figura 1.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ă.
În cazul interpolării bidirecţionale trebuie codată mai multă informaţie. O dată
cu predicţia cadrelor o matrice diferenţă va rezulta şi apoi se va coda folosind DCT. În
plus fiecare macrobloc va fi codat indicându-se modul de predicţie (apriori,
aposteriori, prin mediere) şi folosind unul sau doi vectori de mişcare.

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ă.

b) Cadre P (Predictive-coded frames): codarea se face folosind predicţia cu


compensarea mişcării faţă de un cadru anterior I sau P, acesta fiind folosit ca
referinţă pentru predicţii apriori;

c) Cadre B (Bi-directionally predictive coded frames): codarea se face luând drept


referinţă atât cadrul precedent cât şi pe următorul (vezi Interpolarea) ; nu se
foloseşte ca referinţă pentru predicţie.

d) Cadre D (DC – coded frames)


 Sunt cadre codate intra. Ele pot fi folosite pentru derulare rapidă înainte sau
înapoi.
 Numai parametrii DC ai DCT sunt codaţi, coeficienţii AC sunt neglijaţi.
 Cadrele D constau numai din componentele de joasă frecvenţă a imaginilor.
Ele utilizează numai un tip de macro-bloc şi numai coeficienţii DC sunt codaţi.
 Derularea înainte sau înapoi se poate realiza şi cu cadre I. Pentru aceasta
cadrele I trebuie să apară periodic în fluxul de date. Redarea înapoi însă
necesită o cantitate imensă de stocare deoarece toate imaginile dintr-un grup
trebuie decodate în modul forward şi stocate, după care redarea înapoi este
posibilă.

Frecvenţa relativă de apariţie a acestor cadre în interiorul unui flux video este
un parametru configurabil care trebuie însă să satisfacă câteva reguli.
Comunicaţii multimedia – Laborator 5 7

În primul rând trebuie să satisfacă cerinţele pentru ‘acces aleator‘ şi căutare


‘fast forward/reverse’. Acestea determină o limitare asupra frecvenţei de apariţie a
cadrelor I în sistemul codat considerat.
În al doilea rând trebuie să ţina seama de legătura strânsă ce există între
complexitatea de calcul şi numărul de cadre B, astfel încăt cu cât avem mai multe
cadre B cu atât volumul de calcul va creşte.
În al treilea rând cadrele B nu pot fi procesate decât ţinând cont de cadrele I şi
P deoarece un cadru B nu poate fi considerat referinţă pentru un alt cadru B. De aceea
cu cât există mai multe cadre B cu atât va creşte distanţa medie dintre acesta (cadrul
B) şi cadrele sale de referinţă şi cu atât va fi mai mică corelarea între cadrul B şi
referinţe.

Regulile de codare sunt:


- fiecare cadru I este codat folosindu-se doar codarea intracadru;
- fiecare cadru P este codat folosindu-se predicţia faţă de cel mai recent cadru P
sau I;
- fiecare cadru B este codat folosindu-se cele mai apropiate cadre I sau P
(precedent şi viitor)
Cadrele sunt organizate în grupuri de cadre. Fiecare grup este alcătuit dintr-
un singur cadru I urmat de un număr de cadre P şi B. Un cadru B nu poate fi
decocodat până când cadrele de referinţă, cel precedent respectiv cel viitor nu au fost
decodate. Organizarea fiecărui grup se face astfel încât fiecare cadru B să urmeze
ambelor cadre de referinţă.
Pentru o mai bună inţelegere se consideră exemplul ilustrat în Figura 1.4.
Se observă că primele şase cadre formează un grup. Modul de aranjare al acestora în
interiorul grupului ţine cont de ceea ce s-a afirmat mai sus. Astfel pentru a realiza
predicţia pentru cadrele B 2 şi 3, cadrul 4 va fi stocat dupa cadrul 1(cadru folosit
penrtu realizarea predicţiei apriori). Cadrele 5 si 6 sunt interschimbate din acelaşi
motiv. Cadrul B notat cu 7 face parte din grupul următor deoarece este codat după
cadrul I 8.

Predicţie apriori

1 2 3 4 5 6 7 8
TIMP
I B B P B P B I

Predicţie Bidireţională

Figura 1.4. Exemplu de organizare a cadrelor în timp


8 Comunicaţii multimedia - Laborator

Decodorul efectuează operaţiile inverse codării: Se extrag şi se decodează


cuvintele codate entropic din stream-ul de biţi pentru a se obţine toţi coeficienţii
DCT diferiţi de zero pentru fiecare cadru. Odata reconstruiţi toţi aceşti coeficienţi ce
aparţin unui singur cadru (cu ajutorul Q-1) se aplică transformata IDCT obţinându-se
valoarea pixelilor dintr-un cadru. Procesând întregul stream de biţi toate cadrele
(imaginile) sunt decodate şi reconstruite.

2. Standardul MPEG 2
Standardul MPEG2 VIDEO (ISO/IEC 13818-2) a fost realizat pentru codarea
- în transmisiuni TV prin cablu/satelit.
- în televiziunea de înaltă definiţie (HDTV).
- în servicii video prin Internet (ATM).
Codarea video se face la o rată între 4 şi 9 Mbiţi/s.
Codorul MPEG 2 permite codarea semnalului video întreţesut şi scalarea imaginii.

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.
 Codarea scalabilă video pentru aplicaţii care au cerinţe diferite de calitate a
semnalului video.
 Sistemul să suporte sincronizarea între fluxurile audio-video la redare/acces pentru
fluxuri multiple.

Cerinţe suplimentare:
 Compatibilitate şi interoperabilitate cu MPEG1.
 Suportă codarea formatelor neîntreţesute şi întreţesute la diferite rate de cadru.
 Suportă 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ă.

Facilităţi noi faţă de MPEG1:


 Suportă formatele 4:2:2 şi 4:4:4.
 Imagini asociate cadrelor şi câmpurilor (la video întreţesut).
 DCT adaptat pentru cadru/câmp.
 Compensarea mişcării pentru cadru/câmp/duale.
 Scanare alternativă a coeficienţilor DCT.
 Tabel de codare variabilă (VLC) diferit pentru coeficienţii DCT.
 Tabel de cuantizare neliniară – măreşte acurateţea cuantizării pentru valori mici.
Comunicaţii multimedia – Laborator 5 9

Figura 2.1 Formatele de codare luminanţă – crominanţă

a) b) c)
câmpul câmpul
par impar par impar

timp timp timp


Figura 2.2 Scanarea a) întreţesută 4:1:1; b) întreţesută 4:2:2/4:4:4 şi c) progresivă

Codarea semnalului video


 Există două tipuri de imagini: imagini-cadru şi imagini-câmp
 Compensarea mişcării:
- Predicţia între cadre în cazul imaginilor-cadru se face ca la MPEG1.
- Predicţia între câmpuri în cazul imaginilor-câmp:
10 Comunicaţii multimedia - Laborator

referinţă curent

Figura 2.3 Predicţia între câmpuri pentru imagini-câmp

- Predicţia între câmpuri în cazul imaginilor-cadru:

16x8 blocuri câmp

Macrobloc cadru
Figura 2.4 Predicţia între câmpuri pentru imagini-cadru

- Predicţia dual-primă pentru cadrele P (se aplică atât imaginilor-câmp cât


imaginilor-cadre), rezultând 16x8 vectori de compensare a mişcării
Comunicaţii multimedia – Laborator 5 11

referinţă curent

Figura 2.5 Predicţia dual primă

 Adaptarea DCT pentru cadre/câmpuri:


- Se organizează blocuri de 16x16 pixeli ca blocuri pe cadru sau blocuri pe
câmpuri.

blocuri pe cadru blocuri pe câmpuri


Figura 2.6 Împărţirea în blocuri

- Se calculează corelaţia pe direcţie verticală în ambele cazuri.


- Se alege varianta care are corelaţie mai mare.

 Scanarea coeficienţilor DCT

a) b)
Figura 2.7 a) Scanare zig-zag a coeficienţilor DCT inter; b) Scanare alternată a
coeficienţilor DCT intra
12 Comunicaţii multimedia - Laborator

3. Compresia MPEG audio


Standardul MPEG audio este caracterizat de o complexitate ridicată a
algoritmului, compresie mare a datelor, si calitate foarte buna a semnalului audio.
Compresia este aplicabilă semnalelor audio in general, nu este adaptata numai
semnalelor vocale.
Reprezentarea digitală a datelor audio prezintă o serie de avantaje: imunitate
sporită la zgomot, stabilitate în timp, şi reproductibilitate. De asemenea, permite o
implementare eficientă a unor funcţii de prelucrare, cum ar fi mixarea, filtrarea,
egalizarea, etc., cu ajutorul computerului.
Conversia analog-digitală a semnalului audio se face prin eşantionare si
cuantizare, fiecare eşantion fiind reprezentat printr-un cuvânt de cod binar (procedeu
numit modulaţia impulsurilor în cod sau PCM). Astfel, pentru reprezentarea unei
secunde de material stereo la calitate CD (frecvenţa de eşantionare 44,1 kHz şi
cuantizare pe 16 biti) este nevoie de aproximativ 1,4 Mbiti.

44100 esantioane/s  16 biti/esantion  2 canale  1411200 biti/s

Reducerea acestei rate ridicate de date se face prin compresie. Algoritmul


MPEG/audio este primul standard international pentru compresia digitală a
semnalului audio de înalta fidelitate.
Deşi compresia MPEG/audio este foarte potrivită pentru aplicaţii audio de sine
stătătoare, ea face parte din standardul de compresie combinat MPEG. Acesta conţine
trei parti: video, audio si sisteme, şi se adresează compresiei semnalelor video si audio
sincronizate.
Pana la ora actuala, au fost adoptate ca standarde trei versiuni MPEG audio,
fiecare aducând imbunătăţiri faţă de cel precedent. Iată cele trei versiuni MPEG/audio
si câteva caracteristici:

 MPEG-1 audio:
o Suportă rate de eşantionare de 32, 44.1 sau 48 kHz;
o Acceptă surse cu unul sau două canale audio;
o Rate de bit acceptate: 32 – 224 kbiti/s pentru un canal;
o Permite introducerea unui cod corector de erori (CRC);
o Permite introducerea altor date decât cele audio in fluxul rezultant;
o 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.
Comunicaţii multimedia – Laborator 5 13

 MPEG-2 audio:
o 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.
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
frecvenţe joase, 16 canale pentru voce în mai multe limbi, 16 fluxuri de date.
Blocurile codecului au fost imbunătăţite, obtinându-se o imbunătăţire 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:
o 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;

Tehnici folosite in compresia MPEG audio

Standardul de compresie MPEG-1/audio realizează performanţe remarcabile


prin exploatarea a doua caracteristici psihoacustice ale aparatului auditiv uman:
1. Benzile critice
Urechea internă are o reprezentare a spectrului semnalelor audio la o scară
neliniară, sub forma unor benzi de frecvenţă numite benzi critice. Banda
frecvenţelor audibile, care se intinde până la 20 kHz, este impărţită in 25
de benzi critice, ale căror largimi cresc cu frecvenţa. Cu alte cuvinte,
aparatul auditiv poate fi modelat ca un banc de filtre trece bandă (un set de
filtre în paralel), constând în 25 de benzi nedisjuncte, cu largimi incepând
de la mai putin de 100 Hz pentru frecvenţe joase, si ajungând la 5 kHz
pentru frecvenţe înalte.
14 Comunicaţii multimedia - Laborator

Nr. bandă Frecvenţa (Hz) Nr. bandă Frecvenţa (Hz)

(frecvenţele reprezinta limita superioară a benzii)

2. Mascarea auditivă
Este un fenomen numit şi mascarea zgomotului, şi se manifestă astfel in
domeniul frecvenţă: când 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 pronunţat când ambele semnale se află în
aceeaşi bandă critică, şi mai putin observabil când acestea se află in benzi
alăturate.

Semnalul puternic
Amplitudine

Zona unde semnalele


mai slabe sunt mascate

Frecvenţa
Figura 3.1. Mascarea auditivă

Figura 3.2 ilustrează definirea principalilor parametrii care descriu


mascarea auditivă. Semnalul puternic se află în interiorul benzii critice.
Semnalele mai slabe care se află sub pragul de mascare nu se aud. Pragul
minim de mascare reprezintă pragul sub care toate sunetele din banda
respectivă sunt mascate de semnalul puternic. Raportul semnal-mascare
(SMR) reprezintă diferenţa dintre puterea semnalului puternic si pragul
Comunicaţii multimedia – Laborator 5 15

minim de mascare. Diferenţa dintre SMR şi SNR (raportul semnal zgomot


datorat cuantizării cu R biti), reprezintă raportul zgomot-mascare (NMR =
SMR – SNR). În interiorul unei benzi critice, zgomotul de cuantizare este
inaudibil atâta timp cât NMR-ul corespunzător cuantizării este negativ.
Astfel se poate reduce numărul de biţi ai cuantizorului pâna la limita
NMR-ului.
Semnalul
puternic

SMR Pragul de mascare


SNR
Pragul
minim de
mascare

Nivelul
zgomotului de
cuantizare
Banda critică
Figura 3.2 Parametrii care descriu mascarea auditivă

Schema bloc a codecului MPEG-1/audio:


Date audio
digitale
(PCM) Cuantizor si Formatare flux Date comprimate
Bancul de filtre
codor de biţi

Model Date auxiliare


psihoacustic

Figura 3.3 Codorul MPEG

Date audio
Date comprimate Reconstrucţie digitale (PCM)
Despachetare
semnal pentru Bancul de filtre
flux de biţi
fiecare bandă

Date auxiliare

Figura 3.4 Decodorul MPEG

Bancul de filtre are rolul de a descompune semnalul audio in subbenzi. Aceasta


descompunere este realizată cu diferite grade de complexitate în cele 3 layere. In
Layer I, II si III, spectrul este impărţit în 32 de subbenzi de lărgime constantă, fiind
astfel un compromis între eficienţa calculelor si performanţa perceptuala:
16 Comunicaţii multimedia - Laborator

Figura 3.5 Descompunerea în subbenzi

Layer II este doar o îmbunătăţire a lui layer I, prin codarea datelor în grupuri mai
mari.
Layer III foloseşte un algoritm mult mai complex, fiind proiectat să obţină rezoluţii în
frecvenţă mai apropiate de modelul benzilor critice.

Modelul psihoacustic este elementul cheie al codorului. El are funcţia de a analiza


conţinutul spectral al semnalului şi să calculeze SMR-ul pentru fiecare bandă. În urma
acestei analize, cuantizorul decide cum să impartă numarul de biţi disponibili pentru
fiecare bandă. Această alocare dinamică de biţi este realizată astfel încât să
minimizeze audibilitatea zgomotului de cuantizare.

Unitatea de formatare biţi aranjează eşantioanele cuantizate într-un flux de biţi


decodabili.

Decodorul execută operaţiile în sens invers, convertind datele comprimate într-un


semnal audio standard.

4. Desfăşurarea lucrării
4.1 Codorul MPEG
►Se deschide programul VCDemo. Se alege ‘Open Image Sequence’ din toolbar şi se
deschide secvenţa ‘Suzie.yuv’. Se alege codorul MPEG din toolbar (MEnc).

Figura 4.1 Codorul MPEG


Comunicaţii multimedia – Laborator 5 17

Notă: Până la alegerea unui nume pentru secvenţa video de comprimat (Save as…),
opţiunile din interfaţa codorului MPEG sunt inactive.

►Codorul MPEG are următoarele posibilităţi de configurare:

Figura 4.2 Opţiuni de compresie

o File: Permite alegerea numelui şi a formatului(MPEG-1 sau MPEG-2) .


o Rate: Permite setarea ratei de bit a fişierului comprimat, în Mbiţi/secundă.
o GOP(Group of pictures): Permite alegerea câtorva succesiuni standard (nu
adaptiv) de cadre în fluxul comprimat.
o Motion: Permite selectarea deplasamentului maxim folosit în compensarea
mişcării.
o Format: Pentru formatul MPEG-2, se poate alege modul progresiv sau modul
întreţesut. Dacă se alege modul întreţesut, poziţia primului câmp trebuie
precizată.
o Field/Frame: Pentru modul întreţesut se poate îmbunătăţi rezultatul
compresiei MPEG-2 prin setarea unor opţiuni suplimentare pentru codarea pe
cadre şi câmpuri (semicadre).

Notă: Acesta este un codor educaţional. Un codor MPEG profesionist permite mult
mai multe setări, obţinând rezultate superioare.

►Se aleg (de exemplu) opţiunile: (File) Save as Suzie.mpg / Mpeg1 /(Rate) 1.15Mb/s
/(Gop) IBBPBB / (Motion) 15. Codarea începe prin confirmarea opţiunilor (Apply):

Figura 4.3 Alegerea deplasamentului maxim


18 Comunicaţii multimedia - Laborator

Notă: Interfaţa codorului arată cadrul care tocmai a fost codat şi o fereastră text cu
date despre compresia cadrului şi a macroblocurilor sale. Codarea poate fi
întreruptă/reluată în orice moment prin apăsarea Spacebar-ului.

Din fereastra text se obţin informaţiile cele mai utile cu privire la codarea cadrului
respectiv: rata de bit per cadru (exprimată în biţi/pixel), tipul cadrului (I/B/P) obţinut
prin codare, felul în care a fost codat fiecare macrobloc al cadrului (afişând o matrice
de litere conform poziţiei macroblocului în cadru).

Figura 4.4 Informaţii din fereastra text


Semnificaţia literelor este următoarea:
o S – (macrobloc) ignorat;
o I – codat intra;
o 0 – obţinut prin predicţie apriori (forward) fără compensarea mişcării ;
o F - obţinut prin predicţie apriori (forward) a cadrului;
o f - obţinut prin predicţie apriori (forward) a câmpului(MPEG-2 întreţesut);
o p - obţinut prin predicţie spaţială şi temporală ;
o B - obţinut prin predicţie aposteriori (backward) a cadrului;
o b - obţinut prin predicţie aposteriori (backward) a câmpului;
o D - obţinut prin interpolare pe cadre;
o d- obţinut prin interpolare pe câmpuri;

► 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.

Notă: Codorul MPEG al programului VCDemo nu introduce în stream-ul comprimat


informaţii de sistem (timing), în consecinţă pentru vizualizarea stream-ului nu se
poate folosi Windows Media Player-ul, ci de exemplu decoderul MPEG al VCDemo.

3.2 Decodor MPEG

Decodorul VCDemo permite reconstituirea secvenţelor de imagini comprimate


MPEG-1 sau MPEG-2.
►Se încarcă secvenţa MPEG Mobile.mpg (sau Suzie.mpg(creată anterior)).
Comunicaţii multimedia – Laborator 5 19

Figura 4.5 deschiderea fişierului MPEG

Decodorul(MDec) are implementate următoarele opţiuni:

Figura 4.6 Opţiunile docodorului MPEG


o Operation: Permite setarea a ceea ce va fi afişat prin decodare:
o decoded frames - decodare normală
o frame prediction – cadrele obţinute doar prin predicţie. Se
poate astfel evalua oarecum calitatea predicţiei (erorile
predicţiei se propagă);
o coded difference – cadrele diferenţă faţă de predicţie. Permite o
evaluare mai precisă a calităţii predicţiei şi a numărului de
macroblocuri codate intra (asupra cărora nu s-au făcut
predicţii).
o Display: Permite afişarea alb-negru sau color a secvenţei decodate, cu sau fără
suprapunerea vectorilor de mişcare, cu sau fără includerea cadrelor de tip B
(pentru a necesita mai puţină putere de calcul);
o Video: Permite decodarea pas cu pas sau automată;
o Save...:Permite salvarea secvenţei decodate în format YUV.

►Se alege afişarea decoded frames cu suprapunerea vectorilor de mişcare şi decodare


pas cu pas. Ca şi până acum decodarea începe prin selectarea Apply. Decodarea poate
fi întreruptă prin selectarea No în fereastra de dialog care apare. Selectarea Cancel are
drept rezultat continuarea decodării în mod automat.

Fereastra text a interfeţei conţine informaţii despre dimensiunea cadrelor din secvenţă,
rata de bit a acesteia, numărul de cadre/secundă, dimensiunea VideoBuffer-ului folosit
la decodare, tipul compresiei secvenţei (MPEG-1 sau 2), tipul cadrelor ce se succed
(I/P/B), etc.
~ n
m

0
m0 n 
20 Comunicaţii multimedia - Laborator

Figura 4.7 Informaţiile din caseta text

►Se alege afişarea frame prediction. Ce se poate spune despre calitatea predicţiei?
►Se alege afişarea coded difference. Ce se poate spune despre numărul de
macroblocuri care necesită o codare de tip intra?
►Se reia decodarea şi pentru alte secvenţe, urmărind cum depinde calitatea predicţiei
de dinamismul secvenţei.
Întrebări
4.1. Cum se poate reduce consumul de biţi pentru benzile de frecvenţe înalte, care nu
sunt importante atunci când se urmăreşte buna compresie şi nu calitatea (ex: rate de
mai puţin de 112 kbps) ?
4.2. Cum trebuie să fie materialul audio original pentru o compresie bună: înregistrare
de calitate proastă, cu zgomot, sau sunet clar ?
4.3. Codorul MPEG afişează cadrul care tocmai a fost prelucrat. Explicaţi de ce
secvenţa afişată nu respectă succesiunea temporală normală.
4.4. Explicaţi de ce secvenţa Suzie.yuv ar fi putut fi comprimată cu performanţe
asemănătoare şi conform standardului H.261.
4.5. Comparaţi rezultatele obţinute prin transmiterea cadrelor diferenţă de imagine
fără compensarea mişcării cu cele obţinute prin compensarea mişcării. În ce condiţii
se obţine o îmbunătăţire semnificativă?
4.6. La decodarea secvenţei Mobile.mpg prima coloană de macroblocuri (în stânga
imaginii) conţine aproape în exclusivitate macroblocuri codate intra (fără predicţie).
Explicaţi de ce.

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