Universidad Carlos III de Madrid Codificación CELP Fernando Díaz de María Dpto. de Teoría de la Señal y Comunicaciones Índice I nt roducción Codificación híbrida Codificación CELP • Origen • Estándares • Elementos fundamentales Predictores, ponderación perceptual, y selección de la excitación por síntesis • Mejoras sobre el esquema básico Representación de la periodicidad Librerías estructuradas Postfiltrado 1 Introducción Introducción Predecesor: la codificación APC en lazo abierto • el error de codificación no es igual al error de cuantificación del residuo • la selección de la versión cuant ificada del residuo lo más próxima posible al original no es óptimo Estrategia óptima: análisis m ediant e sínt esis • se elige el residuo cuantificado que genera la señal sintética más próxima a la voz original 2 Diagrama de bloques ! Inconveniente: enorme esfuerzo computacional - Sin interés práctico hasta que Atal propuso el codificador multipulso en 1982 - Entre dos y tres años más tarde nace el codificador CELP Codificación Híbrida 3 Codificadores de análisis mediante síntesis La voz se divide en t ram as de 20- 30 ms. (que pueden solaparse), para cada una de las cuales se est im a un pr edict or cort o El predict or largo se estima cada 5- 10 ms. ( subt ram a): retardo y coeficientes • lazo abiert o • lazo cerrado ( m ediant e sínt esis) La excit ación óptima para cada subt ram a se determina para minimizar la diferencia (ponderada) entre la voz codificada y la original Selección de la excitación mediante síntesis El procedimiento de análisis implica la síntesis de la correspondiente voz codificada 4 Representación eficiente de la excitación Codificador Multipulso Multipulso • Determinación óptima de posiciones y amplitudes muy costosa procedimiento subóptimo: se determina la posición y amplitud de un sólo pulso en cada paso • Para calidad aceptable: 4- 6 pulsos cada 5 ms. 7- 8 bits / pulso (amplitudes y posiciones) 5 Codificador RPE Versión simplificada del multipulso • Los pulsos se sitúan regularmente espaciados • 10 pulsos cada 5 ms. • 3- 4 bits / pulso El estándar europeo de telefonía móvil GSM a 13 kb/s es un RPE Codificación predictiva lineal excitada por código (CELP) El codificador y el decodificador almacenan un conjunto de C posibles excitaciones de longitud L • la excit ación generada par a cada subtrama queda completamente caracterizada por su código: ( log 2 C)/L bit/muestra La excitación óptima se obtiene mediante búsqueda exhaustiva para minimizar el error perceptual 6 Codificación CELP El CELP: una prueba de existencia La codificación de 1 s. de voz consumió 125 s. de CPU en un Cray1 Sin embargo, la posibilidad de codificar voz con calidad a bajas tasas impulsó la investigación en este campo: • Un año después se publicaban diversos trabajos para reducir la complejidad de la propuesta inicial 7 Elementos Fundamentales El predictor corto Se determina trama a trama cada 1030 ms. Los coeficientes suelen interpolarse subtrama a subtrama Adaptación “forward” o “backward” Modela el tracto vocal Cuando la adaptación es “forward” ha de cuantificarse de forma transparente: • Cuantificación escalar: ~30 bits • Cuantificación vectorial: ~18 bits 8 Cuantificación de los LPC La cuantificación distorsiona, pero subjetivamente la distorsión puede ser inapreciable Dificultad: asegurar la estabilidad tras la cuantificación ki ≤ 1 1 ≤ i ≤ p • PARCOR: síntesis estable si Los PARCOR no se cuantifican directamente, debido a que los valores más próximos a 1 son más sensibles a la cuantificación: − SI = arcsen( k i ), 1 ≤ i ≤ p 1 + ki − LAR = log , 1 ≤ i ≤ p 1 − ki “Line Spectral Frequency” (LSF) Problemas de los parámetros I S y LAR: • En torno a 4 bits/coeficiente (35- 40 bits/trama) • No reflejan correlación entre tramas sucesivas LSF: • Representan la información espectral en el dominio de la frecuencia I nt erpolación sencilla Fácil incorporación de características perceptuales • Pueden codificarse más eficientemente 9 Propiedades de los LSF Ordenamiento natural • aceleración de la conversión LPC- LSF Elevada correlación dentro de una misma trama y entre tramas sucesivas Predictor largo Se obtiene después del predictor corto Dos posibilidades: • lazo abiert o • lazo cerrado ( m ediant e sínt esis) : supone gran part e de la carga com put acional de un codificador CELP • combinaciones de ambos, para reducir complejidad Rango típico del retardo: 2- 20 ms. ( 20- 147, 8 KHz) Cuantificación: 7 (retardo) + 3- 4 (coef.) bit s Tasa de actualización: ~ 5 ms 10 Excitación por código Excitación: aquello que no es predecible y que contribuye significativamente a la calidad Método eficaz para tasas de 1/4 bit/muestra e inferiores Librerías de “forma” y “tamaño” Diseño de la librería: • ruido con características estadísticas del error de predicción: ruido blanco y gaussiano + “centerclipping” • entrenada a partir de un registro de voz representativo: mejores prestaciones, menos robusta y difícil de estructurar Cuantificación de la ganancia (tamaño) • 4- 5 bits • Si la subtrama es pequeña: cuantificación diferencial Ponderación perceptual El filtro de ponderación se obtiene habitualmente a partir del predictor corto W(z) = A( z ) A(z / γ ) 11 Selección de la excitación por síntesis: esquema Selección de la excitación por síntesis: formulación (I) Para el k- ésimo vector de excitación, la voz ponderada sintética puede expresarse: sk = s0 + gk y k 0 donde s representa la respuesta a las condiciones iniciales e y k la respuesta a la ent rada v k Y el error: e k = s − sk = s0 − gk y k donde s es la señal de voz ponderada y s0 = s − s0 12 Selección de la excitación por síntesis: formulación (II) Derivando con respecto a g k el error cuadrático: E k = e Tk e k e igualando a cero, se obtiene T s0 y g = T k yk yk * k ganancia que introducida en Ek da lugar a: E k = s 0 s 0 − 2 g k* s 0 y k + g k* y Tk y k T T 2 E ' k = − 2 g k* s 0 y k + g k* y Tk y k T 2 Mejoras sobre el esquema básico Representación de la periodicidad • • • • Predictor con mayor resolución temporal Librería adaptativa Modelos de periodicidad mejorados Análisis mediante síntesis generalizado Librerías estructuradas Postfiltrado 13 Predictor largo con retardo fraccionario Fs = 8 kHz baja resolución para períodos de pitch P cortos (Ts ~ 6% P) Realización de un retardo l/ D ( l=0,1,..,D1): • int er polación ( D) de la señal original • selección del retardo l en la señal interpolada • r equivale a l/ D en la señal original Calidad similar a los predictores de 3 coeficientes, pero se codifican más eficientemente Librería adaptativa (I) La estimación mediante síntesis del filtro predictor largo es problem át ica cuando P < Longit ud de la subt ram a (necesitamos una excitación aún no calculada) Librería adaptativa: alternativa al predictor lar go • la excitación se construye como una combinación lineal de dos contribuciones procedentes de dos librerías: estocástica: la convencional del CELP adaptativa: construida concatenando excitaciones anteriores • la librería adaptativa soluciona el problema anterior fácilmente mediante una extensión periódica 14 Librería adaptativa (II) Modelos de periodicidad mejorados La contribución estocástica puede distorsionar la periodicidad • “ Const rained- Excitation”: la ganancia de la cont ribución est ocást ica se reduce según el grado de periodicidad • Modificación del filtro de ponderación perceptual para de- enfatizar los armónicos 15 Análisis mediante síntesis generalizado las modificaciones de la señal de voz no deben ser audibles (desplazamiento temporal, por ejemplo) Selección de la contribución estocástica (I) Para el k- ésimo vector de excitación, la voz ponderada sintética puede expresarse: s k = s 0 + g a j y j + g sk z k donde s 0 representa la respuesta a las condiciones iniciales y g a j y j y g s k z k las contribuciones adaptativa y estocástica e k = s − s k = s 0 − g sk z k Y el error: donde s es la señal de voz ponderada y s0 = s − s0 − ga j y j 16 Selección de la contribución estocástica (II) Derivando con respecto a g k el error cuadrático: E k = e Tk e k e igualando a cero, se obtiene T s0 z g = T k zk zk * sk ganancia que introducida en Ek da lugar a: 0 0 * 0 * T E k = s s − 2 g sk s z k + g sk z k z k T T 2 E ' k = − 2 g s*k s 0 z k + g s*k z Tk z k T 2 Librerías estructuradas Librería estocástica: la complejidad de la búsqueda es el factor más crítico • Librerías estructuradas: búsquedas rápidas Algunos tipos: • librerías solapadas ( “ overlapped codebook”) • librerías dispersas ( “ sparse codebook”): t ernarias • librerías algebraicas ( ACELP) • múltiples librerías con búsqueda secuencial • librerías const ruidas a part ir de una base (VSELP) 17 Interacción entre librerías Resulta ventajoso ortogonalizar los vectores de la librería estocástica con respecto a la contribución adaptativa seleccionada, pero es costoso. • VSELP: sólo es necesario ortogonalizar la base La memoria de la librería adaptativa im plica int eracción ent re t ram as adyacentes • “ delayed- decision”: coste computacional y retardo elevados Postfiltrado (I) A veces resulta imposible mantener el ruido por debajo del umbral perceptible en los valles: estas componentes de ruido pueden atenuarse mediante postfiltrado El postfiltrado ha de ser variante y aprovechar los parámetros del filtro de síntesis para localizar los valles H ( z) = 1 1 − Pc (z / α ) 18 Postfiltrado (II) El filtro anterior refuerza el carácter paso- bajo de la voz • La pendiente espectral puede reducirse añadiendo ceros con las mismas fases, pero con radios menores H (z ) = 1 − Pc (z / α1 ) , 0 < α1 < α 2 1 − Pc (z / α 2 ) 20 log H (ω ) = 20 log 1 − 1 − Pc e jω / α 2 1 − 20 log 1 − Pc e jω / α1 ( ) ( ) Postfiltrado (III) … todavía queda una pequeña pendiente • filt rado paso alt o H (z ) = (1 − µ z )11−− PP ((zz //αα )), −1 c 1 c 2 0 < α1 < α 2 19 Bibliografía A.M. Kondoz: Digit al Speech: Coding for Low Bit Rat e Com m unicat ions Syst em s; Chichester, England: John Wiley & Sons; 1994. P. Kroon and B.S. Atal: “Predictive Coding of Speech Using Analysis- by- Synthesis Techniques”; in Advances in Speech Signal Processing, S. Furui and M. Sondhi, Ed.; New York, USA: Marcel Dekker; 1991. B. Atal, V. Cuperman and A. Gersho: Advances in Speech Coding; Boston, USA: Kluwer; 1991 P. Kroon and W.B. Kleijn: “Linear Prediction based Analysis- by- Synthesis Coding”; in Speech Coding and Synt hesis, W.B. Kleijn, and K.K Paliwal, Ed.; Amsterdam: Elsevier; 1995. 20