IPRO - PC Magazine Romania, August 2003
SOLUȚII PENTRU PROGRAMATORII ȘI DESIGNERII WEB
Image Web Server
Lucian Penișoară
Componenta principală pentru un management bun al informațiilor este abilitatea de a accesa și a transfera informațiile din locuri diferite de pe glob. Internetul, ca un suport de transfer și distribuție a informațiilor este restrictiv, din punct de vedere al lărgimii de bandă oferite. Din acest motiv, informațiile de înaltă rezoluție și internetul, nu au fost asociate împreună.
Nevoia de servere Web de imagini
Dimensiunea mare a fișierelor de imagini de înaltă rezoluție și banda limitată oferită de o rețea impun costuri destul de mari pentru distribuția acestora, din perspectiva timpului de transfer. La ora actuală, medii precum CD-ul, DVD-ul, banda magnetică, precum și algoritimi de codare, JPEG, fac posibilă distribuția cu succes a fișierelor. Acest lucru nu mai este practic atunci când avem fișiere de ordinul gigaocteților. Și pentru a înrăutăți lucrurile și mai mult, unitățile de CD-ROM și DVD-ROM au viteze de acces mult mai mici în comparație cu un hard-disk, astfel că timpul de procesare crește semnificativ.
Dacă imaginile sunt modificate, atunci vor trebui redistribuite pe CD. Astfel, utilizatorii nu știu dacă, într-adevăr, au ultima versiune a imaginii. Acest lucru nu este tocmai plăcut pentru utilizatorii care folosesc cele mai noi informații, precum arheologi, geologi, arhitecți, angajați ai armatei. De asemenea, în cazul legăturilor de tip dial-up și cablu (abonamente cu trafic limitat), transferul de informație se plătește. Nici un utilizator nu ar vrea să plătească pentru niște informații de care nu are nevoie, și astfel, se impune transmiterea doar a informațiilor pe care le-a cerut.
Soluția: Image Web Server
Image Web Server este proiectat de Earth Resource Mapping având ca scop distribuirea imaginilor foarte mari, cu dimensiuni de ordinul gigaocteților sau teraocteților, pe rețele de bandă limitată. Image Web Server poate oferi mai multe tipuri de imagini, 2D sau 3D, ca de exemplu: imagini luate din sateliți, imagini radar sau radiometrice, fotografii spațiale, imagini termice, imagini în infraroșu precum și alte tipuri de date digitale în format raster.
Ce este Image Web Server?
Serverul de imagini utilizează tehnologia de compresie bazată pe funcții wavelet ECW v2.0 ce este dezvoltată de ER Mapping. Scopul compresiei este de a micșora dimensiunea imaginii, astfel încât, să poată fi transportată prin rețea, fără a avea pierderi semnificative în calitate. De partea cealaltă, clientul poate accesa informația cu ajutorul navigatoarelor Internet Explorer, Netscape, sau din aplicații precum ER Mapper, MapInfo, Microsoft Office și aplicații de proiectare GIS și CAD.
De exemplu, un PC la 2 GHz cu un hard-disk de 100 GB și o memorie RAM de 1 GB poate oferi o imagine de ordinul teraocteților, la mai mult de 10.000 de clienți simultan. La nivelul clientului sunt oferite servicii de zoom și de derulare a imaginii, în timp real, chiar pe conexiuni de dial-up.
Cum lucrează Image Web Server?
Soluția este o tehnică de compresie puternică combinată cu o împărțire a imaginii. Și pentru a reduce și mai mult traficul către utilizator, serverul localizează, decomprimă și distribuie la cererea clientului doar zona de interes din imagine, și nu întreaga imagine.
ECW (Enhanced Compressed Wavelet)
Compresia de imagini a devenit o problemă de tipul viteza hard-disk-ului versus viteza procesorului. Până la urmă, compresia este mai degrabă o limită soft decât o limită hard, astfel că, decompresia este limitată de viteza procesorului și nu de viteza hardului sau viteza de acces a acestuia.
Dintre numeroasele tehnici de compresie, codarea bazată pe wavelet este una din cele mai eficiente.
Compresia wavelet implică analiza imaginii necomprimate într-un mod recursiv, rezultând o serie de imagini de rezoluții diferite, denumite imagini diferență. Această analiză se face cu ajutorul unor funcții matematice Wavelet.
Transformata Wavelet poate fi considerată a fi o metodă de codare pe subbenzi, ce poate fi implementată cu ajutorul filtrelor de frecvență. În exemplul de mai jos, există două filtre de separare, unul pentru filtrarea trece jos, iar altul pentru filtrarea trece sus. Aici termenul separare înseamnă că liniile orizontale dintr-o imagine bidimensională pot fi filtrate separat față de liniile verticale.
Imaginea poate fi micșorată la o rezoluție mai mică cu ajutorul funcțiilor
de scalare astfel că o succesiune de imaginii de detaliu pot fi obținute prin
aplicarea repetată a filtrărilor pe ambele direcții orizontală și verticală.
Diagrama bloc din Figura 1 arată acest proces pentru o descompunere pe două
nivele. Observați că numai semnalul de joasă frecvență de pe oricare nivel este
descompus mai departe. Am notat cu H0 filtrul trece-jos, iar cu H1 filtrul trece-sus.
Figura 1. Descompunerea Wavelet pe 2 nivele Și în două dimensiuni
Acest exemplu este așa numit arborele de descompunerea structurat ce utilizează bancuri de filtre. Nu contează numărul nivele de descompuneri care au loc, căci numărul final de pixeli egalează numărul original de pixeli ai imaginii.
Figura 2 arată o descompunere pe trei nivele a unei imagini. De exemplu, banda
HH1 se obține din filtrarea imaginii odată pe direcția orizontală și apoi pe
direcția verticală cu filtre trece sus. De asemenea, banda LH1 este formată
printr-o filtrarea trece-jos pe direcția orizontală, urmată de o filtrare trece-sus
pe direcția verticală. Descompunerea pe două nivele este descrisă de xx2 (unde
x poate fi L sau H) și este formată prin filtrarea benzii LL1 și repetând filtrarea
pe orizontală și verticală cu filtrele apropiate. Această operație poate fi
efectuată până când se ajunge la un singur pixel. Aceste imagini de rezoluții
diferite pot fi folosite, cu ajutorul combinațiilor liniare, pentru a reface
imaginea inițială. De fapt, fiecare subbandă reprezintă întreagă imagine chiar
dacă sunt de diferite rezoluții. Dacă apare o eroare într-o subbandă, efectul
nu este important, deoarece reprezentările imaginii în diferite subbenzi ajută
la eliminarea erorii.
Figura 2. Subbenzile pentru o analiză Wavelet pe trei nivele
Tot acest proces se mai poate numi și reprezentarea multirezoluție. Astfel, dându-se o imagine codată, de exemplu LL3 și dorind să obținem un anumit detaliu, nu trebuie decât să transmitem funcțiile de scalare necesare astfel încât decodorul să poată realiza procesul invers de reconstruire. Deoarece rezultatul compresiei wavelet este o serie de imagini multirezoluție, este foarte potrivit a lucra cu imagini foarte mari, ce trebuie să fie vizualizate la diferite rezoluții. Din acest motiv, doar nivelele conținând detaliile cerute trebuie să fie decodate.
Algoritmul de implementare pentru Transformata Wavelet Discretă este un mare consumator de memorie. Acest lucru a limitat dimensiunea unui fișier care poate fi codat, precum și viteza de codare. Metoda ECW utilizează un algoritm recursiv de tipul pipeline, care nu necesită multă memorie de calcul. De asemenea, ECW folosește tehnici de acces la nivelele L1 și L2 ale cache-ului procesorului, pentru a mari viteza de calcul. Astfel, viteza crește cu 300%, permițând prelucrarea fișierelor de dimensiune mai mare. Dar, până la urmă, compresia nu este singura caracteristică ce conduce la aspectul revoluționar al serverelor de imagini.
De exemplu, de la un fișier de 1 GB, printr-un raport de compresie de 50:1, se ajunge la 20 MB. Pentru a copia un fișier de 20 MB printr-o conexiune de 56 kbps, ar dura cam 1 oră, lucru inacceptabil, pentru o aplicație. Astfel, se poate întâmpla ca imaginea originală să aibă o rezoluție de 200.000x300.000 de pixeli, iar fereastra de vizualizare pe ecran 800x600 pixeli. Image Web Server vine cu un algoritm de împărțire a imaginii în zone, iar aceste zone sunt transmise la nivelul de detalii cerut. Astfel se folosește tehnica de sub-setting, prin care este transferată prin rețea doar zona care se afișează pe ecran.
Fiecare fișier cu imaginea comprimată conține un header cu următoarele informații despre imagine:
· Dimensiunea imaginii în celule elementare (o celulă are dimensiuni bine stabilite).
· Numărul de benzi de descompunere (o imagine RGB va avea trei benzi).
· Rata de compresie a imaginii.
· Unitatea de măsură a celulei elementare (aceasta poate fi metrul, gradul sau piciorul), precum și dimensiunea unei celule în unități de măsură.
· Informația spațială a coordonatelor, proiecții.
Aproximativ 2 MB de memorie RAM vor fi utilizați pentru decompresia iterativă a imaginii, astfel putându-se utiliza și calculatoare mai vechi, chiar și din generația Pentium I. Făcând o comparație cu vechile tehnici de compresie, putem enumera problemele care au fost rezolvate de ECW:
Rate de compresie limitate. Deoarece ZIP-ul și celelalte metode de compresie sunt fără pierderi (căci un program trebuie doar comprimat și nu aproximat), nu au avantajele pe care le au tehnicile de compresie cu pierderi și anume rate de compresie foarte mari. Astfel o imagine arhivată cu zip va fi cu 50% mai mică decât imaginea necomprimată. Dar, folosind wavelet, se ajunge la un raport de 95%.
Decodare totală sau zonală. Este esențial să se realizeze o decompresie numai a unei porțiuni din imaginea codată, în timp ce aceasta se vizualizează, și la nivele de rezoluție diferite, funcție de cerința utilizatorului. Tehnicile mai vechi de prelucrarea și de compresie nu au aceste posibilități, ele decomprimând toată imaginea pe care o păstreză în memorie.
Erori vizibile în imagine. Vechile tehnici împart imaginea în bloculețe asupra cărora se vor aplica algoritmii de prelucrare și de aproximare. Acest lucru se face datorită limitării memoriei de calcul. Din acest motiv, JPEG-ul suferă de deformări ale imaginii inițiale, când se doresc rate mari de compresie. Din acest punct de vedere, ECW oferă calitate superioară față de JPEG.
Nu există coordonate geografice. Vechile formate nu au, de obicei, informație geografică păstrată cu imaginea comprimată. Aceasta, deoarece ele au fost proiectate pentru imagini artistice și nu pentru imagini care descriu geografic Pământul. Astfel, ECW, pe lânga informația fotografică mai utilizează și informații privitoare la zona fotografiată, climă, resurse solice și subsolice.
Viteză mică. Pentru a lucra eficient cu imagini foarte mari, sistemul trebuie să fie capabil de prelucra informația cât mai repede posibil, pentru ca operațiile de zoom, deplasare și căutare să se facă în timp real. Vechile formate nu indeplinesc aceste condiții. Astfel viteza de compresie a ECW este de la 50% până la 100% mai mare față de ceilalți algoritmi. În același timp, este și singurul algoritm care suportă facilitățile oferite de servere: existența a două procesoare, și deci, a posibilității de calcul paralel.
Alte avantaje:
Plugin-uri gratuite GIS (Geographic Information Systems) și Office pot fi distribuite pentru a permite diverselor aplicații Internet Explorer, Netscape Navigator, MS Office, ArcView, MapInfo Proffesional, AutoCAD, ER Viewer, Photoshop să aibă acces direct la baza de imagini. Aceste plugin-uri permit chiar ambele operații de codare și de decodare a imaginilor. Dar compresorul e limitat pentru fișiere de maxim 500 MB.
Mozaicul. Realizarea unor mozaicuri din mai multe imagini, obținând, în final, o singură imagine, permite o viteză de procesare mai mare. Deoarece viteza de acces a memoriei interne este mult mai mare decât viteza de acces a unui hard-disk, acest lucru duce la o utilizare mai eficientă a resurselor serverului. Astfel, e mai preferat ca 10 utilizatori să acceseze același fișier decât să acceseze 10 fișiere diferite. Algortimul permite combinarea a până la 1000 de imagini într-un singur mozaic.
Acces la informație îmbunătățit. Tehnica ECW utilizează blocuri de alocare a informației pentru a localiza datele cerute de client în fișierul aflat pe server. Acest lucru duce la reducerea numărului de accesări care trebuiesc efectuate pentru asigurarea fluxului de date. Se obțin astfel performanțe mult mai bune când se face citirea de pe CD-ROM.
Principalele avantaje ale Image Web Server
Integrat în sisteme GIS (Geographic Information Systems) precum ESRI® ArcIMS,
MapObjects® și MapInfo® MapX, Image Web Server ne oferă puterea de calcul
a reprezentărilor vectoriale pentru vizualizarea imaginilor geospațiale. Serverul
este atât de diversificat, încât acoperă nevoile oricărui utilizator.
TABEL - Prezentarea variantelor de server, împreună cu câteva
caracteristici esențiale ale fiecăruia.
|