Sunteți pe pagina 1din 18

6.

MPEG2
Prezentare

• 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
• 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 video scalabilă 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.

1
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 cu lungime variabilă (VLC) diferit pentru coeficienţii DCT.
• Tabel de cuantizare neliniară – măreşte acurateţea cuantizării pentru valori mici.

2
Structura datelor:

3
Formatele de codare luminanţă – crominanţă:

4
Scanarea crominanţei:

câmpul câmpul
par impar par impar

timp timp timp

întreţesut 4:2:0 întreţesut 4:2:2/4:4:4 progresiv

5
Codarea semnalului video întreţesut:

• Două tipuri de imagini: pentru cadru şi pentru câmp.


• Compensarea mişcării:
1. Predicţia între cadre în cazul imaginilor-cadru (ca la MPEG1).
- 1 vector de mişcare pentru fiecare macrobloc de 16x16 pentru cadre P
- 2 vectori de mişcare pentru fiecare macrobloc de 16x16 pentru cadre B

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


- se folosesc ca referinţă ultimele 2 câmpuri decodate
- 1 vectori de mişcare pentru fiecare macrobloc de 16x16 pentru
cadre P
- 2 vectori de mişcare pentru fiecare macrobloc de 16x16 pentru
cadre B

6
3. Predicţia între câmpuri în cazul imaginilor-cadru:
- se consideră fiecare imagine-cadru ca două imagini-câmp separate
- fiecare din cele două blocuri de 16x8 ale unui macrobloc de 16x16 sunt prezise
independent
- 2 vectori de mişcare pentru fiecare macrobloc de 16x16 pentru cadre P
- 4 vectori de mişcare pentru fiecare macrobloc de 16x16 pentru cadre B

4. Predicţie 16x8 pentru imagini-câmp


- se folosesc 2 vectori de mişcare pentru fiecare macrobloc

7
5. Predicţia dual-primă pentru cadrele P
- se poate aplica atât imaginilor-câmp cât şi imaginilor-cadru
- se foloseşte la aplicaţii cu întârzieri foarte mici (videofon, videoconferinţă)
- se determină vectorul „v” (linie continuă) al unui macrobloc dintr-un câmp de o paritate
dată (1 sau 2) fată de un macrabloc dintr-un câmp de aceeaşi paritate
- acest vector este interpolat sau extrapolat pentru a obţine vectorul faţă de macroblocul din
câmpul de paritate opusă şi se face o corecţie asupra valorii pe verticală a vectorului
- aceşti 2 vectori derivaţi sunt notaţi dv1 şi dv2 (linie întreruptă)
- se determină vectorul diferenţă de detaliu dmv cu valori -1; 0; 1
- se transmit v şi dmv şi la decodor se calculează dv1 şi dv2

câmp 1 câmp 2 câmp 1 câmp 2

referinţă

8
Performanţe:
• PSNR pentru o rată de bit de 4Mbiţi/s.

- Imagini cadru, M=1

- Imagini cadru, M=3

9
- Imagini câmp, M=1

Adaptarea DCT pentru cadre/câmpuri:


- MPEG-2 are două moduri DCT: DCT pe cadru şi DCT pe câmp
- Un macrobloc 16x16 este împărţit în 4 blocuri de 8x8 dupa cum urmează:
- DCT pe cadru: folosit pentru blocuri din fundal sau cu puţină mişcare

10
- DCT pe câmp: folosit pentru blocuri cu mişcare

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


- Corelaţie mare -> DCT pe cadru
- Corelaţie mică -> DCT pe câmp

11
Performanţe:
• PSNR pentru 4Mbiţi/s.
- M=1

- M=3

12
Scanarea coeficienţilor DCT

- scanarea zigzag utilă pentru video progresiv


- Scanarea alternată utilă pentru video întreţesut, deoarece imaginile întreţesute tind să aibă
coeficienţi mai mari pe direcţia verticală

Scanare zigzag Scanare alternată

13
Profiluri şi Niveluri

- MPEG-2 acoperă o gamă largă de aplicaţii


- caracteristice unor aplicaţii nu sunt necesare altor aplicaţii
- de accea MPEG-2 defineşte profiluri pentru grupuri de caracteristici pentru aplicaţii
importante
- Profil = subset de sintaxă şi funcţionalitate pentru a suporta o clasă de aplicaţii (ex. aplicaţii de
videoconferinţă cu întârzieri mici, aplicaţii de stocare video)
- În cadrul unui profil, sunt definite niveluri pentru aplicaţii cu diferite cerinţe de calitate (ex.
rezoluţii diferite)
- Nivel = set de restricţii asupra unor parametrii (rate de eşantionare, dimensiunea cadrului, rate
de bit)

14
NIVEL

PROFIL

15
Profiluri:

• Simple – aplicaţii de videoconferinţă cu întârzieri mici


• Main – cel mai important şi cel mai folosit profil pentru aplicaţii video de calitate superioară ca de
exemplu VOD, DVD, TV digital şi HDTV
• SNR (Signal-to-Noise Ratio) Scalable – suportă diferite grade de calitate video
• Spatially Scalable – suportă diferite grade de rezoluţie
• High – suportă diferite grade de calitate, rezoluţie şi formate de crominanţă

Niveluri:
• Low (pentru cadre de rezoluţie CIF)
• Main (pentru cadre cu rezoluţie 4CIF - CCIR601)
• High-1440 (pentru rezoluţie HDTV european)
• High (pentru rezoluţie HDTV american).

16
Exemple de scalabilitate video:
• Exemplul 1:
- Fuxul de bază conţine imagini cu 2 cadre B (compresie maximă).
- Fluxul suplimentar foloseşte cadre P sau B derivate din cadrele fluxului de bază.
• Exemplul 2:
- Fluxul de bază este un semnal TV normal cu 30 cadre/s
- Fluxul suplimentar conţine informaţia pentru semnal video de 60 cadre/s (progresiv sau
întreţesut).

17
Modelul de test (TM) 5

• Model experimental MPEG-2 pentru profilul Main


• Lucrează cu GOP cu M=1 şi M=3 (M – distanţa de predicţie).
• Estimarea mişcării:
- pe blocuri de 16x16 pixeli de luminanţă
- vectorii de mişcare pentru crominanţă sunt obţinuţi din cei pentru luminanţă prin împărţire la 2 şi
trunchiere.
• Tipuri de vectori de mişcare:
- pe cadre
- pe câmpuri
- pentru cadrele următoare (predicţie directă)
- pentru cadrele anterioare (predicţie inversă)
• Moduri de codare:
- codarea sau nu a mişcării
- codare inter/intra cadre
• Scanarea coeficienţilor DCT:
- zigzag pentru inter-cadre
- alternată pentru intra-cadre
Adaptarea cuantizării şi controlul ratei de bit

18

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