SlideShare a Scribd company logo
1 of 47
Download to read offline
Tema 7:

Cuantificación Escalar

          Rafael Molina
 Depto Ciencias de la Computación
      e Inteligencia Artificial
     Universidad de Granada
Contenidos
1.       Introducción                        3.     Cuantificación adaptativa
     •      Definición.                            •     Cuantificación adaptativa
     •      El problema de la                            hacia adelante (off-line)
            cuantificación.                        •     Cuantificación adaptativa
2.       Cuantificación uniforme                         hacia atrás (on-line).

     •      Introducción.                    4.     Cuantificación no uniforme

     •      Cuantificación de                      •     Cuantificación optimizada
            fuentes uniformemente                        en pdf.
            distribuidas.                          •     Algoritmo de Max-Lloyd
     •      Cuantificación de                      •     Compansores
            fuentes no uniformes.
                                             5.     Bibliografía

 Rafael Molina                  Cuantificación Escalar                          2
1. Introducción
 1.1 Definición de cuantificación:
 Proceso de representación de un número de
 valores extenso (posiblemente infinito) con un
 número mucho menor de valores.

 El adjetivo escalar hacer referencia a las salidas
 y entradas del cuantificador.
Si E/S son escalares                  cuantificador escalar

Si E/S son vectores                cuantificador vectorial
Rafael Molina         Cuantificación Escalar                  3
Ejemplo I: si tenemos como rango de posibles valores de
cuantificación todos los enteros comprendidos entre 0 y
100, podríamos diseñar el siguiente esquema de
cuantificación:
Valor original       2.58   5.56      12.25     23.56     196.58 153.69   52.99   500.52


Valor cuantificado    2      5          12        23       100    100      52      100



Observa que las apariciones de 100 provienen de valores
originales distintos Además, una vez obtenido un valor de
la salida del cuantificador, no hay forma de saber de qué
valor provenía.

Será bueno diseñar cuantificadores que minimicen (en
algún sentido) la diferencia entre la entrada y la salida
 Rafael Molina                   Cuantificación Escalar                              4
I.2 El problema de la cuantificación

El cuantificador consiste en dos funciones:

Codificador:

•divide el rango de valores de la fuente en un número de
intervalos,
•cada intervalo es representado por una palabra de código
distinta,
•el codificador representa todas las fuentes en un intervalo
mediante la palabra de código que lo representa,
•si la fuente es analógica el codificador recibe el nombre de
conversor analógico digital (A/D).

Rafael Molina           Cuantificación Escalar             5
Ejemplo de codificador con ocho valores de reconstrucción.

Se usan 8 valores para representar las palabras del código,
el cuantificador recibe el nombre de cuantificador de 3 bits.




         000           001      010          011         100         101         110         111


                -3.0     -2.0         -1.0         0.0         1.0         2.0         3.0



Observa que las palabras de códigos no necesariamente
representan valores de la fuente.


Rafael Molina                           Cuantificación Escalar                                     6
Decodificador:
•genera un valor de reconstrucción para cada palabra del
código, (como cada palabra representa un intervalo, no
se puede saber ya quien era la fuente original). Podemos
usar el punto medio del intervalo aunque otras opciones
son posibles,
•si la reconstrucción es análogica el decodificador recibe
el nombre de conversor digital a analógico (D/A).


Un ejemplo de decodificador para el ejemplo anterior es la
tabla siguiente
Palabra de código   000    001      010        011     100   101   110   111


Reconstrucción      -3.5   -2.5     -1.5      -0.5     0.5   1.5   2.5   3.5


 Rafael Molina                Cuantificación Escalar                       7
Ejemplo II: consideremos la señal
                         s (t ) = 4 cos(2πt )
muestreada cada 0'05 s. La muestra fue codificada usando
el conversor A/D del ejemplo anterior y decodificada
usando el conversor D/A del mismo ejemplo.

Algunos ejemplos de entradas, conversores A/D y D/A y
los errores en la cuantificación se muestran en la tabla
siguiente:
      t       s(t)        CA/D       CD/A      Error
     0'05        3'804             111                 3'5   0'304
     0'10        3'236             111                 3'5   -0'264
     0'15        2'351             110                 2'5   -0'149
     0'20        1'236             101                 1'5   -0'264
 Rafael Molina                Cuantificación Escalar                  8
Representación gráfica del cuantificador.

Podría decirse que la división de la entrada           Salida
es un problema del codificador y la
asignación de salidas a las palabras del 3.5
código es un problema del decodificador.
                                                2.5
Obviamente ambos problemas están muy
relacionados y los dos forman parte del
diseño del cuantificador. Observa que un 1.5
problema importante de diseño es asignar
códigos binarios a los intervalos.
                                                0.5

                    -4.0   -3.0   -2.0   -1.0                1.0   2.0   3.0       4.0
                                                      -0.5
                                                                         Entrada

                                                      -1.5


                                                      -2.5


                                                      -3.5


    Rafael Molina                        Cuantificación Escalar                          9
Consideremos el siguiente ejemplo de matlab

t = [0:.1:2*pi]; % Times at which to sample
%the sine function

sig = sin(t); % Original signal, a sine wave

partition = [-1:.2:1]; % Length 11, to
%represent 12 intervals

codebook = [-1.2:.2:1]; % Length 12, one
%entry for each interval

[index,quants]=
quantiz(sig,partition,codebook); % Quantize
plot(t,sig,'x',t,quants,'.')
legend('Original signal','Quantized signal');
axis([-.2 7 -1.2 1.2])


   Rafael Molina                   Cuantificación Escalar   10
Pasamos a la formulación matemática del problema de diseño
de un cuantificador
Supongamos que nuestra fuente X es modelizada mediante
una variable aleatoria con función de densidad fX(x).

Para construir un cuantificador con M intervalos necesitamos:

   1. Los M+1 puntos finales de los intervalos (fronteras de
      decisión) y
   2. Los M valores representativos (niveles de reconstrucción)
      de esos intervalos que vamos a utilizar.

Las fuentes discretas se suelen modelizar como continuas. A
veces se supone (incluso para fuentes discretas) que la
diferencia entre dos valores dentro de un mismo intervalo de
cuantificación es una distribución fX(x) de Laplace.
 Rafael Molina           Cuantificación Escalar            11
Observa que si X toma valores en toda la recta real los
extremos de los intervalos finales serán –∞ y +∞

Si   {y } son los valores de reconstrucción y
                M
              i i=1

{bi }i=0 son los límites de decisión
     M


El error cuadrático medio de cuantificación se define
mediante                  ruído de cuantificación

                      ∞                                          M    bi

                      ∫ (x − Q(x ))   ⋅ f X ( x )dx =            ∑ ∫ (x − y )        f X ( x )dx
          2                       2                                              2
     σq        =                                                             i
                   −∞                                            i=1 bi −1




Rafael Molina                           Cuantificación Escalar                                     12
Para medir el número medio de bits por palabra de código
observamos que cuando todas las palabras del código tienen
longitud fija, si M es el número de palabras de código,
entonces la razón R viene dada por

                                    R = log 2 M

Si la longitud de los códigos es variable entonces
                              M        bi                     M
                      R = ∑ li
                              i=1
                                       ∫ f (x )dx = ∑ l
                                      bi −1
                                              X
                                                              i=1
                                                                    i   ⋅ P ( yi )

donde li es la longitud de la palabra de código asignada a yi y P(yi) corresponde a la
probabilidad de que aparezca yi.

Observa que R depende de y, b y l (que depende del código
utilizado C) y por tanto para ser precisos debemos escribir
R(y,b,C).
  Rafael Molina                      Cuantificación Escalar                          13
Ya conocemos las dos magnitudes fundamentales de
 un cuantificador, R y σ q .
                         2



 Podría pensarse que para diseñar un cuantificador se
 podría intentar minimizar simultáneamente R y σ q . Sin
                                                 2

 embargo, esta minimización simultánea no es posible.

 Un decremento en el número medio de bits por palabra
 de código conlleva un aumento de la distorsión de
 cuantificación y viceversa.
Observa:
1.    si disminuimos R, la distorsión del cuantificador crecerá debido a que habrá
      menos resolución (habrá menos intervalos) en la cuantificación.
2.    si queremos disminuir la distorsión deberemos decrementar la longitud de
      los intervalos de cuantificación, lo que conlleva inexorablemente
      incrementar el número de bits medio de las palabras de código.

     Rafael Molina                  Cuantificación Escalar                           14
El diseño de un cuantificador consiste en
Dada una distorsión máxima permitida D* , σq² ≤ D* ,

encontrar los límites de decisión,                            niveles       de
reconstrucción y código que minimicen R.
o
Dada una cota máxima de razón de cuantificación
permitida, R ≤ R*,

encontrar los niveles de reconstrucción, los límites de
decisión y código que minimicen σq² .

Observa que el problem es bastante complicado, siendo algo más simple si
suponemos que los códigos son de longitud fija. Comenzaremos con este caso para
luego pasar al general.

Rafael Molina                   Cuantificación Escalar                            15
2. Cuantificación uniforme

Es el cuantificador más simple.

•Todos sus intervalos de cuantificación tienen el mismo
tamaño (se suele notar como ∆); con la salvedad del
primer y último intervalo si la señal de entrada no está
acotada.

•Los valores de reconstrucción están igualmente
espaciados con el mismo espacio que las fronteras de
decisión ∆.


Rafael Molina          Cuantificación Escalar              16
bk +1 − bk = Δ    si bk ,bk+1 finitos (entrada)
                                                    Salida

 y j+1 − y j = Δ ∀j (salida)               7Δ/2

                                           5Δ/2
                        yj+1
                               Δ
                                           3Δ/2
                        yj

                                            Δ/2


                      -3 Δ     - 2Δ   -Δ                     Δ    2Δ       3Δ
                                                  -Δ/2
                                                                                Entrada

                                                  -3Δ/2

                                                                       Δ
                                                  -5Δ/2
                                                                 bk        bk+1
                                                  -7Δ/2


  Rafael Molina                       Cuantificación Escalar                              17
Tipos de cuantificadores uniformes:
                                                                                                  1000



Cuantificador Midtread (Cuantificador
                                                                                           0111

                                                                                    0110

uniforme asimétrico): el 0 pertenece al                                       0101


conjunto de salidas.                                                   0100

                                                                   0011

                                                                0010

Normalmente se usan los cuantificadores                  0001


midtread si el número de intervalos es            0000



impar o si necesitamos representar al 0
en los valores de salida.                                                                         111


                                                                                            110


                                                                                     101



Cuantificador Midrise (Cuantificador                                          100


                                                                       011
uniforme simétrico): el 0 no está en el                          010

conjunto de salidas.                                      001


                                                   000


  Rafael Molina          Cuantificación Escalar                                                     18
II.1 Cuantificación uniforme                    sobre   fuentes
uniformemente distribuidas:

El diseño de un cuantificador uniforme con M intervalos,
para una entrada uniformemente distribuida en el
intervalo finito [-Xmax , Xmax] es muy simple.

Dividiremos [-Xmax,      Xmax] en M intervalos, así
obtendremos ∆.
                                     2 X max
                        Δ =
                                       M
El valor de cuantificación para el intervalo comprendido
entre (i-1)Δ e iΔ es
                                2i − 1
                           yi =        Δ
                                  2
Rafael Molina          Cuantificación Escalar                19
¿Cuánto vale gráficamente                               x-Q(x)

el error de cuantificación? Δ/2
           -Xmax=-4Δ

                           -3 Δ     - 2Δ   -Δ                 Δ     2Δ   3Δ   Xmax=4Δ
                                                       -Δ/2

Supongamos que M es par. ¿Cuánto vale el error
cuadrático medio de cuantificación?
                 XZ
                 M          bi
    2
   σq      =                      (x − yi )2 fX (x)dx
                 i=1       bi−1

                     M/2 Z i∆
                     X                   2i − 1 2 1
           =     2                  (x −       ∆)       dx
                     i=1     (i−1)∆         2     2Xmax
                                  M/2 Z i∆
                     ∆            X      2i − 1 2 1
           =     2                  (x −       ∆)   dx
                   2Xmax i=1 (i−1)∆         2     ∆
                        Z ∆
                  2∆ M          1 21
           =         2
                            (x − ∆)     dx = ∆2 /12
                 2Xmax 0        2     ∆
 Rafael Molina                             Cuantificación Escalar                       20
La varianza de una distribución U[-Xmax,Xmax] vale

                              σ x2 =
                                        (2 X max )2        Observa que
                                                           corresponde a Δ=1
                                             12

Supongamos que M=2n . Calculemos la relación señal/ruido
de este cuantificador. Tenemos                        2X                          max
                                                                 recuerda   Δ =
                                                                                  M
                          2                            2
                         σx                (2Xmax ) /12
SNR(dB) =        10 log10 2   = 10 log10                = 10 log10 (M 2 )
                         σq                  (∆)2 /12
                              = 20 log10 (2n ) = 6.02n dB

esta ecuación expresa que por cada bit que añadamos al
cuantificador, obtendremos una mejora (SNR) de 6'02 dB. Es
decir, la expresión, nos permite medir cuanto mejorará
nuestro cuantificador como máximo con respecto a la
distorsión.
 Rafael Molina                    Cuantificación Escalar                          21
II.2 Cuantificación uniforme                            sobre          fuentes        no
uniformemente distribuidas:
Consideremos de nuevo el intervalo (-Xmax,Xmax) cuyos
extremos ahora pueden ser infinito. Podemos construir un
cuantificador, que también es uniforme, mediante la
siguiente division del intervalo  (-Xmax,Xmax)
                                                    Los valores de cuantificación
                                          Δ’/2      serán siempre de la forma iΔ’/2



                 -Xmax   -3Δ’ - 2Δ’ -Δ’       Δ’ 2Δ’ 3Δ’                   Xmax
                                          -Δ’/2



Observa que si nuestra fuente está en el intervalo [-1,1] con
probabilidad 0.95 y en [-100,-1) U (1,100] con probabilidad
0.05, esta división es mucho más razonable.

¿Cuál es el error de cuantificación?
 Rafael Molina                 Cuantificación Escalar                                 22
Tendremos
                             M/2−1 Z i∆
                              X                  2i − 1 2
          2
         σq       =      2                  (x −       ∆) fX (x)dx
                                     (i−1)∆         2
                              i=1
                             Z ∞
                                         M −1 2
                  +      2          (x −     ∆) fX (x)dx
                           (M/2−1)∆        2
Podemos usar la regla de Leibnitz:
            Z    b(t)                      Z    b(t)
       ∂                                               ∂f (x, t)
                        f (x, t)dx   =                           dx
       ∂t       a(t)                           a(t)       ∂t
                                                       ∂b(t)               ∂a(t)
                                     +     f (b(t), t)       − f (a(t), t)
                                                        ∂t                  ∂t
para calcular ∂σ2q/ ∂Δ y consecuentemente encontrar (en
principio) el valor de Δ que minimiza el error de
cuantificación.
Rafael Molina                          Cuantificación Escalar                      23
La tabla siguiente muestra los valores óptimos de ∆
 para distintas distribuciones de entrada:

     Tamaño        D. Uniforme               D. Gaussiana             D. Laplaciana
        del
     alfabeto      ∆        SNR             ∆                SNR       ∆         SNR
          2      1,732      6,02          1,596             4,40    1,414       3,00
          4      0,866     12,04         0,9957              9,24   1,0873       7,05
          6      0,577     15,58         0,7334             12,18   0,8707       9,56
          8      0,433     18,06         0,5860             14,27   0,7309      11,39
         10      0,346     20,02         0,4908             15,90   0,6334      12,81
         12      0,289     21,60         0,4238             17,25   0,5613      13,98
         14      0,247     22,94         0,3739             18,37   0,5055      14,98
         16      0,217     24,08         0,3352             19,36   0,4609      15,84
         32      0,108     30,10         0,1881             24,56   0,2799      20,46


Observa que cuanto menos uniforme es (tiene más pico)
la distribución de entrada, menos obedece la regla del
incremento de SNR en 6'02 dBs por cada bit.
 Rafael Molina                     Cuantificación Escalar                               24
Observa que la forma del error es ahora diferente

Probabilidad de
sobrecarga                                               Probabilidad
                                                         granular

                                                x-Q(x)

                                        Δ/2



                     -3 Δ   - 2Δ   -Δ                 Δ       2Δ        3Δ
                                               -Δ/2




   Ruido de sobrecarga              Ruido granular                      Ruido de sobrecarga


   Normalmente, la probabilidad de que un error sea de sobrecarga
   es mucho menor que la probabilidad de que sea granular.

  Rafael Molina                    Cuantificación Escalar                                 25
Efectos de desemparejamiento (desajuste):

Existen dos tipos de desajuste:

            1. El tipo de distribución que se usa es el de la
               señal de entrada, pero la varianza de la entrada
               y la supuesta no coinciden.

            2. El tipo de distribución es distinto de la supuesta
               para obtener el valor del paso.



Para resolver estos errores aparecen los cuantificadores
adaptativos que discutiremos a continuación.
 Rafael Molina               Cuantificación Escalar            26
III. Cuantificación adaptativa

Vamos a intentar resolver los problemas de desajuste tanto
de los parámetros de la distribución de entrada como de
una especificación errónea de la distribución.

Si suponemos que disponemos de todos los datos a
cuantificar aparecerá la cuantificación adaptativa off-line o
hacia delante que nos obligará a enviar información
adicional con el cuantificador conforme lo modifiquemos.

Si suponemos que sólo disponemos de los valores
cuantificados no necesitaremos enviar información adicional
y dará lugar a la cuantificación adaptativa on-line o hacia
atrás.
 Rafael Molina          Cuantificación Escalar           27
III.1. Cuantificación adaptativa off-line
Podemos:

Dividir nuestros datos de entrada en bloques, (supuesto
que todos son de media cero), calcular su desviación típica
por bloque y dividir cada dato por la desviación típica del
bloque al que pertenece.

Así todos los datos (de todos los bloques en su conjunto)
serán más uniformes y podemos aplicar sobre ellos un
cuantificador del tipo uniforme que hemos visto.

Observa que tenemos que trasmitir la desviación típica de
cada bloque ya que posteriormente tendremos que
multiplicar los datos cuantificados por la desviación típica
del bloque al que pertenece.
 Rafael Molina          Cuantificación Escalar          28
Igualmente podríamos normalizar al rango [-1,1] cada
bloque utilizando el máximo y el mínimo de cada bloque
(que luego obviamente tendríamos que transmitir)

Observa que los
datos de la
secuencia de voz de
la derecha son
candidatos perfectos
para su división por
bloques y la
utilización de un
paso diferente en
cada bloque
                       We could barely see the fjords through the snow flurries

 Rafael Molina         Cuantificación Escalar                           29
III.2 Cuantificación adaptativa on-line

Si nuestros datos pensamos que vienen de una
determinada distribución de probabilidad, podemos calcular
la probabilidad de que un dato ‘caiga’ en cada intervalo de
cuantificación.

Si con los datos cuantificados que vamos recibiendo,
calculamos la probabilidad de cada intervalo de
cuantificación y no es parecida a la calculada con la
distribución de probabilidad que suponemos, tendremos
que modificar el paso del cuantificador (observa que sólo
podemos hacerlo globalmente no en cada intervalo)
aumentándolo o disminuyéndolo.

 Rafael Molina           Cuantificación Escalar         30
Esta es la idea del cuantificar de Jayant que no
discutiremos aquí y que funciona modificando el paso
con cada dato cuantificado.

Observa que no hay necesidad de enviar ninguna
información adicional.




Rafael Molina       Cuantificación Escalar        31
IV. Cuantificación no-uniforme
Consideremos la siguiente función de densidad




Es obvio que sería bueno que los intervalos de cuantificación
fuesen muy pequeños cerca del cero y luego fuesen
creciendo (esto no lo podemos hacer con un cuantificador
uniforme).
Rafael Molina          Cuantificación Escalar             32
Un cuantificador que tiene
intervalos no uniformes              y4

recibe el nombre de
cuantificador no-uniforme
                                    y3


                                     y2


                                    y1

                  b-3   b-2   b-1                 b1   b2   b3

                                            y-4


                                            y-3


                                            y-2



                                             y-1
 Rafael Molina                Cuantificación Escalar             33
IV.1 Cuantificación optimizada en pdf

Consideremos el error de cuantificación para una determinada
función de densidad fX(x)
                         X Z bi
                          M
                    2
                  σq =            (x − yi )2 fX (x)dx
                        i=1     bi−1

Para calcular los valores de y que minimizan esta función tenemos
                        2      Z bi
                    ∂σq
                          = −2       (x − yi )fX (x)dx
                     yi         bi−1
que igualando a cero produce
                            R bi
                              bi−1
                                       xfX (x)dx
                     yi =     R bi
                               bi−1
                                        fX (x)dx
 Rafael Molina              Cuantificación Escalar              34
De la misma forma, puede probarse fácilmente que
               ÃZ                           Z bi+1                      !
   2              bi
 ∂σq       ∂
       =              (x − yi )2 fX (x)dx +        (x − yi+1 )2 fX (x)dx
 ∂bi      ∂bj    bi−1                        bi

         = (bi − yi )2 fX (bi ) − (bi − yi+1 )2 fX (bi )

que igualando a cero produce
                                 yi + yi+1
                            bi =
                                     2
Max publicó en una revista como resolver estas ecuaciones
en 1960, aunque la solución la había dado antes en un
memorandum interno de Bell Labs, en 1957 Lloyd. De aquí
que el algoritmo se llame de Lloyd-Max. Sin embargo,
Lukaszewicz y Steinhaus parece que lo habían publicado con
anterioridad en 1955 en una revista polaca.
  Rafael Molina                  Cuantificación Escalar             35
El algoritmo de Max-Lloyd
1. Inicializa los niveles de salida ym, m=1,…,M

2. Define los conjuntos de vecinos más próximos a dichos
   niveles

    Ωm = {x : (x − ym )2 ≤ (x − yk )2 ∀k 6= m} m = 1, . . . , M

3. Calcula los nuevos niveles de salida como la media de los
   datos en cada región
                          R
                              x∈Ωm   xfX (x)dx
                      ym = R
                               x∈Ωm   fX (x)dx
4. Mientras mejoremos suficientemente el error de
   cuantificación volver al paso 2. En caso contrario parar.
 Rafael Molina            Cuantificación Escalar               36
¿qué ocurre si sólo tenemos muestras {x1,…,xL} de la
 variable aletoria X con función de densidad fX(x)?
  El algoritmo de Max-Lloyd (discreto)

1. Inicializa los niveles de salida ym, m=1,…,M

2. Define los conjuntos de vecinos más próximos a dichos
   niveles
   Ωm = {xi : (xi − ym )2 ≤ (xi − yk )2 ∀k 6= m} m = 1, . . . , M

3. Calcula los nuevos niveles de salida como la media de los
   datos en cada región
                               1 X
                       ym   =      xi
                              Ωm
                                      xi ∈Ωm
4. Mientras mejoremos suficientemente el error de
   cuantificación volver al paso 2. En caso contrario parar.
 Rafael Molina            Cuantificación Escalar               37
Las gráficas siguientes muestran el resultado de utilizar el algoritmo
de Max-Lloyd para construir un cuantificador basado en 10.000
observaciones de una N(0,1) utilizando sqdtool en Matlab. Observa
los diferentes tamaños de los intervalos de cuantificación.




  Rafael Molina              Cuantificación Escalar                 38
IV.2 Compansores de Cuantificación
Otra forma de abordar la cuantificación no uniforme es
primero procesar los datos de forma que se transformen
en (se parezcan a) realizaciones de una distribución
uniforme (compresor), utilizar después un cuantificador
uniforme y finalmente deshacer el cambio (expansor)




Compresor             Cuantificador uniforme     Expansor


Esta sería la descripción gráfica del proceso para una fuente
que concentra su masa de probabilidad simétricamente
alrededor del cero.
 Rafael Molina          Cuantificación Escalar              39
Supongamos que tenemos
una variable que toma valores                                     Salida
en el intervalo [-4,4] con más                             3.5
masa de probabilidad cerca                                 2.5
del cero y simétrica.
                                                           1.5


Podemos usar el cuantificador                              0.5

que se muestra en la figura              -4.0 -3.0 -2.0 -1.0
                                                                 -0.5
                                                                     1.0 2.0   3.0 4.0

pero     podemos       también                                                 Entrada
                                                                 -1.5
procesar los datos antes de
usar dicho cuantificador.                                        -2.5

                                                                 -3.5

Veamos el proceso

 Rafael Molina         Cuantificación Escalar                                      40
Consideremos el siguiente compresor
que pretende llevar nuestra                      y su inversa
distribución a una uniforme en [-4,4].
Observa que mueve masa de
probabilidad de regiones próximas al
cero a alejadas del cero
       ⎧                                         ⎧
       ⎨ 2x         −1 ≤ x ≤ 1                   ⎨ x/2      −1 ≤ x ≤ 1
c(x) =   2x/3 + 4/3   x>1              c−1 (x) =   3x/2 − 2   x>2
       ⎩                                         ⎩
         2x/3 − 4/3  x < −1                        3x/2 + 2  x < −2




 Rafael Molina          Cuantificación Escalar                    41
Supongamos que la fuente está acotada por un valor xmax, entonces
cualquier cuantificador no uniforme puede representarse por un
compansor.

Veamos como usando este hecho podemos desarrollar un
cuantificador que es robusto a errores de ajuste.

Comencemos considerando cuantificadores con un número elevado
de niveles.

Sea                          ∆k = bk − bk−1

Si el número de niveles es alto, el tamaño de cada intervalo de
cuantificación será pequeño y podemos escribir dentro de cada
intervalo de cuantificación

                  fX (x) = fX (yk )         si         bk−1 ≤ x < bk
  Rafael Molina               Cuantificación Escalar                   42
Lo que nos permite escribir el error de cuantificación como

   2
           PM                    R bi                    2            1
                                                                           PM
  σq   =          i=1 fX (yi )    bi−1
                                       (x − yi ) dx =                 12     i=1 fX (yi )∆3
                                                                                          i

Una aproximación de la derivada de                           de donde
c(yk) puede obtenerse de la forma                                         M           µ            ¶3
siguiente                                                             1  X              2xmax
                                                           2
                                                          σq      =          fX (yi )
                      c(bk )−c(bk−1 )                                 12 i=1            M c0 (yi )
        c0 (yk ) =          ∆k
                                                                            M
                                                                      x2 X fX (yi ) 2xmax
Si c() lleva nuestra señal a una                                  =    max
                                                                      3M 2 i=1 c0 2 (yi ) M c0 (yi )
distribución U[-xmax , xmax] entonces
                                                                           M
                                                                      x2 X fX (yi )
                                                                       max
                                              2xmax               =                    ∆
             c(bk ) − c(bk−1 ) =                M
                                                                         2
                                                                      3M i=1 c 0 2 (y ) i
                                                                                     i

que usado en la fórmula anterior                             que para Δi pequeño produce
produce
                          2xmax                               2       x2     R xmax    fX (x)
                  ∆k =   M c0 (yk )
                                                             σq   =    max
                                                                      3M 2    −xmax    c0 2 (x)
                                                                                                dx
  Rafael Molina                         Cuantificación Escalar                                43
La fórmula anterior recibe el nombre de integral de Bennett.

Supongamos            (para librarnos de la dependencia de la fuente)     que
0              xmax                                 x2     R xmax                          α2
c (x) =        α|x|     entonces            2
                                           σq   =    max
                                                    3M 2        −xmax
                                                                        fX (x)
                                                                        c0 2 (x)
                                                                                 dx   =   3M 2
                                                                                                2
                                                                                               σx

y por tanto la SNR es independiente de la pdf de entrada y
vale                    σx2
          SN R = 10 log σ 2 = 10 log10 (3M 2 ) − 20 log10 α
                                       q


Utilizando la ecuación de definición de la derivada de c()
obtenemos que                                |x|
                             c(x) = xmax + β log                    xmax
Como estos compresores tienen problemas alrededor del
cero, se modifican para definir una función que es lineal
alrededor del cero y logarítmica lejos de él. Tenemos
entonces la siguientes leyes:
    Rafael Molina                      Cuantificación Escalar                                 44
La ley μ de compresión
                                                       |x|
                                 ln(1+μ xmax )
                   c(x) =    xmax ln(1+μ) sgn(x)
cuyo expansor es
                                    h         |x|
                                                     i
                             xmax
                 c−1 (x) =    μ
                                     (1 + μ) xmax − 1 sgn(x)
Esta ley con μ=255 se usa en
telefonía en Estados Unidos y
Japón.

La función compand de
Matlab puede ser utilizada
para ver esta función
(además de obviamente
como compansor).
 Rafael Molina                Cuantificación Escalar           45
La ley A de compresión
                     (          A|x|                                    |x|    1
                               1+ln A sgn(x)                       0 ≤ xmax ≤ A
                    c(x) =                A|x|
                                     1+ln xmax
                               xmax 1+ln A               sgn(x)    1
                                                                   A ≤ |x| ≤ 1
                                                                        A
cuyo descompresor es
                   (         |x|
                              A (1 + ln A)
                                       h                          i 0 ≤ x|x| ≤ + ln A
                                                                                  1
                 c−1 (x) =                                                max
                             xmax
                               A  exp x|x| (1
                                         max
                                                       + ln A) − 1    1
                                                                    1+ln A ≤ |x| ≤ 1
                                                                              A


Esta ley con A=87.5 se usa
en numerosos paises.

La función compand de
Matlab puede ser utilizada
para ver esta función
(además de obviamente
como compansor).
 Rafael Molina                Cuantificación Escalar                            46
VI. Bibliografía
K. Sayood, “Introduction to Data Compression”, Morgan and
Kaufmann, 2005.




 Rafael Molina          Cuantificación Escalar          47

More Related Content

What's hot

Propagacion en el espacio libre
Propagacion en el espacio librePropagacion en el espacio libre
Propagacion en el espacio libreAngeliTo Salcedo
 
Lab de modulacion fsk final
Lab de modulacion fsk finalLab de modulacion fsk final
Lab de modulacion fsk finalECCI
 
Lecture 4 analisis radioprop p2
Lecture 4 analisis radioprop   p2Lecture 4 analisis radioprop   p2
Lecture 4 analisis radioprop p2nica2009
 
Trabajo especial modulacion angular
Trabajo especial modulacion angularTrabajo especial modulacion angular
Trabajo especial modulacion angularVictor Diaz
 
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOSCAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOSStudent A
 
Modelos de propagación interiores
Modelos de propagación interioresModelos de propagación interiores
Modelos de propagación interioresFrancisco Sandoval
 
Presentacion 2 datos digitales señales digitales
Presentacion 2 datos digitales señales digitalesPresentacion 2 datos digitales señales digitales
Presentacion 2 datos digitales señales digitalesLissette Adriano
 
Lecture 7 analisis radioprop p5
Lecture 7 analisis radioprop   p5Lecture 7 analisis radioprop   p5
Lecture 7 analisis radioprop p5nica2009
 
Ejercicios Modulación Análoga & Digital resultados(fam)-rev3
Ejercicios Modulación Análoga & Digital resultados(fam)-rev3Ejercicios Modulación Análoga & Digital resultados(fam)-rev3
Ejercicios Modulación Análoga & Digital resultados(fam)-rev3Francisco Apablaza
 
Modulacion en frecuencia fm
Modulacion en frecuencia fmModulacion en frecuencia fm
Modulacion en frecuencia fmGustavo ZellCa
 
Unidad 2 TELECOMUNICACIONES
Unidad 2 TELECOMUNICACIONESUnidad 2 TELECOMUNICACIONES
Unidad 2 TELECOMUNICACIONESIsluan Huerta
 
Códigos de errores - Telecomunicaciones III
Códigos de errores - Telecomunicaciones IIICódigos de errores - Telecomunicaciones III
Códigos de errores - Telecomunicaciones IIIAndy Juan Sarango Veliz
 
Lecture 6 formateo de señales en pcm
Lecture 6 formateo de señales en pcmLecture 6 formateo de señales en pcm
Lecture 6 formateo de señales en pcmnica2009
 

What's hot (20)

Propagacion en el espacio libre
Propagacion en el espacio librePropagacion en el espacio libre
Propagacion en el espacio libre
 
Lab de modulacion fsk final
Lab de modulacion fsk finalLab de modulacion fsk final
Lab de modulacion fsk final
 
Isi
IsiIsi
Isi
 
Transformada de hilbert
Transformada de hilbert Transformada de hilbert
Transformada de hilbert
 
Carta de Smith y Ejemplos
Carta de Smith y EjemplosCarta de Smith y Ejemplos
Carta de Smith y Ejemplos
 
Lecture 4 analisis radioprop p2
Lecture 4 analisis radioprop   p2Lecture 4 analisis radioprop   p2
Lecture 4 analisis radioprop p2
 
Trabajo especial modulacion angular
Trabajo especial modulacion angularTrabajo especial modulacion angular
Trabajo especial modulacion angular
 
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOSCAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
CAPACIDAD DE CANAL DE COMUNICACIÓN DE DATOS
 
Modelos de propagación interiores
Modelos de propagación interioresModelos de propagación interiores
Modelos de propagación interiores
 
Presentacion 2 datos digitales señales digitales
Presentacion 2 datos digitales señales digitalesPresentacion 2 datos digitales señales digitales
Presentacion 2 datos digitales señales digitales
 
Transmisor de AM
Transmisor de AM Transmisor de AM
Transmisor de AM
 
Lecture 7 analisis radioprop p5
Lecture 7 analisis radioprop   p5Lecture 7 analisis radioprop   p5
Lecture 7 analisis radioprop p5
 
Ejercicios Modulación Análoga & Digital resultados(fam)-rev3
Ejercicios Modulación Análoga & Digital resultados(fam)-rev3Ejercicios Modulación Análoga & Digital resultados(fam)-rev3
Ejercicios Modulación Análoga & Digital resultados(fam)-rev3
 
Pcm
PcmPcm
Pcm
 
Modulacion en frecuencia fm
Modulacion en frecuencia fmModulacion en frecuencia fm
Modulacion en frecuencia fm
 
Unidad 2 TELECOMUNICACIONES
Unidad 2 TELECOMUNICACIONESUnidad 2 TELECOMUNICACIONES
Unidad 2 TELECOMUNICACIONES
 
Códigos de errores - Telecomunicaciones III
Códigos de errores - Telecomunicaciones IIICódigos de errores - Telecomunicaciones III
Códigos de errores - Telecomunicaciones III
 
Antenas - Examen Final
Antenas - Examen FinalAntenas - Examen Final
Antenas - Examen Final
 
Teoria de telecomunicaciones i cap1y2
Teoria de telecomunicaciones i cap1y2Teoria de telecomunicaciones i cap1y2
Teoria de telecomunicaciones i cap1y2
 
Lecture 6 formateo de señales en pcm
Lecture 6 formateo de señales en pcmLecture 6 formateo de señales en pcm
Lecture 6 formateo de señales en pcm
 

Viewers also liked

Muestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabMuestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabmarco calderon layme
 
Procesamiento digital de señales con matlab
Procesamiento digital de señales con matlabProcesamiento digital de señales con matlab
Procesamiento digital de señales con matlabPercy Julio Chambi Pacco
 
TEMAS IMPORTANTES DE INTRODUCCION A LAS TELECOMUNICACIONES
TEMAS IMPORTANTES DE INTRODUCCION A LAS TELECOMUNICACIONES TEMAS IMPORTANTES DE INTRODUCCION A LAS TELECOMUNICACIONES
TEMAS IMPORTANTES DE INTRODUCCION A LAS TELECOMUNICACIONES Alberto Mendoza
 
PULSE CODE MODULATION (PCM)
PULSE CODE MODULATION (PCM)PULSE CODE MODULATION (PCM)
PULSE CODE MODULATION (PCM)vishnudharan11
 
3.PCM Digitalizacion de señal analogica
3.PCM Digitalizacion de señal analogica3.PCM Digitalizacion de señal analogica
3.PCM Digitalizacion de señal analogicaEdison Coimbra G.
 
Procesador de imágenes toolbox Matlab
Procesador de imágenes toolbox MatlabProcesador de imágenes toolbox Matlab
Procesador de imágenes toolbox Matlabdave
 
Modulacion PSK
Modulacion PSKModulacion PSK
Modulacion PSKRick P
 
Sistema de transmision banda base
Sistema de transmision banda baseSistema de transmision banda base
Sistema de transmision banda baseDouglas
 
Imagen Filtrado Espacial
Imagen Filtrado EspacialImagen Filtrado Espacial
Imagen Filtrado EspacialOmar Sanchez
 
Vectores: el producto escalar
Vectores: el producto escalarVectores: el producto escalar
Vectores: el producto escalarPujante
 

Viewers also liked (20)

Cuantificación
CuantificaciónCuantificación
Cuantificación
 
Muestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabMuestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLab
 
Procesamiento digital de señales con matlab
Procesamiento digital de señales con matlabProcesamiento digital de señales con matlab
Procesamiento digital de señales con matlab
 
TEMAS IMPORTANTES DE INTRODUCCION A LAS TELECOMUNICACIONES
TEMAS IMPORTANTES DE INTRODUCCION A LAS TELECOMUNICACIONES TEMAS IMPORTANTES DE INTRODUCCION A LAS TELECOMUNICACIONES
TEMAS IMPORTANTES DE INTRODUCCION A LAS TELECOMUNICACIONES
 
PULSE CODE MODULATION (PCM)
PULSE CODE MODULATION (PCM)PULSE CODE MODULATION (PCM)
PULSE CODE MODULATION (PCM)
 
Practica1m
Practica1mPractica1m
Practica1m
 
3.PCM Digitalizacion de señal analogica
3.PCM Digitalizacion de señal analogica3.PCM Digitalizacion de señal analogica
3.PCM Digitalizacion de señal analogica
 
Muestreo y Cuantificación de Imágenes de Carbonizados by Chaves
Muestreo y Cuantificación de Imágenes de Carbonizados by ChavesMuestreo y Cuantificación de Imágenes de Carbonizados by Chaves
Muestreo y Cuantificación de Imágenes de Carbonizados by Chaves
 
Procesador de imágenes toolbox Matlab
Procesador de imágenes toolbox MatlabProcesador de imágenes toolbox Matlab
Procesador de imágenes toolbox Matlab
 
Entropia
EntropiaEntropia
Entropia
 
Codigos de linea
Codigos de lineaCodigos de linea
Codigos de linea
 
29octubre cuantificacion
29octubre cuantificacion29octubre cuantificacion
29octubre cuantificacion
 
Modulacion PSK
Modulacion PSKModulacion PSK
Modulacion PSK
 
Audio Digital
Audio DigitalAudio Digital
Audio Digital
 
Sistema de transmision banda base
Sistema de transmision banda baseSistema de transmision banda base
Sistema de transmision banda base
 
Multiplicación
MultiplicaciónMultiplicación
Multiplicación
 
Modulacion fsk
Modulacion fskModulacion fsk
Modulacion fsk
 
Imagen Filtrado Espacial
Imagen Filtrado EspacialImagen Filtrado Espacial
Imagen Filtrado Espacial
 
Vectores: el producto escalar
Vectores: el producto escalarVectores: el producto escalar
Vectores: el producto escalar
 
Espacios vectoriales
Espacios vectorialesEspacios vectoriales
Espacios vectoriales
 

Similar to 07 cuantificacion escalar (1) (20)

14 cifraasimetrica
14 cifraasimetrica14 cifraasimetrica
14 cifraasimetrica
 
Aritmética de los números binarios
Aritmética de los números binariosAritmética de los números binarios
Aritmética de los números binarios
 
Resolucion de 35 programas básicos
Resolucion de 35 programas básicosResolucion de 35 programas básicos
Resolucion de 35 programas básicos
 
RSA crypt4you
RSA crypt4youRSA crypt4you
RSA crypt4you
 
Códigos lineales
Códigos linealesCódigos lineales
Códigos lineales
 
Leccion01 rsa crypt4you
Leccion01 rsa crypt4youLeccion01 rsa crypt4you
Leccion01 rsa crypt4you
 
Datos Escalares
Datos EscalaresDatos Escalares
Datos Escalares
 
Introduccion al calculo numerico y manejo de errores
Introduccion al calculo numerico y manejo de erroresIntroduccion al calculo numerico y manejo de errores
Introduccion al calculo numerico y manejo de errores
 
Aclarando dudas sobre RSA
Aclarando dudas sobre RSAAclarando dudas sobre RSA
Aclarando dudas sobre RSA
 
Exposicion
ExposicionExposicion
Exposicion
 
Leccion01 rsa crypt4you -V2
Leccion01 rsa crypt4you -V2Leccion01 rsa crypt4you -V2
Leccion01 rsa crypt4you -V2
 
1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos
 
1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos
 
Codigos..
Codigos..Codigos..
Codigos..
 
Programas
Programas Programas
Programas
 
02 - Tipos de datos escalares en Python 3
02 - Tipos de datos escalares en Python 302 - Tipos de datos escalares en Python 3
02 - Tipos de datos escalares en Python 3
 
Códigos lineales
Códigos linealesCódigos lineales
Códigos lineales
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquez
 
Floyd
FloydFloyd
Floyd
 
Omega Up
Omega UpOmega Up
Omega Up
 

07 cuantificacion escalar (1)

  • 1. Tema 7: Cuantificación Escalar Rafael Molina Depto Ciencias de la Computación e Inteligencia Artificial Universidad de Granada
  • 2. Contenidos 1. Introducción 3. Cuantificación adaptativa • Definición. • Cuantificación adaptativa • El problema de la hacia adelante (off-line) cuantificación. • Cuantificación adaptativa 2. Cuantificación uniforme hacia atrás (on-line). • Introducción. 4. Cuantificación no uniforme • Cuantificación de • Cuantificación optimizada fuentes uniformemente en pdf. distribuidas. • Algoritmo de Max-Lloyd • Cuantificación de • Compansores fuentes no uniformes. 5. Bibliografía Rafael Molina Cuantificación Escalar 2
  • 3. 1. Introducción 1.1 Definición de cuantificación: Proceso de representación de un número de valores extenso (posiblemente infinito) con un número mucho menor de valores. El adjetivo escalar hacer referencia a las salidas y entradas del cuantificador. Si E/S son escalares cuantificador escalar Si E/S son vectores cuantificador vectorial Rafael Molina Cuantificación Escalar 3
  • 4. Ejemplo I: si tenemos como rango de posibles valores de cuantificación todos los enteros comprendidos entre 0 y 100, podríamos diseñar el siguiente esquema de cuantificación: Valor original 2.58 5.56 12.25 23.56 196.58 153.69 52.99 500.52 Valor cuantificado 2 5 12 23 100 100 52 100 Observa que las apariciones de 100 provienen de valores originales distintos Además, una vez obtenido un valor de la salida del cuantificador, no hay forma de saber de qué valor provenía. Será bueno diseñar cuantificadores que minimicen (en algún sentido) la diferencia entre la entrada y la salida Rafael Molina Cuantificación Escalar 4
  • 5. I.2 El problema de la cuantificación El cuantificador consiste en dos funciones: Codificador: •divide el rango de valores de la fuente en un número de intervalos, •cada intervalo es representado por una palabra de código distinta, •el codificador representa todas las fuentes en un intervalo mediante la palabra de código que lo representa, •si la fuente es analógica el codificador recibe el nombre de conversor analógico digital (A/D). Rafael Molina Cuantificación Escalar 5
  • 6. Ejemplo de codificador con ocho valores de reconstrucción. Se usan 8 valores para representar las palabras del código, el cuantificador recibe el nombre de cuantificador de 3 bits. 000 001 010 011 100 101 110 111 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 Observa que las palabras de códigos no necesariamente representan valores de la fuente. Rafael Molina Cuantificación Escalar 6
  • 7. Decodificador: •genera un valor de reconstrucción para cada palabra del código, (como cada palabra representa un intervalo, no se puede saber ya quien era la fuente original). Podemos usar el punto medio del intervalo aunque otras opciones son posibles, •si la reconstrucción es análogica el decodificador recibe el nombre de conversor digital a analógico (D/A). Un ejemplo de decodificador para el ejemplo anterior es la tabla siguiente Palabra de código 000 001 010 011 100 101 110 111 Reconstrucción -3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5 Rafael Molina Cuantificación Escalar 7
  • 8. Ejemplo II: consideremos la señal s (t ) = 4 cos(2πt ) muestreada cada 0'05 s. La muestra fue codificada usando el conversor A/D del ejemplo anterior y decodificada usando el conversor D/A del mismo ejemplo. Algunos ejemplos de entradas, conversores A/D y D/A y los errores en la cuantificación se muestran en la tabla siguiente: t s(t) CA/D CD/A Error 0'05 3'804 111 3'5 0'304 0'10 3'236 111 3'5 -0'264 0'15 2'351 110 2'5 -0'149 0'20 1'236 101 1'5 -0'264 Rafael Molina Cuantificación Escalar 8
  • 9. Representación gráfica del cuantificador. Podría decirse que la división de la entrada Salida es un problema del codificador y la asignación de salidas a las palabras del 3.5 código es un problema del decodificador. 2.5 Obviamente ambos problemas están muy relacionados y los dos forman parte del diseño del cuantificador. Observa que un 1.5 problema importante de diseño es asignar códigos binarios a los intervalos. 0.5 -4.0 -3.0 -2.0 -1.0 1.0 2.0 3.0 4.0 -0.5 Entrada -1.5 -2.5 -3.5 Rafael Molina Cuantificación Escalar 9
  • 10. Consideremos el siguiente ejemplo de matlab t = [0:.1:2*pi]; % Times at which to sample %the sine function sig = sin(t); % Original signal, a sine wave partition = [-1:.2:1]; % Length 11, to %represent 12 intervals codebook = [-1.2:.2:1]; % Length 12, one %entry for each interval [index,quants]= quantiz(sig,partition,codebook); % Quantize plot(t,sig,'x',t,quants,'.') legend('Original signal','Quantized signal'); axis([-.2 7 -1.2 1.2]) Rafael Molina Cuantificación Escalar 10
  • 11. Pasamos a la formulación matemática del problema de diseño de un cuantificador Supongamos que nuestra fuente X es modelizada mediante una variable aleatoria con función de densidad fX(x). Para construir un cuantificador con M intervalos necesitamos: 1. Los M+1 puntos finales de los intervalos (fronteras de decisión) y 2. Los M valores representativos (niveles de reconstrucción) de esos intervalos que vamos a utilizar. Las fuentes discretas se suelen modelizar como continuas. A veces se supone (incluso para fuentes discretas) que la diferencia entre dos valores dentro de un mismo intervalo de cuantificación es una distribución fX(x) de Laplace. Rafael Molina Cuantificación Escalar 11
  • 12. Observa que si X toma valores en toda la recta real los extremos de los intervalos finales serán –∞ y +∞ Si {y } son los valores de reconstrucción y M i i=1 {bi }i=0 son los límites de decisión M El error cuadrático medio de cuantificación se define mediante ruído de cuantificación ∞ M bi ∫ (x − Q(x )) ⋅ f X ( x )dx = ∑ ∫ (x − y ) f X ( x )dx 2 2 2 σq = i −∞ i=1 bi −1 Rafael Molina Cuantificación Escalar 12
  • 13. Para medir el número medio de bits por palabra de código observamos que cuando todas las palabras del código tienen longitud fija, si M es el número de palabras de código, entonces la razón R viene dada por R = log 2 M Si la longitud de los códigos es variable entonces M bi M R = ∑ li i=1 ∫ f (x )dx = ∑ l bi −1 X i=1 i ⋅ P ( yi ) donde li es la longitud de la palabra de código asignada a yi y P(yi) corresponde a la probabilidad de que aparezca yi. Observa que R depende de y, b y l (que depende del código utilizado C) y por tanto para ser precisos debemos escribir R(y,b,C). Rafael Molina Cuantificación Escalar 13
  • 14. Ya conocemos las dos magnitudes fundamentales de un cuantificador, R y σ q . 2 Podría pensarse que para diseñar un cuantificador se podría intentar minimizar simultáneamente R y σ q . Sin 2 embargo, esta minimización simultánea no es posible. Un decremento en el número medio de bits por palabra de código conlleva un aumento de la distorsión de cuantificación y viceversa. Observa: 1. si disminuimos R, la distorsión del cuantificador crecerá debido a que habrá menos resolución (habrá menos intervalos) en la cuantificación. 2. si queremos disminuir la distorsión deberemos decrementar la longitud de los intervalos de cuantificación, lo que conlleva inexorablemente incrementar el número de bits medio de las palabras de código. Rafael Molina Cuantificación Escalar 14
  • 15. El diseño de un cuantificador consiste en Dada una distorsión máxima permitida D* , σq² ≤ D* , encontrar los límites de decisión, niveles de reconstrucción y código que minimicen R. o Dada una cota máxima de razón de cuantificación permitida, R ≤ R*, encontrar los niveles de reconstrucción, los límites de decisión y código que minimicen σq² . Observa que el problem es bastante complicado, siendo algo más simple si suponemos que los códigos son de longitud fija. Comenzaremos con este caso para luego pasar al general. Rafael Molina Cuantificación Escalar 15
  • 16. 2. Cuantificación uniforme Es el cuantificador más simple. •Todos sus intervalos de cuantificación tienen el mismo tamaño (se suele notar como ∆); con la salvedad del primer y último intervalo si la señal de entrada no está acotada. •Los valores de reconstrucción están igualmente espaciados con el mismo espacio que las fronteras de decisión ∆. Rafael Molina Cuantificación Escalar 16
  • 17. bk +1 − bk = Δ si bk ,bk+1 finitos (entrada) Salida y j+1 − y j = Δ ∀j (salida) 7Δ/2 5Δ/2 yj+1 Δ 3Δ/2 yj Δ/2 -3 Δ - 2Δ -Δ Δ 2Δ 3Δ -Δ/2 Entrada -3Δ/2 Δ -5Δ/2 bk bk+1 -7Δ/2 Rafael Molina Cuantificación Escalar 17
  • 18. Tipos de cuantificadores uniformes: 1000 Cuantificador Midtread (Cuantificador 0111 0110 uniforme asimétrico): el 0 pertenece al 0101 conjunto de salidas. 0100 0011 0010 Normalmente se usan los cuantificadores 0001 midtread si el número de intervalos es 0000 impar o si necesitamos representar al 0 en los valores de salida. 111 110 101 Cuantificador Midrise (Cuantificador 100 011 uniforme simétrico): el 0 no está en el 010 conjunto de salidas. 001 000 Rafael Molina Cuantificación Escalar 18
  • 19. II.1 Cuantificación uniforme sobre fuentes uniformemente distribuidas: El diseño de un cuantificador uniforme con M intervalos, para una entrada uniformemente distribuida en el intervalo finito [-Xmax , Xmax] es muy simple. Dividiremos [-Xmax, Xmax] en M intervalos, así obtendremos ∆. 2 X max Δ = M El valor de cuantificación para el intervalo comprendido entre (i-1)Δ e iΔ es 2i − 1 yi = Δ 2 Rafael Molina Cuantificación Escalar 19
  • 20. ¿Cuánto vale gráficamente x-Q(x) el error de cuantificación? Δ/2 -Xmax=-4Δ -3 Δ - 2Δ -Δ Δ 2Δ 3Δ Xmax=4Δ -Δ/2 Supongamos que M es par. ¿Cuánto vale el error cuadrático medio de cuantificación? XZ M bi 2 σq = (x − yi )2 fX (x)dx i=1 bi−1 M/2 Z i∆ X 2i − 1 2 1 = 2 (x − ∆) dx i=1 (i−1)∆ 2 2Xmax M/2 Z i∆ ∆ X 2i − 1 2 1 = 2 (x − ∆) dx 2Xmax i=1 (i−1)∆ 2 ∆ Z ∆ 2∆ M 1 21 = 2 (x − ∆) dx = ∆2 /12 2Xmax 0 2 ∆ Rafael Molina Cuantificación Escalar 20
  • 21. La varianza de una distribución U[-Xmax,Xmax] vale σ x2 = (2 X max )2 Observa que corresponde a Δ=1 12 Supongamos que M=2n . Calculemos la relación señal/ruido de este cuantificador. Tenemos 2X max recuerda Δ = M 2 2 σx (2Xmax ) /12 SNR(dB) = 10 log10 2 = 10 log10 = 10 log10 (M 2 ) σq (∆)2 /12 = 20 log10 (2n ) = 6.02n dB esta ecuación expresa que por cada bit que añadamos al cuantificador, obtendremos una mejora (SNR) de 6'02 dB. Es decir, la expresión, nos permite medir cuanto mejorará nuestro cuantificador como máximo con respecto a la distorsión. Rafael Molina Cuantificación Escalar 21
  • 22. II.2 Cuantificación uniforme sobre fuentes no uniformemente distribuidas: Consideremos de nuevo el intervalo (-Xmax,Xmax) cuyos extremos ahora pueden ser infinito. Podemos construir un cuantificador, que también es uniforme, mediante la siguiente division del intervalo (-Xmax,Xmax) Los valores de cuantificación Δ’/2 serán siempre de la forma iΔ’/2 -Xmax -3Δ’ - 2Δ’ -Δ’ Δ’ 2Δ’ 3Δ’ Xmax -Δ’/2 Observa que si nuestra fuente está en el intervalo [-1,1] con probabilidad 0.95 y en [-100,-1) U (1,100] con probabilidad 0.05, esta división es mucho más razonable. ¿Cuál es el error de cuantificación? Rafael Molina Cuantificación Escalar 22
  • 23. Tendremos M/2−1 Z i∆ X 2i − 1 2 2 σq = 2 (x − ∆) fX (x)dx (i−1)∆ 2 i=1 Z ∞ M −1 2 + 2 (x − ∆) fX (x)dx (M/2−1)∆ 2 Podemos usar la regla de Leibnitz: Z b(t) Z b(t) ∂ ∂f (x, t) f (x, t)dx = dx ∂t a(t) a(t) ∂t ∂b(t) ∂a(t) + f (b(t), t) − f (a(t), t) ∂t ∂t para calcular ∂σ2q/ ∂Δ y consecuentemente encontrar (en principio) el valor de Δ que minimiza el error de cuantificación. Rafael Molina Cuantificación Escalar 23
  • 24. La tabla siguiente muestra los valores óptimos de ∆ para distintas distribuciones de entrada: Tamaño D. Uniforme D. Gaussiana D. Laplaciana del alfabeto ∆ SNR ∆ SNR ∆ SNR 2 1,732 6,02 1,596 4,40 1,414 3,00 4 0,866 12,04 0,9957 9,24 1,0873 7,05 6 0,577 15,58 0,7334 12,18 0,8707 9,56 8 0,433 18,06 0,5860 14,27 0,7309 11,39 10 0,346 20,02 0,4908 15,90 0,6334 12,81 12 0,289 21,60 0,4238 17,25 0,5613 13,98 14 0,247 22,94 0,3739 18,37 0,5055 14,98 16 0,217 24,08 0,3352 19,36 0,4609 15,84 32 0,108 30,10 0,1881 24,56 0,2799 20,46 Observa que cuanto menos uniforme es (tiene más pico) la distribución de entrada, menos obedece la regla del incremento de SNR en 6'02 dBs por cada bit. Rafael Molina Cuantificación Escalar 24
  • 25. Observa que la forma del error es ahora diferente Probabilidad de sobrecarga Probabilidad granular x-Q(x) Δ/2 -3 Δ - 2Δ -Δ Δ 2Δ 3Δ -Δ/2 Ruido de sobrecarga Ruido granular Ruido de sobrecarga Normalmente, la probabilidad de que un error sea de sobrecarga es mucho menor que la probabilidad de que sea granular. Rafael Molina Cuantificación Escalar 25
  • 26. Efectos de desemparejamiento (desajuste): Existen dos tipos de desajuste: 1. El tipo de distribución que se usa es el de la señal de entrada, pero la varianza de la entrada y la supuesta no coinciden. 2. El tipo de distribución es distinto de la supuesta para obtener el valor del paso. Para resolver estos errores aparecen los cuantificadores adaptativos que discutiremos a continuación. Rafael Molina Cuantificación Escalar 26
  • 27. III. Cuantificación adaptativa Vamos a intentar resolver los problemas de desajuste tanto de los parámetros de la distribución de entrada como de una especificación errónea de la distribución. Si suponemos que disponemos de todos los datos a cuantificar aparecerá la cuantificación adaptativa off-line o hacia delante que nos obligará a enviar información adicional con el cuantificador conforme lo modifiquemos. Si suponemos que sólo disponemos de los valores cuantificados no necesitaremos enviar información adicional y dará lugar a la cuantificación adaptativa on-line o hacia atrás. Rafael Molina Cuantificación Escalar 27
  • 28. III.1. Cuantificación adaptativa off-line Podemos: Dividir nuestros datos de entrada en bloques, (supuesto que todos son de media cero), calcular su desviación típica por bloque y dividir cada dato por la desviación típica del bloque al que pertenece. Así todos los datos (de todos los bloques en su conjunto) serán más uniformes y podemos aplicar sobre ellos un cuantificador del tipo uniforme que hemos visto. Observa que tenemos que trasmitir la desviación típica de cada bloque ya que posteriormente tendremos que multiplicar los datos cuantificados por la desviación típica del bloque al que pertenece. Rafael Molina Cuantificación Escalar 28
  • 29. Igualmente podríamos normalizar al rango [-1,1] cada bloque utilizando el máximo y el mínimo de cada bloque (que luego obviamente tendríamos que transmitir) Observa que los datos de la secuencia de voz de la derecha son candidatos perfectos para su división por bloques y la utilización de un paso diferente en cada bloque We could barely see the fjords through the snow flurries Rafael Molina Cuantificación Escalar 29
  • 30. III.2 Cuantificación adaptativa on-line Si nuestros datos pensamos que vienen de una determinada distribución de probabilidad, podemos calcular la probabilidad de que un dato ‘caiga’ en cada intervalo de cuantificación. Si con los datos cuantificados que vamos recibiendo, calculamos la probabilidad de cada intervalo de cuantificación y no es parecida a la calculada con la distribución de probabilidad que suponemos, tendremos que modificar el paso del cuantificador (observa que sólo podemos hacerlo globalmente no en cada intervalo) aumentándolo o disminuyéndolo. Rafael Molina Cuantificación Escalar 30
  • 31. Esta es la idea del cuantificar de Jayant que no discutiremos aquí y que funciona modificando el paso con cada dato cuantificado. Observa que no hay necesidad de enviar ninguna información adicional. Rafael Molina Cuantificación Escalar 31
  • 32. IV. Cuantificación no-uniforme Consideremos la siguiente función de densidad Es obvio que sería bueno que los intervalos de cuantificación fuesen muy pequeños cerca del cero y luego fuesen creciendo (esto no lo podemos hacer con un cuantificador uniforme). Rafael Molina Cuantificación Escalar 32
  • 33. Un cuantificador que tiene intervalos no uniformes y4 recibe el nombre de cuantificador no-uniforme y3 y2 y1 b-3 b-2 b-1 b1 b2 b3 y-4 y-3 y-2 y-1 Rafael Molina Cuantificación Escalar 33
  • 34. IV.1 Cuantificación optimizada en pdf Consideremos el error de cuantificación para una determinada función de densidad fX(x) X Z bi M 2 σq = (x − yi )2 fX (x)dx i=1 bi−1 Para calcular los valores de y que minimizan esta función tenemos 2 Z bi ∂σq = −2 (x − yi )fX (x)dx yi bi−1 que igualando a cero produce R bi bi−1 xfX (x)dx yi = R bi bi−1 fX (x)dx Rafael Molina Cuantificación Escalar 34
  • 35. De la misma forma, puede probarse fácilmente que ÃZ Z bi+1 ! 2 bi ∂σq ∂ = (x − yi )2 fX (x)dx + (x − yi+1 )2 fX (x)dx ∂bi ∂bj bi−1 bi = (bi − yi )2 fX (bi ) − (bi − yi+1 )2 fX (bi ) que igualando a cero produce yi + yi+1 bi = 2 Max publicó en una revista como resolver estas ecuaciones en 1960, aunque la solución la había dado antes en un memorandum interno de Bell Labs, en 1957 Lloyd. De aquí que el algoritmo se llame de Lloyd-Max. Sin embargo, Lukaszewicz y Steinhaus parece que lo habían publicado con anterioridad en 1955 en una revista polaca. Rafael Molina Cuantificación Escalar 35
  • 36. El algoritmo de Max-Lloyd 1. Inicializa los niveles de salida ym, m=1,…,M 2. Define los conjuntos de vecinos más próximos a dichos niveles Ωm = {x : (x − ym )2 ≤ (x − yk )2 ∀k 6= m} m = 1, . . . , M 3. Calcula los nuevos niveles de salida como la media de los datos en cada región R x∈Ωm xfX (x)dx ym = R x∈Ωm fX (x)dx 4. Mientras mejoremos suficientemente el error de cuantificación volver al paso 2. En caso contrario parar. Rafael Molina Cuantificación Escalar 36
  • 37. ¿qué ocurre si sólo tenemos muestras {x1,…,xL} de la variable aletoria X con función de densidad fX(x)? El algoritmo de Max-Lloyd (discreto) 1. Inicializa los niveles de salida ym, m=1,…,M 2. Define los conjuntos de vecinos más próximos a dichos niveles Ωm = {xi : (xi − ym )2 ≤ (xi − yk )2 ∀k 6= m} m = 1, . . . , M 3. Calcula los nuevos niveles de salida como la media de los datos en cada región 1 X ym = xi Ωm xi ∈Ωm 4. Mientras mejoremos suficientemente el error de cuantificación volver al paso 2. En caso contrario parar. Rafael Molina Cuantificación Escalar 37
  • 38. Las gráficas siguientes muestran el resultado de utilizar el algoritmo de Max-Lloyd para construir un cuantificador basado en 10.000 observaciones de una N(0,1) utilizando sqdtool en Matlab. Observa los diferentes tamaños de los intervalos de cuantificación. Rafael Molina Cuantificación Escalar 38
  • 39. IV.2 Compansores de Cuantificación Otra forma de abordar la cuantificación no uniforme es primero procesar los datos de forma que se transformen en (se parezcan a) realizaciones de una distribución uniforme (compresor), utilizar después un cuantificador uniforme y finalmente deshacer el cambio (expansor) Compresor Cuantificador uniforme Expansor Esta sería la descripción gráfica del proceso para una fuente que concentra su masa de probabilidad simétricamente alrededor del cero. Rafael Molina Cuantificación Escalar 39
  • 40. Supongamos que tenemos una variable que toma valores Salida en el intervalo [-4,4] con más 3.5 masa de probabilidad cerca 2.5 del cero y simétrica. 1.5 Podemos usar el cuantificador 0.5 que se muestra en la figura -4.0 -3.0 -2.0 -1.0 -0.5 1.0 2.0 3.0 4.0 pero podemos también Entrada -1.5 procesar los datos antes de usar dicho cuantificador. -2.5 -3.5 Veamos el proceso Rafael Molina Cuantificación Escalar 40
  • 41. Consideremos el siguiente compresor que pretende llevar nuestra y su inversa distribución a una uniforme en [-4,4]. Observa que mueve masa de probabilidad de regiones próximas al cero a alejadas del cero ⎧ ⎧ ⎨ 2x −1 ≤ x ≤ 1 ⎨ x/2 −1 ≤ x ≤ 1 c(x) = 2x/3 + 4/3 x>1 c−1 (x) = 3x/2 − 2 x>2 ⎩ ⎩ 2x/3 − 4/3 x < −1 3x/2 + 2 x < −2 Rafael Molina Cuantificación Escalar 41
  • 42. Supongamos que la fuente está acotada por un valor xmax, entonces cualquier cuantificador no uniforme puede representarse por un compansor. Veamos como usando este hecho podemos desarrollar un cuantificador que es robusto a errores de ajuste. Comencemos considerando cuantificadores con un número elevado de niveles. Sea ∆k = bk − bk−1 Si el número de niveles es alto, el tamaño de cada intervalo de cuantificación será pequeño y podemos escribir dentro de cada intervalo de cuantificación fX (x) = fX (yk ) si bk−1 ≤ x < bk Rafael Molina Cuantificación Escalar 42
  • 43. Lo que nos permite escribir el error de cuantificación como 2 PM R bi 2 1 PM σq = i=1 fX (yi ) bi−1 (x − yi ) dx = 12 i=1 fX (yi )∆3 i Una aproximación de la derivada de de donde c(yk) puede obtenerse de la forma M µ ¶3 siguiente 1 X 2xmax 2 σq = fX (yi ) c(bk )−c(bk−1 ) 12 i=1 M c0 (yi ) c0 (yk ) = ∆k M x2 X fX (yi ) 2xmax Si c() lleva nuestra señal a una = max 3M 2 i=1 c0 2 (yi ) M c0 (yi ) distribución U[-xmax , xmax] entonces M x2 X fX (yi ) max 2xmax = ∆ c(bk ) − c(bk−1 ) = M 2 3M i=1 c 0 2 (y ) i i que usado en la fórmula anterior que para Δi pequeño produce produce 2xmax 2 x2 R xmax fX (x) ∆k = M c0 (yk ) σq = max 3M 2 −xmax c0 2 (x) dx Rafael Molina Cuantificación Escalar 43
  • 44. La fórmula anterior recibe el nombre de integral de Bennett. Supongamos (para librarnos de la dependencia de la fuente) que 0 xmax x2 R xmax α2 c (x) = α|x| entonces 2 σq = max 3M 2 −xmax fX (x) c0 2 (x) dx = 3M 2 2 σx y por tanto la SNR es independiente de la pdf de entrada y vale σx2 SN R = 10 log σ 2 = 10 log10 (3M 2 ) − 20 log10 α q Utilizando la ecuación de definición de la derivada de c() obtenemos que |x| c(x) = xmax + β log xmax Como estos compresores tienen problemas alrededor del cero, se modifican para definir una función que es lineal alrededor del cero y logarítmica lejos de él. Tenemos entonces la siguientes leyes: Rafael Molina Cuantificación Escalar 44
  • 45. La ley μ de compresión |x| ln(1+μ xmax ) c(x) = xmax ln(1+μ) sgn(x) cuyo expansor es h |x| i xmax c−1 (x) = μ (1 + μ) xmax − 1 sgn(x) Esta ley con μ=255 se usa en telefonía en Estados Unidos y Japón. La función compand de Matlab puede ser utilizada para ver esta función (además de obviamente como compansor). Rafael Molina Cuantificación Escalar 45
  • 46. La ley A de compresión ( A|x| |x| 1 1+ln A sgn(x) 0 ≤ xmax ≤ A c(x) = A|x| 1+ln xmax xmax 1+ln A sgn(x) 1 A ≤ |x| ≤ 1 A cuyo descompresor es ( |x| A (1 + ln A) h i 0 ≤ x|x| ≤ + ln A 1 c−1 (x) = max xmax A exp x|x| (1 max + ln A) − 1 1 1+ln A ≤ |x| ≤ 1 A Esta ley con A=87.5 se usa en numerosos paises. La función compand de Matlab puede ser utilizada para ver esta función (además de obviamente como compansor). Rafael Molina Cuantificación Escalar 46
  • 47. VI. Bibliografía K. Sayood, “Introduction to Data Compression”, Morgan and Kaufmann, 2005. Rafael Molina Cuantificación Escalar 47