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 digital de voz en forma comprimida , utilizando la información de un modelo predictivo lineal . [1] [2]
LPC es el método más utilizado en la codificación y síntesis de voz . Es una técnica de análisis de voz potente y un método útil para codificar voz de buena calidad a una tasa de bits baja .
El modelo LPC parte de 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 estallidos ocasionales añadidos (para sonidos sordos como sibilantes y oclusivas ). Aunque aparentemente rudimentario, este modelo de filtro de fuente 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 ( volumen ) 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 sibilantes y las oclusivas.
El LPC analiza la señal de voz estimando los formantes, eliminando sus efectos de la señal de voz y estimando la intensidad y frecuencia del zumbido restante. El proceso de eliminación de los formantes se denomina filtrado inverso y la señal restante después de la sustracción de la señal modelada filtrada se denomina residuo.
Los números que describen la intensidad y frecuencia del zumbido, los formantes y la señal residual se pueden almacenar o transmitir en otro lugar. LPC sintetiza la señal de voz invirtiendo el proceso: utiliza los parámetros del zumbido y el residuo para crear una señal fuente, utiliza los formantes para crear un filtro (que representa el tubo) y pasa la fuente por el filtro, lo que da como resultado la voz.
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.
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. [3] [4] Poco después de que Claude Shannon estableciera una teoría general de codificación , C. Chapin Cutler , [5] Bernard M. Oliver [6] y Henry C. Harrison realizaron trabajos sobre codificación predictiva . [7] Peter Elias publicó en 1955 dos artículos sobre codificación predictiva de señales. [8] [9]
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 de predictor lineal adaptativo ; Burg describió un enfoque basado en el principio de máxima entropía . [4] [10] [11] [12]
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 Sociedad Acústica de América . En 1971, Philco-Ford demostró la LPC en tiempo real utilizando hardware LPC de 16 bits ; se vendieron cuatro unidades. [13] La tecnología LPC fue avanzada por Bishnu Atal y Manfred Schroeder durante la década de 1970 y 1980. [13] En 1978, Atal y Vishwanath et al. de BBN desarrollaron el primer algoritmo LPC de tasa variable . [13] El mismo año, Atal y Manfred R. Schroeder en Bell Labs propusieron un códec de voz LPC llamado codificación predictiva adaptativa , que utilizaba un algoritmo de codificación psicoacústica que explotaba las propiedades de enmascaramiento del oído humano. [14] [15] Esto más tarde se convirtió en la base para la técnica de codificación perceptiva utilizada por el formato de compresión de audio MP3 , introducido en 1993. [14] La predicción lineal excitada por código (CELP) fue desarrollada por Schroeder y Atal en 1985. [16]
LPC es la base de la tecnología de voz sobre IP (VoIP). [13] En 1972, Bob Kahn de ARPA con Jim Forgie de Lincoln Laboratory (LL) y Dave Walden de BBN Technologies iniciaron los primeros desarrollos en voz en paquetes, que eventualmente conducirían a la tecnología de voz sobre IP. En 1973, según la historia informal de Lincoln Laboratory, 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 a través de ARPANET utilizando el Protocolo de voz en red , entre Culler-Harrison, ISI, SRI y LL a 3500 bit/s. [ cita requerida ] [ aclaración necesaria ]
El LPC se utiliza con frecuencia para transmitir información de la envolvente espectral y, como tal, debe ser tolerante a los errores de transmisión. La transmisión directa de los coeficientes del filtro (consulte la predicción lineal para obtener una definición de 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 pequeño error puede hacer que el filtro de predicción sea inestable.
Existen representaciones más avanzadas, como las razones de área logarítmica (LAR), la descomposición de pares espectrales de líneas (LSP) y los coeficientes de reflexión . De estas, la descomposición LSP ha ganado popularidad, ya que garantiza la estabilidad del predictor y los errores espectrales son locales para pequeñas desviaciones de coeficientes.
LPC es el método más utilizado en codificación y síntesis de voz . [17] Generalmente se utiliza para análisis y resíntesis de voz. Las compañías telefónicas lo utilizan como una forma de compresión de voz, como en el estándar GSM , por ejemplo. También se utiliza para comunicaciones 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 EE. UU .
La síntesis LPC se puede utilizar para construir vocoders donde se utilizan instrumentos musicales como señal de excitación para el filtro variable en el tiempo estimado a partir del habla de un cantante. Esto es bastante popular en la música electrónica . Paul Lansky creó la conocida pieza musical por computadora notjustmoreidlechatter utilizando codificación predictiva lineal. [18] Se utilizó una LPC de décimo orden en el popular juguete educativo Speak & Spell de los años 80 .
Los predictores LPC se utilizan en los códecs de audio Shorten , MPEG-4 ALS , FLAC , SILK y otros códecs de audio sin pérdida .
El LPC ha recibido cierta atención como herramienta para su uso en el análisis tonal de violines y otros instrumentos musicales de cuerda. [19]
{{cite journal}}
: Requiere citar revista |journal=
( ayuda )