Lucrul cu date dependente de timp (Time-Based Media)
Orice date care îsi modifica structura în timp pot fi considerate ca dependente de timp (time based). Clip-urile audio, secventele MIDI, filmele si animatiile sunt forme comune ale datelor dependente de timp. Aceste date pot proveni dintr-o varietate de surse, cum ar fi fisiere locale sau din retea, camere video sau microfoane etc.
Figura 8.1. Modelul de procesare a datelor
O caracteristica fundamentala a datelor dependente pe timp este ca necesita livrarea informatiei în timpi stricti (dead-lines) pentru procesare si livrare a rezultatelor. Din acest motiv, datele multimedia dependente de timp poarta denumirea de streaming media, în sensul ca trebuie transmis un stream care trebuie receptionat si prelucrat într-un interval de timp care sa duca la obtinerea unui rezultat rezonabil.
Spre exemplu, când este rulat un film, daca informatia nu poate fi prelucrata si transmisa suficient de rapid, pot aparea întârzieri (delays la rularea filmului. Pe de alta parte, daca datele nu pot fii receptionate si prelucrate suficient de rapid, rularea poate parea instabila deoarece peste unele cadre se sare intentionat (dropped frames) în tentativa de a mentine numarul de cadre pe secunda (playback rate) constant.
8.2.1. Stream-uri media
Un stream media este de fapt o secventa de date multimedia care poate fi obtinuta dintr-un fisier local, din retea sau capturata de la o camera video sau un microfon
De obicei, stream-urile media contin canale multiple de date care se numesc piste (tracks). Aceste stream-uri media care contin mai multe piste poarta în general denumirea de str 838j98i eam-uri media multiplexate sau complexe. Demultiplexarea este procesul de extragere a unei piste individuale dintr-un stream media complex.
Tipul pistei identifica tipul de date pe care acesta îl contine, de exemplu video sau audio
Un stream media poate fi identificat prin locatia în care se afla si protocolul folosit la accesarea lui. Spre exemplu, un URL ar putea fi folosit pentru a descrie locatia unui fisier de tipul QuickTime într-un sistem local sau aflat la distanta. Daca fisierul este local, poate fi accesat prin protocolul FILE. Pe de alta parte, daca fisierul se afla pe un server WEB, poate fi accesat prin protocolul HTTP. Un locator media (media locator) este o cale de a identifica locatia unui stream media în cazul în care un URL nu poate fi folosit.
Stream-urile media pot fi clasificate în functie de modul în care datele sunt distribuite:
de tipul pull (trase), caz în care transferul de date este initiat si controlat de catre client. Spre exemplu, HTTP (Hypertext Transfer Protocol) si FILE sunt protocoale de tipul pull
de tipul push (împinse), caz în care server-ul initiaza si controleaza transferul de date. Spre exemplu, RTP (Real-time Transport Protocol) este este un protocol de tip push folosit pentru stream-ingul media. În mod similar, protocolul SGI Media Base este un protocol de tip push folosit la VOD (Video-On-Demand).
Urmatoarele tabele identifica o parte din caracteristicile formatelor media uzuale. Când se alege un format anume in ideea utilizarii lui, este important sa se tina cont de caracteristicile acelui format, de mediul caruia îi este destinat si de asteptarile audientei. De exemplu, daca
se doreste transmiterea de continut media prin Internet, trebuie tinut cont de largimea de banda
Coloana "Solicitare Procesor" reprezinta puterea de procesare necesara pentru procesarea optima a formatului specificat. Coloana "Largime de banda" reprezinta viteza de transmisie necesara pentru a trimite si a receptiona date suficient de rapid pentru o prezentare optima.
Format |
Tip continut |
Calitate |
Solicitare Procesor |
Largime de banda |
Cinepak |
AVI |
Medie |
Scazuta |
Ridicata |
MPEG-1 |
MPEG |
Ridicata |
Ridicata |
Ridicata |
H.261 |
AVI |
Scazuta |
Medie |
Medie |
H.263 |
QuickTime |
Medie |
Medie |
Scazuta |
JPEG |
QuickTime |
Ridicata |
Ridicata |
Ridicata |
Indeo |
QuickTime AVI |
Medie |
Medie |
Medie |
Tabel 8.2. Formate video uzuale
Format |
Tip continut |
Calitate |
Solicitare Procesor |
Largime de banda |
PCM |
AVI |
Ridicata |
Scazuta |
Ridicata |
Mu-Law |
AVI |
Scazuta |
Scazuta |
Ridicata |
ADPCM |
AVI |
Medie |
Medie |
Medie |
MPEG-1 |
MPEG |
Ridicata |
Ridicata |
Ridicata |
MPEG |
MPEG |
Ridicata |
Ridicata |
Medie |
GSM |
WAV |
Scazuta |
Scazuta |
Scazuta |
G.723.1 |
WAV |
Medie |
Medie |
Scazuta |
Tabel 8.3. Formate audio uzuale
Unele dintre aceste formate au fost proiectate pentru anumite aplicatii si necesitati. Formatele care necesita calitate si latime de banda ridicate sunt în general destinate aplicatiilor stocate local sau pe CD-uri. Formatele H.261 si H.263 sunt folosite în general la aplicatii de tip video conferinta (video conferencing) si sunt optimizate pentru stream-uri video care nu implica multa actiune. Similar, G.723 este folosit pentru a stoca/transmite cuvinte la o rata mica pentru aplicatiile telefonice.
8.2.2. Prezentarea datelor de tip media
În majoritatea cazurilor datele media sunt de tip audio sau video si pot fi prezentate prin intermediul dispozitivelor de iesire (output devices), cum ar fi boxele (speakers) sau monitorul. Stream-urile media pot fi trimise si spre alte destinatii, spre exemplu pot fi salvate într-un fisier sau transmise prin retea. În general aceste destinatii poarta numele de data sink.
8.2.2.1. Controlul prezentarii
În timpul prezentarii unui stream media, se folosesc controale de genul celor folosite la VCR pentru a permite utilizatorului controlul rularii. Spre exemplu, un panou de comanda pentru un film ar trebui sa aiba functii care sa permita pornirea, oprirea, si derularea înainte/înapoi a filmului.
8.2.2.2. Latenta
În multe cazuri, de obicei când este necesara prezentarea unui stream media care provine din retea, prezentarea stream-ului media nu poate începe imediat. Timpul scurs pâna la începerea prezentarii poarta numele de latenta de start (start latency). Pentru utilizatori aceasta latenta este sesizabila ca timpul scurs între momentul în care s-a apasat pe butonul de start si momentul în care începe rularea efectiva.
Prezentarile multimedia combina de obicei câteva tipuri de date dependente de timp într-o prezentare sincronizata. De exemplu, în timpul unui slide-show poate rula în fundal muzica, sau, în cadrul unui clip audio sau video, se poate face sincronizarea cu un text animat. Când prezentarea unor stream-uri media multiple este sincronizata, este esential sa se tina cont de latenta fiecarui stream, în caz contrar rularea diferitelor stream-uri putând începe la momente diferite.
8.2.2.3. Calitatea prezentarii
Calitatea prezentarii stream-urilor media depinde de mai multi factori, printre care:
schema de compresie utilizata
capabilitatea de rulare a sistemului care ruleaza stream-urile respective
largimea benzii disponibile (pentru stream-urile media primite prin retea
În general, cu cât este mai mare calitatea, cu atât este mai mare fisierul si sunt necesare o putere de calcul mai ridicata si o largime de banda mai mare. Largimea de banda este în general reprezentata de numarul de biti care sunt transmisi într-o anumita perioada de timp (bit rate).
Pentru a realiza prezentari video de înalta calitate, numarul de cadre (frames) afisat în fiecare perioada de timp (frame rate) trebuie sa fie cât mai mare posibil. În general, filme care au 30 de cadre pe secunda sunt considerate insesizabil diferite de distributiile TV pe scara larga sau de casetele video (ca si senzatie de continuitate, nu ca si calitate).
8.2.3. Procesarea datelor multimedia
În majoritatea cazurilor asupra datele din stream-ul media se efectueaza diverse operatii de procesare înainte de a fi prezentate utilizatorului. În general, acestea sunt:
daca stream-ul este mutiplexat, sunt extrase pistele individuale;
daca pistele individuale sunt comprimate, ele sunt decodate;
daca este necesar, pistele sunt convertite într-un format diferit;
asupra pistelor decodate se aplica filtre de efect (daca se doreste).
Apoi, pistele sunt transmise dispozitivului de iesire adecvat. Daca stream-ul media trebuie stocat în loc de a fi transmis unui dispozitiv de iesire, stagiile de procesare difera putin. Spre exemplu, daca se doreste realizarea capturii audio si video de la o camera, apoi procesarea si în final salvarea ei într-un fisier se efectueaza urmatoarele operatii:
se realizeaza capturarea pistelor audio si video;
se aplica filtrele de efect pistelor neprelucrate (daca se doreste);
pistele individuale se codeaza;
pistele comprimate sunt multiplexate într-un singur stream; media
stream-ul media multiplexat se salveaza într-un fisier.
8.2.3.1. Multiplexoare si demultiplexoare
Un demultiplexor extrage pistele individuale ale datelor de tip media dintr-un stream media multiplexat. Un multiplexor executa functia inversa, adica ia pistele individuale si le combina într-un singur stream media multiplexat.
8.2.3.2. Codec-urile
Un codec executa operatiile de comprimare/decomprimare a datelor de tip media. Când o pista este codata, ea este convertita într-un format comprimat potrivit pentru stocare sau transmisie. Când este decodata, este convertita într-un format necomprimat (raw), care este potrivit pentru prezentare
Fiecare codec are anumite formate de intrare pe care le poate trata si anumite formate de iesire pe care le poate genera. În anumite situatii, o serie de codec-uri pot fi utilizate pentru a realiza conversia dintr-un format în altul.
8.2.3.3. Filtrele de efect
Un filtru de efect modifica datele dintr-o pista într-un anumit mod, de obicei pentru a crea efecte speciale cum ar fi cel de estompare (blur) sau ecou (echo).
Filtrele de efect pot fi categorizate ca filtre pre-procesare sau filtre post-procesare, dupa cum sunt folosite, înainte sau dupa ce codec-ul proceseaza pista. În general, filtrele de efect sunt aplicate datelor necomprimate (raw data).
8.2.3.4. Redarea
Redarea (rendering) este procesul prin care rezultatul final este prezentat utilizatorului. Pentru audio, dispozitivul care se ocupa de redare (rendering device) este de obicei placa de sunet a calculatorului, care trimite sunetul spre boxe. Pentru video, dispozitivul care se ocupa de redare este de obicei monitorul calculatorului.
Anumite dispozitive specializate suporta mixarea (compositing). Mixarea datelor dependente de timp este procesul prin care se combina track-uri multiple de date într-un singur mediu de prezentare. Spre exemplu, suprapunerea unui text peste o secventa video este o forma comuna de mixare. Mixarea poate fi realizata atât hardware cât si software. Spre exemplu, pentru mixarea hardware se pot folosi placi de achizitie profesionale (cele mai cunoscute sunt cele produse de MIRO) sau software specializat (cel mai cunoscut este Adobe Premiere, produs al firmei Adobe)
8.2.4. Captura
Datele media dependente de timp pot fi capturate direct de la o sursa pentru procesare si rulare. Spre exeplu, date audio pot capturate de la un microfon, în timp ce datele video pot fi obtinute de la o camera video. Captura poate fi definita ca si faza de intrare pentru modelul de procesare media.
Un dispozitiv de captura poate captura stream-uri media multiple. Spre exemplu, o camera video poate captura atât video cât si audio. Captura si manipularea acestor stream-uri se poate face separat sau împreuna, caz în care track-urile video si audio sunt combinate într-un singur stream multiplexat.
Pentru realizarea capturii datelor de tip media dependente de timp este necesar hardware specializat. Spre exemplu, pentru a realiza captura audio sunt necesare un microfon si o placa de sunet. Similar, pentru realizarea capturii video este necesar un TV Tuner care suporta realizarea de captura video.
Dispozitivele de captura pot fi categorizate ca surse de tip push sau pull. Spre exemplu, o camera video este o sursa de tip pull, în sensul ca utilizatorul controleaza începerea/terminarea capturii. Un microfon este o sursa de tip push deoarece el capureaza continuu stream audio
Formatul stream-ului media capturat depinde de procesarea facuta de dispozitivul de captura. Unele dispozitive fac foarte putine prelucrari si transmit datele mai departe necomprimate. Alte dispozitive de captura executa operatii de comprimare înainte de transmisie
Controlul capturii este necesar pentru a permite utilizatorului sa administreze procesul de captura. Spre exemplu, un panou de control a capturii poate permite utilizatorului sa specifice rata si tipul codarii care sa se foloseasca pentru stream-ul capturat si, de asemenea, sa porneasca si sa opreasca procesul de captura.
|