Capítulo 3 Digitalización y cuantificación 3.1. Muestreo y reconstrucción de imágenes: teorema de WhittakerKotelnikov-Shannon. Para procesar una imagen por ordenador es necesario disponer de la imagen en forma digital, es decir, como un vector de números en base dos (representación binaria) de longitud finita que expresan el nivel de gris del píxel que corresponde a esa posición del vector. Para ello se realiza un registro de la imagen fila a fila y se muestrea cada fila. Una forma de registrar una imagen es iluminando una escena y haciendo que el rayo luminoso después de pasar por una lente forme una imagen electrónica sobre una placa fotosensible. Algunos de los dispositivos de registro modernos, como las cámaras CCD (charge-coupled device), contienen un vector de fotodetectores, un conjunto de conexiones electrónicas y un sistema de circuitos, todos ellos sobre un único chip. Es realmente un dispositivo de muestreo bidimensional y se le llama vector de autorregistro (self-scanning). A continuación vamos a estudiar el muestreo bidimensional para conseguir una imagen digital bidimensional. MUESTREO BIDIMENSIONAL Consideremos una imagen continua ideal fI(x,y) que representa la intensidad luminosa de una imagen. Un sistema perfecto de muestreo de la imagen se obtiene utilizando la función de muestreo espacial ∞ ∞ s ( x, y ) = ∑ ∑ δ ( x − j∆x, y − k∆y ) j = −∞ k = −∞ que viene dado por una cuadrícula infinita, con espaciamiento (∆x, ∆y), sobre la que están colocadas infinitas funciones delta de Dirac. La imagen muestreada viene representada como: ∞ ∞ f M ( x, y ) = f I ( x, y ) ⋅ s( x, y ) = ∑ ∑ f I ( j∆x, k∆y ) ⋅ δ ( x − j∆x, y − k∆y ) j = −∞ k = −∞ de manera que la función fI sólo se evalúa en los puntos (j∆x, k∆y). Para realizar el análisis es conveniente expresar esta función en el dominio de las frecuencias, utilizando la transformada de Fourier de la imagen muestreada: ∞ ∞ FM (u , v) = ∫ ∫ f M ( x, y ) ⋅ exp{−i 2π (ux + vy)} ∂x ∂y −∞ −∞ Si aplicamos las propiedades de convolución de la transformada de Fourier, según la cual, la transformada de Fourier de un producto de funciones es igual a la convolución de las respectivas transformadas, es decir, Fourier ( f I ( x, y ) ⋅ s ( x, y )) = FI (u , v ) ⊕ S (u , v ) Por lo tanto, como ∞ ∞ Fourier ( s ( x, y )) = S (u, v) = ∫ ∫ s( x, y ) ⋅ exp{−i 2π (ux + vy)} ∂x ∂y −∞ −∞ ∞ ∞ ∞ ∞ = ∫ ∫ ∑ ∑ δ ( x − j∆x, y − k∆y ) ⋅ exp{−i 2π (ux + vy )} ∂x ∂y − ∞ − ∞ j = −∞ k = −∞ ∞ ∞ ⎡ ∞ ⎤ ⎡ ∞ ⎤ = ∫ ∫ exp{−i 2π (ux + vy)} ⋅ ⎢ ∑ δ ( x − j∆x)⎥ ⋅ ⎢ ∑ δ ( y − k∆y )⎥ ∂x ∂y ⎦ −∞ −∞ ⎣ j = −∞ ⎦ ⎣k = −∞ ∞ ∞ ⎡ ∞ ⎤ ⎡ ∞ ⎤ = ∫ exp{−i 2π (ux)} ⋅⎢ ∑ δ ( x − j∆x) ⎥ ∂x ⋅ ∫ exp{−i 2π (vy)} ⋅ ⎢ ∑ δ ( y − k∆y )⎥ ∂y ⎣k = −∞ ⎦ −∞ −∞ ⎣ j = −∞ ⎦ ∞ y la función ∑ δ ( x − j∆x) es periódica, con periodo ∆x, se puede expresar en series de Fourier: j = −∞ ∞ ∞ j = −∞ n = −∞ ∑ δ ( x − j∆x) = ∑ a n exp{i 2πnx / ∆x} donde los coeficientes del desarrollo de Fourier vienen dados por: an = ⎞ 1 ∆x / 2 ⎛ ∞ ⎜⎜ ∑ δ ( x − j∆x) ⎟⎟ ⋅ exp{−i 2πnx / ∆x} ∂x ∫ ∆x − ∆x / 2 ⎝ j = −∞ ⎠ = 1 ∆x / 2 ∫ δ ( x) ⋅ exp{−i 2πnx / ∆x} ∂x , ∆x − ∆x / 2 pues en el rango de integración sólo es diferente de cero el término: δ ( x) = 1 1 exp{0} = ∆x ∆x Sustituyendo, ∞ ⎡ ⎤ ∫ exp{−i 2π (ux)} ⋅ ∆x ⎢ ∑ exp{i 2πnx / ∆x}⎥ ∂x = −∞ 1 ∞ ⎣n = −∞ ⎦ ⎤ 1 ⎡∞ 1 ∞ exp{ i 2 π ( n / ∆ x − u ) x } ∂ x = ∑ δ (u − n / ∆x) ∫ ⎢ ⎥ ∆x n = −∞ n = −∞ ∆x ⎣ − ∞ ⎦ ∞ = ∑ ya que una propiedad de la transformada de Fourier es ∞ ∫ exp{−i 2πux} ∂x = δ (u ) −∞ Es decir, S (u , v) = = ∞ 1 1 ∞ ∑ δ (u − (n / ∆x)) ⋅ ∑ δ (v − (m / ∆y )) ∆x ∆y n = −∞ m = −∞ 1 1 ∞ ∞ ∑ ∑ δ (u − (n / ∆x)) ⋅ δ (v − (m / ∆y )) ∆x ∆y n = −∞ m = −∞ = 1 1 ∞ ∞ ∑ ∑ δ (u − (n / ∆x) , v − (m / ∆y )) ∆x ∆y n = −∞ m = −∞ Finalmente, la transformada de Fourier de f M ( x, y ) queda: FM (u , v ) = FI (u , v ) ⊕ S (u , v) = = ∞ ∞ 1 1 ∞ ∞ FI (u − x, v − y ) ∑ ∑ δ (u − (n / ∆x) , v − (m / ∆y )) ∂x ∂y ∫ ∫ ∆x ∆y −∞ −∞ n = −∞ m = −∞ Intercambiando la integral por la suma y aplicando la propiedad de traslación de la función delta de Dirac se tiene que: FM (u, v) = 1 1 ∞ ∞ ∑ ∑ FI (u − (n / ∆x), v − (m / ∆y ) . ∆x ∆y n = −∞ m = −∞ Es decir, el espectro de la imagen muestreada, FM (u , v ) , viene determinado por el espectro de la imagen ideal (continua), FI (u , v ) , valorado en los puntos de una cuadrícula con resolución (1/∆x,1/∆y) muestreada en el dominio de las frecuencias con espaciamientos u= 1 ∆x , v= 1 . ∆y RECONSTRUCCIÓN DE LA IMAGEN Consideremos una imagen continua o señal analógica, f(t), de la que hemos registrado sus valores muéstrales {f'(kT), k∈Z), siendo T∈R+ el periodo de muestreo. Es decir, tenemos registrados los valores de la función en cada uno de los puntos del conjunto: {...,-3T,-2T, -T, 0, T, 2T, 3T,...} En muchos casos, la validez de esta representación muestral va a depender de que seamos capaces de reconstruir la imagen f(x) a partir de estos valores muestrales. Una forma de llevar a cabo esta reconstrucción es realizando una interpolación mediante una función de interpolación apropiada g(t). Es decir, se trata de encontrar una función de interpolación g(t) de manera que ∞ f r (t ) = ∑ f (kT ) ⋅ g (t − kT ) (3 - 1) k = −∞ sea igual a f(t). Por lo tanto, buscamos condiciones sobre f(t), g(t) y T de manera que la imagen reconstruida fr(t) coincida con la imagen original f(t) en los valores de t que queramos. Cada sumando de la expresión (3-1) se puede poner como: ∞ f (kT ) ⋅ g (t − kT ) = ∫ f ( x) ⋅ g (t − x) ⋅ δ ( x − kT ) ∂x −∞ Por lo tanto, sustituyendo e intercambiando el orden de integración, tenemos: ∞ ⎡ ∞ ⎤ f r (t ) = ∫ f ( x) ⋅ g (t − x) ⎢ ∑ δ ( x − kT )⎥ ∂x ⎣ k = −∞ ⎦ −∞ ∞ La función ∑ δ ( x − kT ) es periódica, con periodo T (se repite la función fuera del intervalo k = −∞ [-T/2,T/2] ), por ello admite una representación por series de Fourier de la forma: ∞ ∞ K = −∞ k = −∞ ∑ δ ( x − kT ) = ∑ a k e i 2πkx / T donde ak = = 1 T /2 ⎡ ∞ ⎤ −i 2πkx / T ∂x ∫ ∑ δ ( x − kT )⎥ ⋅ e T −T / 2 ⎢⎣k = −∞ ⎦ 1 T /2 δ ( x) ⋅ e −i 2πkx / T ∂x ∫ T −T / 2 pues sólo el término correspondiente a k=0 es diferente de cero, = 1 , ∀k T Sustituyendo, nos queda: ∞ ∞ −∞ −∞ f r (t ) = ∫ f ( x) ⋅ g (t − x) ⋅ ∑ (e i 2πkx / T / T ) ∂x [ ] ∞ ∞ ⎡ g (t − x) ⎤ = ∑ ∫ f ( x) ⋅ e i 2πkx / T ⋅ ⎢ ⎥ ∂x −∞ −∞ ⎣ T ⎦ cuyo k-ésimo sumando es la convolución de las funciones transformadas de Fourier las funciones F (u − f ( x) ⋅ e i 2πkx / T y g (t ) , que tienen como T k ) y G (u ) / T , respectivamente, siendo F(u) la T transformada de Fourier de f(t) y G(u) de g(t). Finalmente, por la propiedad 2, la transformada de Fourier de la función fr(t) viene dada por la expresión: Fourier [ f r (t )] = Fr (u ) = G (u ) ∞ k ⋅ ∑ F (u − ) T T −∞ Por lo tanto, para que podamos reconstruir perfectamente la imagen a partir de los valores muestrales es preciso que Fr(u) sea igual a F(u) (pues así la transformación inversa de Fr(u) nos determinaría a f(t)). De la expresión anterior se deduce que si la función F está limitada en banda de manera que F (u ) = 0, para u ≥ u c , entonces, si tomamos T ≤ 1/(2uc), la función ⎡............ ⎢ 1 ⎢ F (u + ) T ∞ k ⎢ F * (u ) = ∑ F (u − ) = ⎢ F (u ) T k = −∞ ⎢ F (u − 1 ) ⎢ T ⎢............ ⎣ si si si 1 1 − uc ≤ u ≤ − + uc T T − uc ≤ u ≤ uc 1 1 − uc ≤ u ≤ + uc T T − coincidirá con F(u), para u ≤ u c , puesto que en este caso todos los sumandos correspondientes a los valores k=±1,±2,..., de la expresión anterior son nulos. Por lo tanto, eligiendo como función de interpolación g aquella cuya transformada de Fourier G sea: ⎧ 0 si u > u c G (u ) = ⎨ ⎩T si u ≤ u c conseguimos que Fr(u) = F(u), y obtendremos, de forma exacta, la función f(t) sin más que aplicar la transformada inversa de Fourier a Fr(u). Por otra parte, la función de interpolación cuya transformada de Fourier es la función G(u) anterior es uc g (t ) = ∫ T ⋅ e i 2πut ∂u = − uc sen(2πu c t ) πt T Si elegimos el espaciamiento, T, del muestreo, igual a 1/(2uc), entonces g(t) = senc(2nuct) Por lo tanto, si F(u) = 0, para todo u ≥ u c (toda la información de una función limitada en banda está contenida en el intervalo [-uc , uc]) y entonces podemos reconstruir perfectamente la imagen siempre que T≤ 1 2u c Queda así demostrado el siguiente resultado: Teorema de Whittaker-Kotelnikov-Shanon: Si la transformada de Fourier de la imagen f(t) se anula para u ≥ u c , entonces la imagen se puede reconstruir exactamente a partir de los valores muéstrales siempre que se tomen con un espaciamiento T ≤ 1 . 2u c Si representamos por fm la tasa de muestreo ( fm = 1/T ), la condición anterior es fm ≥ 2uc, que se interpreta diciendo que hay que muestrear la imagen (señal) en una tasa de al menos dos veces la frecuencia absoluta más alta de la imagen (señal). La cantidad 2uc es la tasa o frecuencia Nyquist y 1/(2uc) es el intervalo Nyquist. Por lo tanto, si se verifican las condiciones del teorema anterior, podemos reconstruir exactamente la función f(t), a partir de los valores muestreados, mediante la función de interpolación ∞ ⎛ sen[2πu c (t − kT )] ⎞ ⎟⎟ f r (t ) = ∑ f ( kT ) ⋅ ⎜⎜ k = −∞ ⎝ π (t − kT ) / T ⎠ 3.2. Muestreo con funciones ortonormales. En este método se representa la imagen analógica f(x,y), definida en un dominio Ω ⊂ ℜ2 , en términos de un sistema completo de funciones ortonormales {φmn(x,y)}, de manera que ∞ ∞ f ( x, y ) = ∑ ∑ a ij ⋅ φ ij ( x, y ) (3.2.1) i =0 j =0 y las funciones φ cumplen la condición de ortonormalidad ∫∫ φ mn ( x, y ) ⋅ φ pq ( x, y ) ∂x∂y = δ mp ⋅ δ nq , ∀ m, n, p, q ∈ N , Ω siendo ⎧1 si i = j ⎩0 si i ≠ j δ ij = ⎨ y φ pq ( x, y ) la conjugada de φ pq ( x, y ) . Un ejemplo de sistema ortonormal de funciones es el siguiente: φ mn ( x, y ) = ⎡ ⎛ mx ny ⎞⎤ exp ⎢2πi⎜ + ⎟ , B ⎠⎥⎦ A⋅ B ⎣ ⎝ A 1 m, n = 0,1,2,..... para (x,y)∈[-A/2, A/2]×[-B/2, B/2]. La función vale cero fuera de ese rectángulo. Una vez elegido el sistema de funciones ortonormales, los coeficientes aij se determinan teniendo en cuenta que: ∞ ∞ ∫∫ f ( x, y ) ⋅ φ mn ( x, y ) ∂x∂y = ∑ ∑ aij ∫∫ φ ij ( x, y ) ⋅ φ pq ( x, y ) ∂x∂y = a mn i =0 j =0 Ω Ω Por lo tanto, a mn = ∫∫ f ( x, y ) ⋅ φ mn ( x, y ) ∂x∂y Ω A estos coeficientes los llamaremos muestras de la imagen f(x,y) con respecto a ese sistema ortonormal de funciones, pues a partir de ellos se puede reconstruir la propia función. En el ejemplo anterior, los coeficientes son: a mn = 1 A⋅ B B/2 ∫ −B / 2 ⎡ ⎛ mx ny ⎞⎤ 1 ⎛m n⎞ ⋅ F⎜ + ⎟ ∫ f ( x, y ) ⋅ exp ⎢2πi⎜ A + B ⎟⎥ ∂x∂y = A⋅ B ⎝ A B⎠ ⎠⎦ −A/ 2 ⎣ ⎝ A/ 2 donde F es la transformada de Fourier de f. Los coeficientes amn se llaman muestras de Fourier de f. Otro sistema ortonormal de funciones es el formado por funciones que son constantes en pequeñas regiones rectangulares y se anulan fuera de esos rectángulos. Es decir, φ mn ( x, y ) = MN , AB m = 0,1,2,..., M − 1 n = 0,1,2,..., N − 1 para (x,y)∈[mA/M , (m+1)A/M]×[nB/N , (n+1)B/N], y vale cero fuera de este rectángulo. Los coeficientes vienen dados por la expresión a mn = MN AB (n +1)B/N (m +1)A/M nB/N mA/M ∫ ∫ f ( x, y ) ∂x∂y , que es el promedio de la función f en cada rectángulo. Al muestreo obtenido con este sistema de funciones ortonormales se le llama muestreo estándar. Sin embargo este sistema de funciones no es completo, ya que no nos garantiza que podamos expresar cualquier función f de la forma (3.2.1) con el límite de la suma finito. Desde el punto de vista práctico, se trata de aproximar la función f(x,y) por la suma de funciones M −1 N −1 ∑ ∑ aij ⋅ φ ij ( x, y ) (3.2.2) i =0 j =0 de tal manera que el error cuadrático medio 2 e MN 2 M −1 N −1 = ∫∫ f ( x − y ) − ∑ ∑ a ij ⋅ φ ij ( x, y ) ∂x∂y i =0 j =0 Ω sea mínimo. Se puede comprobar que el mínimo de la expresión anterior se alcanza para a mn = ∫∫ f ( x, y ) ⋅ φ mn ( x, y ) ∂x∂y Ω (ver Rosenfeld y Kak (1982), pag. 94). Ahora se trata de ver si cuando aumentamos el número de términos de (3.2.2) se consigue una mejor aproximación. Así, un conjunto de funciones ortonormales, {φmn(x,y), m,n=0,1,2, ...} se dice que es completo si para cualquier función f(x,y) de cuadrado integrable se verifica que lim M →∞ N →∞ 2 e MN =0 Un conjunto completo de funciones ortonormales también se llama un sistema de base ortonormales. Por lo tanto, para transmitir un imagen f(x,y) sólo necesitamos transmitir un número finito de coeficientes aij, pues podemos reconstruir la imagen a partir de dichos coeficientes, utilizando la expresión (3.2.2). Sin embargo, en general, necesitaríamos un número infinito de ellos para reconstruir la imagen de forma perfecta (sin error) utilizando la expresión (3.2.1). No se consigue nada más si incrementamos M y N más allá de la capacidad de resolución espacial del observador o usuario de la imagen recibida. Se deben incorporar aquellos términos que contribuyan más en los detalles más finos de la imagen y que su eliminación contribuya a una sensible pérdida de resolución. 3.3. Cuantificación de imágenes. Una vez realizado el muestreo de la imagen el paso siguiente es la cuantificación. Como la imagen analógica f(x,y)∈ℜ, es decir, el sensor de imagen toma valores continuos, hay que pasar a un conjunto finito {r1, r2 ,...., rL} de valores posibles de f(x,y), que llamaremos niveles de reconstrucción. En concreto, la imagen muestreada f(m,n), m∈{0,1, ...., M-1}, n ∈{0,1, ...., N-1} toma valores en el conjunto discreto {r1, r2 ,...., rL}. Es decir, f(m,n)∈{r1, r2 ,...., rL}. Así, por cuantificación entenderemos el conjunto de técnicas que seleccionan el conjunto {r1, r2 ,...., rL}, de puntos de ℜ, que permite una "mejor" representación de los valores continuos que toma f(x,y) por puntos de dicho conjunto finito. Un cuantificador Q (escalar) es una aplicación de ℜ en el conjunto discreto de puntos C={r1, r2 ,...., rL}. Es decir, Q : ℜ→ C, donde el conjunto C se llama tabla de códigos. La cantidad r=log2L se llama resolución y mide el número de bits necesarios para representar los códigos. Es decir, los niveles de gris de la imagen muestreada. Por ejemplo, si representamos la intensidad luminosa una imagen f(x,y) por números del conjunto {0,1, ...., 255}, tenemos de una resolución r=log2256=8. Cada cuantificador de L puntos tiene asociada una partición de ℜ en L regiones Ri i=1,2, .... L, definidas por la expresión: Ri= { t∈ℜ : Q (t) = ri } L de manera que ∪ Ri = ℜ, Ri ∩ R j = ∅, i ≠ j . i =1 El más sencillo de los cuantificadores es el cuantificador uniforme. Consideremos una imagen analógica f(x,y) que toma valores en el intervalo [0,100]. Si deseamos cuantificarla en 256 niveles de gris, entonces el cuantificador uniforme sería: Q(t ) = 100 50 (k − 1) + 256 256 si t ∈ [ 100 100 (k − 1) , k) 256 256 k = 1,2,...,256 Se trata de dividir el intervalo [0,100] en 256 partes iguales (intervalos de longitud 100/256) y tomar los puntos centrales de cada intervalo como códigos. En general, un cuantificador de tramos lineales (función escalera) tiene la forma siguiente: Q (t ) = rk si t ∈ [t k , t k +1 ) k = 1,2 ,...,L r8 r7 r6 t1 t2 t8 t9 r3 r2 r1 t∈ ℜ CUANTIFICADOR r∈ C Figura. 1. Cuantificador uniforme. Los valores ri se llaman niveles de reconstrucción, los extremos ti de los intervalos se llaman niveles de decisión o de transición y los intervalos [ti, ti+1) se llaman intervalos de cuantificación. La aplicación de cuantificación es irreversible, es decir, que a partir de la salida no se puede determinar la entrada de forma única. Por lo tanto, los cuantificadores introducen distorsión (pérdida de información) por lo que tenemos que diseñar métodos que intenten minimizarla. 3.4. Cuantificadores óptimos. Se puede representar la intensidad luminosa mediante una variable aleatoria U que toma valores en el conjunto { f(x,y): (x,y)∈ℜ} con función de densidad pU(u). El problema consiste en determinar los niveles de transición ti y los niveles de reconstrucción ri de tal manera que se minimice el error cuadrático medio [ ] t L +1 ξ = E (U − U ' ) 2 = ∫ (u − u ' ) 2 ⋅ pU (u ) ∂u t1 donde U' es la variable aleatoria, U' = Q(U), y E es el operador esperanza matemática (media) de una variable aleatoria. La expresión anterior se puede escribir también como L ti +1 ξ = ∑ ∫ (u − ri ) 2 ⋅ pU (u ) du i =1 ti Las condiciones necesarias para minimizar la expresión anterior se obtienen derivando ξ con respecto a ti y ri, i=1,2,....,L e igualando a cero: a) ∂ξ = (t i − ri −1 ) 2 ⋅ pU (t i ) − (t i − ri ) 2 ⋅ pU (t i ) = 0 , ∂t i y como ti-1 ≤ ti equivale a que ri −1 + ri 2 (1) U ∈ [ti , ti +1 ]⎤⎦ (2) ti = i +1 ∂ξ = −2 ∫ (u − ri ) ⋅ pU (u ) du = 0 ∂ri ti t b) que conduce a la condición: ti +1 ∫ u⋅ p U ri = (u ) du = E ⎡⎣U t1 ti +1 ∫p U (u ) du ti La ecuación (1) establece que los niveles de transición están justo en el punto del centro de los intervalos definidos por los niveles de reconstrucción, y los niveles de reconstrucción son el centro de masa de la densidad de probabilidad entre dos niveles de transición consecutivos. Para resolver estas ecuaciones no lineales podemos seguir un esquema iterativo como el método de Newton. El cuantificador determinado por las dos condiciones anteriores se llama cuantificador de mínimos cuadrados óptimo o, también, cuantificador de Lloyd-Max. Si pU(u) es una función de densidad uniforme en [t1 , tL+1], suponiendo que las cantidades t1 y tL+1 son finitas (llamadas puntos de sobrecarga), entonces, ⎧ 1 ⎪⎪ t − t pU (u ) = ⎨ L +1 1 ⎪ ⎩⎪0 si u ∈ [t1 , t L +1 ] en otro caso y de (2) se tiene, rk = (t k2+1 − t k2 ) 2(t k +1 − t k ) = t k + t k +1 2 que con la condición (1) se tiene que tk − tk −1 = tk +1 − tk = constante = q , por lo tanto, q= t L +1 − t1 , L t i = t i −1 + q, ri = t i + q 2 Es decir, tanto los niveles de transición como los niveles de reconstrucción están igualmente espaciados. Además, el error cuadrático medio, L 1 ξ =∑ i =1 t L +1 − t1 ti + q ∫ ti 2 q ⎤ q2 ⎡ − + = u ( t ) du i ⎢ 2 ⎥⎦ 12 ⎣ Por otra parte, como la varianza de la variable aleatoria U es var(U ) = σ U2 = (t L +1 − t1 ) 2 L2 q 2 = 12 12 Se tiene que la razón de la señal (imagen) al ruido, que es una medida de la fidelidad de imagen, alcanzada por el cuantificador de mínimo error cuadrático medio para una distribución uniforme es: σ U2 = L2 = 2 2 B ξ siendo B el número de bits necesarios para representar el número L (L=2B), y así, la razón de la señal al ruido expresada en decibelios viene dada por SNR = 10 log10 22B=6B decibelios, que corresponde a 6 decibelios por bit. Cuando el número de niveles de cuantificación L es grande podemos aproximar la función de densidad por aquella función de densidad que tiene valor constante en cada intervalo de transición. Es decir, pU (u ) = pU [(t i + t i +1 ) / 2] si u ∈ [t i , t i +1 ] y se obtiene una solución aproximada para los niveles de transición: K ( t k +1 − t k ) L ∫ t k +1 ≈ t1 + (t L +1 − t1 ) ⋅ [ pU (u )]−1 / 3 ∂u t1 t L +1 −1 / 3 ∫ [ pU (u )] ∂u t1 La importancia de esta aproximación radica en que se puede obtener la distorsión cuadrática media del cuantificador como: ξ= 1 12 L2 ⎧⎪t L +1 ⎫⎪ −1 / 3 ⎨ ∫ [ pU (u )] ∂u ⎬ ⎪⎩ t1 ⎪⎭ Las dos distribuciones más utilizadas son la Normal (de Gauss) y la de Laplace. 3.5. El compandor (compresor-expansor). Un compandor es un cuantificador uniforme precedido por una transformación no lineal (de compresión) y seguido por otra transformación no lineal (de expansión). Primero se transforma la variable aleatoria U mediante la transformación no lineal, g que nos da la nueva variable aleatoria W=g(U). Después se le aplica una cuantificación uniforme a la variable aleatoria W obteniéndose una variable aleatoria discreta Z=Q(W) que toma valores en el conjunto C={r1, r2,..., rL} y, finalmente, a la variable aleatoria Z se le aplica una transformación no lineal, h, que nos da la variable aleatoria de salida U´=h(Z). Las funciones g y h que nos conducen a un cuantificador U’=h° q° g(U) que aproxima al cuantificador de Lloyd-Max son las siguientes: ⎡ x ⎤ 1/ 3 ⎢ ∫ [ pU (u )] ∂u ⎥ t ⎥−a g ( x ) = 2a ⋅ ⎢ t 1 ⎢ L +1 ⎥ 1/ 3 ⎢ ∫ [ pU (u )] ∂u ⎥ ⎣⎢ t1 ⎦⎥ w=g(u) h( x) = g −1 ( x) y y=Q(w) u u´=h(y) w -a a y U COMPRESOR g CUANTIFICADOR UNIFORME Q W Z EXPANSOR h U´ Figura 2. El Compandor. -1 Las funciones no lineales g y g se pueden implementar por un dispositivo analógico no lineal y el convertidor uniforme puede ser un simple convertidor analógico-digital. Todos estos métodos se pueden aplicar a la cuantificación de los niveles de gris de una imagen monocroma. Cuando el número L de niveles de gris no es suficiente aparece un fenómeno llamado contorneo que consiste en que los grupos de entornos de pixeles que se cuantifican a un mismo valor forman regiones cuyas fronteras se llaman contornos. La cuantificación uniforme para una imagen f(x,y) que representa la intensidad luminosa del píxel (x,y) requiere unos 256 niveles de gris (8 bits). El efecto de contorneo comienza a hacerse visible a partir de 6 bits/píxel o menos. Como el histograma (estimador de la función de densidad) de la imagen dista mucho de ser uniforme, nosotros utilizaremos el cuantificador uniforme con 8 bits por píxel (256 niveles de gris). Cuando se trata de imágenes en color, las consideraciones sobre la percepción son más importantes, pues como cada píxel de una imagen en color tiene tres componentes que representan los valores de los colores primarios que la definen, la gama de colores es un terreno altamente irregular. La cuantificación de una imagen en color necesita asignar celdas de cuantificación a los colores según el sistema de referencia (coordenadas) elegido. Incluso cuando todos los colores son igualmente frecuentes en la imagen (densidad de probabilidad uniforme), las celdas de cuantificación serán de tamaño desigual, pues a cambios iguales en las coordenadas del color, en general, no producen cambios iguales en los colores percibidos. Por ello, primero es necesario realizar una transformación de las coordenadas R, G y B, y las nuevas coordenadas T1, T2 y T3, se cuantificarán independientemente. La elección de dicha transformación y los cuantificadores se hará de manera que se minimice la diferencia en el color debido a la cuantificación. En el sistema de coordenadas RGB, la gama de colores reproducibles está en el cubo [0,l]×[0,l] × [0,1]. Se ha mostrado que la cuantificación uniforme de cada coordenada de color en este sistema conduce a mejores resultados que con la cuantificación uniforme aplicada a otros sistemas. Se ha encontrado que cuatro bits por color son adecuados en este sistema de coordenadas.