Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Documente hipermedia pe Web
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
Modele si metodologii n7f1ff
SMIL - un limbaj pentru prezentari multimedia sincronizate pe Web
Extensii multimedia bazate pe timp pentru HTML (HTML+TIME)

--------------------------------------------------------------------------------

1. Modele si metodologii
Cresterea masiva a numarului de servicii si produse Web este data de utilizarea unui tot mai bogat continut informational: imagini, video si sunet.

Combinarea si integrarea acestor medii formeaza multimedia, utilizata pe scara larga in reprezentarea si interschimbarea informatiilor. Diverse obiecte/documente multimedia incluzind hiperlegaturi definesc conceptul de hipermedia.

Hipermedia isi gaseste utilizari in variate domenii ca:

televiziune pe Web (TV Web)

prezentari multimedia pe CD-ROM

televiziune/video in interactiune cu utilizatorul sau la cerere

In aceste arii trebuie avuta in vedere sincronizarea prezentarilor multimedia.

Trebuie facuta distinctia intre documente hipermedia si obiecte hipermedia. Obiectele in general reprezinta date monomedia (ca filme MPEG si imagini GIF, identificate de URI ori tipuri MIME). Documentele pot fi privite ca o colectie de obiecte, descriind meta-informatiile referitoare la obiectele componente. Aceste informatii includ relatiile temporale, spatiale si de continut intre mai multe obiecte si atributele unor obiecte individuale. Ca exemple de limbaje care sa formateze astfel de documente se pot mentiona HSL sau SMIL (vezi mai jos).

1.1 Model matematic
Prezentarea unui document hipermedia temporal poate fi modelata de un digraf aciclic (DAG), nodurile reprezentind obiecte media si arcele reprezentind evolutia in timp a acestora.


Graful DAG al unei prezentari
Intuitiv, un arc de la virful v1 la virful v2 inseamna ca v1 si v2 sint rulate secvential, v1 inaintea lui v2, fara a se suprapune in timp. In orice moment al unei prezentari, poate exista o multime (posibil vida) de obiecte evoluind pe ecran, acest lucru fiind modelat ca un set de fire de executie concurente, fiecare fir (thread) prezentind un obiect activ. Numarul thread-urilor se modifica in mod dinamic pe parcursul prezentarii multimedia.




Modelul de sincronizare, Media Relation Graph (MRG), se bazeaza pe rafinarea grafului temporal descris. Pentru reprezentarea informatiilor MRG este necesar un limbaj de descriere, de exemplu Hypermedia Synchronization Language (HSL) si Synchronized Multimedia Integration Language (SMIL), bazate pe SGML si, respectiv, pe XML.

Exista doua nivele de sincronizare multimedia: sincronizare intra-obiect si sincronizare inter-obiect. Sincronizarea inter-obiect priveste relatia temporala in cadrul aceluiasi obiect, cum ar fi un video-clip, iar sincronizarea inter-obiect se refera la relatiile temporale dintre mai multe obiecte. Sincronizarea inter-obiect se poate partitiona in doua sub-categorii: sincronizare de nivel-scazut si sincronizare de nivel ridicat, cea din urma fiind bazata pe punctele de sfirsit ale derularii fiecarui obiect (mai des utilizata).

Pentru specificarea sincronizarii de nivel ridicat se pot folosi mai multe metode ca: sintaxa declarativa, specificatii relationale, specificatii temporale.

Putem prezenta o specificatie relationala, fiecare obiect avind asociat un interval temporar. Date doua intervale temporale, se pot enumera 13 relatii mutual exclusive, relatiile lui Allen. In figura s-au ilustrat numai 7 din cele 13 relatii, in urma suprimarii relatiilor inverse (de exemplu after este relatia inversa a lui before).


Relatiile temporale ale lui Allen si corespondenta lor cu graful MRG
Cele 7 relatii se numesc: before, meets, overlaps, during, starts, finishes, equals.

Se poate utiliza si modelul cu relatii bazate pe instantanee de timp. Date doua momente de timp, exista 3 relatii mutual exclusive: inainte de - before (<), simultan cu - simultaneous to (=) si dupa - after (>).

Exista si modelul hibrid, bazat pe ambele abordari de mai sus: obiectele sint modelate ca intervale temporale (continue), iar momentele de timp de inceput/sfirsit ale obiectelor sint considerate punctuale.

Relatii bazate pe punctele de sfirsit
Relatiile lui Allen acopera toate posibilele relatii dintre doua intervale de timp, putind descrie ce s-a intimplat intre doua intervale temporale in trecut (dupa ce executia celor doua obiecte corespunzatoare intervalelor de timp s-a incheiat). Dezavantajul este ca aceste relatii nu pot specifica in viitor ceea ce s-ar putea intimpla. De exemplu, in relatia pa overlaps pb, pb nu poate incepe in cadrul intervalului pa daca punctul de sfirsit al lui pa este necunoscut.

Modelul care trebuie luat in consideratie trebuie sa foloseasca si valori discrete de timp. Exista 12 relatii intre 4 puncte (start si end) ale doua intervale temporale. De observat ca avem 2 relatii implicite care sint indeplinite intotdeauna: a.start<a.end si b.start<b.end.

a.end<b.start a.end=b.start a.end>b.start a.start<b.end a.start=b.end a.start>b.end a.start<b.start a.start=b.start a.start>b.start a.end<b.end a.end=b.end a.end>b.end
Putem restringe relatiile de mai sus, considerind doar 10 din ele. Astfel avem:

a.end<=b.start a.end>b.start a.start<b.end a.start=b.end a.start<b.start a.start=b.start a.start>b.start a.end<b.end a.end=b.end a.end>b.end
De notat ca relatiile nu sint mutual exclusive, cum erau relatiile lui Allen. Tabelul de implicatii ale acestora este urmatorul:

a.end<=b.start == a.start<b.end, a.start<b.start, a.end<b.end

a.end>b.start == nici o informatie

a.start<b.end == nici o informatie

a.start=b.end == a.end>b.start, a.start>b.start, a.end>b.end

a.start<b.start == a.start<b.end

a.start=b.start == a.end>b.start, a.start<b.end

a.start>b.start == a.end>b.start

a.end<b.end == a.start>b.end

a.end=b.end == a.end>b.start, a.start<b.end

a.end>b.end == a.end>b.start

Diagrama Venn a celor zece relatii este figurata mai jos:


Diagramele Venn ale relatiilor
1.2 Graful relatiilor media (MRG)
Nu toate dintre cele 10 relatii prezentate sint necesare sa specifice relatiile temporale in cadrul unei prezentari multimedia. Vom defini pentru inceput trei operatori.

Fie relatiile "a.end<=b.start", "a.start=b.start" si "a.end=b.end", numite SerialLink, StartSync si EndSync, respectiv.

Pentru (a SerialLink b), a se numeste parinte si b se numeste copil.

Pentru (a StartSync b) si (a EndSync b), a si b se numesc perechi.

Fiecare dintre acesti operatori impune o restrictie temporala a operanzilor.

Prin compunerea operatorilor definiti mai sus putem exprima toate cele zece relatii considerate.

Fie i un interval de timp. Atunci avem:

(a EndSync i StartSync b) == a.end>b.start

(a StartSync i EndSync b) == a.start<b.end

(b SerialLink a) == a.start=b.end

(a StartSync i SerialLink b) == a.start<b.start

(b StartSync i SerialLink a) == a.start>b.start

(a SerialLink i EndSync b) == a.end<b.end

(b SerialLink i EndSync a) == a.end>b.end

Intuitiv, (a SerialLink b) inseamna ca obiectele a si b evolueaza secvential, iar (a StartSync b) si (a EndSync b) denota faptul ca obiectele a si b incep si, respectiv, se sfirsesc in acelasi timp.

Cei trei operatori pot fi reprezentati in cadrul grafului MRG prin trei tipuri de arce. Graful prezentat la inceputul capitolului nu putea exprima StartSync si EndSync.

Nodurile, in MRG, pot fi de doua tipuri: obiecte media obisnuite si obiecte de intirziere (utile in vederea realizarii sincronizarii). Punctul de inceput al unei prezentari multimedia este reprezentat de nodul root.

Operanzii operatorilor definiti pot avea tipurile "obiect", "interval" sau "nod", in functie de context.

Fiecare obiect are asociat si un atribut definit de utilizator, "time to live" (ttl), specificind intervalul de timp cit va fi activ obiectul pe ecran (timpul de viata efectiva a obiectului). Un obiect de intirziere poate avea atasat atributul ttl.

1.3 Validarea specificatiilor MRG
Inconsistentele temporale, cantitative si calitative, trebuiesc detectate inainte de pornirea unei prezentari. Inconsistentele de calitate sint cauzate de relatii temporale conflictuale, iar cele cantitative de durate de timp incompatibile. Datorita simplitatii modelului MRG, inconsistentele cantitative sint excluse, deci consistenta cantitativa este garantata prin constructie.

Pentru detectarea inconsistentelor calitative, graful MRG se transforma intr-un alt graf, de validare temporala (Temporal Validation Graph - TVG) care contine doua tipuri de noduri:

noduri de tip start care contin unul/mai multe puncte de start ale virfurilor din MRG.

noduri de tip end care contin unul/mai multe puncte de end ale virfurilor din MRG.


Grafurile MRG si TVG
Aceasta transformare satisface urmatoarele reguli:

Pentru fiecare nod a din MRG, exista doua noduri as si ae in TVG corespunzatoare lui a.start si a.end respectiv. Exista de asemeni un arc de la as la ae (de tip EndSync).

Daca (a StartSync b), atunci a.start si b.start sint intr-un unic nod start al lui TVG.

Daca (a EndSync b), a.end si b.end se gasesc intr-un unic nod end al lui TVG. Daca (a SerialLink b), atunci exista un arc (de tip StartSync) de la ae la bs.

Graful TVG are urmatoarele proprietati importante:

Daca exista drum de la as la bs, atunci a.start<b.start.

Daca exista drum de la ae la be, atunci a.end<b.end.

Daca exista drum de la as la be, atunci a.start<b.end.

Daca exista drum de la ae la bs, atunci a.start<=b.start.

Pentru asigurarea validitatii, urmam procedura:

pentru a adauga (a SerialLink b), trebuie sa nu existe drumuri de la bs la ae.

pentru a adauga (a StartSync b), trebuie sa nu existe drumuri de la as la bs si de la bs la as.

pentru a adauga (a EndSync b), trebuie sa nu existe drumuri de la ae la be si de la be la ae.

Aceasta operatiune poate fi implementata folosind maniera DFS standard. Complexitatea timp a fiecarui adaugari de arce la MRG este lineara.

Din proprietatile grafului TVG, putem deduce doua reguli privind suprapunerea temporala a executiei obiectelor:

daca as=bs sau ae=be, atunci a si b se suprapun in timp.

daca este drum de la ae la bs sau de la be la as, atunci a si b nu se suprapun in timp.

1.4 Planificarea unei prezentari multimedia
In functie de comportamentul in timp, obiectele media pot fi clasificate astfel:

obiect marginit

Timpii de inceput si de sfirsit ai evolutiei obiectului sint cunoscuti. De exemplu, texte sau imagini avind atributul ttl specificat, resurse video sau audio pre-inregistrate etc. Vom denumi obiectele audio/video continue, iar obiectele text/imagine discrete.

obiect neterminat

Timpul de start al unui obiect este cunoscut, dar timpul de sfirsit nu.

obiect nepredictibil

Obiect care poate fi inceput de o hiper-legatura si terminat de alta.

Pentru majoritatea documentelor multimedia, duratele (ttl) obiectelor audio/video nu sint specificate, deci nu putem obtine timpii lor de sfirsit la nivelul procesarii documentului. Pot apare probleme si la transferul prin retea a unor obiecte continue aflate la distanta. Astfel, toate obiectele care nu au explicit specificat atributul ttl vor fi considerate obiecte neterminate. In fapt, prezentarile multimedia pe Web au un caracter nedeterminist.

Un obiect, din cadrul unei prezentari, poate fi in una din starile: activat, in executie, oprit, terminat, expirat sau dezactivat.


Editarea unei prezentari cu verificarea validitatii
Daca timpul de viata a unui obiect expira inainte de sfirsitul lui natural, obiectul va trebui oprit. Ce se intimpla cu obiectul in tranzitia dintre starea de terminare si cea de dezactivare? In cazul unui obiect discret, ramine pe ecran pina la dezactivare. Pentru un obiect video, ultimul cadru persista pe ecran, iar in cazul unui obiect audio, isi pastreaza componentele vizuale (e.g. controlul volumului), daca exista, vizibile. Acest comportament este, insa, dependent de implementare.

Activarea unui obiect a este guvernata de regulile:

parintii lui a si parintii perechilor EndSync sint dezactivati si pentru fiecare b, cu (a StartSync b), parintii lui b si toti parintii perechilor EndSync sint dezactivati.

a si toate perechile sale StartSync intra in starea activat, daca regula 1. este satisfacuta.

Dezactivarea unui obiect a respecta regulile:

a si toate perechile sale EndSync au intrat in starea de terminare.

a si toate perechile sale EndSync intra in starea de dezactivare in acelasi timp, daca regula 1. este satisfacuta.


Asocierea tipurilor de obiecte multimedia grafului prezentarii
Politicile de activare/dezactivare pot fi prezentate de algoritmul de mai jos, bazat pe evenimente, utilizat de planificatorul (navigatorul) prezentarii multimedia:

onContentEnd(object a) A if (a.ttl nespecificat) onFinished(a);
S

onTTLExpired(object a) A onFinished(a);
S

onFinished(object a) A a.state = Finished; for (p in perechile EndSync ale lui a) if (p.state != Finished) return; for (r in (this object && perechile EndSync)) A
Deactivate(r); for (c in r.children) if CanBeActivated(c) A
Activate(c si perechile StartSync ale lui c);
Play(c si perechile StartSync ale lui c);
S
S
S

Modelul prezentat se preteaza pentru realizarea unui sistem de proiectare si prezentare multimedia, folosind un limbaj de marcare care sa permita sincronizarea. Modelul formal bazat pe relatii temporale poate fi utilizat si in cadrul procesului de planificare a prezentarii.

2. SMIL - un limbaj pentru prezentari multimedia sincronizate pe Web
Pentru a crea prezentari multimedia pe Web, similare celor de la TV, Consortiul WWW a dezvoltat relativ recent (a doua jumatate a anului 1998) un limbaj de specificare nou, descendent din XML 1.0, intitulat SMIL (Synchronized Multimedia Integration Language), oferind urmatoarele facilitati:

descrierea comportamentului temporal al unei prezentari multimedia incluzind elemente text, audio, video, animatii

descrierea facila a aranjarii elementelor prezentarii in cadrul ecranului

asocierea de hiperlegaturi obiectelor multimedia in intregul lor sau partilor componente

SMIL este asemanator HTML-ului, beneficiind de flexibilitatea limbajului XML (posibilitati de extindere) si imprumuta trasaturi ale foilor de stiluri specificate de CSS2 (Cascading Style Sheets - level 2).

2.1 Structura unui document SMIL
Asa cum este de asteptat, un document SMIL este bazat pe marcatori delimitati intre < si >:

<smil>
<head>
...
</head>
<body>
...
</body>
</smil>

Elementul <head> contine informatii independente de modul de desfasurare a prezentarii sau prezentarilor multimedia si defineste aranjamentul in pagina Web a acesteia (eventual folosind alternative de afisare a obiectelor multimedia).

Prin intermediul marcatorului <layout> se pot specifica pozitionari ale elementelor din corpul unui document SMIL, aceste pozitionari putind fi alese eventual dintr-un set de aranjamente (definite in diferite limbaje specifice: SMIL, CSS sau DSSSL).

Iata un exemplu care ilustreaza modul cum CSS2 poate fi utilizat ca o alternativa la aranjamentul de baza din SMIL:

<smil>
<head>
<switch> <!-- defineste o alternativa -->
<layout type="text/css"> <!-- definitii CSS2 -->
a region="r1" i A top: 20px; left: 20px; height: 200px; width: 300px S
a region="r2" i A top: 400px; left: 400px; height: 100px; width: 50px S
</layout>
<layout type="text/smil-basic-layout">
<!-- definitii SMIL -->
<region id="r1" top="20" left="20" height="200" width="300" />
<region id="r2" top="400" left="400" height="100" width="50" />
</layout>
</switch>
</head>
<body>
<par> <!-- doua obiecte multimedia evoluind in paralel -->
<video region="r1" src="videos/v1.rm" dur="30s" />
<video region="r2" src="https://www.infoiasi.ro/v/v2.rm" dur="2min" repeat="2" />
</par>
</body>
</smil>

In doua zone de pe ecran vor fi afisate doua resurse: un film incarcat de pe un server aflat la distanta (care va dura 2 minute si va fi repetat de doua ori) si un film luat de pe serverul local (cu o durata de 30 de secunde).

Tag-ul <layout> poate contine definitii a mai multor regiuni de ecran (prin <region>) sau a unui aranjament general, utilizat de toate celelalte elemente (folosind <root-layout>).

O regiune de document poate avea fixat un fundal (cu atributul background-color), o zona de ecran, in pixeli (atributele top, left, height, width), un identificator unic (atributul obligatoriu id), o maniera de incadrare a obiectului multimedia pe care il va contine: scalare, decupare, scrolling (atributul fit).

2.2 Corpul unui document SMIL
Corpul specificat de marcatorul <body> poate avea ca submarcaje: <a> si <anchor> (definesc ancore, similare celor din HTML), <ref>, <animation>, <audio>, <img>, <video>, <text>, <textstream> (specifice obiectelor multimedia incluse in document), <seq> si <par> (elemente de sincronizare).

Sincronizarea obiectelor multimedia
Exact ca in limbajele de programare paralela, exista doua tag-uri pentru rularea in maniera secventiala sau paralela a prezentarilor multimedia.

Submarcatorii lui <par> se pot suprapune in timp, dar ordinea textuala a aparitiei lor nu are nici o influienta asupra modului de sincronizare a prezentarii.

Un exemplu:

<par>
<audio id="a" begin="6s" src="audio/music.rm" />
</par>

Acuratetea sincronizarii dintre copiii (submarcatori definind obiecte multimedia) unui grup paralel este dependenta de implementare (cazul unor medii continue - flux audio sau video - prezentate in paralel).

Un navigator multimedia poate prezenta urmatoarele comportamente:

sincronizare hard (programul de prezentare multimedia sincronizeaza copiii dintr-un <par> prin intermediul unui ceas comun);

sincronizare soft (fiecare copil al tag-ului <par> are propriul lui ceas, care ruleaza independent de ceasurile altor copii prezenti in acelasi tag <par>).

Intervalul de timp poate fi specificat astfel: 03:40:10 (3 ore, 40 de minute si 10 secunde), 01:33 (o ora si 33 de minute), 15min, 39s, 5ms, 0.05s etc.

Pornirea, oprirea sau evolutia unei prezentari pot fi influientate de un eveniment ca "begin", "end" sau "valoare de timp".

Astfel, putem specifica urmatoarele:

<par>
<audio id="voice" begin="6s" src="voce.rm" />
<video begin="id(voice)(15s)" src="interviu.rm" />
</par>

Filmul interviului va incepe cu 15 secunde mai tirziu decit sonorul.

Pentru prezentari secventiale se utilizeaza tag-ul <seq>.

Pot fi folosite pentru ambele elemente <par> si <seq> atribute ca:

begin - timpul inceperii explicite a unui element,

dur - durata unei prezentari sau a unui obiect multimedia,

endsync - sfirsit sincronizat,

end - sfirsitul explicit al unui element,

region - regiunea unde se va derula prezentarea acustica sau vizuala a unui obiect,

repeat - modul de repetare a continutului unei prezentari.

Aceste atribute se pot regasi si in cadrul tag-urilor de specificare a fiecarei resurse multimedia incluse in documentul SMIL.

Desigur, elementele <seq> si <par> pot fi imbricate, conducind la prezentari multimedia cu sincronizari complexe.

Modelul sincronizarii

Pentru fiecare element implicat in sincronizare se definesc niste valori de timp de inceput, sfirsit si durata a rularii unui obiect multimedia:

fiecare element in SMIL poseda un timp de inceput implicit (implicit begin).

fiecare element poate avea asignat un timp de inceput explicit (explicit begin) prin atributul begin. Se considera eroare daca timpul de inceput explicit este mai mic decit cel implicit.

fiecare element de asemeni are un timp de sfirsit implicit (implicit end).

fiecare element poate, prin intermediul atributului end, sa aiba asociat un timp de sfirsit explicit (explicit end).

durata implicita de rulare este diferenta ditre timpii de sfirsit implicit si de inceput implicit.

fiecare element in SMIL poate avea asignata o durata explicita prin intermediul atributului dur.

timpul de inceput dorit (desired begin) al unui element este egal fie cu timpul de inceput explicit (daca a fost specificat), fie cu timpul de inceput implicit. Similar pentru timpul de sfirsit dorit (desired end).

durata dorita a unui element este diferenta dintre timpul de sfirsit dorit si timpul de inceput dorit.

fiecare element are un timp de inceput efectiv si un timp de sfirsit efectiv (sfirsitul efectiv al unui copil nu poate surveni mai tirziu decit sfirsitul efectiv al parintelui sau).

durata efectiva este calculata facind diferenta dintre timpul de sfirsit efectiv si cel de inceput efectiv.

In specificatia SMIL se prezinta in extenso cum sint calculati toti acesti timpi.

2.3 Alternative de prezentare
Tag-ul <switch> da posibilitatea autorului unei prezentari sa specifice un set de resurse alternative dintre care doar una va fi aleasa. Exista o serie de atribute de test care daca sint evaluate ca 'adevarat' atunci resursa multimedia va fi incarcata, decodata si rulata.

Ca atribute de test se pot mentiona:

system-bitrate

specifica largimea de banda (in biti pe secunda), depinzind de conexiunea folosita. Astfel, daca o resursa (de exemplu, un video-clip) nu poate fi transferata suficient de repede nu va mai fi incarcata (sau se poate furniza o locatie alternativa);

system-captions

permite autorilor multimedia distinctia dintre textul redundant echivalent unei portiuni audio a unei prezentari (de pilda un discurs), text destinat celor cu disfunctionalitati auditive sau celor care invata sa citeasca, si textul destinat intregii audiente;

system-language

va fi evaluat ca adevarat daca una dintre limbile indicate de utilizator se regaseste printre cele din lista de valori ale acestui parametru. Astfel, se poate renunta la incarcarea unui speech daca el nu este rostit in limba romana: <audio src="cuvintare.rm" system-language="ro" />

system-overdub-or-caption

se utilizeaza pentru a recunoaste daca o resursa (audio sau video) se doreste a fi titrata sau dublata (o media se poate inlocui cu alta);

system-screen-size

se evalueaza ca adevarat daca sistemul gazda suporta rezolutia specificata de acest atribut. In acest mod se pot concepe pagini independente de rezolutie, pentru fiecare rezolutie in parte putind fi oferita o alta prezentare;

system-screen-depth

adincimea paletei de culori in biti (valori tipice: 1, 8, 24 etc.). Se pot avea in vedere caracteristicile color ale calculatoarelor gazda pe care se ruleaza prezentarea (daca nu se pot suporta destule culori, nu mai are rost sa se incarce o imagine JPG cu 1 milion de culori, ci doar un GIF cu 256 de culori).

Exemple:
<switch>
<audio src="pinkfloyd/thewall-better_quality" system-bitrate="16000" />
<audio src="pinkfloyd/thewall-poor_quality" system-bitrate="8000" />
</switch>

<switch>
<video src="conference/opening_fr" system-language="fr, en, it" />
<audio src="conference/opening_ro" system-language="ro" />
</switch>

<par>
<audio src="vangelis/spiral.rm" />
<switch>
<par system-screen-size="1280X1024" system-screen-depth="16">
<video src="vangelis_hires/" />
<img src="vangelis_hires.jpg" begin="10s" />
</par>
<par system-screen-size="640X480" system-screen-depth="8">
<img src="vangelis_lores.jpg" />
</par>
</switch>
</par>

In ultimul exemplu, pe fundalul muzicii se va proiecta si video-clipul insotit de fotografia compozitorului numai daca rezolutia va permite acest lucru.

2.4 Hiper-legaturi
O prezentare a unui document SMIL poate implica alte aplicatii sau extensii (non-SMIL), datorita naturii sale de integrare a unor resurse eterogene. De exemplu, un navigator SMIL poate vizualiza o pagina HTML incorporata in documentul SMIL sau, invers, un agent HTML poate utiliza o extensie (plug-in) SMIL pentru a naviga printr-un document SMIL.

Legaturile se adreseaza prin intermediul URL-urilor, exact ca si la HTML.

Elementul <a> este foarte asemanator cu <a> din HTML 4.0, dar in SMIL este adaugat un atribut show controlind comportamentul temporal al sursei cind se selecteaza legatura pe care o defineste. Din considerente de sincronizare, <a> nu influienteaza sincronizarea subtag-urilor sale. Un marcaj <a> nu poate fi imbricat in alt <a>.

Atributul show poate avea urmatoarele valori:

"replace"

Prezentarea curenta este oprita si este inlocuita de resursa destinatie a legaturii definite de <a>. Daca browserul are implementat un mecanism de istoric al navigarii (history), prezentarea sursa va fi repornita cind utilizatorul se reintoarce la ea;

"new"

Prezentarea resursei destinatie incepe intr-un nou context (de exemplu intr-o noua fereastra), fara a afecta prezentarea curenta (ambele se desfasoara independent);

"pause"

Prezentarea curenta este oprita si prezentarea destinatie (nou incarcata) este inceputa intr-un nou context. La terminarea acesteia din urma, prezentarea initiala isi va continua rularea.

Un exemplu:

Prezentarea A

<a href="https://www.undeva.ro/prezentareaB#next">
<video src="video.rm" />
</a>

Prezentarea B (aflata la adresa https://www.undeva.ro/prezentareaB)

<seq>
<video src="video.rm" />
<par>
<video src="videos/1" region="window1" />
<video src="videos/2" region="window2" id="next" />
<a href="https://www.altundeva.ro" show="pause">
<text src="title.html" region="titles" />
</a>
</par>
</seq>

In acest exemplu, observam ca prezentarea A are o legatura in mijlocul prezentarii B. Daca legatura este urmata de catre navigator, atunci prezentarea va debuta de la timpul de inceput efectiv al elementului cu identificatorul next (in acest caz, un video-clip).

Functionalitatea lui <a> este limitata la asocierea unei legaturi catre un obiect multimedia in intregul lui. Tag-ul <anchor> ofera in plus:

asocierea unei legaturi la o subparte temporala sau spatiala a unui obiect multimedia, prin atributul href

crearea unei subparti a unui obiect multimedia utilizind atributul id

impartirea in subparti spatiale a unui obiect, prin atributul coords

divizarea in cuante de timp a unui obiect, folosind atributele begin si end (valorile acestora sint relative la inceputul obiectului respectiv)

Un exemplu in care durata unui film este impartita in doua subintervale de timp, cite o legatura diferita fiind asociata fiecarui subinterval:

<video src="https://www.infoiasi.ro/fct99/opening">
<anchor href="https://www.infoiasi.ro/fct99/text/discurs.txt" begin="0s" end="50s" />
<anchor href="https://www.infoiasi.ro/fct99/text/traducere.txt" begin="51s" end="2min" />
</video>

Utilizind aceasta facilitate, pot fi create imagini senzitive (ca hartile de coordonate din HTML) si legaturi temporale (dinamice).

2.5 Obiecte multimedia
Obiectele multimedia constituie actorii unei prezentari multimedia, fiind incluse prin referinte folosindu-se URL-uri. Mai general, sint utilizate URI-uri (Uniform Resource Identifiers).

Autorii unei prezentari multimedia pot incadra fiecare obiect intr-una din categoriile: animatie, audio, imagine, video, text sau flux text, specificate de tagurile <animation>, <audio>, <img>, <video>, <text>, <textstream> respectiv. Cind sint in dubiu, autorii pot folosi <ref>, tag generic desemnind orice element multimedia (lasa deschideri pentru alte tipuri de media, de exemplu lumi virtuale 3D).

Fiecare tag multimedia poate avea si urmatoarele atribute:

alt

descrierea alternativa a unui obiect, vizibila in caz ca agentii utilizator nu-l pot afisa

author

autorul respectivului obiect multimedia

copyright

specifica drepturile de autor

type

tipul obiectului (valori MIME. De exemplu: image/jpeg sau text/plain)

title

titlul asociat fiecarui obiect multimedia


Vizualizarea unei prezentari SMIL folosind player-ul GRiNS
2.6 Implementari
Cu toate ca SMIL este un limbaj de specificare foarte tinar si in continua dezvoltare, deja exista implementate unelte de creare a documentelor SMIL: CWI Grins, TAG Editor 2.0, VEON, plus agenti utilizator (navigatoare): CWI Grins, Helio Barbizon, HPAS, Real G2, Works Lp player etc. Validarea unui document SMIL se poate realiza cu Validator.


Vizualizarea unei prezentari multimedia incluzind text, imagini si video cu HPAS


Metodologia de creare a unei prezentari multimedia folosind RealPlayer G2 comporta mai multi pasi (vezi si figura):

Utilizarea uneltelor de proiectare (authoring) pentru scrierea documentelor SMIL, prelucrarea si codificarea resurselor multimedia;

Crearea si stocarea pe server a fisierelor necesare prezentarii: SMIL, RealAudio/Video (.rm), RealText (.rt), RealPix (.rp), imagini (.gif/.jpg).

Folosind RealPlayer G2, accesarea prezentarii multimedia de pe Internet. RealPlayer G2 poate fi utilizat ca plug-in pentru Netscape sau ca aplicatie de sine-statatoare.

2.7 Integrarea prezentarilor SMIL in paginile Web
Intr-un document HTML se poate incorpora o prezentare realizata in SMIL prin intermediul elementului <object>, conform urmatorului exemplu care va incarca fisierul SMIL in fereastra navigatorului folosind un plug-in RealPlayer:

<object id="video1" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" height="450" width="720">
<param name="controls" value="ImageWindow">
<param name="console" value="Clip1">
<param name="autostart" value="true">
<param name="src" value="prezentare.smil">
<embed src="prezentare.smil" type="audio/x-pn-realaudio-plugin" console="Clip1" controls="ImageWindow" height="450" width="720" autostart="false">
</embed>
</object>

2.8 Utilizare si viitor
SMIL ar putea fi solutia pentru prezentari multimedia sofisticate si chiar de a realiza corespondentul Web al unor emisiuni TV, prin mecanismul de sincronizare si integrare unitara a resurselor multimedia distribuite. SMIL ofera premisele televiziunii la cerere (TV on demand) sau TV Web-ului.

Autorii documentelor SMIL isi pot scrie prezentarile tinind cont de resursele fizice ale utilizatorilor (largime de banda, rezolutie, posibilitati color), de preferintele lingvistice sau anumite handicapuri, oferind astfel alternative pentru fiecare categorie in parte.

Credem ca in curind va fi inclus in limbaj si suportul pentru realitatea virtuala (conectivitate cu VRML) si o interactivitate mai larga cu utilizatorul (via Java probabil).

In prezent, Consortiul Web dezvolta versiunea a doua a limbajului, denumita SMIL Boston, care va permite realizarea animatiilor, suportul de includere in documente HTML sau XML si modularizarea tag-urilor SMIL, utilizarea de scripturi etc.


Vizualizarea unei prezentari SMIL cu RealPlayer G2
3. Extensii multimedia bazate pe timp pentru HTML (HTML+TIME)
Desi limbajul SMIL este un format portabil pentru realizarea prezentarilor multimedia, nu ofera suport de integrare in HTML. De aceea, au fost propuse o serie de extensii multimedia denumite Timed Interactive Multimedia Extensions for HTML (HTML+TIME) menite sa adauge HTML-ului capabilitati de temporizare, interactivitate si procesare a mediilor, urmind liniile de dezvoltare din SMIL. In prezent, HTML+TIME este suportat de Internet Explorer versiunile 4 si 5. Varianta secunda a specificatiei, HTML+TIME 2.0, inspirata din SMIL Boston, este implementata in Internet Explorer 5.5

3.1 Suportul de temporizare si interactiune
Fiecarui element HTML i se pot asocia atribute indicind un timp de inceput si o durata, plus o modalitate de repetare a continutului unui obiect multimedia. Pentru scenarii de prezentare complexe, informatiile temporale pot fi grupate in asa-numitele regiunii locale de timp (suport pentru sincronizare paralela).

Noile atribute introduse sint urmatoarele:

begin defineste momentul de incepere a unui element

beginWith permite temporizarea relativa dintre elemente (start sincronizat)

beginAfter permite temporizarea secventiala dintre elemente

beginEvent permite temporizarea interactiva in cadrul documentului (in functie de aparitia unui eveniment). Interactivitatea aici inseamna: interactivitate a utilizatorului (un element va incepe la producerea unui eveniment produs de utilizator, onClick de exemplu), interactivitate a serverului (raspuns la un eveniment trimis de server, de exemplu incarcarea completa a unui film), interactivitate a prezentarii (raspuns la un eveniment generat de navigator insusi).

dur specifica durata executiei unui anumit obiect

end defineste timpul de final al unui element

endWith defineste un sfirsit sincronizat intre elemente

endEvent permite sfirsitul la aparitia unui eveniment

repeat specifica numarul de repetitii ale unui element

repeatDur defineste durata repetitiei

Prezentarile paralele vor avea loc in cadrul noului tag par care se comporta similar celui din SMIL. Pentru prezentari secventiale exista seq.

3.2 Suportul pentru extensii multimedia
HTML+TIME defineste patru nivele de suport:

nivelul 0 trebuie sa permita specificarea duratei de timp si facilitati de pornire, oprire, pauza a player-ului multimedia.

nivelul 1 trebuie in plus sa permita sincronizarea si resincronizarea.

nivelul 2 trebuie sa suporte si sincronizari avansate.

nivelul 3 trebuie sa ofere si facilitati de interogare a utilizatorului in legatura cu capabilitatile navigatorului (cum ar fi: canRepeat, canPlayBack, canPlayVariable etc.).

HTML+TIME este inca la inceputuri, sintaxa declararii elementelor de sincronizare fiind inca deschisa. Flexibilitatea elementelor region, a, anchor din SMIL se regaseste mai greu in HTML+TIME, dar poate fi simulata cu harti de imagini sau prin CSS2. Elementele par, switch, media din SMIL sint mai usor de utilizat in SMIL. In schimb, HTML+TIME extinde o parte din facilitatile din SMIL, permitind repetitii fractionare (utile pentru animatii), sincronizari mai precise, usurinta in utilizare etc.

3.3 Exemple
O prezentare secventiala de imagini (slide-show):

<div width="200" height="200">
<t:seq t:repeatDur="indefinite">
<img src="image1.jpg t:dur="2" t:timeAction="display">
<img src="image2.jpg t:dur="2" t:timeAction="display">
<img src="image3.jpg t:dur="2" t:timeAction="display">
</t:seq>
</div>

Prezentarea celor trei imagini va dura la infinit, fiecare imagine fiind vizibila 2 secunde.

Sincronizare folosind atributul par:

<span t:par="true" id="TL1" t:dur="10">
<p>HTML+TIME</p>
<img t:begin="3" src="fig.gif">
</span>
<div t:par="true" t:beginAfter="TL1" t:begin="2">
<p>prezentat aici...</p>
<p t:begin="1">...de Sabin Corneliu Buraga</p>
</div>

Avem doua prezentari, prima compusa dintr-un text si o imagine, durind 10 secunde, a doua compusa din doua paragrafe text, incepind cu 2 secunde mai tirziu decit prima.

Sincronizarea aparitiei unor elemente, folosind HTML+TIME 2.0 si mecanismul de atasare de comportamente tag-urilor HTML:

<html>
<head>
<style>
.time A behavior: url(#default#time2); S
</style>
</head>
<body>
<p>Vor urma citeva linii mai jos...</p>
<!-- Imaginea va fi afisata dupa 2 secunde -->
<img class="time" begin="2" dur="5" src="csb.jpg" />
<p class="time" begin="4" dur="5">...dupa 4 secunde.</p>
<p class="time" begin="6" dur="5">...dupa 6 secunde.</p>
<p>Aceasta este ultima linie de text.</p>
</body>
</html>


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta