MX2007014555A - Post-filtracion de codificador-descodificador de audio. - Google Patents
Post-filtracion de codificador-descodificador de audio.Info
- Publication number
- MX2007014555A MX2007014555A MX2007014555A MX2007014555A MX2007014555A MX 2007014555 A MX2007014555 A MX 2007014555A MX 2007014555 A MX2007014555 A MX 2007014555A MX 2007014555 A MX2007014555 A MX 2007014555A MX 2007014555 A MX2007014555 A MX 2007014555A
- Authority
- MX
- Mexico
- Prior art keywords
- group
- filter
- frequency
- signal
- reconstructed
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 91
- 238000012545 processing Methods 0.000 claims abstract description 30
- 230000005236 sound signal Effects 0.000 claims abstract description 20
- 239000002131 composite material Substances 0.000 claims abstract description 10
- 238000001914 filtration Methods 0.000 claims abstract description 10
- 238000001228 spectrum Methods 0.000 claims description 26
- 230000009466 transformation Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 230000006872 improvement Effects 0.000 claims description 6
- 230000002194 synthesizing effect Effects 0.000 claims 1
- 230000003044 adaptive effect Effects 0.000 description 36
- 238000005070 sampling Methods 0.000 description 23
- 230000015572 biosynthetic process Effects 0.000 description 20
- 238000003786 synthesis reaction Methods 0.000 description 20
- 239000000872 buffer Substances 0.000 description 13
- 230000006835 compression Effects 0.000 description 13
- 238000007906 compression Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 238000010606 normalization Methods 0.000 description 8
- 238000013139 quantization Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000003595 spectral effect Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000002238 attenuated effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012074 hearing test Methods 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 230000000638 stimulation Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 235000014443 Pyrus communis Nutrition 0.000 description 1
- 206010038583 Repetitive speech Diseases 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/26—Pre-filtering or post-filtering
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
- Stereophonic System (AREA)
Abstract
Se describen técnicas y herramientas para procesar señales de audio reconstruidas. Por ejemplo, una señal de audio reconstruida es filtrada en el dominio de tiempo utilizando coeficientes de filtro que son calculados, por lo menos en parte, en el dominio de frecuencia. Como otro ejemplo, la producción de un gripo de coeficientes de filtro para filtrar una señal de audio reconstruida incluye limitar uno o más picos de un grupo de valores de coeficiente. Como otro ejemplo más, para un codificador-descodificador de sub-banda, en una región de frecuencia cerca de una intersección entre dos sub-bandas, se mejora una señal compuesta reconstruida.
Description
POST-FILTRACION DE CO D I FICADO R-DESCO DI F I C ADOR DE AUDIO
CAMPO TECNICO
Las herramientas y técnicas descritas se refieren a codificadores-descodificadores de audio, y particularmente a postprocesamiento de diálogo descodificado.
ANTECEDENTES
Con el surgimiento de redes de teléfono inalámbrico digital, dirigir audio en Internet, y telefonía de Internet, el procesamiento digital y entrega de diálogo se volvió más común. Los ingenieros utilizan una variedad de técnicas para procesar diálogo efectivamente mientras mantienen calidad. Para entender estas técnicas, ayuda entender cómo se representa y procesa la información de audio en una computadora.
I. Representación de Información de Audio en una Computadora Una computadora procesa información de audio como una serie de números que representan el audio. Un número individual puede representar una muestra de audio, que es un valor de amplitud en un tiempo particular. Varios factores afectan la calidad del audio, que incluye profundidad de muestra y velocidad de muestreo.
La profundidad de muestra (o precisión) indica la escala de números utilizados para representar una muestra. Valores más posibles para cada muestra típicamente generan resultado de calidad superior debido a que pueden representarse más variaciones sutiles en amplitud. Una muestra de ocho bits tiene 256 valores posibles, mientras una muestra de dieciséis bits tiene 65,536 valores posibles.
La velocidad de muestreo (usualmente medida como el número de muestras por segundo) también afecta la calidad. Entre mayos sea la escala de muestreo, mayor será la calidad debido a que pueden representarse más frecuencias de sonido. Algunas escalas de muestreo comunes son 8,000, 11,025, 22,050, 32,000, 44,100, 48,000, y 96,000 muestras/segundo (Hz). El Cuadro 1 muestra varios formatos de audio con diferentes niveles de calidad, junto con costos de velocidad al natural correspondientes.
Cuadro 1: Velocidades de bit para audio de diferente calidad
Como se muestra en el Cuadro 1, el costo de audio de calidad es velocidad de bit superior. La información de audio calidad superior consume grandes cantidades de almacenamiento en computadora y capacidad de transmisión. Muchas computadoras y redes de computadora crecen de recursos para procesar audio digital natural. La compresión (también llamada codificación o codificar) disminuye el costo de almacenar y transmitir información de audio al convertir la información en una forma de velocidad de bit inferior. LA compresión puede ser sin pérdida (en la cual la calidad no sufre) o con pérdida (en la cual la calidad sufre pero la reducción de velocidad de bit de compresión sin pérdida subsiguiente es más dramática). La descompresión (también llamada descodificación) extrae una versión reconstruida de la información original de la forma comprimida. Un codificador-descodif icador es un sistema de codificador/descodificador.
II. Codificadores v Descodificadores de Diálogo Una meta de compresión de audio es representar digitalmente señales de audio para proporcionar calidad de señal máxima para una cantidad dada de bits. Dicho de otra forma, esta meta es representar señales de audio con menos bits para un nivel de calidad dado. Otras metas tal como resiliencia a para errores de transmisión y limitar el retraso total debido a aplicar codificación/transmisión/descodificación en algunos escenarios. Diferentes clases de señales de audio tienen diferentes características. La música se caracteriza por grandes escalas de frecuencias y amplitudes, y frecuentemente incluye dos o más canales. Por otro lado, el diálogo se caracteriza por escalas más ^ pequeñas de frecuencias y amplitudes, y comúnmente se representa en un canal individual. Ciertos codif icadores-descodificadores y técnicas de procesamiento se adaptan para música y audio general; otros codificadores-descodif icadores y técnicas de procesamiento se adaptan para diálogo. Un tipo de codif icador-descodif icador de diálogo utiliza predicción lineal ("LP") para lograr compresión. La codificación de diálogo incluye varias etapas. El codificador encuentra y cuantifica coeficientes para un filtro de predicción lineal, que se utiliza para predecir valores de muestra como combinaciones lineales de valores de muestra precedentes. Una señal residual (representada como una señal de "estímulo") indica la trayectoria de la señal original no prevista exactamente por el filtrado. En algunas etapas, el codificador-descodificador de diálogo utiliza diferentes técnicas de compresión para segmentos con voz (caracterizados por vibración de cuerda bucal), segmentos sin voz, y segmentos silenciosos, ya que diferentes clases de diálogo tienen diferentes características. Los segmentos con voz típicamente exhiben patrones con voz altamente repetitivos, incluso en el dominio residual. Para segmentos con voz, el codificador logra compresión adicional al comparar la señal residual actual con ciclos residuales previos y codificar la señal residual actual en términos de retraso o información tardía en relación a los ciclos previos. El codificador controla otras discrepancias entre la señal original y la representación codificada, prevista (de la predicción lineal y la información de retraso) que utiliza libros de código especialmente diseñados. Aunque los codificadores-descodificadores de diálogo como se describió anteriormente tienen buen desempeño total para muchas aplicaciones, tienen varias desventajas. Por ejemplo, codificadores-descodificadores con pérdida típicamente reducen la velocidad de bit al reducir la redundancia en una señal de diálogo, lo que resulta en ruido u otros artefactos indeseables en diálogo descodificado. Por consiguiente, algunos codificadores-descodificadores filtran el diálogo descodificado para mejorar su calidad. Tales post-filtros típicamente tienen que estar en dos tipos: post-filtros de dominio de tiempo y post-filtros de dominio de frecuencia. Dada la importancia de compresión y descompresión para representar señales de diálogo en sistemas de computadora, no es sorprendente que el post-f iltrado de diálogo reconstruido tenga búsqueda atraída. Cualquiera que sea la ventaja de las técnicas previas para procesar el diálogo reconstruido u otro audio, no tienen las ventajas de las técnicas y herramientas aquí descritas.
BREVE DESCRIPCION DE LA INVENCION
En resumen, la descripción detallada está dirigida a varias técnicas y herramientas para codificadores-descodificadores de audio, y específicamente a herramientas y técnicas relacionadas con filtrar diálogo descodificado. Las modalidades descritas implementan una o más de las técnicas y herramientas descritas que incluyen, pero no se limitan a; lo siguiente: En un aspecto, se calcula un grupo de coeficientes de filtro para aplicación a una señal de audio reconstruida. El cálculo incluye realizar uno o más cálculos de dominio de frecuencia. Una señal de audio filtrada se produce al filtrar al menos una porción de la señal de audio reconstruida en un dominio de tiempo que utiliza el grupo de coeficientes de filtro. En otro aspecto, se produce un grupo de coeficientes de filtro para aplicación a la señal de audio reconstruida. La producción de los coeficientes incluye procesamiento de un grupo de valores de coeficiente que representan uno o más picos y uno o más valles. El procesamiento del grupo de valores de coeficiente incluye sujetar uno o más de los picos o valles. Al menos una porción de la señal de audio reconstruid se filtra al utilizar los coeficientes de filtro. En otro aspecto, se recibe una señal compuesta reconstruida sintetizada de señales de sub-banda de frecuencia reconstruida plural. Las señales de sub-banda incluyen una primera señal de sub-banda de frecuencia reconstruida para una primera banda de frecuencia y una segunda señal de sub-banda de frecuencia reconstruida para una segunda banda de frecuencia. En una región de frecuencia alrededor de una intersección entre la primera banda de frecuencia y la segunda banda de frecuencia, la señal compuesta reconstruida mejora selectivamente. Las varias técnicas y herramientas pueden utilizarse en combinación o independientemente. Las características y ventajas adicionales serán evidentes a partir de la siguiente descripción detallada de modalidades diferentes que procede con referencia a los dibujos anexos.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La Figura 1 es un diagrama de bloques de un ambiente de cómputo adecuado en el cual pueden implementarse una o más de las modalidades descritas. La Figura 2 es un diagrama de bloques de un ambiente en red en conjunto con el cual pueden implementarse una o más de las modalidades descritas. La Figura 3 es una gráfica que ilustra una estructura de sub-banda de frecuencia posible que puede utilizarse para codificación de sub-banda. La Figura 4 es un diagrama de bloques de un codificador de banda de diálogo de tiempo real en conjunto con el cual pueden implementarse una o más de las modalidades descritas. La Figura 5 es un diagrama de flujo que ilustra la determinación de parámetros de libro de código en una implementación. La Figura 6 es un diagrama de bloques de un descodif icador de banda de diálogo de tiempo real en conjunto con el cual pueden implementarse una o más de las modalidades descritas.
La Figura 7 es un diagrama de flujo que ilustra una técnica para determinar coeficientes de post-filtro que pueden utilizarse en algunas implementaciones.
DESCRIPCION DETALLADA
Las modalidades descritas se dirigen a técnicas y herramientas para procesar información de audio en codificación/descodificación. Con estas técnicas la calidad de diálogo derivado de un codificador-descodificador de diálogo, tal como un codificador-descodificador de diálogo de tiempo real, se mejora. Tales mejoras pueden resultar del uso de varia técnicas y herramientas de forma separada o en combinación. Tales técnicas y herramientas pueden incluir un post-filtro que se aplica a una señal de audio descodificada en el dominio de tiempo que utiliza coeficientes que se diseñan o procesan en el dominio de frecuencia. Las técnicas también pueden incluir sujetar o tapar valores de coeficiente de filtro para uso en tal filtro, o en algún otro tipo de post-filtro. Las técnicas también pueden incluir un post-filtro que mejora la magnitud de una señal de audio descodificada en regiones de frecuencia en donde la energía puede atenuarse debido a descomposición en bandas de frecuencia. Como un ejemplo, el filtro puede mejorar la señal en regiones de frecuencia cerca de intersecciones de bandas adyacentes.
Aunque las operaciones para las varias técnicas se describen en particular, el orden secuencial para la búsqueda de presentación, se debe entender que esta forma de descripción abarca redisposiciones minores en el orden de operaciones, a menos que se requiera un ordenamiento particular. Por ejemplo, operaciones descritas secuencialmente en algunos casos pueden reordenarse o realizarse concurrentemente. Además, para la búsqueda de simplicidad, los cuadros de flujo pueden no mostrar las varias formas en las cuales pueden utilizarse las técnicas particulares en conjunto con otras técnicas. Aunque posteriormente se describen características de ambiente de cómputo particulares y características de codificador-descodif icador de audio, una o más de las herramientas y técnicas pueden utilizarse con varios tipos diferentes de ambientes de cómputo y/o varios tipos diferentes de codificadores-descodificadores. Por ejemplo, una o más técnicas de post-filtro pueden utilizarse con codificadores-descodif icadores que no utilizan el modelo de codificación de CELP, tal como codif icadores-descodificadores de modulación de código de pulso diferencial adaptables, codificadores-descodificadores de transformación y/o otros tipos de codificadores-descodificadores. Como otro ejemplo, una o más de las técnicas de post-filtro pueden utilizarse con codificadores-descodificadores de banda individual o codificadores-descodificadores de sub-banda. Como otro ejemplo, una o más técnicas de spot-filtro pueden aplicarse a una banda individual de un codificador-descodif icador de banda múltiple y/o a una señal sintetizada o no codificada que incluye contribuciones de bandas múltiples de un codificador-descodificador de banda múltiple.
I. Ambiente de Cómputo La Figura 1 ¡lustra un ejemplo generalizado de un ambiente de cómputo adecuado (100) en el cual pueden implementarse una o más de las modalidades descritas. El ambiente de cómputo (100) no pretende sugerir ninguna limitación al alcance de uso o funcionalidad de la invención, mientras la presente invención puede implementarse en diversos ambientes de cómputo de propósito general o de propósito especial. Con referencia a la Figura 1, el ambiente de cómputo (100) incluye al menos una unidad de procesamiento (110) y memoria (120). En la Figura 1, esa configuración muy básica (130) se incluye dentro de una línea punteada. La unidad de procesamiento (110) ejecuta instrucciones ejecutables por computadora y puede ser un procesador real o uno virtual. En un sistema de procesamiento múltiple, las unidades de procesamiento múltiple ejecutan instrucciones ejecutables por computadora para aumentar la energía de procesamiento. La memoria (120) puede ser memoria volátil (por ejemplo, registros, caché, RAM), memoria no volátil (por ejemplo, ROM, EEPROM, memoria flash, etc.), o alguna combinación de los dos. La memoria (120) almacena software (180) que implementa una o más de las técnicas de post-filtrado descritas aquí para un descodif icador de diálogo. Un ambiente de cómputo (100) puede tener características adicionales. En la Figura 1, el ambiento de cómputo (100) incluye almacenamiento (140), uno o más dispositivos de entrada (150), uno o más dispositivos de salida (160), y una o más conexiones de comunicación (170). Un mecanismo de interconexión (no mostrado) tal como un conductor común, controlador, o la red interconecta los componentes del ambiente de cómputo (100). Típicamente, el software de sistema operativo (no mostrado) proporciona un ambiente operativo para otro software que se ejecuta en el ambiente de cómputo (100), y coordina actividades de los componentes del ambiente de cómputo (100). El almacenamiento (140) puede ser removible o no removible, y puede incluir discos magnéticos, cintas magnéticas o cassettes, CD-ROMs, CD-RWs, DVDs, o cualquier otro medio que puede utilizarse para almacenar información y que puede acceder dentro del ambiente de cómputo (100). El almacenamiento (140) almacena instrucciones para el software (180). El dispositivo(s) de entrada (150) puede ser un dispositivo de entrada sensible al tacto tal como un teclado, ratón, pluma, o seguibola, un dispositivo de entrada por voz, un dispositivo de escaneo, adaptador de red, u otro dispositivo que proporciona entrada al ambiente de cómputo (100). Para audio, el dispositivo(s) de entrada (150) puede ser una tarjeta de sonido, micrófono u otro dispositivo que acepta entrada de audio en forma análoga o digital, o un lector de CD/DVD que proporciona muestras de audio al ambiente de cómputo (100). El dispositivo(s) de salida (160) puede ser una pantalla, impresora, bocina, escritor de CD/DVD, adaptador de red, u otro dispositivo que proporciona salida del ambiente de cómputo (100). La conexión(es) de comunicación (170) permite comunicación en un medio de comunicación a otra entidad de cómputo. El medio de comunicación transporta información tal como instrucciones ejecutables por computadora, información de diálogo comprimido, u otros datos en una señal de datos modulad. Una señal de dato modulada es una señal que tiene una o más de sus características establecidas o cambiadas de tal forma para codificar información en la seña. A manera de ejemplo, y no de limitación, los medios de comunicación incluyen técnica por cable o inalámbricas con un portador eléctrico, óptico, RF, infrarrojo, acústico, u otro. La invención puede describirse en el contexto general de medios legibles por computadora. Los medios legibles por computadora es cualquier medio disponible que puede accederse dentro de un ambiente de cómputo. A manera de ejemplo, y no de limitación, con el ambiente de cómputo (100), el medio legible por computadora incluye memoria (120), almacenamiento (140), medios de comunicación, y combinaciones de cualquiera de los anteriores. La invención puede describirse en el contexto general de instrucciones ejecutables por computadora, tal como aquellas incluidas en módulos de programa, que se ejecutan en un ambiente de cómputo o en un procesador real o virtual objetivo. Generalmente, los módulos de programa incluyen rutinas, programas, bibliotecas, objetos, clases, componentes, estructuras de datos, etc. que realizan tares particulares o implementan tipos de datos abstractos particulares. La funcionalidad de los módulos de programa puede combinarse o dividirse entre módulos de programa como se desea en varias modalidades. Las instrucciones ejecutables por computadora para módulos de programa pueden ejecutarse dentro de un ambiente de cómputo local o distribuido. Para la búsqueda de presentación, la descripción detallada puede utilizar términos como "determinar", "generar", "ajustar", y "aplicar" para describir operaciones de computadora en un ambiente de cómputo. Estos términos son abstracciones de nivel superior para operaciones realizadas por una computadora, y no deben confundirse con actos realizados por un ser humano. Las operaciones de computadora reales que corresponden a estos términos varían dependiendo de la implementación .
II. Ambiente de Red Generalizado y Codif icador-Descodif icadoir de Diálogo en tiempo Real La Figura 2 es un diagrama de bloques de un ambiente de red generalizado (200) en conjunto con el cual pueden implementarse una o más de las modalidades descritas. Una red (250) separa varios componentes de lado de codificador de varios componentes de lado de descodif icador.
Las funciones primarias de componentes de lado de codificador u lado de descodificador son codificación y descodificación de diálogo, respectivamente. En el lado de codificador, una memoria intermedia de entrada (210) acepta y almacena entrada de diálogo (202). El codificador de diálogo (230) toma entrada de diálogo (202) de la memoria intermedia de entrada (210) y la codifica. Específicamente, un divisor de marco (212) divide las muestras de la entrada de diálogo (202) en marcos. En una implementación, los marcos son uniformemente de veinte metros de largo, 160 muestras para entrada de ocho Hz y 320 muestras para entrada de dieciséis kHz. En otras implementaciones, los marcos tienen diferentes duraciones, son no uniformes o se traslapan, y/o la velocidad de muestreo de la entrada (202) es diferente. Los marcos pueden organizarse en un súper marco/marco, marco/sub-marco, u otra configuración para diferentes etapas de la codificación y descodificación . Un clasificador de marco (214) clasifica los marcos de acuerdo con uno o más criterios, tal como energía de la señal, velocidad de cruce cero, ganancia de predicción a largo plazo, diferencial de ganancia, y/o otros criterios para sub-marcos o los marcos completos. Basándose en los criterios, el clasificador de marco (214) clasifica los marcos diferentes en clases tal como silencioso, sin voz, con voz, y transición (por ejemplo, sin voz a con voz). Adicionalmente, los marcos pueden clasificarse de acuerdo con el tipo de codificación redundante, si hay alguna, que se utiliza por el marco. La clase de marco afecta los parámetros que se calcularán para codificar el marco. Además, la clase de marco puede afectar la resolución y pérdida de resiliencia con la cual se codifican los parámetros, para proporcionar más resolución y menos resiliencia para clases y parámetros de marco más importantes. Por ejemplo, los marcos silenciosos típicamente se codifican a velocidad muy baja, son muy simples de recuperar por ocultamiento si se pierde, y puede no necesitar protección contra pérdida. Los marcos sin voz típicamente se codifican a una velocidad ligeramente superior, son razonablemente simples de recuperar por ocultamiento si se pierden, y no se protegen significativamente contra pérdida. Los marcos con voz y de transición usualmente se codifican con más bits, dependiendo de la complejidad del marco así como la presencia de transiciones. Los marcos con voz y de transición también son difíciles de recuperar si se pierden, y se protegen más significativamente contra pérdida. Alternativamente, el clasificador de marco (214) utiliza otras y/o clases de marco adicionales. La señal de diálogo de entrada puede dividirse en señales de sub-banda antes de aplicar un modelo de codificación, tal como el modelo de codificación de CELP, a la información de sub-banda para un marco. Esto puede hacerse al utilizar una serie de uno o más bancos de filtro de análisis (tal como filtros de análisis QMF) (216), Por ejemplo, si se va a utilizar una estructura de tres bandas, entonces la banda de baja frecuencia puede dividirse al pasar la señal a través de un filtro de paso bajo. De forma similar, la banda alta puede dividirse al pasar la señal a través de un filtro de paso de banda, que puede incluir un filtro de paso bajo y un filtro de paso alta en serie. Alternativamente, otros tipos de disposiciones de filtro para descomposición de sub-banda y/o registro de tiempo de filtrado (por ejemplo, antes de división de filtro) pueden utilizarse. Si sólo se va a descodificar una banda para una porción de la señal, esa porción puede evitar los bancos de filtro de análisis (216). El número de bandas n puede determinarse por velocidad de muestreo. Por ejemplo, en una implementación, se utiliza una estructura de banda individual para velocidad de muestreo de ocho kHz. Para velocidades de muestreo de 16 kHz y 20.05 kHz, se utiliza una estructura de tres bandas como se muestra en la Figura 3. En la estructura de tres bandas de la Figura 3, la banda de baja frecuencia (310) se extiende la mitad de la anchura de banda completa F (de 0 a 0.5F). La otra mitad de la anchura de banda se divide igualmente entre la banda media (320) y la banda alta (330). Cerca de las intersecciones de las bandas, la respuesta de frecuencia de una banda disminuye gradualmente del nivel de paso al nivel de alto, que se caracteriza por una atenuación de la señal en ambos lados mientras se aproxima la intersección. También pueden utilizarse otras divisiones de la anchura de banda de frecuencia. Por ejemplo, para velocidad de muestreo de treinta y dos kHz, puede utilizarse una estructura de cuatro bandas igualmente espaciadas. La banda de baja frecuencia típicamente es la banda más importante para señales de diálogo debido a que la energía de señal típicamente decae hacia las escalas de frecuencia superiores. Por consiguiente, la banda de baja frecuencia frecuentemente se codifica al utilizar más bits que las otras bandas. Comparado con una estructura de codificación de banda, la estructura de sub-banda es más flexible, y permite mejor control de ruido de cuantificación a través de la banda de frecuencia. Por consiguiente, se cree que la calidad de voz perceptiva mejora significativamente al utilizar la estructura de sub-banda. Sin embargo, como se discute posteriormente, la descomposición de sub-bandas puede causar pérdida de energía de la señal en las regiones de frecuencia cerca de la intersección de bandas adyacentes. Esta pérdida de energía puede degradar la calidad de la señal de diálogo descodificada resultante. El la Figura 2, cada sub-banda se codifica de forma separada, como se ilustra al codificar componentes (232, 234). Mientras los componentes de codificación de banda (232, 234) se muestran de forma separada, la codificación de todas las marcas puede hacerse por un codificador individual, o pueden codificarse por codificadores separados. Tal codificación de banda se describe en más detalle posteriormente con referencia a la Figura 4. Alternativamente, el codificador-descodificador puede operar como un codificador-descodificador de banda individual. El diálogo codificado resultante se proporciona al software para una o más capas en red (240) a través de un multiplexor ("MUX") (236). La capa(s) en red (240) procesa el diálogo codificado en la red (250). Por ejemplo, los marcos de paquetes de software de capa de red de información de diálogo codificado en paquetes que siguen el protocolo RTP, que se confían en Internet que utiliza UDP, IP, y se utilizan varios protocolos de capa físicos. Alternativamente, otros y/o capas adicionales de software o protocolos en red. La red (250) es una red de área ancha, red conmutada de paquete tal como Internet. Alternativamente, la red (250) es una red de pera local u otra clase de red. En el lado de descodificador, el software para una o más capas en red (260) recibe y procesa los datos transmitidos. La red, transporte, y protocolos de capa superiores y software en la capa(s) en red del lado de descodificador (260) usualmente corresponde a esos en la capa(s) en red del lado de codificador (240). La capa(s) en red proporciona la información de diálogo codificada al descodificador de diálogo (270) a través de un desmultiplexor ("DEMUX") (276). El descodificador (270) descodifica cada una de las sub-bandas de forma separada, como se ilustra en los componentes de descodificación de banda (272, 274). Todas las sub-bandas pueden descodificarse por un descodificador individual o pueden descodificarse por descodificadores de banda separados. Las sub-bandas descodificadas entonces se sintonizan en una serie de uno o más bancos de filtro de síntesis (tal como filtros de síntesis QMF) (280), que producen diálogo descodificado (292). Alternativamente, se utilizan otros tipos de disposiciones de filtro para síntesis de sub-banda. Si sólo está presente una banda individual, entonces la banda descodificada puede evitar los bancos de filtro (280). Si múltiples bandas están presentes, la salida de diálogo descodificado (292) también pueden pasar a través de un post-filtro de mejora de frecuencia media (284) para mejorar la calidad de la salida de diálogo mejorada resultante (294). Una implementación del post-filtro de mejora de frecuencia media se discute con más detalle posteriormente. Un descodificador de banda de diálogo en tiempo real generalizado se describe posteriormente con referencia a la Figura 6, pero pueden utilizarse a su vez otros descodif icadores de diálogo. Adicionalmente, algunas o todas las herramientas y técnicas descritas pueden utilizarse con otros tipos de codificadores y descodificadores de audio, tal como codificadores y descodificadores de música, o codificadores y descodificadores de audio de propósito general. Además de estas funciones de codificación y descodificación primarias, los componentes también pueden compartir información (mostrada en líneas punteadas en la Figura 2) para controlar la velocidad, calidad, y/o resiliencia de pérdida del diálogo codificado. El controlador de velocidad (220) considera una variedad de factores tal como la complejidad de la entrada actual en la memoria intermedia de entrada (210), la totalidad de la memoria intermedia de las memorias intermedias de salida en el codificador (230) o en algún otro lugar, velocidad de salidas de salida deseada, la anchura de banda de red actual, congestión de red/condiciones de ruido y/o velocidad de pérdida de descodificador. El descodif icador (270) realimenta la información de velocidad del descodificador al controlador de velocidad (220). La capa(s) en red (240, 260) recolecta o estima información sobre la anchura de banda de red actual y condiciones de congestión/ruido, que se realimenta al controlador de velocidad (220). Alternativamente, el controlador de velocidad (220) considera otros y/o factores adicionales. El controlador (220) dirige el codificador de diálogo (230) para cambiar la velocidad, calidad, y/o resiliencia de pérdida con la cual se codifica el diálogo. El codificador (230) puede cambiar la velocidad y calidad al ajustar factores de cuantificación para parámetros o cambiar la resolución de códigos de entropía que representan los parámetros. Adicionalmente, el codificador puede cambiar resiliencia de pérdida al ajustar la velocidad o tipo de codificación redundante. De esa forma, el codificador (230) puede cambiar la distribución de bits entre funciones de codificación primaria y funciones de resiliencia de pérdida dependiendo de las condiciones de red. La Figura 4 es un diagrama de bloques de un codificador de banda de diálogo generalizado (400) en conjunto con el cual pueden implementarse una o más de las modalidades descritas. El codificador de banda (400) generalmente corresponde a cualquiera de los componentes de codificación de banda (232, 234) en la Figura 2.
El codificador de banda (400) acepta la entrada de banda (402) de los bancos de filtro (u otros filtros) si la señal se divide en múltiples bandas. Si la señal no se divide en múltiples bandas, entonces la entrada de banda (402) incluye muestras que representan la anchura de banda completa. El codificador de banda produce salida de banda codificada (492). Si una señal se divide en múltiples bandas, entonces un componente de muestreo hacia abajo (420) puede realizar muestreo hacia abajo en cada banda. Como un ejemplo, si la velocidad de muestreo se establece en dieciséis kHz y cada marco es de veinte minutos de duración, entonces cada marco incluye 320 muestras. Si no se realiza ningún muestreo hacia abajo y el marco se divide en la estructura de tres bandas mostrada en la Figura 3, entonces tres veces pueden codificarse y descodificarse tantas muestras (es decir, 320 muestras por banda, o 960 muestras totales) por el marco. Sin embargo, cada banda puede muestrearse hacia abajo. Por ejemplo, la banda de baja frecuencia (310) puede muestrearse hacia debajo de 320 muestras a 160 muestras, y cada banda media (320) y banda alta (330) puede muestrearse hacia debajo de 320 muestras a 80 muestras, en donde las bandas (310, 320, 330) se extienden a la mitad, un cuarto, y un cuarto de la escala de frecuencia, respectivamente. (El grado de muestreo hacia abajo (420) en esta implementación varía en relación a las escalas de frecuencia de las bandas (310, 320, 330). Sin embargo, son posibles otras implementaciones. En etapas posteriores, típicamente se utilizaron menor bits para las bandas superiores debido a que la energía de señal típicamente declina hacia las escalas de frecuencia superiores). Por consiguiente, esto proporciona un total de 320 muestras para codificarse y descodificarse para el marco. El componente de análisis LP (430) calcula coeficientes de predicción lineal (432). En una ¡mplementación, el filtro LP utiliza diez coeficientes para entrada de ocho kHZ y dieciséis coeficientes para entrada de dieciséis kHz, y el componente de análisis LP (430) calcula un grupo de coeficientes de predicción lineal por marco para cada banda. Alternativamente, el componente de análisis LP (430) calcula dos grupos de coeficientes por marco para cada banda, uno para cada una de dos ventanas centradas en diferentes ubicaciones, o calcula un número diferente de coeficientes por banda y/o por marco. El componente de procesamiento LPC (435) recibe y procesa los coeficientes de predicción lineal (432). Típicamente, el componente de procesamiento LPC (435) convierte valores LPC a una representación diferente para cuantif icación y codificación más eficiente. Por ejemplo, el componente de procesamiento LPC (435) convierte valores LPC a una representación de par de espectro de línea (LSP), y los valores LSP se cuantifican (tal como por cuantificación de vector) y se codifican. Los valores LSP pueden codificarse internamente o predecirse desde otros valores LSP. Son posibles varias representaciones, técnicas de cuantificación, y técnicas de codificación para valores LPC. Los valores LPC se proporcionan en alguna forma como parte de la salida de banda codificada (492) para empaquetado y transmisión (junto con cualquiera de los parámetros de cuantificación y otra información necesaria para reconstrucción). Para uso subsiguiente en el codificador (400), el componente de procesamiento LPC (435) reconstruye los valores LPC. El componente de procesamiento LPC (435) puede realizar interpolación para valores LPC (tal como equivalentemente en representación LPS u otra representación) para suavizar las transiciones entre diferentes grupos de coeficientes LPC, o entre los coeficientes LPC utilizados para diferentes sub-marcos de marcos. El filtro de síntesis (o "predicción a corto plazo") (440) acepta valores LPC reconstruidos (438) y los incorpora en el filtro. El filtro de síntesis (440) recibe una señal de excitación y produce una aproximación de la señal original. Para un marco dado, el filtro de síntesis (440) puede guardar en memoria intermedia un número de muestras reconstruidas (por ejemplo, diez para un filtro de diez cubiertas) desde el marco previo para el inicio de la predicción. Los componentes en peco de percepción (450, 455) aplican peso perceptivo a la señal original y el resultado modelado del filtro de síntesis (440) para desenfatizar selectivamente la estructura formante de señales de diálogo para hacer los sistemas de auditoria menos sensibles a errores de cuantificación. Los componentes en peso perceptivos (450, 455) explotan fenómenos psicoacústicos tal como enmascarado. En una im plementación , los componentes en peso perceptivo (450, 455) aplican peso basándose en los valores LPC originales (432) recibidos del componente de análisis LP (430). Alternativamente, los componentes en peso perceptivo (450, 455) aplican otros y/o pesos adicionales. Al seguir los componentes en peso perceptivos (450, 455), el codificador (400) calcula la diferencia entre la señal original perceptivamente pesada y resultado perceptivamente pesado del filtro de síntesis (440) para producir una señal de diferencia (432). Alternativamente, el codificador (400) utiliza una técnica diferente para calcular los parámetros de diálogo. El componente de parametrización de estímulo (460) busca encontrar la mejor combinación de índices de libro de código adaptable, índices de libro de código fijos e índices de libro de código de ganancia en términos de minimizar la diferencia entre la señal original perceptivamente pesada y señal sintetizada (en términos de error cuadrado de medio pesado u otro criterio). Muchos parámetros se calculan por sub-marco, pero más generalmente los parámetros pueden ser por súper-marco, marco, o sub-marco. Como se discutió anteriormente, los parámetros para diferentes bandas de un marco o sub-marco pueden ser diferentes. El Cuadro 2 muestra tipos disponibles de parámetros para diferentes clases de marco en una implementación.
Cuadro 2: Parámetros para diferentes clases de marco
En la Figura 4, el componente de parametrización de estímulo (460) divide el marco en sub-marcos y calcula índices de libro de código y ganancias para cada sub-marco como se apropiado. Por ejemplo, el número y tipo de etapas de libro de código para utilizarse, y las resoluciones de índices de libro de código, ¡nicialmente puede determinarse por un modo de codificación, en donde el modo se dicta por el componente de parámetros de descodificación diferentes al número y tipo de etapas de libro de código, por ejemplo, la resolución de los índices de libro de código. Los parámetros de cada etapa de libro de código se determinan al optimizar los parámetros para minimizar error entre una señal objetivo y la contribución de esa etapa de libro de código con la señal sintetizada. (Como se utiliza aquí, el término "optimizar" significa encontrar una solución adecuada bajo limitaciones aplicables tal como reducción de distorsión, tiempo de búsqueda de parámetro, complejidad de búsqueda de parámetro, velocidad de bit de parámetros, etc., como opuesto a realizar una búsqueda completa en el espacio de parámetro. Similarmente, el término "minimizar" debe entenderse en términos de encontrar una solución adecuada bajo limitaciones aplicables). Por ejemplo, la optimización puede hacerse al utilizar una técnica de error cuadrado de medio modificado. La señal objetivo para cada etapa es la diferencia entre la señal residual y la suma de las contribuciones de las etapas de libro de código previas, si hay alguna, a la señal sintetizada. Alternativamente, pueden utilizarse otras técnicas de optimización. La Figura 5 muestra una técnica para determinar parámetros de libro de código de acuerdo con una implementación. El componente de parametrización de estimulo (460) realiza la técnica, potencialmente en conjunto con otros componentes tal como un controlador de velocidad. Alternativamente, otro componente en un codificador realiza la técnica. Haciendo referencia a la Figura 5, para cada sub-marco en un marco con voz o de transición, el componente de parametrización de estímulo (460) determina (510) si puede utilizarse un libro de código adaptable para el sub-marco actual. (Por ejemplo, el control de velocidad puede dictar que no se va a utilizar ningún libro de código adaptable para un marco particular). Si no se va a utilizar el libro de código adaptable, entonces un interruptor de libro de código adaptable indicará que no se van a utilizar libros de código adaptables (535). Por ejemplo, esto puede hacerse al establecer una marca de un bit en el nivel de marco que indica que no se van a utilizar libros de código adaptables en el marco, al especificar un modo de codificación particular en el nivel de marco, o al estableces una marca de un bit para cada sub-marco que indica que no se va a utilizar ningún libro de código adaptable en el sub-marco. Incluso al hacer referencia a la Figura 5, si no puede utilizarse ningún libro de código adaptable, entonces el componente (460) determina parámetros de libro de código adaptable. Esos parámetros incluyen un índice, un valor de grupo, que indica un segmento deseado del historial de señal de estimulo, así como una ganancia para aplicar al segmento deseado. En las Figuras 4 y 5, el componente (460) realiza una búsqueda de grupo de giro cerrado (520). Esta búsqueda comienza con el grupo determinado por el componente de búsqueda de grupo de giro abierto (425) en la Figura 4. Un componente de búsqueda de grupo de giro abierto (425) analiza la señal pesada producida por el componente en peso (450) para estimar su grupo. Comenzar con este grupo estimado, la búsqueda de grupo de giro cerrado (520) optimiza el valor de grupo para disminuir el error entre la señal objetivo y la señal sintetizada pesada generada de un segmento indicado del historial de señal de estímulo. El valor de ganancia de libro de código adaptable también se optimiza (525). El valor de ganancia de libro de código adaptable indica un multiplicador para aplicar a los valores previstos de grupo (los valores del segmento indicado del historial de señal de excitación), para ajustar la escala de los valores. La ganancia multiplicada por los valores previstos de grupo es la contribución de libro de código adaptable a la señal de estímulo para el marco actual o sub-marco. La optimización de ganancia (525) y la búsqueda de giro cerrado (520) producen un valor de ganancia y un valor de índice, respectivamente, que minimizan el error entre la señal objetivo y la señal sintetizada pesada de la contribución de libro de código adaptable. Si el componente (460) determina (530) que se va a utilizar el libro de código adaptable, entonces los parámetros de libro de código adaptable se señalan (540) en la corriente de bit. Si no, entonces se indica que no se va a utilizar ningún código de libro adaptable para el sub-marco (535), tal como al establecer una marca de nivel de sub-marco de un bit, como se discutió anteriormente. Esta determinación (530) puede incluir determinar si la contribución de código adaptable para el sub-marco particular es lo suficientemente importante para hacer valioso el número de bits requeridos para señalar los parámetros de libro de código adaptable. Alternativamente, alguna otra base puede utilizarse para la determinación. Además, aunque la Figura 5 muestra señalización después de la determinación, alternativamente, las señales se agrupan hasta que la técnica termina para un marco o súper-marco. El componente de parametrización de estímulo (460) también determina (550) si se utiliza un libro de código de pulso. El uso o no uso del libro de código de pulso se indica como parte de un modo de codificación total para el marco actual, o puede indicarse o determinarse en otras formas. Un libro de código de pulso es un tipo de libro de código fijo que especifica uno o más pulsos para contribuir a la señal de estímulo. Los parámetros de libro de código de pulso incluyen pares de índices y signos (ganancias pueden ser positivas o negativas). Cada par indica un pulso para incluirse en la señal de estímulo, con el índice que indica la posición del pulso y el signo que indica la polaridad del pulso. El número de pulsos incluidos en el libro de código de pulso y utilizados para contribuir con la señal de. estímulo puede variar dependiendo del modo de codificación. Adicionalmente, el número de pulsos puede depender de si se utiliza o no el libro de código adaptable. Si se utiliza el libro de código de pulso, entonces los parámetros de libro de código de pulso se optimizan (555) para minimizar error entre la contribución de los pulsos indicados y una señal objetivo. Si no se utiliza un libro de código adaptable, entonces la señal objetiva es la señal original pesada. Si se utiliza un libro de código adaptable, entonces la señal objetivo es la diferencia entre la señal original pesada y la contribución del libro de código adaptable a la señal sintetizada pesada. En algún punto (no mostrado), los parámetros de libro de código de pulso entonces se señalan el la corriente de bit. El componente de parametrización de estímulo (460) también determina (565) si se va a utilizar cualquiera de las etapas de libro de código fijo aleatorio. El número (si hay alguno) de las etapas de libro de código se indica como parte de un modo de codificación total para el marco actual, o puede determinarse en otras formas. Un libro de código aleatorio es un tipo de libro de código fijo que utiliza un modelo de señal pre-definido para los valores que codifica. Los parámetros de libro de código pueden incluir el punto de partida para un segmento indicado del modelo de señal y una señal que puede ser positiva o negativa. La longitud o escala del segmento indicado típicamente es fija y por lo tanto no se señala típicamente, pero alternativamente se señala una longitud o extensión del segmento indicado. Una ganancia se multiplica por los valores en el segmento indicado para producir la contribución del libro de código aleatorio a la señal de estímulo. Si se utiliza al menos una etapa de libro de código aleatorio, entonces los parámetros de etapa del libro de código para el libro de código se optimizan (570) para minimizar el error entre la contribución de la etapa de libro de código aleatorio y una señal objetiva. La señal objetiva es la diferencia entre la señal original pesada y la suma de la contribución con la señal sintetizada pesada del libro de código adaptable (si hay alguno), el libro de código de pulso (si hay alguno), y las etapas de libro de código aleatorio previamente determinadas (si hay alguna). En el mismo punto (no mostrado), los parámetros de libro de código aleatorio entonces se señalan en la corriente de bit. El componente (460) entonces determina (580) si se va a utilizar alguna otra de las etapas de libro de código aleatorio. Si es así, entonces los parámetros de la siguiente etapa de libro de código aleatoria se optimizan (570) y señalan como se describió anteriormente. Esto continúa hasta que se determinan todos los parámetros para las etapas de libro de código aleatorio. Todas las etapas de libro de código aleatorio pueden utilizar el mismo modelo de señal, aunque probablemente indicarán diferentes segmentos del modelo y tendrán diferentes valores de ganancia. Alternativamente, pueden utilizarse diferentes modelos de señal para diferentes etapas de libro de código aleatorias. Cada ganancia de estímulo puede cuantificarse de forma independiente o pueden cuantificarse juntas dos o más ganancias, como se determinó por el controlador de velocidad y/o otros componentes. Mientras se mencionó aquí una orden particular para optimizar los varios parámetros de libro de código, pueden utilizarse otras órdenes y técnicas de optimización. Por ejemplo, todos los libros de código pueden optimizarse simultáneamente. De esa forma, aunque la Figura 5 muestra el cálculo secuencial de diferentes parámetros de libro de código, alternativamente, se optimizan conjuntamente dos o más parámetros de libro de código diferentes (por ejemplo, al variar conjuntamente los parámetros y evaluar resultados de acuerdo con alguna técnica de optimización no lineal). Adicionalmente, pueden utilizarse otras configuraciones de libros de código y otos parámetros de señal de estímulo. La señal de estímulo en esta implementación es la suma de cualquiera de las contribuciones del libro de código adaptable, el libro de código de pulso, y la etapa(s) de libro de código aleatoria. Alternativamente, el componente (460) de la Figura 4 puede calcular otros y/o parámetros adicionales para la señal de estímulo. Haciendo referencia a la Figura 4, los parámetros de libro de código para la señal de estimulo se señalan o de otra forma proporcionan a un descodificador local (465) (abarcado por líneas punteadas en la Figura 4) así como al resultado de banda (492). De esa forma, para cada banda, la salida de codificador (492) incluye la salida del componente de procesamiento LPC (435) discutido anteriormente, así como la salida del componente de parametrización de estímulo (460). La velocidad de bit de la salida (492) depende en parte de los parámetros utilizados por los libros de código, y el codificador (400) puede controlar la velocidad de bit y/o calidad al cambiar entre diferentes grupos de índices de libro de código, que utilizan códigos embebidos, o que utilizan otras técnicas. Diferentes combinaciones de los tipos de libro de código y etapas pueden generar diferentes modos de codificación para diferentes marcos, bandas, y/o sub-marcos. Por ejemplo, un marco sin voz puede utilizar sólo una etapa de libro de código aleatorio. Un libro de código adaptable y un libro de código de pulso pueden utilizarse para un marco con voz de baja velocidad. Un marco de alta velocidad puede codificarse al utilizar un libro de código adaptable, un libro de código de pulso, y una o más páginas de libro de código aleatorias. En un marco, la combinación de todos los modos de codificación para todas las sub-bandas juntas puede llamarse un grupo de modo. Pueden existir varios grupos de modo predefinidos para cada velocidad de muestro, con diferentes modos que corresponden a diferentes velocidades de bit de codificación. El módulo de control de velocidad puede determinar o influenciar al grupo de modo para cada marco. Haciendo referencia aún a la Figura 4, la salida del componente de parametrización de estímulo (460) se recibe por componentes de reconstrucción de libro de código (470, 472, 474, 476) y componentes de aplicación de ganancia (480, 482, 484, 486) que corresponden a los libros de códigos utilizados por el componente de parametrización (460). Las etapas de libro de código (470, 472, 474, 476) y componentes de aplicación de ganancia correspondientes (480, 482, 484, 486) reconstruyen las contribuciones de los libros de código. Esas contribuciones se suman para producir una señal de estímulo (490), que se recibe por el filtro de síntesis (440), en donde se utilizan junto con las muestras "previstas" para las cuales ocurre predicción lineal subsiguiente. Las porciones retrasadas de la señal de estímulo también se utilizan como una señal de historial de estímulo por el componente de reconstrucción de libro de código adaptable (470) para reconstruir parámetros de libro de código adaptables subsiguientes (por ejemplo, contribución de grupo), y por el componente de parametrización (460) al calcular parámetros de libro de código adaptables subsiguientes (por ejemplo, índice de grupo y valores de ganancia de grupo). Haciendo referencia de nuevo a la Figura 2, la salida de banda para cada banda se acepta por el MUX (236), junto con otros parámetros. Tal como otros parámetros pueden incluir, entre otra información, información de clase de marco (222) del clasificador de marco (214) y modos de codificación de marco. El MUX (236) construye paquetes de capa de aplicación para pasar a otro software o el MUX (236) pone datos en las cargas útiles de paquetes que siguen un protocolo tal como RTP. El MUX puede guardar en la memoria intermedia parámetros para permitir repetición selectiva de los parámetros para dirigir corrección de error en paquetes posteriores. En una implementación, el MUX (236) empaquete en un paquete individual la información de diálogo codificada primaria para un marco, junto con información de corrección de error hacia delante para todos o parte de uno o más marcos previos. El MUX (236) proporciona realimentación tal como totalidad de memoria intermedia actual para propósitos de control de velocidad. Más generalmente, varios componentes del codificador (230) (que incluyen el clasificador de marco (214) y MUX (236)) pueden proporcionar información a un controlador de velocidad (220) tal como el mostrado en la Figura 2. El DEMUX de corriente de bit (276) de la Figura 2 acepta información de diálogo codificada como entrada y la analiza para identificar y procesar parámetros. Los parámetros pueden incluir clase de marco, alguna representación de valores LPC, y parámetros de libro de código. La clase de marco puede indicar cual de otros parámetros están presentes para un marco dado. Más generalmente, el DEMUX (276) utiliza los protocolos utilizados por el codificador (230) y extrae los parámetros que el codificador (230) empaca en paquetes. Para paquetes recibidos en una red conmutada de paquete dinámico, el DEMUX (276) incluye una memoria intermedia de inestabilidad para suavizar fluctuaciones de corto plazo en la velocidad de paquete en un periodo de tiempo dado. En algunos casos, el descodif icador (270) regula el retraso de memoria intermedia y maneja cuando los paquetes de leen de la memoria intermedia para integrar retraso, control de calidad, ocultamiento de cuadros faltantes, etc. en descodificación. En otros casos, un componente de capa maneja la memoria intermedia de inestabilidad, y la memoria intermedia de . inestabilidad se llena a una velocidad variable y se vacía por el descodificador (270) a una velocidad relativamente constante. El DEMUX (276) puede recibir múltiples versiones de parámetros para un segmento dado, que incluye una versión codificada primaria y una o más versiones de corrección de error secundarias. Cuando la corrección de error falla, el descodificador (270) utiliza técnicas de ocultamiento tal como repetición de parámetro o estimado basado en información que se recibió correctamente. La Figura 6 es un diagrama de bloques de un descodificador de banda de diálogo de tiempo real generalizado (600) en conjunto con el cual puede implementarse una o más modalidades descritas. El descodificador de banda (600) generalmente corresponde a cualquiera de los componentes de descodificación de banda (272, 274) de la Figura 2.
El descodif icador de banda (600) acepta información de diálogo codificada (692) para una banda (que puede ser la banda completa, o una de múltiples sub-bandas) como entrada y produce una salida reconstruida filtrada (604) después de descodificar y filtrar. Los componentes del descodificador (600) tienen componentes correspondientes en el codificador (400), pero en general el descodificador (600) es más simple ya que carece de componentes para peso perceptivo, el giro de procesamiento de estímulo y el control de velocidad. El componente de procesamiento LPC (635) recibe información que representa valores LPS en la forma proporcionada por el codificador de banda (400) así como cualquiera de los parámetros de cuantificación y otra información necesaria para reconstrucción). El componente de procesamiento LPC (635) reconstruye los valores LPC (638) que utilizan la inversa de la conversión, cuantificación, codificación, etc. previamente aplicado a los valores LPC. El componente de procesamiento LPC (635) también puede realizar interpolación para valores LPC (en representación LPC u otra representación tal como LSP) para suavizar las transiciones entre diferentes grupos de coeficientes LPC. Las etapas de libro de código (670, 672, 674, 676) y componentes de aplicación de ganancia (680, 682, 684, 686) descodifican los parámetros de cualquiera de las etapas de libro de código correspondientes utilizadas para la señal de estímulo y calcular la contribución de cada etapa de libro de código que se utiliza. Generalmente, la configuración y operaciones de las etapas • de libro de código (670, 672, 674, 676) y componentes de ganancia (680, 682, 684, 686) corresponden a la configuración y operaciones de las etapas de libro de código (470, 472, 474, 476) y componentes de ganancia (480, 482, 484, 486) en el codificador (400). Las contribuciones de las etapas de libro de código utilizadas se suman, y la señal de estímulo resultante (690) se alimenta en el filtro de síntesis (640). El valor retrasado de la señal de estímulo (690) también se utiliza como un historial de estímulo por el libro de código adaptable (670) al calcularla contribución del libro de código adaptable para porciones subsiguientes de la señal de estimulación.
El filtro de síntesis (640) acepta valores LPC reconstruidos (638) y los incorpora en el filtro. El filtro de síntesis (640) almacena muestras previamente reconstruidas para procesamiento. La señal de estímulo (690) pasa a través del filtro de síntesis para formar una aproximación de la señal de diálogo original. La señal de sub-banda reconstruida (602) también se alimenta en un post-filtro a corto plazo (694). El post-filtro a corto plazo produce una salida de sub-banda filtrada (604). Se describen posteriormente varias técnicas para calcular coeficientes para el post-filtro a corto plazo (694). Para post-f iltrado adaptable, el descodificador (270) puede calcular los coeficientes de parámetros (por ejemplo, valores LPC) para el diálogo codificado. Alternativamente, los coeficientes se proporcionan a través de alguna otra técnica.
Haciendo referencia de nuevo a la Figura 2, como se discutió anteriormente, si existen múltiples sub-bandas, la salida de sub-banda para cada sub-banda se sintetiza en los bancos de filtro de síntesis (280) para formar la salida de diálogo (292). Las relaciones mostradas en las Figuras 2-6 indican flujos generales de información; otras relaciones no se muestran para la búsqueda de simplicidad. Dependiendo de implementaciones y el tipo de compresión deseado, pueden agregarse, omitirse, dividirse componentes en múltiples componentes, combinados con otros componentes, y/o reemplazarse con componentes similares. Por ejemplo, en el ambiente (200) mostrado en la Figura 2, el controlador de velocidad (220) puede combinarse con el codificador de diálogo (230). Los componentes agregados potenciales incluyen una aplicación codificación multimedia (o reproducción) que maneja el codificador de diálogo (o descodificador) así como otros codificadores (o descodificadores) y recolecta red e información de condición de descodificador, y que realiza funciones de corrección de error adaptable. En modalidades alternativas, se describen aquí diferentes combinaciones y configuraciones de información de diálogo de procedimiento de componentes.
III. Técnicas de Post-Filtro En algunas modalidades, un codificador u otra herramienta aplica un post-filtro a corto plazo para audio reconstruido, tal como diálogo reconstruido, después que se descodificó. Tal filtro puede mejorar la calidad de percepción del diálogo reconstruido. Los post-filtros típicamente son post-filtros de dominio de tiempo o post-filtros de dominio de frecuencia. Un post-filtro de dominio de tiempo convencional para un codificador-descodificador CELP incluye un filtro de síntesis de coeficiente de predicción lineal de todos los polos escalado por un factor constante y un filtro inverso de coeficiente de predicción lineal de todo cero escalado por otro factor constante. Adicionalmente, un fenómeno conocido como "mosaico espectral" ocurre en muchas señales de diálogo debido a que las amplitudes de frecuencias inferiores en diálogo normal frecuentemente son superiores que las amplitudes de frecuencias superiores. De esa forma, el espectro de amplitud de dominio de la señal de diálogo frecuentemente incluye una solapa, o "mosaico". Por consiguiente, el mosaico espectral del diálogo original debe presentarse en una señal de diálogo reconstruida. Sin embargo, si los coeficientes de un post-filtro también incorporan tal mosaico, entonces el efecto del mosaico se magnificará en la salida de postfiltro para que se distorsione la señal de diálogo filtrada. De esa forma, algunos post-filtros de dominio de tiempo también tienen un filtro de paso de primer orden para compensar el mosaico espectral.
Las características de post-filtros de dominio de tiempo por lo tanto típicamente se controlan por dos o tres parámetros, que no proporcionan mucha flexibilidad. Un post-filtro de dominio de frecuencia, por otro lado, tiene una forma mucho más flexible de definir las características de post-filtro. En un post-filtro de dominio de frecuencia, los coeficientes de filtro se determinan en el dominio de frecuencia. La señal de diálogo descodificada se transforma en el dominio de frecuencia, y se filtra en el dominio de frecuencia. La señal filtrada entonces se transforma de nuevo en el dominio de tiempo. Sin embargo, la señal de dominio de tiempo filtrada resultante típicamente tiene un número diferente de muestras que la señal de dominio de tiempo no filtrada original. Por ejemplo, un marco que tiene 160 muestras puede convertirse al dominio de frecuencia que utiliza una transformación de 256 puntos, tal como una transformación de Fourier rápida de 256 puntos ("FFT"), después de llenado o inclusión de muestras posteriores. Cuando se aplica FFT inversa de 256 puntos para convertir el marco de nuevo en el dominio de tiempo, generará 256 muestras de dominio de tiempo. Por lo tanto, genera noventa y seis muestras extra. Las noventa y seis muestras extra pueden traslaparse con, y agregarse a, muestras respectivas en las primeras noventa y seis muestras del siguiente marco. Esto se denomina frecuentemente como la técnica de agregar traslape. La transformación de la señal de diálogo, así como la implementacion de técnicas tal como la técnica de agregar traslape puede aumentar significativamente la complejidad del descodificador total, especialmente para codificadores-descodificadores que no incluyen todavía componentes de transformación de frecuencia. Por consiguiente, los post-filtros de dominio de frecuencia típicamente sólo se utilizan para codificadores-descodificadores de diálogo basados en sinusoidal debido a que la aplicación de tales filtros a codificadores-descodificadores basados en no sinusoidal introduce demasiado retraso y complejidad. Los post-filtros de dominio de frecuencia típicamente también tienen menos flexibilidad para cambiar el tamaño de marco si el tamaño de marco de codificador-descodificador varía durante codificación debido a que la complejidad' de la técnica de agregar traslape discutida anteriormente puede volverse prohibitiva si se encuentra un marco de tamaño diferente (tal como un marco con 80 muestras, más que 160 muestras). Mientras las características de cómputo particulares y las características de codificador-descodificador de audio se describen anteriormente, una o más de las herramientas y técnicas pueden utilizarse con varios tipos diferentes de ambientes de cómputo y/o varios tipos diferentes de codificadores-descodificadores. Por ejemplo, pueden utilizarse una o más técnicas de post-filtro pueden utilizarse con codificadores-descodificadores que no utilizan el modelo de codificación CELP, tales codificadores-descodificadores de modulación de código de pulso diferencial adaptable, codificadores-descodificadores de transformación y/o otros tipos de codificadores-descodificadores. Como otro ejemplo, una o más técnicas de post-filtro pueden utilizarse con codificadores-descodificadores de banda individual o codificadores-descodificadores de sub-banda. Como otro ejemplo, una o más técnicas de post-filtro pueden aplicarse a una banda individual de un codificador-descodificador de banda múltiple y/o una señal sintetizada o no codificada que incluye contribuciones de bandas múltiples de un codificador-descodificador de bandas múltiples.
A. Post-Filtros de Corto Plazo Híbridos Ilustrativos En algunas modalidades, un descodif icador tal como el descodificador (600) mostrado en la Figura 6 incorpora un filtro 'híbrido' de frecuencia de tiempo, adaptable para post-procesamiento, o tal filtro se aplica a la salida del descodificador (600). Alternativamente, tal filtro se incorpora o aplica a la salida de algún otro tipo de descodificador de audio o herramienta de procesamiento, por ejemplo, un codificador-descodificador de diálogo descrito en alguna otra parte en la presente invención. Haciendo referencia a la Figura 6, en algunas implementaciones el post-filtro a corto plazo (694) es un filtro 'híbrido' basado en una combinación de procedimientos de dominio de tiempo y dominio de frecuencia. Los coeficientes del post-filtro (694) pueden diseñarse flexible y eficientemente principalmente en el dominio de frecuencia, y los coeficientes pueden aplicarse al postfiltro de corto plazo (694) en el dominio de tiempo. La complejidad de este acercamiento típicamente es inferior que los post-filtros de domino de frecuencia estándar, y pueden implementarse en una forma que introduce retraso insignificante. Adicionalmente, el filtro puede proporcionar más flexibilidad que los post-filtros de dominio de tiempo tradicionales. Se cree que tal filtro híbrido puede mejorar significativamente la calidad de diálogo de salida sin requerir retraso excesivo o complejidad de descodificador. Adicionalmente, debido a que el filtro (694) se aplica en el dominio de tiempo, puede aplicarse a marcos de cualquier tamaño. En general, el post-filtro (694) puede ser un filtro de respuesta de impulso finita ("FIR"), cuya respuesta de frecuencia es el resultado de procedimientos no lineales realizados en el logaritmo de un espectro de magnitud de un filtro de síntesis LPC. El espectro de magnitud del post-filtro puede diseñarse para que el filtro (694) sólo atenúa en valles espectrales, y en algunos casos al menos parte del espectro de magnitud se sujeta para que sea plano alrededor de regiones de formador. Como se discute posteriormente, los coeficientes de post-filtro FIR pueden obtenerse al truncar una secuencia normalizada que resulta de la transformación Fourier inversa del espectro de magnitud procesado. El filtro (694) se aplica al diálogo reconstruido en el dominio de tiempo. El filtro puede aplicarse a la banda entera o en una sub-banda. Adicionalmente, el filtro puede utilizarse solo o en conjunto con otros filtros, tal como post filtros a largo plazo y/o el filtro de mejora de frecuencia media discutido en más detalles posteriormente. El post-filtro descrito puede operar en conjunto con codificadores-descodif icadores que utilizan varias velocidades de bit, diferentes velocidades de muestreo y diferentes algoritmos de codificación. Se cree que el post-filtro (694) es capaz de producir mejora de calidad importante en el uso de codificadores-descodif icadores de voz sin el post-filtro. Especialmente, se cree que el post-filtro (694) reduce el ruido de cuantificacion perceptible en regiones de frecuencia en donde la energía de señal es relativamente baja, es decir, en valles espectrales entre formadores. En estas regiones la relación de señal a ruido es típicamente pobre. En otras palabras, debido a la señal débil, el ruido que está presente es relativamente más fuerte. Se cree que el post-filtro mejora la calidad de diálogo total al atenuar el nivel de ruido en estas regiones. Los coeficientes LPC reconstruidos (638) frecuentemente contienen información formadora debido a que la respuesta de frecuencia del filtro de síntesis LPC típicamente sigue la cubierta espectral del diálogo de entrada. Por consiguiente, los coeficientes LPC (637) se utilizan para derivar los coeficientes del post-filtro de corto plazo. Debido a que los coeficientes LPC (638) cambian de un marco al siguiente o en alguna otra base, los coeficientes de postfiltro derivados de ellos también se adaptan de marco a marco o en alguna otra base. Una técnica para calcular los coeficientes de filtro para el postfiltro (694) se ilustra en la Figura 7. El descod if icador (600) de la Figura 6 realiza la técnica. Alternativamente, otro descodificador o una herramienta de post-filtrado realizan la técnica. El descodificador (600) obtiene un espectro LPC por relleno cero (715) de un grupo de coeficientes LPC (710) a(i), en donde i = 0,
1, 2 P, y en donde a(0) = 1. El grupo de coeficientes LPC (710) puede obtenerse de una corriente de bit si se utiliza un codificador-descodificador de predicción lineal, tal como un codificador-descodificador CELP. Alternativamente, el grupo de coeficientes LPC (710) puede obtenerse al analizar una señal de diálogo reconstruida. Esto puede hacerse incluso si el codif icador-descodif icador no es un codificador-descodificador de predicción lineal. P es el orden LPC de los coeficientes LPC a(i) para utilizarse al determinar los coeficientes de post-filtro. En general, el relleno cero involucra extender una señal (o espectro) con cero que extiende sus límites de tiempo (o banda de frecuencia). En el procedimiento, el relleno cero delinea una señal de longitud N, en donde N>P. En una implementación de codificador-descodificador de banda completa, P es diez para una velocidad de muestreo de ocho kHz, y dieciséis para velocidades de muestreo superiores a ocho kHz. Alternativamente, P es algún otro valor. Para codif icadores-descodificadores de sub-banda, P puede ser un valor diferente de cada sub-banda. Por ejemplo, para una velocidad de muestreo de dieciséis kHz que utiliza la estructura de tres sub-bandas ilustrada en la Figura 3, P puede ser diez para la banda de baja frecuencia (310), seis para la banda media (320), y cuatro para la banda superior (330). En una implementación, N es 128. Alternativamente, N es algún otro número, tal como 256. El descodificador (600) entonces realiza una transformación de N punto, tal como un FFT (720), en los coeficientes acojinados en cero, lo que genera un espectro de magnitud A(k). A(k) es el espectro del filtro inverso LPS acojinado a cero, para k = 0, 1,2,...,N-1. La inversa del espectro de magnitud (principalmente, 1 / 1 ( k ) | ) da al espectro de magnitud del filtro de síntesis LPC. El espectro de magnitud del filtro de síntesis LPC opcionalmente se convierte en dominio logarítmico (725) para disminuir su escala de magnitud. En una implementación, esta conversión es como sigue:
en donde 1n es el logaritmo natural. Sin embargo, otras operaciones pueden utilizarse para disminuir la escala. Por ejemplo, una operación de logaritmo de diez bases puede utilizarse en lugar de una operación de logaritmo natural. Tres operaciones no lineales opcionales se basan en los valores de H(k): Normalización (730), compresión no lineal (735), y sujeción (740). La normalización (730) si entiende hacer una escala de H(k) más consistente de marco a marco y de banda a banda. La normalización (730) y la compresión no lineal (735) ambas reducen el espectro de magnitud no lineal para que la señal de diálogo no se altere demasiado por el post-filtro. Alternativamente, técnicas adicionales y/o otras pueden utilizarse para reducir la escala del espectro de magnitud. En una implementación, la normalización inicial (730) se realiza para cada bando de un codificador-descodificador de banda múltiple como sigue:
H(k) = H(k)-Hmü¡ +0.1
en donde Hm¡n es el valor mínimo de H8k), para k = 0, 1,2,...,N-1. Normalización (730) puede realizarse por codificador-descodificador de banda completa como sigue:
en donde Hmiri es el valor mínimo de H(k), y Hmax es el valor máximo de H(k) para k = 0, 1,2 N-1. En ambas ecuaciones de normalización anteriores, un valor constante de 0.1 se agrega para prevenir los valores máximos y mínimos de H(k) que sean 1 y 0, respectivamente, con lo cual hace compresión no lineal más efectiva. Otros valores constantes, u otras técnicas, alternativamente pueden utilizarse para prevenir valores cero. La compresión no lineal (735) se realiza para ajustar además la escala dinámica del espectro no lineal como sigue:
en donde k = 0, 1 , ... , N- 1. Por consiguiente, si se utiliza un FFT de 128 puntos para convertir los coeficientes al dominio de frecuencia, entonces k = 0, 1 , ... , 127. Adicionalmente, = n*(Hmax-Hm¡n), con ? y ? tomados como factores constantes apropiadamente elegidos. Los valores de ? y ? pueden elegirse de acuerdo con el tipo de codificador-descodificador de diálogo y la velocidad de codificación. En una implementación, los parámetros ? y ? se eligen experimentalmente. Por ejemplo, ? se elige como un valor de la escala de 0.125 a 0.135, y ? se elige de la escala de 0.5 a 1.0. Los valores constantes pueden ajustarse basándose en preferencias. Por ejemplo, una escala de valores constantes se obtiene al analizar la distorsión de espectro prevista (principalmente alrededor de picos y valles) lo que resulta de varios valores constantes. Típicamente, es deseable elegir una escala que no excede un nivel predeterminado de distorsión prevista. Los valores finales se eligen entonces de entre un grupo de valores dentro de la escala que utiliza los resultados de pruebas de audición subjetivas. Por ejemplo, en el post-filtro con una velocidad de muestreo de ocho kHz, ? es 0.5 y ? es 0.125, y en un post-filtro con una velocidad de muestreo de dieciséis kHz, ? es 1.0 y y es 0.135. La sujeción (140) puede aplicarse al espectro comprimido, Hc(k), como sigue:
en donde Hmed¡0 es el valor medio de Hc8k), y ? es una constante. El valor de ? puede elegirse de forma diferente de acuerdo con el tipo de codificador-descodif icador de diálogo y la velocidad de codificación. En algunas implementaciones, ? se elige experimentalmente (tal como un valor de 0.95 a 1.1), y puede ajustarse basándose en preferencia. Por ejemplo, los valores finales de ? pueden elegirse al utilizar los resultados de pruebas de audición subjetiva. Por ejemplo, en un post-filtro con una velocidad de muestreo de ocho kHz, ? es 1.1, y en el post-filtro que opera en una velocidad de muestreo de dieciséis kHz, ? es 0.95. La operación de sujeción cubre los valores de Hpf(k) en un máximo, o techo. En las ecuaciones anteriores, este máximo se representa como *Hme(jio- Alternativamente, las operaciones se utilizan para cubrir los valores del espectro de magnitud. Por ejemplo, el techo puede basarse en el valor medio de Hc(k), más que el valor medio. También, más que sujetar todos los altos valores de Hc(k) aun valor máximo especifico (tal como ?*?G?ߣ?0), los valores pueden sujetarse de acuerdo con una operación más compleja. La sujeción tiende resultar en coeficientes de filtro que atenuarán la señal de diálogo en sus valles sin cambiar significativamente el espectro de diálogo en otras regiones, tal como regiones de formación. Esto puede mantener el post-filtro lejos de distorsión de los formadores de diálogo, con lo cual genera salida de diálogo de calidad superior. Adicionalmente, la sujeción puede reducir los efectos de mosaico de espectro debido a que la sujeción aplana el espectro de post-filtro al reducir los grandes volúmenes al valor tapado, mientras los valores alrededor de los varios permanecen substancialmente sin cambios. Cuando la conversión del dominio logarítmico se realizó, el espectro de magnitud sujetado resultante, Hpf(k), se convierte (745) del dominio de logaritmo al dominio lineal, por ejemplo, como sigue: Hp/1(k)=exp(Hp/(k)) en donde exp es la función de logaritmo natural inversa. Se realiza una transformación de Fourier rápida (750) inversa de N-punto (750) en HPn(k), lo que genera una secuencia de tiempo de f(n), en donde n = 0, 1 , ... , N-1 , y N es lo mismo que en la operación FFT (720) discutido anteriormente. De esa forma, f(n) es una secuencia de tiempo de punto N. En la Figura 7, los valores de f(n) se truncan (755) al establecer los valores a cero desde n >M-1, como sigue:
n = 0,1,2... M-i A(») = n>M-l
en donde M es el orden del post-filtro a corto plazo. En general, un valor superior de M genera diálogo filtrado de calidad superior. Sin embargo, la complejidad del post-filtro aumenta mientras M aumenta.
El valor de M puede elegirse, lo que toma estos cambios en consideración. En una implementación, M es diecisiete. Los valores de h(n) se normalizan opcionalmente (760) para evitar cambios repentinos entre marcos. Por ejemplo, esto se hace como sigue:
Alternativamente, se utiliza alguna otra operación de normalización. Por ejemplo, pueden utilizarse la siguiente operación:
En una implementación en donde la normalización genera coeficientes de post-filtro hp)(n) (765), un filtro FIR con coeficientes de hpj(n) (765) se aplica al diálogo sintetizado en el dominio de tiempo. De esa forma, en esta implementación, el coeficiente de post-filtro de primer orden (n = 0) establece un valor de uno para cada marco para prevenir desviaciones significantes de los coeficientes de filtro de un marco al siguiente.
B. Filtros de Mejora de Frecuencia Media ilustrativos En algunas modalidades, un descodificador tal como el descodificador (270) mostrado en la Figura 2 incorpora un filtro de mejora de frecuencia media para post-procesamiento, o tal filtro se aplica a la salida del descodificador (270). Alternativamente, tal filtro se incorpora o aplica a la salida de algún otro tipo de descodificador de audio o herramienta de procesamiento, por ejemplo, un codificador-decodificador de diálogo descrito en alguna otra forma en la presente solicitud. Como se discutió anteriormente, Los codificadores-decodificadores de bandas múltiples descomponen una señal de entrada en canales de anchuras de bandas reducidas, típicamente debido a que la sub-bandas es más manejable y flexible para codificación. Los filtros de paso de banda, tal como los bancos de filtro (216) descritos anteriormente con referencia a la Figura 2, frecuentemente se utilizan para descomposición de señal antes de codificación. Sin embargo, la descomposición de señal puede causar una pérdida de energía de señal en las regiones de frecuencia entre las bandas de paso para los filtros de paso de banda. El filtro de mejora de frecuencia media ("MFE") ayuda con este problema potencial al amplificar el espectro de magnitud del diálogo de salida descodificado en regiones de frecuencia cuya energía se atenuó debido a descomposición de señal, sin alterar significativamente la energía en otras regiones de frecuencia. En la Figura 2, un filtro MFE (284) se aplica a la salida del filtro(s) de síntesis de banda, tal como la salida (292) de los bancos de filtro (280). Por consiguiente, si los n descodificadores de banda (272, 274) se muestran en la Figura 6, el post-f i Itro a corto plazo (694) se aplica de forma separada a cada banda reconstruida de un descodificador de sub-banda, mientras el filtro MFE (284) se aplica a la señal reconstruida combinada compuesta que incluye contribuciones de la sub-bandas múltiples. Como se notó, alternativamente, un filtro MFE se aplica en conjunto con un descodif icador que tiene otra configuración. En algunas implementaciones, el filtro MFE es un filtro FIR de paso de banda de segundo orden. En las cascadas un filtro de paso inferior de primer orden y un filtro de paso superior de primer orden. Ambos filtros de primer orden pueden tener coeficientes idénticos. Los coeficientes típicamente se eligen para que la ganancia de filtro MFE sea deseable en bandas de paso (lo que aumenta energía de la señal) y unidad en bandas de alto (que pasa a través de la señal sin cambio o relativamente sin cambio). Alternativamente, alguna otra técnica se utiliza para mejorar las funciones de frecuencia que se atenuaron debido a descomposición de banda. La función de transferencia del filtro de paso inferior de primer orden es:
La función de transferencia de un filtro de paso superior de primer orden es:
H2=-i ^-z- l + µ \ + µ De esa forma, la función de transferencia de un filtró MFE de segundo orden que fluye en cascada el filtro de paso inferior y el filtro de paso superior anterior es:
H = H, · H2 Z -1 Los coeficientes de filtro MFE correspondientes pueden representarse como: 1 » = 0 1~µ*
A(«) = µ1 n = 2
0 de otra manera
El valor de µ puede elegirse por experimento. Por ejemplo, una escala de valores constantes se obtiene al analizar la distorsión de aspecto de visto que resulta de varios valores constantes. Típicamente, es deseable elegir una escala que no excede un nivel predeterminado de distorsión prevista. Los valores finales entonces se eligen dentro de un grupo de valores dentro de una escala que utiliza unos resultados de pruebas de audición subjetivas. En una implementación, en donde se utiliza una velocidad de muestreo de dieciséis kHz, y el diálogos se rompe en las siguientes tres bandas (cero a ocho kHz, ocho a doce kHz, y doce a dieciséis kHz), puede ser deseable mejorar la región alrededor de ocho kHz y µ se elige para ser 0.45. Alternativamente, otros valores de µ se eligen, específicamente si es deseable mejorar alguna otra región de frecuencia. Alternativamente, el filtro MFE se implementa con uno o más filtros de paso de banda de diferente diseño, o el filtro MFE se implementa con uno o más otros filtros. Al haber descrito e ilustrado los principios de la invención con referencia a las modalidades descritas, se reconocerá que las modalidades descritas pueden modificarse en la disposición y detalle sin apartarse de tales principios. Se debe entender que los programas, procedimientos, o métodos aquí descritos no se refieren o limitan a ningún tipo particular de ambiente de cómputo, al menos que se indique de otra forma. Varios tipos de ambientes de cómputo de propósito general o especializado pueden utilizarse con o realizar operaciones de acuerdo con las enseñanzas aquí descritas. Los elementos de las modalidades descritas mostrados en software pueden implementarse en hardware y viceversa. En vista de las muchas modalidades posibles a los cuales pueden aplicarse los principios en esta invención, se reclama como nuestra invención todas tales modalidades que vienen dentro del alcance de y espíritu de las siguientes reivindicaciones equivalentes a las mismas.
Claims (20)
1. - Un método implementado por computadora que comprende: calcular un grupo de coeficientes de filtro para aplicación a una señal de audio reconstruida, en donde el cálculo de grupo de coeficientes de filtro comprende realizar uno o más cálculos de dominio de frecuencia; y producir una señal de audio filtrada al filtrar al menos una porción de la señal de audio reconstruida en un dominio de tiempo que utiliza el grupo de coeficientes de filtro.
2. - El método de acuerdo con la reivindicación 1, en donde la señal de audio filtrada representa una sub-banda de frecuencia de la señal de audio reconstruida. 3.- El método de acuerdo con la reivindicación 1, en donde calcular el grupo de coeficientes de filtro comprende: realizar una transformación de un grupo de valores de dominio iniciales de un dominio de tiempo en un dominio de frecuencia, con lo cual produce un grupo de valores de dominio de frecuencia iniciales; realizar uno o más cálculos de dominio de frecuencia utilizando los valores de dominio de frecuencia para producir un grupo de valores de dominio de frecuencia procesados; realizar una transformación de los valores de dominio de frecuencia procesados del dominio de frecuencia en el dominio de tiempo, con lo cual produce un grupo de valores de dominio de tiempo procesados; y truncar el grupo de valores de dominio de tiempo en el dominio de tiempo. 4.- El método de acuerdo con la reivindicación 1, en donde calcular el grupo de coeficientes de filtro comprende procesar un grupo de coeficientes de predicción lineal. 5. - El método de acuerdo con la reivindicación 4, en donde procesar el grupo de coeficientes de predicción lineal comprende tapar un espectro derivado del grupo de coeficientes de predicción lineal. 6. - El método de acuerdo con la reivindicación 4, en donde el procesar el grupo de coeficientes de predicción lineal comprende reducir una escala de un espectro derivado del grupo de coeficientes de predicción lineal. 7. - El método de acuerdo con la reivindicación 1, en donde uno o más cálculos de dominio de frecuencia comprende uno o más cálculos en un dominio logarítmico. 8. - Un método que comprende: producir un grupo de coeficientes de filtro para aplicación a una señal de audio reconstruida, que incluye procesar un grupo de valores de coeficiente que representan uno o más picos y uno o más valles, en donde procesar el grupo de valores de coeficiente comprende sujetar uno o más de los picos o valles; y filtrar al menos una porción de la señal de audio reconstruida que utiliza los coeficientes de filtro. 9.- El método de acuerdo con la reivindicación 8, en donde el sujetador comprende tapar el grupo de valores de coeficiente en un valor de sujetador. 10.- El método de acuerdo con la reivindicación 9, en donde el producir un grupo de coeficientes de filtro además comprende calcular el valor de sujetador como una función de un promedio del grupo de valores de coeficiente. 11. -El método de acuerdo con la reivindicación 8, en donde el grupo de valores de coeficiente se basa al menos en parte en un grupo de valores de coeficiente de predicción lineal. 12. - El método de acuerdo con la reivindicación 8, en donde la sujeción se realiza en un dominio de frecuencia. 1
3. - El método de acuerdo con la reivindicación 8, en donde el filtrado se realiza en un dominio de tiempo. 1
4. - El método de acuerdo con la reivindicación 8, que además comprende reducir una escala del grupo de valores de coeficiente antes de la sujeción. 1
5. - Un método implementado por computadora que comprende: recibir una señal compuesta reconstruida sintetizada de las señales de sub-banda de frecuencia reconstruida plural, las señales de sub-banda de frecuencia reconstruida, plural incluyen una primera señal de sub-banda de frecuencia reconstruida para una primera banda de frecuencia y una segunda señal de sub-banda de frecuencia reconstruida para una segunda banda de frecuencia; y mejorar selectivamente la señal compuesta reconstruida a una región de frecuencia alrededor de una intersección entre la primera banda de frecuencia y la segunda banda de frecuencia. 16.- El método de acuerdo con la reivindicación 15 que además comprende: descodificar información codificada para producir las señales de sub-banda de frecuencia reconstruida plural; y sintetizar las señales de sub-banda de frecuencia reconstruida plural para producir la señal compuesta reconstruida. 17. - El método de acuerdo con la reivindicación 15, en donde mejorar la señal compuesta reconstruida comprende pasar la señal compuesta reconstruida a través de un filtro de paso de banda, en donde una banda de paso del filtro de paso de banda corresponde a la región de frecuencia alrededor de la intersección entre la primera banda de frecuencia y la segunda banda de frecuencia. 18. - El método de acuerdo con la reivindicación 17, en donde el filtro de paso de banda comprende un filtro de paso inferior en serie con un filtro de paso superior. 19.- El método de acuerdo con la reivindicación 17, en donde el filtro de paso de banda tiene ganancia de unidad en una o más bandas de alto y mayor que la ganancia de unidad en la banda de paso. 20.- El método de acuerdo con la reivindicación 15, en donde la mejora comprende aumentar energía de señal en la región de frecuencia.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/142,603 US7707034B2 (en) | 2005-05-31 | 2005-05-31 | Audio codec post-filter |
PCT/US2006/012641 WO2006130226A2 (en) | 2005-05-31 | 2006-04-05 | Audio codec post-filter |
Publications (1)
Publication Number | Publication Date |
---|---|
MX2007014555A true MX2007014555A (es) | 2008-11-06 |
Family
ID=37464575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX2007014555A MX2007014555A (es) | 2005-05-31 | 2006-04-05 | Post-filtracion de codificador-descodificador de audio. |
Country Status (15)
Country | Link |
---|---|
US (1) | US7707034B2 (es) |
EP (1) | EP1899962B1 (es) |
JP (2) | JP5165559B2 (es) |
KR (2) | KR101246991B1 (es) |
CN (1) | CN101501763B (es) |
AU (1) | AU2006252962B2 (es) |
CA (1) | CA2609539C (es) |
EG (1) | EG26313A (es) |
ES (1) | ES2644730T3 (es) |
IL (1) | IL187167A0 (es) |
MX (1) | MX2007014555A (es) |
NO (1) | NO340411B1 (es) |
NZ (1) | NZ563461A (es) |
WO (1) | WO2006130226A2 (es) |
ZA (1) | ZA200710201B (es) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7315815B1 (en) | 1999-09-22 | 2008-01-01 | Microsoft Corporation | LPC-harmonic vocoder with superframe structure |
US7668712B2 (en) * | 2004-03-31 | 2010-02-23 | Microsoft Corporation | Audio encoding and decoding with intra frames and adaptive forward error correction |
US7707034B2 (en) * | 2005-05-31 | 2010-04-27 | Microsoft Corporation | Audio codec post-filter |
US7177804B2 (en) | 2005-05-31 | 2007-02-13 | Microsoft Corporation | Sub-band voice codec with multi-stage codebooks and redundant coding |
US7831421B2 (en) * | 2005-05-31 | 2010-11-09 | Microsoft Corporation | Robust decoder |
KR100900438B1 (ko) * | 2006-04-25 | 2009-06-01 | 삼성전자주식회사 | 음성 패킷 복구 장치 및 방법 |
WO2008022207A2 (en) * | 2006-08-15 | 2008-02-21 | Broadcom Corporation | Time-warping of decoded audio signal after packet loss |
US8311814B2 (en) * | 2006-09-19 | 2012-11-13 | Avaya Inc. | Efficient voice activity detector to detect fixed power signals |
EP1918910B1 (en) * | 2006-10-31 | 2009-03-11 | Harman Becker Automotive Systems GmbH | Model-based enhancement of speech signals |
US8000961B2 (en) * | 2006-12-26 | 2011-08-16 | Yang Gao | Gain quantization system for speech coding to improve packet loss concealment |
US8688437B2 (en) | 2006-12-26 | 2014-04-01 | Huawei Technologies Co., Ltd. | Packet loss concealment for speech coding |
CN101622667B (zh) * | 2007-03-02 | 2012-08-15 | 艾利森电话股份有限公司 | 用于分层编解码器的后置滤波器 |
CN101542593B (zh) * | 2007-03-12 | 2013-04-17 | 富士通株式会社 | 语音波形内插装置及方法 |
CN101325537B (zh) * | 2007-06-15 | 2012-04-04 | 华为技术有限公司 | 一种丢帧隐藏的方法和设备 |
US8401845B2 (en) * | 2008-03-05 | 2013-03-19 | Voiceage Corporation | System and method for enhancing a decoded tonal sound signal |
US8645129B2 (en) * | 2008-05-12 | 2014-02-04 | Broadcom Corporation | Integrated speech intelligibility enhancement system and acoustic echo canceller |
US9197181B2 (en) * | 2008-05-12 | 2015-11-24 | Broadcom Corporation | Loudness enhancement system and method |
JP4735711B2 (ja) * | 2008-12-17 | 2011-07-27 | ソニー株式会社 | 情報符号化装置 |
USRE48462E1 (en) * | 2009-07-29 | 2021-03-09 | Northwestern University | Systems, methods, and apparatus for equalization preference learning |
US9324337B2 (en) * | 2009-11-17 | 2016-04-26 | Dolby Laboratories Licensing Corporation | Method and system for dialog enhancement |
US8832281B2 (en) * | 2010-01-08 | 2014-09-09 | Tangome, Inc. | Utilizing resources of a peer-to-peer computer environment |
US8560633B2 (en) * | 2010-01-11 | 2013-10-15 | Tangome, Inc. | Communicating in a peer-to-peer computer environment |
US9094527B2 (en) * | 2010-01-11 | 2015-07-28 | Tangome, Inc. | Seamlessly transferring a communication |
JP4709928B1 (ja) * | 2010-01-21 | 2011-06-29 | 株式会社東芝 | 音質補正装置及び音質補正方法 |
CN102893330B (zh) * | 2010-05-11 | 2015-04-15 | 瑞典爱立信有限公司 | 用于处理音频信号的方法和装置 |
CA3160488C (en) * | 2010-07-02 | 2023-09-05 | Dolby International Ab | Audio decoding with selective post filtering |
CN102074241B (zh) * | 2011-01-07 | 2012-03-28 | 蔡镇滨 | 一种通过快速声音波形修复实现声音还原的方法 |
CA2903681C (en) | 2011-02-14 | 2017-03-28 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Audio codec using noise synthesis during inactive phases |
BR112012029132B1 (pt) | 2011-02-14 | 2021-10-05 | Fraunhofer - Gesellschaft Zur Förderung Der Angewandten Forschung E.V | Representação de sinal de informações utilizando transformada sobreposta |
AU2012217216B2 (en) | 2011-02-14 | 2015-09-17 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for coding a portion of an audio signal using a transient detection and a quality result |
EP2676266B1 (en) | 2011-02-14 | 2015-03-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Linear prediction based coding scheme using spectral domain noise shaping |
CN103620672B (zh) | 2011-02-14 | 2016-04-27 | 弗劳恩霍夫应用研究促进协会 | 用于低延迟联合语音及音频编码(usac)中的错误隐藏的装置和方法 |
MY164797A (en) * | 2011-02-14 | 2018-01-30 | Fraunhofer Ges Zur Foederung Der Angewandten Forschung E V | Apparatus and method for processing a decoded audio signal in a spectral domain |
PT2676267T (pt) | 2011-02-14 | 2017-09-26 | Fraunhofer Ges Forschung | Codificação e descodificação de posições de pulso de faixas de um sinal de áudio |
MY159444A (en) | 2011-02-14 | 2017-01-13 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V | Encoding and decoding of pulse positions of tracks of an audio signal |
EP4243017A3 (en) | 2011-02-14 | 2023-11-08 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method decoding an audio signal using an aligned look-ahead portion |
US9626982B2 (en) * | 2011-02-15 | 2017-04-18 | Voiceage Corporation | Device and method for quantizing the gains of the adaptive and fixed contributions of the excitation in a CELP codec |
CN106847295B (zh) * | 2011-09-09 | 2021-03-23 | 松下电器(美国)知识产权公司 | 编码装置和编码方法 |
ES2805308T3 (es) * | 2011-11-03 | 2021-02-11 | Voiceage Evs Llc | Mejora del contenido insonoro para decodificador CELP de tasa baja |
PL2777041T3 (pl) * | 2011-11-10 | 2016-09-30 | Sposób i urządzenie do wykrywania częstotliwości próbkowania audio | |
US9972325B2 (en) * | 2012-02-17 | 2018-05-15 | Huawei Technologies Co., Ltd. | System and method for mixed codebook excitation for speech coding |
CN102970133B (zh) * | 2012-11-12 | 2015-10-14 | 安徽量子通信技术有限公司 | 量子网络的语音传输方法和语音终端 |
PL2922053T3 (pl) * | 2012-11-15 | 2019-11-29 | Ntt Docomo Inc | Urządzenie do kodowania audio, sposób kodowania audio, program do kodowania audio, urządzenie do dekodowania audio, sposób dekodowania audio, i program do dekodowania audio |
CN103928031B (zh) | 2013-01-15 | 2016-03-30 | 华为技术有限公司 | 编码方法、解码方法、编码装置和解码装置 |
EP3537437B1 (en) * | 2013-03-04 | 2021-04-14 | VoiceAge EVS LLC | Device and method for reducing quantization noise in a time-domain decoder |
US9349196B2 (en) | 2013-08-09 | 2016-05-24 | Red Hat, Inc. | Merging and splitting data blocks |
US10580417B2 (en) * | 2013-10-22 | 2020-03-03 | Industry-Academic Cooperation Foundation, Yonsei University | Method and apparatus for binaural rendering audio signal using variable order filtering in frequency domain |
EP2887350B1 (en) * | 2013-12-19 | 2016-10-05 | Dolby Laboratories Licensing Corporation | Adaptive quantization noise filtering of decoded audio data |
ES2827278T3 (es) | 2014-04-17 | 2021-05-20 | Voiceage Corp | Método, dispositivo y memoria no transitoria legible por ordenador para codificación y decodificación predictiva linealde señales sonoras en la transición entre tramas que tienen diferentes tasas de muestreo |
US9626983B2 (en) * | 2014-06-26 | 2017-04-18 | Qualcomm Incorporated | Temporal gain adjustment based on high-band signal characteristic |
EP2980794A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder using a frequency domain processor and a time domain processor |
EP2980801A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method for estimating noise in an audio signal, noise estimator, audio encoder, audio decoder, and system for transmitting audio signals |
EP2980799A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for processing an audio signal using a harmonic post-filter |
JP2016042132A (ja) * | 2014-08-18 | 2016-03-31 | ソニー株式会社 | 音声処理装置、音声処理方法、並びにプログラム |
CN106796804B (zh) * | 2014-10-02 | 2020-09-18 | 杜比国际公司 | 用于对话增强的解码方法和解码器 |
US10847170B2 (en) | 2015-06-18 | 2020-11-24 | Qualcomm Incorporated | Device and method for generating a high-band signal from non-linearly processed sub-ranges |
US9837089B2 (en) * | 2015-06-18 | 2017-12-05 | Qualcomm Incorporated | High-band signal generation |
US10580416B2 (en) | 2015-07-06 | 2020-03-03 | Nokia Technologies Oy | Bit error detector for an audio signal decoder |
US9881630B2 (en) * | 2015-12-30 | 2018-01-30 | Google Llc | Acoustic keystroke transient canceler for speech communication terminals using a semi-blind adaptive filter model |
CN105869653B (zh) * | 2016-05-31 | 2019-07-12 | 华为技术有限公司 | 话音信号处理方法和相关装置和*** |
KR20180003389U (ko) | 2017-05-25 | 2018-12-05 | 조경래 | 패널용 클램핑 기구 |
US20210093203A1 (en) * | 2019-09-30 | 2021-04-01 | DawnLight Technologies | Systems and methods of determining heart-rate and respiratory rate from a radar signal using machine learning methods |
Family Cites Families (117)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4969192A (en) | 1987-04-06 | 1990-11-06 | Voicecraft, Inc. | Vector adaptive predictive coder for speech and audio |
US4815134A (en) | 1987-09-08 | 1989-03-21 | Texas Instruments Incorporated | Very low rate speech encoder and decoder |
CN1062963C (zh) | 1990-04-12 | 2001-03-07 | 多尔拜实验特许公司 | 用于产生高质量声音信号的解码器和编码器 |
US5664051A (en) | 1990-09-24 | 1997-09-02 | Digital Voice Systems, Inc. | Method and apparatus for phase synthesis for speech processing |
KR960013206B1 (ko) * | 1990-12-31 | 1996-10-02 | 박헌철 | 조립식 원적외선 사우나 욕실 |
US5255339A (en) | 1991-07-19 | 1993-10-19 | Motorola, Inc. | Low bit rate vocoder means and method |
US5734789A (en) | 1992-06-01 | 1998-03-31 | Hughes Electronics | Voiced, unvoiced or noise modes in a CELP vocoder |
JP2746039B2 (ja) | 1993-01-22 | 1998-04-28 | 日本電気株式会社 | 音声符号化方式 |
US5706352A (en) * | 1993-04-07 | 1998-01-06 | K/S Himpp | Adaptive gain and filtering circuit for a sound reproduction system |
IT1270438B (it) * | 1993-06-10 | 1997-05-05 | Sip | Procedimento e dispositivo per la determinazione del periodo del tono fondamentale e la classificazione del segnale vocale in codificatori numerici della voce |
US5615298A (en) * | 1994-03-14 | 1997-03-25 | Lucent Technologies Inc. | Excitation signal synthesis during frame erasure or packet loss |
US5717823A (en) | 1994-04-14 | 1998-02-10 | Lucent Technologies Inc. | Speech-rate modification for linear-prediction based analysis-by-synthesis speech coders |
JP3277682B2 (ja) | 1994-04-22 | 2002-04-22 | ソニー株式会社 | 情報符号化方法及び装置、情報復号化方法及び装置、並びに情報記録媒体及び情報伝送方法 |
JP3277705B2 (ja) | 1994-07-27 | 2002-04-22 | ソニー株式会社 | 情報符号化装置及び方法、並びに情報復号化装置及び方法 |
TW271524B (es) | 1994-08-05 | 1996-03-01 | Qualcomm Inc | |
US5699477A (en) | 1994-11-09 | 1997-12-16 | Texas Instruments Incorporated | Mixed excitation linear prediction with fractional pitch |
US5751903A (en) | 1994-12-19 | 1998-05-12 | Hughes Electronics | Low rate multi-mode CELP codec that encodes line SPECTRAL frequencies utilizing an offset |
JP3189614B2 (ja) * | 1995-03-13 | 2001-07-16 | 松下電器産業株式会社 | 音声帯域拡大装置 |
JP3317470B2 (ja) | 1995-03-28 | 2002-08-26 | 日本電信電話株式会社 | 音響信号符号化方法、音響信号復号化方法 |
FR2734389B1 (fr) | 1995-05-17 | 1997-07-18 | Proust Stephane | Procede d'adaptation du niveau de masquage du bruit dans un codeur de parole a analyse par synthese utilisant un filtre de ponderation perceptuelle a court terme |
US5668925A (en) | 1995-06-01 | 1997-09-16 | Martin Marietta Corporation | Low data rate speech encoder with mixed excitation |
US5664055A (en) | 1995-06-07 | 1997-09-02 | Lucent Technologies Inc. | CS-ACELP speech compression system with adaptive pitch prediction filter gain based on a measure of periodicity |
US5699485A (en) | 1995-06-07 | 1997-12-16 | Lucent Technologies Inc. | Pitch delay modification during frame erasures |
US5774837A (en) | 1995-09-13 | 1998-06-30 | Voxware, Inc. | Speech coding system and method using voicing probability determination |
EP0763818B1 (en) * | 1995-09-14 | 2003-05-14 | Kabushiki Kaisha Toshiba | Formant emphasis method and formant emphasis filter device |
US5864798A (en) * | 1995-09-18 | 1999-01-26 | Kabushiki Kaisha Toshiba | Method and apparatus for adjusting a spectrum shape of a speech signal |
US5835495A (en) | 1995-10-11 | 1998-11-10 | Microsoft Corporation | System and method for scaleable streamed audio transmission over a network |
TW321810B (es) | 1995-10-26 | 1997-12-01 | Sony Co Ltd | |
IT1281001B1 (it) | 1995-10-27 | 1998-02-11 | Cselt Centro Studi Lab Telecom | Procedimento e apparecchiatura per codificare, manipolare e decodificare segnali audio. |
US5778335A (en) | 1996-02-26 | 1998-07-07 | The Regents Of The University Of California | Method and apparatus for efficient multiband celp wideband speech and music coding and decoding |
US6041345A (en) | 1996-03-08 | 2000-03-21 | Microsoft Corporation | Active stream format for holding multiple media streams |
JP3248668B2 (ja) * | 1996-03-25 | 2002-01-21 | 日本電信電話株式会社 | ディジタルフィルタおよび音響符号化/復号化装置 |
SE506341C2 (sv) | 1996-04-10 | 1997-12-08 | Ericsson Telefon Ab L M | Metod och anordning för rekonstruktion av en mottagen talsignal |
JP3335841B2 (ja) | 1996-05-27 | 2002-10-21 | 日本電気株式会社 | 信号符号化装置 |
US5819298A (en) * | 1996-06-24 | 1998-10-06 | Sun Microsystems, Inc. | File allocation tables with holes |
JP3472974B2 (ja) | 1996-10-28 | 2003-12-02 | 日本電信電話株式会社 | 音響信号符号化方法および音響信号復号化方法 |
US6570991B1 (en) | 1996-12-18 | 2003-05-27 | Interval Research Corporation | Multi-feature speech/music discrimination system |
US6317714B1 (en) | 1997-02-04 | 2001-11-13 | Microsoft Corporation | Controller and associated mechanical characters operable for continuously performing received control data while engaging in bidirectional communications over a single communications channel |
US6134518A (en) | 1997-03-04 | 2000-10-17 | International Business Machines Corporation | Digital audio signal coding using a CELP coder and a transform coder |
US6131084A (en) | 1997-03-14 | 2000-10-10 | Digital Voice Systems, Inc. | Dual subframe quantization of spectral magnitudes |
US6292834B1 (en) | 1997-03-14 | 2001-09-18 | Microsoft Corporation | Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network |
US6728775B1 (en) | 1997-03-17 | 2004-04-27 | Microsoft Corporation | Multiple multicasting of multimedia streams |
JP3185748B2 (ja) | 1997-04-09 | 2001-07-11 | 日本電気株式会社 | 信号符号化装置 |
IL120788A (en) | 1997-05-06 | 2000-07-16 | Audiocodes Ltd | Systems and methods for encoding and decoding speech for lossy transmission networks |
US6009122A (en) | 1997-05-12 | 1999-12-28 | Amati Communciations Corporation | Method and apparatus for superframe bit allocation |
DE69840092D1 (de) | 1997-05-12 | 2008-11-20 | Texas Instruments Inc | Verfahren und vorrichtung für überrahmen-bitverteilung in einem diskret-mehrton-system (dmt) |
US6058359A (en) | 1998-03-04 | 2000-05-02 | Telefonaktiebolaget L M Ericsson | Speech coding including soft adaptability feature |
FI973873A (fi) | 1997-10-02 | 1999-04-03 | Nokia Mobile Phones Ltd | Puhekoodaus |
US6263312B1 (en) | 1997-10-03 | 2001-07-17 | Alaris, Inc. | Audio compression and decompression employing subband decomposition of residual signal and distortion reduction |
WO1999021174A1 (en) | 1997-10-22 | 1999-04-29 | Matsushita Electric Industrial Co., Ltd. | Sound encoder and sound decoder |
US6199037B1 (en) | 1997-12-04 | 2001-03-06 | Digital Voice Systems, Inc. | Joint quantization of speech subframe voicing metrics and fundamental frequencies |
US5870412A (en) | 1997-12-12 | 1999-02-09 | 3Com Corporation | Forward error correction system for packet based real time media |
US6351730B2 (en) | 1998-03-30 | 2002-02-26 | Lucent Technologies Inc. | Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment |
US6029126A (en) | 1998-06-30 | 2000-02-22 | Microsoft Corporation | Scalable audio coder and decoder |
US6823303B1 (en) | 1998-08-24 | 2004-11-23 | Conexant Systems, Inc. | Speech encoder using voice activity detection in coding noise |
US6330533B2 (en) | 1998-08-24 | 2001-12-11 | Conexant Systems, Inc. | Speech encoder adaptively applying pitch preprocessing with warping of target signal |
US6240386B1 (en) * | 1998-08-24 | 2001-05-29 | Conexant Systems, Inc. | Speech codec employing noise classification for noise compensation |
US6493665B1 (en) | 1998-08-24 | 2002-12-10 | Conexant Systems, Inc. | Speech classification and parameter weighting used in codebook search |
US6385573B1 (en) | 1998-08-24 | 2002-05-07 | Conexant Systems, Inc. | Adaptive tilt compensation for synthesized speech residual |
FR2784218B1 (fr) | 1998-10-06 | 2000-12-08 | Thomson Csf | Procede de codage de la parole a bas debit |
US6289297B1 (en) | 1998-10-09 | 2001-09-11 | Microsoft Corporation | Method for reconstructing a video frame received from a video source over a communication channel |
US6438136B1 (en) | 1998-10-09 | 2002-08-20 | Microsoft Corporation | Method for scheduling time slots in a communications network channel to support on-going video transmissions |
GB2342829B (en) * | 1998-10-13 | 2003-03-26 | Nokia Mobile Phones Ltd | Postfilter |
JP4359949B2 (ja) | 1998-10-22 | 2009-11-11 | ソニー株式会社 | 信号符号化装置及び方法、並びに信号復号装置及び方法 |
US6310915B1 (en) | 1998-11-20 | 2001-10-30 | Harmonic Inc. | Video transcoder with bitstream look ahead for rate control and statistical multiplexing |
US6226606B1 (en) | 1998-11-24 | 2001-05-01 | Microsoft Corporation | Method and apparatus for pitch tracking |
US6385665B1 (en) * | 1998-12-18 | 2002-05-07 | Alcatel Usa Sourcing, L.P. | System and method for managing faults in a data transmission system |
US6311154B1 (en) | 1998-12-30 | 2001-10-30 | Nokia Mobile Phones Limited | Adaptive windows for analysis-by-synthesis CELP-type speech coding |
US6499060B1 (en) | 1999-03-12 | 2002-12-24 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
US6460153B1 (en) | 1999-03-26 | 2002-10-01 | Microsoft Corp. | Apparatus and method for unequal error protection in multiple-description coding using overcomplete expansions |
US6952668B1 (en) | 1999-04-19 | 2005-10-04 | At&T Corp. | Method and apparatus for performing packet loss or frame erasure concealment |
US7117156B1 (en) | 1999-04-19 | 2006-10-03 | At&T Corp. | Method and apparatus for performing packet loss or frame erasure concealment |
DE19921122C1 (de) | 1999-05-07 | 2001-01-25 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Verschleiern eines Fehlers in einem codierten Audiosignal und Verfahren und Vorrichtung zum Decodieren eines codierten Audiosignals |
JP3365346B2 (ja) * | 1999-05-18 | 2003-01-08 | 日本電気株式会社 | 音声符号化装置及び方法並びに音声符号化プログラムを記録した記憶媒体 |
US6633841B1 (en) | 1999-07-29 | 2003-10-14 | Mindspeed Technologies, Inc. | Voice activity detection speech coding to accommodate music signals |
US6434247B1 (en) * | 1999-07-30 | 2002-08-13 | Gn Resound A/S | Feedback cancellation apparatus and methods utilizing adaptive reference filter mechanisms |
US6775649B1 (en) | 1999-09-01 | 2004-08-10 | Texas Instruments Incorporated | Concealment of frame erasures for speech transmission and storage system and method |
US6505152B1 (en) | 1999-09-03 | 2003-01-07 | Microsoft Corporation | Method and apparatus for using formant models in speech systems |
US6782360B1 (en) | 1999-09-22 | 2004-08-24 | Mindspeed Technologies, Inc. | Gain quantization for a CELP speech coder |
US7315815B1 (en) | 1999-09-22 | 2008-01-01 | Microsoft Corporation | LPC-harmonic vocoder with superframe structure |
US6772126B1 (en) | 1999-09-30 | 2004-08-03 | Motorola, Inc. | Method and apparatus for transferring low bit rate digital voice messages using incremental messages |
JP2001117573A (ja) * | 1999-10-20 | 2001-04-27 | Toshiba Corp | 音声スペクトル強調方法/装置及び音声復号化装置 |
US6621935B1 (en) | 1999-12-03 | 2003-09-16 | Microsoft Corporation | System and method for robust image representation over error-prone channels |
US6732070B1 (en) | 2000-02-16 | 2004-05-04 | Nokia Mobile Phones, Ltd. | Wideband speech codec using a higher sampling rate in analysis and synthesis filtering than in excitation searching |
US6693964B1 (en) | 2000-03-24 | 2004-02-17 | Microsoft Corporation | Methods and arrangements for compressing image based rendering data using multiple reference frame prediction techniques that support just-in-time rendering of an image |
US6757654B1 (en) | 2000-05-11 | 2004-06-29 | Telefonaktiebolaget Lm Ericsson | Forward error correction in speech coding |
JP2002118517A (ja) | 2000-07-31 | 2002-04-19 | Sony Corp | 直交変換装置及び方法、逆直交変換装置及び方法、変換符号化装置及び方法、並びに復号装置及び方法 |
US6934678B1 (en) | 2000-09-25 | 2005-08-23 | Koninklijke Philips Electronics N.V. | Device and method for coding speech to be recognized (STBR) at a near end |
EP1199709A1 (en) * | 2000-10-20 | 2002-04-24 | Telefonaktiebolaget Lm Ericsson | Error Concealment in relation to decoding of encoded acoustic signals |
US6968309B1 (en) | 2000-10-31 | 2005-11-22 | Nokia Mobile Phones Ltd. | Method and system for speech frame error concealment in speech decoding |
DE60126149T8 (de) | 2000-11-27 | 2008-01-31 | Nippon Telegraph And Telephone Corp. | Verfahren, einrichtung und programm zum codieren und decodieren eines akustischen parameters und verfahren, einrichtung und programm zum codieren und decodieren von klängen |
KR100830857B1 (ko) | 2001-01-19 | 2008-05-22 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 오디오 전송 시스템, 오디오 수신기, 전송 방법, 수신 방법 및 음성 디코더 |
US6614370B2 (en) | 2001-01-26 | 2003-09-02 | Oded Gottesman | Redundant compression techniques for transmitting data over degraded communication links and/or storing data on media subject to degradation |
US7151749B2 (en) | 2001-06-14 | 2006-12-19 | Microsoft Corporation | Method and System for providing adaptive bandwidth control for real-time communication |
US6658383B2 (en) | 2001-06-26 | 2003-12-02 | Microsoft Corporation | Method for coding speech and music signals |
US6941263B2 (en) * | 2001-06-29 | 2005-09-06 | Microsoft Corporation | Frequency domain postfiltering for quality enhancement of coded speech |
US6879955B2 (en) | 2001-06-29 | 2005-04-12 | Microsoft Corporation | Signal modification based on continuous time warping for low bit rate CELP coding |
US7277554B2 (en) * | 2001-08-08 | 2007-10-02 | Gn Resound North America Corporation | Dynamic range compression using digital frequency warping |
US7512535B2 (en) | 2001-10-03 | 2009-03-31 | Broadcom Corporation | Adaptive postfiltering methods and systems for decoding speech |
US6785645B2 (en) | 2001-11-29 | 2004-08-31 | Microsoft Corporation | Real-time speech and music classifier |
US6934677B2 (en) | 2001-12-14 | 2005-08-23 | Microsoft Corporation | Quantization matrices based on critical band pattern information for digital audio wherein quantization bands differ from critical bands |
US7027982B2 (en) | 2001-12-14 | 2006-04-11 | Microsoft Corporation | Quality and rate control strategy for digital audio |
US6789123B2 (en) | 2001-12-28 | 2004-09-07 | Microsoft Corporation | System and method for delivery of dynamically scalable audio/video content over a network |
US6647366B2 (en) | 2001-12-28 | 2003-11-11 | Microsoft Corporation | Rate control strategies for speech and music coding |
JP4000589B2 (ja) * | 2002-03-07 | 2007-10-31 | ソニー株式会社 | 復号装置および復号方法、並びにプログラムおよび記録媒体 |
CA2388439A1 (en) | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for efficient frame erasure concealment in linear predictive based speech codecs |
CA2388352A1 (en) * | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for frequency-selective pitch enhancement of synthesized speed |
US7356748B2 (en) | 2003-12-19 | 2008-04-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Partial spectral loss concealment in transform codecs |
EP1709734B1 (en) * | 2004-01-19 | 2008-05-21 | Nxp B.V. | System for audio signal processing |
CA2457988A1 (en) * | 2004-02-18 | 2005-08-18 | Voiceage Corporation | Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization |
US7668712B2 (en) | 2004-03-31 | 2010-02-23 | Microsoft Corporation | Audio encoding and decoding with intra frames and adaptive forward error correction |
US7362819B2 (en) * | 2004-06-16 | 2008-04-22 | Lucent Technologies Inc. | Device and method for reducing peaks of a composite signal |
CA2574101C (en) | 2004-07-19 | 2013-06-25 | Eberle Design, Inc. | Methods and apparatus for an improved signal monitor |
CA2603246C (en) * | 2005-04-01 | 2012-07-17 | Qualcomm Incorporated | Systems, methods, and apparatus for anti-sparseness filtering |
US7707034B2 (en) * | 2005-05-31 | 2010-04-27 | Microsoft Corporation | Audio codec post-filter |
US7177804B2 (en) | 2005-05-31 | 2007-02-13 | Microsoft Corporation | Sub-band voice codec with multi-stage codebooks and redundant coding |
US7831421B2 (en) | 2005-05-31 | 2010-11-09 | Microsoft Corporation | Robust decoder |
-
2005
- 2005-05-31 US US11/142,603 patent/US7707034B2/en active Active
-
2006
- 2006-04-05 KR KR1020077027591A patent/KR101246991B1/ko active IP Right Grant
- 2006-04-05 CN CN2006800183858A patent/CN101501763B/zh active Active
- 2006-04-05 WO PCT/US2006/012641 patent/WO2006130226A2/en active Application Filing
- 2006-04-05 CA CA2609539A patent/CA2609539C/en active Active
- 2006-04-05 NZ NZ563461A patent/NZ563461A/en unknown
- 2006-04-05 KR KR1020127026715A patent/KR101344174B1/ko active IP Right Grant
- 2006-04-05 AU AU2006252962A patent/AU2006252962B2/en active Active
- 2006-04-05 MX MX2007014555A patent/MX2007014555A/es active IP Right Grant
- 2006-04-05 ES ES06740546.4T patent/ES2644730T3/es active Active
- 2006-04-05 ZA ZA200710201A patent/ZA200710201B/xx unknown
- 2006-04-05 JP JP2008514627A patent/JP5165559B2/ja active Active
- 2006-04-05 EP EP06740546.4A patent/EP1899962B1/en active Active
-
2007
- 2007-11-05 IL IL187167A patent/IL187167A0/en active IP Right Grant
- 2007-11-12 NO NO20075773A patent/NO340411B1/no unknown
- 2007-11-28 EG EGPCTNA2007001326A patent/EG26313A/en active
-
2012
- 2012-05-01 JP JP2012104721A patent/JP5688852B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20060271354A1 (en) | 2006-11-30 |
CA2609539A1 (en) | 2006-12-07 |
CN101501763B (zh) | 2012-09-19 |
KR101344174B1 (ko) | 2013-12-20 |
EG26313A (en) | 2013-07-24 |
JP2009508146A (ja) | 2009-02-26 |
IL187167A0 (en) | 2008-06-05 |
JP2012163981A (ja) | 2012-08-30 |
AU2006252962A1 (en) | 2006-12-07 |
JP5165559B2 (ja) | 2013-03-21 |
ES2644730T3 (es) | 2017-11-30 |
NO20075773L (no) | 2008-02-28 |
JP5688852B2 (ja) | 2015-03-25 |
US7707034B2 (en) | 2010-04-27 |
AU2006252962B2 (en) | 2011-04-07 |
KR20120121928A (ko) | 2012-11-06 |
CN101501763A (zh) | 2009-08-05 |
EP1899962B1 (en) | 2017-07-26 |
NZ563461A (en) | 2011-01-28 |
EP1899962A4 (en) | 2014-09-10 |
NO340411B1 (no) | 2017-04-18 |
WO2006130226A3 (en) | 2009-04-23 |
KR101246991B1 (ko) | 2013-03-25 |
CA2609539C (en) | 2016-03-29 |
WO2006130226A2 (en) | 2006-12-07 |
EP1899962A2 (en) | 2008-03-19 |
KR20080011216A (ko) | 2008-01-31 |
ZA200710201B (en) | 2009-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
MX2007014555A (es) | Post-filtracion de codificador-descodificador de audio. | |
JP5186054B2 (ja) | マルチステージコードブックおよび冗長コーディング技術フィールドを有するサブバンド音声コーデック | |
JP5129117B2 (ja) | 音声信号の高帯域部分を符号化及び復号する方法及び装置 | |
RU2420817C2 (ru) | Системы, способы и устройство для ограничения коэффициента усиления | |
RU2389085C2 (ru) | Способы и устройства для введения низкочастотных предыскажений в ходе сжатия звука на основе acelp/tcx | |
MXPA06009342A (es) | Metodos y dispositivos para enfasis a baja frecuencia durante compresion de audio basado en prediccion lineal con excitacion por codigo algebraico/excitacion codificada por transformada (acelp/tcx) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Grant or registration |