La edad de oro del boxeo: 15 asaltos de leyenda

12-oct-14
12/10/2014
Difusión y Multimedia
• Digitalización
de la voz (Modulación
Delta, Delta Adaptativa, PCM, DPCM,
etc.).
• Descripción
de las tramas T1 y E1.
UIT-T G.711 y G.722. Modelo
de tracto vocal. Compresión de la voz.
Otros estándares UIT. Compresión del
sonido.
12-oct-14
• Estándares
Digitalización de la voz
• Como
ya se indicó anteriormente, en
telefonía se acostumbra usar una
tasa de muestreo de 8.000 muestras
por segundo, lo cual es adecuado
para la transmisión de voz con un
ancho de banda de 3.100 Hz.
se utiliza una codificación a 8 bits
por muestra, se produce un flujo
digital a 64.000 bits por segundo.
12-oct-14
• Si
Digitalización de la voz
• Esto
se organiza normalmente de la
siguiente manera. Cada muestra
codificada a 8 bits es un byte, con el
siguiente formato
+
26
25
24
23
22
21
20
1
12-oct-14
12/10/2014
Multiplexaje
• Como
el tiempo entre una muestra y
otra debe ser de 125 ms. para
cumplir con el criterio de Nyquist, si
estos bytes se envían en un tiempo
menor, entonces se podrían mandar
muestras de otros canales en los
intervalos de tiempo libres.
constituye la llamada trama
digital
12-oct-14
• Esto
Multiplexaje
Fuente 1
Fuente 2
Convertidor
A/D 8 bits
Fuente 3
Trama
de
salida
12-oct-14
Fuente 4
Multiplexaje
Canal 1
Canal 2 Canal 3 Canal 4 Canal 1
Para garantizar que todos canales
puedan ser decodificados correctamente
hacia sus destinos debe insertarse
alguna forma de sincronismo.
2
12-oct-14
12/10/2014
Compansión
a la respuesta no lineal del
oído, y a que la respuesta dinámica
de los canales es normalmente
inferior a la del oído humano se
puede utilizar compresión (y
expansión) para el mejor
aprovechamiento del canal. Esto es
importante al digitalizar pues se
ahorra ancho de banda al limitar el
número de bits a enviar
12-oct-14
• Debido
Compansión
Compresión
Fuente de
sonido
Canal lineal
Salida
12-oct-14
Expansión
Compansión.
• En
el caso digital también se aplica
compansión a la voz y luego se
codifica con un convertidor
Analógico Digital lineal de 8 bits.
Como consecuencia se logra manejar
una gama dinámica equivalente a
12 bits (Ley A) o 13 bits (Ley m).
3
12-oct-14
12/10/2014
Compansión. Ley m
• El
sistema Norteamericano utiliza
para la compresión la llamada Ley
m, la cual viene definida por la
siguiente expresión
 log 1   x 
y  f ( x )  sgn( x )  e

 log e 1    
12-oct-14
Donde “x” es la entrada y “y” la salida (entre 0 y 1).
{ m vale 100 en el sistema T1 y 255 en DS2}
Compansión. Ley m
• En
esta Ley, los 128 valores de
mantisa del byte corresponden a un
intervalo equivalente de valores de
entrada entre de 0 a 8159 los cuales
se decodifican al intervalo 0 a 8031.
es equivalente a una
codificación lineal de 13 bits, la cual
requeriría un ancho de banda un
60% mayor.
12-oct-14
• Esto
Compansión. Ley A
• En
Europa se utiliza la Ley A, cuya
expresión es:

Ax

1
y  f ( x )  sgn( x) 
 si 0  x 


1

log
A
A
e


1  log e A x 
1
y  f ( x )  sgn( x) 
 x 1
 si

1

log
A

A
e


Donde “x” es la entrada y “y” la salida (entre 0 y 1).
{ A vale 87,6}
4
12-oct-14
12/10/2014
Compansión. Ley A
1
y
0
1/A
x
1
12-oct-14
0
Compansión. Ley A
este caso la gama de valores de
entrada va de 0 a 4096 y la
decodificación abarca el intervalo 1
a 4032, lo cual es equivalente a una
codificación de 12 bits.
Recomendación G.711 de la
UIT
12-oct-14
• En
• La
digitalización de la voz a 64000
bits por segundo, siguiendo las leyes
de compresión descritas (tanto
americana como europea)
corresponden a la Recomendación
G.711, la cual es la base del PCM.
Este también es la base de todas las
demás técnicas de codificación de la
voz, pues generalmente se parte de
una trama PCM para producir los
demás estándares.
5
Esta recomendación representa el método más
común de codificación de forma de onda
utilizado alrededor del mundo. Mediante el
uso de la recomendación G.711 se logra
transmitir una señal de voz en forma digital y
reconstruirla en el destino de una forma que,
para el oído humano, es esencialmente
idéntica a la original.
•
En PCM, cada una de las muestras enviadas
al codificador es totalmente independiente
una de las otras, por lo que PCM permite
codificar forma de ondas totalmente
arbitrarias cuya frecuencia máxima no exceda
la mitad de la velocidad de muestreo.
Chip codificador G.711
Redundancia temporal en la
voz.
12-oct-14
•
12-oct-14
Recomendación G.711 de la
UIT
12-oct-14
12/10/2014
• Diversos
análisis sobre las formas
de onda de la voz indican que existe
una redundancia considerable entre
una muestra de voz y la siguiente.
El coeficiente de correlación (medida
de predictibilidad) entre dos
muestras PCM de voz es de más de
0.85. De aquí tenemos que, al tomar
en cuenta estas redundancias, se
pueden lograr reducciones
significativas del ancho de banda
requerido.
6
12-oct-14
12/10/2014
ADPCM
En ADPCM (Adaptive Differential Pulse
Code Modulation, modulación diferencial
adaptativa por pulsos codificados), a
diferencia del PCM, no se codifica cada
una de las muestras, sino que se codifica
la diferencia entre la predicción de la
muestra y la muestra original.
12-oct-14
•
ADPCM
Dado el alto grado de correlación entre las
muestras, se pueden realizar predicciones
cercanas a los valores de las muestras, por
lo que se requiere enviar menos bits para
indicar cuál es el error de la predicción
(diferencia entre la predicción y la
muestra real) que el número de bits que se
requiere para enviar la muestra en su
totalidad.
12-oct-14
•
ADPCM
•
De esta manera, el codificador hace una
predicción de la muestra a partir de las
muestras previas y envía al decodificador
la información que indica cuánto debe
sumar (restar) a la predicción para
obtener la muestra real. Por su lado, el
decodificador también hace una predicción
de la muestra (la cual coincide con la
predicción hecha por el codificador) y le
suma ó resta a esta predicción la cantidad
indicada por el codificador.
7
12-oct-14
12/10/2014
ADPCM
Con ADPCM se muestrea la señal de voz
8000 veces por segundo (como en PCM),
pero dado que se envía solamente el error
de predicción, solamente se requiere
transmitir 4 bits de información en lugar
de los 8 que se requerirían para enviar la
información de la muestra en su totalidad.
Con esto se logra disminuir la velocidad de
transmisión en la mitad (32 Kbps, 8000
muestras por segundo X 4bits por
muestra) con respecto al PCM.
12-oct-14
•
ADPCM
evitar que cuando existan
cambios bruscos en la señal de voz,
no se pueda representar el error de
predicción con los cuatro bits que
utiliza el algoritmo, el ADPCM
utiliza una técnica adaptativa en la
cual los cuatro bits representan una
gama que se adapta a las
amplitudes de la señal de voz.
12-oct-14
• Para
ADPCM
•
De esta manera, cuando las amplitudes de
la señal son altas, entonces los cuatro bits
representan diferencias de niveles
mayores, que cuando la señal posee una
amplitud baja. Cuando la amplitud de la
señal es alta, el error de predicción puede
también ser alto y en este caso los 4 bits
con que se representa este error deben
representar una gama mayor de niveles
que le permita cubrir el error calculado. El
algoritmo adapta permanentemente y de
manera automática la gama de valores
representado por los 4 bits de información
enviados.
8
12-oct-14
12/10/2014
ADPCM
Cuando se incrementa la gama de
amplitud representado por los 4 bits
también se incrementa el ruido de
cuantización, pero dado que solamente se
incrementa la gama representada cuando
la señal de voz es de gran amplitud,
entonces la relación existente entre la
muestra real (de gran amplitud) con el
error (también “grande”) se mantiene
perceptivamente igual que cuando la señal
de voz es de baja amplitud, donde la gama
representada por los bits es menor y donde
el error de cuantización es menor.
12-oct-14
•
Recomendación G.721 y G.723
ADPCM fue estandarizada por la
ITU a mediados de los años ochenta
bajo la recomendación G.721. En
1988 surgieron extensiones al G.721
(la G.723) que permiten reducir la
velocidad de bits en el canal cuando
la red presenta congestión. Con esta
extensión se puede ajustar los bits
por muestra entre 3 y 5,
obteniéndose velocidades de 24
Kbps y 40 Kbps, respectivamente.
12-oct-14
• El
Recomendación G.726
• En
1.990 surgió una nueva versión
de ADPCM (G.726) la cual es capaz
de ajustar la velocidad de bits,
cambiando el número de bits por
muestra de 2 hasta 5, obteniéndose
velocidades entre 16 Kbps y 40
Kbps.
9
12-oct-14
12/10/2014
Recomendación G.726
diferencia del PCM, donde todas
las muestras son independientes
unas de otras, para estos algoritmos
de ADPCM la predicción de la
muestra presente depende de las
muestras precedentes. De esta
manera, si al utilizar PCM se pierde
una muestra de la señal, la calidad
de la señal se ve afectada solamente
por la pérdida de esa muestra.
12-oct-14
•A
ADPCM
• Sin
embargo, si se utiliza ADPCM la
pérdida de una muestra afecta la
predicción de las muestras
siguientes, teniendo esto un mayor
impacto en la calidad de la señal.
estas razones, se hace muy
importante que todos los bits
generados en el transmisor lleguen
correctamente al receptor de forma
tal de mantener la predicción de
ambos equipos sincronizada.
12-oct-14
• Por
Recomendación G.722
• Esta
recomendación permite la
codificación de una señal de mejor
calidad que en G.711, utilizando un
ancho de banda de 7 kHz. El flujo de
datos de salida puede ser a 48 kbps
o 56 kbps y se utiliza con frecuencia
en sistemas de videoconferencia.
10
Embedded ADPCM
Recomendación G.727
Con los algoritmos ADPCM descritos
anteriormente, si se requiere disminuir la
velocidad de codificación (debido, quizás, a
la presencia de congestión en la red), se
hace necesario que los equipos terminales
realicen la negociación respectiva. Esta
negociación resulta compleja y en muchos
casos puede originar que la comunicación
tenga que reiniciarse.
Embedded ADPCM
Recomendación G.727
12-oct-14
•
12-oct-14
12/10/2014
algoritmo Embedded ADPCM,
definido en la recomendación G.727,
provee una capacidad para asignar
el ancho de banda de una manera
mucho más flexible, sin requerir
ningún tipo de negociación.
Embedded ADPCM
Recomendación G.727
•
12-oct-14
• El
En este algoritmo los bits codificados se
dividen en dos clases: los bits principales
(core) y los bits de perfeccionamiento
(enhacement). Los bits principales son
utilizados para representar el error entre
la predicción de la muestra y la muestra
real.
11
Embedded ADPCM
Recomendación G.727
Embedded ADPCM
Recomendación G.727
•
La predicción hecha tanto en el codificador
como en el decodificador, no depende de
los bits de perfeccionamiento, solamente
depende de los bits principales. De esta
manera, no se requiere que todos los bits
lleguen al receptor para mantener el
algoritmo de predicción de éste
sincronizado con el del transmisor,
solamente se requieren los bits
principales.
Embedded ADPCM
Recomendación G.727
•
12-oct-14
Los bits de perfeccionamiento se utilizan
para obtener un mayor refinamiento de la
señal reconstruida, disminuyéndose con
esto los errores de cuantización. Así, por
ejemplo, 2 bits pueden utilizarse como
principales (16 Kbps) y entre 0 y 3 bits (0
y 24 Kbps adicionales) como bits de
perfeccionamiento.
12-oct-14
•
12-oct-14
12/10/2014
Los bits de perfeccionamiento son
opcionales para el receptor. Si son
recibidos son utilizados, pero su ausencia
no causa ningún problema.
12
Embedded ADPCM
Recomendación G.727
Estas características le dan bastante
flexibilidad al algoritmo. Así, por ejemplo,
si el ancho de banda de un circuito está
siendo utilizado en su totalidad y surge
una nueva aplicación que requiere un
ancho de banda de, digamos, 16 Kbps, si
estamos utilizando EADPCM con 16 Kbps
de información principal y 16 Kbps de
información de perfeccionamiento,
podemos dejar de enviar los bits de
perfeccionamiento para darle cabida a la
nueva aplicación (o a la nueva demanda de
una ya existente).
12-oct-14
•
12-oct-14
12/10/2014
Codificación por Sub-bandas
tipo de compresión se basa en
la característica de oído humano
denominada enmascaramiento.
Cuando una frecuencia posee una
gran amplitud, el oído humano no
puede escuchar las frecuencias de
menor amplitud que se encuentran
circundantes a ésta. Se dice que la
de frecuencia de mayor amplitud
enmascara a las de menor amplitud.
12-oct-14
• Este
Codificación por sub-bandas
•
Este fenómeno del enmascaramiento no es
sólo instantáneo sino que se presenta en
una determinada gama de tiempo. De esta
manera, si, por ejemplo, uno escucha de
cerca el sonido de un disparo, por una
gama de tiempo después del mismo no es
posible escuchar nada. A este fenómeno se
le denomina enmascaramiento y puede
durar hasta 100 mseg.
13
12-oct-14
12/10/2014
Codificación por sub-bandas
Dentro de la gama de tiempo que dura el
fenómeno de enmascaramiento, todas las
frecuencias que se encuentren por debajo
de una determinada amplitud,
denominada umbral de enmascaramiento,
no podrán ser captadas por el ser humano.
12-oct-14
•
Codificación por sub-bandas
Este umbral de enmascaramiento depende
de la frecuencia y de la intensidad de la
señal que lo provoca.
•
La idea básica de la codificación por subbandas (SBC, Sub-Band Coding) es la de
economizar ancho de banda eliminando la
información de las frecuencias que van a
resultar enmascaradas. No se utiliza
ancho de banda para enviar sonidos que
de todas maneras no podrán ser captados
por el oído humano.
12-oct-14
•
Codificación por sub-bandas
•
El SBC divide la señal de audio en varias
sub-bandas de frecuencia, aplicando a
cada una de ellas una codificación similar
al ADPCM. A cada sub-banda se le asigna
de manera adaptativa un número de bits,
el cual depende de las características de
enmascaramiento que posean las
muestras de las sub-bandas.
14
12-oct-14
12/10/2014
Codificación por sub-bandas
La idea es manipular el ruido de
cuantificación de forma tal de que sea lo
mayor posible (menor número de bits) pero
que se encuentre por debajo del umbral de
enmascaramiento (de forma tal de que no
pueda ser apreciado).
12-oct-14
•
Codificación por sub-bandas
Para aquellas sub-bandas más afectadas
por el enmascaramiento se le asignan
menos bits (ruido de cuantización se hace
menos evidente) y para aquellas subbandas menos afectadas por el
enmascaramiento se les asigna más bits.
12-oct-14
•
Codificación por sub-bandas
•
Es posible que para aquellas sub-bandas
más afectadas no se les asigne ningún bit,
de forma tal que las muestras
pertenecientes a las mismas no sean
codificadas.
•
De esta manera, manipulando la relación
entre el ruido de cuantificación y los
umbrales de enmascaramiento y
eliminando la información de las
frecuencias que se ven enmascaradas, se
logran compresiones importantes.
15
12-oct-14
12/10/2014
Codificación por sub-bandas
El SBC se hace más útil cuando se utiliza para
codificar señales de audio de alta calidad (22 KHz),
donde el fenómeno de enmascaramiento es más
frecuente (y donde por tanto se pueden lograr
mayores compresiones), que para codificar
simplemente señales de voz (4 KHz).
•
Esta técnica se utiliza para la codificación de audio
de MPEG (estándar para la codificación de audio y
vídeo), lográndose buenas calidades al comprimir
audio de 22 KHz con velocidades tan bajas como 64
Kbps.
12-oct-14
•
Codificación por sub-bandas
Utilizando PCM, el número de bits es constante
para todas las muestras y, para tratar de
mantener el ruido de cuantización bajo, para
digitalizar un señal de audio de 22 KHz, se le
asigna usualmente 16 bits a cada muestra.
•
Con esto tenemos que la señal de 22 KHz es
muestreada 44.000 veces por segundo (Nyquist), lo
cual, utilizando 16 bits por muestra, nos da una
velocidad de transmisión de 700 Kbps (que es el
utilizado para un canal de audio para CD).
12-oct-14
•
Codificación por sub-bandas
•
Muchos de estos bits se desperdician ya que la
información que ellos tienen no podrá percibirse
por el oído humano debido al enmascaramiento.
•
Al utilizar SBC una asignación de bits variable,
que depende de la relación entre el ruido de
cuantificación y los umbrales de enmascaramiento,
se puede lograr disminuir los 700 Kbps, para un
canal de audio de CD, a 64 Kbps.
16
Los métodos de codificación de forma de
onda discutidos previamente se basan en
la representación de la señal de voz en el
dominio del tiempo.
•
La Codificación Predictiva Lineal analiza
la señal en el dominio de la frecuencia.
Codificación predictiva lineal
(LPC)
•
En gamas de milisegundos, las señales de
voz no varían significativamente y esta
característica es lo que permite la
posibilidad de sintetizar la voz.
•
Con este tipo de codificación, en lugar de
digitalizarse la señal analógica, se
digitaliza los parámetros del modelo de
voz y el nivel de excitación pertenecientes
a una gama pequeña de tiempo (alrededor
de 20 mseg) enviando esta información al
decodificador.
Codificación predictiva lineal
(LPC)
•
Para entender mejor este tipo de
modulación, analicemos antes un poco las
características de la voz.
•
La voz humana se produce cuando el aire
es forzado a salir desde los pulmones, a
través de las cuerdas vocales y a lo largo
del tracto vocal. Mientras esto sucede, las
cuerdas vocales vibran produciendo
energía de audio que se concentra en las
frecuencias con que éstas vibran.
12-oct-14
•
12-oct-14
Codificación predictiva lineal
(LPC)
12-oct-14
12/10/2014
17
Codificación predictiva lineal
(LPC)
12-oct-14
12/10/2014
frecuencias resuenan dentro
del tracto vocal, dependiendo estas
frecuencias de la forma y tamaño
del tracto. La energía de estas
frecuencias es reforzada por las
reflexiones de las ondas, las cuales
se suman entre sí, mientras que la
energía de las otras frecuencias
tiende a disiparse. A estas
reverberaciones de las cuerdas
vocales se les denomina resonancias
o formantes.
Codificación predictiva lineal
(LPC)
A medida que el tracto vocal varía,
moviendo la lengua, variando la forma de
los labios, ó variando la apertura de la
boca, por ejemplo, se controlan las
frecuencias de los formantes.
Codificación predictiva lineal
(LPC)
12-oct-14
•
12-oct-14
• Ciertas
• Basándose
en el modo de excitación,
la voz puede categorizarse en tres
clases:
sonidos con voz (voiced sounds)
sonidos sin voz (unvoiced sounds)
y
 sonidos explosivos (plosive
sounds).
18
Codificación predictiva lineal
(LPC)
12-oct-14
12/10/2014
• Los
sonidos con voz se producen por
la vibración de las cuerdas vocales y
se encuentran comprendidos en una
gama entre 50 y 400 Hz.
sonidos con voz poseen un
patrón repetitivo dentro de una
gama de tiempo entre 2 y 20 mseg.
Las vocales constituyen los sonidos
con voz.
Codificación predictiva lineal
(LPC)
12-oct-14
• Los
los sonidos sin voz no se
presenta vibración de las cuerdas
vocales, sino que más bien el aire
sale de los pulmones y recorre el
tracto vocal libremente, con tan sólo
leves constricciones mediante el uso
de los dientes y los labios. La s y la f
constituyen los sonidos sin voz.
Codificación predictiva lineal
(LPC)
12-oct-14
• En
• Los
sonidos explosivos resultan del
cierre completo del tracto vocal, lo
que origina altas presiones de aire
detrás del cierre.
• Cuando
el tracto vocal se abre, el
resultado es un sonido con un alto
contenido de energía en las bajas
frecuencias. La p y la b son ejemplos
de este tipo de sonidos.
19
Codificación predictiva lineal
(LPC)
12-oct-14
12/10/2014
a estas tres clases
de sonidos, existen otros que
resultan de una combinación de
éstos. Por ejemplo, la ocurrencia de
vibración de las cuerdas vocales y la
constricción del tracto vocal causan
un sonido producido con fricción,
denominado consonantes fricativas.
Codificación predictiva lineal
(LPC)
12-oct-14
• Adicionalmente
• La
codificación LPC (linear
Predictive Coding) basa su
funcionamiento en el modelaje del
tracto vocal.
modelo asume que cada muestra
de voz representa una combinación
lineal de las muestras anteriores.
Codificación predictiva lineal
(LPC)
•
12-oct-14
• El
El tracto vocal se modela como un tubo
principal con un generador de frecuencias
al final del mismo. La glotis (el espacio
entre las cuerdas vocales) produce el
sonido del timbre, el cual se caracteriza
por su intensidad (loudness) y frecuencia
(pitch). El tracto vocal (la garganta y la
boca) forma el tubo. A este tubo principal
se encuentran concatenados otros tubos
acústicos que, junto con el principal,
caracterizan las resonancias del tracto
vocal
20
Codificación predictiva lineal
(LPC)
12-oct-14
12/10/2014
Generador
(Frecuencia
Amplitud)
Codificación predictiva lineal
(LPC)
12-oct-14
Modelo de tracto vocal
analiza la señal de la voz
estimando los formantes
(frecuencias de resonancia de las
cuerdas vocales) y calculando la
intensidad y la frecuencia de los
mismos.
Codificación predictiva lineal
(LPC)
12-oct-14
• LPC
• El
problema básico de un sistema
LPC consiste en determinar el
modelo del tracto vocal a partir de la
señal de voz
21
Codificación predictiva lineal
(LPC)
12-oct-14
12/10/2014
• Para
esto utiliza una ecuación en la
que cada muestra de voz se expresa
como una combinación lineal de las
muestras anteriores.
coeficientes de la ecuación
(coeficientes de predicción)
caracterizan el tracto vocal y el
sistema requiere estimarlos
Codificación predictiva lineal
(LPC)
12-oct-14
• Los
estimación se realiza
minimizando el error medio
cuadrático entre la predicción de la
señal y la señal misma
Codificación predictiva lineal
(LPC)
12-oct-14
• Esta
• Esto
quiere decir que se busca que
el valor de los parámetros de
predicción sean tales que al sumar
el cuadrado de los errores cometidos
en cada muestra (diferencia entre la
muestra real y la predicción de la
misma), el resultado obtenido sea el
menor posible
22
•
Con ADPCM se envían los errores de
predicción y tanto el codificador como el
decodificador van ajustando los
parámetros de las ecuaciones de
predicción en base a estos errores.
•
En LPC, el codificador transmite, no los
errores, sino los parámetros de las
ecuaciones.
Codificación predictiva lineal
(LPC)
Aprovechando que las señales de voz no
varían significativamente en gamas
pequeñas de tiempo, estos parámetros son
válidos para una pequeña gama de
tiempo, por lo que el codificador los envía
cada 20 mseg aproximadamente
Codificación predictiva lineal
(LPC)
12-oct-14
•
12-oct-14
Codificación predictiva lineal
(LPC)
12-oct-14
12/10/2014
• De
esta manera se tiene, que a
partir de la utilización de álgebra
lineal, haciendo un análisis de la
señal en el dominio del tiempo, se
obtiene estimaciones en el dominio
de la frecuencia que describen de
una manera aproximada el tracto
vocal. Para esta estimación, se
requiere la computación de una
matriz de coeficientes y la solución
de un conjunto de ecuaciones
lineales
23
Codificación predictiva lineal
(LPC)
12-oct-14
12/10/2014
• Diferentes
métodos (autocorrelación,
covariancia, etc.) pueden utilizarse
para asegurar la convergencia a una
solución única.
LPC divide la señal de
voz en segmentos temporales de
alrededor de 20 mseg. (lo que
equivaldría a 160 muestras PCM).
Codificación predictiva lineal
(LPC)
12-oct-14
• Básicamente,
cada segmento el codificador
calcula el filtro que ha de envía los
parámetros que caracterizan a este
filtro al decodificador.
Adicionalmente le envía los
parámetros que caracterizan al
formante (vibración de las cuerdas
vocales) presente en ese lapso de
tiempo en que se está analizando la
señal (frecuencia e intensidad).
Codificación predictiva lineal
(LPC)
•
Con esta información el decodificador
puede reconstruir la señal fuente, la
cual hace pasar por el filtro,
obteniéndose la voz sintetizada.
•
El problema lo tenemos en que para los
sonidos con voz (vocales), la señal que
se introduce en el filtro está bien
representada por los formantes, sin
embargo, los sonidos sin voz no se
pueden representar a través de los
formantes
12-oct-14
• Para
24
Codificación predictiva lineal
(LPC)
12-oct-14
12/10/2014
el caso de los sonidos sin voz,
la señal resultante de la presión de
aire proveniente de los pulmones a
través de las constricciones del
tracto vocal se modela como una
secuencia de ruido aleatorio
Codificación predictiva lineal
(LPC)
12-oct-14
• Para
parámetros que se envían al
decodificador son: los coeficientes
del filtro (coeficientes de predicción),
la intensidad de la excitación, un bit
que indica si la excitación es un
sonido sin voz ó un sonido con voz, y,
en caso de ser este último, la
frecuencia de la excitación
(formante)
Codificación predictiva lineal
(LPC)
12-oct-14
• Los
• En
el decodificador, los sonidos con
voz se obtienen al pasar una serie de
impulsos periódicos con la misma
frecuencia e intensidad de la
formante por el filtro (caracterizado
por los coeficientes de predicción).
Los sonidos sin voz se obtienen al
pasar por el filtro ruido aleatorio
con la amplitud de la excitación.
25
Codificación predictiva lineal
(LPC)
Hoy día se puede codificar la voz con LPC
a velocidades entre 2.4 y 4.8 Kbps con una
señal de voz reconstruida con una calidad
razonable. Desafortunadamente, ciertos
sonidos no se pueden reproducir fielmente
con este método. La representación del
tracto vocal por una serie de tubos
acústicos concatenados no permite
representar los sonidos nasales, los cuales,
requieren una representación matemática
mucho más compleja
Codificación predictiva lineal
(LPC)
12-oct-14
•
12-oct-14
12/10/2014
el modelaje del
tracto vocal también conlleva a que
la señal reconstruida difiera de la
real, debido a las diferencias entre
el modelo y el tracto vocal real. La
principal ventaja de la utilización
del LPC es su capacidad de producir
voz inteligible a muy bajas
velocidades (entre 2,4 y 4,8 Kbps).
Codificación predictiva lineal
(LPC)
12-oct-14
• Adicionalmente,
• Sin
embargo, al utilizar este tipo de
codificación generalmente se hace
imposible reconocer, a partir de la
voz sintetizada, a la persona que la
origina. La razón de esto es que las
características del tracto vocal
varían enormemente de persona a
persona, lo cual hace el modelaje
sumamente difícil.
26
Codificación predictiva lineal
(LPC)
Codificación predictiva lineal
(LPC)
•
LPC basa su funcionamiento en dos tipos
de sonidos: con voz y sin voz, por lo que no
puede representar los otros tipos de
sonidos existentes, resultando esto en la
producción de una voz artificial.
•
Estas razones hacen que la calidad de la
voz sea muy inferior a la obtenida a través
de las técnicas de PCM y ADPCM.
Codificación por excitación
lineal predictiva (CELP)
12-oct-14
Cuanto más complejo se haga el modelaje,
se requieren más bits para representarlo,
y por tanto las velocidades de transmisión
aumentan, no viéndose justificadas la
complejidad del modelo con la velocidad de
transmisión obtenida.
12-oct-14
•
12-oct-14
12/10/2014
• CELP
(Code Excited Linear
Prediction) es una técnica híbrida de
codificación, donde se combinan la
codificación por forma de onda y la
codificación por modelaje de la voz.
La idea es tratar de obtener las
ventajas de ambas técnicas
27
Codificación por excitación
lineal predictiva (CELP)
12-oct-14
12/10/2014
través de la codificación por forma
de onda se logra reconstruir la señal
con un grado de fidelidad alto (pero
utilizando un ancho de banda
significativo). Por otro lado, con la
codificación por modelaje logro
transmitir la señal de voz utilizando
un ancho de banda muy pequeño
(pero con una calidad muy inferior)
Codificación por excitación
lineal predictiva (CELP)
12-oct-14
•A
vimos anteriormente, LPC
basa su algoritmo en los sonidos con
voz y los sonidos sin voz, para lo
cual elimina los componentes de la
voz que no se encuentran dentro de
estas dos clases. La información
eliminada se denomina residuo de la
voz y contiene información
importante que puede permitir la
reconstrucción mucho más fiel de la
voz.
Codificación por excitación
lineal predictiva (CELP)
12-oct-14
• Como
• CELP
utiliza un modelo del tracto
vocal muy similar al utilizado por
LPC y la diferencia fundamental se
basa en que, adicionalmente, CELP
utiliza un libro de códigos que
contiene una tabla con las señales
residuo típicas. En operación, el
codificador compara el residuo con
todas las entradas en el libro de
códigos, eligiendo la que más se
parece y enviando el código de la
misma
28
•
El receptor recibe el código, y elige el
residuo relacionado con el mismo, el cual
utiliza para excitar el filtro. De aquí el
nombre de predicción lineal con excitación
por código.
•
De esta manera, CELP, además de enviar
los parámetros que modelan el tracto
vocal, la intensidad de la excitación, y la
frecuencia de la formante (sonidos con
voz), también envía el código que permite
obtener una aproximación al residuo de la
señal de voz.
Codificación por excitación
lineal predictiva (CELP)
En el decodificador, tanto la señal del
generador de excitación (con los valores de
intensidad y frecuencia indicados por el
codificador) como la señal recons-truida
del residuo (obtenida a partir del libro de
códigos y del código enviado por el
codificador) se pasa a través del filtro que
modela el tracto vocal (construido a través
de los parámetros enviados por el codificador), obteniéndose así la reconstrucción
de la voz.
Codificación por excitación
lineal predictiva (CELP)
12-oct-14
•
12-oct-14
Codificación por excitación
lineal predictiva (CELP)
12-oct-14
12/10/2014
• Con
esta codificación se logra
obtener una calidad mucho mayor a
la obtenida con LPC sin sacrificar
mucho ancho de banda adicional
(velocidades entre 4.8 y 16 Kbps)
29
12-oct-14
12/10/2014
CS-ACELP
codificación CS-ACELP
(Conjugate Structure Algebraic
Code Excited Linear Prediction,
predicción por excitación lineal de
código algebraico de estructura
conjugada) fue estandarizada por la
ITU en Noviembre de 1995 bajo la
recomendación G.729. Con la
utilización de esta recomendación se
codifica la voz a 8 Kbps, utilizando
segmentos de voz de 10 mseg (80
muestras PCM)
12-oct-14
• La
CS-ACELP
Cada 10 mseg. se analiza la señal de voz y
se extrae los parámetros del modelo
CELP.
•
La característica principal de CS-ACELP
es que las entradas del libro de códigos ya
no vienen dadas por un conjunto de
valores que caracterizan las formas de
onda de los residuos, sino que dichas
formas de onda son representadas por un
conjunto de ecuaciones algebraicas.
12-oct-14
•
CS-ACELP
•
Los procesadores de señales digitales
manipulan con mucha mayor facilidad las
formas de onda de los residuos cuando
estos son representados como funciones
matemáticas que cuando estas son
representadas por un conjunto de valores.
30
12-oct-14
12/10/2014
•
CS-ACELP utiliza dos libros de
códigos, uno fijo y otro adaptable. El
libro fijo contiene formas de onda
preestablecidas, las cuales no varían.
•
En el libro adaptable, las formas de
onda se van adaptando a las señales
reconstruidas, permitiendo con esto
que la reconstrucción de la voz se vaya
ajustando a las características de la
misma, obteniéndose con esto una
mayor fidelidad.
CS-ACELP. Recomendación
G.729
12-oct-14
CS-ACELP
vimos antes, G.729 utiliza
segmentos de voz de 10 mseg.
Adicionalmente, el cálculo de los
coeficientes del filtro se basa no
solamente en las muestras tomadas
durante esos 10 mseg, sino que
también toma en consideración las
muestras de los 5 mseg siguientes,
teniéndose con esto un retardo del
algoritmo de 15 mseg.
LD-CELP . Recomendación
G.728
•
LD-CELP (Low Delay CELP, CELP de
bajo retardo) fue estandarizado por la ITU
en 1992 bajo la recomendación G.728.
•
Con esta codificación ya no se transmite
los parámetros del filtro, la frecuencia y
amplitud de la excitación y el código del
residuo, sino que se transmite el código de
la excitación. Realmente, se transmite
aquél código que, al pasarlo por un filtro
adaptable, genera la señal más similar a
la señal de entrada (el menor error)
12-oct-14
• Como
31
LD-CELP . Recomendación
G.728
12-oct-14
12/10/2014
• En
el decodificador, los parámetros
que caracterizan al filtro son
calculados a partir de los segmentos
previos de voz reconstruida.
codificación opera con
segmentos de voz de 0,625 mseg,
correspondientes a 5 muestras
PCM.
LD-CELP . Recomendación
G.728
Por cada segmento de voz, el codificador
analiza entre las 1024 vectores de su libro
de códigos para encontrar la forma de
onda del mismo que más se aproxime a la
excitación de entrada (el que minimiza el
error medio cuadrático compensado en
frecuencia con respecto a la señal de
entrada). Los 10 bits correspondientes al
vector del libro de código seleccionado son
enviados al decodificador. De esta manera,
cada 0,625 mseg el codificador envía 10
bits, lo que da una velocidad de 16 Kbps.
LD-CELP . Recomendación
G.728
•
12-oct-14
•
12-oct-14
• Esta
En la práctica, se usan 7 bits para
representar 128 formas de onda patrón y
los otros bits se utilizan para indicar la
amplitud de la señal. Sabiendo que una
señal analógica puede poseer una variedad
infinita de valores la selección entre 1024
posibilidades se ve muy débil, y realmente
lo sería si esta selección fuera estática. Sin
embargo, esta selección no es estática,
como en ninguna de las codificaciones
CELP.
32
LD-CELP . Recomendación
G.728
Justamente la reputación de altamente
compleja que posee la codificación CELP
viene dada de la actualización constante
de los libros de código y de los filtros, a
partir del pasado reciente de la señal de
entrada.
LD-CELP . Recomendación
G.728
12-oct-14
•
12-oct-14
12/10/2014
acumular solamente 5 muestras
PCM para procesar el segmento de
voz (en lugar de 80 para G.729) se
logra tiempos de acumulación
mucho menores que reducen el
retardo del algoritmo, y,
adicionalmente, resultan bloques de
información más pequeños que se
procesan de una manera mucho más
rápida.
12-oct-14
• Al
Recomendación G.723.1
•
La recomendación G.723.1 fue aprobada
por la ITU en marzo de 1996, y
recomendada en 1997 por el consorcio de
teleconferencia multimedia al forum de
voz sobre IP como codificación de audio de
baja velocidad para el estándar H.323 de
la ITU. El estándar H.323 define los
métodos para la comunicación de voz y
vídeo sobre redes de paquetes.
33
12-oct-14
12/10/2014
Recomendación G.723.1
Este codificador posee dos velocidades
asociadas, 5,3 Kbps y 6.3 Kbps. La mayor
velocidad provee una mejor calidad, pero
la menor velocidad, aparte de ofrecer una
buena calidad, provee a los diseñadores de
sistemas con una flexibilidad adicional.
12-oct-14
•
Recomendación G.723.1
codificador envía, al igual que en
G.729, los parámetros que
caracterizan al filtro LPC (que
representa el tracto vocal), la
amplitud de la señal de excitación,
la frecuencia de la formante y una
representación de la señal residuo.
12-oct-14
• El
Recomendación G.723.1
•
La diferencia fundamental con G.729 es
que las señales se procesan en segmentos
de tiempo mucho mayores, 30 mseg en
lugar de 10 mseg y que para la
aproximación del residuo, G.723.1 utiliza,
para su más alta velocidad de codificación
(6.3 Kbps), en lugar de una excitación de
código algebraica, una excitación
cuantificada con multipulso de máxima
probabilidad (MP-MLQ, Multipulse
Maximum Likelihood Quantization). Para
su más baja velocidad (5,3 Kbps) G.723.1
utiliza una excitación de código algebraica
para aproximar el residuo de la señal.
34
12-oct-14
12/10/2014
Recomendación G.723.1
G.723.1 las señales de audio se
procesan en segmentos de 30 mseg,
correspondientes a 240 muestras
PCM, y para el cálculo de los
coeficientes del filtro LPC se analiza
la señal de entrada por 7,5 mseg
adicionales, resultando un retardo
total del algoritmo de 37,5 mseg.
Recomendaciones UIT para
compresión de voz
Compresión
G.711 (PCM)
G.721 (ADPCM)
G.723 (ADPCM)
G.726 (ADPCM)
G.727 (ADPCM)
G.729 (CS-ACELP)
G.728 (LD-CELP)
G.723.1
G.723.1
Velocidad
(kbps)
64
32
24-40
16-40
16-64
8
16
6,3
5,3
Segmento
(bits)
8
4
3-5
2-5
2-8
80
10
189
159
Segmentos/
seg
8000
8000
8000
8000
8000
100
1600
33,33
33,33
Duración
(ms)
0,125
0,125
0,125
0,125
0,125
10
0,625
30
30
12-oct-14
• En
Retardo (ms)
0,125
0,125
0,125
0,125
0,125
15
0,625
37,5
37,5
35