+ All Categories
Home > Documents > COMUNICAŢII MULTIMEDIA LABORATOR 5 5.pdf · 2012. 2. 15. · dintre pixeli se vor schimba foarte...

COMUNICAŢII MULTIMEDIA LABORATOR 5 5.pdf · 2012. 2. 15. · dintre pixeli se vor schimba foarte...

Date post: 14-Feb-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
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: 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 Video IN ME FM IDCT 1 Q Q DCT VLC Modul intercadru Modul intracadru Bit stream
Transcript
  • Comunicaţii multimedia – Laborator 5 1

    COMUNICAŢII MULTIMEDIALABORATOR 5

    Standardul MPEG

    1. Standardul MPEG 1

    MPEG-1 (Motion Picture Expert Group) a reuşit să realizeze o compresie asemnalului video la o rată de bit de aproximativ 1,5Mbps, aceasta asigurând o calitateacceptabilă. Dezideratul este ca prin codarea semnalului video sursă să se realizeze oreducere a spaţiului necesar pentru stocare şi a ratei de bit necesare pentru transmitereexplorând atât redundanţele statistice cât şi pe cele subiective ce există în sau întrecadre. De asemenea se doreşte a se coda un set minim de date folosind tehnicile decodare entropice, păstrându-se în acelaşi timp calitatea imaginilor originale.

    Algoritmul de compresie MPEG-1 a fost dezvoltat avându-se în vedereatingerea 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 laJPEG. Acest lucru se poate observa şi din diagrama bloc a algoritmului de compresieMPEG video de mai jos:

    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

    Video IN

    ME FM

    IDCT

    1Q

    QDCT VLC

    Modulintercadru

    Modulintracadru

    Bitstream

  • 2 Comunicaţii multimedia - Laborator

    La intrarea codorului MPEG se introduce un semnal video format dintr-osucesiune 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 modulintracadru. În acest mod de lucru un cadru este mai întîi transformat în domeniulfrecvenţă folosind Transformata Cosinus Discretă apoi cuantizat, pentru ca în finalrezultatul celor două operaţiuni să fie codat folosindu-se algoritmul de codareHuffman. Dezavantajul utilizării doar a acestui procedeu constă în faptul că deşi serealizează o compresie semnificativă prin simpla procesare a semnalului video deintrare ca o succesiune de imagini statice, folosind JPEG, acesta nu exploateazăredundanţa temporală considerabilă prezentă în toate secvenţele video. Astfel mulţidintre 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 ladouă 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 înpoziţia în care acesta apare în celelalte cadre. Principala problemă constă în modul destabilire 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 maiconvenabilă alegerea drept referinţă a unui bloc dintr-un cadru viitor.

    În Figura 1.1 este ilustrată şi tehnica codării intercadru : după ce serealizează prelucrarea cu DCT şi cuantizarea (Q) unui cadru din semnalul videoiniţial, acesta este supus unui proces invers constând din Q-1 şi IDCT. Astfel se poateobţine un cadru identic cu cel care ar fi obţinut de algoritmul de decompresie. Acestava fi apoi stocat în FM şi utilizat la estimarea şi compensarea mişcării (ME) relativ lacadrele vecine.

    Conform unor studii efectuate de grupul MPEG, folosind procedeul de codareintercadru s-a obţinut o compresie de trei ori mai bună faţă de rezultatele utilizăriidoar 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 decompresie pentru o gamă largă de aplicaţii, cei din grupul de cercetare MPEG auinclus 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: unnumăr minim de 720 pixeli per linie , un număr de 576 linii pentru fiecare imagine şio rată minimă de 30 cadre/ secundă.

    Prin acces aleator trebuie să fie posibil accesul în secvenţa cadrelor video înorice moment al acesteia. Acest lucru implică existenţa cadrelor de acces - cadrecodate î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 aderula înainte sau înapoi secvenţa video. Rezultatul se poate afişa folosind cadrele deacces 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 dinimaginea 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ăriipredicţia şi interpolarea.

    A) Predicţia

    MPEG foloseşte în codare împărţirea imaginii în macroblocuri de 16x16pixeli pentru luminanţă şi 8x8 pentru crominanţă spre deosebire de blocurile folositela codarea JPEG ce au o mărime de doar 8x8 pixeli atât pentru luminanţă cât şi pentrucrominanţă.

    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 folosireapredicţ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 dintreacestea fiind codate separat. Codarea se face cu referinţă către un ‘anchor frame’ ceprecede cadrul curent. Fiecare macrobloc din cadrul curent va fi reprezentat de unvector de mişcare. Acesta ne dă deplasamentul macroblocului din cadrul curent faţăde corespondentul său din cadrul adiacent (vezi Figura 1.3):

    Figura 1.3 Compensarea mişcării

    Y4Y3

    Y2Y1 U

    V

    Bloc16x16

    (16,8)

    (24,4)

    (8,24)

    Cadrul curent

    Cadrul decodatviitor

    Cadrul decodatanterior

  • 4 Comunicaţii multimedia - Laborator

    S-a considerat exemplul: fiecare cadru video este format din 64x64 pixeligrupaţ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 acestcaz 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 lacadrele 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 16x16de difereţe între macroblocul curent în cadrul c şi macroblocul origine din cadrul r:

    ]),[(),(),( rcrcc MyxIyxIyxE

    În formula de mai sus ),( yxEc reprezintă eroarea de predicţie; ),( yxI i este valoarea

    pixelului de coordonate (x,y) în cadrul i iar ijM 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 maimare decât prin simpla codare a matricii originale.

    Standardul MPEG nu impune un mod de realizare procedeului de potrivire ablocurilor. Uzual vectorul de mişcare pentru un macrobloc se obţine minimizândfuncţia de cost, funcţie ce măsoara diferenţa dintre un macrobloc şi fiecare posibilcorespondent al său. Acest lucru se poate exprima matematic folosind relaţia:

    Byxrc

    MmmyxIyxICMIN

    ),(

    )]),((),([

    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şcarenotat pentru acest bloc rcM . 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 folosireacompensării mişcării.

    B) Interpolarea

    Deşi codarea cu ajutorul predicţiei ne oferă o rată de compresie mai bună decătcea 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 dereferinţă. Unul este considerat în cadrul precedent (aposteriori) iar celălat în cel viitor(apriori) faţă de cadrul curent. Această abordare poartă denumirea si de interpolarebidirecţională şi are ca efect o rată de compresie mai bună decât cea obţinută prinfolosirea unui singur cadru de referinţă.

    Pentru a întelege de ce interpolarea bidirecţională poate îmbunatăţisemnificativ rata de compresie considerăm o imagine care se mişcă în raport cu cadrulimagine la o rată de 1/2 pixeli per cadru. Încercând determinarea unui macrobloc încadru actual bazându-ne pe cadrul imediat următor nu vom putea găsi nici un bloccare să se potrivească. În mod similar vom obţine acelaşi lucru procedând la fel şi încazul următorului cadru.Totuşi o estimare a celei mai bune potriviri dintre cadrulprecedent şi cel viitor ne va determina o predicţie exactă, astfel încât matricea deeroare va deveni nulă.

  • 6 Comunicaţii multimedia - Laborator

    Figura 1.3 ilustrează tehnica folosită în interpolarea bidirecţională. Cadrulcurent 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 blocdin cadrul ulterior (vorbim în acest caz de predicţie apriori), un bloc din cadrulanterior (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. Înplus 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 estemai 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 cucompensarea mişcării faţă de un cadru anterior I sau P, acesta fiind folosit careferinţă pentru predicţii apriori;

    c) Cadre B (Bi-directionally predictive coded frames): codarea se face luând dreptreferinţă atât cadrul precedent cât şi pe următorul (vezi Interpolarea) ; nu sefoloseş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 gruptrebuie decodate în modul forward şi stocate, după care redarea înapoi esteposibilă.

    Frecvenţa relativă de apariţie a acestor cadre în interiorul unui flux video esteun 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 acadrelor I în sistemul codat considerat.

    În al doilea rând trebuie să ţina seama de legătura strânsă ce există întrecomplexitatea de calcul şi numărul de cadre B, astfel încăt cu cât avem mai multecadre 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 şiP deoarece un cadru B nu poate fi considerat referinţă pentru un alt cadru B. De aceeacu cât există mai multe cadre B cu atât va creşte distanţa medie dintre acesta (cadrulB) şi cadrele sale de referinţă şi cu atât va fi mai mică corelarea între cadrul B şireferinţ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 fidecocodat până când cadrele de referinţă, cel precedent respectiv cel viitor nu au fostdecodate. Organizarea fiecărui grup se face astfel încât fiecare cadru B să urmezeambelor 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 îninteriorul grupului ţine cont de ceea ce s-a afirmat mai sus. Astfel pentru a realizapredicţia pentru cadrele B 2 şi 3, cadrul 4 va fi stocat dupa cadrul 1(cadru folositpenrtu realizarea predicţiei apriori). Cadrele 5 si 6 sunt interschimbate din acelaşimotiv. Cadrul B notat cu 7 face parte din grupul următor deoarece este codat dupăcadrul I 8.

    Figura 1.4. Exemplu de organizare a cadrelor în timp

    TIMPI I

    1

    BBB BP P

    2 3 64 5 87

    Predicţie Bidireţională

    Predicţie apriori

  • 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ţiiDCT diferiţi de zero pentru fiecare cadru. Odata reconstruiţi toţi aceşti coeficienţi ceaparţin unui singur cadru (cu ajutorul Q-1) se aplică transformata IDCT obţinându-sevaloarea 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 timpFigura 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:

    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âtimaginilor-cadre), rezultând 16x8 vectori de compensare a mişcării

    Macrobloc cadru

    16x8 blocuri câmp

  • 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âmpuriFigura 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ă aalgoritmului, compresie mare a datelor, si calitate foarte buna a semnalului audio.Compresia este aplicabilă semnalelor audio in general, nu este adaptata numaisemnalelor vocale.

    Reprezentarea digitală a datelor audio prezintă o serie de avantaje: imunitatesporită la zgomot, stabilitate în timp, şi reproductibilitate. De asemenea, permite oimplementare 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 sicuantizare, fiecare eşantion fiind reprezentat printr-un cuvânt de cod binar (procedeunumit modulaţia impulsurilor în cod sau PCM). Astfel, pentru reprezentarea uneisecunde de material stereo la calitate CD (frecvenţa de eşantionare 44,1 kHz şicuantizare pe 16 biti) este nevoie de aproximativ 1,4 Mbiti.

    biti/s1411200canale2ionbiti/esant16/sesantioane44100

    Reducerea acestei rate ridicate de date se face prin compresie. AlgoritmulMPEG/audio este primul standard international pentru compresia digitală asemnalului audio de înalta fidelitate.

    Deşi compresia MPEG/audio este foarte potrivită pentru aplicaţii audio de sinestătătoare, ea face parte din standardul de compresie combinat MPEG. Acesta conţinetrei parti: video, audio si sisteme, şi se adresează compresiei semnalelor video si audiosincronizate.

    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/audiosi 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 DigitalAudio Broadcasting (DAB), CD-Interactive (CD-I) si Video-CD.

    Layer III: este cel mai complex, dar oferă cea mai bună calitate pentrurate de 64 kbps pentru un canal. Este potrivit pentru transmisie prinISDN, 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 kbpsmono.

    o O extensie compatibilă cu MPEG-1 pentru codarea unor surse cu mai multecanale: 5 canale normale si unul pentru frecventele joase (5.1), care poate fidecodata 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ă larate de 64 kbps pe un canal, suporta 48 de canale audio, 16 canale pentrufrecvenţ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 rateide 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 ExcitedLinear 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ţiiaudio;

    Tehnici folosite in compresia MPEG audio

    Standardul de compresie MPEG-1/audio realizează performanţe remarcabileprin exploatarea a doua caracteristici psihoacustice ale aparatului auditiv uman:

    1. Benzile criticeUrechea internă are o reprezentare a spectrului semnalelor audio la o scarăneliniară, sub forma unor benzi de frecvenţă numite benzi critice. Bandafrecvenţelor audibile, care se intinde până la 20 kHz, este impărţită in 25de 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 defiltre în paralel), constând în 25 de benzi nedisjuncte, cu largimi incepândde la mai putin de 100 Hz pentru frecvenţe joase, si ajungând la 5 kHzpentru 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 indomeniul frecvenţă: când un semnal de nivel mic si unul de nivel mareapar simultan si sunt destul de apropiate in frecvenţă, dacă semnalul mic seafla sub un prag de mascare, acesta nu se va auzi din cauza semnalului maiputernic. Acest fenomen este mai pronunţat când ambele semnale se află înaceeaşi bandă critică, şi mai putin observabil când acestea se află in benzialăturate.

    Figura 3.1. Mascarea auditivă

    Figura 3.2 ilustrează definirea principalilor parametrii care descriumascarea auditivă. Semnalul puternic se află în interiorul benzii critice.Semnalele mai slabe care se află sub pragul de mascare nu se aud. Pragulminim de mascare reprezintă pragul sub care toate sunetele din bandarespectivă sunt mascate de semnalul puternic. Raportul semnal-mascare(SMR) reprezintă diferenţa dintre puterea semnalului puternic si pragul

    Frecvenţa

    Am

    pli

    tudin

    e Semnalul puternic

    Zona unde semnalelemai slabe sunt mascate

  • Comunicaţii multimedia – Laborator 5 15

    minim de mascare. Diferenţa dintre SMR şi SNR (raportul semnal zgomotdatorat cuantizării cu R biti), reprezintă raportul zgomot-mascare (NMR =SMR – SNR). În interiorul unei benzi critice, zgomotul de cuantizare esteinaudibil 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 limitaNMR-ului.

    Figura 3.2 Parametrii care descriu mascarea auditivă

    Schema bloc a codecului MPEG-1/audio:

    Figura 3.3 Codorul MPEG

    Figura 3.4 Decodorul MPEG

    Bancul de filtre are rolul de a descompune semnalul audio in subbenzi. Aceastadescompunere este realizată cu diferite grade de complexitate în cele 3 layere. InLayer I, II si III, spectrul este impărţit în 32 de subbenzi de lărgime constantă, fiindastfel un compromis între eficienţa calculelor si performanţa perceptuala:

    Semnalulputernic

    Pragulminim demascare

    Nivelulzgomotului decuantizare

    SMR

    SNR

    Banda critică

    Pragul de mascare

    Date audiodigitale(PCM) Formatare flux

    de biţiCuantizor si

    codorBancul de filtre

    Modelpsihoacustic

    Date auxiliare

    Date comprimate

    Date audiodigitale (PCM)

    Bancul de filtreReconstrucţiesemnal pentrufiecare bandă

    Despachetareflux de biţi

    Date comprimate

    Date auxiliare

  • 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 maimari.Layer III foloseşte un algoritm mult mai complex, fiind proiectat să obţină rezoluţii înfrecvenţă mai apropiate de modelul benzilor critice.

    Modelul psihoacustic este elementul cheie al codorului. El are funcţia de a analizaconţinutul spectral al semnalului şi să calculeze SMR-ul pentru fiecare bandă. În urmaacestei analize, cuantizorul decide cum să impartă numarul de biţi disponibili pentrufiecare 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ţidecodabili.

    Decodorul execută operaţiile în sens invers, convertind datele comprimate într-unsemnal audio standard.

    4. Desfăşurarea lucrării

    4.1 Codorul MPEG►Se deschide programul VCDemo. Se alege ‘Open Image Sequence’ din toolbar şi sedeschide 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 trebuieprecizată.

    o Field/Frame: Pentru modul întreţesut se poate îmbunătăţi rezultatulcompresiei MPEG-2 prin setarea unor opţiuni suplimentare pentru codarea pecadre şi câmpuri (semicadre).

    Notă: Acesta este un codor educaţional. Un codor MPEG profesionist permite multmai 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 cudate 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 cadruluirespectiv: rata de bit per cadru (exprimată în biţi/pixel), tipul cadrului (I/B/P) obţinutprin codare, felul în care a fost codat fiecare macrobloc al cadrului (afişând o matricede litere conform poziţiei macroblocului în cadru).

    Figura 4.4 Informaţii din fereastra textSemnificaţ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 utilizatetipuri de macroblocuri în codare (cele obţinute prin interpolare, cele obţinute prinpredicţie etc).►Se reia codarea selectând şi alte opţiuni.

    Notă: Codorul MPEG al programului VCDemo nu introduce în stream-ul comprimatinformaţii de sistem (timing), în consecinţă pentru vizualizarea stream-ului nu sepoate folosi Windows Media Player-ul, ci de exemplu decoderul MPEG al VCDemo.

    3.2 Decodor MPEG

    Decodorul VCDemo permite reconstituirea secvenţelor de imagini comprimateMPEG-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 MPEGo 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 (erorilepredicţiei se propagă);

    o coded difference – cadrele diferenţă faţă de predicţie. Permite oevaluare mai precisă a calităţii predicţiei şi a numărului demacroblocuri codate intra (asupra cărora nu s-au făcutpredicţ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 decodarepas cu pas. Ca şi până acum decodarea începe prin selectarea Apply. Decodarea poatefi întreruptă prin selectarea No în fereastra de dialog care apare. Selectarea Cancel aredrept 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 folositla decodare, tipul compresiei secvenţei (MPEG-1 sau 2), tipul cadrelor ce se succed(I/P/B), etc.

  • 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 demacroblocuri care necesită o codare de tip intra?

    ►Se reia decodarea şi pentru alte secvenţe, urmărind cum depinde calitatea predicţieide dinamismul secvenţei.

    Întrebări

    4.1. Cum se poate reduce consumul de biţi pentru benzile de frecvenţe înalte, care nusunt importante atunci când se urmăreşte buna compresie şi nu calitatea (ex: rate demai puţin de 112 kbps) ?

    4.2. Cum trebuie să fie materialul audio original pentru o compresie bună: înregistrarede calitate proastă, cu zgomot, sau sunet clar ?

    4.3. Codorul MPEG afişează cadrul care tocmai a fost prelucrat. Explicaţi de cesecvenţ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ţeasemănătoare şi conform standardului H.261.

    4.5. Comparaţi rezultatele obţinute prin transmiterea cadrelor diferenţă de imaginefără compensarea mişcării cu cele obţinute prin compensarea mişcării. În ce condiţiise obţine o îmbunătăţire semnificativă?

    4.6. La decodarea secvenţei Mobile.mpg prima coloană de macroblocuri (în stângaimaginii) conţine aproape în exclusivitate macroblocuri codate intra (fără predicţie).Explicaţi de ce.

    nm0~

    nm0


Recommended