Title: Codificadores de an
1Codificadores de análisis por síntesis e híbridos
2Modelo de producción del habla (I)
- Voz
- Aire producido en los pulmones
- Si el sonido es sonoro, es modulado por las
cuerdas vocales, que vibran a la frecuencia
fundamental (pitch) - Modificado por el tracto vocal
- En sonidos nasales una parte del aire fluye por
orificios nasales
3Modelo de producción del habla (II)
- Ejemplo Descodificador DPCM
El error de predicción modela la excitación ej
orden 10, 8kHz gt memoria lt 2 mseg. ltlt 1/f0 El
filtro de síntesis es todo polos H(z) 1 / (1
- P(z))
x(n) error de predicción y cuantificación y(n)
señal sintetizada
4Codificación predictiva mediante análisis por
síntesis (I)
Codificador
Descodificador
5Codificación predictiva mediante análisis por
síntesis (II)
- Se transmite la excitación y el filtro
- Filtro de síntesis predictor lineal variante
- El predictor captura la correlación entre
muestras de pitch - Frecuencia de pitch 50-400 Hz o unas 20-160
muestras - predictor corto predictor largo
- Se codifica cada segmento de excitación.
- Las excitacitaciones posibles son limitadas para
obtener tasas de compresión elevadas. - MULTIPULSO (MP) AEEC93, 9.6 kb/s
- PULSOS REGULARES (PR) GSM 6.10
- CUANTIFICACIÓN VECTORIAL (CELP) GSM 6.20, G.728
- Se elige aquella excitación que produce un error
perceptual menor
6Predictor corto
e(n)
Predicción forward se toman segmentos ( 20 ms.)
y se buscan los coeficientes para los cuales se
minimiza el error cuadrático medio
7Cálculo del predictor
Predicción El error de predicción
Minimizar la potencia del error
Solución
8Métodos y propiedades
Minimización del error en N puntos Método de
covarianza. Si previamente se enventana la
señal Método de correlación Matriz simétrica con
diagonales iguales (algoritmo de Levinson).
9Cuantificación del Predictor Corto
- Errores de cuantificación sobre los coeficientes
del predictor ak puede producir filtros
inestables (polos fuera del circulo unidad) - Þ se utilizan parámetros sobre los que se pueda
controlar fácilmente la estabilidad - pares de líneas espectrales (LSF). Estabilidad si
fi lt 1 fi-1 - parcors ki. Estabilidad si ki lt 1 Dada su
sensibilidad en torno a la unidad se utilizan los
logaritmos de área - Propiedades dinámica de LARi decrece con i
- Nº bits 6, 6, 5, 5, 4, 4, 3, 3 Þ 36 bits
- Tramos de 20 milisegundos Þ 1,8 kbits/s
10Cuantificación del Predictor Corto
Asignación de bits - GSM (13 kbps) 8 LARs x 3-6
bits / 20 ms 1.8 Kbps - FS1016 (4.8 kbps) 10
LSPs x 3-4 bits / 30 ms 1.1 Kbps
11Interpolación del Predictor Corto
- Para que sea posible elegir la mejor excitación
la excitación de la trama de análisis (20 ms.) se
divide en subtramas (5 ms.) asociando una
excitación a cada subtrama. - Se obtiene una mejora sustancial en la calidad si
se utilizan parámetros interpolados en cada una
de las subtramas. - También puede utilizarse para reducir la
velocidad de transmisión enviando los parámetros
de una trama cada dos o tres.
12Predictor Largo
x(n)
- Para cada valor de a se estima el predictor que
minimiza el error cuadrático medio. El valor de a
es el que proporciona menor error. - Predictor 1 ó 3 coeficientes
r(n)
13Representación del filtro de síntesis
14Filtro perceptual
- El error cuadrático medio no es una buena medida
de error - El error en los formantes queda enmascarado por
la señal - El error perceptualmente más importante es debido
a regiones frecuenciales de nivel bajo - Þ conformador de ruido
15Excitación multipulso
- Formada por un número (pequeño) de pulsos.
- Ej 5 ms (40 muestras), 4 pulsos, 35 bits, Þ 7
kbits/s - Posiciones 17-20 bits
- Ganancias 643 18 bits
16Multipulso determinaciónde posiciones y
ganancias de los pulsos
Excitación Salida Error
Minimizar la potencia del error
17Multipulso determinaciónde posiciones y
ganancias de los pulsos
- Multipulso algoritmo para determinar las
posiciones de los pulsos - Para todas las posibles posiciones de los pulsos
- Calcular las ganancias que minimizan el error
(ponderado) - Seleccionar las posiciones (y ganancias) que
minimizan el error - Ej 5 ms (40 muestras), 4 pulsos Þ 91390
posibles posiciones! - Aproximación
- Inicio determinar posición de un único pulso.
Calcular ganancia. - Repetir Determinar posición óptima al añadir
un nuevo pulso. - Calcular ganancias del nuevo pulso (o de todos).
18Pulsos regulares
- La excitación está compuesta por un gran número
de pulsos equiespaciados - Ej 5 ms (40 muestras), 10 pulsos equiespaciados,
4 posibles inicios - Posiciones 2 bits
- Ganancias 6103 36 bits
19CELP (Code Excited Linear Prediction)
20CELP (Code Excited Linear Prediction)
21CELP (Code Excited Linear Prediction)
- Codebook gausiano tamaño mayor de 1024
- Exige ensayar todas las excitaciones (calculando
la óptima ganancia) - Numero de operaciones para cada código
proporcional al cuadrado de las muestras (40
muestras, 1000 códigos Þ 40.000 operaciones por
muestra) - Excitación cuantificada vectorialmente
- Ej 10 bits cada 5 ms, 1024 codewords 5 bits
ganancia Þ 3 kbits/s
22Cálculo
error
ganancia
excitación
23CELP simplificación de la búsqueda
- Existen muchas variantes de CELP según la
estrategia utilizada para reducir la complejidad
asociada a la búsqueda - Búsqueda en dominios transformados (SVD,
Frecuencial) - Codebooks estructurados
24CELP Codebooks estructurados
- Codewords dispersos solo unas pocas muestras (
4) son no nulas - Ternarios como disperos pero amplitudes sólo
-1,1 - Codebooks algebraicos número (pequeño) de pulsos
donde cada pulso puede ocupar sólo unas
determinadas posiciones - Ej pulso 1 1,5,9,etc pulso 2 2,6,10, etc,
..., pulso 4 4,8,12,etc. - Amplitudes pulso 1 y 3 1 pulso 2 y 4 -1
- Codewords solapados el codeword i es como el i-1
desplazado k muestras y añadiendo k nuevas
muestras. - Autoexcitados la excitación se elige buscando
entre las excitaciones anteriores. Como solapados
pero muy sensible a errores.
25Predictor largo (II)
- Se consigue una mejora sustancial en la calidad
si los parámetros del predictor largo se
determinan dentro del bucle. - Se implementa mediante un codebook adaptativo
que se construye a partir de las excitaciones
pasadas retrasadas entre 20 y 160 muestras
26Postfiltrado
- Existen técnicas para realzar la señal de voz,
consiguiendo una mejora perceptual subjetiva a
costa de una mayor distorsión en la señal. - No adecuada cuando la señal atraviesa varias
etapas - Empeora prestaciones de señales no vocales
(modems) - Filtros sobre estructura de formantes
- Son filtros diseñados análogamente al de
ponderación perceptual paso alto - Híbridos entre el filtro largo de síntesis y un
pasa todo - Enfatiza los formantes
- Filtros sobre estructura de pitch
- Realzan la periodicidad de la señal
27estándares
- MPLPC, AEEC, 9.6 kbits/s
- RPE-LTP, ETSI-GSM 6.10, 13kbits/s
- CELP, US Federal Standard 1016, 4.8 kbits/s
- LD-CELP, ITU-T G.728, 16 kbits/s
- VSELP, telef. móvil
- TIA 8 kbits/s, JDC 6.7 kbits/s, ETSI-GSM 6.20
5.6 kbits/s
28ETSI GSM 6.10 velocidad completa
29ETSI GSM 6.10 velocidad completa
- Análisis 20 ms.
- Excitación 5 ms.
- Predictor corto
- orden 8 6, 6, 5, 5, 4, 4, 3, 3 36 bits
- Predictor largo
- ganancia (2 bits), posición (7 bits) 36 bits
- Excitación regular 13 pulsos, 4 posiciones.
- posición (2 bits), ganancia bloque (6 bits) 32
bits - amplitudes 13 x 3 (39 bits) 156 bits
- Total 260 bits/20 ms 13 kbits/s
30ETSI GSM 6.20 velocidad media
- Se basa en VCELP para disminuir la información
debida a la excitación 188 bits 56 bits. - Energía de la trama 5 bits
- Predictor corto orden 10
- VQ (r1, r2, r3) 11 bits
- VQ (r4, r5, r6) 9 bits
- VQ (r7, r8, r9, r10) 8 bits
- El codificador decide si es beneficioso realizar
la interpolación de los parámetros del predictor
corto (1 bit). - Existen 4 modos con codebooks específicos sorda,
...., sonora. En el primer modo no se utiliza el
predictor largo sino un codebook mayor. - Velocidad 5.6 kbits/s
31ITU-T G.728
Codificador 16 kbits/s, retardo 2 ms
Descodificador
- Sintetizador del codificador filtro de realce
de la señal
32ITU-T G.728 (2)
- Sólo se transmite el indice del codebook 10 bits
cada segmento. Para obtener mayor eficiencia en
la búsqueda - 7 bits de forma
- 3 bits de ganacia
- Segmentos de 5 muestras (16 kbits/s)
- Se adapta la ganancia de la excitación cada
segmento, el filtro de síntesis y el perceptual,
cada 4 segmentos. - Filtro de síntesis predictor de orden 50 sobre
la señal cuantificada - Filtro perceptual predictor de orden 10 sobre la
señal original - Predicción se realiza hacia atrás, utilizando un
enventanado recursivo que contempla toda la señal
anterior
33ITU-T G.728 (3)
- Postfiltrado del descodificador
- Realce de pitch filtro peine con pitch estimado
de la señal descodificada - Realce de formantes filtro similar al perceptual
- Ajuste de ganancia para evitar cambios en energía
debido al filtrado
34Codificadores de banda ancha LDCELP 32 kbits
- Similar a G.728 doble velocidad y banda ambos 2
bits/muestra (pendiente de estandarización) - Dificultad
- Banda de frecuencias altas mucha menor estructura
- Dinámica espectral muy elevada
- Orden del predictor 50 (G.728) 32
- MOS 4.1 (G.722, 64 kbits/s) 4.0
- Filtro perceptual enmascar ruido en formantes
(como G.728) y enfatiza altas frecuencias para
compensar la alta dinámica.