Sunteți pe pagina 1din 6

5.

CODAREA VIDEO MPEG


MPEG = Moving Picture Expert Group - MPEG-1 (ISO/IEC 11172, Nov 1992) - MPEG-2 (ISO/IEC 13818, Nov 1994) - MPEG-4 (ISO/IEC 14496, Oct 1998) - MPEG-7, MPEG-21 n curs de elaborare. Standardul MPEG1 a fost dezvoltat s fac compresia imaginilor video i a sunetului pentru stocarea pe CD. - CD-ROM 1x: 150kB/s = 1,2 Mbii/s. - MPEG-1 tinde la un flux de date video comprimate de aprox. 1,2Mbii/s. - Pentru compresia audio ratele sunt ntre 32 i 448kbii/s. MPEG-2 este utilizat n televiziunea digital: SDTV, HDTV. - Rata de bit variabil ntre 4 i 80Mbii/s. (optim: 4Mbii/s). - Suport codare video ntreptruns i scalabil.

- Tipuri diferite de MacroBlocuri i tabele VLC pentru imaginile I, P i B. - Tabele de cuantizare. - Codare VLC pentru diferenele vectorilor de micare MV. Sistemul MPEG include codarea video, audio i fluxul de bii. Specific formarea fluxului de bii i decodarea:

5.1. MPEG-1

Cerine de baz: - Codarea video de calitate bun (aproape calitatea VHS) la rate ntre 1 i 1,5Mbii/s. - Acces aleator la un cadru ntr-un timp limitat (puncte de acces n fluxul video frecvente). - Derulare nainte/napoi (cutare i afiare folosind punctele de acces). - Sistemul s suporte sincronizarea audio-video. Cerine suplimentare: - Redare invers (necesit decodarea i stocarea cadrelor ntre punctele de acces). - Compromis ntre calitatea codrii i ntrzierea la decodare. - Schema de codare i organizarea biilor s fie robust la errori. - Formatele imaginilor s suporte o varietate de aplicaii. - Codorul n timp real s aib un cost rezonabil. Standardul MPEG ia n considerare i implementrile din alte standarde: - JPEG. Deoarece o secven video poate fi privit ca o secven de cadre (imagini fixe) i deoarece JPEG a fost dezvoltat naintea MPEG, acesta utilizeaz ideile din JPEG. - H.261. ntruct H.261 era deja disponibil n timpul elaborrii MPEG, s-a ncercat compatibilitatea cu acest standard. Faciliti noi fa de H.261: - Dimensiuni diverse ale imaginilor i rate de bii variabile. - Structurarea n felii (slice) a datelor n loc de GOB. - Grupuri de imagini (GOP Group Of Pictures). - Compensare bidirecional a micrii. - Compensare a micrii half pixel.
1

Codarea video

Fiecare imagine const din trei componente (similar formatului YUV). Componenta de luminan are de 2 ori mai multe eantioane pe orizontal i vertical. Acest procedeu se mai numete i color subsampling.

Rezoluia componentei de luminan nu trebuie s depeasc 768 x 976 pixeli, fiecare pixel este codat cu 8 bii. Fluxul de date MPEG conine mai mult informaie dect JPEG. Raportul de aspect pentru imagine: - pentru imagini cu 702 x 575 pixeli sau 711 x 487 se definete un raport 4:3 - pentru imagini cu 625 linii (sistemele HDTV europene) sau 525 linii (sistemele HDTV din SUA) se definete un raport 16:9.
2

Frecvena cadrelor: - 23,976Hz; 24Hz (filme); 25Hz (PAL); 29,97Hz (NTSC); 30Hz; 50Hz; 59,94Hz; 60Hz. O predicie temporal a imaginilor fixe conduce la o rat de compresie considerabil. Imaginile animate conin adesea micri netranslaionale ca de exemplu rotaia unui obiect. Asemenea micri pot fi reduse printr-o codare intra-cadre. n cele mai multe cazuri o codare predictiv are sens pentru o parte a unei imagini i nu pentru ntreaga imagine. Structura datelor:

MPEG distinge ntre 4 tipuri de imagini (cadre) cum este n figura de mai jos.

Ideea acestor 4 tipuri de imagini este c sunt cerine contradictorii ntre o codare eficient i un acces aleator rapid. Pentru realizarea unei rate mari de compresie, redundanele temporale ale imaginilor care urmeaz trebuie exploatat (codare inter-cadre). Sunt codate fr referine la alte imagini. Un cadru I este tratat ca o imagine fix. MPEG folosete codarea JPEG pentru aceste imagini. Totui, contrar JPEG, compresia trebuie fcut 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. Coeficienii DC sunt codai DPCM. Diferene ale blocurilor succesive sunt calculate i transformate utiliznd codarea cu lungime variabil. MPEG distinge dou tipuri de macro blocuri. Primul tip include numai date codate i al doilea cuprinde un parametru folosit la scalare prin ajustarea caracteristicilor de cuantizare. Pasul de cuantizare poate fi controlat i adaptat de: - parametrul Q se poate schimba la slice sau la macro-bloc. - matrice de cuantizare se poate schimba la secvene de imagini.

Cadre I (Intra-coded images).

Fiecare imagine este mprit n suprafee numite macro-blocuri (MB). Fiecare macro-bloc este format din: - 16 x 16 pixeli pentru luminan. - 8 x 8 pixeli pentru componentele de crominan. Macro-blocurile sunt ordonate de la stnga la dreapta i de sus n jos n sliceuri. Dac fluxul de bii conine o eroare, decodorul poate sri pn la nceputul urmtoarei slice. Dac se formeaz mai multe slice-uri se poate obine un comportament mai bun la erori dar sunt necesari mai muli bii de codare. Imaginea const din trei matrice dreptunghiulare reprezentnd luminana Y i cele dou valori ale crominanei CB i CR. Matricea Y are un numr par de linii i coloane. Matricele de crominan au jumtate din dimensiunea matricei Y pe ambele direcii. Grup de imagini unitatea care permite accesul aleator la fluxul video. Conine un header i o serie de una sau mai multe imagini I, P i/sau B.
3

Codarea cadrelor I

Ca i cadrele I, cadrele P constau din macroblocuri ale cadrelor I i 6 macro blocuri predictive. Codorul trebuie s determine dac un macrobloc trebuie s fie codat predictiv sau ca un macrobloc al cadrelor P i mai mult dac exist un vector de micare care trebuie codat. Un cadru P poate conine macroblocuri care sunt codate ca i cadrele I. Codorul specific macrofluxurilor P trebuie s considere diferena macroblocurilor la fel ca i vectorul de micare.

Cadre P (Predictive-coded frames)

Solicit informaii din cadrele I anterioare i/sau din toate cadrele anterioare pentru codare sau decodare. Codarea cadrelor P este bazat pe faptul c la imagini succesive, adesea suprafeele nu se schimb de tot i ntreaga suprafa este deplasat. n acest caz de redundan temporal fluxul ultimelor cadre I sau P este similar cu fluxul care trebuie determinat. Mai multe metode pentru estimarea micrii sunt disponibile la codor. MPEG nu prevede un algoritm pentru estimarea micrii dar specific rezultatele codrii. Numai vectorul de micare (diferena ntre localizarea temporal a macroblocului) i micile diferene n coninut ale acestor macroblocuri sunt lsate s fie codate.

Diferena tuturor 6 blocuri de 8x8 pixeli i macroblocul care trebuie codat sunt tranformai utiliznd DCT bidimensional. Pentru reduceri mai mari blocurile care au numai coeficieni DCT 0 nu sunt prelucrai mai departe. Coeficienii sunt stocai utiliznd 6 bii care sunt adugai datelor codate. Coeficienii AC i DC sunt codai utiliznd aceeai tehnic. Aceasta difer de JPEG i de codarea macroblocurilor din cadrele I. n pasul urmtor este fcut o codare run-length. Cnd vectorul de micare al macroblocurilor adiacente difer puin, o codare DPCM este utilizat. Modurile de codare a macro-blocurilor din cadrele P: - non-intra / intra cadre - codarea sau ne-codarea vectorilor de micare - diferena cuantizat a prediciei este zero sau nu.
6

Cadre B (Bi-directionally predictive coded frames)


Necesit informaii din cadrele I i/sau P anterioare i urmtoare pentru codare i decodare.

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. Dac se utilizeaz predicia bidimensional cu cadre B ordinea imaginilor la codare difer. Un cadru P pentru a fi afiat dup unul B trebuie decodat naintea lui B deoarece el conine date necesare decompresiei lui B. Acest fapt introduce o ntrziere.

Cea mai mare rat de compresie este atins utiliznd aceste cadre. Un cadru B este definit ca diferena unei predicii a unei imagini trecute i urmtorul cadru P sau I. Cadrul B nu poate fi niciodat accesat direct ntr-un mod aleator. Pentru predicia cadrelor B cadrele P sau I anterioare sau urmtoare sunt luate n considerare.

N = Numrul de imagini n GOP. M = Distana de predicie (M 1 = numrul de cadre B) Urmtorul exemplu ilustreaz avantajele unei predicii bidirecionale. ntr-o scen video, o minge se mic de la stnga la dreapta n faa unui fundal static. n partea stng a scenei pri ale imaginii care apar n imagini anterioare nu apreau fiind acoperite de minge. O predicie a acestor suprafee poate fi dezvoltat din urmtoarele imagini dar nu din imaginile anterioare. Un macro-bloc poate fi dezvoltat din macro-blocul anterior sau urmtor al cadrelor P sau I. n afar de un vector de micare de la imaginea anterioar la cea urmtoare, poate fi utilizat un vector de micare n celalalt direcie. Repetarea cadrelor I, P, B este determinat de MPEG. Pentru acces rapid, aleator, cu rezoluie ct mai bun, ar trebui codat numai cu cadre I. Pe de alt parte cea mai mare compresie se obine cnd utilizm ct mai multe cadre B. O secven de tipul IBBPBBPBBIBBPBBPBB... are posibilitatea de acces aleator de 9 imagini (aproximativ 330ms) i are o compresie foarte buna pentru c folosete multe cadre B. n ceea ce privete cuantizarea, coeficienii AC ai cadrelor B i P au valori mari, pe cnd cei ai cadrelor I au valori mai mici. Dac volumul datelor crete peste un anumit prag, cuantizarea lrgete mrimea pasului.

Sunt cadre codate intra-cadre. Ele pot fi folosite pentru derulare rapid nainte sau napoi. Numai parametrii DC ai DCT sunt codai, coeficienii AC sunt neglijai. Cadrele D constau numai din componentele de joas frecven a imaginilor. Ele utilizeaz numai un tip de macro-bloc i numai coeficienii DC sunt codai.
7 8

Cadre D (DC coded frames)

Tabelele de cuantizare:

Tabelul de codare 2D VLC:

Codarea coeficienilor DC intra-cadre:

Modelul de simulare SM3 Utilizat pentru pre i post procesarea imaginilor video. Definete estimarea / compensarea micrii. Decizia modului de codare: MC/noMC i inter/intra. Adaptarea cuantizrii i controlul ratei. Codorul SM3

10

Decodorul SM3

11

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