Capitolul 11 COMPRESIA DE IMAGINI 11.1 INTRODUCERE
|
|
- Κανδάκη Ζάνος
- 8 χρόνια πριν
- Προβολές:
Transcript
1
2 Capitolul COMPRESIA DE IMAGINI. INTRODUCERE Domeniul compresiei (codării) de imagini este legat de minimizarea numărului de biţi necesari pentru a reface o imagine, cu aplicaţii în special în transmisia şi respectiv stocarea imaginilor. Poate cea mai simplă modalitate de compresie a datelor o constituie eşantionarea imaginilor cu bandă de frecvenţă limitată, unde un număr infinit de pixeli pe unitatea de suprafaţă este redus la un singur eşantion, fără a se pierde informaţie (se presupune existenţa unui filtru trece-jos ideal la reconstrucţia imaginii eşantionate). Aplicaţii ale compresiei de imagini se întâlnesc în primul rând în transmisia şi stocarea (memorarea) de informaţii. Aplicaţiile din domeniul transmisiilor de imagini se întâlnesc în televiziunea radiodifuzată, comunicaţiile spaţiale, radar şi sonar, reţelele de telecomunicaţii, transmisii de facsimile (fax), teleconferinţe, etc. Memorarea (stocarea) imaginilor este esenţială în educaţie şi afaceri, pentru păstrarea unor documente, în imagistica medicală (tomografia computerizată, imagistica bazată pe rezonanţă magnetică, etc), în tehnica video digitală, imagistica satelitară, ş.a. Compresia de imagini este utilă, de asemenea, în dezvoltarea unor algoritmi rapizi, în situaţiile în care numărul de operaţii necesare pentru implementarea acestora se reduce mult prin folosirea datelor comprimate. Tipic, imaginile de televiziune având o rezoluţie spaţială de 52x52 pixeli/semicadru corespund unor imagini digitale - după conversie şi cuantizare - conţinând o cantitate imensă de informaţie. Considerând un canal de transmisie digitală color, cu 8 biţi/pixel şi cu 25 de cadre pe secundă, rezultă un debit binar de aproximativ biţi/secundă. Volumul de date poate varia, în funcţie de aplicaţie, între 5 8 biţi/semicadru sau chiar mai mult. 237
3 PRELUCRAREA DIGITALĂ A IMAGINILOR Conversia analog-digitală, la rândul ei, duce la creşterea corespunzătoare a benzii de frecvenţă necesare pentru transmisia semnalului digital. Dacă considerăm un semnal eşantionat cu f e =8 MHz şi cuantizat cu 8 biţi/eşantion, va rezulta, în cazul unei transmisii de tip 2 DPSK (care are 2 biţi/ Hz de bandă ocupată), o lărgime de bandă de 32 MHz. Avantajele apărute prin conversie, cum ar fi flexibilitatea în prelucrare, imunitatea mai bună la perturbaţii, etc., se plătesc cu o bandă de frecvenţă sensibil mai mare la transmisie. Analog, în cazul memorării imaginilor sau secvenţelor de imagini digitale, spaţiul de memorie ocupat este foarte mare, chiar excesiv de mare, în cazul utilizării unor echipamente de calcul cu performanţe medii. Metode de compresie a sintetică a tehnicilor de codare (compresie) care vor fi trecute în revistă în acest capitol. Codarea pixelilor - cuantizare PCM - codare RL - codarea planelor de biţi Codare predictivă - modulaţie delta - DPCM linie cu linie - 2D DPCM - tehnici intercadre - tehnici adaptive Codare prin transformări - codare zonală - codare cu prag - tehnici multidimensionale - tehnici adaptive Fig.. Tehnici de comprimare (codare) a datelor din imagini Alte metode - codare hibridă - codarea graficelor - codarea imaginilor color -cuantizare vectorială În teoria transmisiei informaţiei, dacă se consideră o sursă de L simboluri independente, având probabilităţi de apariţie p i (i=,...,l-), atunci informaţia medie pe simbol este dată de entropia: H = pi log pi biti/simbo (.) i= 2 l Din teorema codării canalelor fără zgomot a lui Shannon rezultă că este posibilă codarea unei surse având H biţi/simbol, folosind un cod având (H+ε) biţi/simbol (cu ε>, ε ), fără a distorsiona sursa, iar factorul de compresie (compresia) C se defineşte ca: Nr.mediu de biti/simbol al datelor neprelucrate(b) B B C = = (.2) Nr.mediu de biti/simbol al datelor codate(h + e) H + e H unde B este numărul de biţi/pixel rezultat din cuantizarea considerată uniformă. Dacă se ia în considerare o cuantizare neuniformă, atunci B este numărul mediu de biţi/pixel. Implementarea unui asemenea algoritm de codare este nepractică, dacă nu chiar imposibilă. De exemplu, o imagine digitală de dimensiuni MxN, cu B biţi/pixel, este doar una dintre cele L=2 BNM imagini posibile. Astfel, dacă p i, probabilitatea de apariţie a imaginii i ar fi cunoscută, s-ar putea calcula entropia, respectiv rata de transmisie a informaţiei pentru imagini de dimensiuni MxN cu B biţi/pixel. În acest caz, ar fi posibilă memorarea tuturor celor L imagini posibile şi codarea imaginii prin adresa ei, folosind o metodă de codare adecvată. Acest lucru ar necesita H biţi/imagine, sau H/MN biţi/pixel. Metoda, numită cuantizare vectorială sau codarea blocurilor este dificil de implementat deoarece, chiar pentru valori mici ale lui N şi M, L poate fi mult prea mare: spre exemplu, pentru B=8 şi N=M=6 rezultă L= Figura.2 prezintă o posibilă schemă-bloc de cuantizare vectorială, pentru blocuri de 4x4 pixeli şi B=6. 238
4 PRELUCRAREA DIGITALĂ A IMAGINILOR bloc de imagine 4x4 pixeli u(m,n) Codor Calcul valoare medie µ si deviaţie standard σ µ,σ imagini prototip u i i=,,...,l- Decodor σu i +µ Citire u i (m,n) u'(m,n) u-µ σ u(m,n) potrivire imagini Fig..2 Cuantizarea vectorială a imaginilor Fiecare bloc se normalizează pentru a avea valoare nulă şi varianţă unitară. Folosind câteva imagini prototip pentru antrenare, se memorează cel mai probabil set de imagini L'<<L. Dacă blocul de imagine de la intrare se "potriveşte" perfect cu unul dintre aceste L' blocuri, el se codează cu adresa blocului respectiv; în caz contrar, se înlocuieşte cu valoarea lui medie. În clasificarea tehnicilor uzuale de compresie (codare) a imaginilor din fig.. lipsesc aşa-zisele metode fizice de compresie, respectiv subeşantionarea, cuantizarea brută, repetarea cadrelor şi întreţeserea liniilor. Aceste metode se bazează pe reducerea frecvenţei de eşantionare, a numărului de nivele de cuantizare şi a frecvenţei de eşantionare, respectiv a numărului de nivele de cuantizare şi a frecvenţei cadrelor, până la limitele distorsionării prin conturare, respectiv clipire (flickering) a imaginii. Distorsiunile introduse sunt, pentru acelaşi raport de compresie, mai mari decât cele introduse de metodele mai evoluate, ce vor fi prezentate în cele ce urmează. În locul reducerii la jumătate a frecvenţei semicadrelor şi a repetării lor la recepţie/redare se poate folosi metoda întreţeserii liniilor, care oferă o redare mai bună a imaginii, ţinându-se cont de particularităţile percepţiei vizuale, respectiv de inerţia ochiului. Fiecare cadru e împărţit într-un câmp impar, conţinând liniile cu adresă impară şi, respectiv, într-un câmp par, conţinând liniile cu adresă pară. Câmpurile se transmit alternativ (câte unul pe cadru), fiecare câmp fiind redat cu o frecvenţă egală cu jumătate din frecvenţa semicadrelor. Este evident că, în acest mod, rezoluţia frecvenţelor spaţiale este mai slabă, deoarece la fiecare câmp avem o imagine subeşantionată. Folosind însă, la redare, o frecvenţă de baleiaj mai mare (număr de linii/semicadru), cu această metodă se poate obţine, pentru o aceeaşi calitate subiectivă a imaginii, o compresie de 37% faţă de cazul redării cu de 5 semicadre/s. Analog, se pot utiliza asemenea tehnici de întreţesere pe linii verticale. Aceste tehnici însă nu dau rezultate bune în cazul unor grafice de înaltă rezoluţie, al imaginilor cu muchii ori tranziţii bruşte, sau al imaginilor generate de calculator..2 CODAREA PIXELILOR În această categorie de tehnici, pixelii sunt codaţi independent, ignorându-se legăturile dintre aceştia. Dintre tehnicile de codare a pixelilor, vom trece, în continuare, în revistă câteva dintre cele mai uzuale in aplicaţiile actuale. 239
5 PRELUCRAREA DIGITALĂ A IMAGINILOR Modularea impulsurilor în cod (PCM) Semnalul este eşantionat, cuantizat şi codat, iar apoi este livrat modulatorului pentru transmisie (fig..3): u(t) Eşantionare u(nt) Cuantizor cu g Modulare şi memorare memorie nulă i (n) Transmisie digitală şi codor Fig..3 Modulaţia impulsurilor în cod (PCM) Ieşirea cuantizorului este codată cu cuvinte binare de lungime fixă (B biţi - tipic 8 biţi/cuvânt). Pentru imagini medicale sau semnale video pentru televiziunea radiodifuzată putem avea până la 2 biţi/pixel. Numărul de biţi folosiţi pentru cuantizare se poate reduce la 4 8 biţi/pixel, utilizând compandarea, cuantizarea contrastului (cap.3) sau tehnici de tipul "dithering" (cap.6). Tehnicile de halftoning reduc ieşirea cuantizorului la bit/pixel, dar intrarea va necesita, în acest caz, o rată de eşantionare mult mai mare (uzual cu un factor de 2 6). În termenii erorii pătratice medii, valoarea minimă ce poate fi atinsă de numărul de biţi/pixel, R, este dată de: 2 R 2 log σ u ; 2 2 PCM = 2 σ 2 q < σ u (.3) σ q 2 2 unde σ u e dispersia (varianţa) la intrarea în cuantizor, iar σ q pătratică introdusă de cuantizor. este eroarea medie Codarea entropică Dacă valorile pixelilor cuantizaţi nu sunt uniform distribuite, entropia lor va fi mai mică decât B biţi/pixel şi este posibilă folosirea unui cod care necesită mai puţin de B biţi/pixel. Scopul acestei metode este codarea unui bloc de M pixeli, conţinând MB biţi, având probabilitatea p i, i=,...,l-, L=2 MB, cu -log 2 p i biţi, astfel încât: L H = pilog2pi= e (.4) i= să fie rata medie a biţilor. Metoda are ca rezultat un cod de lungime variabilă corespunzător fiecărui bloc, blocurile cu probabilitate mare fiind reprezentate de coduri de lungime mică şi invers. Pentru o mărime dată a blocului, tehnica numită codare Huffman este cea mai eficientă. Algoritmul de codare are următorii paşi:. Se ordonează descrescător probabilităţile p i ale blocurilor (simbolurilor) şi se consideră ca noduri ale unui arbore. 2. Dacă există mai multe noduri, se contopesc cele două noduri cu cea mai mică probabilitate, pentru a forma un nod, a cărui probabilitate este egală cu suma probabilităţilor nodurilor componente. Se asignează arbitrar şi fiecărei perechi de ramuri contopite într-un nod. 3. Se face o citire secvenţială de la primul nod până la nodul în care este localizat simbolul. 24
6 PRELUCRAREA DIGITALĂ A IMAGINILOR Algoritmul prezentat ne dă tabelul de codare Huffman pentru un set dat de probabilităţi. Codarea şi decodarea se face foarte simplu, consultând valorile din tabel. Dată fiind lungimea variabilă a cuvintelor de cod, este necesară utilizarea unui registru ("buffer"), în cazul foarte uzual în care informaţia este transmisă printr-un canal cu rată constantă de transmisie. Mărimea tabelului de cod este L, iar cel mai lung cuvânt de cod poate avea cel mult L biţi. O versiune mai practică a codului Huffman este aşa-numitul cod Huffman trunchiat: pentru L <L ales corespunzător, primele L simboluri sunt codate Huffman, iar simbolurile rămase se codează cu un cod prefix, urmat de un cod de lungime fixă. O altă variantă constă în folosirea codului Huffman modificat, la care numărul întreg i se reprezintă ca: (L ) i= ql + j, q Int, j L (.5) L Primele L simboluri se codează Huffman. Cele rămase se codează cu un cod prefix, reprezentând câtul q, urmat de un cod terminator, care este acelaşi ca şi codul Huffman al restului j, j L -. Histograma imaginilor TV pe termen lung e aproximativ uniformă, deşi pe termen scurt e puternic neuniformă. În consecinţă, codarea entropică nu este practică pentru datele imaginii, dar este utilă în combinaţie cu algoritmii de codare prin transformări, precum şi în codarea datelor binare de tipul graficii computerizate sau imaginilor facsimil. Codarea RL ("run length coding") Considerând o sursă binară, ieşirea ei se codează ca numărul de "" între doi "" succesivi, adică este codată lungimea cursei de. Metoda se numeşte codarea lungimii curselor sau, în literatură, "run length coding". Se utilizează mai ales pentru grafice, documente tipărite, hărţi, unde probabilitatea p de apariţie a lui (alb) este mare (aproape de unitate). Să presupunem că lungimea maximă a curbei de este M, iar M se alege, pentru simplitate, Mâ2 m -. În acest caz este nevoie de m biţi pentru a coda lungimea fiecărei curse. Dacă valorile succesive de apar independent, atunci probabilitatea de apariţie a unei curse de de lungime l este dată de distribuţia geometrică: l p ( p); l N g(l) = M p ; p = M (.6) Deoarece o cursă de lungime l M- implică o secvenţă de l -uri, urmată de un, adică (l+) simboluri, numărul mediu de simboluri pe cursă, µ, va fi: M µ = (l + )p ( p) + Mp = M l M p (.7) p 24 l= Rezultă din (.7) că, în medie, sunt necesari m biţi pentru codarea RL a unei secvenţe de µ simboluri binare. Factorul de compresie obţinut va fi: M µ - p C = = m m( p) (.8)
7 PRELUCRAREA DIGITALĂ A IMAGINILOR Dacă se consideră o imagine binară ( - alb şi - negru, cuantizaţi cu bit/pixel), pentru pâ.9 şi Mâ5â2 m -, se obţine mâ4, µ â7.94 iar Câ.985. Numărul mediu de biţi/pixel va fi: m nr.bi]i pentru a coda cursa de"" + bitul "" de incheiere m Ba = = = =,56 m nr. mediu de bi]i de"" con]inu]i i ntr - o curs` µ H.469 Eficienţa codului, definită ca h = = =.9. Ba.56 Factorul de compresie poate fi mărit folosind codarea Huffmann pentru cei m biţi (în funcţie de probabilitatea de apariţie a lungimii l) sau prin codarea aritmetică, prezentată în paragraful următor. Codare aritmetică Spre deosebire de codurile de lungime variabilă descrise anterior, codarea aritmetică nu duce la generarea unor coduri de tip bloc. Corespondenţa între simbolurile sursei şi cuvintele de cod nu există în acest caz. În schimb, un singur cuvânt de cod aritmetic corespunde unei întregi secvenţe de simboluri ale sursei. Cuvântul de cod defineşte un interval de numere reale între şi ; cu cât numărul de simboluri din mesaj creşte, intervalul utilizat pentru reprezentarea lui devine mai mic, iar numărul unităţilor de informaţie (biţi, de exemplu) necesari pentru a reprezenta intervalul devine mai mare. Fiecare simbol din mesaj reduce mărimea intervalului în conformitate cu probabilitatea sa de apariţie. Nu este necesară, ca în cazul codării Huffman, de exemplu, transformarea fiecărui simbol al sursei într-un număr întreg de simboluri de cod şi, deci, codarea succesivă a simbolurilor. În figura.4 este ilustrat algoritmul de codare aritmetică. O secvenţă de cinci simboluri, a a 2 a 3 a 3 a 4, ce rezultă dintr-o sursă cu patru simboluri, se codează astfel: mai întâi se consideră că mesajul ocupă întreg intervalul semiînchis [,). Secventa de codat a a2 a3 a4 a5,2,8,72,688 a4 a4 a4 a4 a4 a3 a3 a3 a3 a3 a2 a2 a2 a2 a2 a a,4 a,56 a,624 a Fig..4 Algoritm de codare aritmetică Tabelul. Codare aritmetică Simbol sursă Probabilitate Subintervalul iniţial a,2 ş,,2) a 2,2 ş,2,4) 242
8 a 3,4 ş,4,8) a 4,2 ş,8,) PRELUCRAREA DIGITALĂ A IMAGINILOR În conformitate cu tabelul., intervalul este iniţial împărţit în patru subintervale, având lărgimi dependente de probabilităţile simbolurilor sursei. Simbolul a, de exemplu, este asociat cu subintervalul [,2). Fiind primul simbol din mesaj care se codează, intervalul se îngustează iniţial la [,2): se observă în figura.4 că [,2) este extins pe întreaga înălţime a figurii, iar marginile lui corespund valorilor din intervalul îngustat. În continuare, intervalul [,2) este divizat în conformitate cu probabilităţile simbolurilor sursei, iar procesul continuă cu următorul simbol din mesaj. În acest fel, simbolul a 2 îngustează subintervalul la [,4,8), a 3 îl îngustează pe acesta la [,56,72), ş.a.m.d. Ultimul simbol, care trebuie să fie şi un indicator de sfârşit de mesaj, îngustează domeniul la [,6752,688). Orice număr din acest interval (de exemplu,68) se poate folosi pentru reprezentarea mesajului. În cazul mesajului luat în considerare în figura.4 sunt folosiţi trei digiţi zecimali pentru reprezentarea mesajului format din cinci simboluri. Rezultă deci un debit de 3/5 sau,6 digiţi/simbol. Cu cât lungimea secvenţei codate creşte, cu atât performanţele de compresie obţinute se apropie de cele date de teorema codării fără zgomot. În practică apar însă doi factori ce înrăutăţesc rata de compresie: adăugarea unui indicator de sfârşit de mesaj, necesar pentru separarea a doua mesaje succesive şi folosirea unor algoritmi de precizie finită. În acest ultim caz se introduc tehnici de scalare şi rotunjire, pentru obţinerea de performanţe optime. Tehnica de scalare renormalizează fiecare subinterval la domeniul ş ), subdivizându-l în conformitate cu probabilităţile simbolurilor. Tehnica de rotunjire are menirea de a garanta că trunchierile asociate folosirii algoritmilor aritmetici de precizie finită nu impiedică reprezentarea cu acurateţe a subintervalelor de codare. Codarea planurilor de biţi O imagine cu 256 nivele de gri, codate cu 8 biţi/pixel, poate fi considerată ca un set de 8 plane de bit (planul MSB ()... planul LSB (7)) şi fiecare dintre acestea este codată RLC. Metoda poate atinge compresii de până la,5 2, dar este sensibilă la erorile canalului, dacă cele mai semnificative plane de biţi nu sunt protejate corespunzător..3 TEHNICI PREDICTIVE DE CODARE Ideea de bază folosită în tehnicile predictive constă în înlăturarea redundanţei mutuale între pixelii succesivi şi codarea doar a informaţiei noi. Considerând o secvenţă eşantionată u(m), care a fost codată până la mân-, fie u (n ),u (n 2),... valorile secvenţei decodate (reproduse). Pentru m=n, când la decodor ajunge u(n), cantitatea u(n) care este o estimare a lui u(n), este "prezisă" din eşantioanele decodate precedente u(n ),u(n 2),..., astfel: u (n) = ψ (u (n )u (n 2)... ) (.9) 243
9 PRELUCRAREA DIGITALĂ A IMAGINILOR unde Ψ reprezintă regula de predicţie. În acest caz este suficient să se codeze eroarea de predicţie, dată de: e(n) = u(n) u (n) (.) Dacă se notează cu e (n) valoarea cuantizată a lui e(n), atunci valoarea decodată a lui u(n) va fi: u (n) = u (n) + e (n) (.) Procedura de codare continuă în mod recursiv, în aceeaşi manieră. Metoda se numeşte modulaţia diferenţială a impulsurilor în cod, sau PCM diferenţial - DPCM ("differential pulse code modulation"). În figura.5 este prezentată schema-bloc de codare /decodare DPCM. Trebuie observat că la codare trebuie, de asemenea, să se calculeze valoarea reprodusă u (n). Decodorul este constituit din bucla de predicţie a codorului. u(n) + e(n) Σ - u (n) Cuantizor e (n) Canal de comunicaţie e (n) + Σ + u (n) u (n) Predictor cu întârzieri u (n) Σ + + Predictor cu întârzieri Filtru de reconstructie Codor Decodor Fig..5 Modulaţia diferenţială a impulsurilor în cod (DPCM) Prelucrând (.) şi (.) se obţine eroarea de codare: δu(n) = u(n) u (n) = e(n) e (n) = q(n) (.2) Eroarea punctuală de codare va fi, deci, eroarea de cuantizare a lui e(n). Cu un predictor rezonabil, valoarea medie pătratică a lui e(n) este mult mai mică decât u(n), deci vom avea nevoie de mai puţini biţi pentru cuantizare. Un aspect important al DPCM este cel legat de predicţia bazată pe ieşirea cuantizorului (eşantioane cuantizate) şi nu pe intrarea acestuia (eşantioane necuantizate). De aici rezultă că predictorul se va găsi într-o buclă de reacţie de la ieşirea la intrarea cuantizorului, astfel încât eroarea de cuantizare la un anumit moment să fie transmisă la intrarea cuantizorului pentru calculul erorii simbolului următor. Acest lucru are un efect stabilizator care previne efectul de "drift" sau acumularea de erori în semnalul reconstruit u (n). Pe de altă parte, dacă regula de predicţie se bazează pe "intrări precedente" (figura.6), eroarea de reconstrucţie a semnalului, ε(n), va depinde de toate erorile de cuantizare precedente. În general, valoarea medie pătratică a erorii de reconstrucţie este mai mare decât la DPCM. În procesarea digitală, secvenţa de intrare u(n) este digitizată la sursă cu un număr suficient de biţi (de regulă 8, pentru imagini). 244
10 PRELUCRAREA DIGITALĂ A IMAGINILOR Cuantizor ε (n) u(n) + a a + + ε (n) b b - + Codor si decodor entropic ε(n) u(n) Predictor + Predictor Fig..6 Codarea cu reacţie (a) cu distorsiuni; (b) fără distorsiuni Secvenţa erorilor de predicţie va lua valori întregi (ca număr de biţi) dacă impunem predictorului să dea la ieşire o valoare definită de un număr întreg de biţi şi, în acest caz, secvenţa erorilor de predicţie poate fi codată entropic fără distorsiuni. Rezultă un codec predictiv fără distorsiuni (fig..6 b), a cărui număr minim de biţi/pixel, k, va fi egal cu entropia secvenţei erorii de predicţie ε(n). Modulaţia Delta Modulaţia delta este cel mai simplu codor predictiv. Se foloseşte o funcţie de întârziere de tact ca predictor şi un cuantizor de bit, dând o reprezentare de bit semnalului. Astfel: u' (n) = u' (n ); e(n) = u(n) u' (n ) (.3) Un sistem practic cu modulaţie delta, care nu necesită eşantionarea semnalului, este prezentat în figura.7 a. Predictorul integrează semnalul de ieşire al cuantizorului, semnal constituit din impulsuri binare, iar receptorul este un simplu integrator. În figura.7 b sunt prezentate semnalele tipice de intrare/ieşire pentru un modulator delta. 245
11 PRELUCRAREA DIGITALĂ A IMAGINILOR Transmiţător Semnal de intrare Filtru trece-jos u(t) + Comparator cu histerezis +q e(t) e (t) e (n) -q u (t) Integrator Canal Amplitudine u(t) Integrator e (n) Receptor a. Sistem practic u (t) u (n) Filtru u (t) trece-jos Granularitate Depăşire de pantă b. semnal intrare-ieşire tipic Fig..7 Modulaţie delta Principalele limitări ale acestui tip de codare sunt cele date de depăşirea pantei, zgomotul de granularitate şi de instabilitatea la erorile canalului de transmisie. Depăşirea pantei apare în situaţiile în care semnalul de intrare prezintă salturi mari sau discontinuităţi, la care cuantizorul poate răspunde doar în câţiva paşi succesivi. Zgomotul de granularitate constă în forma în scară a semnalului la ieşire, pentru o valoare constantă a semnalului de la intrare. Primele două tipuri de distorsiuni pot fi compensate de filtre trece jos la intrare şi ieşire şi de modulaţia adaptivă. O variantă pentru reducerea zgomotului de granularitate ar fi o modulaţie delta "three state", justificată de faptul că 65 85% din pixeli sunt ţn nivel (deci se transmite ) şi numai restul sunt în stările ± (valoare mai mare sau mai mică). Utilizarea codării Huffman pentru cele 3 stări, sau codarea RL a stărilor de, cu un cod de 2 biţi pentru celelalte stări, duce la valori ale ratei de transmisie de aproximativ bit/pixel pentru imagini. Filtrul de refacere, care este un simplu integrator, este instabil la perturbaţii şi permite acumularea propriului offset de terminare. Efectul poate fi compensat prin introducerea unei atenuări la ieşirea predictorului, cu factor de atenuare ρ (,) numit în literatura de specialitate leak. În cazul modulaţiei delta a imaginilor, semnalul este prelucrat linie cu linie, fără a folosi corelaţia între linii a imaginii. Dacă fiecare linie este reprezentată de: şi covarianţa [ ] u(n)=ρ u(n-)+ε(n), E[ε(n)]= 2 2 E ε(n) ε(m) = ( ρ ) σ δ(m n) (.4) atunci raportul semnal/zgomot la ieşirea receptorului este dat, cu aproximaţie, de: u t 246
12 PRELUCRAREA DIGITALĂ A IMAGINILOR ρ 2( ρ )f()} (SNR) log { (2 )f()} M = [ db] (.5) Faţă de PCM se pot obţine câştiguri de 8 9 db la rate de transmisie de bit/pixel sau la un factor de compresie de 2,5 adică o economie de.5 biţi/pixel la transmisie. O îmbunătăţire a SNR se poate obţine mărind ρ, adică prin mărirea ratei de eşantionare la ieşirea cuantizorului (aceasta duce însă la instabilitate) sau prin utilizarea tehnicii DPCM. DPCM linie cu linie Metoda DPCM linie cu linie presupune că fiecare linie a imaginii scanate este codată independent, folosind tehnica DPCM. În general se foloseşte un predictor de ordin p, dacă secvenţa e staţionară, adică: p u(n) a(k)u(n k) = e(n); 2 2 E[ ε(n) ] = β (.6) k= iar ecuaţiile DPCM sunt: p Predictor: u (n) = a(k)u (n k) (.7.a) k= Intrarea cuantizorului: e(n) = u(n) u (n) (.7.b) Ieşirea cuantizorului: e (n) Filtru de refacere: p u (n) = u (n) + e (n) = a(k) u (n k) + e (n) (.7.c) Raportul SNR al unui sistem DPCM pe 8 biţi poate fi estimat ca: (SNR) = log DPCM k= 2 ( ρ f(b) ( )f(b) [db] 2 ρ (.8) şi se poate obţine un câştig de 8 db faţă de PCM, la valori de 3 biţi/pixel, iar pentru nivele de distorsiuni mici (f (B) ), reducerea numărului de biţi/pixel este: R R 2 log = ρ PCM DPCM 2 2 bi]i / pixel (.9) ceea ce înseamnă că acelaşi raport semnal/zgomot obţinut la 6 biţi utilizând PCM, poate fi obţinut pentru doar 4 biţi, folosind DPCM linie cu linie şi ρâ.97. DPCM bidimensional Extensia la cazul bidimensional se face folosind predictorul de forma: u(m,n) = a(k,l)u(m k,n l) k,l W (.2) unde W este frecvenţa cauzală de predicţie. Coeficienţii a(k,l) se obţin prin minimizarea varianţei (dispersiei) erorii de predicţie. Fereastra W nu merită să fie mărită la mai mult 247
13 PRELUCRAREA DIGITALĂ A IMAGINILOR de 4 cei mai apropiaţi vecini (fig..8) şi atunci, pentru imagini explorate linie cu linie, este suficient să considerăm predictori de forma: (.2) u(m,n) = a u (m,n) + a u (m,n ) + a u (m,n ) + a u (m,n + ) n m B C D A X Fig..8 Pixelii A, B, C, D, folosiţi în predicţia bidimensională În această relaţie, a, a 2, a 3, a 4 şi β 2 se obţin prin rezolvarea unor ecuaţii liniare: r(,)= a r(,)+ a 2 r(,-)+ a 3 r(,)+ a 4 r(,) r(,)= a r(,-)+ a 2 r(,)+ a 3 r(,)+a 4 r(,-2) r(,)= a r(,)+ a 2 r(,)+ a 3 r(,)+ a 4 r(,2) (.22) r(,-)= a r(,)+ a 2 r(,-2)+ a 3 r(,2)+ a 4 r(,) β 2 = E[ε 2 (m,n)] = r(,) - a r(,) - a 2 r(,) - a 3 r(,) - a 4 r(,-) unde r(k,l) este funcţia de covarianţă a lui u(m,n). Dacă funcţia de covarianţă este separabilă, se obţine: a = ρ, a = ρ, a = ρ ρ, a = β σ = ( ρ )( ρ2 ) (.23) Această metodă poate duce la instabilitate, prin amplificarea erorilor introduse de canal. Din fericire, nu este cazul imaginilor de televiziune alb-negru (monocrome), unde problema se întâlneşte destul de rar. Cu acest predictor, ecuaţiile sistemului DPCM bidimensional devin: Predictor: u (m,n) = a u (m,n) + a u (m,n ) + a u (m,n ) + a u (m,n + ) Intrarea cuantizorului: e(m,n) = u(m,n) u (m,n) Filtru de refacere: u (m,n) = u (m,n)+ e (m,n) Compararea performanţelor tehnicilor predictive Figura.9 prezintă o comparaţie a metodelor de codare predictivă, din punct de vedere al raportului semnal/zgomot, raportat la numărul de biţi/eşantion. În acest grafic, modulaţia delta are aceeaşi poziţie ca şi DPCM. 248
14 PRELUCRAREA DIGITALĂ A IMAGINILOR 35 SNR (db) 2D DPCM (maxim) D DPCM cu predicţie cu trei puncte DPCM linie cu linie PCM Rata (biti/esantion) Fig..9 Performanţe ale codurilor predictive Este de menţionat că, în practică, 2-D DPCM nu asigură un câştig de 2 db faţă de PCM, deoarece modelul bidimensional cu covarianţă separabilă este puţin prea optimist cu privire la dispersia erorii de predicţie. În general, ieşirea unui cuantizor de 3 biţi, folosind 2-D DPCM combinată cu o codare Huffman, poate fi redusă în medie la 2 2,5 biţi/pixel..4 COMPRESIA DE IMAGINI FOLOSIND TRANSFORMĂRI Compresia (codarea) folosind transformări constituie o alternativă la codarea predictivă şi mai poartă numele de cuantizare pe blocuri. Esenţa compresiei constă în aceea că un bloc de date este transformat unitar astfel, încât o parte importantă a energiei lui totale este împachetată într-un număr relativ mic de coeficienţi, care se cuantizează independent. Varianta optimală a codorului prin transformări este aceea care minimizează eroarea medie patratică a datelor reproduse, pentru un număr total dat de biţi. Se poate demonstra că acesta este codorul Karhunen-Loeve (KL). Presupunând vectorul aleator de dimensiuni Nx, u, având valoare medie nulă, transformarea (nu neapărat unitară) A, unde A este o matrice cu NxN elemente, produce un vector complex, v, astfel încât componentele acestuia v(k) sunt necorelate mutual (fig..): u = u() u(2) : : u(n) Transform. liniară A v = v() v(2) : : v(n) v'() v'(2) : : v'(n) Transform. liniară B u'() u'(2) : : u'(n) = u' Fig.. Algoritmul de codare prin transformări După cuantizarea independentă a fiecărei componente v(k), vectorul de ieşire v este transformat liniar cu ajutorul unei matrici B, obţinându-se vectorul u. 249
15 25
16 25 PRELUCRAREA DIGITAL A IMAGINILOR Problema este obţinerea matricilor optime A şi B precum şi a cuantizorilor optimali, astfel încât valoarea medie pătratică totală a distorsiunii D să fie minimă: N D = E u n u n = ( ( ) ( )) E[ 2 T (u - u ) (u - u )] N n= Soluţia problemei poate fi rezumată astfel:. Pentru un cuantizor oarecare, matricea de reconstrucţie optimă B este dată de: unde Γ este matricea diagonală a elementelor γ k, definite astfel: N (.24) B = A Γ (.25) λ k γ k = λ k (.26) * 2 = Evk ( ) v' ( k) si λ k = E v( k) (.26 ) cu λ k [ ] [ ] 2. Matricea optimă de decorelare este transformarea KL a lui u, respectiv liniile lui A sunt vectorii proprii ortonormalizaţi ai matricii de autocovarianţă R. De aici rezultă: B = A = A *T (.27) Nefiind o transformare rapidă, transformarea KL se înlocuieşte, de obicei, cu transformări unitare rapide, cum ar fi, de exemplu, transformările de tip cosinus, sinus, DFT, Hadamard sau Slant. Rezultatele nu sunt la fel de bune din punctul de vedere al decorelării coeficienţilor, dar se câştigă mult în viteza de calcul. Alocarea biţilor În general, dispersia valorilor coeficienţilor de transformare nu este uniformă. În consecinţă, fiecare coeficient se cuantizează cu un număr diferit de biţi. Proiectarea unui codor prin transformări nu este completă fără alocarea unui număr total de biţi pentru toţi coeficienţii de transformare, astfel încât distorsiunea totală să fie minimă. Considerând figura., pentru orice transformare unitară A, cuantizori arbitrari şi *T transformarea inversă B = A = A, această distorsiune este: 2 [ ] N N D = E v( k) v'( k) = σ 2 k f( nk ) (.28) N N k = unde σ 2 k este varianţa coeficientului de transformare v(k), având alocaţi n k biţi, iar f(n k ) este funcţia de distorsiuni a cuantizorului, funcţie monotonă şi convexă, cu f()â şi f( )=. Dacă se ia în considerare o rată medie de biţi/eşantion B, rata codorului transformării este: N R = n = B (.29) A N k= Alocarea biţilor constă în găsirea numărului n k care minimizează distorsiunea D, în condiţiile îndeplinirii relaţiei (.29). Soluţia este dată de următorul algoritm: df ( x). Se defineşte funcţia inversă funcţiei f'( x) =, ca fiind hx ( ) = f' ( x), dx respectiv h( f'( x))= x. Se găseşte θ, rădăcina ecuaţiei neliniare: k k=
17 R A f = h B θ '( ) = 2 N σ 2 θ σ k ki k PRELUCRAREA DIGITAL A IMAGINILOR (.3) Soluţia poate fi obţinută folosind tehnici iterative (metoda lui Newton, de exemplu). Parametrul θ reprezintă pragul ce controlează care dintre coeficienţii transformării se codează. 2. Numărul biţilor alocaţi coeficientului de ordin k al transformării este dat de: 2, σ k < θ nk = (.3) 2 2 h( θf'( )/ σ k), σ k θ Se observă din relaţia (.3) că acei coeficienţi a căror valoare medie pătratică este mai mică decât valoarea de prag θ nu se codează. 3. Distorsiunea minimă ce se poate obţine în acest fel este: D = σ f( n ) + N 2 k: σ k θ σ 2 2 k k k 2 k: σ k < θ (.32) În alte variante este impusă distorsiunea medie D=d, în locul ratei medii B. În acest caz se rezolvă mai întâi ecuaţia (.32), pentru aflarea valorii lui θ. Apoi, din relaţiile (.3) şi (.3) se obţine numărul de biţi alocaţi n k şi rata minimă ce se poate obţine. Cu valorile n k cunoscute, numărul nivelelor de cuantizare poate fi aproximat ca n Int[ k ] 2. De observat că n k nu este în mod necesar un număr întreg. Algoritmul este util pentru calculul caracteristicilor rată de compresie/distorsiuni ale unui codor prin transformare, în condiţiile unei transformări A date şi a unui cuantizor având funcţia de distorsiune f(x) dată. Numărul biţilor de cuantizare n k este adesea un număr întreg. În acest caz, soluţia problemei alocării numărului de biţi se obţine folosind un algoritm mai simplu, cu următorii paşi succesivi:. Se alocă, în primul pas, n k=, k N- şi se consideră j=. j j 2. Se consideră n = n + δ( k ), unde I este un indice oarecare, astfel încât: k k k k k j [ f n f n j k ] = σ 2 ( ) ( + ) este maximă ( k este reducerea distorsiunii dacă bitul j este alocat cuantizorului k). j 3. Dacă nk N B se opreşte algoritmul; în caz contrar, se face j=j+ şi se k repetă pasul 2. Compresia prin transformări a imaginilor Teoria codării prin transformări, studiată în paragraful anterior pentru cazul unidimensional, poate fi extinsă relativ uşor pentru modelul bidimensional, considerând imaginile u(m,n) de dimensiuni MxN ca vectori u de dimensiuni MNx. Transformarea KL a vectorului u va fi o matrice de dimensiuni MNxMN. În practică, această transformare se înlocuieşte cu una separabilă şi rapidă, de tipul cosinus, sinus, Fourier, Slant sau Hadamard. Aceste transformări prezintă, în plus, avantajul unei împachetări 25
18 foarte bune a unei părţi importante din energia imaginii într-un număr redus de coeficienţi. Implementarea practică a compresiei (codării) prin transformări a unei imagini presupune o divizare iniţială a acesteia în blocuri dreptunghiulare de dimensiuni mici şi codarea independentă prin transformări a fiecăruia dintre ele. Pentru o imagine NxM, divizată în NM/pq blocuri de dimensiuni pxq, capacitatea de memorie necesară pentru implementarea transformării se reduce de NM/pq ori. De asemenea, numărul de operaţii necesare pentru transformare se reduce de log 2 MN / log2 pq ori (în cazul folosirii unei transformări rapide ce necesită pentru transformarea unui vector Nx un număr de αnlog 2 Noperaţii). Pentru imagini având 52x52 pixeli, divizate în blocuri de 6x6 pixeli, aceşti factori sunt de 24, respectiv 2,25. Cu toate că numărul de operaţii nu se reduce sensibil, complexitatea hardware necesară implementăii transformărilor pe blocuri de dimensiuni mici duce la reducerea ratei de compresie, după cum se poate vedea în figura.. În mod uzual se folosesc blocuri de dimensiuni 6x6 pixeli. r 2,5 2,,5, r - rata compresiei (biti/pixel),5 2x2 4x4 8x8 6x6 32x32 64x64 28x28 Dimensiunea blocurilor Fig.. Rata de compresie în cazul codării folosind transformarea KL Un algoritm practic de codare prin transformări aplicat pentru imagini, este prezentat în figura.2, iar etapele succesive de implementare sunt următoarele: p q u j A p U i A T q Cuantizare Codare Transm./ memorare Decodare A *T V j A * q p u' j q p Fig..2 Codare prin transformare bidimensională. Divizarea imaginii de intrare u i în blocuri rectangulare de dimensiuni pxq şi NM transformarea fiecărui bloc, obţinându-se V i, i=,..., I-, I =. pq 2. Determinarea alocării biţilor se face după calcularea varianţei coeficienţilor σ 2 kl,, dacă funcţia de covarianţă a imaginii este cunoscută. În caz contrar, se estimează varianţele ~ 2 σ kl, ale ansamblului coeficienţilor v i (k,l), i=,..., I-, obţinute pentru o imagine standard normalizată pentru a avea varianţă unitară. În continuare se pot estima valorile σ kl, pentru imaginea v cu varianţa σ după relaţia: σ k,l = ~ σ k,l σ. 252
19 Valorile ~ 2 σ kl, pot fi interpretate ca densitatea spectrală de putere a blocurilor de imagine în domeniul corespunzător transformării alese. Pentru alocarea numărului de biţi se poate folosi unul din algoritmii prezentaţi în paragraful referitor la cazul unidimensional. În figura.3 este prezentată o alocare tipică a biţilor pentru codarea prin transformare cosinus a blocurilor cu dimensiuni de 6x6 pixeli dintr-o imagine, pentru a obţine o rată medie B= bit/pixel Fig..3 Alocarea biţilor pentru transformarea cosinus pentru blocuri de 6x6 pixeli 3. Alegerea cuantizorului se face ţinând cont de modelele de distribuţie ale diferiţilor coeficienţi ai transformării: pentru cele mai multe transformări, coeficientul de c.c. v i (,) este pozitiv iar ceilalţi coeficienţi au valoare medie nulă. În consecinţă coeficientul de c.c. se modelează cu o distribuţie de tip Rayleigh iar ceilalţi cu distribuţii de tip laplacian sau gaussian. Deoarece coeficienţii transformării au alocat un număr diferit de biţi, sunt necesari cuantizori diferiţi pentru fiecare valoare a lui n k,l (de exemplu, în fig..3, domeniul numărului de biţi alocaţi este între şi 8 şi, deci, sunt necesari opt cuantizori diferiţi). Pentru implementarea cuantizorilor, eşantionul de intrare v i (k,l) se normează în vederea obţinerii unei varianţe unitare: ~ v (, ) (, ) i k l v k l, ( kl, ) ( ) i =, (.33) σ kl, Coeficienţii normaţi se cuantizează cu ajutorul unui cuantizor de n k,l biţi, proiectat pentru imagini de intrare având valoarea medie nulă şi varianţa unitară. Coeficienţii care au alocaţi zero biţi nu se prelucrează, iar la decodare (unde se cunoaşte aprioric tabelul alocării de biţi) coeficienţii neprocesaţi sunt înlocuiţi cu zerouri (respectiv cu valoarea lor medie). 4. Codarea ieşirii cuantizorului în cuvinte de cod şi transmisia sau memorarea lor. 5. Reproducerea coeficienţilor se face, în condiţiile în care canalul de comunicaţie se consideră fără zgomot, după relaţia: 253
20 v vi ( k, l) σ k, l, ( k, l) It ( k, l) =, in rest i PRELUCRAREA DIGITAL A IMAGINILOR (.34) unde I t reprezintă setul de coeficienţi transmişi. *T * Transformarea inversă ui = A vi A duce la obţinerea blocurilor imaginii reproduse. După alocarea numărului de biţi pentru coeficienţii transformării se pot determina performanţele codorului: rata de distorsiuni D şi rata medie de compresie R: p q p q 2 D = kl f( nkl), R = n pq pq σ,, kl, k= l= k = l= (.35) O comparaţie a performanţelor diferitelor transformări la codarea unor blocuri de imagine de 6x6 pixeli este prezentată în fig Cosinus, KL Hadamard Sinus -2-3,25,5, 2, 4, R (biti/pixel) Fig..4 Rata distorsiunilor în funcţie de rata de compresie pentru diferite tipuri detransformări Din figură, precum şi din tabelul.2, care prezintă valorile raportului semnalzgomot pentru diferite tipuri de transformări, se poate observa că performanţele transformării cosinus sunt superioare celorlalte transformări rapide şi aproape aceleaşi ca ale transformării optimale Karhunen-Loeve: Tabelul.2 Mărimea Rata de Raport semnal - zgomot blocului compresie KL Cosinus Sinus Fourier Hadamard biţi/pixel 8x8,5 3,82 3,76,69 2,27 2,65, 6,24 6,9 4,82 4,99 5,9 2, 2,95 2,89 9,53 9,73 9,86 6x6,5 4,25 2,82 2,87 2,78, - 6,58 5,65 5,52 5,27 2, 2,26 2,37 2,24 2, Codarea zonală şi codarea cu prag Examinarea matricii de alocare a biţilor (fig..3) pune în evidenţă faptul că doar o mică zonă din imaginea transformată se transmite (în afara cazurilor în care rata medie disponibilă este foarte mare). Dacă N t este numărul eşantioanelor transmise, se defineşte o mască zonală, ca fiind matricea: 254
21 , mkl (, ) =, kl, It in rest (.36) care ia valori unitare în zonele cu varianţe N t mari ale eşantioanelor transformate. Figura.5.a prezintă o mască zonală tipică. Dacă se aplică o astfel de mască zonală blocurilor transformate şi se codează doar elementele diferite de zero, metoda se numeşte codare zonală. La codarea cu prag, coeficienţii luaţi în considerare pentru transmisie sunt cei cu amplitudinea cea mai mare (şi nu cei cu varianţa cea mai mare, ca în cazul codării zonale). Coeficienţii transmişi sunt, în acest caz: { k l v k l } I' =, : (, ) >η (.37) t unde η este un prag astfel ales, încât să controleze rata medie de compresie. Pentru un ansamblu de imagini dat, dacă varianţele coeficienţilor de transformare sunt fixate, masca zonală rămâne neschimbată de la un bloc la blocul următor, pentru o rată fixă a biţilor transmişi. Totuşi, masca cu prag m η (fig..5.b) definită ca: ', kl, It mη ( k, l) =, in rest (.38) poate să se modifice, deoarece I t, (setul de coeficienţi cu amplitudinea cea mai mare) nu este necesar să fie acelaşi pentru blocuri diferite. Eşantioanele reţinute sunt cuantizate cu ajutorul unui cuantizor uniform, după care sunt codate entropic. Fig..5 Măşti zonale şi cu prag Folosirea măştii zonale reprezintă soluţia cea mai avantajoasă (distorsiuni mai mici) pentru acelaşi număr de eşantioane transmise sau pentru acelaşi număr de biţi de cuantizare. Totodată, însă, rezultă şi o rată mai mare deoarece adresele eşantioanelor transmise (marginile măştii cu prag) trebuie codate pentru fiecare bloc de imagine. O metodă de evitare a acestui inconvenient este codarea RLC a marginilor măştii cu prag, pe fiecare linie; o alta constă în aranjarea coeficienţilor imaginii transformate într-un şir, într-o ordine predeterminată - aşa-numita ordonare în zig-zag (fig..5.c) şi apoi codarea RLC a secvenţei obţinute. Codarea cu prag este adaptivă prin natura ei şi se foloseşte pentru obţinerea unor rate înalte de compresie, atunci când conţinutul imaginii se modifică considerabil de la un bloc la altul (caz în care codarea zonală este ineficientă). Codarea prin transformare, folosind criterii de vizibilitate 255
22 Pentru evaluarea vizuală a imaginilor este utilă folosirea unui criteriu bazat pe eroarea medie pătratică ponderată în conformitate cu curba de vizibilitate a sistemului vizual uman. Un codor FFT care încorporează un asemenea criteriu este prezentat în figura.6. L(m,n) Luminanţă Transformare luminanţă/ contrast f( ) u v Cuantizor v' u' Transformare FUF F * VF * L'(m,n) inversă contrast/ vizual luminanţă f( ) a. Sistemul complet de codare v,(k,l) Ponderare w(k,l) Cuantizor w'(k,l) Ponderare v'(k,l) în frecvenţă inversă în frecvenţă MMSE H(k,l) /H(k,l) b. Cuantizare vizuala pe criterii de vizibilitate Fig..6 Codare prin transformare pe criterii de vizibilitate (F - transformata Fourier unitară) Codorul cuantizează coeficienţii transformatei câmpului de contrast a imaginii, ponderându-i cu H(k,l) - funcţia eşantionată de răspuns în frecvenţă a sistemului vizual. Ponderarea inversă şi transformarea inversă FFT duce la obţinerea câmpului de contrast reconstituit. Pentru aplicarea acestei metode utilizând transformări oarecare aplicate pe blocuri din imagine, câmpul de contrast se convoluţionează cu h(m,n) - transformarea inversă Fourier a lui H(ξ,ξ 2 ). Câmpul rezultat poate fi codat ulterior cu orice metodă. La recepţie, câmpul decodat trebuie convoluţionat cu filtrul invers având răspunsul în frecvenţă /H(ξ,ξ 2 ). Codare prin transformare adaptivă Codarea prin transformare poate fi adaptată prin trei metode: adaptarea transformării, adaptarea alocării numşrului de bi@i şi adaptarea nivelelor de cuantizare. Adaptarea vectorilor de bază ai transformării este o metodă costisitoare, deoarece presupune modificarea acestora ori de câte ori apar modificări în parametrii imaginii. O metodă mai practică este adaptarea alocării numărului de biţi la diferitele blocuri din imagine, în funcţie de varianţa datelor din blocul respectiv. Rezultă de aici o rată medie variabilă de la un bloc la altul, dar se obţine o mai bună utilizare a numărului total de biţi pentru întreaga imagine. O altă variantă presupune alocarea biţilor pentru blocurile din imagine în aşa fel, încât fiecare bloc să prezinte aceeaşi distorsiune; rezultă o degradare uniformă a imaginii, oferind o senzaţie mai plăcută ochiului. În cadrul schemelor de cuantizare adaptivă, alocarea biţilor este menţinută constantă dar nivelul de cuantizare se ajustează în conformitate cu modificarea varianţei coeficienţilor transformării. Varianţele în domeniul transformatei pot fi estimate fie prin adaptarea parametrilor statistici ai modelului de covarianţă, fie prin medierea locală a valorii eşantioanelor. Exemple de codare prin transformare adaptivă sunt prezentate în paragraful care tratează codarea intercadre. Codarea prin transformare DCT bidimensională 256
23 Considerând o matrice de 8x8 pixeli, este evident că aceasta poate fi împărţită în 8 rânduri de câte 8 pixeli sau în 8 coloane de 8 pixeli fiecare. Dacă se aplică separat transformarea DCT unidimensională (vezi cap.4) fiecărui şir de 8 pixeli, rezultatul va fi format din 8 şiruri de coeficienţi ai transformării. Dacă se consideră, în continuare, aceste 8 şiruri de coeficienţi ca formând 8 coloane, prima coloană va conţine toţi coeficienţii de c.c., a doua va conţine primul coeficient de c.a. din fiecare şir, s.a.m.d. Ceea ce este important de remarcat în această organizare este că, deşi matricea conţine pe direcţie orizontală informaţia referitoare la frecvenţă, ea conţine totodată şi informaţie spaţială pe direcţie verticală. În consecinţă, este posibilă aplicarea DCT unidimensionale asupra fiecărei coloane, individual. Fiecare element al matricii bidimensionale, conţinând componente din domeniul frecvenţă, va reprezenta o componentă în spaţiul bidimensional al frecvenţelor. Elementul din colţul din stânga - sus reprezintă coeficientul de c.c. pentru întreaga matrice, iar toţi ceilalţi coeficienţi conţin informaţii referitoare la frecvenţă. Fiecare dintre aceşti coeficienţi va da, în cazul aplicării transformării DCT inverse bidimensionale, o amprentă diferită de zone luminoase şi întunecoase, cu un factor de contrast definit de amplitudinea acestuia. Figura.7 ilustrează amprentele produse de fiecare dintre coeficienţi într-o imagine de 8x8 pixeli, rezultată în urma unei transformări DCT inverse, considerând fiecare coeficient ca având valoarea maximă. De notat că blocul din stânga - sus este gri uniform, reprezentând intensitatea medie a întregului bloc de 8x8 pixeli. Blocul din dreapta - jos are forma unei table de şah, indicând prin aceasta prezenţa frecvenţelor maxime atât pe orizontală cât şi pe verticală. Blocurile din dreapta - sus şi stânga - jos prezintă dungi verticale şi, respectiv, orizontale deoarece reprezintă frecvenţa maximă pe orizontală şi frecvenţa zero pe verticală şi vice versa. Fig..7 Influenţa diferiţilor coeficienţi ai transformării DCT Ecuaţiile corespunzătoare transformării DCT bidimensionale directe şi inverse au fost prezentate în capitolul 4. Privindu-le cu atenţie, se pot observa sume de termeni cosinusoidali pe direcţie orizontală şi verticală, pentru fiecare element din matricea rezultantă. Ecuaţiile sunt, pur şi simplu, combinaţii a două ecuaţii DCT unidimensionale, una pentru frecvenţe orizontale, iar cealaltă pentru frecvenţe verticale. Transformarea în sine a matricii bidimensionale de pixeli în componentele de frecvenţă corespunzătoare nu realizează o compresie de date. Avantajul esenţial al DCT este acela că permite o cuantizare selectivă a diferitelor componente, corespunzătoare unui bloc de pixeli dat. Din punct de vedere teoretic, nu există limitări în ceea ce 257
24 priveşte mărimea matricii iniţiale alese. Ecuaţia de bază ar fi aceeaşi, chiar dacă s-ar lua în considerare o întreagă imagine NxN, dar timpul de calcul necesar ar fi, evident, prohibitiv. Numărul de operaţii de înmulţire necesare pentru fiecare element al matricii rezultante, în cazul unei transformări DCT bidimensionale, este proporţional cu suma pătratelor dimensiunilor orizontale şi verticale a matricii. Prin divizarea imaginii originale în blocuri de mărime mai mică, numărul de calcule necesare se reduce semnificativ. Dezavantajul acestei soluţii constă în apariţia în imaginea reconstruită a unor margini vizibile la graniţa dintre blocurile succesive. Figura.8 prezintă o imagine celebră în prelucrările digitale de imagini, LENA, codată folosind transformarea DCT pe blocuri de 8x8 pixeli şi reconstruită după eliminarea unui număr diferit de coeficienţi. a b c d e Fig..8 Codarea unei imagini, folosind DCT În figura.8 a s-au păstrat toţi coeficienţii şi imaginea este identică cu originalul. În figurile.8 b, c şi d, sunt prezentate rezultatele (imaginile reconstruite) după eliminarea unui număr din ce în ce mai mare de coeficienţi, culminând cu imaginea din fig..8 e, la care s-au păstrat doar doi coeficienţi. Rezultatele sunt, credem noi edificatoare din punctul de vedere al calităţii imaginii. 258
25 Rezultatul cuantizării în domeniul frecvenţă este o uşoară înceţoşare a imaginii, respectiv o reducere a contrastului în fiecare din blocurile de 8x8 pixeli. Aceasta tinde să mărească diferenţele la graniţa dintre blocuri, rezultatul fiind o imagine cu o definiţie mai redusă şi distorsiuni vizuale mai mari. În practică, numărul de nivele de cuantizare aplicat fiecărui coeficient depinde de anumiţi factori, printre care caracteristicile imaginii, rata de compresie ce se doreşte a fi obţinută, precum şi calitatea imaginii reconstruite. Pentru imaginile color, componentele de crominanţă se cuantizează de obicei mai grosier decât cele de luminanţă, din considerente de percepţie vizuală. Pentru imaginile alb-negru, compresia de date obţinută prin folosirea DCT rezultă tocmai din procesul de cuantizare. Majoritatea energiei spectrale a unei imagini uzuale este concentrată în domeniul frecvenţelor joase (coeficienţii corespunzători frecvenţelor înalte, ce rezultă în urma DCT, vor avea, în general, valori mici, iar cuantizarea va reduce majoritatea coeficienţilor de valori mici la zero). Acest fapt face ca matricea obţinută ca rezultat al DCT şi al cuantizării să aibă un mare număr de coeficienţi nuli. Se poate astfel reduce sau chiar elimina redundanţa şi se obţine o compresie semnificativă a datelor. Tehnica aceasta este folosită, de exemplu, în cadrul standardelor de compresie JPEG şi MPEG, care combină DCT, RLC precum şi alte tehnici pentru obţinerea unei rate de compresie mari, în condiţiile unei calităţi bune a imaginii reconstruite. Numărul nivelelor de cuantizare aplicat fiecărui bloc de imagine depinde şi de conţinutul spectral al blocului. Imaginile cu multe detalii foarte fine sunt mai pasibile de degradare, folosind această tehnică, decât imaginile cu contururi şterse. Două elemente contribuie la reducerea cantităţii de informaţie transmise, după cuantizare: primul, menţionat anterior, constă în trecerea în zero a coeficienţilor având valorile sub o anumită limită, iar al doilea constă în reducerea amplitudinii tuturor coeficienţilor nenuli, ca rezultat al cuantizării. Combinarea tehnicii RLC cu reducerea valorii coeficienţilor nenuli permite codarea acestora cu un număr minim de biţi (în cazul în care se folosesc tehnici de codare cu lungimi variabile de cod). Este posibilă determinarea unui set optimal de coeficienţi de cuantizare, pe baza ratei de compresie dorite, a calităţii imaginii reconstruite şi a unei analize statistice a imaginii sau a imaginilor ce trebuiesc codate. Analiza statistică constă în determinarea probabilităţii relative de apariţie a fiecărei componente spectrale de amplitudine semnificativă (termenul acesta depinde, în fond, de calitatea dorită a imaginii reconstruite). Rezultatul analizei oferă indicaţii referitoare la componentele spectrale ce pot fi eliminate sau reduse ca amplitudine, fără a se afecta în mod serios calitatea imaginii. În cazul în care rezultatele obţinute nu satisfac din punctul de vedere al ratei de compresie, este necesară sacrificarea calităţii imaginii. Oricum, nu este posibilă maximizarea simultană a ratei de compresie şi a calităţii imaginii reconstruite. Algoritm de compresie folosind DCT Ca exemplificare, să considerăm un bloc de 8x8 pixeli dintr-o imagine, prezentat, prin valorile pixelilor eşantionate pe 8 biţi, în tabelul.3. După transformarea bidimensională DCT, coeficienţii rezultaţi sunt cei figuraţi în tabelul.4. Se observă cu uşurinţă că energia blocului luat în considerare este concentrată în câţiva coeficienţi de joasă frecvenţă. Folosind metoda alocării biţilor prezentată anterior, respectiv împărţind fiecare valoare cu un coeficient de cuantizare (tabelul.5), se obţine un tablou al 259
26 26 PRELUCRAREA DIGITAL A IMAGINILOR coeficienţilor (tabelul.6) în care majoritatea celor de valori mici sunt reduşi la valoarea zero (de notat că valorile nenule sunt concentrate în colţul din stânga sus al matricii). Acest lucru permite eliminarea valorilor nule prin codare RLC, mai ales dacă se are în vedere o modalitate de reordonare neortogonală a coeficienţilor (ordonarea în zig-zag, prezentată anterior). La reconstrucţia blocului de pixeli este necesară înmulţirea fiecărui coeficient din matrice cu coeficientul de cuantizare şi apoi realizarea transformării DCT inverse. Setul de valori rezultat este prezentat în tabelul.7. Tabelul.3 Valorile iniţiale ale pixelilor Tabel.4 Coeficienţii DCT Tabel.5 Coeficienţi de cuantizare Tabelul.6 Coeficienţi DCT cuantizaţi Tabelul.7 Valorile reconstruite ale pixelilor
27 Tabelul.8 Valorile erorilor PRELUCRAREA DIGITAL A IMAGINILOR Erorile rezultate ca urmare a compresiei şi decompresiei se pot calcula prin scăderea valorii fiecărui pixel din matricea reconstruită din valoarea pixelului corespunzător în blocul imaginii iniţiale (tabelul.8). Concluzii Codarea prin transformări permite obţinerea unor rate de compresie sensibil mai ridicate decât metodele de codare predictivă. Distorsiunile datorate cuantizării sau erorilor din canalul de comunicaţie se distribuie, prin intermediul transformării inverse, pe întreaga imagine reconstruită. Din punct de vedere vizual, fenomenul distribuirii erorii în imagine este benefic în comparaţie cu codarea predictivă, caz în care erorile sunt localizate. Deşi metodele de codare predictivă şi prin transformări sunt, din punct de vedere teoretic, apropiate ca performanţe în cazul unidimensional, performanţele lor diferă substanţial în cazul bidimensional, din două motive: codarea predictivă este sensibilă la statistica datelor şi, deci, doar schemele adaptive ating eficienţa metodelor de codare prin transformare neadaptivă. De asemenea, predictorii cauzali de ordin finit nu permit atingerea unor rate de compresie apropiate de cele ale codării prin transformări. Din punctul de vedere al implementării, codarea predictivă este de complexitate mult mai redusă, atât în ceea ce priveşte capacitatea de memorie cât şi numărul de operaţii. Totuşi, ţinând cont de preţul de cost în scădere rapidă al hardware-ului, acest dezavantaj nu este esenţial şi va dispare în scurt timp. Din punctul de vedere al proiectării codoarelor prin transformări, următoarele elemente sunt de luat în considerare:. Mărimea blocului (N): alegerea acesteia depinde de capacitatea de memorie disponibilă şi de valoarea corelaţiei dintre pixeli. 2. Transformarea: alegerea ei este importantă în cazul alegerii unor blocuri de dimensiuni mai mici (N 64). Transformarea cosinus dă rezultatele cele mai bune pentru imagini înalt corelate. Transformarea sinus se utilizează în codoare KL rapide sau în cele cu blocuri recursive. 26
28 262 PRELUCRAREA DIGITAL A IMAGINILOR
29 Transformarea DFT necesită utilizarea de variabile complexe şi este recomandată în cazul în care domeniul frecvenţă este foarte important (de exemplu, în codarea pe criterii de vizibilitate) şi pentru imagini de tip CT, MRI (computer-tomograph, magnetic resonance imaging) unde datele trebuiesc trecute în domeniul Fourier. Transformarea Hadamard este utilă pentru blocuri de dimensiuni reduse (4x4) şi este mai uşor de implementat decât transformările rapide de tip sinusoidal. Transformarea Haar este utilă în cazul în care se doreşte punerea în evidenţă a frecvenţelor înalte, dar duce la o rată de compresie mică. Transformarea Slant dă cele mai bune rezultate dintre transformările rapide nesinusoidale. 3. Cuantizarea: alegerea se face între cuantizarea Lloyd-Max (caz în care se foloseşte o densitate de probabilitate de tip laplacian sau gaussian şi o distribuţie de tip Rayleigh pentru coeficienţii de c.c) şi cuantizarea uniformă (utilă dacă ieşirea cuantizorului este codată entropic sau dacă numărul de nivele de cuantizare este mare). Din punctul de vedere al performanţelor globale, se poate defini rata de compresie ca raport între numărul de biţi/pixel din imaginea originală (tipic, 8) şi numărul mediu de biţi/pixel necesari pentru codare. Din această perspectivă, ratele de compresie ce se pot obţine (pentru un raport semnal/zgomot de 3-36 db) variază între 2-4 pentru algoritmii unidimensionali, 4-8 la cei bidimensionali, 8-6 pentru algoritmii bidimensionali adaptivi şi 6-32 pentru algoritmii tridimensionali adaptivi..5 CUANTIZAREA VECTORIALĂ Cuantizarea vectorială este, de fapt, o modalitate de a reduce rezoluţia cu care este reprezentat un set de date. Esenţa metodei constă în reprezentarea unor grupuri de valori din setul original de date ca valori singulare în noul set, reducându-se astfel cantitatea totală de informaţie. Cuantizarea vectorială este, prin definiţie, o tehnică de compresie cu pierdere de informaţie, (o parte din datele originale se pierd). În termeni simpli, cuantizarea vectorială constă în împărţirea valorilor datelor originale în grupuri distincte şi reprezentarea fiecărui grup printr-un vector. Cuantizarea apare la reconstrucţia setului de date original, datorită faptului că datele ce constituie un grup nu mai pot fi distinse între ele şi fiecare este înlocuită cu o nouă valoare, care aproximează cât mai bine posibil grupul în sine. Fenomenul este similar celui de rotunjire a numerelor 9,; 9,2; 9,3 cu cel mai apropiat număr întreg. După rotunjire, cele trei valori nu mai pot fi distinse între ele. Criteriul de selecţie pentru gruparea datelor depinde de gradul de corelare şi de distribuţiile statistice ale datelor. Spre exemplificare, să presupunem un set de date având ca elemente numere întregi, cuprinse între şi 23. Numărul exact de elemente al mulţimii nu este relevant; ceea ce este însă relevant este frecvenţa relativă de apariţie a fiecăreia dintre cele 24 valori posibile. Dacă presupunem, în continuare, că dorim o reprezentare a acestui set de date folosind 28 simboluri (valori cuprinse între şi 27), rezultă o reducere de 3 biţi pentru fiecare element al setului de date. Cea mai evidentă modalitate de abordare a problemei constă în trunchierea celor mai puţin semnificativi trei biţi pentru fiecare element; efectul este o diminuare uniformă a rezoluţiei de reprezentare în întregul set de date. În cazul în care probabilitatea de apariţie este aceeaşi pentru toate valorile posibile din setul de date, modalitatea expusă mai sus este optimală. Dacă, însă, distribuţia de probabilitate nu este uniformă, gradul de cuantizare poate fi modificat astfel încât să permită o acurateţe mai 262
30 mare în zonele unde este necesar şi să reducă acurateţea valorilor care apar rar sau deloc, astfel încât să se obţină o aceeaşi reducere totală a cantităţii de informaţie. p(n) n Fig..8 Cuantizare vectorială în cazul datelor cu distribuţie uniformă de probabilitate Figura.8 prezintă o histogramă pentru un domeniu de valori între şi 23, în cazul unei probabilităţi de apariţie egale pentru toate elementele. În acest caz, o cuantizare simplă de la valori exprimate prin biţi la valori exprimate prin 7 biţi este cea mai bună soluţie. Fig..9 ilustrează un caz similar, dar în care distribuţia de probabilitate nu este uniformă. În acest caz este de dorit reprezentarea cu o acurateţe mai mare a acelor valori care apar mai des şi cu acurateţe mult mai mică a celor ce apar rar, sau chiar deloc. p(n) 23 n Fig..9 Cuantizare vectorială în cazul datelor cu distribuţie neuniformă de probabilitate Cuantizarea va fi mai fină în zonele cu probabilitate mai mare de apariţie şi mai grosieră în zone cu probabilitate mai mică. De remarcat este faptul că nu există nici o relaţie matematică între setul iniţial de date şi setul cuantizat. Din setul original, fiecare grup de simboluri corespunde unui singur element din datele cuantizate, element care constituie un vector. Tabelul reprezentând corespondenţa dintre valorile cuantizate şi cele mai bune aproximări ale valorilor originale se numeşte tabel de cod. Obţinerea unor tabele de cod optimale se poate face folosind diferite tehnici. Pentru a mări eficienţa acestora, vectorii pot fi definiţi în mai multe dimensiuni. De exemplu, dacă avem în vedere setul anterior, compus din 24 elemente, în cazul în care acestea sunt luate în considerare ca şi perechi de elemente, în locul celor 24 vom avea milioane de combinaţii posibile. În acest caz apare conceptul de corelaţie între elementele setului de date. Evident, volumul de calcule creşte foarte mult dar, în acelaşi timp, creşte şi probabilitatea de optimizare a tabelului de cod. În cazul unei imagini, de exemplu, datorită conţinutului relativ scăzut de frecvenţe spaţiale a majorităţii imaginilor naturale, există un grad relativ înalt de corelare între pixelii aflaţi în imediata apropiere. Grupuri de patru pixeli, cuantizaţi împreună, vor reprezenta în acest caz un vector în 4 dimensiuni. Nu trebuie confundate dimensiunile vectorilor cu dimensiunile spaţiului de eşantionare. Cuantizarea unui spaţiu de eşantionare bidimensional, ca în
31 cazul imaginilor, nu implică un anumit număr al dimensiunilor vectorului de cuantizare, ci numărul de eşantioane discrete ce formează fiecare vector, fără a ţine cont de organizarea logică a spaţiului de eşantionare original. Aceasta însă va avea un anumit impact asupra caracteristicilor lui statistice, ceea ce induce modalitatea de grupare a eşantioanelor în grupuri. Cu titlu de exemplu, prezentăm algoritmul de compresie a unor imagini albnegru, folosind o schemă de cuantizare vectorială unidimensională. Cuantizorul utilizat calculează distribuţia statistică a valorilor pixelilor şi apoi cuantizează pixelii în grupuri de doi sau mai mulţi, în funcţie de probabilităţile lor relative. Obiectivul urmărit este reducerea domeniului iniţial de valori de la 255 (de exemplu) la 6 valori unice, şi reprezentând pixelii cu probabilităţi mari de apariţie cu acurateţe mult mai mare decât restul pixelilor, rezultatul fiind o rată de compresie de 2:. Se calculează mai întâi histograma imaginii şi numărul de apariţii a fiecărei valori din domeniul iniţial. Dacă avem în vedere folosirea în reprezentare a 6 simboluri în setul de simboluri cuantizate, probabilitatea fiecăruia dintre ele va fi aproximativ egală (probabilitatea va fi de /6, respectiv,625 pentru fiecare vector). Probabilitatile valorilor adiacente sunt însumate până se ajunge la valoarea de /6 şi se calculează media ponderată a tuturor pixelilor din setul rezultat, în vederea obţinerii pixelului reconstruit. Procedura se repetă pentru toţi cei 6 vectori. În fond, cuantizarea vectorială este o operaţie care generalizează cuantizarea scalară. Ea permite reprezentarea unui vector x cu k componente de valori reale x R K printr-un vector aparţinând unei mulţimi finite de vectori numită dicţionar {y i R K, iâ, 2, M}, la receptor transmiţându-se doar indicele i al vectorului din dicţionar. Cuantizarea vectorială trebuie făcută în aşa fel încât să minimizeze eroarea pătratică medie, pentru un dicţionar de dimensiune M dată. Ea permite să reţinem, plecând de la corelaţia care există între componentele vectorului x şi statistica vectorilor de intrare, un număr mai redus de vectori, care depinde de factorul de distorsiuni acceptat. Procedura de cuantizare vectorială poate fi algebrică sau statistică. În primul caz, ansamblul de puncte cuantizate în R K prezintă o anumită structură matematică. Coordonatele punctelor cuantizate (centre de sfere) sunt date printr-o expresie de forma A unde α i sunt întregi şi A i sunt vectori ai bazei. În procedura statistică, i α i i parametrii sistemului sunt obţinuţi prin antrenare, plecând de la un număr mare de vectori de intrare, reprezentativi pentru aplicaţie. Cuantizarea statistică este foarte utilă, deoarece asigură o compresie puternică şi un factor de distorsiuni acceptabil. x = x,x,...,x un vector real cu valori continue în R K. Cuantizarea Considerăm [ 2 K] lui x constă în substituirea cu nu vector vecin y i R K, ales dintr-un ansamblu finit (iâ,2, M). Construind un sistem de cuantizare vectorială care operează o partiţionare pe R K în clase C i, în fiecare dintre ele distingem un vector particular y i numit prototip sau centroid (sau cuvânt de cod). Fiecare vector x C i va fi reprezentat prin centroidul asociat clasei C i, adică y i. Ansamblul de centroizi constituie un dicţionar (sau codebook ). Substituirea lui x cu vectorul y provoacă o distorsiune notată cu d(x,y). Pentru codarea semnalelor continue, se utilizează eroarea pătratică: 264
32 k 2 d 2(x, y) = ( x i y i) (.39) k n= Eroarea medie pătratică datorată cuantizării este notată cu D j şi este definită de expresia: D N N n = ( y n ) = lim d x( n), ( ) N (.4) Măsura distanţei depinde de problema particulară de care este vorba. Ea este o funcţie cu valori reale care reflectă distorsiunea rezultată prin aproximarea vectorului de intrare x cu vectorul prototip y i. Măsura distanţei în cuantizarea vectorială este utilă doar pentru a compara aceeaşi intrare x cu diverse prototipuri candidate y i. Rezultă de aici că măsura distanţei poate fi destul de generală. Ca exemplu în cazul bidimensional, considerăm un vector de intrare x = [ x,x 2,...,xK] şi reprezintarea în aceleaşi coordonate a celor k vectori prototip, identificaţi de indicele lor i. Distanţa este chiar distanţa euclidiană definită mai jos (Mâ2): M 2 2 d ( x, y ) = x y, ( ) i j i j j = (.4) unde y i,j este componenta de rang j a vectorului prototip y i. X 2 x x X Fig..2 Exemplu de cuantizare vectorială Din examinarea figurii.2 se observă că vectorul de intrare X este mai apropiat de vectorul centroid 4. Vectorul cuantizat va fi y 4, iar ceea ce se transmite decodorului va fi indicele iâ4. Prototipurile definesc o partiţie a spaţiului de intrare în K celule, ilustrate prin frontierele punctate din figură. Celula C i este submulţimea spaţiului de intrare care este aplicată de cuantizor prototipului i. Ea este definită de: { } C = x / d(x, y ) < d(x, y ); k i (.42) i i k Aceste celule se numesc regiuni Voronoi. Ele sunt în mod necesar regiuni convexe şi au în general frontiere complicate, iar de aceea implementarea cuantizării vectoriale va putea fi redusă cu greu la decizia de prag, ca în cazul cuantizării condiţionate. Un sistem tipic de cuantizare vectorială (VQ) este descris în figura următoare: 265
33 Tabel de coduri Tabel de coduri i n i n X n Y Y 2 Y N Y Y 2 Y N X n = Y i n CODOR DECODOR Fig..2 Sistem de cuantizare vectorială (VQ) unde vectorul de intrare X n, format dintr-un bloc de pixeli, este codat într-un index i n, care apoi serveşte şi ca index pentru reproducerea vectorului, index numit şi cuvânt de cod. Dacă toate cuvintele de cod au o lungime fixă b, vor putea exista maximum 2 b asemenea cuvinte. În codarea cu rată variabilă, indexul i n are o lungime variabilă şi atunci b reprezintă lungimea medie. Dacă d(x, X ) măsoară distorsiunea, respectiv costul reproducerii vectorului de intrare X prin X şi dacă distorsiunea totală a sistemului este măsurată prin eroarea medie, codorul optimal pentru un tabel de coduri (dicţionar) dat selectează vectorul Y i dacă d(x, Y i ) d(x, Y j ), pentru i, j i. Există o mare varietate de metode de cuantizare vectorială, dar toate urmează doi paşi importanţi: găsirea unui dicţionar, care în general se face utilizând un set de antrenament şi codarea propriu-zisă utilizând dicţionarul creat anterior. Există mai multe modalităţi de a crea un dicţionar. Două dintre cele mai cunoscute metode sunt: fie () utilizarea unui anumit subset al unei reţele pentru a forţa un vocabular foarte structurat sau (2) utilizarea unui algoritm de împărţire (Lloyd). Algoritmul Lloyd generalizat (GLA), care este uneori referit ca şi algoritmul Linde- Buzo-Gray (LBG), îmbunătăţeşte iterativ un vocabular, optimizând codorul pentru un decodor dat (utilizând distorsiunea minimă sau asignarea celui mai apropiat vecin) şi a decodorului pentru codor (înlocuind vocabularul vechi prin generalizarea de centroizi). Dacă se utilizează ca măsură eroarea medie pătratică, centroizii sunt media euclidiană a vectorilor asignaţi într-o regiune caracterizată de acelaşi index. Imaginea de mai jos (figura.22) reprezintă un dicţionar care conţine 28 vectori (care sunt de fapt blocuri de pixeli de dimensiuni 4x4), dicţionar utilizat in compresia imaginilor alb/negru. Fig..22 Exemplu de dicţionar (codebook) cu 28 vectori de dimensiune 4x4 266
34 Codorul care utilizează metoda de căutare numită FSVQ ( Full-Search Vector Quantization ), determină cel mai apropiat cuvânt de cod din dicţionar de vectorul de intrare prin căutare secvenţială. O căutare condiţionată poate mări viteza codării, dar nu poate garanta găsirea celui mai apropiat vecin global din vocabular. Alegerea modului de măsurare a distorsiunii permite cuantificarea performanţelor sistemului VQ, în sensul că se poate calcula eroarea şi utiliza în analiză şi optimizare. Cea mai utilizată metodă de măsură a distorsiunii pentru compresia de imagini este metoda erorii pătratice medii (MSE - Mean Square Error ). Cuantizare vectorială cu constrângere impusă de entropie Codoarele VQ obişnuite încearcă să minimizeze eroarea medie utilizând un număr dat de cuvinte de cod. Aceasta este echivalent cu minimizarea erorii medii pentru o rată dată, când rata este măsurată prin log 2 din numărul cuvintelor de cod. Aceasta constituie o optimizare bună atunci când sistemul are o rată fixă şi nu îi urmează nici o codare entropică. Dacă intenţionăm să codăm entropic ieşirea cuantizorului VQ, atunci are sens să se proiecteze cuantizorul având în vedere codarea entropică, ceea ce implică minimizarea erorii medii referitor la entropia ieşirii cuantizorului şi nu impunând condiţii asupra numărului de cuvinte de cod. Matematic, aceasta se realizează prin modificarea măsurii distorsiunii, de la simpla eroare pătratică, la logaritmul din probabilitate. Aceasta face ca în codorul optimal să se înlocuiască regula erorii pătratice medii cu minimizarea erorii pătratice, plus un termen dependent de logaritmul probabilităţii, care reflectă numărul de biţi ce vor fi necesari pentru a transmite un cuvânt de cod. Cuantizare vectorială cu constrângere de structură Teoria lui Shannon arată că VQ poate obţine performanţe apropiate de limita teoretică, pentru o rată dată, dacă vectorii au dimensiune suficient de mare. Din păcate, VQ fără constrângeri este limitat la dimensiuni mici ale vectorilor şi ale vocabularului, din cauza complexităţii căutării. O idee în sensul reducerii acestei complexităţi este impunerea de constrângeri vocabularului. Aceasta înseamnă că toate cuvintele de cod din vocabular pot avea o poziţie arbitrară în spaţiul k dimensional, dar sunt distribuite într-un mod restrictiv, ceea ce permite o căutare mai uşoară a celui mai apropiat vecin. Cuantizare vectorială pe criterii de formă Atunci când măsura distorsiunii este eroarea medie pătratică, cuantizarea vectorială pe criterii de formă ("gain/shape VQ") oferă o metodă simplă de creştere a dimensiunii vectorului şi de codare secvenţială a formei vectorului şi câştigului, fără a cere o normalizare a vectorului de intrare (fig..23). Vectorul de intrare este mai întâi codat printr-un vector formă (fig..24) de energie unitară, prin metoda căutării corelaţiei maxime, iar apoi câştigul optim este găsit printr-o simplă cuantizare scalară. Vocabularul este suboptimal, conform teoriei, deoarece se impun constrângeri structurale asupra sa, dar în practică se pot îmbunătăţi performanţele prin alegerea unei dimensiuni mai mari a dicţionarului de forme. 267
35 X n Dicţionar de forme Minimizare X n T S i Dicţionar de câştig Minimizare g j 2 -(X n /S i ) 2 j i j i DECODOR ROM Câştig g,..,g m Formă S,..,S N g j X n Fig..23 Cuantizor vectorial pe criterii de formă În exemplul de mai jos se prezintă o posibilă alegere a unor vectori formă, reprezentaţi sub forma unor matrici 3x3. Acest dicţionar se potriveşte, spre exemplu, pentru codarea zonelor de frecvenţă înaltă din descompunerea wavelet a unei imagini. Pentru un vector de intrare se transmite un indice i al vectorului formă ales din dicţionar, ca şi valorile L şi L 2, care reprezintă câştigurile pentru zona de negru şi respectiv alb. S i Fig..24 Exemplu de dicţionar de vectori formă Dacă avem vectorul de intrare şi vectorul candidat: X X 2 X 3 X 4 X 5 B W W W B vor rezulta valorile pentru L şi L 2 : L i = X k ; L2i = X k #X B k B #X W k W (.43) Distanţa se va calcula astfel: 2 De = X L + X L = Dk + D2 k (.44) 2 ( k i ) ( k 2 i) k B Pentru exemplul nostru, L şi L 2 rezultă: L = { X + X5 + X9} L = 3 6 X + X + X + X + X + X k W ; { }
36 Cuantizare vectorială în arbore (TSVQ) Codarea VQ în arbore ( Tree-Structured-Times VQ ) constă în proiectarea dicţionarului astfel încât căutarea celui mai apropiat vector se face prin decizie binară. Cuvântul de cod este selectat printr-o secvenţă de decizii binare de erore minimă, comparând vectorul de intrare cu vectorii din fiecare nod disponibil. Codorul produce simboluri binare care reprezintă secvenţa sa de decizie, de la nodul rădăcină, de-a lungul arborelui, spre nodul terminal. Această secvenţă binară este cuvântul de cod final. Arborele de cod poate fi echilibrat dacă toţi indecşii au aceeaşi lungime R, pentru un cod cu rată fixă, sau neechilibrat, cu indecşi de lungimi diferite, pentru un cod cu rată variabilă. Comparat cu FSVQ, complexitatea căutării este liniară în loc de exponenţială, dar preţul plătit este necesarul aproape dublu de memorie. La arborele neechilibrat, complexitatea căutării rămâne liniară, dar necesarul de memorie poate creşte foarte mult. Un exemplu de arbore neechilibrat este prezentat în figura.25: Cuantizare vectorială în paşi succesivi Fig..25 Vocabular sub formă de arbore neechilibrat În cazul cuantizării vectoriale în paşi succesivi, operaţiunea de codare se divide în câteva etape (fig..26). În primul pas se face o codare cu precizie scăzută a vectorului de intrare, utilizând un dicţionar de dimensiune redusă. Apoi, în pasul doi, se operează asupra vectorului de eroare dintre vectorul original şi vectorul codat în primul pas. X n Primul pas VQ Primul pas VQ index Pasul doi VQ index index Pasul doi VQ X n Ultimul pas VQ Ultimul pas VQ CODOR DECODOR 269
37 Fig..26 Schema de codare/decodare VQ în paşi succesivi Vectorul de eroare cuantizat dă o primă rafinare a valorii cuantizate în primul stagiu. Pentru o reprezentare mai fidelă a vectorului de intrare se pot pune în cascadă mai multe etaje care vor aduce o rafinare suplimentară a rezultatului codării. Codarea VQ predictivă (PVQ) Codarea predictivă VQ este o extensie a codării DPCM clasice. Codorul face o predicţie asupra vectorului de intrare, bazată pe vectorul anterior codat. Diferenţa dintre vectorul de intrare şi vectorul prezis se numeşte şi vector rezidual. Acesta va fi codat prin cuantizare vectorială. Deoarece codorul utilizează valoarea anterioară de ieşire pentru a face predicţia, decodorul este capabil să facă aceeaşi predicţie. După decuantizarea vectorului rezidual, decodorul adaugă vectorul prezis pentru a obţine la ieşire vectorul reprodus. În figura.27 se prezintă un codor predictiv combinat cu un codor în paşi succesivi (codor PRVQ): X n i i 2 i 3 i m Q Q 2 Q 3 Q m X n i i 2 Predictor Reţea Neuronală D D 2 Întârziere X n CODOR i m D m DECODOR Predictor Reţea Neuronală Întârziere Fig..27 Sistem de codare PRVQ (Predictive Rezidual VQ) Codare VQ utilizând clasificarea (CVQ) Vectorul de intrare este supus mai întâi unei clasificări care va genera un index i n (un număr întreg între şi m), iar acesta va identifica subdicţionarul C i în care se va căuta cel mai apropiat vecin. Cuvântul de cod corespunzător vectorului de intrare va fi format deci din două părţi: un index i n care va specifica subdicţionarul şi un index u n care arată vectorul selectat din acel subdicţionar. Clasificarea se poate face după o mare varietate de criterii: proprietăţi de textură, direcţia muchiei, caracteristici de diagnostic, mascare bazată pe caracteristicile ochiului, etc. 27
38 Cuantizare vectorială prin metoda eliminării Acest algoritm nu dă în mod necesar rezultate superioare, dar este foarte simplu şi are avantajul că poate fi întrerupt şi se poate reâncepe cu o nouă secvenţă de antrenare. Se fixează un prag ε şi se derulează algoritmul după următoarea schemă: Pasul : Primul vector X crează prima clasă C ; Y = X Pasul 2: La recepţia fiecărui vector X j se ia o decizie: dacă d(x j,y i ) > ε pentru toate clasele C j care există deja, atunci X j va crea o nouă clasă dacă d(x i,y i ) < ε, X j este afectat clasei care are centroidul cel mai apropiat şi se recalculează poziţia noului centroid. Dacă nu se obţine numărul dorit de vectori în dicţionar, se scade valoarea pragului ε şi se reia algoritmul de la pasul. Cuantizare vectorială prin metoda divizării (splitting) Se porneşte de la un centroid iniţial, care se divizează în două la fiecare iteraţie. Crearea unui dicţionar optim este o problemă neliniară. Pentru a o rezolva trebuie să ţinem seama de două condiţii: : Pentru ca un vector X să fie cuantizat la vectorul Y i, codorul optimal trebuie să aleagă Y i care dă cea mai mică eroare dintre X şiy i. 2: Se alege Y i dacă d(x,y i ) d(x,y j ); j ; j i. Fiecare vector Y i trebuie să minimizeze eroarea D i în clasa C i (minimizarea lui E[d(X,Y i X C i ] relativ la Y i ). Vectorul care satisface relaţia de mai sus este numit centroidul clasei C i. Cuantizare vectorială folosind algoritmul Lloyd Acest algoritm produce un cuantizor care îndeplineşte condiţiile necesare, dar nu şi cele suficiente, pentru optimalitate. În mod curent, cel puţin optimul local este asigurat. Algoritmul, în succesiunea paşilor, este următorul: Pasul : se ia un set de antrenament X cu N vectori de dimensiune b. fie d măsura erorii pătratice medii; se setează indexul iteraţiei m= şi se alege o valoare de convergenţă ε. se selectează un dicţionar iniţial Y ={Y () ; Y () 2 ; ; Y () M }. Pasul 2: (m) se calculează d(x,y ) = (x y ) i j b k= i,k (m) 2 j,k se asociază X i (i=,..,n) cu clasele C (m) ; C 2 (m) ; ; C M (m) după regula: X i este în clasa C j dacă d(x i,y j (m) ) d(x i,y k (m) ); k; k j. Pasul 3: se calcuează noul dicţionar, centroizii fiind media vectorilor care aparţin clasei respective: 27
39 se determină noile clase C j (m+). Pasul 4: se calculează eroarea globală: D Y = ( m + ) j n j N PRELUCRAREA DIGITAL A IMAGINILOR ( m ) x C j M (m+ ) + = j j= (m + ) x C j X (m ) d(x,y ) Dacă D (m+) ε se opreşte algoritmul; dacă nu, se reia de la pasul 2..6 CODAREA HIBRIDĂ ŞI DPCM VECTORIALĂ A IMAGINILOR Tehnicile de codare predictivă descrise în paragrafele anterioare se bazează pe scanarea rastrului şi folosirea unor reguli de predicţie recursive. Dacă imaginea se scanează vectorial (de exemplu, pe coloane), tehnicile DPCM se pot generaliza luând în considerare predictori recursivi. Codarea hibridă este, de fapt, o metodă de implementare a unui codor DPCM vectorial de dimensiuni Nx prin N codoare scalare DPCM. Aceasta se realizează prin combinarea tehnicilor de codare prin transformare şi predictive. Tipic, imaginea se transformă unitar după una dintre dimensiuni, în vederea decorelării pixelilor după acea direcţie. Fiecare coeficient al transformării se codează apoi secvenţial după cealaltă direcţie prin DPCM unidimensional (fig..28): u n () u n (2)... u n (N) Ψ v n () DPCM v n (2) DPCM.... v n (N). DPCM Canal de comunicaţie... Filtru Filtru Filtru v n () v n (2) v n (N) Ψ - u n () u n (2)... u n (N) Fig..28 Metoda de codare hibridă Această tehnică îmbină avantajele simplităţii hardware-ului necesar pentru DPCM cu performanţele codării prin transformare. Complexitatea hard a metodei este aceea a unui codor prin transformare unidimensională şi cel mult N canale DPCM. În practică, numărul canalelor este semnificativ mai mic decât N deoarece multe elemente ale vectorului transformat au alocaţi zero biţi şi, în consecinţă, nu se codează. Un algoritm de codare hibridă este prezentat în cele ce urmează: fie u n, n=,,..., reprezentând Nx coloane ale unei imagini, care se transformă în: v n = ψ u, n =,,2,... Pentru orice k, secvenţa v n (k) poate fi modelată ca: n v (k) = a(k)v (k) + b(k)e (k), k N,n n n n 2 Ee [ ( k) e ( k')] = σ ( k) δ( k k') δ( n n') n n' e 272
40 Parametrii acestui model, a(k) şi b(k), pot fi determinaţi din covarianţele lui v n (k), n=,,..., pentru fiecare k. Ecuaţiile DPCM pentru canalul de ordinul k pot fi scrise astfel: Predictor: v ~ ( k) a( k) v = ( k) (.45) n Intrarea cuantizorului: ~ v ( ) ~ ( ) ( ) n k v n k en k = (.46) bk ( ) Ieşirea cuantizorului: ~ e ( k) n Filtru: v ( k) = v ~ ( k ) + b ( k ) ~ e ( k ) (.47) n n n n La recepţie se realizează pur şi simplu reconstrucţia vectorilor, transformaţi în conformitate cu relaţia (3) şi apoi transformarea inversă ψ -. Teoretic, transformarea ψ ar trebui să fie de tip Karhunen-Loeve; în practică se foloseşte însă o transformare rapidă, de tip cosinusoidal sau sinusoidal. Pentru completitudinea proiectării codorului este necesară specificarea cuantizorului fiecărui canal DPCM. Dacă vom considera rata medie dorită a biţilor B (biţi/pixel), n k numărul de biţi alocaţi pentru canalul DPCM de ordin k şi σ 2 e ( k) eroarea medie patratică a cuantizorului acestui semnal, atunci: N B= nk, nk (.48) N k= Considerând toate canalele DPCM în stare stabilă, distorsiunea medie pătratică la codarea oricărui vector (în cazul unor canale de comunicaţie considerate fără zgomot) este pur şi simplu media distorsiunilor diferitelor canale DPCM: N f( x) D = gk( nk) σ 2 e( k), gk ( x) = (.49) 2 N k = ak ( ) f( x) unde f(x) şi g k (x) sunt funcţiile ratei de distorsiuni ale cuantizorului şi, respectiv, ale canalului DPCM de ordinul k, pentru eroarea de predicţie luată în cazul varianţei unitare. Problema alocării numărului de biţi în cazul codării hibride constă în minimizarea relaţiei (5), ţinând cont de (4). Rezolvarea se poate face folosind algoritmii prezentaţi la teoria codării prin transformări. 273
41 274
42 .7 CODAREA INTERCADRE Televiziunea radiodifuzată, aplicaţiile de tip teleconferinţă şi o serie de imagini medicale sunt recepţionate ca secvenţe de cadre de imagine bidimensionale. Tehnicile de codare intercadre exploatează redundanţa dintre cadrele succesive, scopul fiind codarea diferenţelor dintre ele, diferente care se datorează, în general, mişcării obiectelor în imagine, mişcărilor camerei de luat vederi, zoomingului, ş.a.m.d. Pe lângă metodele de întreţesere a liniilor orizontale şi/sau verticale, prezentate la începutul capitolului referitor la compresia de imagini, o metodă simplă de compresie intercadre constă în subeşantionarea şi repetarea câmpurilor la cadrele întreţesute. Această metodă duce însă la obţinerea unor secvenţe de imagini de slabă calitate. O metodă alternativă este transmisia şi redarea selectivă a cadrelor, caz în care cadrele sunt transmise cu o rată redusă, în conformitate cu un algoritm fixat şi predeterminat de actualizare a datelor. La recepţie, datele neactualizate sunt păstrate (reîmprospătate - refreshed ) din cadrul anterior, fiind preluate din memoria de un cadru. Metoda este utilizabilă mai ales pentru imagini cu detalii în mişcare lentă. Răspunsul sistemului vizual uman este foarte slab în cazul imaginilor care conţin simultan frecvenţe spaţiale şi temporale înalte. Din această cauză, zonele cu modificări rapide dintr-o imagine pot fi reprezentate cu o amplitudine şi o rezoluţie spaţială mai redusă în comparaţie cu zonele staţionare. Acest lucru permite înlocuirea rezoluţiei spaţiale cu rezoluţia temporală şi se foloseşte în scopul obţinerii unor secvenţe de imagini de calitate bună, la o rată de transmisie de 2 2,5 biţi/pixel. O asemenea metodă presupune segmentarea imaginii în zone staţionare şi în mişcare. Segmentarea se realizează prin evaluarea semnalului-diferenţa între două cadre succesive. În zonele staţionare se transmite diferenţa între cadre pentru fiecare al doilea pixel, iar pixelii rămaşi sunt repetaţi din cadrul precedent. În zonele în mişcare se foloseşte o subeşantionare orizontală de 2:, elementele netransmise fiind reconstituite prin interpolare de-a lungul liniilor. Folosind o codare diferenţială intercadre cu 5 biţi/pixel se poate obţine o rată de transmisie de 2,5 biţi/pixel. Cele mai importante distorsiuni pot fi observate, în acest caz, la muchiile ascuţite ce se deplasează în imagine cu viteză moderată. O tehnică interesantă de codare, numită cu înlocuire condiţionată, se bazează pe detecţia şi codarea zonelor în mişcare care se înlocuiesc de la un cadru la altul. Fie u(m,n,i), reprezentând pixelul de coordonate (m,n) în cadrul I. Semnalul-diferenţă intercadre este: (.5) unde u (m,n,i-) este valoarea reprodusă a pixelului de coordonate (m,n) din cadrul I-. În cazul în care e(m,n,i) depăşeşte o valoare de prag η, ea este cuantizată şi codată pentru transmisie. La recepţie, valoarea unui pixel se obţine fie prin repetarea valorii pixelului din cadrul precedent, dacă acesta provine dintr-o zonă staţionară, fie prin înlocuirea cu semnalul-diferenţă decodat, dacă pixelul provine dintr-o zonă în mişcare : u ( mni,, ) + e( mni,, ), daca emni (,, ) > η u ( m, n, i) = (.5) u ( m, n, i ), in rest 274
43 În vederea transmisiei se generează cuvinte de cod reprezentând valorile cuantizate şi adresele lor. Punctele izolate şi obiectele foarte mici din zonele în mişcare sunt ignorate, în scopul obţinerii unei scheme eficiente de codare a adreselor. Pentru a obţine o rată de transmisie stabilă este necesară folosirea unui buffer de mărime rezonabilă şi o strategie de control a bufferului adecvată. În aceste condiţii se poate obţine o rată de transmisie de bit/pixel pentru nivele ale raportului semnal/zgomot mediu de 34 db (39 db în zonele staţionare şi 3 db în zonele în mişcare). Rezultate superioare se pot obţine folosind codarea predictivă adaptivă. Metoda, prezentată în figura.28, se bazează pe adaptarea codării la caracteristicile mişcării din imagine. Pixelii sunt clasificaţi ca aparţinând unei zone staţionare (C S ), în mişcare înceată/moderată (C M ) sau în mişcare rapidă (C R ). Clasificarea se bazează pe un indice de activitate α(m,n,i), care este suma absolută a diferenţelor intercadre dintr-o vecinătate N a pixelilor codaţi anterior (definită la fel ca la codarea DPCM bidimensională), adică: α( m, n,) i = u ( m+ x, n+ y,) i u ( m+ x, n+ y, i ) (.52) ( xy, Ν N = {( o, s ),(, ),(,),(,)} (.53) unde s=2 dacă se foloseşte subeşantionarea 2: şi este unitar în rest. n m Cuantizor Q S e Codor entropic Scaner de rastru Cuantizor Q M Întârziere şi memorare Predictor al frecvenţei de eşantionare Cuantizor Q R Predictori de intensitate Buffer Estimare a mişcarii Fig..28 Codare predictivă adaptivă intercadre O valoare mare a lui α(m,n,i) indică mişcare în vecinătatea pixelului. Valoarea prezisă a pixelului u(m,n,i) este: u u ( m, n, i ), ( m, n) Cs ( m, n, i) = u ( m p, n q, i ), ( m, n) CM s ρu ( m, n, i) + ρ2u ( m, n, i) ρρ2u ( m,n,i), ( m, n) C R (.54) unde ρ şi ρ 2 sunt coeficienţii de corelaţie cu pixelii vecini pe direcţiile m şi n. Valorile p şi q se aleg după estimarea deplasării vecinătăţii N care dă activitatea minimă. Se poate observa că pentru cazul mişcării rapide se foloseşte predictorul bidimensional de la DPCM. Acest lucru se datorează faptului că este foarte dificilă o predicţie temporală 275
44 276 PRELUCRAREA DIGITAL A IMAGINILOR pentru zonele în mişcare rapidă. Numărul nivelelor de cuantizare diferă de la o clasă la alta şi este proporţional cu activitatea. Metoda permite obţinerea unei compresii suplimentare cu un factor de 2 faţă de înlocuirea condiţionată, în condiţiile menţinerii aceleiaşi valori a raportului semnal/zgomot. Codare predictivă cu compensarea mişcării În cazul imaginilor conţinând elemente în mişcare, dacă traiectoria mişcării ar putea fi măsurată s-ar putea coda cadrul iniţial şi informaţia referitoare la traiectoria mişcării. La reproducerea imaginii ar trebui pur şi simplu să deplasăm pixelii de-a lungul traiectoriilor lor. În practică, mişcarea obiectelor dintr-o scenă poate fi aproximată prin deplasarea treptată de la cadru la cadru. Din acest motiv, în codarea cu compensarea mişcării se foloseşte vectorul de deplasare in vederea obţinerii predictorului. Succesul codării depinde de acurateţea, viteza şi imunitatea la perturbaţii a metodei de estimare a mişcării. În cinematografie, iluzia de mişcare este creată adeseori făcând un obiect să apară în poziţii diferite în diferitele cadre ale secvenţei video. Spre exemplu, forma unui automobil nu se modifică semnificativ în cazul mişcării lui pe o direcţie longitudinală într-o imagine staţionară. Dacă luăm două imagini dintr-o secvenţă video şi le divizăm într-o serie de blocuri de imagine având dimensiuni alese în mod adecvat (de exemplu blocuri de 8x8 pixeli), este posibil să determinăm care blocuri reprezintă părţi în mişcare din imagine şi care au rămas statice. Estimarea mişcării constă tocmai în determinarea blocurilor din imagine care au suferit o deplasare de la un cadru la altul, precum şi a direcţiei şi vitezei de deplasare a acestora. Procesul de reconstrucţie a unei imagini, folosind secvenţe de imagine din cadre anterioare, împreună cu informaţii referitoare la mişcare poartă numele de compensare a mişcării. Algoritmii de estimare şi compensare a mişcării sunt, din punct de vedere conceptual, relativ simpli, cu toate că necesită timpi de calcul relativ importanţi. Dacă, de exemplu, zona de imagine reprezentată de un bloc de pixeli suferă o mişcare relativ lentă (mai mică decât lăţimea blocului) şi nu este distorsionată semnificativ datorită mişcării, prin schimbarea formei sau orientării, va exista o destul de bună potrivire între acest bloc şi blocul de pixeli echivalent din imaginea următoare. Prin suprapunerea blocului în diferite poziţii ale noii imagini şi prin calcularea diferenţei matematice între blocuri pentru fiecare poziţie, se poate obţine gradul maxim de potrivire a blocurilor de pixeli, pentru o anumită poziţie a acestuia (caz în care, evident, eroarea matematică determinată are valoarea minimă şi se situează sub un anumit prag de potrivire ). Dacă s-a găsit o soluţie acceptabilă de potrivire, noul bloc poate fi reprezentat ca o deplasare a celui anterior fără să mai fie necesară transmisia lui ca atare. Pentru menţinerea calitătii imaginii se poate transmite un bloc al valorilor erorilor de deplasare calculate, ceea ce permite corectarea blocului reconstruit pe baza informaţiei suplimentare transmise. Deplasarea vectorilor de mişcare se limitează, de obicei, la mărimea blocului de pixeli luat în considerare, si aceasta din două motive: în primul rând, este foarte dificil de luat în considerare o căutare pe arii extinse a poziţiei de potrivire a blocurilor şi, în al doilea rând, ar apărea problema înlocuirii conţinutului imaginii din locul rămas liber prin deplasarea blocului. Folosirea metodelor de estimare şi compensare a mişcării presupune impunerea anumitor condiţii sistemelor de codare/decodare: decodorul trebuie să memoreze imaginea anterioară în intervalul de timp afectat reconstrucţiei imaginii curente, iar
45 codorul va trebui să reconstruiască fiecare imagine după codarea ei, pentru a face o predicţie asupra modului în care aceasta va fi reconstruită de decodor. Acest lucru este necesar deoarece decodorul nu are la dispoziţie nici una dintre imaginile originale pentru reconstruirea blocurilor cu compensarea mişcării. Pentru detecţia potrivirii blocurilor este posibilă folosirea unei multitudini de tehnici. Una dintre cele mai precise este metoda erorii medii pătratice ( root mean square error - RMSE ). Pentru blocuri de 8x8 pixeli, aceasta se poate calcula cu relaţia: RMSE = e ( j, k) 64 j= k= unde e(j,k) reprezintă eroarea între valorile pixelului (j,k) din imaginile adiacente. Algoritmi de estimare a mişcării Dintre metodele cele mai uzuale de estimare a mişcării se pot menţiona următoarele:. Tehnici de căutare a vectorului de deplasare care asigură minimizarea distorsiunilor între un cadru de referinţă şi cadrul curent. Aceste tehnici sunt utile mai ales în cazul secvenţelor de imagini în care deplasarea este constantă pentru blocuri întregi de pixeli. Pentru estimarea mişcării intercadre, căutarea se face de obicei pe ferestre de 5x5 pixeli. 2. Estimarea recursivă a mişcării: metoda foloseşte gradientul funcţiei de eroare a deplasării, cu ajutorul căruia se determină valorile estimate ale deplasării pentru fiecare pixel din imagine. 3. Tehnicile diferenţiale se bazează pe faptul că valoarea nivelului de gri a pixelului rămâne constantă de-a lungul traiectoriei de mişcare, adică: u(( x( t), y( t), t) = const. (.55) unde x(t), y(t) este traiectoria de mişcare. Diferenţiind în funcţie de timp: u u u + v + v2 =, (x, y) R (.56) t x y xt unde v = () yt, v 2 = () sunt cele două componente ale vitezei iar R este mulţimea t t pixelilor în mişcare, având aceeaşi traiectorie. Vectorul de deplasare d poate fi estimat ca: d = t + τ vdt v τ t (.57) cu condiţia ca viteza să rămână constantă de-a lungul unui cadru (τ - intervalul de timp intercadre). Vectorul viteză poate fi estimat din datele obţinute anterior, după segmentarea în zone staţionare şi în mişcare, prin minimizarea funcţiei: u u u J = + v + v2 dxdy t x y R 2 (.58) După estimarea mişcării, compresia se obţine prin ignorarea anumitor cadre de imagine la transmisie şi reproducerea cadrelor lipsă la recepţie, fie prin repetarea cadrelor, fie prin interpolarea de-a lungul direcţiei de mişcare. De exemplu, dacă se 277
46 ignoră cadrele de ordin par, u(m,n,2i), I=,2,..., prin folosirea compensării mişcării se obţine: prin repetarea cadrelor: u (m,n,2i) = u (m-p,n-q,2i-) (.59) prin interpolarea cadrelor: u (m,n,2i)=/2[m-p,n-q,2i-)+ u (m-p,nq,2i+)] (.6) unde (p,q) şi (p,q ) sunt vectorii de deplasare relativ la cadrul precedent şi, respectiv, următor. Fără compensarea mişcării, am fixa p=q=p =q =. Îmbunătăţirea obţinută prin această metodă este, grosso-modo, de db. Codare hibridă intercadre Codarea hibridă este utilă în special pentru compresia intercadre a imaginilor în mişcare. Un bloc bidimensional MxN din cadrul I, notat cu u i, este mai întâi transformat, obţinându-se blocul v i. Pentru fiecare (k,l), secvenţa v i (k,l), i=,2,..., se consideră un proces aleator unidimensional şi se codează independent, folosind metoda DPCM cea mai potrivită. La recepţie se reconstruieşte v i(k,l) şi se realizează transformarea bidimensională inversă. O metodă uzuală foloseşte transformarea cosinus discretă. În codorul hibrid cu compensarea mişcării, eroarea de predicţie DPCM devine: e ( k, l) = v ( k, l) v ~ α ( k, l ) (.6) i i i unde ~ vi ( k, l) se obţine prin transformarea secvenţei ~ ui ( m p, n q) la care s-a aplicat compensarea mişcării. Dacă α (coeficientul de predicţie) este constant pentru fiecare canal (k,l), eroarea ei ( k, l)va fi aceeaşi ca şi în cazul transformării ui( m, n) αui ( m p, n q). Schema bloc a unui codor hibrid intercadre cu compensarea mişcării este prezentată în figura.29. u i (m,n) + 2-D - + DCT e e Cuantizor Transmisie Memorie de cadru α Estimare a mişcării u i- (m-p,n-q) vector de deplasare 2D DCT Memorie de cadru Transm. bloc Transmisie (p,q) Fig..29 Codor hibrid intercadre cu compensarea mişcării Rezultatele obţinute folosind metodele adaptive hibride de codare cu compensarea mişcării sunt mai bune decât cele obţinute cu codarea predictivă adaptivă sau cu codarea prin transformări tridimensionale (paragraful următor). Trebuie menţionată, însă, necesitatea efectuării a două transformări bidimensionale. Codarea prin transformări tridimensionale 278
47 În multe dintre aplicaţii (imagistică multispectrală, video, imagistică medicală, ş.a.m.d.) se lucrează cu date tridimensionale (sau având chiar mai multe dimensiuni). Schemele de codare prin transformare în vederea compresiei acestor imagini presupun extinderea teoriei codării prin transformări la cazul tridimensional. O transformare separabilă tridimensională a unei secvenţe MxNxQ, u(m,n,q), se defineşte ca: M N Q vkl (,, j) = umnq (,, ) a ( km, ) a ( kn, ) a ( jq, ) m= n= q= M N Q (.62) unde (k,m) M-, (l,n) N-, (j,i) I- şi Şa M (k,m)} sunt elementele unei matrici MxM unitare, ş.a.m.d. Coeficienţii transformării, daţi de relaţia (8), formează matricile A M, A N, A Q şi sunt necesare M N Q log 2 MNQ operaţii pentru calculul lor, în cazul utilizării unor transformări rapide. Capacitatea de memorie necesară este M N Q. La fel ca în cazul transformărilor bidimensionale, în practică se partiţionează datele în blocuri de dimensiuni mici (6x6x6) şi se procesează fiecare bloc în mod independent. Algoritmul de codare este acelaşi, doar că se folosesc variabile cu trei indici..8 CODAREA IMAGINILOR BITONALE (BINARE) Memorarea şi transmisia imaginilor grafice şi bitonale (desene, scrisoari, ziare, hărţi şi alte documente) este necesară din ce în ce mai mult, mai ales având în vedere dezvoltarea reţelelor de calculatoare şi de comunicaţii. Produse comerciale pentru transmiterea de documente pe linii telefonice sau de date sunt deja disponibile pe piaţă. CCITT ("Comite Consultatif International de Telephonie et Telegraphie") a recomandat un set de 8 documente grafice pentru compararea şi evaluarea diferiţilor algoritmi de codare a imaginilor binare. Standardele CCITT prevăd rate de eşantionare pe direcţie verticală de 3,85 linii/mm la rezoluţie normală şi 7,7 linii/mm la rezoluţie ridicată. Rata de eşantionare standard pe orizontală este de 728 pixeli/linie, ceea ce corespunde la 7,7 linii/mm sau 2 ppi ("points per inch"). Pentru pagini de ziar şi alte documente care conţin atât texte cât şi imagini bitonale (în tehnica halftoning), ratele de eşantionare folosite sunt de 4 ppi. În consecinţă, pentru o pagină A 4, folosind rata de eşantionare de 2 ppi x lpi sunt necesari,87 6 biţi. Transmisia acestor informaţii pe linia telefonică (48 biţi/sec) necesită peste 6 minute. Compresia cu o rată de 5 reduce timpul de transmisie la aproximativ,3 minute. Algoritmii de compresie ai imaginilor binare exploatează faptul că majoritatea pixelilor sunt albi iar pixelii negri apar cu o anumită regularitate, manifestată în forma caracterelor, simbolurilor sau liniilor de interconexiune. Pentru codare se folosesc următoarele trei teorii: (a) codarea doar a punctelor de tranziţie între negru şi alb, (b) netransmiterea pixelilor albi şi (c) recunoaşterea formelor. Tehnicile de compresie a datelor binare bazate pe aceste teorii se grupează astfel: eliminarea blocurilor de alb: D, 2D, arbori binari RLC: de lungime fixă, Huffman, MHC, THC, B tehnici de adresare relativă: PDQ, RAC, READ codare predictivă alte metode: recunoaştere de forme, urmărirea contururilor, halftoning Codarea RLC 279
48 În cazul codării RLC, după cum s-a menţionat deja, se codează cursele de alb şi de negru, de-a lungul liniilor de scanare. Alternarea curselor de alb () şi negru () face inutilă codarea informaţiei de culoare. Prima cursă este întotdeauna cursă de alb, de lungime dacă este necesar (fig..3): 28 Fig..3 Codare RLC şi cu eliminarea blocurilor de alb Şirul (a) reprezintă codul cu eliminarea blocurilor de alb, cu N=4, şirul (b) reprezintă datele ce urmează a fi codate, (c) reprezintă codul RLC iar (d) codul RLC de lungime fixă (cursele se codează cu cuvinte având o lungime fixă de m biţi, fiecare reprezentând un bloc având lungimea maximă a cursei M- (M=2 m, unde M se poate optimiza pentru maximizarea compresiei). O metodă mult mai eficientă de codare este codarea Huffman. Pentru evitarea unei tabele de coduri de dimensiuni mari se folosesc variante trunchiate sau modificate ale codării. Codul Huffman trunchiat foloseşte cuvinte de cod separate pentru cursele de alb şi de negru de lungimi maxime L W şi, respectiv, L B. Valorile tipice ale acestor curse, determinate experimental, sunt L W =47, L B =5. Cursele mai lungi, cu probabilităţi de apariţie mai mici, se codează cu cuvinte de lungime fixă, ce constau dintr-un cod prefix şi un cod binar de biţi reprezentând lungimea cursei. Codul Huffman modificat, recomandat de CCITT drept cod unidimensional standard pentru transmisia prin fax, foloseşte L W =L B =63. Cursele mai mici decât 64 se codează Huffman, obţinându-se codul terminator. Cursele rămase sunt codate prin două cuvinte de cod, constând dintr-un cod make-up şi un cod terminator. Tabelul.9 prezintă codurile standardului CCITT. Se prezintă, de asemenea, codurile de terminare a liniilor (EOL - end of line) precum şi tabelul codurilor extinse pentru lărgimi mai mari ale paginilor (până la formatul A 3 ) necesitând până la 256 pixeli/linie. Alte tehnici de codare RLC se bazează pe algoritmi având ca scop simplificarea codării sau decodării. sunt de remarcat codurile A N şi B N.Codurile A N (numite şi coduri L N ) sunt coduri multiple de lungime fixă, care se caracterizează prin faptul că sunt aproape optimale pentru curse având distribuţie exponenţială. Ele aparţin clasei de coduri liniare a căror lungime creşte aproximativ liniar cu numărul de mesaje. Considerând l k, k=,2,3,..., lungimile curselor, codul A N pentru un bloc de mărime N se obţine scriind k=q(2 N -)+r, unde r 2 N - iar q este un număr întreg şi pozitiv. Cuvântul de cod pentru l k are (q+)n biţi, dintre care primii qn biţi sunt, iar ultimii N biţi sunt reprezentarea binară a lui r. De exemplu, dacă N=2, codul A 2 pentru l 8 (8=2x3+2) este. Pentru o distribuţie geometrică având media µ, numărul optim N este numărul întreg cel mai apropiat de (+log 2 µ). Tabelul.9 Cod Huffman modificat pentru codare RLC unidimensionalş Tabel de cod Huffman modificat Cuvinte de cod terminator Cuvinte de cod terminator
49 Lung.cursei Curse de alb Curse de negru Lung.cursei Curse de alb Curse de negru Tabel de cod Huffman modificat Cuvinte de cod de ajustare Lung.cursei Curse de alb Curse de negru Lung.cursei Curse de alb Curse de negru EOL Tabel de cod Huffman modificat Lungime cursă Cuvinte de cod (Negru şi alb) de ajustare
50 Rezultatele experimentale arată că lungimile mari ale curselor apar mai des decât probabilitatea de apariţie dată de o distribuţie exponenţială. De aceea este recomandată folosirea unui model de distribuţie de forma: c Pl () =, α >, c = const. (.63) α l care scade mai puţin rapid cu l, decât în cazul distribuţiei exponenţiale. Codurile B N (numite şi coduri H N ) sunt, de asemenea, coduri multiple de lungime fixă. Lungimea cuvintelor de cod la B N scade aproximativ logaritmic cu N. Lungimea fixă a blocului în acest caz este de N+ biţi. Ea se obţine înşirând toate cuvintele de cod posibile de N biţi, urmate de cele de 2N biţi, 3N biţi, ş.a.m.d.. După fiecare bloc de N biţi se inserează un bit adiţional (, în afara bitului inserat după ultimul bloc, caz în care acesta este ). Tabelul. prezintă codul B folosit în codarea RLC. Tabelul. Codul B (biţii inseraţi sunt subliniaţi) Lungimea cursei Cuvinte de kn biţi Cod B : : : Eliminarea blocurilor de alb Eliminarea blocurilor de alb (WBS - white block skipping) reprezintă un algoritm foarte simplu, dar foarte eficient. Fiecare linie se divide în blocuri de N pixeli; dacă blocul conţine doar pixeli de alb, se codează cu. Astfel, cuvântul de cod având (N+) biţi (primul dintre aceştia fiind ) este urmat de codarea binară a blocului (fig..3 a). Rata de compresie la transmisie pentru această metodă este: R N ( pn)( N + ) + pn = = ( pn + ) biti / pixel (.64) N N unde p N este probabilitatea ca blocul să conţină doar pixeli de alb. Din relaţie se observă că R N depinde de dimensiunea N a blocului. Pentru Nâ s-au obţinut rezultate optime în cazul unui mare număr de tipuri de imagini. Este de remarcat, de asemenea, că WBS este o formă simplificată a codului Huffman trunchiat, şi, de aceea, dă rezultate mai bune pentru imagini conţinând zone întinse de alb. O codare WBS adaptivă îmbunătăţeşte semnificativ performanţele dacă se codează toate liniile de scanare albe separat (se alocă un tuturor liniilor cu conţinut de alb). Dacă o linie conţine cel puţin un pixel negru un bit de va precede codul WBS al liniei respective. 282
51 Metoda WBS se poate extinde şi la cazul bidimensional, considerând blocuri de MxN pixeli. Un bloc conţinând doar pixeli albi se codează cu, iar celelalte blocuri se codează cu (MN+) biţi, primul bit fiind urmat de codarea binară a blocului. O metodă WBS adaptivă, folosind blocuri de mărime variabilă, se implementează astfel: dacă primul bloc conţine doar pixeli albi, se codează cu. Altfel, se inserează un prefix şi blocul se subdivide în câteva blocuri mai mici, fiecare dintre ele fiind tratat similar. Procesul continuă până se ajunge la blocul de dimensiune minimă, codat cu metoda WBS. Se observă că metoda este similară cu metoda arborilor binari, prezentată în capitolul de analiză a imaginilor. Cuantizarea diferenţială cu predicţie Cuantizarea diferenţială cu predicţie (PDQ - prediction differential quantization) reprezintă o extensie a codării RLC, care exploatează corelaţia dintre liniile succesive de scanare. Metoda presupune, în principiu, codarea informaţiei de suprapunere a curselor de negru din linii succesive. Diferenţele şi ale curselor de negru de la linie la linie se codează împreună cu anumite mesaje: - început nou (NS - new start ) atunci când începe cursa de negru, fuziune (M- merge ) atunci când nu mai există suprapuneri ale cursei respective. Un început nou se codează cu un cuvânt de cod special, pe când o fuziune se reprezintă prin codarea lungimilor de curse r W şi r b, ca în figura.3: Codarea prin adresare relativă Fig..3 Metoda PDQ: =r 2 -r Codarea prin adresare relativă (RAC - relative address coding) foloseşte acelaşi principiu ca şi metoda PDQ şi calculează diferenţele de lungime ale curselor, marcând fie ultima tranziţie de pe aceeaşi linie, fie cea mai apropiată tranziţie de pe linia precedentă. De exemplu, pixelul de tranziţie Q (fig..32) se codează prin cea mai scurtă dintre distanţele PQ sau Q Q: Fig..32 Metoda RAC: PQâ, QQ â -, distanţa RACâ - (P este elementul de tranziţie precedent de pe linia curentă iar Q este cel mai apropiat element de tranziţie aflat la dreapta lui P pe linia precedentă, a cărui direcţie de tranziţie este aceeaşi ca şi a lui Q). Dacă P nu există, el este considerat ca fiind pixelul imaginar aflat la dreapta ultimului pixel al liniei precedente. Distanţa Q Q se codează ca (+N), dacă Q este la N (N ) pixeli spre stânga, sau ca (-N) dacă Q este la N(N ) pixeli spre dreapta faţă de q pe linia precedentă. Distanţa PQ se codează ca N(N ) dacă P este la N 283
52 pixeli depărtare. Distanţele RAC se codează similar cu codul B, exceptând alegerea liniei de referinţă şi a distanţelor foarte mici (tabelul.). Codurile de forma x...x sunt reprezentarea binară a lui N. Tabelul. Adrese relative de cod RAC Distanta Codul N F(N) xx xxxx xxxxxx N(N>) F(N) xxxxxxxx +N(N>2) F(N) xxxxxxxxxx - N(N>2) F(N) xxxxxxxxxxxx Codarea READ Algoritmul de codare READ (modified Relative Element Address Designate) este recomandat de CCITT pentru codarea bidimensională a documentelor. El reprezintă, de fapt, o variantă modificată a codului RAC sau a altor coduri similare. În figura.33 se prezintă această metodă de codare. Se defineşte a elementul de tranziţie de referinţă, a cărui poziţie este definită de modul de codare anterior. Iniţial a se ia ca fiind un pixel alb imaginar de tranziţie situat la stânga primului pixel de pe linia codată. Următoarea pereche de pixeli de tranziţie la dreapta lui a se notează cu a şi a 2 pe linia codată şi b respectiv b 2 pe linia de referinţă, şi au strălucire inversă decât a. Oricare dintre elementele a, a 2, b, b 2 nedetectat pe o anumită linie de codare, este luat ca pixel imaginar la dreapta ultimului element de pe linia respectivă. Pixelul a reprezintă următorul element de tranziţie ce va fi codat. Algoritmul prezintă trei modalităţi de codare, după cum urmează: Modul de codare prin trecere (pass mode) corespunde poziţiei lui b 2 la stânga lui a. Acest mod identifică cursele de alb sau de negru de pe linia de referinţă, care nu se suprapun cu cursele corespunzătoare de pe linia de codare. Elementul de referinţă a este plasat dedesubtul lui b 2, în vederea codării cu unul din modurile următoare. Modul de codare vertical (vertical mode): a se codează relativ la b, prin distanţa a b având valori,,2,3 la dreapta sau la stânga lui b. Aceste valori sunt reprezentate prin v(), v D (x), v S (x), xâ,,2,3 (tabelul.2). În acest mod, a este considerat ca fiind a pentru codările ulterioare. a. Modul trecere 284 b. Modul vertical si orizontal
53 Fig..33 Codarea READ modificată PRELUCRAREA DIGITAL A IMAGINILOR Modul de codare orizontal (horizontal mode): dacă ab > 3 nu se foloseşte modul de codare vertical, iar cursele a a şi a a 2 se codează conform codurilor Huffman (tabelul.). După codare, noua poziţie a lui a este considerată la a 2. Dacă pentru codarea iniţială este necesară această modalitate de codare, se alege mai degrabă cursa a a - decât a a. În acest mod, dacă primul element este negru, se codează cursa de zero. Tabel.2 Codul READ modificat, recomandat de CCITT Mod de codare Elemente codate Notaţie Cuvânt de cod Trecere (pass) b b 2 T(P) Orizontal a a, a a 2 O(H) +M(a a )+M(a a 2 ) Vertical a sub b a b = a la dreapta a b = lui b a b =2 a b =3 a la stinga a b = lui b a b =2 a b =3 Extensii 2D Extensii D Cuvânt de cod pentru sfârşit de linie (EOL) Codare D a liniei următ. Codare 2D a liniei următ. V() V D () V D (2) V D (3) V S () V S (2) V S (3) xxx xxx EOL+ EOL+ M(a a ) şi M(a a 2 ) sunt cuvinte de cod extrase din tabelul codului Huffman modificat. Alocarea biţilor pentru xxx este pentru modul necomprimat. Procedura de codare de-a lungul unei linii continuă până când se detectează elementul de tranziţie imaginar aflat la dreapta ultimului pixel al liniei; se codează astfel un număr de 728 pixeli pe fiecare linie. Figura.34 prezintă diagrama algoritmului de codare. K F are semnificaţia regulii după care, după o linie codată unidimensional, numărul maxim de linii codate bidimensional este K-. CCITT recomandă valori de 2 şi 4 pentru K F, în cazul documentelor (imaginilor binare) cu rezoluţie normală şi respectiv înaltă. Factorul K F are rolul de a minimiza efectul erorilor canalului asupra imaginilor decodate. Cuvintele de cod extinse, unidimensionale şi bidimensionale, cu xxx egal cu, se folosesc pentru modul de lucru necomprimat al codorului, care este util când lungimile curselor sunt foarte mici sau aleatoare. Este cazul, de exemplu, al zonelor cu imagine halftoning. 285
54 Start k= NU k=? DA Codare uni - dimensionala K=K factor Set a = Detect. a Detect.b,b 2 b 2 <a? NU NU a b <3? Detect.a 2 a = a a =a a - Codare prin trecere Codare verticala Codare orizontala Set a =b 2 Set.a =a Set.a =a 2 NU a=729? K=K- NU Sf. de pag.? Sfirsit Fig..34 Algoritmul de codare modificat READ, recomandat de CCITT Codarea predictivă a imaginilor bitonale Principiile codării predictive pot fi aplicate cu uşurinţă pentru imagini binare. Diferenţa esenţială constă în faptul că eroarea de predicţie este tot o variabilă binară şi deci, cuantizorul nu mai este necesar. Dacă imaginea originală este redundantă, secvenţa erorilor de predicţie va avea curse lungi de sau. Considerând imaginea umn (, ), fie u(m,n) valoarea ei prezisă, determinată pe baza valorii pixelilor dintr-o fereastră de predicţie W conţinând o parte din pixelii codaţi anterior. Eroarea de predicţie se defineşte, în acest caz, astfel:, u(m,n) u(m,n) e(m,n) = (.65), u(m,n) = u(m,n) sau 286
55 e(m,n) = u(m,n) (u(m,n)) PRELUCRAREA DIGITAL A IMAGINILOR Secvenţa e(m,n) poate fi codată prin metode entropice sau prin RLC. Imaginea se reconstituie pe baza erorii e(m,n) ca: u(m,n) = u(m,n) e(m,n) (.66) Metoda prezentată este fără erori. Un exemplu de fereastră de predicţie folosită uzual este dat în figura.35. w x4 x3 x2 x x m n sk=x4x3x2x k Erori de predictie Lungimea curselor Starea S Starea S Starea S Fig..35 Codare predictivă cu metoda TUH Un criteriu acceptabil de predicţie este minimizarea probabilităţii erorii de predicţie. Pentru o fereastră W conţinând N elemente vom avea 2 N stări diferite. Considerând S K (k=,2,...,2 N ) ca fiind reprezentarea stării K a ferestrei W, având probabilitatea p K, definim: q = Prob[u(m,n) = / s ] (.67) k Regula de predicţie optimală (cea cu probabilitate minimă pentru eroarea de predicţie) este:, dac` qk,5 u(m,n) = (.68), dac` qk <,5 Dacă secvenţa aleatoare u(m,n) se consideră staţionară, probabilităţile vor rămâne constante pentru fiecare (m,n) şi, deci, regula de predicţie rămâne aceeaşi. În practică este necesară o alegere adecvată a lui N, ca un compromis între valoarea probabilităţii erorii de predicţie şi complexitatea predictorului. Experimental s-a constatat că folosirea unui număr de 4 până la 7 pixeli în fereastra de predicţie duce la cele mai bune rezultate. În conformitate cu regula de predicţie (23), eroarea de predicţie minimizată va fi: 2N pm = pk min( qk, qk) k= k (.69) Dacă secvenţa aleatoare este markoviană faţă de fereastra W, lungimile curselor pentru fiecare stare S k vor fi independente şi pot fi codate cu un cod Huffman trunchiat. Metoda, prezentată în fig..35, se numeşte TUH (Technical University of Hannover). Lungimile l k ale curselor stărilor S k au semnificaţia faptului că eroarea de predicţie apare după ce starea S k s-a repetat de l k ori. În practică, deoarece majoritatea imaginilor au un caracter nestaţionar, este utilă folosirea unor predictori adaptivi, cum ar fi cei bazaţi pe recunoaşterea de forme. 287
56 288 PRELUCRAREA DIGITAL A IMAGINILOR O comparaţie a performanţelor obţinute folosind diferite tipuri de algoritmi, în termenii ratei de compresie obţinute, arată că aceasta este independentă de rezoluţia verticală, în cazul algoritmilor unidimensionali. Pentru rezoluţia normală, folosirea codurilor bidimensionale îmbunătăţeşte compresia cu -3% faţă de codul Huffman modificat. La rezoluţie ridicată, îmbunătăţirea este de 4-6% şi este suficient de semnificativă pentru a impune folosirea acestora. Între codurile bidimensionale, codul predictiv TUH este superior celorlalte (RAC, READ), mai ales pentru imagini de tip text, dar ultimele sunt mult mai uşor de implementat. Codul READ, recomandat de CCITT este, într-o oarecare măsură, o soluţie optimală. Pentru obţinerea unor performanţe superioare din punctul de vedere al compresiei este utilă folosirea unor algoritmi care se bazează pe cunoştere (de exemplu, cunoaşterea anumitor fonturi, caractere, grafică, linii, etc). În cazul unui text editat cu caractere ASCII, fiecare caracter poate fi codat cu 7 biţi, iar tehnica de codare ar necesita un algoritm de recunoaştere a acestora. Asemănător, liniile pot fi codate eficient folosind algoritmi de urmărire a conturului (coduri în lanţ, segmente de linie, funcţii spline). Algoritmii prezentaţi în acest capitol nu pot fi aplicaţi ca atare pentru codarea imaginilor halftoning deoarece zonele de imagine sunt modulate de către zgomotul pseudoaleator şi apoi segmentate. În aceste cazuri se folosesc metode de preprocesare şi segmentare speciale pentru codarea eficientă a imaginilor..9 CODAREA IMAGINILOR COLOR ŞI MULTISPECTRALE Tehnicile de compresie a imaginilor prezentate anterior se pot aplica, prin generalizare, la imagini color şi multispectrale, conform fig..36. Fiecare pixel este reprezentat de un vector px (de exemplu, în cazul imaginilor color, intrarea este un vector 3x conţinând componentele R,G,B). Acest vector este transformat într-un alt sistem de coordonate, unde fiecare componenta poate fi codată independent: R G B Transformare de coordonate T T 2 T 3 Codare independentă Codare independentă Codare independentă Transformare invers[ de coordonate Fig..36 Codarea pe componente a imaginilor color La codarea imaginilor color trebuie să se ţină seama de particularităţile semnalelor de luminanţă (Y) şi crominanţă (U şi V în sistemul PAL): semnalul de luminanţă are o bandă de frecvenţă mult mai mare, iar semnalele de crominanţă se eşantionează cu frecvenţe mult mai mici (tipic, /3 din frecvenţa de eşantionare a semnalului de luminanţă). O altă metodă de codare a imaginilor color constă în procesarea semnalului videocomplex color. Metoda este utilă în aplicaţii de transmisie a imaginilor, acolo unde se doreşte prelucrarea unui singur semnal. Datorită însă diferenţelor de lărgime de bandă între componentele de luminanţă şi crominanţă din semnal, metodele de codare a imaginilor monocrome prezentate anterior nu se pot aplica direct, în condiţii de eficienţă a codării. R' G' B'
57 289
58 De obicei, semnalul videocomplex color se eşantionează cu 3 f sp (cel mai mic multiplu întreg al frecvenţei subpurtătoare de crominanţă, de valoare mai mare decât frecvenţa Nyquist) sau cu 4 f sp, iar proiectarea predictorilor (în cazul codării DPCM) sau mărimea blocurilor (în cazul codării prin transformări) ţine cont de fazele relative ale pixelilor. De exemplu, în cazul eşantionării cu 3 f sp, eşantioanele adiacente ale subpurtătoarei au defazaje de 2, iar în cazul eşantionării cu 4 f sp, diferenţa de fază este de 9. Ratele de transmisie a biţilor ce se pot obţine prin codarea pe componente ajung, pentru semnalele de crominanţă, la,5 biţi/pixel (codare prin transformare adaptivă) sau bit/pixel (codare DPCM). Datorită flexibilităţii mai mari de implementare a codoarelor, metodele de codare pe componente dau rezultate mai bune decât codarea SVCC şi se presupune că se vor impune, mai ales în condiţiile dezvoltării televiziunii digitale. Imaginile multispectrale se codează, în general, prin transformarea temporală KL a datelor de intrare, în vederea obţinerii componentelor principale. n continuare, fiecare componentă se codează cu ajutorul unui codor bidimensional. Alte metode de codare folosesc tehnici mai avansate cum ar fi folosirea undişoarelor (wavelets) sau teoriei fractalilor.. STANDARDE DE COMPRESIE A IMAGINILOR CCITT şi ISO colaborează pentru dezvoltarea celui mai popular standard de compresie standardul JPEG (şi anume compresia cadrelor). Standardul JPEG defineşte trei sisteme diferite de codare: () un sistem de codare de bază cu pierderi, care este bazat pe transformata DCT şi este adecvat pentru o gamă largă de aplicaţii; (2) un sistem de codare extinsă pentru aplicaţiile de precizie înaltă sau reconstrucţie progresivă; şi (3) un sistem de codare cu pierderi mai mici pentru compresia reversibilă. Pentru a fi compatibil JPEG, un produs sau un sistem trebuie să includă suportul pentru sistemul de bază. Nu se specifică un format anume, o rezoluţie spaţială sau sau un model spaţial color. Tabelul.2 Categoriile de coeficienţi JPEG Domeniu, -, -3,-2, 2,3-7,...,-4, 4,...,7-5,...,-8, 8,...,5-3,...,-6, 6,...,3-63,...,-32, 32,...,63-27,...,-64, 64,...,27-255,...,-28, 28,...,255-5,...,-256, 256,...,5-23,...,-52, 52,...,23-247,...,-24, 24,..., ,...,-248, 248,...,495-89,...,-496, 496,..., ,...,-892, 892,..., ,...,-6384, 6384,...,32767 Categoria diferenţelor DC A B C D E F Categoria diferenţelor AC N/A A B C D E N/A 289
59 În sistemul de bază, deseori numit sistem de bază secvenţial, intrarea şi ieşirea este limitată la 8 biţi, având în vedere că valorile cuantizate ale DCT sunt restricţionate la biţi. Compresia însăşi este realizată în trei paşi: calcularea DCT, cuantizarea şi aplicarea codării variabile RLC. Imaginea este împărţită mai întâi în blocuri de 8x8 pixeli, blocuri care sunt procesate de la stânga la dreapta şi de sus în jos. Cei 64 de pixeli ai fiecărui bloc de 8x8 au nivelul deplasat prin scăderea valorii 2 n-, unde 2 n este numărul maxim de nivele de gri. În continuare se calculează transformata cosinus bidimensională îi se reordonează coeficienţii, pentru a forma o secvenţă unidimensională de coeficienţi cuantizaţi. Deoarece tabloul de reordonare unidimensional generat prin parcurgerea în zigzag este realizat prin mărirea frecvenţei spaţiale, codarea JPEG prezintă avantajul unui lung şir de zerouri obţinut în urma reordonării. În particular, coeficienţii de curent alternativ (a.c) nenuli sunt codaţi folosind codarea variabilă, care defineîte valoarea coeficienţilor îi numărul de zerouri care le precede. Coeficienţii de curent continuu (c.c) sunt codaţi diferit faţă de coeficienţii de c.c. din blocul precedent. Tabelele.2,.3,.4 prezintă codurile Huffman JPEG pentru luminanţă. Standardul JPEG recomandă tabelul de cuantizare a luminanţei din fig..37. Deşi atât tabelul de codare cât şi tabelul de cuantizare sunt specifice pentru procesarea luminanţei şi crominanţei, utilizatorul este liber să-şi realizeze propriile tabele, care pot fi adaptate la caracteristicele imaginii care urmează să fie comprimată Fig..37 Matrice de Tabelul.3 Codul pentru coeficienţii DC Categoria Codul de bază Lungimea Categoria Codul de bază Lungimea A B
60 Spre exemplu, dacă luăm în considerare procedeul de compresie şi refacere a unui bloc de imagine de 8x8 pixeli utilizând standardul da bază JPEG: Imaginea originală conţine 256 (sau 2 8 ) nivele de gri, deci procesul de codare începe prin deplasarea nivelelor de gri ale blocului original la -28 sau -2 7 nivele de gri. Rezultatul deplasării este: care prin transformarea directă DCT pentru N=8 duce la: Dacă standardul JPEG recomandă un tablou normalizat se foloseşte tabloul din fig..37 pentru cuantizarea tabloului de transformare, astfel că prin scalare şi trunchiere coeficienţii sunt:
61 unde coeficientul de c.c. este calculat prin: T(,) round T(,) 45 = round 26 Z(,) = 6 = Trebuie notat faptul că procesul de transformare şi normalizare are ca efect obţinerea unui număr mare de coeficienţi de valoare zero. Când coeficienţii sunt reordonaţi folosind metoda de ordonare zig-zag, rezultatul secvenţei unidimensionale de coeficienţi este: [ EOB] unde simbolul EOB reprezintă condiţia de sfârşit de bloc (end of block). Există un cuvânt de cod special (tab..4), utilizat pentru a identifica care este ultimul coeficient diferit de zero din blocul curent. Tabelul.4 Codul pentru coeficienţii AC Secvenţa / Categori e / / /2 /3 /4 /5 /6 /7 /8 /9 /A / /2 /3 /4 /5 /6 /7 /8 /9 /A 2/ 2/2 2/3 2/4 2/5 2/6 2/7 2/8 2/9 2/A Codul de bază (=EOB) Lungim ea Secvenţa / Categori e 8/ 8/2 8/3 8/4 8/5 8/6 8/7 8/8 8/9 8/A 9/ 9/2 9/3 9/4 9/5 9/6 9/7 9/8 9/9 9/A A/ A/2 A/3 A/4 A/5 A/6 A/7 A/8 A/9 A/A B/ Codul de bază Lungime
62 293 Secvenţa / Categori e Codul de bază Lungim ea Secvenţa / Categori e Codul de bază Lungime 3/ 3/2 3/3 3/4 3/5 3/6 3/7 3/8 3/9 3/A 4/ 4/2 4/3 4/4 4/5 4/6 4/7 4/8 4/9 4/A 5/ 5/2 5/3 5/4 5/5 5/6 5/7 5/8 5/9 5/A 6/ 6/2 6/3 6/4 6/5 6/6 6/7 6/8 6/9 6/A 7/ 7/2 7/3 7/4 7/5 7/6 7/ B/2 B/3 B/4 B/5 B/6 B/7 B/8 B/9 B/A C/ C/2 C/3 C/4 C/5 C/6 C/7 C/8 C/9 C/A D/ D/2 D/3 D/4 D/5 D/6 D/7 D/8 D/9 D/A E/ E/2 E/3 E/4 E/5 E/6 E/7 E/8 E/9 E/A F/ F/ F/2 F/3 F/4 F/5 F/6 F/
63 294 Secvenţa / Categori e Codul de bază Lungim ea Secvenţa / Categori e Codul de bază Lungime 7/8 7/9 7/A F/8 F/9 F/A
64 Secvenţa / Categori e Codul de bază Lungim ea Secvenţa / Categori e Codul de bază Lungime În realizarea codării JPEG, pentru reordonarea secvenţei de coeficienţi se începe prin calculul diferenţei dintre coeficienţii de c.c. aferenţi cadrului curent şi cei din cadrul anterior codat. Presupunând coeficientul de c.c. al blocului precedent având valoarea (-7), vom avea diferenţa [-26-(-7)] sau -9, deci categoria diferenţei de coeficienţi de c.c.va fi 4 (vezi tabelul.3). În concordanţă cu tabelul.3, codul potrivit pentru categoria 4 a diferenţelor DC este tocmai cuvântul (un cod de trei biţi). Restul de patru biţi (lungimea totală a cuvântului de cod este 7) trebuie generaţi din LSB a valorii diferenţei coeficienţilor DC. În general, pentru o categorie K a diferenţei coeficienţilor DC, trebuie adăugaţi cei mai puţini semnificativi K biţi (K LSBs) din diferenţa pozitivă sau K LSBs din diferenţa negativă minus. Pentru cazul dat, valoarea diferenţei este -9, deci valoarea celor patru biţi care se adaugă la cuvântul de cod este ()- adică, deci cuvântul complet de cod va fi. Coeficienţii AC nenuli obţinuţi în urma reordonării sunt codaţi în mod asemănător folosind tabelele.2,.4. Principala diferenţă este că în acest caz cuvintele de cod depind de numărul de coeficienţi nuli care preced coeficientul nenul ce urmează a fi codat (vezi coloana SECVENŢĂ/CATEGORIE din tabelul.4). Astfel, primul coeficient AC diferit de zero (-3) este codat cu. Primii doi biţi din acest cod 295
65 indică faptul că acel coeficient se află în grupa de amplitudine 2 şi nu este precedat de nici un coeficient nul (vezi tabelul.4); următorii doi biţi sunt generaţi prin acelaşi procedeu descris şi pentru coeficienţii DC. Astfel, tabloul complet pentru un bloc de 8x8 pixeli, codat după specificaţiile JPEG arată: Deşi nu este cazul în acest exemplu, standardul JPEG conţine o secvenţă specială de codare, în cazul în care avem o secvenţă de 5 biţi de zero urmaţi de o valoare (vezi categoria şi lungimea secvenţei F în tabelul.4). Numărul total de biţi din secvenţa codată este 92, astfel că rezultatul compresiei este de 52/92 adică 5.6:. La decodarea unui bloc codat JPEG, trebuie făcută la început refacerea coeficienţilor normalizaţi ai transformatei care duce la şirul codat. Deoarece o secvenţă codată Huffman este unic decodabilă, acest pas este mai uşor realizat prin utilizarea unui tablou de tip look-up table. Mai jos se prezintă tabloul de coeficienţi cuantizaţi: După denormalizare, tabloul arată: unde coeficientul DC este calculat astfel: T(, ) = T(, ) Z(, ) = ( 26)( 6) = 46 Imaginea refăcută complet se obţine prin aplicarea transformatei inverse DCT asupra tabloului denormalizat obţinându-se: 296
66 iar prin deplasarea nivelului cu +2 7 sau +28 avem: PRELUCRAREA DIGITAL A IMAGINILOR Diferenţele dintre blocul original şi cel refăcut sunt rezultatele pierderilor procesului de compresie-decompresie JPEG. În acest exemplu, domeniul erorilor, cuprins între -4 şi +, este distribuit după cum se vede mai jos: Eroarea medie pătratică a procesului de compresie-refacere este de aproximativ 5,9 nivele de gri. De amintit faptul că ambele blocuri, originalul şi cel refăcut, conţin un impuls (vârf) al nivelului de gri ţn rândul patru, coloana cinci. Acest vârf local determină mărirea semnificativă a erorii pătratice medii a blocului reconstruit, comparativ cu celelalte erori. Motivul este că multe din blocurile imaginii sunt aproximativ constante îi pot fi reprezentate cu distorsiuni minime. Efectul de ţmpărţire ţn blocuri este imperceptibil atunci când factorul de compresie este mai mic decât 25:. Compresia cadrelor secvenţiale monocrome şi color Singurul format care este adoptat ca standard de compresie pentru secvenţele de imagine este standardul H.26 implementat de CCITT. Alte două standarde, MPEG I şi 297
67 MPEG II, sunt în dezvoltare de către MPEG (Motion Picture Experts Group) a CCITT şi ISO. Standardul H.26 este utilizat pentru aplicaţiile de tip teleconferinţă, unde secvenţele video sunt transmise cu T linii, cu o întârziere mai mică de 5 ms. Standardul MPEG I a fost propus pentru compresia video a informaţiei stocate pe suporturi digitale (de exemplu CD-ROM). Deşi rata de transfer în cazul CD-ROM-urilor este aceeaşi ca şi pentru transmiterea a T linii, standardul MPEG I este astfel conceput, încât să permită utilizarea unei rate de bit ridicate şi să ofere o codare de calitate. Nu se specifică un mod anumit de codare, ci se defineşte doar un standard de codare a şirului de biţi şi corespondenţa pentru decodor. Standardul MPEG II suportă o rată de transfer cuprinsă între 5 şi Mbit/sec, domeniu care este potrivit pentru reţeaua de TV prin cablu şi canalele de bandă îngustă din reţeaua de transmisie prin satelit. Ambele standarde MPEG şi standardul H.26 utilizează ca metodă de compresie transformata DCT, care include şi metode de reducere a redundanţei dintre cadre. În primul rând se realizează compresia unui cadru referinţă folosind specificaţiile JPEG bazate pe DCT, se reface cadrul comprimat, se estimează mişcarea obiectelor dintre cadrul refăcut şi următorul cadru şi se decide, pe baza caracteristicilor mişcării, dacă se codează următorul cadru în mod independent, sau folosind ca referinţă cadrul precedent. Deoarece standardul MPEG este utilizat pentru aplicaţii în care scenele se modifică rapid, este necesar ca la fiecare 5 cadre să avem un cadru de referinţă, ceea ce uşurează posibilitatea implementării aplicaţiilor video. Principala diferenţă dintre cele două standarde MPEG şi H.26 este felul în care este realizată estimarea mişcării. În cazul standardului H.26 se specifică faptul că există un singur cadru de referinţă pentru comparare, în timp ce în cazul standardului MPEG nu se specifică numărul de cadre care vor fi folosite pentru estimarea mişcării.. CODAREA SECVENŢELOR VIDEO FOLOSIND TRANSFORMAREA WAVELET Figura.38 prezintă un algoritm de descompunere a secvenţelor video în subbenzi spaţio-temporale, utilizând filtre unidimensionale separabile. SECVENŢE VIDEO FILTRE BANC TEMPORALE 2 BENZI H L FILTRE BANC 2 BENZI orizontal FILTRE BANC 2 BENZI orizontal FILTRE BANC 2 BENZI vertical FILTRE BANC 2 BENZI vertical Fig..38 Descompunerea spaţio-temporală După descompunerea temporală, realizată cu două filtre Haar aplicate pe două imagini consecutive, urmează o descompunere spaţială utilizând filtre wavelet. Această descompunere se poate face prin convoluţia pe linii şi coloane cu două filtre, unul de tip trece-jos, iar celălalt de tip trece-sus (vezi şi cap.5). 298
68 HP v HP t H HP h LP h LP v HP v LP v 9 8 LP t L HP h LP h HP v LP v HP v LP v HP h LP h Fig..39 Arborele de descompunere spaţio-temporală O posibilitate de implementare poate fi descompunerea în subbenzi spaţiotemporale, aşa cum se arată în figura.39. În această implementare particulară se restrânge descompunerea temporală la doar două benzi, din cauza întîrzierilor importante care apar dacă se utilizează mai multe benzi. Secvenţele video se filtrează temporal utilizţnd filtre Haar. Pentru această filtrare se folosesc două cadre consecutive, iar ca rezultat se obţin două imagini, care sunt de fapt diferenţa şi media celor două cadre. În consecinţă, se obţin două subbenzi: o bandă de frecvenţe joase care corespunde mediei cadrelor şi o bandă de frecvenţe înalte care corespunde diferenţei cadrelor. HP v LP v HP v LP v a) imagine originală b) componenta Y după c)după aplicare DWT subeşantionare cu d) imagine diferenţă e) imaginea dupăă primul f) imaginea după al doilea pas DWT pas DWT Fig..4 Procesul de subeşantionare, descompunere wavelet şi localizarea subbenzilor Localizarea subbenzilor într-o secvenţă video este prezentată în figura.4. Descompunerea wavelet aplicată asupra subbenzii care conţine informaţia de joasă 299
Metode iterative pentru probleme neliniare - contractii
Metode iterative pentru probleme neliniare - contractii Problemele neliniare sunt in general rezolvate prin metode iterative si analiza convergentei acestor metode este o problema importanta. 1 Contractii
Esalonul Redus pe Linii (ERL). Subspatii.
Seminarul 1 Esalonul Redus pe Linii (ERL). Subspatii. 1.1 Breviar teoretic 1.1.1 Esalonul Redus pe Linii (ERL) Definitia 1. O matrice A L R mxn este in forma de Esalon Redus pe Linii (ERL), daca indeplineste
5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.
5 Eerciţii reolvate 5 UNCŢII IMPLICITE EXTREME CONDIŢIONATE Eerciţiul 5 Să se determine şi dacă () este o funcţie definită implicit de ecuaţia ( + ) ( + ) + Soluţie ie ( ) ( + ) ( + ) + ( )R Evident este
Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.
Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie p, q N. Fie funcţia f : D R p R q. Avem următoarele
Sisteme diferenţiale liniare de ordinul 1
1 Metoda eliminării 2 Cazul valorilor proprii reale Cazul valorilor proprii nereale 3 Catedra de Matematică 2011 Forma generală a unui sistem liniar Considerăm sistemul y 1 (x) = a 11y 1 (x) + a 12 y 2
(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.
Definiţie Spunem că: i) funcţia f are derivată parţială în punctul a în raport cu variabila i dacă funcţia de o variabilă ( ) are derivată în punctul a în sens obişnuit (ca funcţie reală de o variabilă
prin egalizarea histogramei
Lucrarea 4 Îmbunătăţirea imaginilor prin egalizarea histogramei BREVIAR TEORETIC Tehnicile de îmbunătăţire a imaginilor bazate pe calculul histogramei modifică histograma astfel încât aceasta să aibă o
Metode de interpolare bazate pe diferenţe divizate
Metode de interpolare bazate pe diferenţe divizate Radu Trîmbiţaş 4 octombrie 2005 1 Forma Newton a polinomului de interpolare Lagrange Algoritmul nostru se bazează pe forma Newton a polinomului de interpolare
Curs 4 Serii de numere reale
Curs 4 Serii de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Criteriul rădăcinii sau Criteriul lui Cauchy Teoremă (Criteriul rădăcinii) Fie x n o serie cu termeni
V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile
Metode de Optimizare Curs V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Propoziţie 7. (Fritz-John). Fie X o submulţime deschisă a lui R n, f:x R o funcţie de clasă C şi ϕ = (ϕ,ϕ
Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"
Curs 14 Funcţii implicite Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie F : D R 2 R o funcţie de două variabile şi fie ecuaţia F (x, y) = 0. (1) Problemă În ce condiţii ecuaţia
Curs 1 Şiruri de numere reale
Bibliografie G. Chiorescu, Analiză matematică. Teorie şi probleme. Calcul diferenţial, Editura PIM, Iaşi, 2006. R. Luca-Tudorache, Analiză matematică, Editura Tehnopress, Iaşi, 2005. M. Nicolescu, N. Roşculeţ,
Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro
Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM Seminar S ANALA ÎN CUENT CONTNUU A SCHEMELO ELECTONCE S. ntroducere Pentru a analiza în curent continuu o schemă electronică,
MARCAREA REZISTOARELOR
1.2. MARCAREA REZISTOARELOR 1.2.1 MARCARE DIRECTĂ PRIN COD ALFANUMERIC. Acest cod este format din una sau mai multe cifre şi o literă. Litera poate fi plasată după grupul de cifre (situaţie în care valoarea
Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1
Functii definitie proprietati grafic functii elementare A. Definitii proprietatile functiilor. Fiind date doua multimi X si Y spunem ca am definit o functie (aplicatie) pe X cu valori in Y daca fiecarui
Zgomotul se poate suprapune informaţiei utile în două moduri: g(x, y) = f(x, y) n(x, y) (6.2)
Lucrarea 6 Zgomotul în imagini BREVIAR TEORETIC Zgomotul este un semnal aleator, care afectează informaţia utilă conţinută într-o imagine. El poate apare de-alungul unui lanţ de transmisiune, sau prin
DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE
DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE ABSTRACT. Materialul prezintă o modalitate de a afla distanţa dintre două drepte necoplanare folosind volumul tetraedrului. Lecţia se adresează clasei a VIII-a Data:
III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.
III. Serii absolut convergente. Serii semiconvergente. Definiţie. O serie a n se numeşte: i) absolut convergentă dacă seria modulelor a n este convergentă; ii) semiconvergentă dacă este convergentă iar
Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor
Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor. Fiind date doua multimi si spunem ca am definit o functie (aplicatie) pe cu valori in daca fiecarui element
a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea
Serii Laurent Definitie. Se numeste serie Laurent o serie de forma Seria n= (z z 0 ) n regulata (tayloriana) = (z z n= 0 ) + n se numeste partea principala iar seria se numeste partea Sa presupunem ca,
Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare
1 Planul în spaţiu Ecuaţia generală Plane paralele Unghi diedru 2 Ecuaţia generală Plane paralele Unghi diedru Fie reperul R(O, i, j, k ) în spaţiu. Numim normala a unui plan, un vector perpendicular pe
SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0
Facultatea de Hidrotehnică, Geodezie şi Ingineria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucian MATICIUC SEMINAR 4 Funcţii de mai multe variabile continuare). Să se arate că funcţia z,
Subiecte Clasa a VIII-a
Subiecte lasa a VIII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul
SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0
SERII NUMERICE Definiţia 3.1. Fie ( ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 şirul definit prin: s n0 = 0, s n0 +1 = 0 + 0 +1, s n0 +2 = 0 + 0 +1 + 0 +2,.......................................
Criptosisteme cu cheie publică III
Criptosisteme cu cheie publică III Anul II Aprilie 2017 Problema rucsacului ( knapsack problem ) Considerăm un număr natural V > 0 şi o mulţime finită de numere naturale pozitive {v 0, v 1,..., v k 1 }.
Seminar 5 Analiza stabilității sistemelor liniare
Seminar 5 Analiza stabilității sistemelor liniare Noțiuni teoretice Criteriul Hurwitz de analiză a stabilității sistemelor liniare În cazul sistemelor liniare, stabilitatea este o condiție de localizare
10. STABILIZATOAE DE TENSIUNE 10.1 STABILIZATOAE DE TENSIUNE CU TANZISTOAE BIPOLAE Stabilizatorul de tensiune cu tranzistor compară în permanenţă valoare tensiunii de ieşire (stabilizate) cu tensiunea
5.4. MULTIPLEXOARE A 0 A 1 A 2
5.4. MULTIPLEXOARE Multiplexoarele (MUX) sunt circuite logice combinaţionale cu m intrări şi o singură ieşire, care permit transferul datelor de la una din intrări spre ieşirea unică. Selecţia intrării
Câteva limite fundamentale in telecomunicaţii. Curs festiv, an 5, promoţia iunie 2004
Claude E. Shannon Vladimir Kotelniov Câteva limite fundamentale in telecomunicaţii Curs festiv, an 5, promoţia 004 9 iunie 004 Introducere Ieşirea unei surse discrete este o variabilă aleatoare S ce ia
1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB
1.7. AMLFCATOARE DE UTERE ÎN CLASA A Ş AB 1.7.1 Amplificatoare în clasa A La amplificatoarele din clasa A, forma de undă a tensiunii de ieşire este aceeaşi ca a tensiunii de intrare, deci întreg semnalul
a. 11 % b. 12 % c. 13 % d. 14 %
1. Un motor termic funcţionează după ciclul termodinamic reprezentat în sistemul de coordonate V-T în figura alăturată. Motorul termic utilizează ca substanţă de lucru un mol de gaz ideal având exponentul
Aplicaţii ale principiului I al termodinamicii la gazul ideal
Aplicaţii ale principiului I al termodinamicii la gazul ideal Principiul I al termodinamicii exprimă legea conservării şi energiei dintr-o formă în alta şi se exprimă prin relaţia: ΔUQ-L, unde: ΔU-variaţia
R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.
5p Determinați primul termen al progresiei geometrice ( b n ) n, știind că b 5 = 48 și b 8 = 84 5p Se consideră funcția f : intersecție a graficului funcției f cu aa O R R, f ( ) = 7+ 6 Determinați distanța
Integrala nedefinită (primitive)
nedefinita nedefinită (primitive) nedefinita 2 nedefinita februarie 20 nedefinita.tabelul primitivelor Definiţia Fie f : J R, J R un interval. Funcţia F : J R se numeşte primitivă sau antiderivată a funcţiei
Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].
Componente şi circuite pasive Fig.3.85. Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36]. Fig.3.86. Rezistenţa serie echivalentă pierderilor în funcţie
4. CIRCUITE LOGICE ELEMENTRE 4.. CIRCUITE LOGICE CU COMPONENTE DISCRETE 4.. PORŢI LOGICE ELEMENTRE CU COMPONENTE PSIVE Componente electronice pasive sunt componente care nu au capacitatea de a amplifica
Teme de implementare in Matlab pentru Laboratorul de Metode Numerice
Teme de implementare in Matlab pentru Laboratorul de Metode Numerice As. Ruxandra Barbulescu Septembrie 2017 Orice nelamurire asupra enunturilor/implementarilor se rezolva in cadrul laboratorului de MN,
4. CODAREA SEMNALELOR VIDEO
4. CODAREA SEMNALELOR VIDEO 4.1. Semnale video - concepte de bază Proprietăţile sistemelor video se bazează pe proprietăţile de percepţie ale ochiului. Cel mai mic detaliu ce poate fi reprodus într-o imagine
8 Intervale de încredere
8 Intervale de încredere În cursul anterior am determinat diverse estimări ˆ ale parametrului necunoscut al densităţii unei populaţii, folosind o selecţie 1 a acestei populaţii. În practică, valoarea calculată
4. CODAREA SEMNALELOR VIDEO
4. CODAREA SEMNALELOR VIDEO 4.1. Semnale video - concepte de bază Proprietăţile sistemelor video se bazează pe proprietăţile de percepţie ale ochiului. Cel mai mic detaliu ce poate fi reprodus într-o imagine
Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy
Metode Runge-Kutta Radu T. Trîmbiţaş 8 ianuarie 7 Probleme scalare, pas constant Dorim să aproximăm soluţia problemei Cauchy y (t) = f(t, y), a t b, y(a) = α. pe o grilă uniformă de (N + )-puncte din [a,
III. Reprezentarea informaţiei în sistemele de calcul
Metode Numerice Curs 3 III. Reprezentarea informaţiei în sistemele de calcul III.1. Reprezentarea internă a numerelor întregi III. 1.1. Reprezentarea internă a numerelor întregi fără semn (pozitive) Reprezentarea
Componente şi Circuite Electronice Pasive. Laborator 4. Măsurarea parametrilor mărimilor electrice
Laborator 4 Măsurarea parametrilor mărimilor electrice Obiective: o Semnalul sinusoidal, o Semnalul dreptunghiular, o Semnalul triunghiular, o Generarea diferitelor semnale folosind placa multifuncţională
Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu
INTRODUCERE Laborator 1: ÎN ALGORITMI Întocmit de: Claudia Pârloagă Îndrumător: Asist. Drd. Gabriel Danciu I. NOŢIUNI TEORETICE A. Sortarea prin selecţie Date de intrare: un şir A, de date Date de ieşire:
Compresia de imagini. Standardul JPEG
Tehnici de Compresie a Semnalelor Multimedia Lucrare de laborator Compresia de imagini. Standardul JPEG I. Obiectivul lucrării Lucrarea îşi propune familiarizarea cu metodele şi algoritmii utilizaţi în
2 Transformări liniare între spaţii finit dimensionale
Transformări 1 Noţiunea de transformare liniară Proprietăţi. Operaţii Nucleul şi imagine Rangul şi defectul unei transformări 2 Matricea unei transformări Relaţia dintre rang şi defect Schimbarea matricei
Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane
Subspatii ane Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Oana Constantinescu Oana Constantinescu Lectia VI Subspatii ane Table of Contents 1 Structura de spatiu an E 3 2 Subspatii
Asupra unei inegalităţi date la barajul OBMJ 2006
Asupra unei inegalităţi date la barajul OBMJ 006 Mircea Lascu şi Cezar Lupu La cel de-al cincilea baraj de Juniori din data de 0 mai 006 a fost dată următoarea inegalitate: Fie x, y, z trei numere reale
Captura imaginilor. este necesară o sursă de lumină (λ: lungimea de undă a sursei)
Captura imaginilor este necesară o sursă de lumină (λ: lungimea de undă a sursei) E(x, y, z, λ): lumina incidentă într-un punct (x, y, z coordonatele spațiale) fiecare punct din scenă are o funcție de
V O. = v I v stabilizator
Stabilizatoare de tensiune continuă Un stabilizator de tensiune este un circuit electronic care păstrează (aproape) constantă tensiunea de ieșire la variaţia între anumite limite a tensiunii de intrare,
1.3 Baza a unui spaţiu vectorial. Dimensiune
.3 Baza a unui spaţiu vectorial. Dimensiune Definiţia.3. Se numeşte bază a spaţiului vectorial V o familie de vectori B care îndeplineşte condiţiile de mai jos: a) B este liniar independentă; b) B este
Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor
Facultatea de Matematică Calcul Integral şi Elemente de Analiă Complexă, Semestrul I Lector dr. Lucian MATICIUC Seminariile 9 20 Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reiduurilor.
Statisticǎ - curs 3. 1 Seria de distribuţie a statisticilor de eşantioane 2. 2 Teorema limitǎ centralǎ 5. 3 O aplicaţie a teoremei limitǎ centralǎ 7
Statisticǎ - curs 3 Cuprins 1 Seria de distribuţie a statisticilor de eşantioane 2 2 Teorema limitǎ centralǎ 5 3 O aplicaţie a teoremei limitǎ centralǎ 7 4 Estimarea punctualǎ a unui parametru; intervalul
Proiectarea filtrelor prin metoda pierderilor de inserţie
FITRE DE MIROUNDE Proiectarea filtrelor prin metoda pierderilor de inserţie P R Puterea disponibila de la sursa Puterea livrata sarcinii P inc P Γ ( ) Γ I lo P R ( ) ( ) M ( ) ( ) M N P R M N ( ) ( ) Tipuri
Laborator 6. Integrarea ecuaţiilor diferenţiale
Laborator 6 Integrarea ecuaţiilor diferenţiale Responsabili: 1. Surdu Cristina(anacristinasurdu@gmail.com) 2. Ştirbăţ Bogdan(bogdanstirbat@yahoo.com) Obiective În urma parcurgerii acestui laborator elevul
Sisteme liniare - metode directe
Sisteme liniare - metode directe Radu T. Trîmbiţaş 27 martie 2016 1 Eliminare gaussiană Să considerăm sistemul liniar cu n ecuaţii şi n necunoscute Ax = b, (1) unde A K n n, b K n 1 sunt date, iar x K
Toate subiectele sunt obligatorii. Timpul de lucru efectiv este de 3 ore. Se acordă din oficiu 10 puncte. SUBIECTUL I.
Modelul 4 Se acordă din oficiu puncte.. Fie numărul complex z = i. Calculaţi (z ) 25. 2. Dacă x şi x 2 sunt rădăcinile ecuaţiei x 2 9x+8 =, atunci să se calculeze x2 +x2 2 x x 2. 3. Rezolvaţi în mulţimea
2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3
SEMINAR 2 SISTEME DE FRŢE CNCURENTE CUPRINS 2. Sisteme de forţe concurente...1 Cuprins...1 Introducere...1 2.1. Aspecte teoretice...2 2.2. Aplicaţii rezolvate...3 2. Sisteme de forţe concurente În acest
Laborator 11. Mulţimi Julia. Temă
Laborator 11 Mulţimi Julia. Temă 1. Clasa JuliaGreen. Să considerăm clasa JuliaGreen dată de exemplu la curs pentru metoda locului final şi să schimbăm numărul de iteraţii nriter = 100 în nriter = 101.
Transformări de frecvenţă
Lucrarea 22 Tranformări de frecvenţă Scopul lucrării: prezentarea metodei de inteză bazate pe utilizarea tranformărilor de frecvenţă şi exemplificarea aceteia cu ajutorul unui filtru trece-jo de tip Sallen-Key.
Transformate pentru semnale multidimensionale
Transformate pentru semnale multidimensionale Semnale 1D: s(t) Unele caracteristici ale semnalului pot fi ușor descrise în domeniul frecvență Transformata Fourier: s(t) S(ω) (sau s(t) S(f t )) unde t este
4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice
4. Măsurarea tensiunilor şi a curenţilor electrici oltmetre electronice analogice oltmetre de curent continuu Ampl.c.c. x FTJ Protectie Atenuator calibrat Atenuatorul calibrat divizor rezistiv R in const.
5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE
5.5. A CIRCUITELOR CU TRANZISTOARE BIPOLARE PROBLEMA 1. În circuitul din figura 5.54 se cunosc valorile: μa a. Valoarea intensității curentului de colector I C. b. Valoarea tensiunii bază-emitor U BE.
Curs 2 DIODE. CIRCUITE DR
Curs 2 OE. CRCUTE R E CUPRN tructură. imbol Relația curent-tensiune Regimuri de funcționare Punct static de funcționare Parametrii diodei Modelul cu cădere de tensiune constantă Analiza circuitelor cu
IV. CUADRIPOLI SI FILTRE ELECTRICE CAP. 13. CUADRIPOLI ELECTRICI
V. POL S FLTE ELETE P. 3. POL ELET reviar a) Forma fundamentala a ecuatiilor cuadripolilor si parametrii fundamentali: Prima forma fundamentala: doua forma fundamentala: b) Parametrii fundamentali au urmatoarele
COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.
SUBIECTUL Editia a VI-a 6 februarie 005 CLASA a V-a Fie A = x N 005 x 007 si B = y N y 003 005 3 3 a) Specificati cel mai mic element al multimii A si cel mai mare element al multimii B. b)stabiliti care
prin operaţii punctuale
Lucrarea 3 Îmbunătăţirea imaginilor prin operaţii punctuale BREVIAR TEORETIC Termenul general de îmbunătăţire a imaginilor se referă la o clasă largă de operaţii, ce au ca scop mărirea detectabilităţii
Examen AG. Student:... Grupa: ianuarie 2016
16-17 ianuarie 2016 Problema 1. Se consideră graful G = pk n (p, n N, p 2, n 3). Unul din vârfurile lui G se uneşte cu câte un vârf din fiecare graf complet care nu-l conţine, obţinându-se un graf conex
2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER
2. Circuite logice 2.4. Decodoare. Multiplexoare Copyright Paul GASNER Definiţii Un decodor pe n bits are n intrări şi 2 n ieşiri; cele n intrări reprezintă un număr binar care determină în mod unic care
Ecuatii trigonometrice
Ecuatii trigonometrice Ecuatiile ce contin necunoscute sub semnul functiilor trigonometrice se numesc ecuatii trigonometrice. Cele mai simple ecuatii trigonometrice sunt ecuatiile de tipul sin x = a, cos
GENERATOR DE SECVENŢE BINARE PSEUDOALEATOARE
GENERATOR DE SECVENŢE BINARE PSEUDOALEATOARE 1. Consideraţii teoretice Zgomotul alb este un proces aleator cu densitate spectrală de putere constantă într-o bandă infinită de frecvenţe. Zgomotul cvasialb
2. Circuite logice 2.5. Sumatoare şi multiplicatoare. Copyright Paul GASNER
2. Circuite logice 2.5. Sumatoare şi multiplicatoare Copyright Paul GASNER Adunarea în sistemul binar Adunarea se poate efectua în mod identic ca la adunarea obişnuită cu cifre arabe în sistemul zecimal
Examen AG. Student:... Grupa:... ianuarie 2011
Problema 1. Pentru ce valori ale lui n,m N (n,m 1) graful K n,m este eulerian? Problema 2. Să se construiască o funcţie care să recunoască un graf P 3 -free. La intrare aceasta va primi un graf G = ({1,...,n},E)
Tratarea numerică a semnalelor
LUCRAREA 5 Tratarea numerică a semnalelor Filtre numerice cu răspuns finit la impuls (filtre RFI) Filtrele numerice sunt sisteme discrete liniare invariante în timp care au rolul de a modifica spectrul
VII.2. PROBLEME REZOLVATE
Teoria Circuitelor Electrice Aplicaţii V PROBEME REOVATE R7 În circuitul din fiura 7R se cunosc: R e t 0 sint [V] C C t 0 sint [A] Se cer: a rezolvarea circuitului cu metoda teoremelor Kirchhoff; rezolvarea
Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare
Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R În cele ce urmează, vom studia unele proprietăţi ale mulţimilor din R. Astfel, vom caracteriza locul" unui punct în cadrul unei mulţimi (în limba
Problema a II - a (10 puncte) Diferite circuite electrice
Olimpiada de Fizică - Etapa pe judeţ 15 ianuarie 211 XI Problema a II - a (1 puncte) Diferite circuite electrice A. Un elev utilizează o sursă de tensiune (1), o cutie cu rezistenţe (2), un întrerupător
Subiecte Clasa a VII-a
lasa a VII Lumina Math Intrebari Subiecte lasa a VII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate
Aparate de măsurat. Măsurări electronice Rezumatul cursului 2. MEE - prof. dr. ing. Ioan D. Oltean 1
Aparate de măsurat Măsurări electronice Rezumatul cursului 2 MEE - prof. dr. ing. Ioan D. Oltean 1 1. Aparate cu instrument magnetoelectric 2. Ampermetre şi voltmetre 3. Ohmetre cu instrument magnetoelectric
Analiza și Prelucrarea Digitală a Semnalelor Video
Analiza și Prelucrarea Digitală a Semnalelor Video Conf. dr. ing. Radu Ovidiu Preda radu@comm.pub.ro Ș.l. dr. ing. Ionuţ Pirnog ionut@comm.pub.ro Site disciplină: www.comm.pub.ro/preda/apdsv Analiza și
a. Caracteristicile mecanice a motorului de c.c. cu excitaţie independentă (sau derivaţie)
Caracteristica mecanică defineşte dependenţa n=f(m) în condiţiile I e =ct., U=ct. Pentru determinarea ei vom defini, mai întâi caracteristicile: 1. de sarcină, numită şi caracteristica externă a motorului
2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2
.1 Sfera Definitia 1.1 Se numeşte sferă mulţimea tuturor punctelor din spaţiu pentru care distanţa la u punct fi numit centrul sferei este egalăcuunnumăr numit raza sferei. Fie centrul sferei C (a, b,
Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice
1 Conice pe ecuaţii reduse 2 Conice pe ecuaţii reduse Definiţie Numim conica locul geometric al punctelor din plan pentru care raportul distantelor la un punct fix F şi la o dreaptă fixă (D) este o constantă
Ovidiu Gabriel Avădănei, Florin Mihai Tufescu,
vidiu Gabriel Avădănei, Florin Mihai Tufescu, Capitolul 6 Amplificatoare operaţionale 58. Să se calculeze coeficientul de amplificare în tensiune pentru amplficatorul inversor din fig.58, pentru care se
Modelare şi simulare Seminar 4 SEMINAR NR. 4. Figura 4.1 Reprezentarea evoluţiei sistemului prin graful de tranziţii 1 A A =
SEMIR R. 4. Sistemul M/M// Caracteristici: = - intensitatea traficului - + unde Figura 4. Rerezentarea evoluţiei sistemului rin graful de tranziţii = rata medie de sosire a clienţilor în sistem (clienţi
riptografie şi Securitate
riptografie şi Securitate - Prelegerea 12 - Scheme de criptare CCA sigure Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Schemă de criptare
Câmp de probabilitate II
1 Sistem complet de evenimente 2 Schema lui Poisson Schema lui Bernoulli (a bilei revenite) Schema hipergeometrică (a bilei neîntoarsă) 3 4 Sistem complet de evenimente Definiţia 1.1 O familie de evenimente
Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă
Noţiunea de spaţiu liniar 1 Noţiunea de spaţiu liniar Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară 2 Mulţime infinită liniar independentă 3 Schimbarea coordonatelor unui vector la o schimbare
Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent
Laborator 3 Divizorul de tensiune. Divizorul de curent Obiective: o Conexiuni serie şi paralel, o Legea lui Ohm, o Divizorul de tensiune, o Divizorul de curent, o Implementarea experimentală a divizorului
Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)
Ecuatii exponentiale Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. Cea mai simpla ecuatie exponentiala este de forma a x = b, () unde a >, a. Afirmatia.
Definiţia 1.1 Fiind date mulţimile A (alfabetul sursă) şi B (alfabetul cod), o codificare
Prelegerea 1 Codificare şi decodificare 1.1 Codificare Definiţia 1.1 Fiind date mulţimile A (alfabetul sursă) şi B (alfabetul cod), o codificare este o aplicaţie injectivă K : A B. Elementele mulţimii
Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca
Conice Lect. dr. Constantin-Cosmin Todea U.T. Cluj-Napoca Definiţie: Se numeşte curbă algebrică plană mulţimea punctelor din plan de ecuaţie implicită de forma (C) : F (x, y) = 0 în care funcţia F este
Capitolul 6: Cuantizare
Prelucrarea semnalelor Capitolul 6: Cuantizare Bogdan Dumitrescu Facultatea de Automatică şi Calculatoare Universitatea Politehnica Bucureşti PS cap. 6: Cuantizare p. 1/59 Cuprins Cuantizare (scalară)
Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite
Capitolul 4 Integrale improprii 7-8 În cadrul studiului integrabilităţii iemann a unei funcţii s-au evidenţiat douăcondiţii esenţiale:. funcţia :[ ] este definită peintervalînchis şi mărginit (interval
EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă
Coordonatori DANA HEUBERGER NICOLAE MUŞUROIA Nicolae Muşuroia Gheorghe Boroica Vasile Pop Dana Heuberger Florin Bojor MATEMATICĂ DE EXCELENŢĂ pentru concursuri, olimpiade şi centre de excelenţă Clasa a
Capitolul ASAMBLAREA LAGĂRELOR LECŢIA 25
Capitolul ASAMBLAREA LAGĂRELOR LECŢIA 25 LAGĂRELE CU ALUNECARE!" 25.1.Caracteristici.Părţi componente.materiale.!" 25.2.Funcţionarea lagărelor cu alunecare.! 25.1.Caracteristici.Părţi componente.materiale.
Lucrarea Nr. 5 Circuite simple cu diode (Aplicaţii)
ucrarea Nr. 5 Circuite simple cu diode (Aplicaţii) A.Scopul lucrării - Verificarea experimentală a rezultatelor obţinute prin analiza circuitelor cu diode modelate liniar pe porţiuni ;.Scurt breviar teoretic
Scoruri standard Curba normală (Gauss) M. Popa
Scoruri standard Curba normală (Gauss) M. Popa Scoruri standard cunoaştere evaluare, măsurare evaluare comparare (Gh. Zapan) comparare raportare la un sistem de referință Povestea Scufiței Roşii... 70
Geometrie computationala 2. Preliminarii geometrice
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Geometrie computationala 2. Preliminarii geometrice Preliminarii geometrice Spatiu Euclidean: E d Spatiu de d-tupluri,
Noţiuni introductive
Metode Numerice Noţiuni introductive Erori. Condiţionare numerică. Stabilitatea algoritmilor. Complexitatea algoritmilor. Metodele numerice reprezintă tehnici prin care problemele matematice sunt reformulate