Documente Academic
Documente Profesional
Documente Cultură
Teorie Sisteme Multimedia
Teorie Sisteme Multimedia
SISTEME MULTIMEDIA
Teorie și practică
Chișinău 2016
1
Introducere......................................................................................................3
Teorie..............................................................................................................................................4
2
Practică……………………………………………………………………………………………
Lucrare de laborator Nr. 1………………………………………………………………………...
Lucrare de laborator Nr. 2 ………………………………………………………………………...
Lucrare de laborator Nr. 3………………………………………………………………………...
Lucrare de laborator Nr. 4………………………………………………………………………...
Lucrare de laborator Nr. 5………………………………………………………………………...
Lucrare de laborator Nr. 6………………………………………………………………………...
Lucrare de laborator Nr. 7………………………………………………………………………...
Lucrare de laborator Nr. 8………………………………………………………………………...
Introducere
3
TEORIE
I. Tehnologii ale textelor și imaginilor din sistemele multimedia
Mașina MEMEX
Începuturile multimediei apar într-un articol publicat în iunie 1945 în Atlantic Montly: „As we
may think" autorul lui fiind Vanner Bush, profesor la MIT şi la Institutul Carnegie din
Washington. El descrie o maşină menită să ajute omul în cadrul procesului de memorare, pe bază
asociaţiilor între conţinut şi formă, această maşină fiind numită MEMEX (MEMory Extended).
MEMEX se baza parţial pe tehnologia microfilmelor, fiind prevăzută cu dispozitive de selecţie
foto-optică şi tastaturi. „Dispozitiv ce poate stoca toate cărţile, înregistrările şi comunicaţiile şi
care este mecanizat în aşa fel încât consultarea informaţiilor se realizează flexibil şi rapid" (Bush,
1945).
Proiectul Augment
O altă personalitate implicată în dezvoltările de început ale multimediei este Douglas Engelbart,
membru al Institutului de Cercetare de la Stanford unde dezvoltă un proiect revoluţionar numit
Augment. Acest proiect deschide o direcţie importantă de cercetare odată cu prezentarea lui la
Fall Joint Conference în 1968. În anul 1963 Engelbart propune dispozitive computerizate de
scriere automată cu un deceniu înainte de apariţia primelor procesoare de texte evoluate. În
4
cadrul prezentării din 1968, prima demonstraţie publică a unor facilităţi de bază standard ale
actualelor programe de editare de texte, interfeţe grafice, aplicaţii hipertext şi multimedia,
Engelbart ilustrează următoarele idei inovative şi invenţii: mouse, ferestre multiple pe ecranul
computerului, facilităţi de procesare texte, poşta electronică, teleconferinţe, documente compuse
din text şi grafică, limbaje de comandă de tip script şi interfaţă grafică.
În cadrul Laboratorului Media de la MIT, începând cu 1970 s-au dezvoltat o serie de sisteme
multimedia clasice, surse de inspiraţie pentru aplicaţiile actuale. Dintre acestea se pot menţiona:
Spaţial Data Management System, Aspen Movie Map, Project Athena, care definesc şi o parte
dintre domeniile de interes: simulări interactive, colaborări ştiinţifice la distanţă, învăţământ.
Semnificaţii
Etimologic, multimedia este un cuvânt compus format din prefixul „multi" (mai mult decât unul,
mai multe) şi substantivul „media" care este pluralul termenului „medium" (cu sensul de mijloc,
intermediar, menire). Deci o traducere brută este aceea de mijloace multiple. Termenul la plural
„media" are mai multe semnificaţii. În diferite contexte găsim: massmedia (mijloace de
comunicare în masă), communication media (mijloace de comunicare), computer storage media
(mijloace de stocare a informaţiei procesate de calculator) sau presentation-media (mijloace de
prezentare).
Din perspectiva informaţiilor, acesta este mijlocul prin care putem efectua schimbul de
informaţii. Multimedia se adresează oamenilor, iar oamenii pot simţi informaţiile prin sistemul
perceptiv format din cel puţin 7simţuri (nu 5!) şi anume, vedere, auz, atingere, miros, gust,
echilibru, poziţie. Diferitele tipuri de medii sunt asociate diferitelor simţuri umane, astfel
deosebindu-se vederea - text, imagini, grafică 2D şi 3D, animaţii, video; auzul - sunet (vorbire,
muzică, etc.); atingere - limbajul Braille; echilibrul - jocuri video; poziţia - realitatea virtuală;
mirosul şi gustul nu au încă tehnologii.
5
Medii temporale și non-temporale
Tipurile media mai pot fi clasificate în temporale şi non-temporale. Tipuri media temporale au
un comportament dinamic, dependent de timp şi caracterizat prin continuitate. Un mediu
dependent de timp este descris printr-un flux, între unităţile fluxului fiind o relaţie de timp. Dacă
duratele de prezentare ale tuturor unităţilor elementelor mediului dependent de timp sunt egale,
mediul se numeşte continuu. În această categorie pot fi incluse tipurile audio şi video.
Tipurile media non-temporale sunt statice, independente de timp şi caracterizate prin valori
discrete. Un mediu independent de timp este orice tip din mediile tradiţionale precum text sau
imagini grafice. Conţinutul acestor tipuri de medii nu depinde de timp.
Sistem multimedia. Se stabilesc trei elemente pentru definirea unui sistem multimedia: numărul
de medii, tipurile acestora şi gradul de integrare a Sincronizare acestor medii. Sincronizarea între
medii este dată de relaţiile dintre a mediilor tipurile media dependente de timp şi tipurile media
independente de timp.
Din perspectiva acestei caracteristici şi prin combinarea elementelor stabilite mai sus,
definiţia unui sistem multimedia este:
Un sistem multimedia este un sistem de calcul care prelucrează şi integrează mai multe tipuri de
medii dintre care cel puţin unul este dependent de timp.
Aplicaţie.
O aplicaţie este o componentă software. În general, o aplicaţie este multimedia considerată a
fi din domeniul multimedia, dacă ea conţine cel puţin un mediu continuu (video, de exemplu) şi
unul discret (cum ar fi textul).
6
Figura 2.2.2. Sistemul multimedia din perspectiva etapeșor tratării informațiilor
7
• Cerinţa de lărgime de bandă. Cantitatea considerabilă de date ce cauzează problema
stocării ridică o altă problemă rezultată din cerinţele de continuitate. Transferarea în reţea
a unor cantităţi de date mari şi în mod continuu necesită o lărgime de bandă relativ mare.
Compresia fără pierderi pare mai avantajoasă comparativ cu cea cu pierderi deoarece după
decompresie permite obţinerea datelor originale fără pierderi, dar este mai puţin eficientă (în
sensul că este mai puţin comprimat) în special pentru compresia audio. Compresia simetrică este
considerată dezavantajoasă deoarece datele audio sunt comprimate o dată dar decomprimate de
mai multe ori (de fiecare dată când sunt utilizate). Mai mult, procesul de compresie se poate
efectua în studiouri de compresie unde se găsesc echipamente puternice, în timp ce decompresia
se face de obicei pe maşinile utilizatorilor care nu sunt chiar atât de puternice. Astfel, compresia
asimetrică este de obicei preferată compresiei simetrice, mai ales în aplicaţiile comerciale.
Parametrii de compresie
Există trei parametrii care contează în procesul de comprimare şi anume: raportul de compresie,
calitatea datelor şi viteza de compresie/decompresie.
• Raportul de compresie măsoară eficienţa compresiei şi este raportul dintre dimensiunea
datelor necomprimate şi dimensiunea datelor comprimate. Unele tehnici de compresie
stabilesc raporturi de compresie în funcţie de conţinutul datelor. Pentru cantităţi mari de
date cu secvenţe lungi de aceleaşi valori (caracteristică a datelor audio voce sau a
imaginilor cu o singură culoare dominantă), raportul este foarte bun. În mod
caracteristic, comprimarea video se bazează pe modificările ce se produc de la o imagine
la alta.
• Calitatea datelor. Tehnicile cu pierderi ignoră anumite informaţii a căror lipsă nu-I
deranjează pe utilizator, informaţii care se pierd chiar şi după decomprimare. Pe măsură
ce o cantitate tot mai mare de informaţii este eliminată în timpul comprimării, calitatea
se diminuează. Raportul de compresie afectează calitatea informaţiilor, cu cât acesta este
mai ridicat, cu atât calitatea datelor decomprimate are mai mult de suferit.
• Viteza de compresie/decompresie. Este de preferat ca intervalul de comprimare să fie cât
mai redus pentru a scurta timpul de realizare a unei aplicaţii. Pe de altă parte, pentru a
mări performanţele în utilizare, un timp de decomprimare diminuat este apreciat.
În procesul de compresie la sursă există o etapă pregătitoare preliminară care are rolul esenţial
de a decorela - elimină interdependenţele. Această etapă nu comprimă datele, ci doar modifică
forma de reprezentare a acestora pentru a reduce dependenţele. La tehnicile hibride succesiunea
etapelor este decorelare - reducere - codificare a entropiei (Figura 2.3). Etapa de reducere se
bazează pe cuantificarea datelor, iar ultima etapă efectuează o compresie suplimentară.
9
Figura 2.3 Compresie hibridă
Operaţia de editare. Este poate cel mai familiar set de operaţii ce pot fi efectuate pe un text. Se
pot astfel executa decupări de fragmente de text, copieri şi adăugări de fragmente de text copiat.
În funcţie de structura documentului cu care se lucrează, această operaţie se poate efectua fie pe
şiruri sau blocuri de caractere.
Operaţia de formatare. Formatarea unui text se poate efectua interactiv sau ne-interactiv
(editoare de tip Word versus LaTEX). Rezultatul operaţiei este un text formatat prezentat ca
bitmap sau într-un limbaj de descriere precum Postscript sau PDF.
10
Operaţia de formatare include şi lucrul cu fonturile. Astfel, un tip de caractere reprezintă o
familie de caractere grafice care, de regulă, include numeroase stiluri şi dimensiuni ale literei. Un
font este o colecţie de caractere având o dimensiune unică şi un stil, care aparţine unei anumite
familii de tipuri de caractere. Între stilurile caracteristice unui font se numără stilul cursiv. Alte
atribute ale stilului, precum sublinierea sau conturarea caracterelor, pot fi adăugate prin
intermediul programului de editare. De regulă, dimensiunile sunt exprimate în puncte tipografice.
Un punct tipografic este egal cu 0.0138 inci sau aproximativ 1/72 dintr-un inci (adică
aproximativ 0.353 mm). Arial, Times şi Courier sunt tipuri de caractere. Times Italic de 12
puncte este un font.
Normal Av Av
Condensat Cu kerning Fără kerning
Expandat
Tipuri de litere
11
Din punct de vedere al tipului literelor, acestea pot fi litere majuscule (uppercase) în cazul
literelor mari şi litere minuscule (lowercase) în cazul
literelor mici. În unele cazuri, cum este cazul parolelor, un calculator este sensibil la tipul
literelor (case sensitive). Un calculator poate fi insensibil la tipul literelor dacă nu sesizează nici
o diferenţă între forma majusculă şi cea minusculă. Plasarea unei majuscule în mijlocul unui
cuvânt (numită majusculă intercalată - intercap) este o tendinţă actuală în stabilirea numelor unor
companii precum WebStar, FileMaker.
Serife
Tipurile de caractere pot fi descrise în numeroase moduri. Unul dintre acestea, universal
acceptat, foloseşte termenii serif (cu serife) şi sans serif (fără serife). Serifele reprezintă mici
decoraţiuni ataşate la sfârşitul conturului unei litere. Times este un exemplu de font cu serife şi
Arial este font fără serife. Rolul serifelor este acela de a ghida privirea cititorului de-a lungul
liniei de text. Fonturile fără serife se recomandă pentru titluri şi declaraţii importante fiind mult
mai lizibile. Pentru monitoare există tendinţa de a utiliza litere fără serife fiind mai atractive
atunci când sunt folosite la dimensiunile mici ale unui câmp de text afişat pe ecran.
TT
Literă cu serife şi fără serife
12
1. sortează caracterele după frecventa de apariţie (p), de exemplu ABCDE.
2. Se împarte recursiv în două părţi cu aproximativ acelaşi număr de apariţii. Pentru şirul
ABCDE se organizează următorul tabel (Tabel 2.5) :
Arborele rezultat la pasul 2 este prezentat în Figura 2.5.1. Arborele binar se construieşte de la
rădăcină la frunze prin divizare în două părţi aproximativ egale. În cazul nostru avem AB(22
apariții) pe de o parte și CDE (17 apariții) pe de altî parte, apoi din nou A (15 apariții) și B (7
apariții), și de partea cealaltă C(6 apariții) și DE(11 apariții). Mai rămîne ultima interație pentru
D(6 apariții) și E (5 apariții).
13
În acest fel, nodurile cu ponderea cea mai mare vor fi aproape de rădăcina arborelui şi vor avea
codurile cele mai scurte.
14
• Windows Media Player pentru Microsoft formatele standard (necomprimat WAV si AVI
si comprimat WMA WMV)
• Quick Time (pentru MAC, sunt mai performante AIFF si MOV)
- Produse software multimedia specializate pe medii de comunicare, fac parte din software
utilitar
• Achiziţie prelucrare imagini: in general au unelte pentru bitmap cit si pentru vectorial,
genereaza si animatie, pornind de la cadre cheie, apoi generand cadrele intermediare in
raport cu factorul timp
• Adobe PhotoShop
• Fire Works
• CORELL DRAW
• CORELL IMAGINE
• CORELL TRACE
• Achiziţii prelucrare sunet:
• Adobe Audition
• Sound Forge
• Achiziţii prelucrare / editare video
• Adobe Premier
• Movie Maker
- Produse software pentru creaţie multimedia după filozofia de organizare a proiectului
multimedia (metafora în programare) se clasifica in:
-> Soft de creaţie multimedia ce-şi elaborează proiectul pe principiul cărţii (utilizează
dispunerea elementelor în pagină). Ex: TOOLBOOK INSTRUCTOR
-> Soft de creaţie multimedia ce-şi elaborează proiectul de-a lungul axei timpului; de
exemplu: FLASH, DIRECTOR S Soft de creaţie multimedia ce-şi
dezvoltă aplicaţia pe baza unei diagrame de flux. Ex: AUTHORWARE (Macromedia
a fost cumpărată de ADOBE)
Pixelul este cel mai mic element dintr-o imagine,o imagine fiind o matrice de pixeli (Figura
15
2.7.1). Fiecare pixel este caracterizat prin atribute de culoare și atribute de luminanță sau
intensitate luminoasă. Prin setarea acestor attribute se crează imagine ape ecran
Rezoluția imaginii
Rezoluția măsoară cît de detaliată poate fi o imagine. Există mai multe rezoluții associate
imaginilor. Putem identifica rezoluția imaginii, rezoluția monitorului sau rezoluția dispozitivului
de ieșire (imprimanta). Rezoluția imaginii este numărul de pixeli din imagine: 320 x 240 = 76800
pixeli; 700 x 400 = 280000 pixeli. Rezoluția monitorului sau a dispoziticului de ieșire se măsoară
în dpi(dots per inch). În general sistemele Windows au rezoluția 96 dpi, iar imprimantele pot
avea 300 sau 600 dpi.
16
Figura 2.7.3. Reprezentarea vectorială a unui triunghi
Limbaje de descriere. Descrierea acestor reprezentări se face prin limbaje. Trei sunt cele mai
populare limbaje: postScript dezvoltat de Adobe, VRML (Virtual Reality markup Language)
pentru descrierea scenelor într-o lime virtuală și SVG(Scalable vector graphic) ce se bazează pe
XML pentru decsrierea obiectelor grafice plane.
Spațiul de stocare redus. Informațiile dintr-un fișier ce conține descriertea prin astfel de limbaje
a imaginilor sunt mult mai concise comparativ cu cele asociate descrierii fiecărui pixel și ocupă
și mult mai puțin spațiu de stocare. După cum am menționat la reprezentarea prin puncte, cu cît
se tranferă mai multe daate în rețea într-o anumită perioadă de timp, cu atît este nevoie de o
lărgime de bandă mai mare. Afirmația inversă este și ea adevărată. Deci reprezentarea prin
coordonate vectoriale va fi mai relaxată din punct de vedere al cerinței de lărgime de bandă.
Carcateristici specifice reprezentărilor 3D. Reprezentările grafice 3D (cuburi, sfere, etc.) sunt
imagini construite cu intrumente software de grafică vectorială și care modelează obiecte reale.
Reprezentarea 3D sau în spațiu pe o suprafață bidimensionașă, ecranul calculatorului,
introduce noi atribute. Descriem în continuare pe cele mai importante:
17
Tipuri de umbre.
Reflexii/refracţii ale luminii - în modelarea tridimensionala sursa de lumină creează umbre difuze
sau bine conturate în jurul obiectelor şi pe suprafaţa acestora, sau reflexii sau scânteieri, acolo
unde lumina este mai intensă
Umbra descrie interacţiunea obiectului cu lumina. Această interacţiune este definită prin culoarea
obiectului, dacă obiectul reflectă sau transmite lumina. Pot fi aplicate mai multe stiluri de
umbrire. Umbrirea uniformă este obţinută cel mai rapid pe calculator. Mai există umbrele
Gouraud, Phong şi după direcţia iluminării care se redau într-un timp mai îndelungat, dar oferă
imagini mai realiste
Operații de randare
După stabilirea tuturor acestor atribute ale modelului, pentru a obţine o imagine 3D se efectuează
operaţia de randare. Randarea este operaţia în care calculatorul utilizează algoritmi matematici
complicaţi necesitând o putere de calcul mare. Parametrii de control fin pentru această operaţie
sunt:
rezoluţia de ieşire, care se specifică prin dimensiunile în pixeli pe orizontală şi verticală
ale imaginii;
timpul de randare, care poate fi rapid şi de calitate scăzută sau, rapid şi de calitate foarte
bună
18
Figura 2.8.1 Reprezentarea unei imagini în culori dintr-o palată
19
Figura 2.8.2. Indexarea culorilor
Animaţia reprezintă toate modificările unei imagini ce au un efect vizual. Efecte Efectele vizuale
pot fi de două feluri, deplasarea dinamică şi dinamica unor vizuale atribute ale obiectelor din
imagine. Deplasarea dinamică reprezintă variaţia în timp a poziţiei. Dinamica altor atribute arată
variaţia în timp a formei, contururilor, texturii, etc. Efectele vizuale sunt rezultatul unui fenomen
biologic numit persistenţa imaginilor pe retină şi a unui fenomen psihologic numit phi.
Fenomenul phi exprimă necesitatea minţii umane de a încheia o acţiune de percepere. O serie de
imagini schimbătoare foarte puţin sau foarte repede se amestecă într-o impresie vizuală de
mişcare.
Animaţia pe calculator este realizată utilizând instrumente software grafice care oferă aceste
efecte vizuale. Fluxul de realizare constă din procesele de creare a cadrelor cheie şi procesul
intermediar.
Procesul de creare a cadrelor cheie. Animaţia pe calculator începe cu crearea cadrelor cheie.
Cadrele cheie sunt acele cadre în care obiectele ceurmează a fi animate sunt în poziţiile extreme.
Obiectele pot fi desenate cu instrumente artistice tradiţionale, precum pensula sau creionul şi
apoi imaginile acestora se digitizează prin scanare. Crearea obiectelor se poate face şi direct pe
calculator prin instrumente software de desenare
Procesul Intermediar. Animaţia de la o poziţie la alta presupune o compoziţie a cadrelor cu alte
cadre intermediare între cadrele cheie. Procesul de intermediere este realizat de calculator prin
interpolare. Sistemului i se dau poziţiile de început şi de sfârşit şi apoi, prin interpolare acesta
calculează poziţiile intermediare (vezi Figura 2.9.1 a)). Cea mai simplă metodă de interpolare
este interpolarea liniară (Figura 2.9.1 b)). Această metodă are dezavantajul că obiectul nu se
mişcă normal şi nu arată ca în realitate. Interpolarea prin funcţii spline poate face mişcarea mai
normală (Figura 2.9.1 c)).
Procesul intermediar se poate efectua şi pentru interpolarea formelor unui obiect. Unele animaţii
pot fi aplicate şi pentru culoarea obiectelor. În acest caz se face uz de paletele de culori. La
deplasarea ciclică printr-o tabelă de culori rezultă efectul de schimbarea a culorii obiectului.
Metamorfoza este efectul popular prin care o imagine se transformă în altă imagine. Cele două
imagini se întrepătrund lin, dând senzaţia că una dintre imagini se dizolvă în cealaltă.
Metamorfozarea are loc prin stabilirea unor puncte cheie. Punctele cheie sunt repere ale
imaginilor ce au aproximativ aceeaşi poziţie din prima până în ultima imagine, chiar dacă au alte
forme. Stabilirea punctelor cheie este esenţială pentru tranziţia lină între două imagini.
20
Compresia imaginilor prin JPEG. Pentru a comprima o imagine în format JPEG, aceasta este
împărţită în blocuri de 8x8 pixeli, iar cei 64 de pixeli rezultaţi (numiţi global domeniu de
căutare) sunt descrişi din punct de vedere matematic în raport cu caracteristica pixelului din
colţul din stânga sus.
Etapele procesului de compresie JPEG sunt (Figura 2.16): 1. Împarte imaginea în blocuri de
pixeli de dimensiune 8x8. Pentru fiecare bloc
Aplică transformarea cosinus discretă (DCT)
Cuantifică valorile obţinute
Aplică tehnica de compresie JPEG
Scrie datele obţinute într-un fişier de ieşire (*.jpg)
În etapa a doua, transformarea DCT are rolul de a separa imaginea în sub-benzi spectrale de
importanţă diferită (în funcţie de calitatea vizuală). Imaginea este transformată din domeniul
spaţial în domeniul frecvenţă. Rezultatul este un bloc de 64 de coeficienţi, dintre care,
coeficientul din stânga sus este cel mai semnificativ şi reprezintă culoarea de bază a blocului.
Valorile celorlalţi coeficienţi sunt 0 sau aproape 0.
21
Formate de fişiere de imagine. Există numeroase formate de fişiere pentru stocarea imaginilor
reprezentate prin puncte şi a graficii vectoriale. Orice imagine digitală este stocată într-un fişier
cu respectarea unui anumit format. Fişierul conţine nu numai date despre pixeli, dar şi informaţii
care să identifice şi să decodifice aceste date. Astfel, sunt incluse informaţii despre format,
dimensiunea imaginii, adâncimea, culoare şi paleta de culori, Formate compresie. Unele
formate sunt definite doar pentru anumite platforme dependente (Windows sau Machintosh), în
timp ce altele pot fi folosite pe toate de platformă platformele. Unele formate sunt specifice unei
singure aplicaţii. Formatele pot fi pentru imagini sau pentru grafică vectorială.
Unele formate includ algoritmi de compresie, altele conţin date necomprimate. Formatele ce
utilizează algoritmi de compresie vor avea dimensiunea fişierului mai mică. Algoritmii de
compresie aplicaţi pe imagini sunt, în general, cu pierderi.
Pentru platforma Windows, formatele uzuale sunt: DIB (Device Independent Bitmap), BMP
(Bitmap), PCX şi TIFF.
Formatele inter-platformă sunt JPEG şi GIF. JPEG (Joint Photographic Experts Group)
comprimă imaginile color prin eliminarea informaţiilor neglijabile (neperceptibile cu ochiul)
până la 5% din dimensiunea iniţială (compresie cu pierderi) pe baza exploatării caracteristicilor
anatomice de (in)sensibilitate a ochiului uman. Acest format nu este recomandat desenelor
animate sau imaginilor mono-crome. O imagine JPEG este decomprimată automat la deschiderea
fişierului. Prin modificarea unor parametrii de compresie, utilizatorul poate selecta: calitatea
imaginii, timpul de procesare pentru compresie, şi mărimea imaginii comprimate.
22
Figura 2.9.4. Exemplu fișier GIF cu animație
Teste pentru verificarea cunoștințelor
Test de autoevaluare 2.1.
23
b. un mediu ce captează şi un mediu care creează date
multimedia
c. mai multe medii discrete şi nici un mediu continuu
d. cel puţin un mediu discret
Adevărat / Fals
24
Test de autoevaluare 2.3.
25
6. Pâlpâirea paletei este:
a. Un efect vizual datorat schimbării paletelor.
b. O tehnica vizuală specifică animaţiei.
c. O tehnica vizuală de aproximare a paletei de culori.
d. Un efect vizual datorat rezoluţiei scăzute a ecranului.
7. Identificaţi care nu sunt tipuri de efecte vizuale utilizate în animaţie:
a. Deplasarea dinamica a obiectelor
b. Pâlpâirea paletei de culori
c. Modificarea formei obiectelor
d. Schimbarea texturii formelor
26
Figura 2.1.1. Froma de undă a unui semnal analog
Acest tip de element media apare în special în domenii precum telecomunicaţiile sau de
divertisment (înregistrat pe CD audio). El este produs prin eşantionarea unui semnal continuu
generat de o sursă de sunet. Convertorul analog digital preia semnalul electric asociat sunetului
şi-l converteşte într-un flux de date digital generează sunet prin intermediul amplificatoarelor şi
difuzoarelor, implică un convertor digital analogic. Conceptul de digitizare este sintetizat în
figurile 3.1.1. şi 3.1.2.
27
Calitatea semnalului audio digital depinde de cât de mult este aproximat semnalul continuu.
Astfel se definesc două mărimi caracteristice: frecventa de eşantionare şi rezolutia
eşantionului (sau cuantizarea).
Frecventa de eşantionare se referă la cât de des este luat eşantionul, sau perioada de timp între
fiecare eşantion. Unitatea de măsură este Hertz (Hz prescurtat), care în cazul eşantionării se
referă la eşantioane per secundă. Astfel, o frecvenţă de eşantionare de 1000 Hz (sau 1 kHz) se
referă la 1000 de eşantioane pe secundă.
Pierderea de informație
Observaţi cu atenţie zona marcată cu cercul verde din figura 3.1.2 (detaliată în figura 3.2.1). În
acest caz, forma de undă discretă (cea roşie) nu reprezintă cu
acurateţe forma de undă originală (cea de culoare neagră). Forma originală are două puncte
extreme jos şi unul sus în timp ce aproximarea discretă dă impresia că există numai un singur
punct extrem jos. Pierderea de informaţie se datorează faptului că distanţa dintre fiecare eşantion
este mai mare decât ar trebui necesar captării tuturor vârfurilor formei de undă originale. Pentru a
evita astfel de probleme există o regulă ce ajută la calcularea frecvenţei necesare de eşantionare.
Regula este derivată din teorema de eşantionare a lui Nyquist, care se enunţă astfel:
Pentru o digitizare fără pierderi trebuie ca valoarea frecvenţei de eşantionare să fie egală cu cel
puţin de două ori cea mai mare valoare a frecvenţei semnalului de digitizat.
O cuantizare pe 4 biţi permite obţinerea a 16 valori (de la 0 la 15). Dacă valorile amplitudinii
eşantioanelor variază între 0 şi 20 dB, o reprezentare pe 4 biţi nu va fi suficientă. Pe de altă parte,
o cuantizare pe 16 biţi (calitate CD) va permite obţinerea de 65536 valori distincte, ceea ce
înseamnă că pasul de reprezentare a domeniului [0-20]dB este de 0.0003dB.
În concluzie, aceste două caracteristici definesc precizia de reprezentare a unui semnal audio
original. Trebuie remarcat că orice deviere de la semnalul original audio datorită sub-eşantionării
sau a unei rezoluţii mici (cuantizare insuficientă) va avea că rezultat distorsiuni ale semnalului
reprezentat. Dacă se poate auzi, acesta este simţit ca zgomot, care se numeşte semnal audio de
calitate scăzută.
28
Cerintele de stocare. O problemă importantă a semnalului digital audio este capacitatea
spaţiului necesar de stocare (dimensiunea fişierului). Aceasta depinde de rezoluţie, frecvenţa de
eşantionare şi numărul de canale audio. Fiind cunoscute, R - frecvenţa de eşantionare
(eşantioane/sec), b - rezoluţia de eşantionare (biţi), C - numărul de canale (1-mono, 2 - stereo) şi
D -durata înregistrării (secunde), se poate calcula S - dimensiunea fişierului (octeţi) cu formula:
S = R x (b/8) x C x D
Astfel, o frecvenţă de eşantionare mai mare şi o rezoluţie mai mare permit obţinerea unei calităţi
mai bune, dar dimensiunea fişierului în care se stochează informaţia audio digitală este
considerabil mai mare.
Chiar dacă mediul de stocare sau memorare a devenit mai ieftin, este totuşi o problemă stocarea
informaţiilor de ordinul Megaocteţilor.
Beneficii ale semnalelor audio digitizate. S-a menţionat la începutul acestui capitol că un
semnal digital are beneficii specifice atunci când este comunicat prin cablu sau aer. Aceste
beneficii rezultă din faptul că un semnal digital poate fi format numai din 0 sau 1. Astfel la
recepţie se realizează o reconstrucţie exactă a semnalului digital original.
29
Figura 2.3.1. Reconstrucția la recepție a semnalului digital
Astfel un semnal digital are avantajul că poate fi recepţionat şi reconstruit practic fără pierderi,
ceea ce nu este valabil pentru un semnal analogic.
Atenţie! Semnalul audio digital nu este conversia perfectă a unui semnal audio real. Am văzut că
inevitabil se introduc distorsiuni prin procesele de digitizare şi de cuantizare. Totuşi procesele
sunt controlabile din acest punct de vedere, în sensul că, prin alegerea corectă a celor doi
parametri, distorsiunile pot fi menţinute la valori minime.
Streaming
Transmiterea audio prin streaming şi memorare temporară rapidă. În mod ideal, un semnal
audio este redat imediat ce este recepţionat în timp real prin reţea sau prin calculator. Acest
proces poartă denumirea de transmitere prin fluxuri audio sau streaming. Inevitabil există
congestionări în reţea sau alţi factori ce nu permit realizarea streaming-ului, chiar dacă semnalul
audio este comprimat la maxim şi are cerinţe de lărgime de bandă reduse considerabil. Dacă
30
semnalul audio este memorat temporar într-o memorie rapidă (în engleză termenul este "cashed")
situaţia se îmbunătăţeşte. În acest mod, soluţia pentru redarea fluxului audio recepţionat este
memorarea temporară (cel puţin parţial şi-sau periodic) imediat ce este recepţionat şi apoi redat
din memoria rapidă.
În prezent aceste tehnici sunt destul de bine dezvoltate astfel că unele dintre ele permit chiar
operaţii de derularea sau rulare rapidă înainte asupra fişierului audio în timp ce acesta este
utilizat pentru redarea audio.
MIDI este un termen frecvent întâlnit în domeniul audio şi vine de la Musical Instrument Digital
Interface. Principiile pentru MIDI sunt simple şi sunt luate din notaţia muzicală universală.
Dacă în locul transmiterii unei cantităţi mari de eşantioane ale unui semnal Sintetizarea
audio real, am putea spune calculatorului ceva de genul "cântă C# pe o sunetului violină pe o
durată de x bătăi sau secunde urmat de ..." şi dacă maşina de calcul ar fi capabilă să sintetizeze
sunetul unei violine şi să genereze C# pe durata specificată, vom fi capabili să reprezentăm
muzica - practic prin note muzicale, partituri - fără a trebui să cuantificăm sau să memoram vreo
formă de semnal audio.
31
Figura 2.4.1 Eșantionarea semnalului audio
Valorile astfel obţinute se pot cuantifica pe un număr diferit de biţi (8, 16, 32 etc.)
depinzând de capabilităţile plăcii de sunet. La digitizarea semnalului audio, editoarele de sunet
furnizează utilizatorilor posibilitatea de a stabili valorile parametrilor de numerizare după cum se
observă în figura 3.5.2.
Din figura 3.5.2 se poate observa că s-a optat pentru o frecvenţă de eşantionare de 11025
Hz (aproximativ 11 kHz), valorile se reprezintă pe 2 baiţi şi sunetul se memorează pe un singur
canal (mono).
Prin procesul de eşantionare şi cuantificare se urmăreşte să se păstreze o minimă
informaţie cu ajutorul căreia să se recompună forma iniţială a semnalului audio (analog) pentru
că la redare, sunetul este transformat din nou în format analog.
Calitatea sunetului obţinut prin procesul de digitizare depinde de valorile parametrilor. Astfel, cu
cât frecvenţa de eşantionare este mai mare cu atât creşte calitatea semnalului audio pentru că
aproximează mai fidel forma iniţială a semnalului însă, dezavantajul constă în creşterea
numărului de valori ce trebuie stocate. In literatura de specialitate se recomandă a se utiliza
anumite frecvenţe de eşantionare în funcţie de tipul de semnal audio:
- 8 kHz pentru semnal telefonic;
- 11 kHz pentru semnal AM (Amplitude Modulation) Radio;
- 22 kHz pentru semnal FM (Frequency Modulation) Radio;
- 44 kHz pentru a obţine sunet de calitate CD - audio.
32
În general, valoarea ratei de eşantionare trebuie să fie egală cu dublul celei mai mari
frecvenţe a semnalului audio care urmează a fi numerizat. Astfel, un sunet având frecvenţa de
8000 Hz trebuie să fie eşantionat la o frecvenţă de cel puţin 16000 Hz adică să se obţină 16000
de eşantioane pe secundă. Raportul dintre frecvenţa sunetului şi frecvenţa de eşantionare a fost
stabilit prin teorema lui Nyquist.
Un alt parametru care influienţează calitatea semnalului audio este numărul de biţi pe
care se reprezintă valorile preluate din eşantionare. Prin intermediul acestor valori se cuantifică
amplitudinea sunetului adică diferenţa dintre sunetul având intensitatea cea mai mare şi cel cu
intensitatea cea mai mică. Spre exemplu dacă se utilizează 8 biţi pentru cuantificarea valorilor
atunci se pot reprezenta 256 niveluri distincte ale amplitudinii semnalului. In caz că se reprezintă
valorile pe 16 biţi atunci se poate cuantifica amplitudinea sunetului prin 65536 niveluri distincte.
In plan fonic amplitudinea se exprimă prin dB (decibeli) iar corespondenţa între numărul de biţi
şi numărul de dB este prezentată în tabelul 3.1.
Formate AUDIO
33
Fluxul numeric obţinut prin procesul de eşantionare şi cuantificare trebuie stocat conform unui
format audio. Cele mai cunoscute şi utilizate formate audio sunt:
- WAVE - formatul standard de fişier audio pentru Microsoft şi IBM; conţine sunet în
reprezentare PCM necomprimat;
- AIFF (Audio Interchange File Format) - formatul standard pentru audio digital utilizat pe
platforma Apple Macintosh, există şi în variantă necomprimată cât şi comprimată;
- AU (AJJdio) este formatul standard al firmei Sun Microsystems, introdus iniţial pentru
telefonie digitală;
- VOC (VOiCe) este formatul pentru sunet digital lansat de firma Creative Voice în mod
deosebit pentru plăcile de sunet produse de această firmă; formatul a fost limitat şi dezvoltat în
funcţie de capabilităţile placilor de sunet produse de această firmă;
- MPEG (Moving Picture Experts Group) Audio care s-a impus ca format standard în ceea ce
priveşte sunetul digital comprimat este parte a standardului MPEG de codificare a semnalului
audio-video; cea mai cunoscută variantă a lui este MP3.
Digitalizare video
Conceptul de digitizare (si procesul) este la fel ca la semnalul audio. (vezi video figurile 2.7.1
şi 2.7.2 de la audio). Avantajele digitizării (în termeni de calitate a semnalului) sunt, de
asemenea, aceleaşi. Le vom descrie pe scurt: Calculatorul înţelege valori discrete (numere), şi nu
forme de undă continue (analogice). Pentru a fi înţeles de calculator, un semnal analogic se
aproximează prin eşantionarea formei sale de undă. Adică forma sa de undă este aproximată
prin eşantioane ale valorilor video luate la intervale discrete şi regulate de timp. Noţiunea de
eşantionare din domeniul multimedia este asemănătoare cu noţiunea de conversie analog digitală
din domeniul, mai general, al prelucrării semnalelor. Un semnal reprezentat digital este mult mai
uşor de reconstruit, chiar dacă conţine distorsiuni sau zgomote. Motivul este că semnalul digital
constă din succesiuni de 0 şi 1 care sunt uşor de estimat şi care pot fi corectate la un anumit grad
chiar şi atunci când se estimează erori la recepţie.
Factorii principali în procesul de digitizare sunt frecvenţa de eşantionare (cât de des este
luat un eşantion) şi rezoluţia de eşantionare (cât de precis este reprezentat eşantionul). Aceşti
doi factori definesc cât de bine este aproximat semnalul video original în reprezentarea internă
din calculator.
Există totuşi câteva aspecte ce diferenţiază semnalul vizual de semnalul audio. Una dintre
cele mai importante diferenţe este faptul că nu doar calitatea reprezentării interne a imaginii, ci şi
calitatea de prezentare pe echipamentul utilizat pentru prezentare (televizorul sau ecranul
calculatorului) afectează cum se percepe calitatea imaginii.
Pe lângă frecvenţa de eşantionare şi rezoluţia de eşantionare, un alt factor Rezoluţia care
determină calitatea unei reprezentări vizuale este rezoluţia ecranului. ecranului Această
mărime este dată de echipamentul de afişare vizuală, sau de
prezentare. Echipamentul de prezentare fiind, în general, ecranul televizorului sau ecranul
calculatorului.
2.6 Semnalul video analogic și ecranul televizorului. Semnalul video digital și ecranul
calculatorului
34
Semnalul video este un semnal analogic şi pentru a fi prezentat pe ecranul televizorului nu
trebuie digitizat. Diagrama de mai jos (Figura 3.6.1) arată cum este afişată o imagine video pe un
ecran TV
Afișarea pe ecranul TV
Informaţia din imaginea analogică modulează un fascicol care este direcţionat în interiorul
ecranului de către o sursă. Când fascicolul atinge ecranul se emite o radiaţie luminoasă de o
anumită intensitate şi culoare. Fascicolul se deplasează de la stânga la dreapta şi scanează
ecranul linie cu linie. Fiecare astfel de linie se numeşte linie de scanare. Când fascicolul atinge
latura din dreapta a ecranului, un semnal de sincronizare pe orizontală opreşte fascicolul şi-l
aduce la începutul următoarei linii (capătul din stânga aşa cum se arată prin linia verde punctată
din figura 3.6.1). Această deplasare de la dreapta la stânga este mult mai rapidă decât scanarea de
la stânga la dreapta. La capătul din stânga al ecranului, fascicolul este din nou aprins şi se
continuă prezentarea unei noi linii a imaginii. La capătul ecranului (colţul din dreapta jos)
semnalul de sincronizare verticală opreşte fascicolul şi-l redirecţionează la începutul primei linii
a următoarei imagini de afişat (aşa cum se arată prin linia roşie punctată din figură). Trebuie
remarcat că şi această deplasare este mult mai rapidă, reducând astfel timpul de pornire a afişării
următorului cadru. Astfel, fiecare imagine este desenată linie cu linie pe ecranul unui televizor.
Trebuie reţinut că numărul de linii de scanare este un factor major ce determină rezoluţia
ecranului în sistemele TV. Această mărime diferenţiază standardele de sisteme TV. Pentru
sistemele NTSC, utilizate în general în USA, Japonia sau Australia, o imagine este formată din
525 de linii. Pentru sistemele PAL, utilizate în special în Europa de Vest şi SECAM, utilizate în
Franţa şi Europa de Est, imaginea are 625 de linii. În prezent se dezvoltă un standard TV digital
numit High Definition TV. Parametrii acestui standard, HDTV, diferă pentru USA, Japonia şi
Europa. Numărul de linii de scanare este 1050 pentru USA, 1250 pentru Europa şi 1125 pentru
Japonia.
Secvență de cadre
Fiecare imagine de 525 sau 626 de linii se numește cadru. Iluzia unei imagini în
mișcare(animație) este dată prin afișarea unei secvențe de cadre. În general 25 de cadre(PAL și
35
SECAM) sau 30 de cadre (NTSC) – pe secundă, unde fiecare cadru este o imagine sau “eșantion
pentru mișcarea prezentată.
Interlacing
Dar o vitezaă a cadrelor de 25-30 de cadre are nevoie de o mai mică lărgime de bandă față de 50-
60 de cadre. Astfel, 25-30 de cadre pe secundă este alegerea cea mai bună pentru viteză, iar cu o
tehnică numită interlacing se poate obține un efect echivalent cu o viteză de 50-60 de cadre/sec
fără a crește explicit viteza cadrelor (și nici lărgimea de bandă).
Interlacing este tehnica prin care o imagine este împărţita în două câmpuri, fiecare câmp
fiind format din linii alternative: Primul câmp conţine liniile cu număr impar, şi al doilea câmp
conţine liniile cu număr par. Aceasta înseamnă că fiecare cadru se formează din două curse mai
scurte. Astfel, aproximativ aceeaşi imagine va sta pe ecran de două ori mai mult. În acest mod se
satisface cerinţa de persistenţă de 50-60 de cadre pe secundă (în mod real sunt 50-60 de câmpuri
pe secundă).
Semnalul video digital şi ecranul calculatorului
Conceptele descrise anterior sunt valabile şi pentru calculator, dar în acest caz semnalul video
este digitizat. Ecranul este scanat ca şi la televizor şi pixelii se aprind.
Există mai multe standarde asociate rezoluţiei ecranului. Acestea includ specificaţii şi despre
reprezentarea culorii cuantificată pe un număr de biţi.
Astfel există:
- VGA (Video Graphics Adapter) are rezoluţia 640x480. Un număr de până la 256 de culori
se pot reprezenta simultan prin acest standard ( 8 biţi sunt rezervaţi pentru specificarea
cuantificată a culorii).
- XGA (Extended Graphics Adapter) are rezoluţia de 640x480 iar culorile se reprezintă pe
16 biţi (deci 65535 de culori simultan) sau rezoluţie de 1024x768 de pixeli şi 256 de
culori afişate simultan.
- SVGA (Super VGA) are rezoluția de 1024x768 de pixeli iar culorile se reprezintă pe 24
biți (deci 16777216 culori simultan numite și “culori adevărate”) (Figura 3.6.2)
36
Figura 2.6.2. Pixeli standard SVGA
Mai există şi alte standarde, dar fie unele sunt depăşite, fie nu sunt aşa de răspândite ca cele
amintite mai sus. Figura 3.6.2. Pixeli standard SVGA. Ecranul calculatorului diferă de TV şi prin
viteza de afişare a cadrelor. La calculatoare există adaptoarele grafice care permit o gamă variată
de viteze ale cadrelor - sau viteze de Viteza de împrospătare cum se numesc în terminologia
sistemelor calcul. Cea mai împrospătare utilizată este viteza de împrospătare SVGA, de 25 Hz
(sau 25 cadre/sec). Se mai pot utiliza şi viteze de împrospătare de 85 Hz. Astfel, factorul
interlacing nu mai există. Este interesant de comparat rezoluţia ecranelor de la standardele TV şi
SVGA. Tabelul 3.6.1 sintetizează aceste valori comparate:
Clarificare: S-au folosit termeni "ecran de calculator" şi "adaptor grafic" fără a se explica ce
sunt. Ecranul este locul unde se afişează imaginea (echivalent cu monitor sau display). Adaptorul
grafic este componenta hardware din calculator ce include şi software ce face posibilă afişarea.
Rezoluţia sistemului de calcul este cea mai mică valoare dintre cele două: dacă adaptorul grafic
suportă VGA şi ecranul este capabil să afişeze imagini SVGA, vor apărea imagini VGA.
2.7 Afișarea în sistem alb-negru și color. Caracteristici specifice semnalului video digital
37
Sistemul alb/negru sau pe niveluri de gri. La un monitor alb/negru, ecranul este acoperit cu
puncte, unde un punct poate fi aprins (când Controlul fascicolul este pe el) devenind alb, sau
stins şi rămâne negru. Diagrama [a] intensităţii prezintă puncte alb negru. Dacă punctele nu sunt
doar "aprins/stins", ci au fascicolului sensibilitate şi la intensitatea fasciculului, atunci e posibil
să avem mai multe prin 3 biţi niveluri de la alb la negru prin excitarea luminoasă totală, parţială
sau deloc a punctelor. Acestea sunt numite niveluri de gri(Figura 3.7.1). Diagrama [b] expune
puncte ]n niveluri de gri. C]nd intensitatea fascicolului este reprezentată și controlată printr-o
valoare reprezentat [ pe 3 biți. Există 8 niveluri de gri, unde 000 reprezintă negru și nu avem, nici
un fascicol, 111 reprezintă alb, adică fascicolul de intensitate maximă, și alte 6 niveluri de gri
între acestea(tabelul 3.7.1)
Reprezentarea culorii.
Culoarea nu poate fi reprezentată doar prin modificarea intensității sau a altei proprietăți a
fascicolului. Culoarea care se percepe nu etse de la fascicol, ci de la acoperirea ecranului
(pixel), astfel încît fiecare pixel luminează în culoarea atinsă de fascicol. Fiecare pixel este
format din mai multe regiuni colorate, iar culoarea care este afișată pe ecran reprezintă
regiuneadin pixel ce este atinsă de fascicol.
38
Presupunem că un pixel este format din trei regiuni, fiecare de culaore diferită ca în Figura
3.7.2. Prin acest model putem afișa pe ecran culoarea roșie, cînd este atinsă regiunea roșie,
verde, cînd este atinsă cea verde și albastru, cînd este atinsp cea albastră. Acestea sunt doar trei
din numeroasele culori de care avem nevoie în aplicațiile multimedia.
Un model de pixel cu 256 de culori reprezentate şi afişate - în acest caz de avem o reprezentare a
culorii pe 8 biţi - nu este practic, deoarece vor trebui formate 256 de regiuni într-un pixel. Şi nici
numărul de culori nu este suficient. În prezent se operează cu peste 16 milioane de culori.
Tehnologia afişării culorilor pe ecranele sistemelor de calcul se bazează pe utilizarea modelelor
de culori.
Modele de culori. Prin combinarea unor culori se obţin alte culori. În sistemele de calcul grafice,
există mai multe modele de culori, dintre care două permit derivarea celorlalte culori prin
mixarea a trei culori de bază. Aceste modele sunt cunoscute că modelul aditiv de culori şi
modelul extractiv de culori.
Modelul aditiv - numit şi modelul RGB - derivă culorile prin adunarea a trei culori de bază, Roşu
(Red), Verde (Green) şi Albastru (Blue) în diferite proporţii aşa cum este prezentat mai jos:
39
Modelul extractiv - denumit şi modelul CMYK - derivă culorile prin extragerea celor trei culori
de bază, Cyan, Magenta şi Galben, în diferite procente din alb ca în partea stângă. Componenta
abreviată cu litera "K" din denumirea modelului este luminan ţa. Această informaţie e necesară
deoarece este mai dificil de obţinut "negru pur" la acest model. Culoarea negru pur este
importantă deoarece ochiul uman este sensibil la contururi şi percepe imaginile mult mai clar
dacă acestea au contur. Partea CMY din denumirea modelului specifică cele trei culori de bază
ale modelului şi se mai numeşte crominanţă. Crominanţa se referă la informaţia despre culoare.
Şi RGB din modelul aditiv este tot informaţie despre crominanţă. În RGB informaţia de
crominanţă este pură. Ea nu mai are nevoie de luminanţă, ca modelul CMYK, deoarece derivă
culorile prin adunare, iar toate culorile adunate dau negrul pur.
Modelul HSB. HSB (Hue SaturationBrightness) este un alt sistem ce specifică nuanța, saturația
și strălucirea unei culori. Nuanța culorii dominante este valoarea unghiului cuprinsă între 0 0 și
3600 ce reprezintă variația de la roșu la verde și albastru la intervale de 120 0 de pe discul
culorilor. Saturația exprimă intensitatea culorii, iar strălucirea reprezintă procentul de gri ce intră
în compoziția unei culori, La saturație de 100%, culoarea este pură; la saturație de 0% ea deviază
către alb, negru sau gri. Cu o luminozitate de 100% se obține culoarea albă, 0 % înseamnă negru;
culorile pure au luminozitate de 50. Figura 3.7.3 descrie variația saturației la nuanță și strălucire
constante.
Modelul YUV. YUV este un sistem realizat în vederea difuzării televizate. În aceeaşi categorie se
pot înscrie şi YIQ, YCbCr sau YPbPr. Ele au la bază luminanţa (Y) şi crominanţa (UV),
exprimate ca amplitudine de semnal şi ca fază a acestuia faţă de o anumită referinţă. Detaliile
imaginii au ca purtătoare semnalul de luminanţă (zona alb-negru a unui semnal video), deci prin
alterarea culorilor nu se pierd detaliile de definiţie a imaginii. Acest proces analogic poate fi
40
transpus în valori numerice, astfel încât calculatorul să poată utiliza o paleta pentru a atribui o
culoare unui pixel.
Fluzul de date continuu din semanlul video digital. Semnalele video digitale (inclusiv
imaginile singulare statice sau imaginile cadru cu cadru din animație) constau dintr-un flux de
date, similar cu semnalul audio. De aceea, manipulaea și transmiterea semnalulu video este
guvernată de aceleași cerințe/restricții: cerința de continuitate a datelor, cerința de sincronizare și
crința de concurență specificate anterior.
Sub-eşantionarea sau rezoluţia mică nu sunt singurele surse de distorsiuni sau pierdere de
calitate la semnalului digitizat. Cerinţele de stocare nu sunt nici ele singurele probleme. Faptul că
eşantioanele sunt luate de regulă la intervale egale de timp şi că fiecare eşantion este reprezentat
prin mai multe valori binare sunt caracteristici ce trebuie luate în consideraţie la transmiterea
atelor digitizate. Datele multimedia sunt considerate fluxuri continue ce necesită specificarea
numitor cerinţe şi impun anumite restricţii în relaţie cu transmiterea şi manipularea lor.
Acestea sunt:
Deviaţia faţă de original. Semnalul vizual este mai puţin sensibil la erori de cauzate de deviaţia
rezultată din sub-eşantionare sau rezoluţie eşantionare mică, întârzieri, etc. Aceasta datorită
vederii umane care are caracteristici diferite faţă de auzul uman. În animaţie, apariţia aleatoare a
unui cadru este observată, dar erorile de culoare dintr-un cadru video nu sunt detectate imediat.
Ochiul uman este mai sensibil la erori precum: erorile de alb/negru (sau luminanţă) sunt detectate
mai uşor pentru că imaginea este neclară.
Cerinţe de stocare şi lărgime de bandă. Cerinţele de stocare a informaţiei vizuale sunt mai
dificile decât la semnalul audio. De exemplu, o imagine VGA de 640x480 de pixeli, fiecare
pixel reprezentat pe 8 biţi (1 octet) va necesita: 640x480 x 1 octet/pixel = 307 200 octeţi pentru
stocare. Standardul SVGA care are până la 1024x768 pixeli, fiecare pixel fiind reprezentat pe 24
biţi ( 3 octeţi) va necesita 1024x768x3 octeţi/pixel = 2359296 octeţi pentru stocare. Ceea ce este
echivalent cu 2.25 MB pentru stocarea fiecărei imagini. În imaginile animate şi video sunt mai
multe astfel de imagini. Presupunând 25 de cadre pe secundă, un singur minut cu o secvenţă
video necomprimată va necesita 3375 MB sau 3,3 gigaocteţi (GB) pentru stocare.
De reţinut că aceasta este doar pentru imaginea pură, fără audio. Dar video este
combinaţia de informaţie audio şi vizuală. Deci se va mai adăuga la acest spaţiu de stocare
semnalul audio. Cu un semnal audio stereo de calitate CD cu 16 biţi (2 octeţi) per eşantion avem
44100 eşantioane/sec.canal x 2 canale x 2octeţi/eşantion = 176400 octeţi/sec sau 10,09 MB per
minut Deci partea de audio va creşte cantitatea de date de la 3,3 gigaocteţi la 3,31 gigaocteţi
(doar!). Cantitatea considerabilă de date ce determină problemele de stocare plus cerinţele de
continuitate ridică aceeaşi problemă discutată anterior: Necesitatea unei lărgimi de bandă mari
pentru transferul continuu în reţea a acestor date. Pentru transferarea unui ecran SVGA (cu audio
stereo) fără compresie este necesară o lărgime de bandă de 2,25 Gbps. Această cerinţă depăşeşte
cu mult posibilităţile din prezent. Compresia este tehnica ce face posibilă realizarea transmisiei
video.
Compresia video digitală. Standardul de compresie video cel mai răspândit este MPEG
(Motion Picture Expert Group). MPEG este standardul pentru imagini în şi pentru compresia
audio (de exemplu nivelul 3 al mişcare MPEG este ceea ce popular se ştie de MP3). MPEG
combină tehnicile de compresie cu pierderi (ireversibile) şi fără pierderi (sau reversibile) şi a fost
descrisă la secţiunea de audio. Diferenţa dintre MPEG şi JPEG, este tehnica de predicţie pe care
MPEG o include şi care se numeşte compensaţia (variaţia) mişcării. Un standard video poate
avea un număr de 30 cadre/sec.
Pentru a obţine un raport ridicat de compresie, MPEG se bazează pe faptul că imaginile din cadre
consecutive diferă relativ puţin. Două imagini consecutive nu variază prea mult în 1/30 sec.
41
Excepţia apare numai când camera de filmat se deplasează foarte repede. Pentru codificarea
cadrelor se foloseşte o tehnică de predicţie temporală astfel încât cerinţele de stocare să fie
reduse considerabil.
Figura 3.7.4 arată trei cadre consecutive de la o filmare F1, F2 şi F3. Cadrul F2 poate fi
aproximat cu porţiuni din F1. Dacă F1 este referinţa pentru construirea altui cadru, el se numeşte
cadru de referinţă.
Dacă F1 nu este construit din alt cadru diferit de F1, acesta se numeşte cadru intracodificat (de
tip I).
De obicei, cadrele intracodificate sunt şi cadre de referinţă, dar nu toate cadrele de referinţă sunt
intracodificate.
MPEG constă din 4 tipuri de cadre:
- cadre de tip I (Intra) - acest tip de cadru este codificat individual fără a avea vreo o
referinţă la celelalte cadre; tehnica de codificare este similară cu JPEG, dar cu îndeplinirea unor
cerinţe de decodificare în timp real.
- cadre de tip P ( Predicţie) - acest tip este codificat pe baza unei tehnici de predicţie şi are
ca referinţă cadrul de tip I anterior şi/sau cadrul de tip P anterior;
- cadre de tip B (Predicţie bidirecţională) - pentru codificare şi decodificare are ca referinţe
cadrele de tip I şi P anterioare şi următoare;
- cadre de tip D (transformarea cosinus discretă) - se aplică numai componentelor de
imagine de frecvenţă minimă şi este utilizat în operaţii de rulare rapidă sau derulare rapidă.
Cadrele de tip I sunt independente, dar sunt cele mai puţin comprimate. Cadrele P sunt mai
comprimate, iar cadrele B sunt cele mai cimprimate. Cadrele I,P și B sunt de obicei grupate într-
un grup de imagini numit GOP. Cu cît sunt mai multe cadre B cu atît secvența video este mai
comprimată, dar cresc problemele la pierderea unui cadru B. Fiecare GOP constă din 12 cadre
într-o secvenţă de forma: IBBPBBPBBPBB (Figura 3.7.5). Când o informaţie video este
transferată şi decodificată, cadrele sunt în următoarea ordine: I P B B P B B P B B B B. Această
ordine este cunoscută ca secvenţă de transmitere. Grupurile de imagini sunt asamblate într-un
flux continuu, rezultatul fiind un fişier MPEG.
Când se efectuează un acces aleator într-o informaţie video, cadrele de tip I sunt asociate unui
index, iar căutarea prin informaţia video se va face la o rezoluţie de 12 cadre.
42
Figura 2.7.5. Secvență de cadre I, B, P
Configuraţia minimă.
Pe baza normelor propuse de Multimedia Personal Computer (MPC) minimă Marketing
Council 2 în 1993, un sistem multimedia se defineşte prin următoarea configuraţie minimă: un
procesor 486DX2, 8Mocteţi memorie RAM, hard disk de 540 Mocteţi, CD-ROM double speed,
placă de sunet pe 16 biţi şi un video adaptor care suportă culori reprezentate pe minim 16 biţi. În
prezent, parametrii acestor componente sunt depăşiţi şi se încearcă o nouă redefinire care încă nu
este acceptată de toţi membrii acestui consiliu. Prezentăm în continuare ce poate cuprinde un
sistem multimedia din punct de vedere al componentelor de memorare, componentelor de intrare
şi de ieşire, şi pentru comunicaţie.
Componente de memorare.
Componente pentru stocarea informaţiilor. O aplicaţie multimedia necesită spaţiu de
memorare. Cu cât aplicaţia are mai multe elemente multimedia ca imagini color, text, secvenţe
audio sau secvenţe video, cu atât este nevoie de mai multă memorie.
Execuția simultană a mai multor aplicații.
43
Memoria cu acces aleator (RAM) este memoria sistemului de calcul ce permite
rularea simultană a mai multor aplicaţii. Cu cât capacitatea acestei memorii este mai mare cu atât
se pot rula simultan mai multe aplicaţii sau se pot face mai rapid operaţiile de editare a
materialelor multimedia. O configuraţie RAM de 256 MB devine în prezent obişnuită deoarece
la digitizarea audio şi a imaginilor se poate stoca o cantitate mai mare de date. Procesorul este
componenta ce execută aplicaţiile şi viteza sa de prelucrare a instrucţiunilor este o caracteristică
importantă a sistemului de calcul. Pentru ca sistemul să fie eficient, viteza de calcul trebuie
corelată cu capacitatea memoriei RAM. Altfel ciclii procesorului se extind cu perioade de
aşteptare datorate efectuării unor mecanisme interne suplimentare. În unele situaţii, creşterea
capacităţii de memorie RAM disponibile poate avea ca efect obţinerea unor performanţe mai
bune decât în cazul utilizării unui procesor superior.
Păstrează informația după alimentare.
Memorie ROM, numai pentru citire, păstrează informaţia şi după oprirea sursei de alimentare. În
sistemele de calcul ea este utilizată pentru stocarea programului BIOS ce determină încărcarea
iniţială a sistemului de operare. În imprimante ea permite stocarea tipurilor de litere ce pot fi
tipărite. În aceeaşi categorie intră şi memoria EPROM ce permite efectuarea unor modificări
remanente.
Unități Portabile.
Ca medii de stocare portabile mai există unităţile Zip de 100 MB, Syquest de 44MB şi Jaz
de 1GB ce ating viteze de transfer suficient de mari pentru dezvoltarea elementelor audio şi
video.
Unităţile magneto-optice Winchester folosesc un laser de mare putere pentru a încălzi mici
suprafeţe situate pe stratul de oxid metalic ce acoperă discul. Când suprafaţa s-a încălzit, un
magnet aliniază oxizii astfel încât să se asigure o orientare de tip 0 sau 1 (activ sau inactiv).
Această tehnologie permite rescrierea, deoarece suprafeţele pot fi încălzite şi aliniate în mod
repetat. Mai mult, aceste medii nu sunt afectate de paraziţi magnetici (pentru efectuarea
modificărilor sunt necesare atât încălzirea, dar şi magnetismul), deci sunt recomandate pentru
arhivarea datelor. Viteza de transfer este mai mică decât la unităţile Zip şi au o capacitate de
stocare de 128 MB.
Componente de intrare
Tastatura. O tastatură reprezintă metoda cea mai uzuală de interacţiune cu un sistem de calcul.
Ea este formată din taste normale ( modelul standard conţine 101 taste), taste speciale, LED-uri
şi alte facilităţi pentru diferite domenii de utilizare (de exemplu, membrană protectoare de plastic
pentru medii industriale).
Mouse. Un mouse este instrumentul standard pentru interacţiune cu o interfaţă grafică. Prin
mouse se execută operaţii de indicare şi de efectuare de click. Proiectele multimedia trebuie
concepute astfel încât să permită utilizarea acestui instrument. Butoanele mouse-ului asigură
intrări suplimentare de la utilizator, cum ar fi indicarea şi executarea unui dublu click pentru
deschiderea unui document, executarea unui click şi tragerea unui obiect prin menţinerea
butonului apăsat, deplasare la un articol dintr-un meniu şi selectarea acestuia. Un mouse poate
avea maxim trei butoane şi are nevoie de un spaţiu plat de mişcare. Prin intermediul unei
aplicaţii driver, deplasarea se traduce prin asocierea pe ecran a unui indicator (având forma
specificată de programul ce sesizează driver-ul mouse). Poate fi conectat la calculator prin
conectori PS/2 sau pe intrarea serială COM cu 9 pini sau poate fi fără cablu (cordless mouse).
Comunicarea pentru ultimul tip se face prin unde radio sau infraroşii.
Ecran tactil. Ecranele tactile sunt monitoare a căror suprafaţă de sticlă este acoperită cu un strat
texturat. Acest strat este sensibil la presiune şi înregistrează poziţia degetului utilizatorului
atunci când acesta atinge dispozitiv de ecranul. Alt sistem, TouchMate, nu are un asemenea strat,
ci măsoară introducere a datelor rotaţiile în jurul axelor longitudinală, transversală si, respectiv,
verticală a datelor monitorului la exercitarea presiunii degetului şi determină amplitudinea forţei
exercitate şi poziţia punctului de aplicaţie al forţei. Alte ecrane tactile folosesc radiaţii invizibile
de lumina infraroşie care se încrucişează pe suprafaţa frontală a monitorului pentru a calcula
poziţia punctului de aplicaţie al forţei de apăsare. Ecranele tactile simulează apăsarea de click sau
dublu click de la mouse si, uneori pot simula şi tastatura printr-o reprezentare a acesteia pe ecran
astfel încât utilizatorul să poată introduce nume, numere şi alte caractere prin apăsarea de taste.
Ecranele tactile nu sunt recomandate pentru activitatea zilnică în faţa calculatorului, ci mai mult
pentru aplicaţii multimedia din magazine, expoziţii, muzee sau alte situaţii când este necesară
45
introducerea datelor de către public şi efectuarea de operaţii simple. Atunci când se utilizează, ele
reprezintă singurul dispozitiv de intrare.
Tableta grafică. Tabletele grafice oferă un control substanţial pentru editarea elementelor grafice
cu detalii fine, caracteristică foarte utilă graficienilor şi proiectanţilor de interfeţe grafice. Unele
tablete sunt sensibile la presiune. O presiune mai mare exercitată asupra creionului va determina
trasarea unei linii mai groase.
Scanner. Un scanner poate reprezenta cel mai util echipament de folosit la un proiect
multimedia. Există scanere cu pat şi scanere de mână. Cele cu materiale pat sunt mai uzuale în
proiecte multimedia, iar cele de mână pot fi utile tipărite pentru scanarea imaginilor mici sau a
coloanelor de text. Un parametru ce caracterizează scanerele este rezoluţia, ce poate fi de 300 dpi
(puncte pe inch), 600 dpi sau chiar mai ridicată în grafica profesională. Imaginile color, scanate
la o rezoluţie mare necesită un spaţiu mare de stocare. Afişarea pe monitor se face, în general, cu
o rezoluţie de 96 dpi. Deci scanerele foarte costisitoare şi cu rezoluţii foarte ridicate nu sunt
recomandate decât în aplicaţii de tehnoredactare. Scanerele oferă economie de timp la
încorporarea unor ilustraţii sau materiale publicitare existente ca imagini electronice în aplicaţia
multimedia.
Un scanner împreună cu un program de recunoaştere optică a caracterelor permite ca
documentele scrise pe hârtie să poată fi convertite în documente electronice prin convertirea
caracterelor tipărite în caractere ASCII.
Camere foto digitale. Acestea captează imagini statice la un anumit număr de pixeli
(rezoluţie), care sunt stocate în memoria camerei şi vor fi încărcate ulterior în calculator.
Încărcare în calculator se face prin cablu paralel, serial sau USB, iar placa de memorie a camerei
este inserată într-un cititor PCMCIA conectat la calculator (Figura 2.6.1.).
46
Prima placă de sunet care a fost creată s-a numit Sound Blaster. Ea conţine un bloc
MIXER ce are intrări analogice de la microfon , o linie audio sau difuzor PC ce pot fi controlate
individual. Suplimentar, un bloc MIDI primeşte comenzi pentru selectarea unor instrumente sau
efecte audio. Ca funcţii ale acestei plăci se remarcă: convertirea în forma digitală a sunetului;
prelucrarea sunetului pentru a crea efecte ca reverberaţii, ecouri, distorsiuni controlate; sinteza
sunetului sau a muzicii prin însumarea mai multor semnale sinusoidale cu frecvenţe diferite;
funcţii de comprimare şi decomprimare.
Microfon. Înregistrările personalizate se pot face prin utilizarea microfonului ca dispozitiv de
intrare către placă de sunet. În acest fel se poate înregistra vocea care apoi devine o secvenţă
sonoră ce poate fi inserată în fişiere.
Componente de ieșire
Dispozitive de redare a sunetului. Redarea sunetului se face prin amplificatoare şi difuzoare. În
prezent există şi difuzoarele cu amplificatoare încorporate recomandate dacă prezentarea
multimedia este efectuată într-un mediu cu nivel de zgomot ridicat.
Dispozitive de afişare sau monitoare. Există o largă varietate de monitoare ce pot fi utilizate
pentru dezvoltarea sistemelor multimedia, de la cele obişnuite, la monitoare grafice cu ecran, de
calitate superioara sau panouri cu cristale lichide. Cele mai folosite sunt cele având diagonala de
14", 15", 17", 21". Ele constau dintr-o suprafaţă bidimensională formată din pixeli. Tehnologic
există doua tipuri de dispozitive de afişare: video display şi display cu cristale lichide. Video
display este un ecran cu o peliculă foto-luminiscentă pe bază de fosfor, care permite fiecărui
pixel al său să fie luminos doar când este atins de un fascicol de electroni. Deoarece pelicula
fosforescentă îşi pierde luminozitatea, imaginea trebuie re-scanată cu o frecvenţă de cel puţin 60
de ori pe secundă. Afişaj cu cristale lichide (LCD) lichide este un dispozitiv ce foloseşte câmp
electric pentru a modifica polarizarea celulelor cristaline la nivelul fiecărui pixel. Fiecare astfel
de celulă este caracterizată de strălucire: prin schimbarea polarizării pe pixel, se modifică nivelul
strălucirii, deci intensitatea afişării pixelului
Adaptoare grafice. Afișarea pe ecran poate fi făcută în două moduri: în mod text sau în mod
graphic sub controlul adaptorului graphic. Adaptoarele grafice sunt dispositive ce permit unui PC
să transmită semnale spre dispozitivele de afișare (Figura 2.6.2). Ele mai sunt numite video
controlere sau plăci grafice. În regim graphic, pixelii de pe ecran sunt puși în corespondență
biunivocă cu biții din memoria video (sau frame buffer), ce este parte a memoriei interne a
calculatorului. Conținutul acestei memorii (0 sau 1) determină aprinderea sau stingerea pixelului
de pe ecran. Această memorie este controlată de un număr de ori pe secundă (minim 60) și orice
scriere în această memorie are effect instantaneu pe ecran.
47
Figura 2.8.2.Arhitectura standard a unui sistem de afișare a imaginii
Adaptoare grafice. Afişarea pe ecran poate fi făcută în două moduri: în mod text sau în mod
grafic sub controlul adaptorului grafic. Adaptoarele grafice sunt dispozitive ce permit unui PC să
transmită semnale spre dispozitivele de afişare (Figura 3.13.). Ele mai sunt numite video
controlere sau plăci Controlează grafice. În regim grafic, pixelii de pe ecran sunt puşi în
corespondenţă afişarea biunivocă cu biţii din memoria video (sau frame buffer), ce este parte
datelor din memoriei interne a calculatorului. Conţinutul acestei memorii (0 sau 1) memoria
determină aprinderea sau stingerea pixelului de pe ecran. Această memorie video este controlată
de un număr de ori pe secundă (minim 60) şi orice scriere în această memorie are efect
instantaneu pe ecran. Adaptoarele grafice sunt standardizate. Primul adaptor grafic impus ca
standard a fost CGA (Color Graphics Adapter) având rezoluţie de 320x200 pixeli în 4 culori sau
640x200 pixeli în 2 culori. De ce aceste variante pentru acelaşi dispozitiv? Datorită dimensiunii
memoriei video a adaptorului grafic şi a modului de reprezentare a culorii. Placa grafică în acest
caz avea o memorie video de capacitate egal ă cu 320x200x2=640x200x1 (deoarece 4 culori se
codifică pe 2 biţi iar 2 culori pe 1 bit).
Dimensiunea memoriei video necesare este volumul unui paralelipiped cu baza formată din
numărul de pixeli pe orizontală şi pe verticală şi înălţimea dată de numărul de biţi folosiţi
pentru codificarea culorilor.
Alte adaptoare grafice mai pot fi: EGA (Enhanced Graphics Adapter), 640x350 pixeli,16/64
culori; VGA (Video Graphics Adapter) 640x480 pixeli, 16/256 culori; XGA (Extended Graphics
Array) 1024x768 pixeli, 24..210 culori. SVGA (SuperVGA) - este standardul cel mai răspândit în
acest moment; ce oferă o rezoluţie calitativ superioară VGA: 800x600, 1024x768, 1280x1024,
1600x1200. Toate aceste variante suportă 16 milioane de culori, dar în practică aceasta depinde
de memoria video instalată pe placa grafică şi de rezoluţia aleasă de utilizator conform relaţiei:
Accelerator grafic. În cazul în care se dorește o creștere a calității și vitezei de afișare, adaptorul
grafic este extins cu memorie video suplimentară și cu elemente de procesare grafică(coprocesor
grafic) care preiau o mare parte din sarcina de procesare grafică de launitatea centrală de
procesare(procesor). Arhitectura unui accelerator grafic devine din ce în ce mai complexă pe
măsură ce cresc cerințele de procesare a imaginilor și a elementelor de grafică (Figura 2.6.3)
48
Figura 2.8.3. Arhitectura sistemului de afișare a imaginii cu accelerator grafic
Acceleratorul grafic poate realiza următoarele operaţii: transformări geometrice (rotaţii, scalări,
etc.) apărute în reprezentarea obiectelor în mişcare sau a modificării poziţiei observatorului;
decupaje, ce provin din deplasarea obiectelor în afara ferestrei de vizualizare; proiecţii pentru
redarea obiectelor folosind transformări în spaţiu; colorarea obiectelor şi umplerea suprafeţelor;
eliminarea suprafeţelor ascunse. Prin determinarea acelor obiecte care se proiectează în acelaşi
pixel şi sunt mai apropiate de observator, pentru a putea fi afişate.
Alegerea plăcii grafice se face în strânsa corelaţie cu monitorul după criterii de performanţă şi
ergonomice. Sistemul grafic adaptat armonios duce la o satisfacţie deplină a folosirii acestor
componente în aplicaţiile grafice.
Proiectoare. Sunt dispozitive care au rolul de proiecta materialul multimedia pe ecrane de mari
dimensiuni sau chiar pe perete alb. Există mai multe categorii, dintre care amintim:
- proiectoare cu tub cu raze catodice (CRT) - sunt receptoare TV cu ecran mare compatibile
cu ieşirea generată de calculator.
- panouri cu afişaj cu cristale lichide (LCD) conectate la un retroproiector -sunt dispozitive
portabile de dimensiuni mici ce se plasează pe suprafaţă de sticlă a unui retroproiector
standard. Panoul este conectat la calculator şi furnizează imaginile ce sunt proiectate
efectiv de retroproiector.
- proiectoare LCD autonome - conţin o lampă de proiecţie şi sistem de lentile şi nu mai au
nevoie de un retroproiector separat.
- proiectoare cu relele optice - reprezintă alternative ale proiectoarelor CRT de înaltă
performanţă şi folosesc o tehnologie cu cristale lichide în care o imagine color de intensitate
redusă modulează o rază de lumină de intensitate mare. Imaginea generată este foarte
strălucitoare şi saturată de culori şi poate fi proiectată numai pe ecrane cu o lăţime de până la 10
metri.
Imprimante. Sunt utilizate pentru tipărirea diverselor materiale multimedia. Imprimantele color
sunt laprețuri acceptabile. Culoarea contribuie la clarificarea conceptelor, la îmbunătățirea
procesului de înțelegere și de reținere a informațiiilor și la organizarea datelor de mare
complexitate. Variantele de imprimante pot fi: cu jet de cerneală sau imprimante laser. O
imprimantă laser este cu atît mai bună cu cît are viteza de tipărire mai mare și un consum de
toner mai mic(de exemplu 10000 de pagini la o viteză de 5 pagini color sau 14 pagini alb negru
pe minut cu o singură rezervă de toner)
49
Modem - MODEM (MODulation DEModulation) este echipamentul ce foloseşte tehnica digitală
pentru transmiterea datelor pe liniile de comunicaţii obişnuite (analogice). El poate fi extern
calculatorului (conectat la portul serial) sau intern (ca placă separată). Reţelele analogice curente
(numite şi reţele de comutaţie) limitează viteza de transport a datelor la valori (de exemplu 28
KBps) care nu fac posibile transmisii multimedia de calitate. Deci un modem cu o viteză de 56
Kbps (minim recomandat) necesită utilizarea unor algoritmi hardware de compresie care să
comprime datele înainte de a le trimite, respectiv să le decomprime la capătul celălalt.
ISDN - ISDN (Integrated Services Digital Network) oferă viteze de transfer al datelor
superioare. Liniile ISDN sunt importante pentru accesul la Internet, reţele şi video- sau
audioconferinţe.
Modem prin cablu - Aceste echipamente funcţionează la viteze de 100-1000 de ori mai mari ca
un modem telefonic, recepţionând date la maximum 10 Mbps şi expediind date între 2 şi 10
Mbps.
Instrumente software
Transformă OCR. Programul de recunoaştere optică a caracterelor transformă
textele din caracterele din format bitmap în text ASCII care poate fi recunoscut prin
format mijloacele electronice. Formatul bitmap este obţinut de la un scanner ataşat
bitmap în calculatorului. Programul fragmentează acest bitmap în zone în funcţie de
ASCII conţinut (text sau obiecte grafice), prin examinarea texturii şi a densităţii
suprafeţelor bitmapului şi detectarea marginilor. Zonele de text ale imaginii sunt apoi convertite
în caractere ASCII, folosind calculul probabilistic şi algoritmi din sisteme expert. În condiţiile
scanării unor copii de calitate inferioară unde cerneala depăşeşte conturul caracterelor pot apărea
erori de recunoaştere numeroase.
Prin desenarea unei reprezentări a sunetului în incrementări fine, indiferent dacă este o
înregistrare sau o formă de undă, aceste instrumente permit extragerea, copierea, inserarea sau
editarea într-un alt mod a unor segmente de sunet cu mare precizie. Sistemul de operare
Windows are programul Sound Recorder, care conţine funcţionalităţi de editare pentru sunete
digitale de tip formă de undă.
Instrumente pentru achiziţie video şi procesare filme digitale. Animaţiile şi filmele video
digitale reprezintă scene grafice în format bitmap (cadre) derulate cu rapiditate. Animaţiile pot fi
realizate şi în cadrul sistemului de creaţie, prin modificarea rapidă a poziţiei obiectelor sau a
succesiunii de cadre aferente mişcării unui personaj pentru a crea iluzia unei mişcări. Pentru
crearea filmelor se pot folosi programele QuickTime sau Microsoft Video pentru Windows, care
50
permit crearea, editarea şi prezentarea unor secvenţe video digitizate în mişcare în interiorul
aplicaţiei multimedia.
QuickTime şi AVI sunt două formate pentru stocarea şi redarea secvenţelor video digitizate în şi
din fişiere aflate pe disc. Ele se caracterizează prin:
• Sunt sisteme care depind de algoritmi ce controlează cantitatea de informaţii stocată într-
un cadru video trimis spre afişare pe ecran precum şi viteza de afişare a noilor cadre.
• Furnizează o metodologie pentru întreţeserea sau combinarea datelor audio cu imaginile
video sau cu alte date, astfel încât sunetul să rămână sincronizat cu imaginea.
• Sunt tehnologii ce permit streaming de pe disc în memorie prin bufere. Prin acest
procedeu un program preia o anumită porţiune din fişierul de pe disc, care urmează a fi redată
într-un anumit interval de timp, urmând ca programul, după redarea unei anumite fracţiuni din
porţiunea iniţială, să preia o altă "felie" din fişierul de date, pe care o va stoca într-un buffer şi o
va reda imediat după încheierea redării porţiunii iniţiale.
QuickTime este o tehnologie ce integrează uniform sunetele, textele, animaţia şi secvenţele video
pe platforme Windows. QuickTime se utilizează şi pentru prezentarea obiectelor multimedia în
World Wide Web ca modul plug-in pentru browsere. Rolul de integrator pentru elementele
multimedia este dat de cele trei componente din care este alcătuit, şi anume:
• Formatul de fişier film QuickTime - fiind utilizat pentru stocarea de secvenţe video,
audio şi chiar descrieri text ale unei compoziţii media.
• Nivelul de abstractizare a elementelor media - se referă la modul în care se poate obţine
accesul la mediile incluse în filmul QuickTime.
• Servicii media - includ suportul pentru majoritatea formatelor de fişiere media precum,
formatele principale pentru secvenţele video, pentru imagini statice, sunet, animaţie, MIDI, etc.
Serviciile sunt extensibile fiind deschise la alte noi formate media. Se remarcă sincronizarea
timpului, comprimarea şi decomprimarea datelor în format audio şi imagine, captura media,
efecte şi tranziţii audio şi video, comenzi înglobate pentru HTML.
Aplicaţia MoviePlayer, ce face parte din pachetul QuickTime Pro, permite redarea filmelor
importate din diferite formate.
Microsoft Video din Windows. Audio Video Interleaved (AVI) este un format creat de Microsoft
pentru redarea de secvenţe video dinamice întreţesute cu secvenţe audio în Windows, fără
utilizarea unor componente specializate. Datele video sunt întreţesute cu datele audio în
interiorul fişierului care conţine secvenţa de mişcare, deci porţiunea audio a filmului rămâne
sincronizată cu porţiunea video. Are caracteristici precum: redare de pe hard disc sau CD-ROM,
redare de pe calculatoare cu capacitate limitată de memorie prin procedeul streaming; încărcare
şi redare rapidă; comprimare video pentru îmbunătăţirea secvenţelor video şi pentru reducerea
dimensiunilor acestora.
Instrumente de creaţie. Pentru prezentări multimedia rapide Powerpoint este frecvent utilizat.
Microsoft Powerpoint oferă un pachet complet de programe pentru desenare şi text, dotat cu
funcţionalitate de realizare a prezentărilor de diapozitive manuale sau automate.
În Powerpoint pot fi inserate date şi elemente grafice provenite din alte aplicaţii, după cum
imaginile bitmap, diapozitivele şi prezentările din Powerpoint pot fi inserate în alte aplicaţii.
După cum se poate vedea din figura 3.15, se pot construi legături active între Powerpoint şi alte
aplicaţii şi se pot lega şi îngloba date şi obiecte precum fişiere Flash şi Shockwave (swf), filme
sau fişiere video pe calculator (.avi, .mov, .qt, .mpg, şi .mpeg) şi fişiere GIF animate. Dacă
dimensiunile acestora depăşeşte 100kocteţi, sunetele sunt legate automat de fişierul Powerpoint
şi nu integrate în acesta. În acest caz, pentru redarea prezentării, odată cu fişierul Powerpoint este
nevoie şi de aceste fişiere legate.
Microsoft Excel. Microsoft Excel oferă funcţionalităţi de legare şi înglobare pentru elemente
multimedia Intr-un document Excel în care se pot îngloba un sunet WAV din Windows, o
imagine din Photoshop sau un film video. Meniul Insert prezentat al instrumentului software se
51
poate utiliza pentru a insera în foaia de calcul tabelar o imagine preluată direct de la o cameră
digitală.
Compresia video
Compresia imaginilor, ca şi cea a sunetelor este posibilă datorită existenţei unei redundanţe sau
prin specularea unei repetabilităţi. Algoritmii de compresie asigură eliminarea acestei
redundanţe, reţinând numai informaţiile absolut necesare pentru reconstituirea imaginii sau
sunetului. Din punct de vedere al decompresiei, se constată o relaţie de inversă proporţionalitate
între factorul de compresie obţinut şi calitatea imaginilor (respectiv a sunetului).
Datorită complexităţii lor ridicate, compresia şi decompresia imaginilor sunt operaţii
extrem de costisitoare în ce priveşte resursele de calcul necesare. Din acest motiv, între reducerea
fluxului de date şi calitatea imaginilor se fac deseori compromisuri.
Micşorarea debitului informaţional precum şi a volumului de stocare se poate face atât cu
pierdere de informaţie, cât şi fără pierdere de informaţie. In general, pentru compresia datelor ne
interesează o soluţie fără pierdere de informaţii, ceea ce garantează reproducerea calităţii
imaginii originale, în schimb rata de compresie este în acest caz destul de scăzută. Pentru audio
şi video, o compresie cu pierdere de informaţii (lossy compression) este însă de cele mai multe
ori acceptabilă, deoarece ochiul şi urechea umană filtrând o bună parte a informaţiei primite,
transmite creierului numai trăsăturile esenţiale. O compresie cu pierdere de informaţie
neesenţială este deci "transparentă" ochiului şi urechii, astfel încât diferenţa dintre informaţia
originală şi informaţia prelucrată este uneori insesizabilă. Ea sacrifică precizia în favoarea
obţinerii unui fişier mult mai redus.
întrucât pentru video se înregistrează o redundanţă mare, atât spaţială, adică a detaliilor
de conţinut a cadrelor, cât şi temporală, adică a diferenţelor constatate între cadrele succesive,
transparenţa nu se pierde la o compresie chiar de 20 de ori, deşi de multe ori este posibilă o
compresie mult mai mare. Redundanţa spaţială este exploatată de tehnicile de compresie intra-
cadre, care tratează imaginile una după alta, în mod individual. Acestea se bazează fie pe
eliminarea detaliilor nesemnificative, fie pe codificarea culorilor pe mai puţini biţi sau pe
considerarea culorilor vecine ca fiind identice. în schimb, la compresia bazată pe redundanţă
temporală, inter-cadre, sunt luate în considerare numai aspectele care ţin de diferenţele semnalate
într-o imagine în raport cu precedenta.
Algoritmii de compresie video real-time cunoscuţi sunt: JPEG, MPEG, P*64, DVL M-
JPEG; ei se bazează pe cele două tipuri de redundanţă şi sunt disponibili pentru a comprima
informaţia video digitală, cu rate cuprinse de la 50:1 până la 200:1.
Dintre aceştia MPEG s-a impus ca normă oficială de compresie a imaginilor video. El
poartă numele grupului de lucru desemnat în 1988 să dezvolte standarde pentru reprezentarea
53
codificată a imaginii în mişcare, a sunetului asociat şi a combinaţiei lor. Acest grup numit MPEG
(Motion Picture Experts Group) lucrează sub coordonarea ISO (International Standards
Organization) şi a IEC (International Electro-Technical Commission).
55
1.__________ sunt valorile amplitudinii unui semnal analogic la anumite momente de timp.
3.Numărul de biţi utilizaţi pentru a reprezenta valorile eşantioanelor unui semnal se numeşte
.
.
4. Dimensiunea fişierului __________________ cu creşterea frecvenţei de
eşantionare sau a rezoluţiei de eşantionare.
56
d. YUV
Adevărat / Fals
A/F 1. Memoria ce permite rularea simultană a mai multor aplicaţii multimedia este memoria
RAM.
A/F 2. Tehnologia DVD este asemănătoare tehnologiei CD deoarece înregistrarea informaţiei se
face pe un singur nivel de adâncime.
A/F 3. Sistemele ce conţin ecrane tactile trebuie să mai conţină şi o tastatură standard şi un
mouse pentru a fi operabile.
A/F 4. Sistemele multimedia utilizează scanere de mână pentru a capta imaginile în mişcare.
A/F 5. Creşterea calităţii şi a vitezei de afişare se poate realiza prin adăugarea unor elemente de
procesare grafică.
5. Crearea rapidă a unor prezentări multimedia pentru conferinţe se poate face utilizând
produsul_______________________________de la Microsoft.
57
III. Dezvoltarea aplicațiilor Multimedia
3.1. Etapele de dezvoltare a unei aplicații multimedia. Descrierea etapelor de dezvoltare a unei
aplicații multimedia.
Sistemele multimedia au o arhitectură complexă care, într-o viziune structurală globală,
poate fi sintetizată în trei niveluri: nivelul aplicaţiilor, nivelul sistemului şi nivelul dispozitivelor
(Figura 1.1.) .
• Nivelul aplicaţiilor reprezintă nivelul ce oferă funcţii care permit dezvoltarea
şi prezentarea proiectelor multimedia. Acesta include instrumentele software şi
metodologii de dezvoltare a proiectelor multimedia.
• Nivelul sistemului include toate serviciile ce permit utilizarea echipamentelor
şi dispozitivelor nivelului inferior. Se pot remarca sistemele de baze de date, sistemele de
operare sau sistemele de comunicaţie.
• Nivelul dispozitivelor include conceptele de bază şi metodele de prelucrare a
diferitelor medii integrate, precum şi experienţa utilizării dispozitivelor fizice.
58
Figura 3.1 Sistem multimedia – viziune globală
Domeniile aplicaţiilor sunt formate din clase de aplicaţii. Se pot distinge următoarele clase de
aplicaţii:
• Sistemele de jocuri - a reprezentat domeniul principal în utilizarea tehnologiei
multimedia. Cerinţele de calitate pentru astfel de aplicaţii nu sunt o prioritate.
• Aplicaţii ce gestionează diferite date multimedia - în general sistemele play-back.
Utilizatorii nu modifică nici o informaţie din aceste date, iar datele de intrare şi de
ieşire sunt complet independente unele de altele. Aceste aplicaţii
• sunt similare sistemelor de jocuri, dar dimensiunea bazelor de date este mult mai mare
astfel că necesită un sistem de indexare a datelor.
• Aplicaţii TV interactive sau video la cerere. Aceste aplicaţii sunt dezvoltate mai ales pe
baza tehnologiei de cablu TV. Generaţia viitoare de sisteme de prelucrare a
informaţiilor digitale va permite conectarea între reţelele de calculatoare, a sistemelor
TV sau a altor echipamente şi dispozitive casnice (telefon, fax, etc.). Astfel de aplicaţii
au funcţia de bază de convertor de cablu TV, dar mai pot include şi alte funcţii ce vor
oferi o interfaţă multimedia complet interactivă la serviciile oferite de companiile de
cablu sau alţi furnizori de servicii. În prezent problema principală în acest domeniu este
standardizarea interfeţelor dintre acest sistem şi reţeaua de calculatoare şi a celei dintre
acest sistem şi celelalte dispozitive casnice.
59
• Domeniul conferinţelor video sau prin telefon şi al poştei hipermedia. Posibilitatea de a
vedea imagini ale altor persoane este o nouă funcţie a unor astfel de aplicaţii care, în
trecut, ofereau doar voce. Astfel de aplicaţii necesită un spaţiu de stocare considerabil
mai mare pentru a putea păstra mesajele video o perioadă de timp mai lungă decât
mesajele vocale.
• Aplicaţiile ce oferă spaţii de lucru în comun şi medii comune de execuţie. Prin
aplicaţiile ce oferă spaţiile de lucru în comun, utilizatorii pot executa aplicaţii şi pot
obţine de la distanţă informaţiile afişate pe ecranele calculatoarelor accesate de la
distanţă. Prin mediul de execuţie în comun, diferiţi utilizatori aflaţi în locuri geografice
diferite pot executa aceeaşi aplicaţie pe maşina lor de lucru cu acelaşi set de date.
Problemele de proiectare în acest domeniu sunt variate.
• Aplicaţii multimedia asociate diferitelor procese informatice. Aceste aplicaţii depind de
procesul informatic pentru care se realizează. Ele se bazează în principal pe sistemele
de baze de date de pe nivelul inferior.
Definirea unei aplicaţii multimedia se face prin 1) încadrarea acesteia într-un domeniu şi
2) stabilirea unui conţinut al prezentării. De asemenea, se mai ţine cont şi de 3) mediile pe care le
integrează şi de 4) interacţiunea cu utilizatorii. Din punct de vedere al domeniului ne vom referi
doar la aplicaţii asociate diferitelor procese informatice în funcţie de care se organizează
conţinutul prezentării.
Prezentarea trebuie să aibă o consecvenţă vizuală, folosind numai elementele care transmit un
mesaj de ansamblu al produsului. Aspectul şi percepţia unei prezentări multimedia trebuie să fie
plăcute şi estetice, atrăgătoare şi captivante. Ecranele trebuie să afişeze o combinaţie atractivă de
culori, forme şi text.
Exemplu. Un proiect multimedia pentru procese din domeniul educaţional. Structura sa trebuie să
se adapteze la necesităţile şi stilul utilizatorului care trebuie să înveţe, să demonstreze puternice
principii educative şi să promoveze cunoaşterea aprofundată a conţinutului. Tematica trebuie
prezentată într-un mod clar şi adecvat. Din punct de vedere al interacţiunii, un prototip
multimedia pentru lecţiile de matematica poate prezenta matematica astfel încât utilizatorii să se
poată juca, să poată explora şi dezvolta propria lor schema conceptuală pe baza conceptelor
prezentate. Tehnologiile de ultima oră, precum echipamentele de randare pot crea instantaneu
obiecte grafice tridimensionale.
Din punct de vedere al interacţiunii, numeroase proiecte multimedia sunt prea pasive - execuţi
clic şi priveşti. Produsele trebuie să implice nu numai elemente vizuale atractive, dar şi o
anumită activitate. Progresele tehnologice ne aduc tot mai aproape de acest deziderat. Una din
cele mai interesante evoluţii actuale constă din dezvoltarea sistemelor adaptive, sau instructori
inteligenţi, care acceptă datele de intrare ale utilizatorului şi se modifică pe ele însele în funcţie
de aceste date.
Exemplu. O aplicaţie multimedia pentru procese din domeniul medical poate analiza istoricul
unui pacient şi fondul problemei şi apoi va prezenta informaţii particularizate pentru pacientul
respectiv.
Din punct de vedere al metodologiei de dezvoltare, aplicaţiile multimedia, la fel ca orice aplicaţie
software, se dezvoltă în etape. Cele cinci etape fundamentale din dezvoltarea oricărui proiect
multimedia sunt: planificarea şi stabilirea costurilor, proiectarea, producţia, testarea şi livrarea.
60
Planificarea şi stabilirea costurilor. Orice proiect începe de la o idee care se rafinează apoi, prin
conturarea mesajelor şi a obiectivelor acesteia. Este esenţială organizarea unui plan care să
detalieze în mod raţional competenţele, timpul, bugetul, instrumentele şi resursele de care va fi
nevoie pentru proiect. În această fază:
a.Se identifică sub ce formă se va pune în practică fiecare mesaj şi obiectiv. Cu cât se cunoaşte
mai bine mediul de dezvoltare (componentele hardware şi software) cu atât se poate exprima
mai bine creativitatea. Deciziile pertinente cu privire la ce se poate face şi, respectiv, ce nu se
poate face se iau cunoscând avantajele şi limitările componentelor hardware şi software. Poate
să fie text, grafică, muzică, secvenţe video, etc., pentru fiecare sunt necesare calificări şi
competenţe.
Calificările şi competenţele necesare pot include graficieni pentru realizarea elementelor
grafice, producători video pentru secvenţele video, producători audio pentru editarea sunetelor
sau programatori pentru implementarea programelor.
b.Se creează ideea de structură şi de sistem de navigare care să-ipermită utilizatorului să viziteze
mesajele şi conţinutul.
c. Se estimează timpul necesar pentru punerea în practică a tuturor elementelor şi se pregăteşte un
proiect de buget. Planificarea bugetului trebuie să ţină cont de costuri pentru resursele
consumabile precum discuri şi alte suporturi de stocare a datelor, telefoane şi poşta
sau alte servicii speciale.
d.Se asamblează un prototip sau o mostră de concept
62
a. Persoanele trebuie să fie reprezentative pentru utilizatorii reali.
b. Persoanele nu trebuie să fie dintre cei care au fost implicaţi în producerea
proiectului.
Din descrierea etapelor, rezultă că un produs sau aplicaţie multimedia se dezvoltă ţinând cont de
două direcţii principale: tehnică şi de management.
Un proiect multimedia este o combinaţie de text, imagini, sunet şi elemente video. Felul în care
sunt alăturate aceste elemente în activităţi interactive este stabilit prin scop şi mesajele ce trebuie
transmise. Modul în care este organizat un proiect are un impact asupra utilizatorului final, la fel
de mare ca şi conţinutul. Structura unui proiect multimedia este ilustrată prin panouri de
prezentare şi hărţi de navigare. Pe parcursul procesului de proiectare, panourile de prezentare
sunt corelate cu hărţile de navigare.
Harta de navigare
Hărţile de navigare prezintă schematic conexiunile sau legăturile dintre diferitele părţi ale
conţinutului şi ajută în organizarea conţinutului şi a mesajelor aplicaţiei. O hartă de navigare
oferă un cuprins şi o diagramă care ilustrează succesiunea logică de parcurgere a interfeţei
interactive. Într-o formă mai detaliată a proiectului se pot descrie obiectele multimedia sau
funcţionalitatea la interacţiunea cu utilizatorul.
63
In multimedia există patru structuri de organizare fundamentale ce pot fi utilizate şi în
combinaţie. Figura de mai jos (Figura 1.2.) ilustrează schematic aceste structuri de navigare:
Se definesc astfel:
Structura liniară, unde utilizatorii navighează secvenţial, de la o informaţie la alta;
Structura ierarhică, unde utilizatorii navighează pe ramurile unei structuri
arborescente, construită în mod natural pe baza succesiunii logice a ideilor din conţinut;
Structura neliniară, în care utilizatorii navighează liber prin conţinutul aplicaţiei fără a
fi îngrădiţi de căi prestabilite;
Structura mixtă, unde utilizatorii pot naviga liber (neliniar), dar uneori sunt limitaţi la
prezentări liniare de secvenţe video sau informaţii critice care sunt organizate cât mai
logic într-o ierarhie.
64
Figura 3.2.2 O structură de suprafață pentru o structură de adîncime dată
65
Figura 3.2.3 Exemplu de structuri pentru un chestionar
Exemplu: Structura în adâncime pentru un chestionar constă din trei posibile structuri de
suprafaţă: structura secvenţială cu căi opţionale, structura secvenţială cu căi alternative şi
structura secvenţială cu paşi laterali. Figura 1.2.3 descrie aceste structuri.
Panourile de prezentare
Panourile de prezentare sunt desene care ilustrează structura aplicaţiei, fiind asociate cu hărţile
de navigare. Un set de panouri de prezentare pentru acelaşi proiect are o organizare secvenţială,
66
ecran cu ecran, şi fiecare ecran este însoţit de observaţii şi specificaţii de proiectare necesare
înainte de realizarea practică a aplicaţiei (Figura 1.2.4.).
Specificaţia unui panou de prezentare poate include descrierea articolelor meniului pentru
navigaţie sau a butoanelor de interacţiune (Figura 1.2.5.).
Meniuri pentru navigaţie. În mod caracteristic, un proiect multimedia este alcătuit dintr-un
volum de informaţii (sau conţinut) prin care utilizatorul navighează prin:
apăsarea pe o tastă,
execuţia unui clic cu mouse sau
apelarea la un ecran tactil.
Cele mai simple meniuri sunt alcătuite din liste de articole în format text. Utilizatorii aleg un
articol din listă, execută clic pe el şi sunt transportaţi la destinaţie. Pe măsură ce multimedia şi
interfeţele grafice pătrund tot mai profund în comunitatea utilizatorilor de calculatoare, anumite
acţiuni intuitive încep să fie asimilate pe scară largă. De exemplu, dacă pe ecranul unui calculator
se află trei cuvinte, răspunsul caracteristic al utilizatorului fără nici un fel de altă indicaţie constă
în a executa clic cu mouse pe unul dintre aceste cuvinte pentru a declanşa un eveniment. Uneori
articolele unui meniu pot avea forma unor butoane pe care se poate apăsa.
67
Din punct de vedere al navigaţiei printre ramurile unui arbore, utilizatorii au nevoie de
indicii clare şi consistente care să le arate unde se găsesc şi unde pot merge la următorul pas.
Aceste indicii pot fi repere sau hărţi. De exemplu, dacă se afişează în permanenţă o listă
interactivă cu texte sau simboluri ale ramurilor parcurse (de la rădăcină) utilizatorul poate reveni
în orice moment la una din locaţiile anterioare ale listei. Cu cât meniul include un număr mai
mare de niveluri cu atât opţiunile pentru navigaţie sunt mai numeroase. Utilizatorul trebuie să
aibă posibilitatea de control şi de revenire la început.
Când se proiectează sistemul de navigaţie se ţine cont că utilizatorul vrea să ajungă la destinaţie
cu un număr cât mai redus de acţiuni şi cu un interval de aşteptare cât mai scurt posibil.
Butoane pentru interacţiune. În multimedia, orice obiect grafic sau entitate de pe ecran poate să
determine anumite acţiuni când se execută clic pe ele. Prin acţionarea acestora pot apărea
anumite efecte vizuale sau sunete pentru a demonstra utilizatorului că şi-a atins obiectivul.
Structura de navigare trebuie să prevadă butoane sugestive pentru ca acţiunea acestora să fie
intuitivă. Butoane care efectuează operaţii elementare, de natură administrativă, cum ar fi ieşirea
din proiect în orice moment sau anularea unei activităţi, trebuie incluse în orice prezentare. Pot
exista trei categorii de butoane:
Butoane text. Din punct de vedere al stilului acestea pot fi clasificate în butoane radio,
căsuţe de validare, butoane de apăsat, butoane animate şi butoane de incrementare
valorică. Majoritatea sistemelor de creaţie furnizează un instrument pentru realizarea
acestora.
Butoane imagine. Acestea conţin imagini, iar un clic cu mouse pe suprafaţa acelei
imagini determină o acţiune.
Pictograme. Acestea sunt în esenţă obiecte grafice care simbolizează o activitate sau un
concept.
Sistemul de navigaţie
Moduri de realizare. Practica arată că există două tipuri de utilizatori, cei care sunt
cunoscători în domeniu şi cei care sunt începători. Din acest punct de vedere există două posibile
strategii pentru realizarea unei interfeţe grafice care să se adreseze utilizatorilor cu diferite
niveluri de experienţă:
soluţie este realizarea unei interfeţe modale. Interfaţa modală are un buton
Expert/Începător prin apăsare căruia, se schimbă abordarea întregii prezentări, aceasta,
fiind mai mult sau mai puţin detaliată sau complexă. Dezavantajul acestei soluţii este că
poate să dezorienteze utilizatorul. În mod caracteristic, doar o minoritate a utilizatorilor
sunt experţi, aşa că majoritatea se simt frustraţi.
A doua soluţie recomandată de practica din prezent este construirea proiectului
multimedia cu un sistem de navigare complex care să permită accesul la conţinut
tuturor nivelurilor de utilizatori, dar care să includă şi un sistem de Help prin care se
oferă îndrumare şi se conferă siguranţă utilizatorului.
Cea mai bună interfaţă cu utilizatorul solicită cel mai mic efort de învăţare.
68
Din punct de vedere grafic, principiile ce se aplică sunt:
Contraste îngrijit realizate: mic/mare, greu/uşor, luminos/întunecos, gros/subţire,
ieftin/scump;
Ecrane simple şi curate care conţin mult spaţiu liber;
Elementele care atrag privirile să fie intens colorate într-un ecran care nu are decât nuanţe
de gri;
Umbre simple şi proiectate de nuanţe diferite;
Degradeuri
Imagini cu culori inversate cu scopul evidenţierii textelor sau imaginilor importante;
Obiecte umbrite şi text bidimensional sau tridimensional.
Toate aceste criterii sunt importante pentru proiectarea, dezvoltarea şi alocarea resurselor
fizice aplicaţiilor multimedia, totuşi primele două sunt cele mai frecvent utilizate. Importanţa
primelor două criterii rezultă din necesităţile de disponibilitate de lărgime de bandă şi spaţiu de
stocare. Al treilea criteriu contează foarte mult atunci când se doreşte obţinerea unui anumit efect
sonor. Proiectarea trebuie să ţină cont de toate aceste trei criterii. Pe baza acestor criterii, se poate
organiza o taxonomie a elementelor audio din multimedia ca în figura de mai jos (Figura 4.12.).
69
Această taxonomie este mai mult un instrument de expunere a ideilor, şi nu o clasificare formală.
Ea ajută în evaluarea tipurilor de sunete ce pot fi încorporate într-un proiect multimedia.
Din punct de vedere al proiectării, problemele ce pot apărea se referă la întrebări precum:
Când şi cum trebuie utilizat sunetul într-o prezentare? Care este efectul sunetelor din punct de
vedere al procesului de învăţare?
Iată câteva exemple:
Utilizarea sunetului pentru citirea cu voce tare a unui text poate aduce confuzie si, în
acest caz, are numai efecte negative din punct de vedere al procesului de
învăţare/cunoaştere. Excepţie de la această regulă este în cazul exerciţiilor pentru citire
sau dicţie, intonaţie, etc.
Elementul audio poate fi (şi trebuie) utilizat în exemplificări de sunete - în reproducerea
unor sunete din natură sau în exerciţii de pronunţie în cazul învăţării unor limbi străine.
Efectele audio şi muzica au o largă utilizare în domenii precum video sau film pentru a
accentua mesajul ce se doreşte a fi transmis.
Sunetul trebuie utilizat atunci când în mod natural se aude un sunet. Pentru a fi mai clar,
exemplificăm prin:
secvenţă video este întotdeauna însoţită de sunet;
Cazul unei secvenţe animate ce arată două bile utilizate pentru a exemplifica elasticitatea
ciocnirii. Utilizarea unor efecte sonore pentru diferitele tipuri de ciocniri pare mai natural
şi va transmite mai multă informaţie pentru înţelegerea fenomenului fizic.
Ori de câte ori este prezent sunetul într-o aplicaţie multimedia, utilizatorul trebuie să aibă
posibilitatea anulării acestuia, deoarece nu se ştie în ce împrejurări se va desfăşura prezentarea
aplicaţiei. Totuşi, sunetul poate fi util în aplicaţiile destinate utilizatorilor cu deficienţe vizuale
sau atunci când atenţia vizuală este angajată în altă activitate (ex. conducerea unei maşini).
Ataşarea unei înregistrări audio la un proiect multimedia. Din punct de vedere audio,
interfaţa multimedia poate să includă elemente ce sunt importante şi care reflectă ritmul unui
proiect şi ar putea afecta atitudinea publicului. Sunetele pot fi muzică de fond, efecte speciale
pentru executarea click-urilor pe butoane, voci, efecte sincronizate cu animaţia sau pot fi coloana
audio a unui clip video. Efectele speciale trebuie utilizate cu măsură şi chiar un buton pentru
dezactivarea sunetului este bine de furnizat.
Ataşarea unei înregistrări audio la un proiect multimedia necesită parcurgerea următoarelor
etape:
1. Stabilirea tipului de sunet cel mai adecvat şi momentele din desfăşurarea proiectului când
vor interveni aceste evenimente audio. Se poate opta astfel, fie pentru muzica de fundal,
fie efecte speciale de sunet, fie voce,şi se marchează momentele de introducere a
sunetului.
2. Procurarea materialului sursă prin crearea sau prin cumpărarea lui. Fişierele audio digitale
se pot obţine prin înregistrare. Înregistrarea se poate face prin cuplarea directă la calculator a
70
unui casetofon şi folosind un program adecvat de digitizare. Pregătirea fişierelor audio digitale
presupun un compromis între obţinerea unui sunet de calitate, memoria RAM şi spaţiul pe disc.
De asemenea, este necesară fixarea unor niveluri de înregistrare adecvate pentru obţinerea unei
înregistrări de calitate.
3. Modificarea sunetului astfel încât să devină adecvat prezentării. Modificarea înregistrărilor
digitale presupune operaţii de editare precum:
Decupare - pentru înlăturarea spaţiului gol de la începutul înregistrării şi a spaţiului inutil
de la sfârşit;
Asamblare - prin tăierea şi lipirea mai multor înregistrări scurte;
Reglarea volumului - fiind necesară în urma asamblării mai multor înregistrări pentru ca
rezultatul să aibă un volum constant. Un fişier audio asamblat se normează la 80-90 %
din nivelul maxim.
Conversia de formate - în Windows cu programele de editare se obţin fişiere wav;
Re-eşantionare sau sub-eşantionare, pentru a reduce dimensiunea fişierului;
Creşterea şi scăderea progresive ale volumului - pentru începerea lină şi terminarea lină a
fişierelor de sunet;
Egalizarea - care permite modificarea conţinutului de frecvenţe al unei înregistrări pentru
ca aceasta să sune mai clar sau mai puţin clar;
Comprimarea în timp - care modifica lungimea (ca timp) a unui fişier de sunet fără ca
înălţimea sunetelor să se modifice.
Prelucrarea digitală a semnalelor - care adaugă efecte speciale precum reverberaţii,
ecou, cor.
4. Testarea sunetului pentru a verifica dacă se sincronizează corespunzător cu imaginile
proiectului.
Dacă rezultatul nu este satisfăcător etapele 1-3 se repetă până când sincronizarea este
perfectă.
Un sunet astfel pregătit poate fi importat în proiect. Fiecare mediu de programare multimedia
tratează în mod diferit datele de sunet, dar asemănarea este că pe parcursul procesului de
importare se identifică fişierele.
Exemplu. Procesul de importare a sunetelor în cazul aplicaţiilor de prezentare, de prelucrare a
textelor şi tabelare este:
1. Se face click pe Insert -> Object.
2. Se selectează din lista de obiecte Wave Sound și programul introduce pictograma
difuzorului în proiect și deschide fereastra de editare a sunetului (Figura 1.4.1., Figura
1.4.2)
3. Se specifică fişierul de sunet prin click pe Edit -> Insert File şi introducerea numelui unui
fişier .wav. Sunetele de sistem din Windows care sunt disponibile pentru diverse
evenimente se găsesc în subdirectorul Windows/ Media.
4. După inserarea fişierului, în fereastra de editare se remarcă atributele sunetului înregistrat
în fişier care pot fi configurate astfel încât să devină potrivite cu prezentarea (Figura
1.4.3).
5. Se revine în documentul de lucru prin click File -> Exit&Return to document
71
Figura 3.4.2. Fereastra de editare sunet.
72
este realismul prin fotografiere, ci realismul imaginii create prin tehnicile de grafică 3D.
Credibilitatea creaturii imaginare depinde şi de contextul în care este încadrată.
Reprezentările grafice 3D modelează obiectele reale. Caracteristica narativă a acestora este că ele
pot fi create si, astfel, pot fi oricât de reale, imaginare sau fantastice, după cum doreşte cel ce le
creează. Problema credibilităţii imaginii este o problemă a creaţiei, iar din punct de vedere al
expresivităţii, acestea pot fi uneori mai expresive decât fotografiile adevărate.
Din punct de vedere al caracteristicilor narative, o ilustrată este un instrument narativ mai
expresiv decât o fotografie. Ilustratele tip desen animat sunt caricaturi care stilizează (prin
aceasta simplifică unele trăsături şi accentuează altele) puternic.
Se pot identifica mai multe motive pentru care ilustratele au un mare potenţial de a fi bune
elemente narative. Cele mai evidente sunt:
ilustrată poate fi puternic stilizată (şi simplificată). Prin aceasta se poate recunoaşte uşor
mesajul pe care ilustrata vrea să-l transmită.
ilustrată este departe de a fi reală (suficient cât să fie recunoscută). În acest fel i se poate
permite să distorsioneze sau să extindă realitatea astfel încât fiecare element este creat
să contribuie la naraţiune şi să amplifice mesajul, indiferent de realitatea "adevărată" a
lucrurilor.
Simulatoarele ajută în procesul de învăţare despre unele echipamente ce sunt mai complexe,
riscante sau scumpe. De exemplu, un simulator de zbor pentru antrenamentul piloţilor. Acestea
pot fi şi instrumente pentru predicţia sau testarea comportamentului în caz de curenţi de aer
simulaţi într-un tunel în care se află şi o construcţie simulată. Specialiştii pot vedea cum se va
comporta construcţia în condiţii simulate de vânt fără a cheltui resurse financiare pentru o
construcţie reală.
73
Alte exemple de vizualizări şi simulări sunt numeroase. O vizualizare este şi planul unei
construcţii specificate în mai multe tabele (aplicaţii spreadsheet). Un exemplu de vizualizare mai
complexă este vizualizare în 3D a datelor prin tehnologia CAVE, unde CAVE înseamnă
Computer Aided Visual Enviroments. În principiu, CAVE permite reconstrucţia (pe baza datelor)
a unui desen holografic tridimensional (real sau virtual). Exemple pot fi găsite pe site-ul
http://www.cave.vt.edu/.
Spaţiul Web conţine numeroase lumi virtuale ce pot oferi vizualizări interactive ale unor realităţi
(de obicei virtuale, dar uneori şi reale). Ele includ oraşe/societăţi 3D de care cel care navighează
se poate impresiona sau poate interacţiona (ca participant în acea lume virtuală). O listă de
exemple se poate găsi la http://dir.yahoo.com/Computers and Internet/Multimedia/ Virtual
Reality/Ehibits.
Aceste lumi nu sunt numai virtuale. Ele pot fi simulări ale unor locuri sau societăţi de pe glob.
"Virtual Earth" este un exemplu ce oferă imagini digitizate ale unor parcuri
(http://www.virtualearth.com). Deşi aceste lumi virtuale sau alte vizualizări/simulări 3D sunt
asociate cu jocurile sau alte aplicaţii recreaţionale ele pot avea şi un rol în domeniul educaţional.
De exemplu, la geologie, se pot vizualiza/simula prin aplicaţiile CAVE straturile scoarţei terestre
dintr-o regiune unde are loc un cutremur. Similar, un la arhitectură se poate vizita ca turist virtual
o construcţie importantă din punct de vedere arhitectural. Mai poate avea şi un ghid (text sau
voce) care să-i dea explicaţii.
Reprezentările grafice sunt considerate una din cele mai răspândite forme de exprimare cu efecte
narative şi pedagogice pozitive mai ales în domeniul educaţional. Chiar şi o imagine statică are o
poveste de spus, iar povestea poate fi cunoscută prin citire. Dar dacă imaginea mai este şi în
mişcare şi dacă este dublată şi de un dialog, efecte sonore sau muzică, ea devine un mediu ce
captează atenţia (şi o menţine captată) relativ uşor. Dacă imaginea este stilizată şi animată,
eliberată de restricţiile de realism, nu mai există practic limitări la ceea ce poate fi cu succes
exprimat.
Rezultă astfel că imaginile grafice, în special cele animate (şi cu extindere la video) sunt cu
siguranţă utile în educaţie. Există unele limitări precum costul unei producţii sau costul şi
dificultatea scrierii unui scenariu cu efecte pedagogice planificate. Dacă aceste limitări pot fi
depăşite, pare cu siguranţă avantajoasă utilizarea imaginilor grafice, vizualizărilor, simulărilor,
animaţiilor în scop educaţional. Mai există totuşi unele probleme de considerat:
Experienţa a arătat că vizualizarea are un efect pozitiv asupra învăţării. Totuşi, nu se
cunoaşte cât de bine este păstrată în timp informaţia astfel reţinută.
De asemenea, experienţa a demonstrat efectul negativ al vizualizării fără interactivitate,
care este posibilă în cazul video: existenţa unei totale apatii.
Se poate critica şi prezenţa în acelaşi timp a unor prea multe elemente media. De
exemplu, o secvenţă video cu un profesor ce explică şi un text ce curge într-o altă zonă a
ecranului nu face decât să reducă efectul de înţelegere în loc să-l mărească. Aceasta
pentru că cele două elemente media prezintă informaţii echivalente prin intermediul
aceluiaşi organ perceptiv. În acest fel organul perceptiv de supraîncarcă şi procesul
cognitiv de asemenea.
Utilizarea imaginilor grafice, a vizualizărilor, simulărilor şi imaginilor animate poate fi un succes
dacă se ţine cont de următoarele sugestii:
dacă reţinerea informaţiei se poate asigura prin exemple practice;
dacă valoarea de divertisment şi interacţiune se poate adăuga materialului didactic astfel
încât să se evite apatia şi dezinteresul;
dacă elementele media sunt utilizate astfel încât să se evite supraîncărcarea şi alte
discrepanţe.
75
Modificarea setului de panouri de prezentare. Procesul de dezvoltare este unul iterativ, această
etapă fiind o nouă iteraţie a primei etape pentru a îmbunătăţi rezultatele obţinute din prima
iteraţie. Astfel, pentru a evita o posibilă monotonie dată de gruparea tuturor fotografiilor pe un
singur ecran se poate organiza o altă formă de prezentare. Imaginile captate din fotografii se
combină cu textele din articole formând o naraţiune. Astfel, setul de panouri de prezentare se
modifică după cum este descris în Figura 1.6.1.
Combinaţia dintre fotografii şi text determină crearea unui număr de ecrane. Aceste fotografii
sunt plasate în alt tip de panou de prezentare, iar fragmentele de text sunt adăugate prin câmpuri
de text. Se lasă posibilitatea parcurgerii rapide a fotografiilor cu ignorarea textului prin crearea
unui buton special care determină parcurgerea imaginilor până când se execută clic cu mouse.
Modificarea structurii de navigare. O nouă iteraţie e necesară pentru efectuarea unei noi
modificări a structurii de navigare datorită existenţei unor imagini suplimentare interesante ce nu
pot fi corelate cu textul. Astfel se mai adaugă ramificaţii separate accesibile prin intermediul
unor butoane din meniul principal. Modificarea este posibilă deoarece ecranul nu devine prea
aglomerat. În caz contrar se pot adăuga submeniuri până la epuizarea materialului obţinut din
prelucrarea primară de la etapa anterioară. Al treilea set de panouri de prezentare este structurat
ca în figura 1.6.2.
76
Figura 3.6.2. Iterația a doua
Rafinarea prezentării
Butoanele din meniul principal se pot asorta la o culoare potrivită cu fundalul. Fundalul poate să
fie o imagine sugestivă pentru tema proiectului. Textul se poate prezenta mai fantezist (scris cu
caractere Helvetica) prin aplicarea unei umbre proiectate. Un buton special de salt se poate
construi astfel încât să permită deplasarea directa la orice imagine din secvenţă. Se mai pot
adăuga obiecte animate sugestive.
77
2. Identificaţi care dintre următoarele sunt definite prin clasele de
aplicaţii:
a. domeniu;
b. conţinutul prezentării;
c. mediile ce se integrează;
d. interacţiunea cu utilizatorii.
Adevărat / Fals
A/F 1. Structura în adâncime şi structura de suprafaţa sunt stabilitate la proiectarea unei
aplicaţii multimedia.
78
A/F 2. Meniurile de navigaţie se proiectează astfel încât să conţină un
număr cât mai mare de niveluri.
A/F 3. Orice panou de prezentare trebuie să conţină butoane pentru ieşirea din
prezentare şi pentru anularea unei acţiuni.
1. Cele două soluţii posibile de realizare a sistemului de navigaţie sunt prin interfeţe de tip
_________ sau prin sistem de Help.
2. Cea mai bună interfaţă cu utilizatorul solicită cel mai _______ efort de învăţare.
4. Când se doreşte obţinerea unui anumit efect sonor se ţine seama de caracteristicile
_____________ ale elementului audio .
79
1. Etapa de asamblare a elementelor media poate avea mai multe _________ până la obţinerea
unor rezultate satisfăcătoare.
4. Pentru obţinerea unui text în format ASCII din articole de ziare este necesar un instrument
software numit _______ .
80
defineşte ca fiind „material scris sau grafic interconectat într-o manieră complexă care, în mod
convenţional, nu poate fi reprezentat pe hârtie. El poate conţine cuprinsuri ale propriului său
conţinut şi relaţiile dintre diverse părţi componente; poate, de asemenea, conţine adnotări,
adăugiri şi note de subsol pentru cei care doresc să-l examineze."
Definiţiile hipertextului sunt diverse. J. Smith şi S. Weiss consideră că hipertextul reprezintă:
1. o formă de document electronic;
2. o metodă de organizare a informaţiilor în care datele sunt memorate într-o reţea de noduri
şi legături, ce poate fi accesată prin intermediul navigatoarelor interactive şi manipulată de un
editorstructural.
W. Weilland şi B. Schneiderman apreciază că hipertextul denotă o tehnică pentru organizarea
informaţiei textuale printr-o metodă complexă neliniară în vederea facilitării exploatării rapide a
unei cantităţi mari de cunoştinţe. Conceptual o bază de date hipertext poate fi gândită ca un
digraf, unde fiecare nod poartă un fragment de text şi unde arcele grafului conectează unele
fragmente de text cu altele înrudite. Pentru a vizualiza textul dintr-o astfel de bază de date,
utilizatorul se va folosi de o interfaţă, traversând legăturile.
Ted Nelson este şi creatorul unui sistem hipermedia: Xanadu („locul magic al memoriei literare"
după cum îl descrie poetul Samuel Taylor Coleridge în poemul „Kubla Kahn: Or, A vision in a
Dream", scris în anul 1978). Ideea de bază a proiectului Xanadu era aceea de a concepe un
sistem care să conţină întreaga literatură universală, plus alte informaţii, într-un singur depozit de
date.
Prototipul lui Xanadu există într-o versiune dezvoltată de Autodesk (niciodată făcută
publică, în ciuda numeroaselor anunţuri a unor variante de test) şi în 1991 permitea: stocare
digitală a informaţiilor de tip text, grafică, video, etc.; legături flexibile între documente (la nivel
de caracter, cuvânt, fragment de imagine etc.); ataşarea de senzori activi părţilor de documente;
controlul versiunilor şi compararea lor; accesul concurent şi securizat al mai multor utilizatori.
Desigur, în prezent, Xanadu a fost depăşit de ceea ce înseamnă Web-ul, dar multe dintre ideile de
pionierat ale lui Nelson se regăsesc în cadrul WWW sau al altor sisteme hipermedia actuale.
Ideea de bază:
Figura de mai jos (Figura 4.1.1.) ilustrează legătura dintre elementele arhitecturii unui document.
Structura documentului reprezintă organizarea logică a informaţiei, de exemplu cuprinsul.
Documentele tradiţionale pot conţine doar text şi imagini statice. Ele pot fi organizate liniar. O
structură logică ar fi, de exemplu, capitole, secţiuni, subsecţiuni, paragrafe. La transferul
81
documentelor pentru schimbul de informaţii este necesar ca tot ce este legat de acel document să
fie transferat. Acesta include: conţinutul, structura şi prezentarea. De aceea, apare în mod
obiectiv necesitatea descrierii structurii şi prezentării documentului odată cu conţinutul acestuia.
Hipertext. În mod tradiţional formatul în care circulă un document este liniar (ex. o carte). Dar
noi, oamenii, nu gândim în acest mod. Noi căutăm şi stabilim asociaţii, facem ierarhizări şi
clasificări arborescente, găsim legături şi formăm reţele semantice. În concluzie, este necesar să
descriem şi structura informaţiilor într-un mod corespunzător gândirii, să găsim mijloacele de
prezentare adecvate prin care să transmitem sau să facem schimb de informaţii.
În mod tradiţional, procesul de producţie pentru un text se bazează pe liniarizare. Informaţiile
deţinute de un autor sunt aşternute pe hârtie în mod liniar, chiar dacă ele provin dintr-un mediu
altfel structurat. La schimbul de informaţii, un cititor preia forma liniară în care este scris acest
text şi de-liniarizează informaţiile prin acumularea acestora în memoria sa. Figura 4.1.2. descrie
procesul tradiţional de creare/publicare a informaţiilor.
82
Comparaţia dintre un text normal şi un hipertext este similară cu comparaţii între
secvenţial şi ne-secvenţial; sau pentru interfaţă, cartea comparată cu mediul digital al sistemului
de calcul; autorul tradiţional comparat cu ideea că cititorul poate fi autorul.
Structura unui hipertext este un graf format din noduri şi legături dintre noduri. Conceptele
esenţiale din hipertext/hipermedia sunt:
• nodurile, ce reprezintă unităţi de informaţii
• legăturile, permit conexiuni cu alte unităţi de informaţii
• navigaţie, ce reprezintă procesul de deplasare prin baza de date a
hipertextului. Prin urmărirea legăturilor (săgeţi sau legături) se poate naviga prin
document. Rădăcina săgeţilor se numeşte ancoră.
Figura 4.1.3.Hipertext
83
Figura 4.1.4 Hipermedia
Documente marcate
La transferul unui document este necesară transferarea nu numai a conţinutului, dar şi a structurii
şi prezentării documentului. Pentru a specifica structura documentului şi cum este prezentat,
trebuie să introducem comenzi în document. Aceste comenzi se numesc marcaje. Există două
tipuri de marcaje, a) logice şi b) vizuale. Un marcaj logic identifică elementele documentului
după funcţiile şi relaţiile cu alte elemente, ex. capitol, secţiune, paragraf. Acest tip de marcaj nu
dă informaţii despre cum arată elementele.
Avantajele marcajelor logice sunt:
• Structura documentului devine explicită, astfel organizarea informaţiilor este mai clară.
• Devine mai uşor de păstrat în aceeaşi prezentare a documentului.
Dezavantajul este că procesul de afişare a documentului este mai lung.
Marcajele vizuale definesc cum se vor afişa elementele. De exemplu, titlul unui capitol se
formatează cu font Arial Bold de 16 puncte, în timp ce titlul unei secţiuni se formatează cu font
Times New Roman de 14 puncte. Prin aceste marcaje, efectele vizuale devin explicite,
documentul fiind mai uşor de afişat. Exemple de marcaje logice şi marcaje vizuale (Tabel 4.1.1).
84
Cele două tipuri de marcaje sunt utilizate, de obicei, împreună într-un singur document.
Cele două aspecte ale unui document pot fi vazute în același timp în Figura 4.1.5. Dacă privim de
sus în jos, vom vedea structura logică a documentului, iar dacă privim de jos în sus vom vedea
aspecte de prezentare a documentului.
4.2 SGML
Încă din 1980 necesitatea de a publica documente în formă electronică a devenit din ce în ce mai
evidentă.Institutele ANSI şi ISO au specificat standarde pentru marcarea documentelor.
85
Standardul ISO (ISO:8879,1986) specifică limbajul SGML (Standard Generalized Markup
Language).
HTML
Evoluţia HTML. În prezent cel mai popular limbaj de marcare a documentelor este HyperText
Markup Language (HTML), fiind limbajul de bază pentru World Wide Web. HTML este o
aplicare a standardului SGML. Evoluţia HTML este prezentată în Tabelul 4.3.1.
86
Elementele de bază din HTML. Un document HTML este inclus între perechea de etichete
<HTML> şi </HTML> şi trebuie să conţină cel puţin două părţi: partea head şi partea body.
Elementele din partea <HEAD> sunt utilizate pentru definirea informaţiilor despre document
(Tabel 4.3.2). Acestea nu vor fi afişate de browser. Rolul acestor informaţii este de a fi folosite de
server în operaţiile de căutare după cuvinte cheie sau alte atribute de descriere
BODY> vor fi afişate de browser. Aceste elemente sunt marcate prin etichete de tipul, <XXXX>.
Există două tipuri de etichete:
• Etichete de deschidere, care necesită şi etichetele de închidere asociate, ex. <H1> şi </H1>.
• Etichete fără etichete de închidere, <BR>
•
Tabel 4.3.2. Elemente din partea <HEAD>
Elemente din partea <BODY>. În această secţiune a unui document HTML există numeroase
elemente ce pot apărea. În specificaţia DTD a versiunii HTML 4.01 se defineşte un element din
BODY astfel:
87
Fragmentul de mai sus defineşte elementele ce pot apărea direct în partea BODY, ele nefiind incluse în
alte elemente. O descriere pe scurt a acestor elemente este listată în tabelul de următor (Tabel 4.3.3).
88
Mai există şi alte elemente ce pot fi specificate în partea BODY a unui document HTML.
Acestea pot fi studiate din standardul HTML.
XML (Extensible Markup Language) este formatul universal pentru date şi documente
structurate pentru Web. XML 1.0 a devenit recomandare de la consorţiul W3C în februarie 1998.
Din momentul lansării versiunii XML1.0, un număr mare de specificaţii au mai fost lansate apoi,
şi multe altele au mai fost dezvoltate.
XML este o aplicaţie SGML. Obiectivul principal al XML este de a permite autorilor să pună
informaţiile structurate într-un document. Informaţiile vizuale pentru afişarea documentului sunt
specificate într-un obiect separat.
În acest scop se utilizează adesea CSS (Cascade Style Sheets) sau XSL (Extensible Style
Language).
Avantajul utilizării standardului XML este caracteristica sa extensibilă. XML are definit un
număr redus de etichete, dar oferă posibilitatea autorilor sau dezvoltatorilor să-şi definească
propriile etichete. Totuşi, când se definesc noi etichete, trebuie luate în considerare anumite
reguli. Un document care respectă aceste reguli este bine format şi se numeşte well-formed.
Regulile sunt următoarele:
1. Documentul trebuie să înceapă cu următoarea declaraţie XML:
XML se poate extinde prin crearea unui document DTD (Document Type Definition).
Documentul DTD defineşte o listă de elemente, atribute, notaţii şi entităţi ce sunt permise într-un
document XML.
DTD poate fi intern, adică poate fi inclus într-un document XML, sau extern, ceea ce înseamnă
într-un fişier separat.
Documentul XML este valid dacă satisface toate restricţiile specificate de documentul DTD.
SMIL
SMIL (Synchronized Multimedia Integration Language) este un nou limbaj de marcare ce a
devenit recomandare a consorţiului W3C în 15 iunie 1998. Există un număr mic de aplicaţii care
pot prezenta documente SMIL. Real Player G2 este unul dintre acestea.
SMIL se caracterizează prin:
89
• Este capabil să lucreze cu diferite tipuri de medii discrete sau continue, precum sunet,
imagine, video, etc.
• Autorul poate specifica unde se vor afla elementele în cadrul prezentării
SMIL.
• Autorul poate specifica şi când se vor prezenta elementele.
• Permite ca alegerea dintr-un număr de elemente alternative să se facă în funcţie de starea
de execuţie a sistemului.
Versiunea SMIL-Boston a adoptat o mai bună definire a modelului documentului DOM
(Document Object Model) şi convenţia de sintaxe XML. Un document scris în acest limbaj este
împărţit în module şi fiecare modul poate fi reutilizat în alte aplicaţii XML, precum XHTML.
Structura fişierelor SMIL. Ca şi orice fişier HTML, un fişier SMIL începe cu eticheta <smil>, şi
este împărţit în două părţi, <head> şi <body>. Partea <head> conţine informaţii referitoare la
întreg fişierul SMIL. Partea <body> conţine instrucţiuni despre cum se prezintă elementele
multimedia.
Singurul element obligatoriu din partea <head> este elementul <layout>. Acesta stabileşte cum
se vor poziţiona elementele din partea <body> a documentului într-o o suprafaţă abstractă de
prezentare. Mai poate conţine elemente ca <root-layout> sau <region>.
Elementul <root-layout> specifică spaţiul rădăcină de prezentare vizuală pentru întregul fişier
SMIL. Elementul <region> specifică un spaţiu de prezentare abstract ce poate avea un nume şi
reprezintă zona de prezentare a anumitor elemente. De exemplu, poate specifica ca anumite
elemente să fie afişate în anumite regiuni.
Exemplu de layout pentru SMIL
90
Partea body conţine informaţii care se referă la comportamente în timp şi legături între acestea.
Cele mai importante elemente ce pot apărea în această parte sunt:
<seq> - ceea ce este conţinut în acest element formează o secvenţă temporală, adică se vor
prezenta una după alta.
<seq>
<video src="slide_video1.rm" region="video"/> <audio src="slide_audio1.ra"/> <video
src="slide_video2.rm" region="video"/> </seq>
<par> - ceea ce este conţinut în acest element se poate suprapune. Ordinea în care se specifică
nu are importanţă din punct de vedere al desfăşurării în timp a prezentării lor.
<par>
<audio src="map.ra"/>
<img src="map.rp" region="Ocupat" fill="freeze" dur="20s"/> </par>
Celelalte elemente ce sunt incluse în partea <body> sunt obiecte media. Acestea permit
includerea diferitelor tipuri de medii în prezentări SMIL. Obiectele media sunt incluse după
referinţă (prin folosirea adresei URI).
HTTP este un protocol care nu păstrează nici o informaţie despre conexiuni între tranzacţii. Se
spune ca este un protocol fără stare (în engleză stateless).
Pe scurt, browserele, care sunt clienţi HTTP şi serverele de Web comunică prin protocolul HTTP.
a. Browserul iniţiază o conexiune prin trimiterea unei comenzi GET. Comanda poate specifica
opţional şi alte informaţii care să-i spună serverului cum trebuie returnat răspunsul.
Figura 4.5.1. oferă o imagine de ansamblu asupra elementelor ce sunt implicate în realizarea
serviciului Web. Se pot identifica aplicaţiile Server HTTP ce conţin documentele HTML asociate
prin hiperlegături. Aplicaţia browser prezintă pe ecranul utilizatorului informaţiile descrise în
documentele HTML. Aplicaţiile server şi browser comunică prin intermediul reţelei.
Web se bazează pe protocolul HTTP care are două tipuri de mesaje, cereri şi răspunsuri.
Structura acestora este prezentată comparativ (Tabel 4.5.1).
92
- Oferă o modalitate universală de a găsi informaţiile.
- Oferă o modalitate flexibilă de organizare şi legare de informaţii.
URL (Uniform Resourse Locator). Locatorul universal pentru resurse, URL, este adresa
universală de localizare a informaţiilor pe Internet. Specificaţia sa este dată în documentul
RFC1738, din Dec. 1994.
URN şi URI. URL specifică doar locaţia resurselor. Deoarece acestea se pot muta sau modifica,
resursele trebuie să aibă asociate nume. Numele unei resurse este cunoscut ca URN (Universal
Resource Name) şi are rolul de a fi un identificator permanent şi independent de locaţia resursei.
Toate URN-urile au următoarea sintaxă:
93
4.6 Tipuri MIME. Tehnologia Streaming
Un document HTML poate include sau lega diferite tipuri de informaţii, ex. imagini, sunete,
animaţii, etc. Browserele le recunosc folosind o schemă numită tipuri MIME. MIME este
acronimul de la Multipurpose Internet Mail Extension. MIME a fost primul mecanism de transfer
în Internet pentru informaţii multimedia. Această schemă lucrează astfel:
1. Fiecare document poate fi de un tip recunoscut de schema de tipuri MIME
2. Tipul este recunoscut de browser pe baza extensiei din numele fişierului.
3. Tipurile sunt specificate într-un fişier .mime.type
Un exemplu de astfel de fişier este:
Lucrul cu diferite tipuri de medii. Dintre numeroasele tipuri de medii, browserele obişnuite pot
lucra numai cu un număr redus. De exemplu, numai imaginile JPEG şi GIF pot fi accesate prin
browsere.
<IMG SRC="imagini/MODEL.gif"
ALT="MULTIMEDIA home" HSPACE="10" VSPACE= M10" HEIGHT="400M
WIDTH="600">
94
#mailcap entry added by Netscape Helper audio/x-pn-realaudio;raplayer %s #mailcap
entry added by Netscape Helper audio/midi;playmidi %s
#mailcap entry added by Netscape Helper application/postscript;ghostview %s #mailcap
entry added by Netscape Helper application/pdf;acroread %s
Tehnologia Streaming
Deoarece serviciul web devine din ce în ce mai popular, documentele hipermedia se pot livra şi
pe Web. Majoritatea documentelor hipermedia sunt foarte mari iar, pentru a descărca întreg
documentul înainte de prezentarea elementelor media, va fi necesară o perioadă mai lungă de
timp
Streaming este metoda de prezentare a elementelor multimedia fără o întârziere iniţială prea
lungă. Ea se aplică astfel:
• Browserul solicită documentul.
• După primirea şi memorarea temporară a unei părţi iniţiale din document,
browserul începe prezentarea documentului fără a mai aştepta
terminarea transferului.
Numeroase medii continue pot fi prezentate în acest fel prin instrumente media player. Se pot
exemplifica:
• Sunet — RealAudio (RealPlayer)
• Muzică (MIDI) — LiveUpdate's Crescedo, Yamaha's MidiPlug
• Video — RealVideo (RealPlayer)
• Animaţii — Macromedia's Shockwave
• Realitate Virtuală — VRML player
Informațiile audio se pot transmite ca obiecte HTTP. Informațiile video pot fi transmise fie sub
formă de audio și video combinate în același fișier, fie ca două fișiere separate și aplicația client
se ocupă de sincronizarea audio/video în prezenatre. De asemenea, acestea sunt trimise tot ca
obiecte HTTP.Cea mai simplă arhitectură este ca browserul să solicite aceste obiecte severului de
95
WEB. După oprimirea lor, le transferă unei aplicații media player penrtru prezentare (Figura
4.6.1)
O soluție mai bună este utilizarea unui server de streaming (Figura 4.6.3). Avanatajul acestea este
că permite alegerea protocolului de transport între UDP și TCP, iar protocolul de pe nivelul
aplicațiilor se poate defini mai bine. Posibilitățile de opțiuni se pot deduce din Figura 4.6.4
96
Figura 4.6.4 . Elemente variabile la memorarea temporară
Cu UDP serverul trimite datele la o rată de umplere potrivită pentru client. Aplicația player
memorează temporar datele(2-5 sec.) și apoi începe începe prezentarea. Cu TCP, serverul trebuie
să transmită la o rată maximă de umplere sau să retransmită în caz de apartiții de erori. Aplicația
player utilizează o memorie temporară mai mare pentru a avea o rată de consum constantă.
O altă realizare posibilă pentru soluţia cu server de streaming este utilizarea unui alt
protocol care să înlocuiască HTTP. Protocolul RTSP (Real Time Streaming Protocol) de pe
nivelul aplicaţiilor este proiectat pentru medii continue astfel încât utilizatorul să poată controla
prezentarea acestor medii prin comenzi precum: pauză şi continuare, derulare, rulare rapidă
înainte sau repoziţionare. Acest protocol nu condiţionează tipul protocolului de transport care
poate fi TCP sau UDP. De asemenea, nu defineşte nici încapsularea datelor audio/video pentru
transmiterea în reţea şi nici condiţiile de stocare pentru player. Serverul şi playerul comunică prin
RTSP informaţiile de control.
97
Clase de aplicaţii
Clasele de aplicaţii multimedia prin care grupuri de utilizatori pot colabora prin intermediul
sistemelor distribuite de calcul au ca obiective educaţia la distanţă, video conferinţe, tele-
medicină, sisteme de monitorizare, şi transmisiuni TV. Se sintetizează astfel domenii ale
aplicaţiilor precum conferenţiere, comunicaţii broadcast şi video la cerere. Acestea diferă prin
tipul informaţiilor comunicate (audio, video sau date), dimensiunea reţelei de comunicaţie
(locală - LAN sau globală -WAN), sensul comunicaţiei (unidirecţională sau bidirecţională),
dependenţa de timp (în timp real sau înregistrat) şi numărul de destinaţii (o singură destinaţie sau
mai multe destinaţii). Tabelul de mai jos (Tabel 4.7.1) sintetizează aplicarea acestor criterii
comparativ între cele trei domenii ale aplicaţiilor.
Tabel 4.7.1
Tabel 4.7.2
Video la cerere. Sunt aplicaţii ce oferă date diferite de pe un server video utilizatorilor aflaţi în
diverse puncte geografice prin intermediul reţelelor de comunicaţii prin tehnologia streaming
prezentată în secţiunea precedentă.
Reguli. Pentru toate aceste clase de aplicaţii se definesc două reguli şi anume:
1. Colaborarea la distanţă prin intermediul sistemelor de calcul nu poate înlocui
colaborarea directă între participanţi. Este posibil ca în viitor, această regulă să se
transforme ţinând cont de aplicaţiile de realitate virtuală care în prezent sunt
utilizate doar pentru jocuri.
2. Calculatorul nu trebuie văzut ca pe un înlocuitor al omului. El este doar un
instrument, iar educaţia la distanţă sau bazată pe calculator nu va substitui
niciodată complet rolul profesorului.
99
Colaborarea sincronă este în curs de dezvoltare. Grupurile pot stabili şi discuta în şedinţe virtuale
sau pot colabora în procese de producţie software interactive.
Infrastructura. Se referă la aspecte ce ţin de reţele, sisteme şi suport. Pentru reţele, lărgimea de
bandă şi gestiunea acesteia sunt problemele ce trebuie rezolvate pentru execuţia corectă a unor
astfel de aplicaţii. Se disting tehnicile de măsurare a calităţii serviciilor şi rezervarea unei lărgimi
de bandă suficiente. Alegerea unor protocoale de reţea corespunzătoare depinde de cerinţele
aplicaţiilor.
Securitate. Din punct de vedere al securităţii, obiectivele sunt direcţionate spre activităţi de
gestiune a riscurilor sau activităţi de evitare a riscurilor. Instrumentele software de colaborare nu
oferă un sistem de securitate puternic. Funcţiile din aceasta categorie sunt: autentificare pentru
verificarea identităţii participanţilor, controlul accesului la instrumentele de colaborare, criptarea
datelor pentru a oferi o protecţie a datelor private şi suport firewall pentru siguranţa colaborării
între parteneri.
Soluţiile ce permit obţinerea acestor funcţii sunt de integrare a unor servicii de securitate. Se
utilizează mecanisme externe care asigură securitatea reţelelor şi/sau oferă acces autentificat.
Reţelele virtuale private VPN şi reţele Extranet sunt două tehnologii pe care se bazează aceste
aplicaţii. Cele două tehnologii se caracterizează prin:
100
Fig
Figura 4.7.1 Tehnologie VPN
• VPN (Virtual Private Network) oferă un canal de comunicaţii sigur între două entităţi
conectate la Internet. Canalul de comunicaţii format este ca un tunel prin care circulă
informaţii codificate. (Figura 4.7.1).
• O reţea Extranet este un segment din reţeaua unei organizaţii ce poate fi utilizat în comun
cu mai mulţi parteneri. Prin accesul autentificat se permite prezentarea datelor solicitate de
diferiţi participanţi. O reţea de tip Extranet se poate combina cu tehnologia VPN.
101
• Facilitează distribuţia compartimentată a informaţiilor între diferite grupuri selectate sau
organizaţii.
Cultura. Obiectivele culturale se referă la puterea de adaptare într-o nouă formă de colaborare.
Modificarea structurii organizatorice de lucru şi obţinerea de beneficii bazate pe contribuţiile
echipei sunt aspecte noi ce trebuie considerate la astfel de aplicaţii. De asemenea, mai trebuie
remarcate obţinerea unor rezultate în termene bine stabilite şi cu divizarea efortului între
participanţi într-o formă explicită a expunerii volumului de lucru. Participanţii pot fi din
organizaţii diferite. Ei trebuie să cunoască procesul tehnologic astfel încât să poată realiza
rezultate mai bune. Din punct de vedere social este necesară înţelegerea conceptului de
comunităţi virtuale, şedinţe virtuale şi echipe virtuale.
În prezent, două dintre dezavantajele în atingerea obiectivelor culturale sunt lipsa unei
literaturi de îndrumare în operare, precum şi faptul că procesul de adaptare se desfăşoară în
acelaşi timp cu celelalte activităţi obligatorii şi responsabilităţi asociate locului de muncă.
102
Alegeţi varianta corectă pentru următoarele întrebări.
3. Hipermedia reprezintă:
a. Colecţia de documente hipertext dintr-o companie multimedia
b. Colecţia de documente hipertext accesibile prin Internet
c. Instrumentele de creaţie multimedia ce integrează documente
hipertext
d. Documente multimedia ce conţin hiperlegături
103
1. Un document HTML este inclus între perechea de etichete <HTML>
şi________________.
2. Elementele din partea _______________ a unui document HTML sunt afişate de către
browser.
2. URL specifică:
a. Locaţia resurselor în Internet;
b. Numele resursei independent de locaţie;
c. Identificatorul spaţiului;
d. Numele resursei ca identificator permanent.
104
b. Prezentarea elementelor multimedia fără întârzieri;
c. Codificarea datelor multimedia dependente de timp
d. Comunicarea la mai mulţi utilizatori a datelor independente de
timp.
Adevărat / Fals
A/F 1. Colaborarea asincronă între grupuri de utilizatori se poate realiza prin videoconferinţe.
A/F 3. Tehnologia VPN stabileşte un canal de comunicaţii între două entităţi conectate la
Internet.
A/F 4. Reţeaua Extranet este un segment din reţeaua unei organizaţii ce poate fi folosită de toţi
utilizatorii Internetului fără autentificare.
PRACTICĂ
105
Produsul de creaţie multimedia Director
Produsul de creaţie multimedia Director lucrează cu mai multe componente identificabile de
către utilizator prin prisma unor ferestre de vizualizare. Aceste componente sunt utile pentru a
construi o prezentare multimedia şi se invocă prin selecţia unei opţiuni ce indică componenta din
meniul Window.
Componenta Stage defineşte fereastra (zona client) în care se derulează prezentarea multimedia
după cum se poate observa în figura 1.1.
Vizualizarea conţinutului ferestrei se poate face la diferite scale. În figura 1.1 scala de vizualizare
este 100% dar se poate schimba utilizînd controlul de tip combobox din partea de jos a cadrului
ferestrei. Redimensionarea ferestrei se face prin intermediul proprietăţii Stage Size a obiectului
Movie care identifică prezentarea (aplicaţia) multimedia în Director. Tot în partea de jos a
cadrului ferestrei există butoane pentru controlul derulării prezentării. Funcţionalitatea lor va fi
prezentată în cadrul componentei Control Panel.
Componenta Cast este utilizată pentru a stoca actorii unei aplicaţii. Ea se poate configura
(View/Cast/Thumbnail) astfel încît să prezinte actorii sub forma unor mici ferestre de
vizualizare. Actorii se pot adăuga în componenta Cast prin selecţia următorului membru cast
neocupat apoi Click Dreapta/Import dacă ei provin din afara mediului de programare sau se
pot genera de către alte componente ale produsului software.
106
Fig. 1.2 Componenta Cast
În figura 1.2 se poate observa că, în componenta Cast sunt doar doi membrii, unul (europe) este
obţinut prin importul unei imagini, în timp ce al doilea membru este un script.
Componenta Cast poate fi privită ca fiind o bază de date ce memorează actorii unei aplicaţii.
Această componentă poate fi stocată independent de aplicaţia în care a fost creată. In acest fel,
actorii unei aplicaţii pot fi folosiţi de către o altă aplicaţie. In figura 5.2 se prezintă o componentă
cast internă aplicaţiei (Internal).
Dacă se doreşte crearea unei componente independente în vederea refolosirii ei în alte aplicaţii se
procedează astfel:
- se crează un nou cast (File/New/Cast);
- se furnizează un nume, se setează opţiunea External, după care se apasă butonul Create;
- apoi se populează componenta Cast cu actori.
Dacă se închide fereastra, atunci se iniţiază dialogul de salvare pe disc, componenta se va stoca
într-un fişier avînd extensia cst. Deschiderea componentei cast se face cu File/Open şi se alege
fişierul corespunzător cu extensia cst. Un membru Cast se referă prin construcţia member(n)
unde, n este numărul sau numele membrului Cast dacă membrul aparţine componentei Cast
interne (Internal) sau prin construcţia castlib(nume).member[n] dacă membrul aparţine unei
componente Cast externe identificabile prin nume.
Componenta Tools conţine instrumente utile în dezvoltarea de aplicaţii Director cum ar fi:
butoane de diferite tipuri, containere de texte, obiecte grafice, după cum se poate observa în
figura 1.3.
107
Fig. 1.3 Componenta Tools
Se observă în figura 1.4 că pe canalul 1 membrul cast europe este instanţiat şi durează de la
primul cadrul pînă la cadrul 20. Pe canalele numerotate cu 1, 2, ..., n se pot instanţia membri
din cast după cum doreşte utilizatorul. Canalele din partea de sus a ferestrei au destinaţii bine
precizate:
108
- utilizat pentru stabilirea tempo-ului aplicaţiei (tempo-ul precizează viteza de afişare a cadrelor);
- stabileşte paleta de culori;
- canal pentru stabilirea efectelor de tranziţie dintre cadre;
- şi canale specializate pentru membrii de tip sunet;
- canal destinat pentru a asocia comportamente cadrelor.
În figura 1.4 se observă o linie verticală de culoare roşie care reprezintă cursorul componentei
Score şi identifică cadrul care este vizibil pe scenă.
Componenta Control Panel este specializată pentru controlul derulării prezentării multimedia în
Director. Ea permite trecerea aplicaţie din modul construcţie în modul execuţie.
Funcţionalitatea controalelor din componenta Control Panel este ilustrată în figura 1.5.
Componenta Script este vizibilă sub forma unui editor de texte şi se utilizează pentru a scrie
scripturi. Scripturile în Director se pot scrie fie în limbajul de tip script Lingo, propriu produsului
software, fie în Java Script. Prin intermediul scripturilor se defineşte interacţiunea dintre
utilizator şi aplicaţie şi se implementează funcţionalitatea acesteia.
5.2. Etapele de dezvoltare ale unei aplicaţii multimedia
Indiferent de compexitatea unei aplicaţii, pentru construirea ei, în Director, este necesar să se
parcurgă următoarele etape:
A. Identificarea actorilor ce se vor utiliza în aplicaţia respectivă. Această etapă implică utilizarea
componentei Cast în sensul că ea va fi populată cu elemente. Actorii pot să provină din exteriorul
mediului de dezvoltare (Director), cum ar fi imagini, secvenţe de sunet sau secvenţe video
achiziţionate independent şi existente în formate acceptate în Director sau pot fi create utilizînd
componentele produsului software.
De exemplu, dacă dorim să construim o aplicaţie simplă care să afişeze un mesaj într-o căsuţă de
mesaje cînd se dă click pe un buton atunci prima etapă se concretizează în trasarea butonului din
bara de instrumente (Tools) pe scenă în locul dorit. Se scrie textul dorit pe buton, în exemplu
Mesaj, iar în Cast se poate observa că obiectul a fost adăugat ca membru. Figura 1.6 ilustrează
această operaţie.
109
Fig. 1.6 Popularea componentei Cast
C. Definirea interfeţei cu utilizatorul este etapa în care se utilizează componenta Script pentru a
scrie secvenţe de cod ca răspuns la evenimentele ce se interceptează pe perioada execuţiei
aplicaţiei. Prin această etapă dezvoltatorul permite utilizatorului să aleagă scenariul de derulare a
aplicaţiei multimedia. Dacă se execută aplicaţia în forma prezentată atunci va apare pe scenă
butonul pe durata a 30 de frame-uri după care derularea ei se va opri sau se va relua de la primul
frame în funcţie de opţiunea setată în componenta Control Panel. Dacă se apasă pe buton în timp
ce aplicaţia este în derulare nu se va întîmpla nimic pentru că nu a fost definită nici o
funcţionalitate pentru evenimentul de click pe butonul mouse-ului.
Pentru aplicaţia definită anterior se vor scrie două scripturi avînd funcţionalităţile:
110
- la frame-ul 30 se va păstra aplicaţia în execuţie pentru ca utilizatorul să apese pe butonul Mesaj
sau să termine aplicaţia:
function exitFrame(me)
{ _movie.go(_movie.frame);}
- pentru obiectul buton identificat prin Mesaj se răspunde la evenimentul de click pe butonul
sînga al mouse-ului prin scriptul:
function mouseUp (me)
{ _player.alert ("Mesaj la apasare pe buton!");}
Interceptarea mesajului de către buton va determina apariţia unei casuţe de mesaje de tip
atenţionare în care va fi scris mesajul: Mesaj la apasare pe buton!
D. Distribuirea producţiei multimedia este etapa în care aplicaţia multimedia se transformă astfel
încît să poată fi utilizată independent de mediu Director. Astfel se poate obţine din producţia
multimedia o aplicaţie Windows de tip desktop sau o aplicaţie de tip Web. Se alge din meniul
File opţiunea Publish Setings iar în caseta de dialog din figura 1.8 se bifează categoria Projector
şi se obţine o aplicaţie desktop prin apăsarea pe butonul Publish.
Pentru a obţine o aplicaţie Web care să poată fi rulată într-un Browser Web (de exemplu Internet
Explorer) se bifează opţiunea Shockwave File împreună cu HTML. Pentru ca operaţia să aibă
succes trebuie ca pe calculator să fie instalat un control de tip ActiveX denumit Shockwave
Player care execută aplicaţia Director în format Shockwave într-o pagină Web.
111
Dintr-o aplicaţie Director se mai pot exporta cadre sau chiar secvenţe video digitale în format
AVI sau MOV. In acest sens, se alege opţiunea Export din meniul File şi se completează
corespunzător dialogul din figura 1.9.
Pentru a genera un script de tipul celor doua menţionate, se selectează următorul membru
neocupat din Cast şi se activează componenta Script (opţiunea Script de la meniul Window).
La proprietăţi, se selectează tab-ul Script şi se alege tipul de script dorit pentru a fi generat
după cum se ilustrează în figura 1.10.
112
Fig. 1.10 Selecţia tipului de script
3. Script ataşat membrului Cast, este singurul tip de script care nu se memorează într-un membru
Cast de sine stătător ci se asociază cu membrul Cast pentru care a fost definit; pentru a genera un
astfel de script se selectează membrul Cast, click dreapta şi se alge opţiunea Cast Member Script
după care apare fereastra de editare a scriptului. Membrii Cast cărora li s-au asociat astfel de
scripturi sunt marcaţi şi cu iconiţa pe lîngă iconiţa afişată în concordanţă cu tipul membrului
Cast.
Se poate observa că, unui actor i se poate asocia un script atît în Score cît şi în Cast. Actorul
ataşat unui canal, în Score, este o instanţă a actorului existent în Cast, de aceea, scriptul lui de tip
behavior este asociat instanţei actorului în timp ce scriptul membrului Cast este aplicabil tuturor
instanţelor actorului respectiv.
În Director este important a se cunoaşte ordinea în care un mesaj este interceptat pentru a se
răspunde la el, dat fiind faptul că un handler, pentru un anumit mesaj, poate exista în diferite
tipuri de scripturi. Ordinea în care unui mesaj interceptat i se caută handler-ul de răspuns este
următoarea:
- prima dată, mesajul se transmite spre a fi tratat la scriptul de tip behavior ataşat obiectului care
a interceptat evenimentul;
- apoi, mesajul se transmite spre a fi tratat scriptului asociat membrului Cast din care a provenit
obiectul;
- mesajul se transmite, în ordine, scriptului asociat frame-ului aferent momentului cînd
evenimentul a fost declanşat;
- în ultimă instanţă mesajul se trimite spre a fi tratat scriptului de tip Movie.
Spre exemplificare să presupunem că avem un membru Cast de tip buton instanţiat pe canalul 1
în Score şi care are asociat un script de tip behavior ce are un handler de răspuns la mesajul
mouseUp de forma:
function mouseUp (me)
{
_player.alert ("executie script behavior");
}
iar scriptul asociat membrului Cast corespunzător este de forma:
function mouseUp ()
{
_player.alert ("executie script asociat membrului cast");
}
113
casuţa de mesaje, mesajul executie script behavior. Pentru ca mesajul să fie trimis spre a fi tratat
şi în alte scripturi, conform ordinii prezentate, se foloseşte comanda pass. Dacă în scriptul de tip
behavior asociat butonului, handler-ul de răspuns la evenimentul mouseUp ar avea forma:
function mouseUp ()
{
_player.alert ("executie script asociat membrului cast ");
pass();
}
atunci, la apăsarea pe buton ar apare o casuţă de mesaje avînd mesajul: executie script behavior
iar apoi ar apare o căsuţă avînd mesajul executie script asociat membrului cast.
Evenimentele care sunt interceptate pe parcursul derulării unei aplicaţii se pot împărţi în două
categorii:
- evenimente de sistem care sunt predefinite şi denumite in Director (de exemplu: ExitFrame,
MouseUp etc);
- evenimente de utilizator definite şi gestionate de dezvoltatorul aplicaţiei.
A. la startarea aplicaţiei:
o prepareMovie;
o prepareFrame;
o beginSprite;
o startMovie.
B. la accesarea unui frame:
o beginSprite;
o stepFrame;
o prepareFrame;
o enterFrame / exitFrame;
o endSprite.
C. la oprirea aplicaţiei:
o endSprite;
o stopMovie.
Sarcina:
Dezvoltați o aplicație Desktop care încarcă una sau mai multe imagini dintr-un fișier și le
vizualizează într-o fereastră. Asupra acestor imagini pot fi executate careva acțiuni, utilizînd
controale UI (butoane, câmpuri de introducere a textului, etc.)
115
Fig. Exemple de aplicații
Întrebări de control:
Dezvoltă o aplicație Desktop care încarcă un sunet (cîntec) dintr-un fișier și este capabil de a-l
reda, cu o [modificare], precum și fără ea. Parametrii numerici ai modificării trebuie să fie
reglabili prin UI.
Listă de modificări:
116
1. Sunetul este inversat
2. Pasul (pitch) mutat în sus sau în jos. (parametri: valoare)
3. Schimbă viteza de redare în sus sau în jos. (parametri: valoare)
4. Echo adăugat. (parametri: amplitudine, întârziere)
5. Egalizator (5 pasi)
6. Adaugă zgomot (parametri: amplitudine, de tip zgomot)
7. Volumul oscilează de-a lungul unei LFO (oscilație de frecvență joasă), parametri: perioada
LFO, LFO amplitudine (0-100, 0-100)
8. Se amestecă două fișiere împreună (se redau concomitent două fișiere)
9. Adaugă sunet metronom (parametri: frecvența, periodicitatea)
10. Schimbarea balanței de sunet (poziția percepută)
117
Fig. Exemple de aplicații
Rețeaua de resurse globale de informare Web are la bază noțiunea de hipertext. Prin hipertext se
întelege un document care conține, pe lîngă text, grafică, imagini, animație, înregistrări audio
și legături (referințe) către alte documente. Ulterior acesta a fost extins la termenul de
hipermedia, acesta avînd un sens mai larg. Conotația este însă aceiași și anume semnifică
resurse care conțin legături la alte resurse media.
2.1. HTML
118
marcaje, care vor indica pe lîngă modul cum se efectuează legăturile documentului cu alte
resurse externe și modul cum vor apărea formatate paginile documentului. Un document
HTML poate fi făcut public prin instalarea lui pe un server Web. Marcajele introduse de
HTML poartă numele de tag-uri HTML.
<!doctype html>
<html>
<head>
<title>Exemplul1 HTML</title>
</head>
<body>
<p>Textul meu!</p>
</body>
</html>
119
<tbody>
<tr>
<th rowspan="2">
<th colspan="2">Media
<th rowspan="2">Blana<br>maro
<tr>
<th>lungime
<th>greutate
<tr>
<th>Masculi
<td>0.93
<td>4.5
<td>80%
<tr>
<th>Femele
<td>0.91
<td>4.2
<td>67%
</tr>
</tbody>
</table>
Iepuri de casa (merged cells)
Media Blana
ma
lungime greutate ro
Masculi 0.93 4.5 80%
Femele 0.91 4.2 67%
120
frame-uri:
<frameset cols="20%, 80%">
<frameset rows="100, 200">
<frame src="frame1.html">
<frame src="frame2.gif">
</frameset>
<frame src="frame3.html">
<noframes>
<p>Documentul contine:
<ul>
<li><a href="frame1.html"> pag1</a></li>
<li><img src="frame2.gif" alt="img2"></li>
<li><a href="frame3.html">pag3</a></li>
</ul>
</noframes>
</frameset>
2.2. XHTML
Este o versiune strictă și "curată" de HTML 4.01. Este un standard W3C. Se bazează pe XML.
Nu acceptă marcaje incorecte. Tagurile sunt scrise cu litere mici și nu se acceptă lipsa marcajelor
de închidere. Nu se acceptă imbricarea incorectă a tagurilor (ex. <b><i>Acest text este bold-
121
italic</b></i>). Tagurile singulare trebuie de asemenea închise (ex. <br /> sau <img
src="img.gif" alt="My image" />).
Documentul trebuie să fie inclus într-o structură fixă (trebuie să existe un "root element")
<html>
<head> ... </head>
<body> ... </body>
</html>
Sprijină specificarea limbajului în care sunt scrise datele (ex. <div lang="it" xml:lang="it">Ciao
bella!</div>).
Documentul trebuie să aibă precizat tipul prin specificarea unui DTD (Document Type
Definition). Există 3 DTD-uri specifice pentru XHTML și anume:
XHTML 1.0 Strict
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
2.3. CSS
Tehnologia CSS (Cascading Style Sheets) este un standard pentru formatarea elementelor unui
document HTML. Ea a apărut în primul rînd din dorința de a putea formata unitar toate
paginile unei aplicații într-o manieră ușoară și flexibilă.
Menirea pricipală este aceea de a specifica cum vor fi afișate diversele entitati HTML. CSS a
apărut odata cu HTML 4.0. Stilurile CSS pot fi definite în pagina sau într-un fișier separat (de
obicei cu extensia .css). Exemplu de CSS utilizat în pagina:
<head>
...
<style type="text/css">
ol.roman { list-style-type: lower-roman }
</style>
122
</head>
<body>
<ol class="roman">
<li> Step one ...
<li> Step two ...
</ol>
...
Prin utilizarea unor fișiere .css se poate schimba foarte usor modul de afișare a informației în
aceiași pagină: exemplu CSS.
Din punct de vedere sintactic CSS este formată din trei părti: un selector, o proprietate și o
valoare: selector {property:value}. Pentru a crește lizibilitatea mai multe proprietăți pot fi
grupate pentru același element:
p
{
text-align:center;
color:black;
font-family:arial
}
h1,h2,h3,h4,h5,h6
{
color:green
}
Pentru a putea varia definiția pentru un selector a fost introdusă noțiunea de clasă. În felul acesta
două entități HTML de același tip pot fi formatate diferit dacă se va preciza o clasă diferită
pentru fiecare.
În fișierul css:
p.right {text-align:right}
p.center {text-align:center}
În fișierul html:
<p class="right">Acest paragraf va fi aliniat la dreapta.</p>
<p class="center">Acest paragraf va fi aliniat central.</p>
Dacă la definiția unei clase este omis selectorul atunci clasa se va putea aplica la orice
entitate html care suportă acea proprietate:
.center {text-align:center}
.green {color:green}
123
Dacă se dorește, unei entități html i se pot aplica simultan mai multe clase:
<p class="center green">Textul paragrafului.</p>
Sarcina: realizarea unei aplicații web multimedia utilizînd noțiunile din HTML, XHTML, CSS.
Întrebări de control:
2. Cum poate fi făcut public un document HTML. Cum se numesc marcajele introduse de
HTML?
5. Ce reprezintă XHTML?
124
7. În cîte moduri pot fi adăugate elementele css la un document?
Aplicațiile de tip Client Side Script se referă în general la acele programe Web care rulează pe
client (browser), după sau în timpul încărcării paginii Web de cătrea acesta. Limbajele de
programare Client Side Script sunt acele limbaje care permit scrierea unor astfel de aplicații.
Aceste limbaje fie sunt integrate în limbajul HTML și suportate direct de către browser (ex.
JavaScript), fie necesită un plug-in extern (ex. ActionScript - Flash). În afară de utilizarea de
limbaje de tip script, pentru implementarea aplicațiilor Client Side se pot utiliza și limbaje de
programare (ex. Java prin Java Applet). Acest capitol se va concentra pe două limbaje foarte
răspîndite și anume JavaScript și ActionScript.
Limbajul JavaScript (sau ECMAScript) este un limbaj de tip script suportat de browserele Web
care poate fi integrat direct într-o pagină HTML. Față de alte limbaje el are cîteva avantaje
importante, cum ar fi:
Cea mai importantă facilitate oferită de JavaScript este aceea de a adăuga dinamism și
interactivitate în paginile Web clasice. Un exemplu elocvent este oferit de Dave Tau în
pagina de prezentare a cărtii JavaScript 3nd Ed.:
125
Elemente de limbaj JavaScript
Limbajul JavaScript este case sensitive. Declarațiile vor fi (opțional) despărțite de ";". La fel ca și
în limbajul C secvențele de cod pot forma instrucțiuni compuse dacă sunt plasate între
acolade. Pentru comentarii poate fi utilizată sintaxa Java pentru comentarii pe o singură linie
(//) sau pe mai multe linii (/*...*/). Pentru a include o secvență JavaScript într-o pagină
HTML se va folosi tagul (>>> Ex 4.1 <<<):
Plasarea codului în pagină se poate face în funcție de momentul în care dorim ca acesta să
ruleze. În secțiunea <head> se vor scrie funcțiile apelabile la nevoie și cele declanșate de
evenimente. Codul scris în secțiunea <body> se va executa în timpul încărcării paginii în
browser. Pot exista oricîte secțiuni de cod JavaScript atît în <head> cît și în <body>. Pentru
secvențe lungi de cod sau pentru cod reutilizabil se poate folosi includerea unui fișier
JavaScript extern:
<script type="text/javascript" src="fisierCod.js">
</script>
Variabile: variabilele JavaScript sunt case sensitive. Varibilele nu au asociat un tip de date de la
declarare ci pot să-și schimbe tipul funcție de valoarea stocată. Numele poate începe cu o
literă sau cu caracterul "_". Pentru declararea unor variabile se va folosi construcția var.
Ex: var x=2, y;
Operatori:
Operator
Descriere Examplu Rezultat
matematic
+ adunare x=y+2 x=7
- scadere x=y-2 x=3
* multiplicare x=y*2 x=10
/ impartire x=y/2 x=2.5
126
% modul (rest) x=y%2 x=1
++ incrementare x=++y x=6
-- decrementare x=--y x=4
Operator
Descriere Examplu
logic
== egal ca valoare x==8 fals
=== egal si ca tip x===5 adevarat
x==="5" fals
!= diferit x!=8 adevarat
> mai mare x>8 fals
< mai mic x<8 adevarat
>= mai mare sau egal x>=8 fals
<= mai mic sau egal x<=8 adevarat
Instrucțiuni
1. Instrucțiunea if
if (conditie) {
cod executat pentru conditie adevarata
}
else {
cod executat pentru conditie falsa
}
(>>> Ex 4.2 <<<):
<script type="text/javascript">
var d = new Date();
var time = d.getHours();
if (time < 10) {
document.write("Buna Dimineata!");
}
else
{
document.write("Buna Ziua!");
}
</script>
127
2. Instrucțiunea switch
switch(n)
{
case 1:
cod executat daca n==1
break;
case 2:
cod executat daca n==2
break;
default:
cod executat daca n!=1 si n!=2
}
Ex:
<script type="text/javascript">
var d=new Date();
theDay=d.getDay();
switch (theDay)
{
case 0:
document.write("duminica");
break;
case 1:
document.write("luni");
...
case 6:
document.write("sambata");
default:
document.write("zi gresita!");
}
</script>
3. Instrucțiunea for
for (var=start;var<=end;var=var+pas)
{
cod de executat
}
Ex:
<script type="text/javascript">
var n=1,i;
document.write("<h2>n factorial </h2><br>");
for(i=1;i<=10;i++) {
n=n*i;
document.write(i"! = "+n+"<br>");
}
</script>
4. Instrucțiunea while/do while
while (var<=endval)
128
{
code de executat
}
do
{
code de executat
}
while (var<=endval);
Ex:
<script type="text/javascript">
var n=1, i=1;
document.write("<h2>numere impare </h2><br>");
while(i<=10) {
document.write(n,", ");
n+=2;
}
</script>
5. Instrucțiunea for in
for (variable in object)
{
code de executat
}
Ferestre de avertizare
1. Alert box
alert("mesaj");
2. Confirm box
confirm("mesaj");
3. Prompt box (>>> ex4_3 <<<)
prompt("mesaj","valoare implicita");
Funcții
Funcțiile sunt secvențe de cod care se execută fie prin apelarea explicită fie prin legarea de
un eveniment. De obicei funcțiile sunt plasate în secțiunea <head>.
Funcțiile au un nume, o listă de parametrii de apel și un bloc de cod. Dacă codul funcției
calculează o valoare atunci aceasta poate fi returnată prin aplelul return val;.
function numeFunctie(var1,var2,...,varN)
{
codul functiei
}
129
Evenimente
Evenimentele sunt acțiuni care sunt detectate de către browser și pot declanșa execuția unor
funcții.
Evenimentele captate de JavaScript: onLoad, onUnload, onFocus, onBlur, onChange,
onSubmit, onMouseOver, onMouseOut.
Ex:
function verificSuma() {
if(document.getElementById("suma").value<0) {
alert("Suma nu poate fi negativa!");
document.getElementById("suma").value=0;
}
}
...
<input type="text" size="30" id="suma" onchange="verificSuma()">
Pentru tratarea erorilor se pot folosi contrucțiile try..cartch pentru captarea lor, respectiv
throw pentru generarea lor.
Obiecte JavaScript
130
(sursa: Wikymedia)
Exemplu de DOM:
Fiecare obiect definit de modelul DOM are o serie de proprietăți și metode prin care poate fi
controlat:
131
3.3. Action Script
ActionScript este un limbaj asemănător cu JavaScript, folosit în principal pentru dezvoltarea
de functionalități în cadrul animațiilor Adobe Flash prin generarea fișierelor cu extensia .swf
ce rulează în Adobe Flash Player. A fost dezvoltat inițial de compania Macromedia, iar acum
aparține Adobe, care a achiziționat Macromedia în 2005. Limbajul de programare are la bază
standardul ECMA. El a fost creat pentru desenarea și controlarea animațiilor vectoriale 2D
dar de-a lungul vremii s-a dezvoltat pentru a realiza aplicații WEB complexe sau chiar jocuri.
ActionScript este case-sensitive.(wikipedia). Versiunea actuală: Actionscript 3.0.
Tipuri de date: Boolean, Int, Uint, Object, Number, String, Null, Void.
Variabile:
var a:int = 10, b:int = 20;
var numArray:Array = ["zero", "one", "two"];
Obiecte:
declarare: var someObj:Object;
instantiere: var myBirthday:Date = new Date();
var someArray:Array = new Array(1,2,3);
Clase dinamice:
dynamic class Persoana
{
private var adresa:String;
public var nume:String = "Ion";
function Persoana()
{
this.adresa="nu are";
}
}
var pers:Persoana = new Persoana();
pers.inaltime = 180;
Sarcina: realizarea unei aplicații web multimedia utilizînd noțiuni din limbajele JavaScript
și Action Script.
133
Întrebări de control:
4. Care este sintaxa de declarare a funcțiilor. Care sunt evenimentele captate de JavaScript?
134
Tehnologiile Server Side Scripting permit crearea de aplicații Web complexe prin procesarea
datelor pe server și generarea unor pagini în mod dinamic. În felul acesta se pot interfața
aplicațiile Web cu servere de baze de date sau servere de poștă electronică. Limbajele
Server Side Script au posibilitatea de a accesa datele citite în formulare HTML și
implementează biblioteci de acces la resurse externe cum ar fi o bază de date. Spre
deosebire de tehnologii mai vechi care realizau același deziderat (Ex. CGI) server side
scripting asigură o viteză și o securiatate sporite. În general interpretoarele limbajelor SSS
sunt integrate sub formă de module chiar în serverul de Web. Exemple de limbaje SSS: ASP,
ColdFusion Markup Language, JSP, PHP, Perl, Phyton, Rubi etc.
Limbajul PHP este un un limbaj de tip server side script creat special pentru Web. Liniile de cod
PHP trebuie incluse în interiorul unei pagini Web scrisă în HTML. Utilizînd PHP pot fi
construite ușor:
Serverul Web încarcă pagina din sistemul de fișiere propriu si, constatînd că este vorba de o
pagină PHP o trimite interpretorului PHP. Interpretorul PHP parcurge pagina și execută
instrucțiunile PHP întîlnite. Instrucțiunile PHP au ca și scop principal acela de a genera cod
HTML. De asemenea, codul HTML din fișierul original este copiat pur și simplu la ieșire.
Interpretorul PHP transmite înapoi către server fișierul transformat prin interpretarea codul
PHP. Acest fișier va conține doar cod HTML (eventual și Client Side Script etc.) dar nu și
cod PHP.
Față de aceste limbaje SSS, PHP are cîteva avantaje importante:
o performanță bună
o interfețe cu o mare varietate de sisteme de gestiune a bazelor de date
o biblioteci puternice care acoperă toate operațiile Web uzuale
o gratuit (http://www.php.net) /cost scazut (http://www.zend.com)
o ușor de învățat și utilizat
o portabil
o disponibil ca și cod sursă
135
Pentru includerea codului PHP într-o pagină HTML se preferă de obicei stilul XML:
<?php ... ?>
Operatori PHP
Operatorii PHP sunt în general identici cu cei din limbajul C cu cîteva exceptii:
Operatorul de concatenare șiruri "." ($sir1." abc").
Substituția de variabile în șir "" ("$var" fata de '$var').
Operatorul de referire "&" ($b = &$a;).
Operatorul de testare a identitatii "===" ($a===123).
Operatorul de suprimare a erorilor "@" ($a = @($b / 0 );).
Operatorul de executie "`" (`dir c:\`).
Instrucțiuni PHP
Instrucțiunea if:
if (expr)
instructiuneAdevarat;
else
instructiuneFals;
Instrucțiunea elseif:
if (expr1)
instructiune1
elseif (expr2)
136
instructiune2
...
else
instructiuneN
Instrucțiunea switch:
switch (expr) {
case valoare_1:
instructiune_1;
break;
case valoare_2:
instructiune_2;
break;
...
case valoare_n:
instructiune_n;
break;
defaut:
instructiune_default;
}
Instrucțiunea while:
while (expr)
instructiune;
Instrucțiunea do-while:
do
instructiune
while (expr);
Instrucțiunea for:
for (expr1; expr2; expr3)
instructiune;
Instrucțiunea foreach:
$tablou = array (el0, el1, ... el_n);
foreach (tablou as val_el_crt)
instructiune;
$tablou = array( "cheie1" => el1, "cheie2" => el2, ... "cheie_n" => el_n);
foreach (tablou as cheie=>val_el_crt)
instructiune;
Exemplul 5.2: utilizare tablouri.
Instrucțiuni control repetiții: continue, break sireturn.
Funcții PHP
Funcțiile sunt utilizate pentru a grupa instrucțiunile care execută un anumit algoritm. Ele
permit refolosirea codului ori de cîte ori este nevoie.
O funcție este un modul de cod care oferă o interfață de apel, rezolvă un anumit algoritm și
opțional, returnează o valoare.
Declararea unei funcții se face în felul următor:
function nume_functie(lista_par) {
137
// secventa instructiuni
// (corpul functiei)
// daca este cazul: return exp;
}
Exemplu:
function afis_tablou( $t, $nume)
{
echo "Continut tablou $nume<BR>";
echo "<UL>";
foreach ( $t as $ind => $el )
echo "<LI> $ind - $el</LI>";
echo "</UL>";
}
// apel functie
$tPers = array( "Ionescu" => 1962, "Popescu" => 1967, "Vasilescu" => 1978);
afis_tablou("anul nasterii", $tPers);
Se pot declara si functii cu parametrii de apel optionali:
function afiseaza_titlu( $titlu, $marime = "H1", $culoare = "#000000")
{
echo "<$marime> <FONT color=\" $culoare\">".$titlu."</FONT></$marime><P>";
}
Implicit parametrii sunt transmiși prin valoare. Dacă se dorește transmiterea prin adresă se va
utiliza referințe:
function schimba( &$a, &$b )
{
echo "Apel schimba(a=$a, b=$b)";
$c = $b;
$b = $a;
$a = $c;
}
Limbajul PHP suportă și funcții recursive:
function afis_inversat($sir)
{
if (strlen($sir)>0)
afis_inversat(substr($sir,1));
echo substr($sir, 0, 1);
}
Reutilizarea codului
Pentru a crește eficiența dezvoltării aplicațiilor se preferă reutilizarea codului gata scris.
O primă modalitate o reprezintă crearea și utilizarea de biblioteci de funcții.
Aceste bibilioteci sunt scrise în fișiere externe care pot fi incluse in aplicatia curenta prin
instructiunile include sau require. Spre deosebire de include, instructiunea require este
inlocuita cu fisierul referit la incarcarea paginii, indiferent daca executia codului va ajunge
sau nu la aceasta instructiune.
138
O a doua modalitate este reprezentata de posibilitatea crearii ierarhiilor de clase (incepand cu
PHP 5.0). Pentru mai multe informatii accesatiPHP: Classes and Objects.
Controlul Sesiunilor
Protocolul HTTP este un protocol lipsit de informatii de stare. Acest lucru se traduce prin
faptul ca acest protocol nu are nici un mecanism propriu prin care sa trasmita datele intre
doua tranzactii (pagini). La cererea succesiva a doua pagini de catre un utilizator catre un
server de Web, nu exista nici o posibilitate de a transmite spre cea de a doua pagina faptul ca
este vorba de catre acelasi utilizator. Ideea de la care pleaca controlul sesiunilor este tocmai
acela de a permite urmarirea actiunilor unui utilizator pe parcursul unei sesiuni de accese
catre respectivul server de Web.
Sesiunile PHP sunt gestionate prin intermediul unui numar unic (session ID) generat aleator
pe baza unui algoritm criptografic. Acest numar este generat de catre PHP si mentinut de
catre clientul de Web care a acceseaza pagini pe tot parcursul sesiunii de lucru.
Pasii care se fac la utilizarea unei sesiuni sunt urmatorii:
o crearea unei sesiuni (session_start();)
o inregistrarea variabilelor sesiune (session_register( "var");)
o utilizarea variabilelor sesiune pentru controlul accesului sau personalizarea
paginii ($_SESSION["var"];)
o stergerea variabilelor sesiune si distrugerea sesiunii (session_destroy();).
4.2. GD
Biblioteca GD este folosite pentru crearea dinamica a imaginilor (GIF, JPG, PNG). Este
disponibila pe mai multe platforme (http://www.libgd.org/) dar in continuare ne vom referi la
implementarea PHP.
Pentru instalarea bibliotecii modulul PHP trebuie compilat cu optiunea --with-gd. La
versiunea de Windows se poate folosi biblioteca php_gd2.dll (se va modifica corespunzator
php.ini). In php.ini trebuie facuta si modificarea:
gd.jpeg_ignore_warning PHP_INI_ALL
Includerea unei imagini GD in pagina se va face prin:
<img src="img.php" alt="Imagine prin PHP GD ">
Pentru a crea imaginea fisierul img.php va contine:
<?php
header ("Content-type: image/jpeg");
$img = ImageCreate (250,150);
$fond = ImageColorAllocate ($img, 0, 0, 240);
$col = ImageColorAllocate ($img, 255, 255, 255);
ImageEllipse($img, 125, 75, 220, 100, $col);
ImageJPEG ($img, '', 100);
?>
139
Acest exemplu va crea o elipsa pe un fundal albastru.
Functii GD
> array gd_info(void);
array(9) {
["GD Version"]=>
string(24) "bundled (2.0 compatible)"
["FreeType Support"]=> bool(false)
["T1Lib Support"]=> bool(false)
["GIF Read Support"]=> bool(true)
["GIF Create Support"]=> bool(false)
["JPEG Support"]=> bool(false)
["PNG Support"]=> bool(true)
["WBMP Support"]=> bool(true)
["XBM Support"]=> bool(false)
}
> list($width,$height,$type,$attr) = getimagesize("img/flag.jpg");
> int imagecolorallocate($image, $red, $green, $blue);
Obs: primul apel va modifica culoarea de background.
> int imagecolorat($image, $x, $y);
Obs: Returneaza indexul culorii din punctul (x,y).
void imagecolorset($image, $index, $red, $green, $blue);
Obs: seteaza culoarea pentru indexul respectiv.
> array imagecolorsforindex($image, $index);
Obs: obtine culoarea (RGBA) de la indexul specificat.
> bool imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);
> bool imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y,
$dst_w, $dst_h, $src_w, $src_h);
> resource imagecreate($width, $height);
> resource imagecreatefromjpeg($filename);
Obs: creaza o imagine pornind de la fisierul specificat.
> bool imageellipse($image, $cx, $cy, $width, $height, $color);
> bool imagefill($image, $x, $y, $color)
> bool imagejpeg( $image [, $filename [,$quality]]);
Obs: Insereaza imaginea in pagina HTML.
> bool imageline($image, $x1, $y1, $x2, $y2, $color);
> bool imagerectangle($image, $x1, $y1, $x2, $y2, $color);
> bool imagesetpixel($image, $x, $y, $color);
> bool imagestring($image, $font, $x, $y, $string, $color);
> int imagesx($image);
> int imagesy($image);
4.3. PDFLib
140
gaseste pe http://www.php.net/.
Functii PDFLib
> int PDF_add_textflow(resource $pdfdoc, int $textflow, string $text, string $optlist);
> bool PDF_begin_page_ext(resource $pdfdoc, float $width, float $height, string $optlist);
Obs: Dimensiuni standard: A4 595 x 842, A3 842 x 1190.
> bool PDF_circle(resource $pdfdoc , float $x , float $y , float $r);
> bool PDF_continue_text(resource $p, string $text);
> bool PDF_end_document(resource $pdfdoc, string $optlist);
> bool PDF_end_page(resource $p);
> bool PDF_fit_image(resource $pdfdoc, int $image, float $x, float $y, string $optlist);
> bool PDF_lineto(resource $p, float $x, float $y);
> int PDF_load_font(resource $pdfdoc, string $fontname, string $encoding, string $optlist);
> int PDF_load_image(resource $pdfdoc, string $imagetype, string $filename, string
$optlist);
> bool PDF_moveto(resource $p, float $x, float $y);
> resource PDF_new(void);
> bool PDF_save(resource $p);
> bool PDF_setcolor(resource $p, string $fstype, string $colorspace, float $c1, float $c2, float
$c3, float $c4);
> bool PDF_show(resource $pdfdoc, string $text);
> bool PDF_show_xy(resource $p, string $text, float $x, float $y);
Exemplu:
$pdf = pdf_new();
if (!pdf_open_file($pdf, ""))
die("Error: Fail to open output file.");
pdf_set_info($pdf, "Author", $nume." <". $email.">");
pdf_set_info($pdf, "Title", "CV -".$nume);
pdf_set_info($pdf, "Subject", "The CV of ".$nume.".");
define("PAGE_HEIGHT", 842); /* A4 */
define("PAGE_WIDTH", 595);
define("VERT_SPACING", 14);
pdf_begin_page($pdf, PAGE_WIDTH, PAGE_HEIGHT);
// Print name
$font = pdf_findfont($pdf, "Times-Bold", "winansi", 0);
pdf_setfont($pdf, $font, 14.0);
$stringwidth = pdf_stringwidth($pdf, $nume, $font, 14.0);
$xpos = (PAGE_WIDTH / 2) - ($stringwidth / 2);
pdf_show_xy($pdf, $nume, $xpos, 700);
$xpos = pdf_get_value($pdf, "textx", 0);
$ypos = pdf_get_value($pdf, "texty", 0) - VERT_SPACING;
// Print personal information.
$font = pdf_findfont($pdf, "Times-Roman", "winansi", 0);
pdf_setfont($pdf, $font, 12.0);
141
$headerdata = array($adresa, $oras, $tara, $codPostal, $tel, $email);
pdf_end_page($pdf);
pdf_close($pdf);
$buf = pdf_get_buffer($pdf);
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=resume.pdf");
print $buf;
Întrebări de control:
2. Care sunt avantajele limbajului PHP față de alte limbaje Server Side Scripting?
5. Numiți cîteva excepții ale operatorilor PHP față de operatorii altor limbaje.
6. Tipuri de instrucțiuni.
142
Lucrare de laborator Nr. 7
Tema: Aplicații RIA
Scopul lucrării: familiarizarea cu tehnologiile RIA, studierea limbajelor Adobe Flex și SVG.
Tehnologiile RIA permit crearea de aplicatii Web complexe. Scopul este acela de a estompa
diferentele referitoare la interfete si timp de raspuns fata de aplicatiile desktop clasice.
6.1. Ajax
Tehnologia AJAX (Asynchronous JavaScript and XML) nu propune un limbaj nou ci un model
nou de abordare a implementarii aplicatiilor Web. Intr-adevar, nu se propune nici un limbaj
nou ci o modalitate noua de a combina tehnologiile existente.
Idea de baza pe care se sprijina Ajax este acea de a utiliza obiecte JavaScript de tip
XMLHttpRequest pentru a face apeluri asincrone catre serverul de Web. In acest fel se va
evita reincarcarea paginii Web ori de cate ori sunt necesare date de la server.
Aplicatiile Web care folosesc Ajax devin astfel mai mici, mai rapide si mai prietenoase.
Tehnologia Ajax este un standard actual, majoritatea navigatoarelor suportand
XMLHttpRequest (Internet Explorer, Firefox, Chrome, Opera, Safari). In continuare se va
prezenta o scurta functie care detecteaza tipul de browser si instantiaza obiectul XMLHttp in
mod corespunzator:
function ajaxFunction()
{
var xmlhttp;
if (window.XMLHttpRequest) {
// for IE7+, Firefox, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
// for IE6, IE5
xmlhttp=new ActiveXObject
("Microsoft.XMLHTTP");
}
else
{
alert("Your browser does not
support XMLHTTP!");
}
143
}
144
// fisierul ajax1.html
<html>
<head>
<title>Exemplu Ajax </title>
<script type="text/javascript">
function ajax()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox ...
xmlhttp=new XMLHttpRequest();
}
else
{
// code for IE6, IE5
xmlhttp=new ActiveXObject
("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4) {
document.getElementById
('panou').innerHTML=
xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajaxRepl.php",
true);
xmlhttp.send(null);
}
</script>
</head>
<body>
<div id='panou'>
<h2>Text HTML</h2><br>
Textul este continut in fisierul HTML.
</div>
<form name="f1">
<input type="button" name="Schimba" value="Schimba" onClick="ajax();">
</form>
</body>
</html>
145
// fisierul ajaxRepl.php
<?php
echo '<h2>Text PHP</h2><br>Text
generat din PHP';
?>
Pentru mai multe informatii consultati tutoriale Ajax la w3Schools, ajaxtutorials si tizag.
Pentru a crea aplicatii complexe se poate apela si la biblioteci ajax cum ar fi Google
code, jQuerysau Dojo.
Adobe Flex a fost creat de Adobe Systems si este destinat crearii de aplicatii interactive RIA. El
imbina formatul MXML (Macromedia XML) cu limbajul de tip script Actionscript.
Rezultatul final este un fisier Flash (SWF) care cuprinde elemente de interfata interactive.
Framework-ul Flash este oferit de Adobe in regim open source. Pentru dezvoltarea eficienta
a aplicatiilor se poate utiliza Adobe Flex Builder, oferit in regim comercial.
Pentru utilizare in domeniul educatiei firma Adobe ofera licente gratuite de Adobe Flex
Builder Professional.
Avantajul tehnologiei Flex consta si in posibilitatea de a rula aplicatiile atat intr-un navigator
Web cat si ca aplicatii desktop (prin intermediul Adobe AIR).
Un exemplu de utilizare a tehnologiei Flex poate fi vizualizata la urmatoarea adresa Web
- Design-Contact-Form-Flex.
6.3. SVG
SVG (Scalable Vector Graphics) este un limbaj de tip XML care permite definirea imaginilor
vectoriale pentru Web. Avantajul unui format vectorial in fata unui format bitmap (gif, jpg,
png) consta in posibilitatea de a o apropria/departa sau redimensiona fara a pierde calitatea.
De asemenea formatul SVG permite animarea oricarui atribut utilizat la definirea imaginii. In
plus fisierul care descrie o imagine este mai mic decat fisierul echivalent bitmap, este editabil
si cu editoare de text obisnuite si poate fi tiparit la orice rezolutie de imprimare cu
rezultate asemanatoare.
O serie de companii precum Sun Microsystems, Adobe, Apple, IBM si
Kodak au fost implicate activ in dezvoltarea acestui standard.
Acest standard W3C este suportat la ora actuala de multe navigatoare. In plus se poate utiliza
un plug-in de la Adobe (Adobe SVG Viewer) pentru navigatoarele care nu suporta direct
standardul (ex. Internet Explorer).
Exemplu de imagine SVG:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/
Graphics/SVG/1.1/DTD/svg11.dtd">
146
www.w3.org/2000/svg">
</svg>
In plus se poate iclude o imagine SVG intr-un fisier HTML cu ajutorul tagului iframe:
<iframe src="rect.svg" width="300" height="100">
</iframe>
Sarcina: realizarea unei aplicații web multimedia utilizînd noțiunile limbajelor Adobe Flex și
SVG.
147
Întrebări de control:
4. Care este destinația limbajului Adobe Flex? Numiți avantajul tehnologiei Flex.
6. Care este modalitatea de includere a unei imagini SVG într-un fișier HTML?
Bibliografie selectivă
148
Bibliografie
149