Documente Academic
Documente Profesional
Documente Cultură
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
un cadru alăturat. Pentru MPEG sunt prevăzute două moduri de compensare a mişcării
predicţia şi interpolarea.
A) Predicţia
Y1 Y2 U
Y3 Y4 V
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.
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.
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
Ordonarea Cadrelor
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
Predicţie apriori
1 2 3 4 5 6 7 8
TIMP
I B B P B P B I
Predicţie Bidireţională
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ă.
a) b) c)
câmpul câmpul
par impar par impar
referinţă curent
Macrobloc cadru
Figura 2.4 Predicţia între câmpuri pentru imagini-cadru
referinţă curent
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
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;
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
Frecvenţa
Figura 3.1. Mascarea auditivă
Nivelul
zgomotului de
cuantizare
Banda critică
Figura 3.2 Parametrii care descriu mascarea auditivă
Date audio
Date comprimate Reconstrucţie digitale (PCM)
Despachetare
semnal pentru Bancul de filtre
flux de biţi
fiecare bandă
Date auxiliare
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.
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).
Notă: Până la alegerea unui nume pentru secvenţa video de comprimat (Save as…),
opţiunile din interfaţa codorului MPEG sunt inactive.
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):
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).
► 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.
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
►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.