MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică....

25
1 MPEG-4 Iniţial dezvoltat ca un standard pentru codarea audio-video de complexitate redusă la rate de bit foarte mici. A fost extins pentru a include: funcţionalităţi nesuportate de alte standarde: - interactivitate bazată pe conţinut. - acces universal. - compresie mare. codarea informaţiei generale la o gamă mare de rate de bit. flexibilitate şi extensibilitate. Descrierea interactivă a scenei O scenă este compusă din obiecte audio-vizuale şi nu doar din pixeli sau blocuri de imagine care se mişcă. Obiectele pot fi diferite: - text sau imagini - de formă dreptunghiulară sau arbitrară - 2D sau 3D - naturale sau artificiale

Transcript of MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică....

Page 1: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

1

MPEG-4

• Iniţial dezvoltat ca un standard pentru codarea audio-video de complexitate redusă la rate de bit foarte mici.

• A fost extins pentru a include: • funcţionalităţi nesuportate de alte standarde:

- interactivitate bazată pe conţinut. - acces universal. - compresie mare.

• codarea informaţiei generale la o gamă mare de rate de bit. • flexibilitate şi extensibilitate.

Descrierea interactivă a scenei • O scenă este compusă din obiecte audio-vizuale şi nu doar din pixeli sau blocuri de imagine care

se mişcă. • Obiectele pot fi diferite:

- text sau imagini - de formă dreptunghiulară sau arbitrară - 2D sau 3D - naturale sau artificiale

Page 2: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

2

• La codare toate obiectele sunt multiplexate împreună şi transmise la terminal. • Trebuie aplicate diferite metode de codare pentru obiecte diferite. • Obiectele decodate trebuie compuse la loc în scena multimedia. • Plasarea acestor obiecte în timp şi spaţiu este descrisă în nivelul “Descrierea scenei”.

Page 3: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

3

• Exemplu de scenă multimedia:

fluxul de date/controldemultiplexat

fluxul de date/controlmultiplexat

prezentareaudiovizulă

obiecte 3D

fundal 2D

voce

expresie

observator ipotetic

planul deproiecţie al

compozitoruluivideo

compozitoraudio

sistemul decoordonate

al sceneix

y

z evenimenteutilizator

obiecte audiovizuale

boxe display comenziutilizator

Page 4: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

4

• Scena este descompusă după o structură ierarhică: •

scenă

glob birou

persoana prezentareaaudiovizală

fundal 2D mobila

voce expresie

• Fiecare obiect reprezintă un nod al grafului. • Graful nu are o structură statică, relaţiile se pot schimba în timp şi pot fi adăugate sau şterse noduri.

Page 5: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

5

• Standardul MPEG-4 include: - descrierea sistemului. - codarea video. - codarea audio. - testarea. - software de referinţă. - cadrul de integrare şi distribuire a fluxului multimedia. - codarea hibridă sintetică şi naturală SNHC.

7.1. Codarea MPEG-4 a imaginilor şi video naturale • Compatibil cu MPEG-2 (poate include fluxuri video codate MPEG-2) • Eficienţa codării:

- între 5kbiţi şi 5 Mbiţi - de la imagini mici la imagini de rezoluţie TV - codare progresivă/întreţesută

• Codare bazată pe obiecte. • Un obiect video într-o scenă este o entitate la care utilizatorul are acces (căutare, copiere). • Instanţele obiectelor video la un moment dat se numesc planuri de obiecte video (VOP).

Page 6: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

6

• Codorul generează: - o reprezentare codată a VOP. - informaţia necesară pentru recompunere.

• Este posibilă codarea individuală a obiectelor cât şi codarea întregii imagini ca un singur obiect dreptunghiular.

• Pentru a fi posibil accesul la obiecte individuale este necesar să se obţină o reprezentare codată a formei obiectului.

• Pentru o codare eficientă a VOP trebuie exploatate redundanţa spaţială şi temporală.

Page 7: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

7

• Structura codorului VOP:

• Codarea obiectului include: - reprezentarea formei. - mişcarea obiectului. - textura obiectului.

Page 8: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

8

• Pentru obţinerea unei compresii mari se folosesc mai multe tehnici: • Compensarea mişcării pe blocuri (ca la H.263)

- predicţia VOP curent din VOP anterior - predicţia bidirecţională de la VOP anterior şi VOP următor

• Vectorii de mişcare sunt definiţi pentru regiuni de 16x16 sau 8x8 pixeli din VOP. • Eroarea de predicţie este comprimată prin aplicarea DCT pentru eliminarea corelaţiei spaţiale şi

apoi este cuantizată cu eliminarea informaţiei mai puţin importante. • În final informaţia despre forma obiectului, vectorii de mişcare şi coeficienţii DCT cuantizaţi

sunt codaţi cu VLC. • Pentru compensarea şi estimarea mişcării se aplică la VOP o extensie (padding) a pixelilor de pe

marginea obiectului din cadrul anterior.

Page 9: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

9

Cadrul anterior extins Cadrul curent

Page 10: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

10

Codarea formei obiectelor • Informaţia de formă este numită şi nivel alfa. • În scenele video naturale, detecţia de contur este obţinută prin filtre de gradient, informaţia despre

forma obiectului este binară şi este codată folosind codarea aritmetică bazată pe context (CAE) pentru fiecare bloc binar alfa (BAB).

• Exemplu de context:

• În scenele hibride: - compuse din fundal şi un obiect proiectat pe ecran albastru - scene sintetice

• informaţia de formă este reprezentată pe 8 biţi (256 niveluri de gri) şi este folosită la recompunerea scenei (similar cu codarea texturii).

Page 11: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

11

• Pentru codarea formei unui VOP, un contur dreptungiular este creat şi extins pe multiplii de 16x16 blocuri. Codarea formei se realizează apoi pe fiecare bloc 16x16

• Codarea texturii obiectelor se face prin Shape-Adaptive DCT

Page 12: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

12

• Schema codorului VOP

Page 13: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

13

• Schema decodorului VOP:

Page 14: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

14

• Algoritmii de codare a imaginilor şi video MPEG-4 oferă o reprezentare eficientă a obiectelor vizuale de formă arbitrară (inclusiv forma dreptunghiulară standard ca la MPEG-1 şi MPEG-2).

• În plus faţă de facilităţile standard oferite şi de MPEG-1 şi MPEG-2 (compresia diferitelor formate, rate de cadre şi de bit, adâncimea pixelilor, scalabilitate temporală, spaţială şi a calităţii) MPEG-4 include şi aşa numitele facilităţi bazate pe conţinut.

• Clasificarea ratelor de bit şi a facilităţilor oferite pentru codarea MPEG-4 a imaginilor naturale:

Page 15: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

15

VLBV (Very Low Bit-rate Video): • algoritmii pentru rate de bit tipice între 5 şi 64 kbiţi/s, suportând secvenţe de imagini de rezoluţie

mică (format CIF tipic) şi rate de cadru mici (până la 15 Hz). • Funcţiile de bază suportate de VLBV:

- Codarea eficientă a imaginilor de formă dreptunghiulară, cu complexitate şi durată a compresiei reduse pentru aplicaţii multimedia de timp-real.

- Operaţii de tip acces aleator, derulare înainte şi înapoi specifice aplicaţiilor de stocare şi acces la baze de date multimedia.

Video cu rată de bit mare: • Suportă funcţiile de baza VLBV • codare la rate de bit mai mari (între 64 kb/s şi 10 Mb/s) cu o gamă de parametrii spaţiali şi

temporali mărită (rezoluţii, rate de cadru etc.) • se poate coda şi semnal video întreţesut. • Aplicaţiile pentru aceste rate de bit sunt difuziunea multimedia sau acces interactiv la resurse

multimedia, la o calitate comparabilă cu televiziunea digitală. Funcţionalităţile bazate pe conţinut: • Suportă codarea şi decodarea separată a obiectelor scenei (VO). • Aceasta permite interactivitatea şi reprezentarea flexibilă a conţinutului de VO în imagini sau

video fără o separare suplimentară la recepţie.

Page 16: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

16

• Pentru codarea hibridă a datelor video (imagini naturale şi sintetice) care poate să apară, de exemplu, la codarea unor scene virtuale, facilităţile bazate pe conţinut permit mixarea VO din diferite surse cu obiecte sintetice cum ar fi un fundal virtual.

• Se poate folosi: • Codarea video convenţională (imagini dreptunghiulare ca la MPEG-1/2) implică

predicţia/compensarea mişcării urmată de codarea texturii.

• În cazul codării bazate pe conţinut, unde imaginea poate avea o formă arbitrară, este inclusă şi

codarea formei şi a informaţiei de transparenţă.

Page 17: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

17

7.2. Codarea video sintetică • Obiectele sintetice fac parte din clasa obiectelor grafice (generate artificial). • Codarea video sintetică include:

- Descrierea parametrică a feţei şi corpului uman şi generarea fluxului video animat. - Codarea statică şi dinamică a suprafeţelor prin cartografierea 2D/3D a texturii. - Codarea texturii pentru diferite unghiuri.

7.2.1 Animaţia feţei. • Pentru generarea unei feţe animate, forma, textura şi expresia feţei sunt controlate de parametrii

FDP (Facial Definition Parameters) şi de FAP (Facial Animation Parameters). • Înaintea sintetizării, obiectul faţă reprezintă o faţă cu o expresie neutră generată anterior. • Obiectul poate primi parametrii de animaţie din fluxul codat ceea ce va produce animaţia:

expresii, vorbire etc. • În acelaşi timp pot fi transmişi parametrii de definire pentru a schimba faţa dintr-o faţă generală

într-una particulară cu formă şi textură proprie. • Modelul pentru animaţia feţelor din MPEG-4 oferă o codare eficientă a parametrilor de animaţie şi

permite generarea unui număr nelimitat de modele de feţe. • Limbajul de definire a scenei (BIFS) include în sintaxă parametrii pentru animaţia feţei:

Page 18: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

18

• Parametrii de definire a feţei (FDP): pot fi încărcaţi dintr-un set predefinit pentru vârstă, sex, culoarea pielii (textură) sau pot fi specificaţi la începutul sesiunii împreună cu informaţia despre animaţie.

Page 19: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

19

• Parametrii de animaţie a feţei (FAP):

Page 20: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

20

• Tabelul de animaţie a feţei (FAT): este inclus în FDP şi conţine puncte de control ale suprafeţei feţei pentru controlul mişcării.

• Tehnici de interpolare a feţei (FIT): folosite pentru a obţine setul complet de FAP pentru a se obţine efectul de animaţie.

• Poate fi folosită o colecţie de FAP pentru articularea vorbirii şi a expresiei vorbitorului.

Page 21: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

21

7.2.2. Animaţia corpului. • Este inclusă în versiunea 2 a MPEG-4 pentru a completa animaţia feţei/capului. • Conţine de asemenea parametrii de definire şi animaţie ai corpului. 7.2.3. Suprafeţe 2D animate. • O suprafaţă 2D este o descompunere a unui obiect 2D planar în poligoane. • Vârfurile poligoanelor se numesc nodurile suprafeţei. • În MPEG-4 suprafaţa este descompusă numai în triunghiuri. • O suprafaţă 2D dinamică reprezintă geometria 2D şi informaţia de mişcare a tuturor nodurilor

suprafeţei pe o perioadă de timp. • Un exemplu de suprafaţă 2D:

Page 22: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

22

• Prin deformarea suprafeţei peştele poate fi animat eficient (similar cu înotul acestuia). • O suprafaţă dinamică se obţine pornind de la o suprafaţă iniţială prin modificarea nodurilor

suprafeţei în funcţie de vectorii de mişcare ai fiecăruia. • Textura (culoarea) din fiecare triunghi a suprafeţei 2D este deformată în funcţie de mişcarea

nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate redusă. • Transformări afine: translaţie, rotaţie, scalare şi deformare. • Sunt definiţi şase parametri pentru transformările afine. • mişcarea suprafeţei 2D poate fi reprezentată în mod compact prin mişcarea nodurilor din care se

pot reconstrui prin transformări afine suprafeţele deformate pentru a reprezenta mişcarea. • Reprezentarea prin suprafeţe 2D a obiectelor video permite următoarele facilităţi: a) Manipularea obiectelor video:

- Mixarea imaginilor virtuale (generate de calculator) cu imagini reale în mişcare. - Animaţia/înlocuirea obiectelor sintetice: Un obiect video natural poate fi înlocuit cu alt obiect

video care poate fi extras din alt videoclip sau poate fi înlocuit dintr-o imagine fixă folosind informaţia de mişcare a obiectului care este înlocuit.

- Interpolare spaţio-temporală: Modelarea mişcării suprafeţei poate permite o interpolare cu compensare a mişcării (de exemplu la creşterea ratei cadrelor).

Page 23: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

23

b) Compresia obiectelor video - Modelarea suprafeţelor 2D poate fi folosită la compresie pentru a transmite textura obiectelor

numai pentru unele cadre şi să animăm textura pentru cadrele intermediare. c) Indexarea video în funcţie de conţinut

- Reprezentarea prin suprafeţe permite obţinerea unei imagini de ansamblu a obiectului. - Reprezentarea prin suprafeţe oferă informaţia de traiectorie care poate fi folosită în găsirea

obiectelor cu o anumită mişcare. - Reprezentarea prin suprafeţe permite determinarea formei obiectului prin nodurile

poligoanelor care este mai eficientă decât determinarea formei obiectului reprezentat ca bitmap. 7.2.4. Scalarea în funcţie de punctul de observare. • Ia în considerare poziţia observatorului într-un spaţiu virtual 3D pentru a se transmite informaţia

vizibilă. • Numai o parte din informaţie este transmisă în funcţie de geometria obiectelor şi poziţia punctului

de observaţie. • Astfel se reduce cantitatea de informaţie transmisă. • Codarea eficientă a texturilor se face cu un algoritm de descompunere wavelet care permite

• scalabilitatea spaţială şi calitativă (până la 11 niveluri de scalare spaţială). • Codarea obiectelor de formă oarecare.

Page 24: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

24

• Transformarea wavelet permite codarea imaginii pornind de la o rezoluţie mică şi crescând progresiv rezoluţia.

• Astfel pentru decodarea unei imagini de rezoluţie minimă este suficient primul coeficient al transformatei wavelet.

• Pentru celelalte rezoluţii se face recompunerea cu algoritmul "zerotree".

Page 25: MPEG-4 MPEG4.pdf · 2011-03-25 · nodurilor triunghiurilor folosind o transformare parametrică. • Astfel de transformări se numesc transformări afine şi au în general complexitate

25

7.3. Interacţiunea cu utilizatorul • Interacţiune la client - implică schimbarea conţinutului la terminalul utilizatorului. De exemplu modificarea atributelor unui nod de descriere a scenei (schimbarea poziţiei unui obiect, obiect vizibil/invizibil, schimbarea dimensiunii textului) poate fi realizată prin intermediul unei tastaturi sau mouse. • Interacţiune la server - implică schimbarea conţinutului transmisiei iniţiată printr-o acţiune a

utilizatorului. Necesită un canal de comunicaţie utilizator-server.