Microsoft Word - Volum-RRIOC-2-2

Documente similare
Slide 1

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

CL2009R0976RO bi_cp 1..1

Microsoft Word - Lab1a.doc

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x.

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius/curs/lsd/ 20 octombrie 2014

Introducere

Curs 3 Permutari cu repetitie. Combinari. Algoritmi de ordonare si generare

E_d_Informatica_sp_MI_2015_bar_02_LRO

Microsoft Word - 2 Filtre neliniare.doc

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Diapositive 1

E_d_Informatica_sp_SN_2014_bar_10_LRO

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

Sistem de supraveghere video inteligent cu localizarea automata a evenimentelor de interes SCOUTER, cod proiect PN-II-IN-DPST , contract nr

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu

Subiectul 1

Analiză de flux de date 29 octombrie 2012

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

DAN LASCU ADRIANA-LIGIA SPORIŞ ANDA OLTEANU PAUL VASILIU MATEMATICĂ. CULEGERE DE PROBLEME TIP GRILĂ PENTRU ADMITEREA ÎN ACADEMIA NAVALĂ MIRCEA CEL BĂT

Transmisia datelor multimedia in retele de calculatoare <Titlu Lucrare>

CASA CORPULUI DIDACTIC BRAILA PROGRAM DE FORMARE INFORMATICA SI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: TIMOFTI V. AFRODITA COLEGIUL

Analiză statică Analiza fluxului de date 23 octombrie 2014

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G

Cuantizare Vectoriala.doc

Microsoft Word - Curs_08.doc

proiectarea bazelor de date

Metode de sortare - pregătire admitere - Conf.dr. Alexandru Popa Lect. dr. Andrei Pătraşcu Universitatea din Bucureşti 1

2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii

Capitole Speciale de Informatică Curs 2: Determinarea vocabularului de termeni şi a listelor de postări 4 octombrie 2018 Reamintim că listele de indec

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S

Microsoft Word - Tema 06 - Convertoare analog-numerice.doc

Grafuri - Concepte de baza. Tipuri de grafuri. Modalitati de reprezentare

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

A.E.F. - suport laborator nr.3 sem.ii Aplicațe privind utilizarea rețelelor 1D În acest laborator sunt atinse următoarele aspecte: realizarea schițelo

Microsoft Word - Algoritmi genetici.docx

Microsoft Word - Curs1.docx

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

carteInvataturaEd_2.0_lectia5.pdf

programă şcolară pentru clasa a 11a, liceu

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Microsoft Word - O problema cu bits.doc

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B

Paradigme de programare

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

PowerPoint Presentation

Microsoft Word - TIC5

CURBE BÉZIER În CAGD se utilizează adesea curbele polinomiale, adică acele curbe definite de o parametrizare polinomială: C : [a, b] R 3 C(t) = (x(t),

Microsoft Word - CarteC.doc

Paradigme de Programare

CURS

ANEXA 1 RECOMANDARI LICENTA

Grafuri neorinetate Aplicatii 1 Care este numărul maxim de componente conexe pe care le poate avea un graf neorientat cu 20 noduri şi 12 muchii? a. 6

Microsoft Word - Fisa DRS - ROMANA.docx

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

Microsoft Word - Curs_07.doc

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea de Vest din Timișoara 1.2 Facultatea Matematică și Informa

MergedFile

Laborator 3

Microsoft Word - MANUAL_APP_ROMPOS_V7.docx

PowerPoint Presentation

Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O

Lecții de pregă,re la informa,că Admitere 2019 Tema: Discutarea problemelor date la ul,mele sesiuni de admitere Bogdan Alexe

C10: Teoria clasică a împrăștierii Considerăm un potențial infinit în interiorul unui domeniu sferic de rază a și o particulă incidentă (Figura 1) la

PROGRAMARE ORIENTATA PE OBIECTE

Slide 1

Lucrarea 7 Filtrarea imaginilor BREVIAR TEORETIC Filtrarea imaginilor se înscrie în clasa operaţiilor de îmbunătăţire, principalul scop al acesteia fi

Ghid de referinţă rapidă pentru Seria ZT400™

PPSD

Proiectarea Sistemelor Software Complexe

Limbaje de Programare Curs 6 – Functii de intrare-iesire

UNIVERSITATEA DE STAT "ALECU RUSSO"

Concepte de bază ale Tehnologiei Informației

Crearea ghidului de studiu Syllabus

PowerPoint Presentation

Microsoft Word - Laboratorul 3.doc

Noțiuni matematice de bază

SUBPROGRAME

Microsoft PowerPoint - ARI_R_c9-10_IP_part2 [Compatibility Mode]

(Microsoft PowerPoint SIBIUEVIDENTA [Doar \356n citire])

Unelte ce se regasesc in Viewer (CD, Stick) Uneltele de baza Uneltele de baza includ cele mai comune unelte folosite in modulele OnDemand 3D App. Unel

Modelarea si Simularea Sistemelor de Calcul

Tehnici de securitate pe bază de ontologii în sistemele de biblioteci virtuale

I

EXCEL FĂRĂ SECRETE Grafice şi diagrame

Cursul 8 Funcţii analitice Vom studia acum comportarea şirurilor şi seriilor de funcţii olomorfe, cu scopul de a dezvălui o proprietate esenţială a ac

B

Microsoft Word - Mihalca.doc

Microsoft Word - 6 FD_Informatica SGBD II CIG 2017.doc

Microsoft Word - _arbori.docx

Retele Petri si Aplicatii

09. Informatica 2 - MM 1

PowerPoint Presentation

Microsoft Word - Plus TV Analog Pro Stick Installation _Rom V1.3_.doc

Transcriere:

Revista Română de Interacţiune Om-Calculator 2 (2009), 119-130 MatrixRom Utilizarea tehnicilor de sincronizare a interacţiunii pentru implementarea unui sistem hypervideo Marian Dârdală, Adriana Reveiu, Titus Felix Furtună Academia de Studii Economice ASE Bucureşti Piaţa Romană, Nr. 6, 010374, Bucureşti E-mail: dardala@ase.ro, reveiua@ase.ro, titus@ase.ro Rezumat. Aplicaţiile multimedia utilizează tehnici speciale pentru parcurgerea propriului lor conţinut, cum ar fi hypertext şi hypermedia. Aceste două concepte oferă utilizatorului alternative semantice în accesarea unui document multimedia. Un mod particular de concretizare a conceptului de hypermedia este hypervideo. Principala dificultate în realizarea unui astfel de sistem se referă la faptul că, data video are, pe lângă caracterul spaţial şi dimensiune temporală, adică ea se derulează în timp. Implementarea unui sistem hypervideo presupune definirea mai multor module, specializate pe tipuri de operaţii şi care urmează să conlucreze între ele. Astfel, în articol, se prezintă o structură de date, adaptată, pentru a gestiona partea de sincronizare a evenimentelor de interacţiune cu utilizatorul, în concordanţă cu momentul derulării secvenţei şi cu obiectul din cadrul vizualizat, care a recepţionat evenimentul. Pe lângă structura de date propriu-zisă sunt prezentate şi operaţii uzuale de întreţinere a ei cât şi de exploatare în contextul utilizării sistemelor hypervideo. Cuvinte cheie: hypertext, hypermedia, hypervideo, arbore de segmentare cadre, flux video, sincronizarea interacţiunii. 1. Introducere Implementarea unui sistem hypervideo are particularităţi derivate în mod deosebit din natura datei care furnizează legătura. Dacă în cazul conceptului de hypertext legătura este de natură statică şi se reflectă printr-un text, mecanismul de control al legăturii se complică pentru date dinamice care se derulează în timp, cum este şi cazul datei de tip video. Se propune astfel, definirea unei structuri de date care să fie capabilă să gestioneze atât informaţii cu privire la persistenţa în timp a obiectelor din fluxul video cât şi informaţii ce localizează diferitele obiecte în cadrele în care apar.

120 Marian Dârdală, Adriana Reveiu, Titus Felix Furtună Pe de altă parte, ferestrei de vizualizare a secvenţei video trebuie să i se asocieze evenimente de interacţiune cu utilizatorul care să se poată declanşa doar în anumite momente şi locaţii. Un alt aspect, deosebit de important, pentru sistemul hypervideo se referă la modul în care se prezintă informaţia referită. Aceasta poate fi inclusă în prezentarea video sub forma unei ferestre suprapuse peste o parte a cadrului video şi care să apară concomitent cu derularea secvenţei şi să persiste până când este inchisă, explicit, de utilizator sau se poate furniza, ca legătură, un URL la care să se facă trimitere. In acest mod, se impune oprirea derulării secvenţei când s-a recepţionat evenimentul click, se deschide pagina aferentă URL-ului şi după consultarea ei, utilizatorul poate continua cu derularea secvenţei video de unde a rămas. In acest fel, utilizatorul nu pierde şirul prezentării video, ci accesează un conţinut informaţional în scopul clarificării unor aspecte, concepte prezente în secvenţă. Tot prin mecanismul de sincronizare este posibilă accesarea unei enitităţi informaţionale de tip video pornind de la un element de tip hypertext sau hypermedia. Spre exemplificare, dacă într-o prezentare există o imagine ce reprezintă un cadru dintr-o secvenţă video sau se doreşte accesarea unei subsecvenţe dintr-o secvenţă video care are legătură cu imaginea statică din prezentare, este posibilă tratarea acesteia ca element de tip hypermedia şi prin ea să se facă trimiterea către o secvenţă video ce se va derula începând cu un anumit cadru. In acest caz, secvenţa video joacă rol de element referit şi nu necesită elemente suplimentare de sincronizare, ci este nevoie de un player video capabil de de a derula subsecvenţe identificate prin cadrul lor de început, eventual prin cel de sfârşit. In toate cazurile prezentate, mecanismele de sincronizare se bazează în primul rând pe accesul direct la secvenţele video digitale. 2. Accesul direct la secvenţele video Player-ele video pot accesa în mod direct o subsecvenţă video sau chiar un cadru individual din fluxul de imagini. Accesul direct la diferitele cadre ale unui film presupune indexarea, invariabilă în timp, a imaginilor fixe ce compun mişcarea. Acest lucru se realizează cu ajutorul sistemelor de reperaj cunoscute sub denumirea de Time Code şi de Frame Code (Smeureanu & Drulă, 1997).

Utilizarea tehnicilor de sincronizare a interacţiunii pentru implementarea unui sistem hypervideo 121 Time Code-ul este o secvenţă de coduri numerice generate la un anumit interval de timp de către sistem. Sistemul de indexare Time Code este o metodă care foloseşte timpul pentru codificarea semnalului video. Metoda a fost perfectată de Society of Motion Picture and Television Engineers (SMPTE) ca un standard de sincronizare universal, utilizat în editarea video, audio şi a filmului. Conform acestei codificări, fiecărui cadru video individual i se asociază câte un număr unic, ce permite controlul exact al benzii şi indexarea secvenţelor. Codificarea se poate realiza în diferite formate: time code liniar (LTC) sau vertical (VTC) (Wiki, 2009). Prin aceste numere se pot adresa cadrele individuale ale unei secvenţe prin codul timp şi apoi se pot accesa direct în timpul procesului de editare. Numărul unic al fiecărei imagini se codifică într-un bloc de 80 de biţi, ce reprezintă în fapt, momentul captării sau înregistrării acesteia. Astfel, Time Code indică prin codajul BCD (Binary Coded Decimal) ora, minutul, secunda şi numărul imaginii din fluxul video. Deoarece semnalul Time Code este înregistrat pe o pistă audio paralelă, codul s-a mai numit şi Liniar Time Code sau LTC. Acest mod de a ţine evidenţa cadrelor, poate pierde cu uşurinţă sincronismul imagine - numărul unic Time Code, datorită paralelismului semnalului cu banda video, la o simplă defazare a semnalului. Datorită acestui lucru, un alt format de codificare Time Code este cel vertical care apare ca o pereche de linii verticale negre şi albe incluse în semnalul video. Aceste linii sunt de obicei inserate în intervalul neutilizat dintre două cadre consecutive ale unui flux video şi exprimă acelaşi lucru ca şi LTC. Un alt sistem de reperaj şi indexare a cadrelor video este Frame Code. Din punctul de vedere al codificării, el este mai simplu şi se bazează pe numerotarea crescătoare a imaginilor fixe din fluxul video, începând cu primul cadru până la 300000. In cadrul interfeţei API sunt puse la dispoziţia utilizatorilor funcţii care permit conversia între cele două sisteme de reperaj (Dârdală et al., 2008). Astfel, funcţia: STDAPI_ (LONG) AVIStreamSampleToTime(PAVISTREAM p, LONG f); (MSDN, 2009) converteşte poziţia cadrului f din fluxul p dată prin numărul său (Frame Code) în Time Code-ul corespunzător, în sensul că, funcţia returnează timpul exprimat în milisecunde. Conversia, în sens invers, se realizează prin funcţia:

122 Marian Dârdală, Adriana Reveiu, Titus Felix Furtună STDAPI_ (LONG) AVIStreamTimeToSample(PAVISTREAM p, LONG t); (MSDN, 2009) care primeşte poziţia cadrului, din fluxul p, exprimată în milisecunde (t) şi returnează poziţia acestuia prin Frame Code-ul său. Având disponibile aceste funcţii de conversie putem face ca orice poziţionare în flux să o exprimăm fie prin Time Code fie prin Frame Code. 3. Caracterul temporal şi spaţial al sincronizării interacţiunii într-un sistem hypervideo Pentru implementarea unui sistem hypervideo trebuie să existe următoarele componente (Silver, 2009): o secvenţă video care să joace rol de element de legătură; un modul de sincronizare spaţială şi temporală; şi un player de derulare a secvenţelor video şi care să gestioneze evenimentele de interacţiune cu utilizatorul. Tehnicile de sincronizare în cadrul unui sistem hypervideo trebuie să satisfacă în primul rând caracterul temporal al realizării legăturii dintre entităţile informaţionale. Cu alte cuvinte, în cadrul derulării unei secvenţe video doar în anumite momente de timp se pot realiza legături cu alte entităţi informaţionale. Există sisteme de tip hypervideo care limitează sincronizarea doar la dimensiunea temporală a datei video. In acest caz, este suficientă folosirea unei structuri care realizează indexarea secvenţei video. Perioadele de timp când se pot efectua astfel de legături depind de obiectele vizualizate în fluxul video. Spre exemplificare, se presupune existenţa unei date video de 12 cadre [1,13) pentru care se crează două legături pe baza a două entităţi: o1 ce ocupă secvenţa de cadre [4,8); şi o2 care ocupă secvenţa de cadre [2,4) şi [7,13]. In figura 1, se prezintă modul în care cele două entităţi cu semnificaţie de obiecte de legătură sunt repartizate în cadrele secvenţei video. Acestă distribuţie poartă numele de harta asocierii (Adah et al., 1996). Prin reuniunea intervalelor se obţine perioada de timp senzitivă la evenimente de interacţiune cu utilizatorul, în exemplul prezentat intervalul este [2,13).

Utilizarea tehnicilor de sincronizare a interacţiunii pentru implementarea unui sistem hypervideo 123 o2 o1 1 2 3 4 5 6 7 8 9 10 11 12 13 Figura 1. Acoperirea cadrelor de către obiectele o1 şi o2 Astfel, player-ul video trebuie să fie senzitiv la evenimentul de click pe fereastra de vizualizare pe toată perioda acoperită de obiectele din secvenţă, care joacă rol de ancore. In acest fel, sistemele hypervideo furizează elementele de legătură în mod dinamic pe măsura derulării secvenţei. Pe lângă caracterul temporal, în cadrul unui sistem hypervideo intervine şi caracterul spaţial al realizării legăturii (Chambel & Guimaraes, 2001). Spaţialitatea se referă la faptul că, într-un cadru din secvenţă pot exista mai multe obiecte care fac trimiteri la diferite entităţi informaţionale. In figura 2, se ilustrează un cadru ce are prezente ambele obiecte care realizează legături cu alte entităţi informaţionale, prin declanşarea evenimentului click. In exemplul prezentat, se observă din harta asocierii, că în secvenţa video doar cadrul 7 are prezente ambele obiecte de legătură. Texte explicative, imagini, alte elemente sau URL pentru entitatea o2 o1 o2 click click Texte explicative, imagini, alte elemente sau URL pentru entitatea o1

124 Marian Dârdală, Adriana Reveiu, Titus Felix Furtună Figura 2. Sincronizare spaţială Devine evident că un astfel de sistem trebuie să gestioneze legăturile în mod sincron cu momentul derulării secvenţei pe de o parte, iar pe de altă parte, să realizeze corect legătura în funcţie de obiectul din cadrul video care a recepţionat evenimentul. O structură de date capabilă să gestioneze legăturile, luând în considerare atât caracterul temporal cât şi spaţial, în cadrul unui sistem hypervideo este arborele de segmentare cadre. Arborele de segmentare cadre a fost gândit ca un instrument de realizare a indexării video. Adaptând informaţiile conţinute în această structură de date şi definind noi operaţii, ea poate fi eficient folosită pentru a gestiona sincronizarea interacţiunii cu utilizatorul în cadrul unui sistem hypervideo. 4. Arborele de segmentare cadre adaptat pentru sistemele hypervideo Un arbore de segmentare cadre (Adah et al., 1996) conţine două tipuri de informaţii: Primul tip este dat de un set de entităţi care prezintă interes în film (caracteristicile) şi care formează ancorele unui sistem hypervideo. In legătură cu entităţile, se păstrează şi informaţii de localizare a lor în secvenţa video. Al doilea tip de informaţii se referă la cadrele video în care entităţile apar care constituie componenta temporală a unui sistem hypervideo. O dată de tip video este compusă dintr-o succesiune de imagini (cadre) cu scopul de a prezenta cât mai fidel realitatea (în dinamică). O secvenţă de cadre, prin definiţie este o pereche [i, j) unde 1 i j n. 1 reprezintă primul cadru din film iar n este numărul ultimului cadru al filmului. [i, j) reprezintă setul tuturor cadrelor între i (inclusiv) şi j (exclusiv). Cu alte cuvinte, subsecvenţa [i, j) este dată de mulţimea tuturor cadrelor k ce au proprietatea că se află între i şi j: unde: i reprezintă cadrul de început; [i, j) = { k / i k < j },

Utilizarea tehnicilor de sincronizare a interacţiunii pentru implementarea unui sistem hypervideo 125 j cel de sfârşit al secvenţei de cadre. Se poate defini o relaţie de ordine ( ) pe setul tuturor secvenţelor de cadre, astfel: [i 1, j 1 ) [i 2, j 2 ) dacă i 1 < j 1 i 2 < j 2. Intuitiv, [i 1, j 1 ) [i 2, j 2 ) înseamnă că secvenţa de cadre indicată de [i 1, j 1 ) precede secvenţa de cadre indicată de [i 2, j 2 ). De obicei, se utilizează [i 1, j 1 ) [i 2, j 2 ) unde j 1 i 2. Un set de secvenţe de cadre X este bine ordonat dacă are următoarele proprietăţi: 1. X este finit, adică X = { [i 1, j 1 ), [i 2, j 2 ),..., [i r, j r ) } cu r dat; 2. [i 1, j 1 ) [i 2, j 2 )... [i r, j r ). Setul X este riguros constituit dacă: 1. X este bine ordonat; 2. Nu există nici o secvenţă de cadre din X de forma [i 1, i 2 ) şi [i 2, j 3 ). Dacă ENT reprezintă mulţimea entităţilor unei secvenţe video, o tabelă de asociere este o funcţie λ astfel încât pentru fiecare ent ENT, λ(ent) este un set de secvenţe de cadre riguros constituit: λ(ent) = { [i 1, j 1 ), [i 2, j 2 ) }, ce presupune că în toate secvenţele de cadre [i 1, j 1 ) şi [i 2, j 2 ), entitatea ent este prezentă. O hartă a asocierii este reprezentată în figura 1 şi prezintă modul în care cele două entităţi se suprapun peste cadrele filmului. Implementarea în aplicaţii a hărţilor de asociere presupune construirea unor structuri de date adecvate în acest sens. O astfel de structură este arborele de segmentare cadre. Intr-un arbore de segmentare cadre, fiecare nod conţine o secvenţă de cadre [x,y) în care x reprezintă cadrul de început (inclusiv) iar y este cel final (exclusiv). Numărul fiecărui nod joacă rol de identificator al nodului iar setul de numere existent într-un nod reprezintă identificatorii entităţilor care apar în secvenţa de cadre asociată acelui nod. Informaţia utilă a nodului arborelui de segmentare cadre conţine: limita minimă şi maximă a intervalului; obiectele video conţinute în nod; şi

126 Marian Dârdală, Adriana Reveiu, Titus Felix Furtună informaţii de localizare a obiectelor în secvenţa indicată. Pentru harta de asociere prezentată în figura 1, arborele este descris în figura 3. Din figura 3 reies caracteristicile unui arbore de segmentare cadre: este un arbore binar; nodul rădăcină conţine ca limită inferioară, respectiv superioară a intervalului numărul primului şi al ultimului cadru plus 1, adică acoperă întregul film; se dezvoltă de la rădăcină către frunze pe principiul divide and conquer (prin înjumătăţirea intervalului); dacă se asociază o entitate video unui nod, atunci intervalul memorat în nod constituie o secvenţă din setul de secvenţe de cadre bine ordonat a entităţii respective. [1,13) [1,7) 0 [7,13) 1 3 o2 [1,4) [4,7) [7,10) 6 2 o1 4 [2,4) [7,8) 7 o2 5 o1 Figura 3. Arborele de segmentare cadre Comportamentul structurii de date, în ansamblu, conţine metode specifice de lucru cu structurile de date dinamice cum ar fi: inserarea unei secvenţe de cadre, modificarea şi ştergerea ei (Dârdală et al., 2008). Inserarea unei entităţi video presupune furnizarea unui set de secvenţe de cadre riguros construit. Metoda propriu-zisă de inserare va realiza inserarea

Utilizarea tehnicilor de sincronizare a interacţiunii pentru implementarea unui sistem hypervideo 127 doar a unei secvenţe din set urmând a se repeta acest lucru până la epuizarea secvenţelor din setul de secvenţe riguros construit. Algoritmul de inserare primeşte secvenţa sub formă de interval (limita inferioară lio şi limita superioară lso), numărul entităţii de inserat precum şi informaţia de localizare spaţială a obiectului ancoră. Se mai cunoaşte pentru fiecare nod existent sau care urmează a fi construit, limitele: inferioară lin şi superioară lsn, calculate prin metoda înjumătăţirii intervalului. Algoritmul este recursiv şi presupune repartizarea entităţii video acelor noduri din arbore astfel încât să se acopere exact intervalul secvenţei. Algoritmul începe prin a testa dacă limita inferioară a obiectului este mai mică decât limita superioară a obiectului. In caz afirmativ, algoritmul se continuă, altfel, se termină. Dacă rădăcina e vidă se construieşte un nou nod pentru care limitele (inferioară şi superioară) sunt preluate din parametri de intrare, respectiv limita inferioară şi superioară a nodului; Dacă [lin, lsn) [lio,lso), atunci numărul entităţii se repartizează nodului, iar lio devine lsn; Se calculează jumătatea intervalului nodului: lj=(lin+lsn)/2; Dacă lso lj, înseamnă că entitatea video urmează să fie repartizată nodurilor subarborelui din stânga, lsn=lj, algoritmul se va relua, altfel dacă lso lj, înseamnă că entitatea video urmează să fie repartizată nodurilor subarborelui drept, lin=lj, algoritmul se va relua, altfel înseamnă că entitatea video urmează să fie repartizată ambilor subarbori, deci algoritmul se va relua atât pentru subarborele din stânga cât şi pentru cel din dreapta. Algoritmul de ştergere a unei entităţi presupune traversarea arborelui şi ştergerea numărului entităţii din vectorul de entităţi a nodului ce conţine acea entitate. Nu se şterg noduri fizic, deoarece inserări ulterioare ale altor entităţi ar putea avea ca efect recrearea unor noduri. Dacă se şterg toate entităţile memorate, arborele nu se va mai stoca pe suport extern. Modificarea setului de secvenţe ce corespunde unei entităţi are drept consecinţă redistribuirea entităţilor în funcţie de noile limite ale intervalului secvenţei. Din prezentarea structurii arborescente de segmentare cadre se observă că entităţile video care furnizează legăturile sunt identificate prin numere. Este

128 Marian Dârdală, Adriana Reveiu, Titus Felix Furtună util ca acestea să fie exprimate şi manipulate prin intermediul unei date tip şir de caractere. Memorarea propriu-zisă a denumirii entităţilor cât şi a altor informaţii auxiliare, ca de exemplu informaţia referită prin declanşarea evenimentului de interacţiune sau URL-ul, devine ineficientă dacă se face în fiecare nod al arborelui. In aceste condiţii, se propune construirea unei structuri de date suplimentare mai precis o listă ce va conţine entităţile şi referirile către nodurile din arborele de segmentare cadre, corespunzătoare setului de secvenţe video. Figura 4 prezintă lista entităţilor video corespunzătoare arborelui de segmentare cadre din figura 3. Din figura 4 se observă că obiectul o1 este distribuit în secvenţa video în intervalele de cadre existente în nodurile 2 şi 5 din arborele de segmentare cadre (figura 3), adică [4,7) şi [7,8), prin reuniunea intervalelor rezultă intervalul [4,8), în timp ce obiectul o2 este distribuit în intervalele existente în nodurile 7 şi 3 din arbore, adică intervalele [2,4) şi [7,13). o1 2 5 o2 7 3 Figura 4. Lista entităţilor video O aplicaţie care dezvoltă un sistem hypervideo exploatează acestă structură pentru a prelua informaţiile de sincronizare. Astfel, când player-ul interceptează evenimentul click se parcurg următoarele etapele în procesare: se interoghează numărul cadrului curent vizualizat; se exploatează structura arborescentă şi se verifică dacă la acel moment sunt prezente obiecte care definesc legături; daca nu procesul se termină, altfel se continuă cu următoarele etape; se preiau coordonatele cursorului mouse-ului şi pentru fiecare obiect ancoră prezent în cadrul curent se efectuează operaţia de intersecţie dintre punctul având coordonatele cursorului mouse-ului şi regiunea de localizare a obiectului; dacă intersecţia este vidă, pentru toate obiectele, atunci procesul se termină, altfel se identifică obiectul ancoră şi algoritmul continuă;

Utilizarea tehnicilor de sincronizare a interacţiunii pentru implementarea unui sistem hypervideo 129 se preia informaţia de legătură din lista entităţilor video şi se afişează sau se face trimitere la URL-ul specificat în structură şi se opreşte temporal derularea secvenţei video. 5. Concluzii Utilitatea dezvoltării de tehnici de construire a sistemelor hypermedia este cu atât mai importantă cu cât prezentările video încearcă să ocupe un rol dominant în aplicaţiile multimedia. Acestea se regăsesc tot mai mult în aplicaţii multimedia de prezentare, instruire şi divertisment. Structurile de date eficiente sunt folosite pentru a gestiona informaţii de sincronizare, indexare şi adnotare iar acestea pot fi uşor reprezentate prin standarde de descriere a datelor video cum ar fi MPEG7 şi MPEG21. Referinţe Adah, S., Selcuk Candan, K., Chen, S., Erol, K., Subrahmanian, V.S., The Advanced Video Information System: data structures and query processing. Multimedia Systems, vol 4, Springer Verlag, 1996; Chambel, T., Guimaraes, N., Learning with Video in Hypermedia. Technical Reports, Department of Informatics, University of Lisbon, 2001, http://hdl.handle.net/10455/3017; Dârdală, M., Reveiu, A., Techniques for Media Stream Synchronization, The Proceedings of the Ninth International Conference of Informatics in Economy, ASE Bucureşti, 2009, în volumul Education, Research & Business Technologies, ASE Printing House, Bucureşti, 2009; Dârdală, M., Reveiu, A., Furtună, T. F., Sincronizarea secventelor video cu fluxuri de tip text, Volumul de lucrări ale celei de a sasea Conferinţe Naţionale de Interacţiune Om- Calculator, RoCHI 2009, Universitatea Tehnica din Cluj-Napoca, Cluj-Napoca, 3-4 Septembrie 2009, Editura MatrixRom, Bucureşti, 2009; Dârdală, M., Smeureanu, I., Reveiu, A., Tehnologii multimedia. Editura ASE, Bucureşti, 2008; Deb, S., Video Data Management and Information Retrieval, IRM Press, 2005; Paganini, M., Encyclopedia of Multimedia Technology and Networking, Ideea Group Inc., 2005; Reveiu, A., Dârdală, M., Furtuna, F., Using Content-based Multimedia Data Retrieval for Multimedia Content Adaptation, Proceedings of the 12th Int. Conf. on Human-Computer Interaction HCII'2007 (Beijing, 22-27 July 2007), Vol. 3, LNCS 4552: Lecture Notes in Computer Science, Springer-Verlag 2007;

130 Marian Dârdală, Adriana Reveiu, Titus Felix Furtună Smeureanu, I., Drulă, G., Multimedia concepte şi practică, Ed. CISON, Bucureşti, 1997; ***, Microsoft Press - MSDN, 2009; http://en.wikipedia.org/wiki/hypervideo, 2009 http://silverlight.net/learn/tutorials/hypervideo-cs/, 2009