Capitolul 6: Cuantizare

Σχετικά έγγραφα
Metode iterative pentru probleme neliniare - contractii

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

Curs 4 Serii de numere reale

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

Curs 1 Şiruri de numere reale

Metode de interpolare bazate pe diferenţe divizate

Subiecte Clasa a VIII-a

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

Criptosisteme cu cheie publică III

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Integrala nedefinită (primitive)

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

8 Intervale de încredere

Asupra unei inegalităţi date la barajul OBMJ 2006

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Functii Breviar teoretic 8 ianuarie ianuarie 2011

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

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

Curs 2 Şiruri de numere reale

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Sisteme diferenţiale liniare de ordinul 1

prin egalizarea histogramei

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

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

Esalonul Redus pe Linii (ERL). Subspatii.

Subiecte Clasa a VII-a

Aplicaţii ale principiului I al termodinamicii la gazul ideal

z a + c 0 + c 1 (z a)

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

5.4. MULTIPLEXOARE A 0 A 1 A 2

MARCAREA REZISTOARELOR


Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare


1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

Concurs MATE-INFO UBB, 1 aprilie 2017 Proba scrisă la MATEMATICĂ

CURS VII-IX. Capitolul IV: Funcţii derivabile. Derivate şi diferenţiale. 1 Derivata unei funcţii. Interpretarea geometrică.

Conice - Câteva proprietǎţi elementare

riptografie şi Securitate

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

9 Testarea ipotezelor statistice

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

Laborator 11. Mulţimi Julia. Temă

Zgomotul se poate suprapune informaţiei utile în două moduri: g(x, y) = f(x, y) n(x, y) (6.2)

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

GEOMETRIE PLANĂ TEOREME IMPORTANTE ARII. bh lh 2. abc. abc. formula înălţimii

Câmp de probabilitate II

Să se arate că n este număr par. Dan Nedeianu

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

Principiul Inductiei Matematice.

Problema a II - a (10 puncte) Diferite circuite electrice

1.3 Baza a unui spaţiu vectorial. Dimensiune

1. PROPRIETĂȚILE FLUIDELOR

V O. = v I v stabilizator

7 Distribuţia normală

a. 11 % b. 12 % c. 13 % d. 14 %

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

f(x) = l 0. Atunci f are local semnul lui l, adică, U 0 V(x 0 ) astfel încât sgnf(x) = sgnl, x U 0 D\{x 0 }. < f(x) < l +

Erori si incertitudini de măsurare. Modele matematice Instrument: proiectare, fabricaţie, Interacţiune măsurand instrument:

Profesor Blaga Mirela-Gabriela DREAPTA

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

Curs 2 DIODE. CIRCUITE DR

SEMINARUL 3. Cap. II Serii de numere reale. asociat seriei. (3n 5)(3n 2) + 1. (3n 2)(3n+1) (3n 2) (3n + 1) = a

riptografie şi Securitate

Subiecte Clasa a VIII-a

Examen AG. Student:... Grupa:... ianuarie 2011

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)

Integrale cu parametru

GEOMETRIE PLANĂ TEOREME IMPORTANTE ARII. = înălţimea triunghiului echilateral h =, R =, r = R = bh lh 2 A D ++ D. abc. abc =

Universitatea din Bucureşti Facultatea de Matematică şi Informatică. Algebră (1)

CONCURS DE ADMITERE, 17 iulie 2017 Proba scrisă la MATEMATICĂ

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

Componente şi Circuite Electronice Pasive. Laborator 4. Măsurarea parametrilor mărimilor electrice

CONCURSUL DE MATEMATICĂ APLICATĂ ADOLF HAIMOVICI, 2017 ETAPA LOCALĂ, HUNEDOARA Clasa a IX-a profil științe ale naturii, tehnologic, servicii

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

Criterii de comutativitate a grupurilor

Vectori liberi Produs scalar Produs vectorial Produsul mixt. 1 Vectori liberi. 2 Produs scalar. 3 Produs vectorial. 4 Produsul mixt.

Seminar Algebra. det(a λi 3 ) = 0

Lucrarea Nr. 5 Circuite simple cu diode (Aplicaţii)

Funcţii Ciudate. Beniamin Bogoşel

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

1. Scrieti in casetele numerele log 7 8 si ln 8 astfel incat inegalitatea obtinuta sa fie adevarata. <

Cum folosim cazuri particulare în rezolvarea unor probleme

a. Caracteristicile mecanice a motorului de c.c. cu excitaţie independentă (sau derivaţie)

Transcript:

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ă) Cuantizorul uniform: proprietăţi, performanţe etc. Proiectarea unui cuantizor Compandare Algoritmul Lloyd-Max Cuantizare vectorială PS cap. 6: Cuantizare p. 2/59

Cuantizare definiţii Fie C = {c 1,c 2,...,c N } o mulţime de N valori reale, numite coduri Mulţimea C este numită dicţionar (sau listă de coduri engl. codebook) Cuantizorul q asociază un cod fiecărei valori x R, i.e. q(x) = c k, subînţelegând prin aceasta că numărul real x este "aproximat" prin codul c k din dicţionarul C Aşadar, un cuantizor este o funcţie q : R C Presupunem, fără pierdere de generalitate, că dicţionarul este ordonat, adică c 1 < c 2 <... < c N PS cap. 6: Cuantizare p. 3/59

Celule Voronoi Fie q un cuantizor şi C dicţionarul asociat. Mulţimea A k = {x R q(x) = c k } se numeşte celulă Voronoi asociată codului c k De obicei, fiecare celulă este un interval: A k = (d k 1,d k ] Valorile d k se numesc puncte de decizie (de frontieră) Punem d 0 = şi d N =, dacă aceste valori nu sunt finite prin natura semnalului care se cuantizează d 0 c 1 d 1 c 2 d 2 c 3 d 3 d N 1 c N d N PS cap. 6: Cuantizare p. 4/59

Graficul unui cuantizor q(x) c N c N 1 d 1 d 2 x d N 2 d N 1 c 2 c 1 PS cap. 6: Cuantizare p. 5/59

Cuantizor = codor + decodor Cuantizorul poate fi privit ca fiind obţinut din compunerea a două funcţii: codor şi decodor Notăm N = 1 : N mulţimea primelor N numere naturale Un codor este o funcţie q c : R N şi asociază unei valori x R un indice în dicţionar Un decodor este o funcţie q d : N C, prin care un indice este transformat în codul corespunzător De multe ori, codorul este numit cuantizor Indicii produşi de codor sunt transmişi sau memoraţi (digital) Refacerea codului (decodarea) se face ulterior (eventual la distanţă) PS cap. 6: Cuantizare p. 6/59

Rezoluţia unui cuantizor Numărul de biţi necesar reprezentării numerelor din N (şi deci din dicţionarul C), i.e. r = log 2 N, este numit rezoluţie (sau rată de codare) a cuantizorului Rezoluţia nu poate descrie singură performanţele cuantizorului Acestea depind şi de proprietăţile semnalului cuantizat Presupunem că semnalul cuantizat x este caracterizat de o densitate de probabilitate p(x), i.e. are proprietăţi statistice cunoscute PS cap. 6: Cuantizare p. 7/59

Distorsiune Distorsiunea (eroarea pătratică) medie a unui cuantizor este D = (x q(x)) 2 p(x)dx Când celulele Voronoi sunt intervale: D = N k=1 dk d k 1 (x c k ) 2 p(x)dx Dacă interpretăm x ca pe un proces aleator: D = E { (x[n] q(x[n])) 2} Distorsiunea medie este uşor de calculat şi utilizat, dar poate să nu corespundă percepţiei subiective pentru anumite semnale (audio, imagini etc.) PS cap. 6: Cuantizare p. 8/59

Raportul semnal-zgomot Presupunem că semnalul (variabila aleatoare) x are medie nulă Raportul semnal-zgomot (SNR signal to noise ratio) asociat unui cuantizor SNR = 10log 10 E{x 2 } D [db] Dacă semnalul nu are medie nulă, se foloseşte varianţa în loc de E{x 2 } În general, despre cuantizoarele cu SNR > 10dB se spune că au rezoluţie înaltă; pentru acestea sunt valabile rezultatele asimptotice prezentate mai departe PS cap. 6: Cuantizare p. 9/59

Cuantizorul uniform Un cuantizor este uniform atunci când între codurile c k şi punctele de decizie d k există relaţiile c k+1 c k =, d k = c k + c k+1 2 unde > 0 este pasul de cuantizare Distanţa dintre punctele de decizie este tot d k+1 d k = De obicei se presupune că semnalul x[n] ia valori într-un interval [a,b] şi că d 0 = a, d N = b. Pasul de cuantizare este = b a N, PS cap. 6: Cuantizare p. 10/59

Cuantizorul uniform eroarea maximă Între cuantizoarele cu dicţionar conţinând N coduri, cuantizorul uniform minimizează eroarea maximă Dacă semnalul x ia valori în [a, b], atunci eroarea maximă de cuantizare este cel puţin b a 2N = 2, adică eroarea maximă a cuantizorului uniform PS cap. 6: Cuantizare p. 11/59

Cuantizorul uniform distorsiunea medie Presupunem că semnalul de intrare este uniform distribuit în intervalul [a, b] Densitatea de probabilitate asociată semnalului x este p(x) = 1/(b a) Eroarea de cuantizare ε = x q(x) este uniform distribuită în intervalul [ /2, /2], deci media sa este nulă: E{ε} = 0 Distorsiunea medie este D = = N k=1 N b a dk d k 1 (x c k ) 2 p(x)dx /2 /2 ε 2 dε = 1 ε 3 3 /2 /2 = 2 12 PS cap. 6: Cuantizare p. 12/59

Cuantizor uniform la rezoluţie înaltă (1) Presupunem acum că semnalul de intrare x este distribuit în intervalul [a, b] cu o densitate de probabilitate oarecare p(x) Ipoteză de rezoluţie înaltă: numărul N al nivelelor de cuantizare este mare p(x) este suficient de netedă Se poate considera că, pe fiecare interval de decizie (de lungime ), p(x) este constantă, mai precis p(x) = p k pentru x [d k 1,d k ] Se observă că N p k = k=1 b a p(x)dx = 1 PS cap. 6: Cuantizare p. 13/59

Cuantizor uniform la rezoluţie înaltă (2) Cu ipotezele precedente, distorsiunea medie este D = = N k=1 dk (x c k ) 2 p(x)dx = d k 1 N /2 N p k ξ 2 dξ = 3 12 k=1 /2 k=1 N dk p k k=1 p k = 2 12 d k 1 (x c k ) 2 dx Se obţine aceeaşi expresie a distorsiunii ca în cazul distribuţiei uniforme a semnalului de intrare PS cap. 6: Cuantizare p. 14/59

Cuantizorul uniform SNR la rezoluţie înaltă Presupunem că semnalul de intrare are medie zero şi varianţă σ 2, ceea ce nu este restrictiv Semnalul x ia valori în intervalul [ a, a] Densitatea de probabilitate p(x) este o funcţie pară şi constantă pe fiecare interval de decizie Deoarece N = 2 r, pasul de cuantizare este = 2a/2 r Raportul semnal-zgomot are forma σ SNR = 10log 2 10 D = 10log 10 12σ2 2 = 20r log 10 2 + ct 6r + ct = 10log 10 12σ 2 2 2r 4a 2 Concluzie: la rezoluţie înaltă, fiecare bit suplimentar utilizat la cuantizare (i.e. dublarea dimensiunii N a dicţionarului) conduce la creşterea cu 6dB a SNR a cuantizorului uniform PS cap. 6: Cuantizare p. 15/59

Implementarea unui cuantizor (1) Considerăm un cuantizor definit de codurile c k, k = 1 : N, şi punctele de decizie d k, k = 0 : N Ne punem problema modului de calcul al codului c k = q(x) (sau al indicelui k asociat), pentru o valoare oarecare (cunoscută) x a intrării Indicele k este cel pentru care d k 1 x < d k (În cazul în care x este chiar un punct de decizie, trebuie să evităm ambiguitatea alegerii, de aceea putem alege inegalităţile ca mai sus.) Căutarea secvenţială în 1 : N a indicelui k este ineficientă, deoarece implică N comparaţii în cazul cel mai defavorabil PS cap. 6: Cuantizare p. 16/59

Implementarea unui cuantizor (2) Algoritmul cel mai eficient este cel bazat pe dihotomie Dacă x < d N/2, soluţia este în mulţimea 0 : N/2 1; altfel, soluţia se află în N/2 : N 1 Căutarea continuă asemănător, până când înjumătăţirea repetată reduce la un singur indice mulţimea în care se caută Numărul de comparaţii este r = log 2 N Implementarea cuantizorului uniform cu x 0 = a, x N = b, este extrem de simplă, indicele k având expresia k = x a b a N + 1 (Pentru x = b formula dă valoarea incorectă k = N + 1, ceea ce se poate corecta uşor la implementare.) PS cap. 6: Cuantizare p. 17/59

Cuantizor neuniform distorsiune Semnal de intrare cu densitatea de probabilitate constantă pe fiecare interval de decizie: p(x) = p k, x [d k 1,d k ] Se consideră un cuantizor oarecare (neuniform) punctele de decizie d k, k = 0 : N, sunt date codurile sunt plasate (optim) la mijlocul intervalului de decizie c k = (d k 1 + d k )/2 Distorsiunea medie este D = N dk p k (x c k ) 2 dx x=ξ+c k N k /2 = p k d k 1 k=1 k=1 k /2 ξ 2 dξ = 1 12 N p k 3 k k=1 (Pentru cuantizorul uniform se obţine D = 2 /12) PS cap. 6: Cuantizare p. 18/59

De ce cuantizare neuniformă? Pentru distribuţie uniformă a semnalului de intrare, cuantizorul uniform este optim, în sensul că are distorsiune medie minimă Dacă însă distribuţia este neuniformă, este posibil ca alte cuantizoare, neuniforme, să fie optime Intuitiv, codurile trebuie să fie mai dese acolo unde probabilitatea intrării este mai mare şi mai rare acolo unde probabilitatea e mică PS cap. 6: Cuantizare p. 19/59

Exemplu (1) Fie un semnal de intrare cu densitatea de probabilitate p(x) = { α, dacă x [0,1/2] β, dacă x [1/2,1] Două cuantizoare, cel uniform şi unul neuniform p(x) p(x) x x d 1 d 2 d 3 1 d 1 d 2 d 3 1 PS cap. 6: Cuantizare p. 20/59

Exemplu (2) Pentru cuantizorul uniform, = 1/4 şi D 1 = 2 12 = 1 192 = 0.005208 Cuantizorul neuniform are punctele de decizie d 0 = 0, d 1 = 1/6, d 2 = 1/3, d 3 = 1/2, d 4 = 1 Codurile sunt plasate optim la mijlocul intervalelor de decizie Avem 1 = 2 = 3 = 1/6, 4 = 1/2 şi p 1 = p 2 = p 3 = α, p 4 = β = 2 α Distorsiunea medie este D 2 (α) = 1 12 4 k=1 p k 3 k = 9 4α 432 PS cap. 6: Cuantizare p. 21/59

Exemplu (3) Se obţine D 2 (α) = D 1 pentru α = 1.6875, deci D 2 (α) D 1 pentru α [1.6875,2] La limită, se obţine D 2 (2) = 0.00231, adică o valoare mult mai mică decât D 1 Exemplul arată că un cuantizor neuniform poate fi mai bun decât cel uniform Atenţie: acest cuantizor nu este neapărat cel optim! PS cap. 6: Cuantizare p. 22/59

Proiectarea unui cuantizor Date de proiectare: distribuţia semnalului de intrare, în formă analitică, sau prin date obţinute experimental dimensiunea dicţionarului (N) sau rezoluţia r Rezultatul proiectării: dicţionarul C (codurile c k, k = 1 : N) punctele de decizie d k, k = 0 : N PS cap. 6: Cuantizare p. 23/59

Compandare Semnalul x, cu densitate de probabilitate (neuniformă) p(x), este transformat prin funcţia g(x), în încercarea de a obţine un semnal y cu distribuţie uniformă Proiectarea unui compandor se rezumă la găsirea funcţiei g COMPresie expandare x y Cuantizor ŷ g(x) g 1 q(x) (ŷ) uniform Densitate de probabilitate p(x) Distribuţie uniformă PS cap. 6: Cuantizare p. 24/59

Proiectarea unui compandor (1) Funcţia cumulativă de probabilitate este f(x 0 ) = Prob(x x 0 ) = x0 p(x)dx, cu f : R [0,1] 1 f(x) x d 0 d 1 d 2 d 3 d 4 d 5 d 6 d 7 d 8 PS cap. 6: Cuantizare p. 25/59

Proiectarea unui compandor (2) Împărţim intervalul [0, 1] de pe axa verticală în N intervale egale (N = 8 în figură), separate de punctele y k = k/n, k = 0 : N Pe axa orizontală, definim punctele corespondente d k R, f(d k ) = y k, k = 0 : N Se observă că Prob(d k 1 x d k ) = dk d k 1 p(x)dx = f(d k ) f(d k 1 ) = 1 N Alegând d k drept puncte de decizie pentru un cuantizor al semnalului x, atunci probabilitatea ca x să aparţină unei celule Voronoi [d k 1,d k ] este aceeaşi indiferent de celulă PS cap. 6: Cuantizare p. 26/59

Proiectarea unui compandor (3) Concluzie: în schema de compandare alegem funcţia g de compresie identică cu funcţia de probabilitate f Semnalul y = g(x) nu va avea neapărat distribuţie uniformă, dar faptul că Prob(y k 1 y y k ) = 1/N asigură o bună aproximaţie a distribuţiei uniforme Compandorul obţinut prin procedeul de mai sus nu este neapărat optim, deoarece densitatea de probabilitate în fiecare interval de decizie nu este constantă Compandorul realizează însă o bună aproximaţie a cuantizorului optim, în special la rezoluţie înaltă PS cap. 6: Cuantizare p. 27/59

Compandoare practice În cazul frecvent în care funcţia de probabilitate f(x) nu este cunoscută analitic, dacă semnalul de intrare este staţionar, se poate estima experimental f(x) Când estimarea este imposibilă din considerente de timp real, se utilizează compresoare g(x) simple şi robuste Graficul funcţiei g(x) are de obicei celule Voronoi mai mari pentru valori mari (şi mai puţin frecvente) ale semnalului şi celule mici pentru valori în preajma lui zero Un exemplu este legea-µ utilizată în telefonia digitală g µ (x) = a ln(1 + µ x /a) sgn(x) [ 1,1] ln(1 + µ) Se presupune că semnalul este limitat la valori x [ a,a] PS cap. 6: Cuantizare p. 28/59

Condiţii de optimalitate Presupunem cunoscute p(x) densitatea de probabilitate a semnalului de intrare N dimensiunea dicţionarului Studiem relaţiile dintre codurile c k şi punctele de decizie d k pentru cuantizorul optim, cel pentru care distorsiunea medie este minimă PS cap. 6: Cuantizare p. 29/59

Puncte de decizie optime pentru coduri date Presupunem fixate codurile c k, k = 1 : N Dorim să aflăm punctele de decizie optime pentru aceste coduri Datorită formei cumulative a distorsiunii medii, putem reduce studiul la un singur interval [c k,c k+1 ] Distorsiunea este minimizată dacă, pentru orice x [c k,c k+1 ], valoarea q(x) este codul cel mai apropiat de x Aşadar punctul de decizie d k se află la mijlocul intervalului [c k,c k+1 ], i.e. d k = (c k + c k+1 )/2, k = 1 : N 1 PS cap. 6: Cuantizare p. 30/59

Coduri optime pentru puncte de decizie date Presupunem fixate punctele de decizie d k, k = 0 : N Dorim să aflăm codurile optime pentru aceste puncte de decizie Din nou, putem reduce studiul la o singură celulă Voronoi (dată) [d k 1,d k ], pentru care căutăm codul optim, anume valoarea c k care minimizează distorsiunea D k = dk d k 1 (x c k ) 2 p(x)dx (1) PS cap. 6: Cuantizare p. 31/59

Lemă Fie ξ o variabilă aleatoare Constanta α care minimizează eroarea pătratică medie E{(ξ α) 2 } este α = E{ξ}, adică media variabilei Demonstraţie: notăm µ = E{ξ} media variabilei aleatoare Observăm că avem E{(ξ α) 2 } = E{(ξ µ+µ α) 2 } = E{(ξ µ) 2 }+(µ α) 2, deoarece E{(ξ µ)} = 0 În dreapta expresiei de mai sus, primul termen este constant, deci minimul se obţine luând α = µ PS cap. 6: Cuantizare p. 32/59

Codul optim: centroidul celulei Voronoi (1) Valoarea c k care minimizează distorsiunea este centrul de masă (centroidul) celulei Voronoi A k = [d k 1,d k ], i.e. Demonstraţie. Notăm c k = E{x x A k } = dk d k 1 xp(x)dx dk d k 1 p(x)dx (2) p k = Prob(x A k ) = dk d k 1 p(x)dx probabilitatea ca semnalul de intrare să ia valori în celula Voronoi considerată PS cap. 6: Cuantizare p. 33/59

Codul optim: centroidul celulei Voronoi (2) Distorsiunea pe [d k 1,d k ] poate fi scrisă în forma D k = p k dk d k 1 (x c k ) 2p(x) p k dx = p k E{(x c k ) 2 x A k }, deoarece p(x)/p k are semnificaţie de densitate de probabilitate a semnalului x, atunci când considerăm doar valorile din celula Voronoi A k Folosind Lema, obţinem c k = E{x x A k } = dk d k 1 x p(x) p k dx, de unde rezultă imediat (2) PS cap. 6: Cuantizare p. 34/59

Observaţii Condiţiile (1) şi (2) sunt necesare pentru optimalitate, dar nu neapărat suficiente Ele sunt satisfăcute şi de minime locale ale distorsiunii medii, nu doar de minimul global Pentru o densitate uniformă de probabilitate a intrării în intervalul [a, b], cuantizorul uniform satisface condiţiile de optimalitate. Relaţia (1) este evident adevărată, iar (2) devine c k = dk d k 1 dk x b a dx d k 1 1 b a dx = dk d k 1 xdx d k d k 1 = d2 k d2 k 1 2(d k d k 1 ) = d k 1 + d k 2 PS cap. 6: Cuantizare p. 35/59

Algoritmul Lloyd-Max 0. Se dă numărul de nivele de cuantizare N. Se alege un dicţionar iniţial C = {c 1,...,c N }. Se alege o toleranţă ǫ. Se iniţializează pasul de iterare i = 0 1. Se calculează punctele de decizie optime d k, k = 1 : N 1, pentru codurile c k, conform relaţiei (1) 2. Se calculează codurile optime c k, k = 1 : N, pentru punctele de decizie d k, conform relaţiei (2) 3. Calculează distorsiunea medie curentă N dk D (i) = (x c k ) 2 p(x)dx d k 1 4. Dacă k=1 D (i 1) D (i) D (i) < ǫ, atunci stop. Altfel, se pune i i + 1 şi se reia de la pasul 1 PS cap. 6: Cuantizare p. 36/59

Algoritmul Lloyd-Max comentarii Distorsiunea scade la fiecare pas: pentru e.g. puncte de decizie date, noile coduri minimizează distorsiunea, aşadar produc o distorsiune mai mică decât codurile de la iteraţia anterioară Algoritmul converge către un punct staţionar, care este un minim local (nu neapărat cel global) Iniţializări diferite ale algoritmului pot produce rezultate diferite PS cap. 6: Cuantizare p. 37/59

Exemplu (1) Studiem evoluţia algoritmului Lloyd-Max pentru intrare uniform distribuită x [0, 1] dimensiunea dicţionarului N = 2 Singurul punct de decizie care se modifică în algoritm este d 1 (celelalte sunt d 0 = 0, d 2 = 1) Pentru coduri date, punctul optim de decizie este d 1 = (c 1 + c 2 )/2 Pentru d 1 dat, ţinând seama de distribuţia uniformă, codurile optime sunt c 1 = d 1 /2, c 2 = (d 1 + 1)/2 PS cap. 6: Cuantizare p. 38/59

Exemplu (2) Evoluţia algoritmului Lloyd-Max este următoarea Iniţializare c 1 = 0.3, c 2 = 0.7 c 1 = 0.2, c 2 = 0.7 Iteraţia 1 d 1 = 0.5 d 1 = 0.45 c 1 = 0.25, c 2 = 0.75 c 1 = 0.225, c 2 = 0.725 Iteraţia 2 idem d 1 = 0.475 c 1 = 0.2375, c 2 = 0.7375 Iteraţia 3 d 1 = 0.4875 etc. Pentru ambele iniţializări, algoritmul converge la codurile optime; cuantizorul optim este cel uniform Prima iniţializare: convergenţă într-o singură iteraţie A doua iniţializare: convergenţă asimptotică PS cap. 6: Cuantizare p. 39/59

Proiectare utilizând date empirice În forma dată anterior, algoritmul Lloyd-Max se bazează pe cunoaşterea densităţii de probabilitate p(x) a semnalului de intrare Presupunem acum că dispunem doar de M eşantioane ale semnalului de intrare, anume x l, l = 1 : M; notăm X mulţimea acestor eşantioane Numărul M este suficient de mare în raport cu N Structura algoritmului Lloyd-Max rămâne aceeaşi, dar calculul codurilor trebuie adaptat structurii discrete a celulelor Voronoi PS cap. 6: Cuantizare p. 40/59

Condiţii de optimalitate pentru date empirice Pentru coduri fixate, o celulă Voronoi care respectă condiţia de optimalitate (1) este mulţimea finită A k = {x l X, l = 1 : M x l c k x l c i, i = 1 : N,i k} (3) Aşadar celula asociată codului c k conţine eşantioanele din X care sunt mai aproape de acest cod decât de oricare altul Centrul de masă al unei celule se calculează în mod natural prin media eşantioanelor din celula respectivă c k = 1 A k x l A k x l (4) PS cap. 6: Cuantizare p. 41/59

Algoritmul Lloyd-Max date empirice 0. Se dau M eşantioane ale semnalului de intrare, x l, l = 1 : M. Se alege un dicţionar iniţial C = {c 1,...,c N } 1. Se stabilesc celulele Voronoi discrete conform relaţiei (3) 2. Se recalculează codurile c k, k = 1 : N, conform relaţiei (4) 3. Se repetă paşii 1 şi 2 până când distorsiunea D = 1 M N k=1 x l A k (x l c k ) 2 nu mai scade semnificativ PS cap. 6: Cuantizare p. 42/59

Exemplu (1) Studiem evoluţia algoritmului Lloyd-Max atunci când se cunosc M = 6 eşantioane ale intrării X = {0,0.2,0.4,0.6, 0.8,1} Presupunem că, atunci când un eşantion este egal depărtat de două coduri, el face parte din celula Voronoi a codului mai mare PS cap. 6: Cuantizare p. 43/59

Exemplu (2) Iniţializare c 1 = 0.3, c 2 = 0.7 c 1 = 0.2, c 2 = 0.5 Iteraţia 1 A 1 = {0,0.2,0.4} A 1 = {0,0.2} A 2 = {0.6,0.8,1} A 2 = {0.4,0.6,0.8,1} c 1 = 0.2, c 2 = 0.8 c 1 = 0.1, c 2 = 0.7 Iteraţia 2 idem idem Pentru ambele iniţializări, algoritmul converge într-o iteraţie, dar la cuantizoare diferite Pentru a doua iniţializare, după iteraţia 1, eşantionul 0.4 este egal depărtat de codurile c 1 = 0.1, c 2 = 0.7. Dacă schimbăm regula adoptată şi includem acest eşantion în celula A 1 (a codului mai mic), atunci rezultatul se schimbă şi obţinem aceleaşi coduri ca pentru prima iniţializare PS cap. 6: Cuantizare p. 44/59

Cuantizare vectorială definiţii (1) Un cuantizor vectorial este o funcţie q : R n C, unde C R n este un dicţionar cu N elemente Spre deosebire de cuantizarea scalară, unde fiecare element al intrării este cuantizat separat, acum se cuantizează simultan n valori ale intrării, sub forma unui vector în R n Codul q(x) = c k, k = 1 : N, este şi el un vector de dimensiune n Pentru reprezentarea unui cod sunt necesari log 2 N biţi. Deoarece un cod reprezintă n valori ale intrării, rezoluţia unui cuantizor vectorial este r = (log 2 N)/n PS cap. 6: Cuantizare p. 45/59

Cuantizare vectorială definiţii (2) Celula Voronoi asociată codului c k este A k = {x R n q(x) = c k } R n Un cuantizor ale cărui celule Voronoi sunt convexe se numeşte regulat Distorsiunea medie a unui cuantizor vectorial este D = R n x q(x) 2 p(x)dx = N k=1 A k x c k 2 p(x)dx, unde p(x) este densitatea de probabilitate a seturilor de n valori ale intrării. Norma utilizată este cea euclidiană PS cap. 6: Cuantizare p. 46/59

Cuantizor 2D cu coduri aleatoare Celulele Voronoi sunt optime! (vom vedea mai târziu condiţiile de optimalitate) 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 PS cap. 6: Cuantizare p. 47/59

Comparaţie între cuantizarea vectorială şi cea scalară Cuantizarea vectorială permite obţinerea unor distorsiuni mai mici decât cea scalară, la rezoluţii egale Ilustrăm această afirmaţie în cazul n = 2, pentru cazul simplu în care semnalul de intrare este uniform distribuit Comparăm două cuantizoare cuantizor uniform 2D cuantizor cu celule hexagonale PS cap. 6: Cuantizare p. 48/59

Două cuantizoare 2D 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 PS cap. 6: Cuantizare p. 49/59

Celule Voronoi pentru cuantizoare 2D x 2 /2 a 3/2 x 2 /2 /2 x 1 a/2 a x 1 /2 PS cap. 6: Cuantizare p. 50/59

Cuantizorul uniform 2D (1) Cuantizorul scalar uniform este optim Cuantizând câte două valori simultan (dar independent) cu acest cuantizor, obţinem un cuantizor 2D Celulele Voronoi sunt pătrate Notăm cu distanţa dintre două coduri, care este şi latura celulei Voronoi Presupunem că toate celulele, inclusiv cele de la margine, au aceeaşi formă Deoarece fiecare celulă are arie 2, rezultă că p(x) = 1/(N 2 ) PS cap. 6: Cuantizare p. 51/59

Cuantizorul uniform 2D (2) Forma identică a celulelor permite limitarea studiului la o singură celulă, cea din jurului codului c k = 0 Distorsiunea medie este D uni = N (x c k ) 2 1 A k N 2dx = 1 /2 /2 2 (x 2 1 + x 2 2)dx 1 dx 2 = 2 6 /2 /2 Valoarea de două ori mai mare decât cea a cuantizorului uniform scalar se explică prin lipsa normalizării cu n a distorsiunii PS cap. 6: Cuantizare p. 52/59

Cuantizorul cu celule hexagonale Considerăm o celulă Voronoi cu latura a (egală cu raza cercului circumscris) Aria acestei celule este A = 3 3 2 a2 Densitatea de probabilitate uniformă are valoarea p(x) = 1/(NA) Presupunând celula centrată în origine, putem calcula distorsiunea pe cele 6 triunghiuri echilaterale formate de două raze (ale cercului circumscris) şi o latură Distorsiunea medie este D hex = 6N a 3/2 0 x2 / 3 x 2 / 3 (x 2 1 + x 2 2) 1 NA dx 1dx 2 = 5a2 12 PS cap. 6: Cuantizare p. 53/59

Comparaţie Pentru a compara distorsiunile cuantizoarelor hexagonal şi uniform, este necesar ca ariile celulelor Voronoi să fie egale, i.e. Raportul distorsiunilor este 2 = 3 3 2 a2 D hex D uni = 5a 2 12 3 3a 2 2 6 = 5 3 3 = 0.9623 Cuantizorul hexagonal oferă un câştig de aproape 4% în distorsiune În 2D, cuantizorul hexagonal este optim! Pentru n mai mare, cuantizarea vectorială oferă îmbunătăţiri mai mari PS cap. 6: Cuantizare p. 54/59

Implementarea unui cuantizor vectorial Implementarea unui cuantizor vectorial este mai dificilă decât cea a unuia scalar Dihotomia nu mai este posibilă şi, pentru un dicţionar oarecare, doar căutarea exhaustivă poate produce codul cel mai apropiat de intrarea x R n Dacă însă dicţionarul are o structură regulată, precum în cazul celulelor hexagonale, atunci se pot concepe algoritmi eficienţi de căutare În general, cuantizoarele vectoriale utilizate în practică folosesc o structură a codurilor care le face neoptimale, dar (relativ) uşor de utilizat PS cap. 6: Cuantizare p. 55/59

Celule Voronoi optime pentru coduri date Presupunând că dicţionarul este cunoscut, distorsiunea este minimizată dacă, pentru x R n dat, valoarea q(x) este codul cel mai apropiat de x Celula Voronoi optimă asociată codului c k este A k = {x R n x c k x c i, i = 1 : N} Celulele Voronoi optime au formă poliedrală Dacă A k şi A i sunt celule vecine, atunci graniţa dintre ele este hiperplanul ortogonal pe mijlocul segmentului ce uneşte codurile c k şi c i Celulele Voronoi sunt evident convexe PS cap. 6: Cuantizare p. 56/59

Coduri optime pentru celule Voronoi date Presupunem acum că celulele Voronoi sunt cunoscute şi vrem să determinăm codurile optime corespunzătoare Similar cu cazul scalar, codul optim asociat celulei A k este centrul de masă (centroidul) celulei respective, i.e. c k = 1 vol A k A k xp(x)dx = E{x x A k } PS cap. 6: Cuantizare p. 57/59

Algoritmul Lloyd generalizat date empirice 0. Se dau M eşantioane ale semnalului de intrare, x l, l = 1 : M. Se alege un dicţionar iniţial C = {c 1,...,c N } 1. Se stabilesc celulele Voronoi discrete A k = {x l X, l = 1 : M x l c k x l c i, i = 1 : N,i k} 2. Se recalculează codurile c k, k = 1 : N, ca fiind centrele de masă ale celulelor Voronoi c k = 1 A k x l A k x l 3. Se repetă paşii 1 şi 2 până când distorsiunea nu mai scade N D = 1 M k=1 x l A k x l c k 2 PS cap. 6: Cuantizare p. 58/59

Comentarii Algoritmul converge, dar şansa de a se termina într-un minim local este mult mai mare decât în cazul scalar Pentru evitarea acestei situaţii se folosesc diverse stratageme Algoritmul Linde-Buzo-Gray: se porneşte cu un număr mic de coduri, iar celulele Voronoi cu multe elemente sunt "sparte" în două pe măsură ce iteraţiile avansează PS cap. 6: Cuantizare p. 59/59