Codificación predictiva lineal
La codificación predictiva lineal (LPC) es un método utilizado principalmente en el procesamiento de señales de audio y procesamiento de voz para representar la envolvente espectral de una señal de voz digital en forma comprimida, utilizando la información de un modelo predictivo lineal.
LPC es el método más utilizado en codificación y síntesis de voz. Es una poderosa técnica de análisis de voz y un método útil para codificar voz de buena calidad a una tasa de bits baja.
Resumen
LPC comienza con la suposición de que una señal de voz es producida por un zumbador al final de un tubo (para sonidos sonoros), con silbidos y chasquidos agregados ocasionalmente (para sonidos sin voz como sibilantes y oclusivas). Aunque aparentemente tosco, este modelo de fuente-filtro es en realidad una aproximación cercana a la realidad de la producción del habla. La glotis (el espacio entre las cuerdas vocales) produce el zumbido, que se caracteriza por su intensidad (sonoridad) y frecuencia (tono). El tracto vocal (la garganta y la boca) forma el tubo, que se caracteriza por sus resonancias; estas resonancias dan lugar a formantes, o bandas de frecuencia mejoradas en el sonido producido. Los silbidos y los estallidos son generados por la acción de la lengua, los labios y la garganta durante las sibilancias y oclusivas.
LPC analiza la señal de voz estimando los formantes, eliminando sus efectos de la señal de voz y estimando la intensidad y la frecuencia del zumbido restante. El proceso de eliminar los formantes se denomina filtrado inverso, y la señal restante después de la resta de la señal modelada filtrada se denomina residuo.
Los números que describen la intensidad y la frecuencia del zumbido, los formantes y la señal residual pueden almacenarse o transmitirse a otro lugar. LPC sintetiza la señal de voz invirtiendo el proceso: usa los parámetros de zumbido y el residuo para crear una señal fuente, usa los formantes para crear un filtro (que representa el tubo) y pasa la fuente a través del filtro, lo que da como resultado el habla.
Debido a que las señales de voz varían con el tiempo, este proceso se realiza en fragmentos cortos de la señal de voz, que se denominan fotogramas; generalmente, de 30 a 50 fotogramas por segundo dan un habla inteligible con buena compresión.
Historia temprana
La predicción lineal (estimación de señales) se remonta al menos a la década de 1940, cuando Norbert Wiener desarrolló una teoría matemática para calcular los mejores filtros y predictores para detectar señales ocultas en el ruido. Poco después de que Claude Shannon estableciera una teoría general de la codificación, C. Chapin Cutler, Bernard M. Oliver y Henry C. Harrison realizaron un trabajo sobre la codificación predictiva. Peter Elias en 1955 publicó dos artículos sobre codificación predictiva de señales.
Los predictores lineales fueron aplicados al análisis del habla de forma independiente por Fumitada Itakura de la Universidad de Nagoya y Shuzo Saito de Nippon Telegraph and Telephone en 1966 y en 1967 por Bishnu S. Atal, Manfred R. Schroeder y John Burg. Itakura y Saito describieron un enfoque estadístico basado en la estimación de máxima verosimilitud; Atal y Schroeder describieron un enfoque predictivo lineal adaptativo; Burg esbozó un enfoque basado en el principio de máxima entropía.
En 1969, Itakura y Saito introdujeron el método basado en correlación parcial (PARCOR), Glen Culler propuso la codificación de voz en tiempo real y Bishnu S. Atal presentó un codificador de voz LPC en la reunión anual de la Acoustical Society of America. En 1971, Philco-Ford demostró LPC en tiempo real utilizando hardware LPC de 16 bits; Se vendieron cuatro unidades. La tecnología LPC fue avanzada por Bishnu Atal y Manfred Schroeder durante las décadas de 1970 y 1980. En 1978, Atal y Vishwanath et al. de BBN desarrollaron el primer algoritmo LPC de tasa variable. El mismo año, Atal y Manfred R. Schroeder de Bell Labs propusieron un códec de voz LPC llamado codificación predictiva adaptativa, que utilizaba un algoritmo de codificación psicoacústica que aprovechaba las propiedades de enmascaramiento del oído humano. Más tarde, esto se convirtió en la base de la técnica de codificación perceptiva utilizada por el formato de compresión de audio MP3, introducido en 1993. Schroeder y Atal desarrollaron la predicción lineal excitada por código (CELP) en 1985.
LPC es la base de la tecnología de voz sobre IP (VoIP). En 1972, Bob Kahn de ARPA, con Jim Forgie (Lincoln Laboratory, LL) y Dave Walden (BBN Technologies), iniciaron los primeros desarrollos en voz paquetizada, que eventualmente conduciría a la tecnología de voz sobre IP. En 1973, según la historia informal del Laboratorio Lincoln, Ed Hofstetter implementó el primer LPC de 2400 bit/s en tiempo real. En 1974, se logró la primera comunicación de voz en paquetes LPC bidireccional en tiempo real a través de ARPANET a 3500 bit/s entre Culler-Harrison y Lincoln Laboratory. En 1976, se llevó a cabo la primera conferencia LPC sobre ARPANET utilizando el protocolo de voz de red, entre Culler-Harrison, ISI, SRI y LL a 3500 bit/s.
Representaciones del coeficiente LPC
LPC se utiliza con frecuencia para transmitir información de envolvente espectral y, como tal, debe tolerar los errores de transmisión. La transmisión de los coeficientes del filtro directamente (consulte la predicción lineal para obtener una definición de los coeficientes) no es deseable, ya que son muy sensibles a los errores. En otras palabras, un error muy pequeño puede distorsionar todo el espectro o, peor aún, un error pequeño puede hacer que el filtro de predicción sea inestable.
Hay representaciones más avanzadas, como relaciones de área logarítmica (LAR), descomposición de pares espectrales de línea (LSP) y coeficientes de reflexión. De estos, especialmente la descomposición LSP ha ganado popularidad ya que asegura la estabilidad del predictor y los errores espectrales son locales para pequeñas desviaciones de coeficiente.
Aplicaciones
LPC es el método más utilizado en codificación y síntesis de voz. Generalmente se utiliza para el análisis y la resíntesis del habla. Se utiliza como una forma de compresión de voz por parte de las compañías telefónicas, como en el estándar GSM, por ejemplo. También se utiliza para redes inalámbricas seguras, donde la voz debe digitalizarse, cifrarse y enviarse a través de un canal de voz estrecho; un ejemplo temprano de esto es el Navajo I del gobierno de los Estados Unidos.
La síntesis LPC se puede utilizar para construir codificadores de voz donde los instrumentos musicales se utilizan como una señal de excitación para el filtro variable en el tiempo estimado a partir del discurso de un cantante. Esto es algo popular en la música electrónica. Paul Lansky hizo que la conocida pieza de música por computadora no solo fuera una charla ociosa usando codificación predictiva lineal. Más que charla ociosa Se utilizó un LPC de décimo orden en el popular Speak & Hechizo de juguete educativo.
Los predictores LPC se utilizan en Shorten, MPEG-4 ALS, FLAC, códec de audio SILK y otros códecs de audio sin pérdidas.
LPC recibió cierta atención como herramienta para el análisis tonal de violines y otros instrumentos musicales de cuerda.
Contenido relacionado
BeOS
Submarino clase Vanguard
Sistemas electrónicos Marconi