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