ES2644730T3 - Postfiltro de código de audio - Google Patents

Postfiltro de código de audio Download PDF

Info

Publication number
ES2644730T3
ES2644730T3 ES06740546.4T ES06740546T ES2644730T3 ES 2644730 T3 ES2644730 T3 ES 2644730T3 ES 06740546 T ES06740546 T ES 06740546T ES 2644730 T3 ES2644730 T3 ES 2644730T3
Authority
ES
Spain
Prior art keywords
signal
band
frequency domain
values
filter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES06740546.4T
Other languages
English (en)
Inventor
Xiaoqin Sun
Tian Wang
Hosam A. Khalil
Kazuhito Koishida
Wei-Ge Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2644730T3 publication Critical patent/ES2644730T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/04Speech 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/04Speech 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/26Pre-filtering or post-filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/04Speech 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/04Speech 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/08Determination 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)
  • Stereophonic System (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

5
10
15
20
25
30
35
DESCRIPCION
Postfiltro de codigo de audio Campo tecnico
Las herramientas y tecnicas descritas se refieren a codecs de audio, y en particular al postprocesamiento de habla descodificada.
Antecedentes
Con la aparicion de las redes telefonicas digitales inalambricas, la transferencia continua de audio a traves de Internet y la telefonla por Internet, el procesamiento digital y la entrega de voz se han convertido en un lugar comun. Los ingenieros usan una variedad de tecnicas para procesar el habla de manera eficiente a la vez que se mantiene la calidad. Entender estas tecnicas, ayuda a comprender como se representa y procesa la informacion de audio en un ordenador.
I. Representation de informacion de audio en un ordenador
Un ordenador procesa la informacion de audio como una serie de numeros que representan el audio. Un numero unico puede representar una muestra de audio, que es un valor de amplitud en un momento determinado. Varios factores afectan la calidad del audio, incluyendo la profundidad de la muestra y la frecuencia de muestreo.
Profundidad (o precision) de muestra indica el rango de numeros utilizados para representar una muestra. Mas valores posibles para cada muestra tlpicamente producen una salida de mayor calidad porque se pueden representar variaciones mas sutiles en amplitud. Una muestra de ocho bits tiene 256 valores posibles, mientras que una muestra de dieciseis bits tiene 65.536 valores posibles.
La velocidad de muestreo (usualmente medida como el numero de muestras por segundo) tambien afecta a la calidad. Cuanto mayor sea la frecuencia de muestreo, mayor sera la calidad, ya que se pueden representar mas frecuencias de sonido. Algunas frecuencias comunes de muestreo son 8.000, 11.025, 22.050, 32.000, 44.100, 48.000 y 96.000 muestras/segundo (Hz). La Tabla 1 muestra varios formatos de audio con diferentes niveles de calidad, junto con los correspondientes costes de la velocidad de bits sin procesar.
Tabla 1: Velocidades binarias para audio de calidad diferente
Profundidad de la muestra (bits/muestra)
Frecuencia de Muestreo (muestras/segundo) Modo de Canal Velocidad de Bits sin Procesar (bits/segundo)
8
8,000 mono 64,000
8
11,025 mono 88,200
16
44,100 estereo 1,411,200
Tal como se muestra en la Tabla 1, el coste de un audio de alta calidad es una alta velocidad de bits. La informacion de audio de alta calidad consume grandes cantidades de capacidad de almacenamiento y transmision del ordenador. Muchos ordenadores y redes informaticas carecen de los recursos necesarios para procesar el audio digital bruto. La compresion (tambien llamada codificar o codification) disminuye el costo de almacenar y transmitir informacion de audio convirtiendo la informacion en una forma de velocidad de bits mas baja. La compresion puede ser sin perdidas (en la cual la calidad no sufre) o con perdidas (en la cual la calidad sufre, pero la reduction de la velocidad de bits de la compresion sin perdidas subsiguiente es mas dramatica). La descompresion (tambien llamada descodificacion) extrae una version reconstruida de la informacion original a partir de la forma comprimida. Un codec es un sistema codificador/descodificador.
II. Codificadores y descodificadores de voz
Un objetivo de la compresion de audio es representar digitalmente senales de audio para proporcionar una calidad de senal maxima para una cantidad dada de bits. Dicho de otra manera, este objetivo es representar las senales de
5
10
15
20
25
30
35
40
45
50
55
audio con los mlnimos bits para un nivel dado de calidad. Otros objetivos tales como la resiliencia a los errores de transmision y la limitacion del retardo general debido a la codificacion/transmision/descodificacion se aplican en algunos escenarios.
Los diferentes tipos de senales de audio tienen caracterlsticas diferentes. La musica se caracteriza por grandes rangos de frecuencias y amplitudes, y a menudo incluye dos o mas canales. Por otro lado, el habla se caracteriza por menores rangos de frecuencias y amplitudes, y se representa comunmente en un solo canal. Ciertos codecs y tecnicas de procesamiento estan adaptados para la musica y el audio en general; otros codecs y tecnicas de procesamiento estan adaptados para el habla.
Un tipo de codec de conversacion convencional utiliza prediccion lineal ("LP") para lograr la compresion. La codificacion del habla incluye varias etapas. El codificador encuentra y cuantifica coeficientes para un filtro de prediccion lineal, que se utiliza para predecir los valores de la muestra como combinaciones lineales de los valores de la muestra anterior. Una senal residual (representada como una senal de "excitacion") indica partes de la senal original no pronosticadas con precision por el filtrado. En algunas etapas, el codec de voz utiliza diferentes tecnicas de compresion para segmentos sonoros (caracterizados por vibracion de cuerdas vocales), segmentos sin voz y segmentos silenciosos, y a que diferentes tipos de habla tienen caracterlsticas diferentes. Los segmentos de voz tlpicamente exhiben patrones de expresion de voz altamente repetitivos, incluso en el dominio residual. Para segmentos con voz, el codificador consigue una compresion adicional comparando la senal residual actual con los ciclos residuales anteriores y codificando la senal residual actual en terminos de informacion de retraso o aplazamiento con relacion a los ciclos previos. El codificador maneja otras discrepancias entre la senal original y la representacion codificada predicha (a partir de la informacion de prediccion lineal y de retardo) usando libros de codigos especialmente disenados.
Aunque los codecs de voz como se ha descrito anteriormente tienen un buen rendimiento global para muchas aplicaciones, tienen varios inconvenientes. Por ejemplo, los codecs con perdidas tlpicamente reducen la velocidad de bits reduciendo la redundancia en una senal de voz, lo que resulta en ruido u otros artefactos indeseables en el habla descodificada. Por consiguiente, algunos codecs filtran el habla descodificada para mejorar su calidad. Tales postfiltros normalmente vienen en dos tipos: postfiltros de dominio de tiempo y postfiltros de dominio de frecuencia.
Dada la importancia de la compresion y la descompresion para representar las senales de habla en los sistemas informaticos, no es sorprendente que el postfiltrado del habla reconstruida haya atraldo la investigacion. Cualesquiera que sean las ventajas de las tecnicas anteriores para el procesamiento de la voz reconstruida u otro audio, no tienen las ventajas de las tecnicas y herramientas descritas en la presente memoria.
El documento EP 1 308 932 A2 describe un metodo para procesar una senal de voz descodificada que incluye marcos DS sucesivas, incluyendo cada marco DS muestras DS, en el que el metodo comprende: filtrar de forma adaptativa la senal DS para producir una senal filtrada; incrementar la escala de la senal filtrada con una ganancia adaptativa actualizada una vez un marco DS, produciendo de este modo una senal escalonada de ganancia; y realizar una operacion de suavizado para suavizar posibles discontinuidades de la forma de onda en la senal escalonada en ganancia.
El documento US 5 864 798 A describe el ajuste de la forma de un espectro de una senal de voz que incluye las etapas de utilizar un primer filtro con funcion de transferencia de polos cero A (z)/B (z) para someter una senal de voz a un segundo filtro conectado en cascada con el primer filtro, para compensar una inclinacion espectral debida al primer filtro, derivando independientemente dos coeficientes de filtro utilizados en el segundo filtro para compensar la inclinacion espectral a partir de la funcion de transferencia polo-cero, y compensando la inclinacion espectral correspondiente a la funcion de transferencia polo-cero de acuerdo con los coeficientes de filtro derivados.
El documento WO 2003/102923 A2 describe un metodo y un dispositivo para la mejora de tono selectiva en frecuencia de voz sintetizada, en el que una senal de sonido descodificada con vistas a mejorar una calidad percibida de esta senal de sonido descodificada se divide en una pluralidad de sub-bandas de frecuencia senales y postprocesamiento se aplica a al menos una de la senal de sub-banda de frecuencia. Despues del postprocesamiento de esta al menos una senal de sub-banda de frecuencia, se pueden anadir las senales de sub- banda de frecuencia para producir una senal de sonido descodificada de salida postprocesada.
El documento US 6.064.962 describe un metodo de enfasis de formantes para enfatizar el formante como un pico espectral de una senal de voz de entrada y atenuar el valle espectral de la senal de voz de entrada. Un filtro de enfasis de espectro realiza el procesamiento para enfatizar el formante de la senal de voz de entrada y atenuar el valle de la senal de voz de entrada. Un filtro de caracterlstica variable de primer orden cuya caracterlstica cambia adaptativamente de acuerdo con la caracterlstica de la senal de voz de entrada y un filtro de caracterlstica fija de primer orden compensan una inclinacion espectral incluida en una senal de salida del filtro de enfasis espectral.
Resumen
5
10
15
20
25
30
35
40
45
En resumen, la descripcion detallada esta dirigida a diversas tecnicas y herramientas para codecs de audio, y especlficamente a herramientas y tecnicas relacionadas con el filtrado de voz descodificada. Las realizaciones descritas implementan una o mas de las tecnicas y herramientas descritas incluyendo, pero no limitandose a, lo siguiente:
En un aspecto, se calcula un conjunto de coeficientes de filtro para la aplicacion a una senal de audio reconstruida. El calculo incluye realizar uno o mas calculos de dominio de frecuencia. Se produce una senal de audio filtrada filtrando al menos una porcion de la senal de audio reconstruida en un dominio de tiempo usando el conjunto de coeficientes de filtro.
En otro aspecto, se produce un conjunto de coeficientes de filtro para la aplicacion a una senal de audio reconstruida. La produccion de los coeficientes incluye procesar un conjunto de valores de coeficientes que representan uno o mas picos y uno o mas valles. El procesamiento del conjunto de valores de coeficientes incluye el recorte de uno o mas de los picos o valles. Al menos una porcion de la senal de audio reconstruida se filtra utilizando los coeficientes de filtro.
En otro aspecto, se recibe una senal compuesta reconstruida sintetizada a partir de varias senales de sub-banda de frecuencia reconstruida. Las senales de sub-banda incluyen una senal de sub-banda de primera frecuencia reconstruida para una primera banda de frecuencia y una segunda senal de sub-banda de frecuencia reconstruida para una segunda banda de frecuencia. En una region de frecuencia alrededor de una interseccion entre la primera banda de frecuencia y la segunda banda de frecuencia, la senal compuesta reconstruida se mejora selectivamente.
Las diversas tecnicas y herramientas se pueden usar en combination o independientemente.
Caracterlsticas y ventajas adicionales se pondran de manifiesto a partir de la siguiente descripcion detallada de diferentes realizaciones que procede con referencia a los dibujos adjuntos.
Breve descripcion de los dibujos
La figura 1 es un diagrama de bloques de un entorno informatico adecuado en el que puede implementarse una o mas de las realizaciones descritas.
La Figura 2 es un diagrama de bloques de un entorno de red en conjuncion con el cual puede implementarse una o mas de las realizaciones descritas.
La Figura 3 es un grafico que representa una posible estructura de sub-banda de frecuencia que puede usarse para la codification de sub-banda.
La figura 4 es un diagrama de bloques de un codificador de banda de voz en tiempo real en conjuncion con el cual puede implementarse una o mas de las realizaciones descritas.
La figura 5 es un diagrama de flujo que representa la determination de parametros de libro de codigos en una implementation.
La Figura 6 es un diagrama de bloques de un descodificador de banda de voz en tiempo real en conjuncion con el cual puede implementarse una o mas de las realizaciones descritas.
La Figura 7 es un diagrama de flujo que representa una tecnica para determinar los coeficientes postfiltro que pueden usarse en algunas implementaciones.
Descripcion detallada
Las realizaciones descritas se dirigen a tecnicas y herramientas para procesar information de audio en codificacion y/o descodificacion. Con estas tecnicas se mejora la calidad del habla derivada de un codec de voz, tal como un codec de voz en tiempo real. Tales mejoras pueden resultar del uso de diversas tecnicas y herramientas por separado o en combinacion.
Dichas tecnicas y herramientas pueden incluir un postfiltro que se aplica a una senal de audio descodificada en el dominio del tiempo usando coeficientes que se disenan o procesan en el dominio de la frecuencia. Las tecnicas tambien pueden incluir valores de coeficiente de filtro de recorte o de limitation para uso en dicho filtro, o en algun otro tipo de postfiltro.
5
10
15
20
25
30
35
40
45
50
Las tecnicas tambien pueden incluir un postfiltro que realce la magnitud de una senal de audio descodificada en regiones de frecuencia en las que la energla puede haberse atenuado debido a la descomposicion en bandas de frecuencia. Como ejemplo, el filtro puede mejorar la senal en regiones de frecuencia cerca de intersecciones de bandas adyacentes.
Aunque las operaciones para las diversas tecnicas se describen en un orden particular y secuencial por razones de presentacion, debe entenderse que esta forma de descripcion abarca reordenamientos menores en el orden de las operaciones, a menos que se requiera un orden particular. Por ejemplo, las operaciones descritas secuencialmente pueden en algunos casos ser reordenadas o realizadas simultaneamente. Ademas, en aras de la simplicidad, los diagramas de flujo pueden no mostrar las diversas maneras en que se pueden usar tecnicas particulares conjuntamente con otras tecnicas.
Aunque se describen a continuacion caracterlsticas particulares de entorno informatico y caracterlsticas de codec de audio, una o mas de las herramientas y tecnicas pueden utilizarse con diversos tipos de entornos informaticos y/o con diversos tipos diferentes de codecs. Por ejemplo, se pueden usar una o mas de las tecnicas postfiltro con codecs que no utilizan el modelo de codificacion CELP, tales como codecs de modulacion de codigo de pulso diferencial adaptativo, codecs de transformacion y/u otros tipos de codecs. Como otro ejemplo, se pueden usar una o mas de las tecnicas postfiltro con codecs de banda unica o codecs de sub-banda. Como otro ejemplo, se pueden aplicar una o mas de las tecnicas postfiltro a una unica banda de un codec de multiples bandas y/o a una senal sintetizada o no codificada que incluye contribuciones de multiples bandas de un codec de multiples bandas.
I. Entorno informatico
La figura 1 ilustra un ejemplo generalizado de un entorno (100) informatico adecuado en el que puede implementarse una o mas de las realizaciones descritas. El entorno (100) informatico no pretende sugerir ninguna limitacion en cuanto al alcance de uso o funcionalidad de la invencion, ya que la presente invencion puede ser implementada en diversos entornos informaticos de proposito general o de proposito especlfico.
Haciendo referencia a la Figura 1, el entorno (100) informatico incluye al menos una unidad (110) de procesamiento y una memoria (120). En la figura 1, esta configuracion (130) mas basica esta incluida dentro de una llnea discontinua. La unidad (110) de procesamiento ejecuta instrucciones ejecutables por ordenador y puede ser un procesador real o virtual. En un sistema de procesamiento multiple, multiples unidades de procesamiento ejecutan instrucciones ejecutables por ordenador para aumentar la potencia de procesamiento. La memoria (120) puede ser memoria volatil (por ejemplo, registros, memoria cache, RAM), memoria no volatil (por ejemplo, ROM, EEPROM, memoria instantanea, etc.) o alguna combinacion de los dos. La memoria (120) almacena software (180) que implementa una o mas de las tecnicas de postfiltrado descritas aqul para un descodificador de voz.
Un entorno (100) informatico puede tener caracterlsticas adicionales. En la figura 1, el entorno (100) informatico incluye almacenamiento (140), uno o mas dispositivos (150) de entrada, uno o mas dispositivos (160) de salida y una o mas conexiones (170) de comunicacion. Un mecanismo de interconexion (no mostrado), tal como un bus, controlador o red, interconecta los componentes del entorno (100) informatico. Tlpicamente, el software del sistema operativo (no mostrado) proporciona un entorno operativo para otro software que se ejecuta en el entorno (100) informatico, y coordina las actividades de los componentes del entorno (100) informatico.
El almacenamiento (140) puede ser extralble o no extralble, y puede incluir discos magneticos, cintas magneticas o casetes, CD-ROM, CD-RW, DVD o cualquier otro medio que pueda usarse para almacenar informacion y que se puede acceder dentro del entorno (100) informatico. El almacenamiento (140) almacena instrucciones para el software (180).
El dispositivo o dispositivos (150) de entrada puede ser un dispositivo de entrada tactil tal como un teclado, raton, lapiz o bola, un dispositivo de entrada de voz, un dispositivo de exploracion, adaptador de red, u otro dispositivo que proporcione entrada al entorno (100) informatico. Para el audio, el dispositivo (150) de entrada puede ser una tarjeta de sonido, microfono u otro dispositivo que acepta entrada de audio en forma analogica o digital, o un lector de CD/DVD que proporciona muestras de audio al entorno (100) informatico. El dispositivo (160) de salida puede ser una pantalla, una impresora, un altavoz, un grabador de CD/DVD, un adaptador de red u otro dispositivo que proporcione salida desde el entorno (100) informatico.
Las conexiones (170) de comunicacion permiten la comunicacion a traves de un medio de comunicacion a otra entidad informatica. El medio de comunicacion transmite informacion tal como instrucciones ejecutables por ordenador, informacion de voz comprimida u otros datos en una senal de datos modulada. Una senal de datos modulada es una senal que tiene una o mas de sus caracterlsticas establecidas o cambiadas de tal manera que codifican informacion en la senal. A modo de ejemplo, y no de limitacion, los medios de comunicacion incluyen tecnicas cableadas o inalambricas implementadas con un portador electrico, optico, RF, infrarrojo, acustico u otro.
5
10
15
20
25
30
35
40
45
50
55
La invencion se puede describir en el contexto general de medios legibles por ordenador. Los medios legibles por ordenador son cualquier medio disponible al que se pueda acceder dentro de un entorno informatico. A modo de ejemplo, y no limitativo, con el entorno (100) informatico, los medios legibles por ordenador incluyen memoria (120), almacenamiento (140), medios de comunicacion y combinaciones de cualquiera de los anteriores.
La invencion se puede describir en el contexto general de las instrucciones ejecutables por ordenador, tales como las incluidas en los modulos de programa, que se ejecutan en un entorno informatico en un procesador real o virtual de destino. Generalmente, los modulos de programa incluyen rutinas, programas, bibliotecas, objetos, clases, componentes, estructuras de datos, etc. que realizan tareas particulares o implementan tipos de datos abstractos particulares. La funcionalidad de los modulos de programa se puede combinar o dividir entre modulos de programa como se desee en varias realizaciones. Las instrucciones ejecutables por ordenador para los modulos de programa pueden ejecutarse en un entorno informatico local o distribuido.
En aras de la presentacion, la descripcion detallada puede usar terminos como "determinar", "generar", "ajustar" y "aplicar" para describir operaciones de ordenador en un entorno informatico. Estos terminos son abstracciones de alto nivel para operaciones realizadas por un ordenador, y no deben confundirse con actos realizados por un ser humano. Las operaciones informaticas reales correspondientes a estos terminos varlan dependiendo de la implementacion.
II. Entorno de red generalizado y codec de voz en tiempo real
La figura 2 es un diagrama de bloques de un entorno (200) de red generalizada en conjuncion con el cual puede implementarse una o mas de las realizaciones descritas. Una red (250) separa varios componentes del lado del codificador de diversos componentes del lado del descodificador.
Las funciones primarias de los componentes del lado del codificador y del lado del descodificador son codificacion y descodificacion de voz, respectivamente. En el lado del codificador, una memoria (210) intermedia de entrada acepta y almacena la entrada (202) de voz. El codificador (230) de voz toma la entrada (202) de voz desde la memoria (210) intermedia de entrada y la codifica.
Especlficamente, un divisor (212) de marcos divide las muestras de la entrada (202) de voz en marcos. En una implementacion, los marcos tienen uniformemente veinte ms de largo -160 muestras para la entrada de ocho kHz y 320 muestras para la entrada de dieciseis kHz-. En otras implementaciones, los marcos tienen diferentes duraciones, son no uniformes o se superponen, y/o la velocidad de muestreo de la entrada (202) es diferente. Los marcos pueden estar organizados en supermarco/marco, marco/submarco u otra configuracion para diferentes etapas de la codificacion y descodificacion.
Un clasificador (214) de marcos clasifica los marcos de acuerdo con uno o mas criterios, tales como energla de la senal, velocidad de cruce nula, ganancia de prediccion a largo plazo, diferencial de ganancia y/o otros criterios para submarcos o marcos enteros. Basado en los criterios, el clasificador (214) de marcos clasifica los diferentes marcos en clases tales como silenciosa, sin voz, sonora y de transicion (por ejemplo, sin voz a sonora). Ademas, los marcos pueden clasificarse de acuerdo con el tipo de codificacion redundante, si existe, que se utiliza para el cuadro. La clase de marco afecta a los parametros que se calcularan para codificar el marco. Ademas, la clase de marco puede afectar a la resiliencia de resolucion y perdida con la que se codifican los parametros, con el fin de proporcionar mas resolution y perdida de resiliencia a clases y parametros de marcos mas importantes. Por ejemplo, los marcos silenciosos tlpicamente son codificados a una velocidad muy baja, son muy faciles de recuperar por ocultacion si se pierden, y pueden no necesitar protection contra perdidas. Los marcos sin voz tlpicamente estan codificados a una velocidad ligeramente superior, son razonablemente sencillos de recuperar por ocultacion si se pierden, y no estan significativamente protegidos contra la perdida. Los marcos de voz y de transicion suelen codificarse con mas bits, dependiendo de la complejidad de el marco, as! como de la presencia de transiciones. Los marcos de voz y de transicion tambien son diflciles de recuperar si se pierden, y por lo tanto estan mas protegidos contra la perdida. Alternativamente, el clasificador (214) de marcos utiliza otras clases de marcos y/o clases de marcos adicionales.
La senal de voz de entrada puede dividirse en senales de sub-banda antes de aplicar un modelo de codificacion, tal como el modelo de codificacion CELP, a la information de sub-bandas para un marco. Esto se puede hacer usando una serie de uno o mas bancos (216) de filtros de analisis (como filtros de analisis QMF). Por ejemplo, si se va a utilizar una estructura de tres bandas, entonces la banda de baja frecuencia se puede dividir pasando la senal a traves de un filtro de paso bajo. Del mismo modo, la banda alta se puede dividir pasando la senal a traves de un filtro de paso alto. La banda media se puede dividir pasando la senal a traves de un filtro de paso de banda, que puede incluir un filtro de paso bajo y un filtro de paso alto en serie. Alternativamente, pueden usarse otros tipos de disposiciones de filtro para la descomposicion de sub-bandas y/o la temporizacion de filtrado (por ejemplo, antes de la division del marco). Si solo se desea descodificar una banda para una parte de la senal, dicha parte puede pasar por alto los bancos (216) de filtros de analisis.
5
10
15
20
25
30
35
40
45
50
55
El numero de bandas n se puede determinar por velocidad de muestreo. Por ejemplo, en una implementation, se utiliza una estructura de banda unica para una frecuencia de muestreo de ocho kHz. Para tasas de muestreo de 16 kHz y 22.05 kHz, se usa una estructura de tres bandas como se muestra en la Figura 3. En la estructura de tres bandas de la Figura 3, la banda (310) de baja frecuencia se extiende a la mitad del total del ancho de banda F (de 0 a 0,5 F). La otra mitad del ancho de banda se divide por igual entre la banda (320) media y la banda (330) alta. Cerca de las intersecciones de las bandas, la respuesta de frecuencia para una banda disminuye gradualmente desde el nivel de paso hasta el nivel de parada, que se caracteriza por una atenuacion de la senal en ambos lados a medida que se aproxima la intersection. Tambien se pueden usar otras divisiones de la anchura de banda de frecuencia. Por ejemplo, para una frecuencia de muestreo de treinta y dos kHz, se puede usar una estructura de cuatro bandas igualmente espaciada.
La banda de baja frecuencia es tlpicamente la banda mas importante para las senales de voz porque la energla de la senal se descompone tlpicamente hacia los rangos de frecuencias mas altas. En consecuencia, la banda de baja frecuencia se codifica a menudo utilizando mas bits que las otras bandas. En comparacion con una estructura de codification de banda unica, la estructura de sub-bandas es mas flexible y permite un mejor control del ruido de cuantificacion a traves de la banda de frecuencias. En consecuencia, se cree que la calidad de la voz perceptiva se mejora significativamente mediante el uso de la estructura de sub-banda. Sin embargo, como se discute a continuation, la descomposicion de sub-bandas puede causar perdida de energla de la senal en las regiones de frecuencia cerca de la interseccion de bandas adyacentes. Esta perdida de energla puede degradar la calidad de la senal de voz descodificada resultante.
En la Figura 2, cada sub-banda se codifica por separado, como se ilustra mediante componentes (232, 234) de codificacion. Mientras que los componentes (232, 234) de codificacion de banda se muestran por separado, la codificacion de todas las bandas puede hacerse por un unico codificador, o pueden ser codificadas por codificadores separados. Tal codificacion de banda se describe con mas detalle a continuacion con referencia a la Figura 4. Alternativamente, el codec puede funcionar como un codec de banda unica. El habla codificada resultante se proporciona al software para una o mas capas (240) de red a traves de un multiplexor ("MUX") (236). Las capas (240) de red procesan el habla codificado para su transmision a traves de la red (250). Por ejemplo, el software de capa de red empaqueta marcos de information de voz codificada en paquetes que siguen al protocolo RTP, que son retransmitidos a traves de Internet usando UDP, IP y varios protocolos de capa flsica. Alternativamente, se utilizan otras y/o capas adicionales de software o protocolos de red.
La red (250) es una red area amplia, con conmutacion de paquetes, tal como Internet. Alternativamente, la red (250) es una red de area local u otro tipo de red.
En el lado del descodificador, el software para una o mas capas (260) de interconexion recibe y procesa los datos transmitidos. Los protocolos y software de red, transporte y capa superior y software en la capa o capas (260) de red del lado del descodificador normalmente corresponden a los de las capas (240) de red del lado del codificador. Las capas de red proporcionan la informacion de voz codificada al descodificador (270) de voz a traves de un desmultiplexor ("DEMUX") (276).
El descodificador (270) descodifica cada una de las sub-bandas separadamente, tal como se representa en componentes (272, 274) de descodificacion de banda. Todas las sub-bandas pueden ser descodificadas por un solo descodificador, o pueden ser descodificadas por descodificadores de banda independientes.
Las sub-bandas descodificadas son luego sintetizadas en una serie de uno o mas bancos (280) de filtros de slntesis (tales como filtros de slntesis QMF), que emiten una voz (292) descodificada. Alternativamente, se utilizan otros tipos de disposiciones de filtro para la slntesis de sub-banda. Si solamente esta presente una banda unica, entonces la banda descodificada puede evitar los bancos (280) de filtros. Si estan presentes multiples bandas, la emision (292) de voz descodificada tambien se puede pasar a traves de un postfiltro (284) de mejora de frecuencia media para mejorar la calidad de la salida (294) de voz mejorada resultante. Una implementacion del postfiltro de mejora de frecuencia media se discute con mas detalle a continuacion.
A continuacion, se describe un descodificador generalizado de banda de voz en tiempo real con referencia a la figura 6, pero se pueden usar otros descodificadores de voz. Ademas, algunas o todas las herramientas y tecnicas descritas pueden usarse con otros tipos de codificadores y descodificadores de audio, tales como codificadores y descodificadores de musica, o codificadores y descodificadores de audio de proposito general.
Aparte de estas funciones de codificacion y descodificacion primarias, los componentes tambien pueden compartir informacion (mostrada en llneas discontinuas en la Figura 2) para controlar la elasticidad de velocidad, calidad y/o perdida del habla codificada. El controlador (220) de velocidad considera una variedad de factores tales como la complejidad de la entrada de corriente en la memoria (210) intermedia de entrada, la plenitud de la memoria intermedia de las memorias intermedias de salida en el codificador (230) u otro lugar, la velocidad de salida deseada, el ancho de banda de red actual, congestion de la red/condiciones de ruido y/o velocidad de perdida del descodificador. El descodificador (270) devuelve la informacion de la velocidad de perdida del descodificador al
5
10
15
20
25
30
35
40
45
50
55
controlador (220) de velocidad. Las capas (240, 260) de interconexion de red recopilan o estiman informacion sobre el ancho de banda de la red actual y las condiciones de congestion/ruido, que son devueltas al controlador (220) de velocidad. Alternativamente, el controlador (220) de velocidad considera otros factores y/o factores adicionales.
El controlador (220) de velocidad dirige el codificador (230) de voz para cambiar la resiliencia de velocidad, calidad y/o perdida con la que se codifica el habla. El codificador (230) puede cambiar la velocidad y la calidad ajustando factores de cuantificacion para parametros o cambiando la resolucion de codigos de entropla que representan los parametros. Adicionalmente, el codificador puede cambiar la resiliencia de perdida ajustando la velocidad o el tipo de codificacion redundante. De este modo, el codificador (230) puede cambiar la asignacion de bits entre las funciones de codificacion primaria y las funciones de resiliencia de perdida en funcion de las condiciones de la red.
La figura 4 es un diagrama de bloques de un codificador (400) de banda de voz generalizada en conjuncion con el cual puede implementarse una o mas de las realizaciones descritas. El codificador (400) de banda corresponde generalmente a uno cualquiera de los componentes (232, 234) de codificacion de banda de la figura 2.
El codificador (400) de banda acepta la entrada (402) de banda de los bancos de filtros (u otros filtros) si la senal se divide en multiples bandas. Si la senal no se divide en multiples bandas, entonces la entrada (402) de banda incluye muestras que representan toda la anchura de banda. El codificador de banda produce salida (492) de banda codificada.
Si una senal se divide en multiples bandas, entonces un componente (420) de reduccion por muestreo puede realizar una reduccion por muestreo en cada banda. Por ejemplo, si la velocidad de muestreo se establece en dieciseis kHz y cada marco tiene una duracion de veinte ms, cada marco incluye 320 muestras. Si no se realizo una reduccion por muestreo y el marco se dividio en la estructura de tres bandas mostrada en la Figura 3, entonces tres veces mas muestras (es decir, 320 muestras por banda, o 960 muestras totales) se codificarlan y descodificarlan para el cuadro. Sin embargo, cada banda puede ser reducida por muestreo. Por ejemplo, la banda (310) de baja frecuencia puede ser reducida por muestreo de 320 muestras a 160 muestras, y cada una de las bandas (320) media y banda (330) alta puede ser reducida por muestreo de 320 muestras a 80 muestras, donde las bandas (310, 320, 330) se extienden mas de la mitad, un cuarto y un cuarto del rango de frecuencia, respectivamente. (El grado de reduccion (420) por muestreo en esta implementacion varla en relacion con los rangos de frecuencia de las bandas (310, 320, 330). Sin embargo, son posibles otras implementaciones En etapas posteriores, se utilizan tlpicamente menos bits para las bandas mas altas debido la energla de la senal tlpicamente declina hacia los rangos de frecuencia mas altos). De acuerdo con esto, esto proporciona un total de 320 muestras para codificar y descodificar para el marco.
El componente (430) de analisis LP calcula los coeficientes (432) de prediccion lineal. En una implementacion, el filtro LP utiliza diez coeficientes para la entrada de ocho kHz y dieciseis coeficientes para la entrada de dieciseis kHz, y el componente (430) de analisis LP calcula un conjunto de coeficientes de prediccion lineal por cuadro para cada banda. Alternativamente, el componente (430) de analisis LP calcula dos conjuntos de coeficientes por marco para cada banda, uno para cada una de dos ventanas centradas en lugares diferentes, o calcula un numero diferente de coeficientes por banda y/o por marco.
El componente (435) de procesamiento LPC recibe y procesa los coeficientes (432) de prediccion lineal. Tlpicamente, el componente (435) de procesamiento LPC convierte los valores LPC en una representacion diferente para una cuantificacion y codificacion mas eficientes. Por ejemplo, el componente (435) de procesamiento de LPC convierte los valores de LPC en una representacion de par espectral de llnea (LSP), y los valores de LSP se cuantifican (por ejemplo, por cuantificacion de vector) y se codifican. Los valores de LSP pueden estar codificados o predichos de otros valores de LSP. Varias representaciones, tecnicas de cuantificacion y tecnicas de codificacion son posibles para los valores de LPC. Los valores de LPC se proporcionan de alguna forma como parte de la salida (492) de banda codificada para empaquetar y transmitir (junto con cualquier parametro de cuantificacion y otra informacion necesaria para la reconstruction). Para su uso posterior en el codificador (400), el componente (435) de procesamiento LPC reconstruye los valores LPC. El componente (435) de procesamiento LPC puede realizar interpolacion para valores LPC (tal como equivalentemente en representacion LSP u otra representacion) para suavizar las transiciones entre diferentes conjuntos de coeficientes LPC o entre los coeficientes LPC utilizados para diferentes submarcos de marcos.
El filtro (440) de slntesis (o "prediccion a corto plazo") acepta valores (438) LPC reconstruidos y los incorpora en el filtro. El filtro (440) de slntesis recibe una senal de excitation y produce una aproximacion de la senal original. Para un marco dado, el filtro (440) de slntesis puede amortiguar un numero de muestras reconstruidas (por ejemplo, diez para un filtro de diez etapas) del marco anterior para el inicio de la prediccion.
Los componentes (450, 455) de ponderacion perceptiva aplican la ponderacion perceptiva a la senal original y a la salida modelada del filtro (440) de slntesis para desactivar selectivamente la estructura formante de las senales de voz para hacer que los sistemas auditivos sean menos sensibles a la cuantificacion de errores. Los componentes (450, 455) de ponderacion perceptiva explotan fenomenos psicoacusticos como el enmascaramiento. En una
5
10
15
20
25
30
35
40
implementacion, los componentes (450, 455) de ponderacion perceptiva aplican pesos basados en los valores (432) LPC originales recibidos del componente (430) de analisis LP. Alternativamente, los componentes (450, 455) de ponderacion perceptiva aplican otros pesos y/o adicionales.
Despues de los componentes (450, 455) de ponderacion perceptiva, el codificador (400) calcula la diferencia entre la senal original ponderada perceptivamente y la salida ponderada perceptivamente del filtro (440) de slntesis para producir una senal (434) de diferencia. Alternativamente, el codificador (400) utiliza una tecnica diferente para calcular los parametros de voz.
El componente (460) de parametrizacion de excitacion busca encontrar la mejor combinacion de Indices de libro de codigos adaptativos, Indices de libro de codigos fijos e Indices de libro de codigos de ganancia en terminos de minimizacion de la diferencia entre la senal original perceptivamente ponderada y la senal sintetizada (en terminos de cuadrado medio ponderado error u otros criterios). Muchos parametros se calculan por submarco, pero mas generalmente los parametros pueden ser por supermarco, marco o submarco. Como se ha discutido anteriormente, los parametros para diferentes bandas de un marco o submarco pueden ser diferentes. La Tabla 2 muestra los tipos de parametros disponibles para diferentes clases de marco en una implementacion.
Tabla 2: Parametros para diferentes clases de marcos
Clase de marco
Parametros
Silencioso
Information de clase; LSP; ganancia (por marco, para el ruido generado)
Sin voz
Information de clase; LSP; parametros de libro de codigos de pulso, aleatorio y ganancia
Con voz
Informacion de clase; LSP; parametros de libro de codigos adaptativo, pulso, aleatorio y ganancia (por submarco)
Transicion
En la figura 4, el componente (460) de parametrizacion de excitacion divide el cuadro en submarcos y calcula los Indices del libro de codigos y las ganancias para cada submarco segun sea apropiado. Por ejemplo, el numero y el tipo de etapas de libro de codigos por utilizar y las resoluciones de Indices de libro de codigos pueden determinarse inicialmente mediante un modo de codificacion, en el que el modo esta dictado por el componente de control de velocidad discutido anteriormente. Un modo particular tambien puede dictar parametros de codificacion y descodificacion distintos del numero y tipo de etapas de libro de codigos, por ejemplo, la resolucion de los Indices de libro de codigos. Los parametros de cada etapa de libro de codigos se determinan optimizando los parametros para minimizar el error entre una senal diana y la contribucion de esa etapa de libro de codigos a la senal sintetizada. (Como se usa aqul, el termino "optimizar" significa encontrar una solucion adecuada bajo restricciones aplicables tales como reduccion de distorsion, tiempo de busqueda de parametros, complejidad de busqueda de parametros, velocidad de bits de parametros, etc., en lugar de realizar una busqueda completa en el espacio de parametros De manera similar, el termino "minimizar" debe entenderse en terminos de encontrar una solucion adecuada bajo restricciones aplicables). Por ejemplo, la optimization se puede hacer usando una tecnica de error cuadratico medio modificado. La senal objetivo para cada etapa es la diferencia entre la senal residual y la suma de las contribuciones de las etapas de libro de codigos anteriores, si las hay, a la senal sintetizada. Alternativamente, pueden usarse otras tecnicas de optimizacion.
La figura 5 muestra una tecnica para determinar parametros de libro de codigos de acuerdo con una implementacion. El componente (460) de parametrizacion de excitacion realiza la tecnica, potencialmente junto con otros componentes tales como un controlador de velocidad. Alternativamente, otro componente en un codificador realiza la tecnica.
Haciendo referencia a la figura 5, para cada submarco en un marco de voz o de transition, el componente (460) de parametrizacion de excitacion determina (510) si puede utilizarse un libro de codigos adaptativo para el submarco actual. (Por ejemplo, el control de velocidad puede dictar que no se use un libro de codigos adaptativo para un marco particular). Si no se va a usar el libro de codigos adaptativo, entonces un conmutador de libro de codigos adaptativo indicara que no se usaran libros (535) de codigos adaptativos. Por ejemplo, esto podrla hacerse estableciendo un indicador de un bit en el nivel de marco indicando que no se usan libros de codigos adaptativos en el marco, especificando un modo de codificacion particular en el nivel de marco o estableciendo un indicador de un bit para cada submarco indicando que no se utiliza ningun libro de codigos adaptativo en el submarco.
5
10
15
20
25
30
35
40
45
50
55
Haciendo referenda todavla a la Figura 5, si se puede usar un libro de codigos adaptativo, entonces el componente (460) determina los parametros de libro de codigos adaptativos. Estos parametros incluyen un Indice, o valor de tono, que indica un segmento deseado del historial de la senal de excitacion, as! como una ganancia que se aplicara al segmento deseado. En las figuras 4 y 5, el componente (460) realiza una busqueda (520) de tono de bucle cerrado. Esta busqueda comienza con el tono determinado por el componente (425) de busqueda de tono de bucle abierto opcional en la figura 4. Un componente de busqueda (425) de tono de bucle abierto analiza la senal ponderada producida por el componente (450) de ponderacion para estimar su tono. Comenzando con este paso estimado, la busqueda (520) de tono de bucle cerrado optimiza el valor de tono para disminuir el error entre la senal objetivo y la senal sintetizada ponderada generada a partir de un segmento indicado de la historia de la senal de excitacion. Tambien se optimiza el valor de ganancia (525) de libro de codigos adaptativo. El valor de ganancia de libro de codigos adaptativo indica un multiplicador para aplicar a los valores predichos de tono (los valores del segmento indicado del historial de senales de excitacion), para ajustar la escala de los valores. La ganancia multiplicada por los valores de tono predeterminados es la contribucion de libro de codigos adaptativa a la senal de excitacion para el marco o submarco actual. La optimizacion de ganancia (525) y la busqueda (520) de paso de bucle cerrado producen un valor de ganancia y un valor de Indice, respectivamente, que minimizan el error entre la senal objetivo y la senal sintetizada ponderada a partir de la contribucion de libro de codigos adaptativo.
Si el componente (460) determina (530) que se va a utilizar el libro de codigos adaptativo, entonces los parametros de libro de codigos adaptativos son senalizados (540) en la corriente de bits. Si no es asl, se indica que no se utiliza ningun libro de codigos adaptativo para el submarco (535), como por ejemplo estableciendo un indicador de nivel de submarco de un bit, como se ha explicado anteriormente. Esta determinacion (530) puede incluir determinar si la contribucion de libro de codigos adaptativo para el submarco particular es suficientemente significativa como para valer el numero de bits requerido para senalar los parametros de libro de codigos adaptativos. Alternativamente, se puede usar alguna otra base para la determinacion. Ademas, aunque la Figura 5 muestra la senalizacion despues de la determinacion, alternativamente, las senales son procesadas por lotes hasta que la tecnica termina para un marco o supermarco.
El componente (460) de parametrizacion de excitacion determina (550) tambien si se utiliza un libro de codigos de impulsos. El uso o no uso del libro de codigos de impulsos se indica como parte de un modo de codificacion global para el marco actual, o puede indicarse o determinarse de otras maneras. Un libro de codigos de impulsos es un tipo de libro de codigos fijos que especifica uno o mas impulsos que se deben aportar a la senal de excitacion. Los parametros del libro de codigos de pulsos incluyen pares de Indices y signos (las ganancias pueden ser positivas o negativas). Cada par indica un pulso que debe incluirse en la senal de excitacion, indicando el Indice la posicion del impulso y el signo que indica la polaridad del impulso. El numero de impulsos incluidos en el libro de codigos de impulsos y utilizados para contribuir a la senal de excitacion puede variar dependiendo del modo de codificacion. Ademas, el numero de pulsos puede depender de si se esta utilizando o no un libro de codigos adaptativo.
Si se utiliza el libro de codigos de impulsos, entonces se optimizan (555) los parametros de libro de codigos de impulsos para minimizar el error entre la contribucion de los impulsos indicados y una senal de destino. Si no se utiliza un libro de codigos adaptativo, entonces la senal objetivo es la senal original ponderada. Si se utiliza un libro de codigos adaptativo, entonces la senal objetivo es la diferencia entre la senal original ponderada y la contribucion del libro de codigos adaptativo a la senal sintetizada ponderada. En algun punto (no mostrado), los parametros del libro de codigos de impulsos son entonces senalizados en la corriente de bits.
El componente (460) de parametrizacion de excitacion determina (565) tambien si se van a utilizar cualquiera de las etapas de libro de codigos fijos aleatorios. El numero (si lo hay) de las etapas de libro de codigos aleatorio se indica como parte de un modo de codificacion global para el marco actual, o puede determinarse de otras maneras. Un libro de codigos aleatorio es un tipo de libro de codigos fijos que utiliza un modelo de senal predefinido para los valores que codifica. Los parametros del libro de codigos pueden incluir el punto de partida para un segmento indicado del modelo de senal y un signo que puede ser positivo o negativo. La longitud o rango del segmento indicado esta tlpicamente fijo y por lo tanto no se senala tlpicamente, sino que alternativamente se senala una longitud o extension del segmento indicado. Una ganancia se multiplica por los valores en el segmento indicado para producir la contribucion del libro de codigos aleatorio a la senal de excitacion.
Si se utiliza al menos una etapa de libro de codigos aleatorio, a continuacion, se optimizan (570) los parametros de la etapa de libro de codigos para el libro de codigos para minimizar el error entre la contribucion de la etapa de libro de codigos aleatorio y una senal de destino. La senal objetivo es la diferencia entre la senal original ponderada y la suma de la contribucion a la senal sintetizada ponderada del libro de codigos adaptativo (si existe), el libro de codigos de impulsos (si existe) y las etapas de libro de codigos aleatorias previamente determinadas (si las hay). En algun punto (no mostrado), los parametros de libro de codigos aleatorios son entonces senalizados en la corriente de bits.
El componente (460) determina (580) entonces si se van a utilizar otras etapas de libro de codigos aleatorias. Si es asl, entonces los parametros de la siguiente etapa de libro de codigos aleatorio se optimizan (570) y se senalizan como se ha descrito anteriormente. Esto continua hasta que se han determinado todos los parametros para las
5
10
15
20
25
30
35
40
45
50
55
etapas de libro de codigos aleatorio. Todas las etapas de libro de codigos aleatorio pueden usar el mismo modelo de senal, aunque probablemente indicaran diferentes segmentos del modelo y tendran diferentes valores de ganancia. Alternativamente, se pueden usar diferentes modelos de senales para diferentes etapas de libro de codigos aleatorio.
Cada ganancia de excitacion puede cuantificarse independientemente o dos o mas ganancias pueden cuantificarse conjuntamente, segun lo determinado por el controlador de velocidad y/u otros componentes.
Aunque se ha establecido un orden particular para optimizar los diversos parametros de libro de codigos, se pueden usar otros ordenes y tecnicas de optimizacion. Por ejemplo, todos los libros de codigos aleatorios podrlan ser optimizados simultaneamente. Por lo tanto, aunque la Figura 5 muestra el calculo secuencial de diferentes parametros de libro de codigos, alternativamente, dos o mas parametros de libro de codigos diferentes se optimizan conjuntamente (por ejemplo, variando conjuntamente los parametros y evaluando los resultados segun alguna tecnica de optimizacion no lineal). Adicionalmente, podrlan usarse otras configuraciones de libros de codigos u otros parametros de senal de excitacion.
La senal de excitacion en esta implementacion es la suma de cualesquiera contribuciones del libro de codigos adaptativo, del libro de codigos de impulsos y de la o las etapas de libro de codigos aleatorio. Alternativamente, el componente (460) de la Figura 4 puede calcular otros parametros y/o adicionales para la senal de excitacion.
Haciendo referencia a la figura 4, los parametros de libro de codigos para la senal de excitacion se senalan o proporcionan de otro modo a un descodificador (465) local (encerrado por llneas discontinuas en la figura 4), as! como a la salida (492) de banda. Por lo tanto, para cada banda, la salida (492) de codificador incluye la salida del componente (435) de procesamiento LPC discutido anteriormente, as! como la salida del componente (460) de parametrizacion de excitacion.
La velocidad de bits de la salida (492) depende en parte de los parametros utilizados por los libros de codigos, y el codificador (400) puede controlar la velocidad y/o la calidad de bits conmutando entre diferentes conjuntos de Indices de libro de codigos, utilizando codigos embebidos, o utilizando otras tecnicas. Diferentes combinaciones de los tipos y etapas de libro de codigos pueden producir diferentes modos de codificacion para diferentes marcos, bandas y/o submarcos. Por ejemplo, un marco sin voz puede usar solamente una etapa de libro de codigos aleatoria. Puede utilizarse un libro de codigos adaptativo y un libro de codigos de impulsos para un marco de voz de baja velocidad. Un marco de alta velocidad puede codificarse usando un libro de codigos adaptativo, un libro de codigos de impulsos y una o mas etapas de libro de codigos aleatorio. En un marco, la combinacion de todos los modos de codificacion para todas las sub-bandas juntas puede denominarse un modo establecido. Puede haber varios conjuntos de modos predefinidos para cada velocidad de muestreo, con diferentes modos correspondientes a diferentes velocidades de bits de codificacion. El modulo de control de velocidad puede determinar o influir en el modo establecido para cada marco.
Haciendo referencia todavla a la figura 4, la salida del componente (460) de parametrizacion de excitacion es recibida por componentes (470, 472, 474, 476) de reconstruccion de libro de codigos y componentes (480, 482, 484, 486) de aplicacion de ganancia correspondientes a los libros de codigos utilizados por el componente (460) de parametrizacion. Las etapas (470, 472, 474, 476) de libro de codigos y los correspondientes componentes (480, 482, 484, 486) de aplicacion de ganancia reconstruyen las contribuciones de los libros de codigos. Dichas contribuciones se suman para producir una senal (490) de excitacion, que es recibida por el filtro (440) de slntesis, donde se usa junto con las muestras "predichas" a partir de las cuales se produce una prediction lineal subsiguiente. Las porciones retardadas de la senal de excitacion tambien se utilizan como una senal de historial de excitacion por el componente (470) de reconstruccion de libro de codigos adaptativos para reconstruir los siguientes parametros de libro de codigos adaptativos (por ejemplo, contribution de tono) y por el componente (460) de parametrizacion (por ejemplo, el Indice de tono y los valores de ganancia de tono).
Haciendo referencia de nuevo a la figura 2, la salida de banda para cada banda es aceptada por el MUX (236), junto con otros parametros. Tales otros parametros pueden incluir, entre otra information, information (222) de clase de marco del clasificador (214) de marco y modos de codificacion de marco. El MUX (236) construye paquetes de la capa de aplicacion para pasar a otro software, o el MUX (236) pone los datos en las cargas utiles de los paquetes que siguen un protocolo como RTP. El MUX puede almacenar en memoria intermedia parametros de modo que permita la repetition selectiva de los parametros para la correction de errores hacia adelante en paquetes posteriores. En una implementacion, el MUX (236) empaqueta en un unico paquete la informacion de voz codificada primaria para un marco, junto con informacion de correccion de errores hacia adelante para todo o parte de uno o mas marcos anteriores.
El MUX (236) proporciona realimentacion tal como la plenitud de la memoria intermedia de corriente para propositos de control de velocidad. Mas generalmente, varios componentes del codificador (230) (incluyendo el clasificador (214) de marcos y MUX (236)) pueden proporcionar informacion a un controlador (220) de velocidad tal como el mostrado en la figura 2.
5
10
15
20
25
30
35
40
45
50
55
La corriente de bits DEMUX (276) de la Figura 2 acepta la informacion de voz codificada como entrada y la analiza para identificar y procesar parametros. Los parametros pueden incluir la clase de marco, alguna representacion de los valores LPC y los parametros del libro de codigos. La clase de marco puede indicar que otros parametros estan presentes para un marco dada. Mas en general, el DEMUX (276) utiliza los protocolos utilizados por el codificador (230) y extrae los parametros que el codificador (230) empaqueta en paquetes. Para paquetes recibidos a traves de una red conmutada por paquetes dinamica, el DEMUX (276) incluye una memoria intermedia de fluctuacion para suavizar las fluctuaciones a corto plazo en la velocidad de paquetes durante un periodo de tiempo dado. En algunos casos, el descodificador (270) regula el retardo de la memoria intermedia y gestiona cuando los paquetes se leen de la memoria intermedia para integrar el retardo, el control de calidad, el ocultamiento de los marcos faltantes, etc. en la descodificacion. En otros casos, un componente de capa de aplicacion gestiona la memoria intermedia de fluctuacion de fase y la memoria intermedia de fluctuacion de fase se llena a una velocidad variable y se agota mediante el descodificador (270) a una velocidad constante o relativamente constante.
El DEMUX (276) puede recibir multiples versiones de parametros para un segmento dado, incluyendo una version codificada primaria y una o mas versiones secundarias de correction de errores. Cuando falla la correction de errores, el descodificador (270) utiliza tecnicas de ocultacion tales como repetition o estimation de parametros basandose en la informacion que se recibio correctamente.
La Figura 6 es un diagrama de bloques de un descodificador (600) de banda de voz en tiempo real generalizado en conjuncion con el cual se pueden implementar una o mas realizaciones descritas. El descodificador (600) de banda corresponde generalmente a uno cualquiera de los componentes (272, 274) de descodificacion de banda de la figura 2.
El descodificador (600) de banda acepta informacion (692) de voz codificada para una banda (que puede ser la banda completa o una de multiples sub-bandas) como entrada y produce una salida (604) reconstruida filtrada despues de descodificar y filtrar. Los componentes del descodificador (600) tienen componentes correspondientes en el codificador (400), pero en general el descodificador (600) es mas simple porque carece de componentes para la ponderacion perceptiva, el bucle de procesamiento de excitation y el control de velocidad.
El componente (635) de procesamiento LPC recibe informacion que representa los valores LPC en la forma proporcionada por el codificador (400) de banda (as! como cualquier parametro de cuantificacion y otra informacion necesaria para la reconstruction). El componente (635) de procesamiento LPC reconstruye los valores (638) LPC utilizando el inverso de la conversion, cuantificacion, codification, etc. aplicados previamente a los valores LPC. El componente (635) de procesamiento LPC tambien puede realizar interpolation para valores LPC (en representacion LPC u otra representacion tal como LSP) para suavizar las transiciones entre diferentes conjuntos de coeficientes LPC.
Las etapas (670, 672, 674, 676) de libro de codigos y componentes (680, 682, 684, 686) de aplicacion de ganancia descodifican los parametros de cualquiera de las etapas de libro de codigos correspondientes utilizadas para la senal de excitacion y calculan la contribution de cada etapa de libro de codigos que se utiliza. Generalmente, la configuration y las operaciones de las etapas (670, 672, 674, 676) de libro de codigos y componentes de ganancia (680, 682, 684, 686) corresponden a la configuracion y operaciones de las etapas (470, 472, 474, 476) de libro de codigos y componentes (480, 482, 484, 486) de ganancia en el codificador (400). Las aportaciones de las etapas de libro de codigos usadas se suman y la senal (690) de excitacion resultante se alimenta al filtro (640) de slntesis. Los valores de retardados de la senal (690) de excitacion tambien se usan como un historial de excitacion por el libro (670) de codigos adaptativo al calcular la contribucion del libro de codigos adaptativo para porciones subsiguientes de la senal de excitacion.
El filtro (640) de slntesis acepta valores (638) LPC reconstruidos y los incorpora en el filtro. El filtro (640) de slntesis almacena muestras previamente reconstruidas para su procesamiento. La senal (690) de excitacion se hace pasar a traves del filtro de slntesis para formar una aproximacion de la senal de voz original.
La senal (602) de sub-banda reconstruida tambien se alimenta a un postfiltro (694) de corto plazo. El postfiltro a corto plazo produce una salida (604) de sub-banda filtrada. A continuation, se describen varias tecnicas para calcular coeficientes para el postfiltro (694) de corto plazo. Para el postfiltrado adaptativo, el descodificador (270) puede calcular los coeficientes a partir de parametros (por ejemplo, valores LPC) para el habla codificada. Alternativamente, los coeficientes se proporcionan a traves de alguna otra tecnica.
Haciendo referencia a la figura 2, como se ha expuesto anteriormente, si hay multiples sub-bandas, la salida de sub- banda para cada sub-banda se sintetiza en los bancos (280) de filtros de slntesis para formar la salida (292) de habla.
Las relaciones mostradas en las Figuras 2-6 indican flujos generales de informacion; otras relaciones no se muestran por motivos de simplicidad. Dependiendo de la implementation y del tipo de compresion deseada, los
5
10
15
20
25
30
35
40
45
50
55
componentes pueden ser anadidos, omitidos, divididos en multiples componentes, combinados con otros componentes y/o reemplazados con componentes similares. Por ejemplo, en el entorno (200) mostrado en la figura 2, el controlador (220) de velocidad se puede combinar con el codificador (230) de voz. Los componentes potencialmente anadidos incluyen una aplicacion de codificacion multimedia (o reproduccion) que gestiona el codificador de voz (o descodificador) as! como otros codificadores (o descodificadores) y recoge informacion de condicion de red y descodificador y que realiza funciones de correccion de errores adaptativas. En realizaciones alternativas, diferentes combinaciones y configuraciones de componentes procesan informacion de voz utilizando las tecnicas descritas en la presente memoria.
III. Tecnicas de postfiltro
En algunas realizaciones, un descodificador u otra herramienta aplica un postfiltro a corto plazo al audio reconstruido, tal como el habla reconstruida, despues de haber sido descodificado. Tal filtro puede mejorar la calidad perceptiva del habla reconstruida.
Los postfiltros son tlpicamente postfiltros de dominio de tiempo o postfiltros de dominio de frecuencia. Un postfiltro de dominio de tiempo convencional para un codec CELP incluye un filtro de slntesis de coeficiente de prediccion lineal de todos los polos escalado por un factor constante y un filtro inverso de coeficiente de prediccion lineal totalmente cero escalado por otro factor constante.
Ademas, un fenomeno conocido como "inclinacion espectral" se produce en muchas senales de voz porque las amplitudes de frecuencias mas bajas en el habla normal son a menudo mas altas que las amplitudes de frecuencias mas altas. Por lo tanto, el espectro de amplitud del dominio de frecuencia de una senal de voz a menudo incluye una pendiente, o "inclinacion". Por consiguiente, la inclinacion espectral del habla original deberla estar presente en una senal de voz reconstruida. Sin embargo, si los coeficientes de un postfiltro incorporan tambien dicha inclinacion, entonces el efecto de la inclinacion se amplificara en la salida del postfiltro de modo que la senal de habla filtrada se distorsione. Por lo tanto, algunos postfiltros de dominio del tiempo tambien tienen un filtro de paso alto de primer orden para compensar la inclinacion espectral.
Por lo tanto, las caracterlsticas de los postfiltros del dominio del tiempo se controlan tlpicamente mediante dos o tres parametros, lo que no proporciona mucha flexibilidad.
Un postfiltro de dominio de frecuencia, por otra parte, tiene una forma mas flexible de definir las caracterlsticas postfiltro. En un postfiltro de dominio de frecuencia, los coeficientes de filtro se determinan en el dominio de frecuencia. La senal de voz descodificada se transforma en el dominio de la frecuencia y se filtra en el dominio de la frecuencia. La senal filtrada se transforma a continuacion en el dominio del tiempo. Sin embargo, la senal de dominio de tiempo filtrada resultante tlpicamente tiene un numero diferente de muestras que la senal de dominio de tiempo no filtrada original. Por ejemplo, un marco que tiene 160 muestras puede convertirse en el dominio de frecuencia usando una transformada de 256 puntos, tal como una transformada de Fourier rapida de 256 puntos ("FFT"), despues de relleno o inclusion de muestras posteriores. Cuando se aplica una FFT inversa de 256 puntos para convertir el marco de nuevo en el dominio de tiempo, se obtendran 256 muestras de dominio de tiempo. Por lo tanto, produce un extra noventa y seis muestras. Las noventa y seis muestras adicionales pueden ser solapadas y anadidas a muestras respectivas en las primeras noventa y seis muestras del siguiente marco. Esto se denomina a menudo tecnica de superposicion-adicion. La transformacion de la senal de voz, as! como la implementacion de tecnicas tales como la tecnica de complemento de superposicion, puede aumentar significativamente la complejidad del descodificador global, especialmente para codecs que no incluyen ya componentes de transformada de frecuencia. Por consiguiente, los postfiltros del dominio de la frecuencia se usan tlpicamente solamente para los codecs vocales sinusoidales porque la aplicacion de tales filtros a codecs no sinusoidales introduce demasiado retraso y complejidad. Los postfiltros de dominio de frecuencia tambien tienen tlpicamente menos flexibilidad para cambiar el tamano de marco si el tamano de marco de codec varla durante la codificacion porque la complejidad de la tecnica de adicion de solapamiento discutida anteriormente puede llegar a ser prohibitiva si se encuentra un marco de tamano diferente (tal como un marco con 80 muestras, en lugar de 160 muestras).
Aunque se describen anteriormente caracterlsticas particulares de entorno informatico y caracterlsticas de codec de audio, pueden utilizarse una o mas de las herramientas y tecnicas con diversos tipos distintos de entornos informaticos y/o con diversos tipos diferentes de codecs. Por ejemplo, se pueden usar una o mas de las tecnicas postfiltro con codecs que no utilizan el modelo de codificacion CELP, tales como codecs de modulacion de codigo de pulso diferencial adaptativo, codecs de transformacion y/u otros tipos de codecs. Como otro ejemplo, se pueden usar una o mas de las tecnicas postfiltro con codecs de banda unica o codecs de sub-banda. Como otro ejemplo, se pueden aplicar una o mas de las tecnicas postfiltro a una unica banda de un codec de multiples bandas y/o a una senal sintetizada o no codificada que incluye contribuciones de multiples bandas de un codec de multiples bandas.
A. Ejemplo de postfiltros hlbridos a corto plazo
5
10
15
20
25
30
35
40
45
50
55
En algunas realizaciones, un descodificador tal como el descodificador (600) mostrado en la figura 6 incorpora un filtro hibrido adaptativo de tiempo-frecuencia para postprocesamiento, o tal filtro se aplica a la salida del descodificador (600). Alternativamente, dicho filtro se incorpora o se aplica a la salida de algun otro tipo de descodificador de audio o herramienta de procesamiento, por ejemplo, un codec de voz descrito en otra parte de la presente solicitud.
Haciendo referencia a la Figura 6, en algunas implementaciones el postfiltro (694) de corto plazo es un filtro "hibrido" basado en una combinacion de procesos de dominio de tiempo y de dominio de frecuencia. Los coeficientes del postfiltro (694) pueden ser disenados flexibles y de manera eficiente principalmente en el dominio de la frecuencia, y los coeficientes pueden aplicarse al postfiltro (694) de corto plazo en el dominio del tiempo. La complejidad de este enfoque es tipicamente mas baja que los postfiltros estandar de dominio de frecuencia, y puede implementarse de una manera que introduce un retraso insignificante. Ademas, el filtro puede proporcionar mas flexibilidad que los postfiltros de dominio de tiempo tradicionales. Se cree que un filtro hibrido de este tipo puede mejorar significativamente la calidad del habla de salida sin requerir excesiva demora o complejidad del descodificador. Ademas, debido a que el filtro (694) se aplica en el dominio del tiempo, puede aplicarse a marcos de cualquier tamano.
En general, el postfiltro (694) puede ser un filtro de respuesta de impulso finito (FIR), cuya respuesta en frecuencia es el resultado de procesos no lineales realizados en el logaritmo de un espectro de magnitud de un filtro de sintesis LPC. El espectro de magnitud del postfiltro puede disenarse de manera que el filtro (694) solo se atenue en valles espectrales y, en algunos casos, por lo menos parte del espectro de magnitud se recorta para que sea plana alrededor de las regiones formantes. Como se discute a continuation, los coeficientes de postfiltro de FIR pueden obtenerse truncando una secuencia normalizada que resulta de la transformada de Fourier inversa del espectro de magnitud procesado.
El filtro (694) se aplica al habla reconstruida en el dominio del tiempo. El filtro puede aplicarse a toda la banda o a una sub-banda. Adicionalmente, el filtro puede usarse solo o en conjuncion con otros filtros, tales como postfiltros a largo plazo y/o el filtro de mejora de frecuencia media discutido con mas detalle a continuacion.
El postfiltro descrito puede ser operado conjuntamente con codecs que utilizan diversas velocidades de bits, diferentes velocidades de muestreo y diferentes algoritmos de codification. Se cree que el postfiltro (694) es capaz de producir una mejora de calidad significativa con respecto al uso de codecs de voz sin el postfiltro. Especificamente, se cree que el postfiltro (694) reduce el ruido de cuantificacion perceptible en regiones de frecuencia en las que la potencia de senal es relativamente baja, es decir, en valles espectrales entre formantes. En estas regiones la relation senal/ruido es tipicamente pobre. En otras palabras, debido a la senal debil, el ruido que esta presente es relativamente mas fuerte. Se cree que el postfiltro mejora la calidad global del habla atenuando el nivel de ruido en estas regiones.
Los coeficientes (638) LPC reconstruidos contienen a menudo information formante porque la respuesta en frecuencia del filtro de sintesis LPC sigue tipicamente la envolvente espectral del habla de entrada. En consecuencia, se utilizan coeficientes (638) LPC para deducir los coeficientes del postfiltro a corto plazo. Debido a que los coeficientes (638) LPC cambian de un marco a la siguiente o sobre alguna otra base, los coeficientes postfiltro derivados de ellos tambien se adaptan de marco a marco o de alguna otra base.
En la figura 7 se ilustra una tecnica para calcular los coeficientes de filtro para el postfiltro (694). El descodificador (600) de la figura 6 realiza la tecnica. Alternativamente, otro descodificador o una herramienta de postfiltrado realiza la tecnica.
El descodificador (600) obtiene un espectro LPC mediante relleno (715) cero de un conjunto de coeficientes (710) LPC a(i), donde i = 0, 1, 2, ..., Py donde a(0) = 1. El conjunto de coeficientes (710) LPC se puede obtener a partir de una corriente de bits si se utiliza un codec de prediction lineal, tal como un codec CELP. Alternativamente, el conjunto de coeficientes (710) LPC se puede obtener analizando una senal de voz reconstruida. Esto puede hacerse incluso si el codec no es un codec de prediccion lineal. P es el orden LPC de los coeficientes lPc a(i) que se utilizaran para determinar los coeficientes postfiltro. En general, el relleno cero implica extender una senal (o espectro) con ceros para extender sus limites de tiempo (o banda de frecuencia). En el proceso, el relleno cero asigna una senal de longitud P a una senal de longitud N, donde N > P. En una implementation de codec de banda completa, P es diez para una velocidad de muestreo de ocho kHz y dieciseis para tasas de muestreo mayores de ocho kHz. Alternativamente, P es otro valor. Para los codecs de sub-banda, P puede ser un valor diferente para cada sub-banda. Por ejemplo, para una frecuencia de muestreo de dieciseis kHz utilizando la estructura de tres sub- bandas ilustrada en la figura 3, P puede ser diez para la banda (310) de baja frecuencia, seis para la banda (320) media y cuatro para la banda (330) alta. En una implementacion, N es 128. Alternativamente, N es algun otro numero, tal como 256.
El descodificador (600) realiza entonces una transformada N-punto, tal como una FFT (720), sobre los coeficientes de relleno cero, produciendo un espectro de magnitud A(k). A(k) es el espectro del filtro inverso LPC con relleno
5
10
15
20
25
30
35
cero, para k = 0, 1,2, N-1. La inversa del espectro de magnitud (es decir, 1/|A(k)|) da el espectro de magnitud del
filtro de sintesis LPC.
El espectro de magnitud del filtro de sintesis LPC se convierte opcionalmente en el dominio (725) logaritmico para disminuir su rango de magnitud. En una implementacion, esta conversion es la siguiente:
imagen1
donde ln es el logaritmo natural. Sin embargo, se podrian usar otras operaciones para disminuir el rango. Por ejemplo, podria utilizarse una operacion de logaritmo de base diez en lugar de una operacion de logaritmo natural.
Tres operaciones no lineales opcionales se basan en los valores de H(k): normalizacion (730), compresion (735) no lineal y recorte (740).
La normalizacion (730) tiende a hacer que el intervalo de H(k) sea mas consistente de marco a marco y banda a banda. Tanto la normalizacion (730) como la compresion (735) no lineal reducen el rango del espectro de magnitud no lineal de manera que la senal de voz no se altera demasiado por el postfiltro. Alternativamente, se podrian usar tecnicas adicionales y/u otras para reducir el rango del espectro de magnitud.
En una implementacion, la normalizacion (730) inicial se realiza para cada banda de un codec de multiples bandas de la siguiente manera:
A
H(k) = H(k)-Hmin+ 0.1
donde Hmin es el valor minirno de H(k), para k = 0, 1,2, ..., N-1.
La normalizacion (730) se puede realizar para un codec de banda completa como sigue:
- H(k) ~H .
H(k\ = tJ±2--------21i2- + 0.1
s M — M
11 max 11 min
donde Hmin es el valor minirno de H(k), y Hmax es el valor maximo de H(k), para k = 0, 1,2, ..., N-1. En ambas ecuaciones de normalizacion anteriores, se anade un valor constante de 0,1 para evitar que los valores maximo y minirno de H(k) sean 1 y 0, respectivamente, haciendo mas efectiva la compresion no lineal. Alternativamente, se pueden utilizar otros valores constantes, u otras tecnicas, para evitar valores cero.
La compresion (735) no lineal se realiza para ajustar adicionalmente el intervalo dinamico del espectro no lineal como sigue:
imagen2
donde k = 0,1, ..., N - 1. En consecuencia, si se utilizo una FFT de 128 puntos para convertir los coeficientes en el dominio de frecuencia, entonces k = 0,1, ..., 127. Ademas, p = n * (Hmax-Hmn), con n y y tomadas como factores constantes elegidos apropiadamente. Los valores de n y Y pueden elegirse de acuerdo con el tipo de codec de voz y la velocidad de codificacion. En una implementacion, los parametros n y Y se eligen experimentalmente. Por ejemplo, Y se elige como un valor del intervalo de 0,125 a 0,135, y n se elige entre el intervalo de 0,5 a 1,0. Los valores constantes se pueden ajustar segun las preferencias. Por ejemplo, se obtiene un rango de valores constantes analizando la distorsion espectral prevista (principalmente alrededor de picos y valles) resultante de varios valores constantes. Tipicamente, es deseable elegir un intervalo que no supere un nivel predeterminado de distorsion predicha. Los valores finales se eligen entonces entre un conjunto de valores dentro del rango usando los resultados de las pruebas de audicion subjetiva. Por ejemplo, en un postfiltro con una frecuencia de muestreo de ocho kHz, n es 0,5 y Y es 0,125, y en un postfiltro con una frecuencia de muestreo de dieciseis kHz, n es 1,0 y Y es 0,135.
El recorte (740) se puede aplicar al espectro comprimido, Hc(k), como sigue:
5
10
15
20
25
30
35
Hpf{k) =
imagen3
Hc (k) > X*HpnmMP para todo lo demas
donde Hpromedio es el valor medio de Hc(k), y A es una constante. El valor de A se puede elegir de manera diferente segun el tipo de codec de voz y la velocidad de codificacion. En algunas implementaciones, A se elige experimentalmente (tal como un valor de 0,95 a 1,1), y puede ajustarse segun las preferencias. Por ejemplo, los valores finales de A se pueden elegir utilizando los resultados de las pruebas de audicion subjetiva. Por ejemplo, en un postfiltro con una frecuencia de muestreo de ocho kHz, A es 1,1, y en postfiltro que opera a una frecuencia de muestreo de dieciseis kHz, A es 0,95.
Esta operacion de recorte limita los valores de Hp(k) a un maximo, o techo. En las ecuaciones anteriores, este maximo se representa como A * Hpromedio. Alternativamente, se usan otras operaciones para tapar los valores del espectro de magnitud. Por ejemplo, el techo podrla basarse en el valor mediano de Hc(k), en lugar del valor medio. Ademas, en lugar de recortar todos los valores altos de Hc(k) a un valor maximo especlfico (tal como A * Hpromedio), los valores podrlan recortarse segun una operacion mas compleja.
El recorte tiende a dar como resultado coeficientes de filtro que atenuan la senal de voz en sus valles sin cambiar significativamente el espectro de voz en otras regiones, tales como regiones formantes. Esto puede evitar que el postfiltro distorsione los formantes de voz, produciendo as! una salida de voz de mayor calidad. Ademas, el recorte puede reducir los efectos de la inclinacion espectral porque el recorte aplana el espectro postfiltro reduciendo los grandes valores al valor tapado, mientras que los valores alrededor de los valles permanecen sustancialmente sin cambios.
Cuando se realizo la conversion al dominio logarltmico, el espectro de magnitud recortado resultante, Hp(k), se convierte (745) del dominio de registro al dominio lineal, por ejemplo, como sigue:
imagen4
donde exp es la funcion del logaritmo natural inverso.
Una transformada (750) de Fourier rapida inversa de N puntos se realiza en Hpf(k), produciendo una secuencia temporal de / (n), donde n = 0, 1, ..., N-1 y N es el mismo que en la operacion FFT (720) discutida anteriormente. Asl, / (n) es una secuencia de tiempo de N puntos.
En la Figura 7, los valores de / (n) se truncan (755) ajustando los valores a cero para n > M -1, como sigue:
imagen5
72. = 0,1,2,...M — 1 n > M -1
donde M es el orden del postfiltro a corto plazo. En general, un valor mas alto de M produce un habla filtrada de mayor calidad. Sin embargo, la complejidad del postfiltro aumenta a medida que M aumenta. El valor de M se puede elegir teniendo en cuenta estas compensaciones. En una implementacion, Mis diecisiete.
Los valores de h(n) estan opcionalmente normalizados (760) para evitar cambios repentinos entre marcos. Por ejemplo, esto se hace de la siguiente manera:
kpf(n) = {h(n)!h(0)
Alternativamente, se utiliza alguna otra operacion de operacion:
n = 1,2,3,.. JV/ — 1
normalizacion. Por ejemplo, se puede utilizar la siguiente
imagen6
En una implementacion donde la normalizacion proporciona coeficientes postfiltro hpf(n) (765), se aplica un filtro FIR con coeficientes de hpf(n) (765) al habla sintetizada en el dominio del tiempo. Por lo tanto, en esta implementacion, el coeficiente de postfiltro de primer orden (n = 0) se establece en un valor de uno para cada marco para evitar desviaciones significativas de los coeficientes de filtro de un marco al siguiente.
5 A la vista de las muchas realizaciones posibles a las que pueden aplicarse los principios de nuestra invencion, reivindicamos como nuestra invencion todas las realizaciones que pueden entrar dentro del alcance de las siguientes reivindicaciones.

Claims (5)

  1. 5
    10
    15
    20
    25
    REIVINDICACIONES
    1. Un procedimiento implementado por ordenador que comprende:
    calcular un conjunto de coeficientes de filtro para su aplicacion a una senal de audio reconstruida, en el que el calculo del conjunto de coeficientes de filtro comprende:
    realizar (720) una transformacion de un conjunto de valores de dominio de tiempo inicial de un dominio de tiempo en un dominio de frecuencia, produciendo de este modo un conjunto de valores de dominio de frecuencia inicial;
    realizar uno o mas calculos de dominio de frecuencia usando los valores de dominio de frecuencia para producir un conjunto de valores de dominio de frecuencia procesados, en donde los valores de dominio de frecuencia representan un espectro derivado de coeficientes de prediccion lineal; y
    realizar (750) una transformacion de los valores de dominio de frecuencia procesados desde el dominio de frecuencia en el dominio de tiempo, produciendo de este modo un conjunto de valores de dominio de tiempo procesados
    producir una senal de audio filtrada filtrando al menos una parte de la senal de audio reconstruida en un dominio de tiempo usando el conjunto de coeficientes (694) de filtro, en el que
    realizar (740) uno o mas calculos de dominio de frecuencia usando los valores de dominio de frecuencia para producir un conjunto de valores de dominio de frecuencia procesados comprende recortar los valores de dominio de frecuencia en el dominio de frecuencia de tal manera que solo se recortan los valores de dominio de frecuencia que exceden un valor de recorte maximo.
  2. 2. El metodo de la reivindicacion 1, en el que la senal de audio filtrada representa una sub-banda de frecuencia de la senal de audio reconstruida.
  3. 3. El metodo de la reivindicacion 1, en el que el calculo del conjunto de coeficientes de filtro comprende: truncar el conjunto de valores de dominio de tiempo en el dominio de tiempo.
  4. 4. El metodo de la reivindicacion 1, en el que el procesamiento del conjunto de coeficientes de prediccion lineal comprende reducir un intervalo de un espectro derivado del conjunto de coeficientes de prediccion lineal.
  5. 5. El metodo de la reivindicacion 1, en el que uno o mas calculos de dominio de frecuencia comprende uno o mas calculos en un dominio logarltmico.
ES06740546.4T 2005-05-31 2006-04-05 Postfiltro de código de audio Active ES2644730T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/142,603 US7707034B2 (en) 2005-05-31 2005-05-31 Audio codec post-filter
US142603 2005-05-31
PCT/US2006/012641 WO2006130226A2 (en) 2005-05-31 2006-04-05 Audio codec post-filter

Publications (1)

Publication Number Publication Date
ES2644730T3 true ES2644730T3 (es) 2017-11-30

Family

ID=37464575

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06740546.4T Active ES2644730T3 (es) 2005-05-31 2006-04-05 Postfiltro de código 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 (63)

* Cited by examiner, † Cited by third party
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
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
US7707034B2 (en) * 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법
DE602007004502D1 (de) * 2006-08-15 2010-03-11 Broadcom Corp Neuphasierung des status eines dekodiergerätes nach einem paketverlust
US8311814B2 (en) * 2006-09-19 2012-11-13 Avaya Inc. Efficient voice activity detector to detect fixed power signals
ATE425532T1 (de) * 2006-10-31 2009-03-15 Harman Becker Automotive Sys Modellbasierte verbesserung von sprachsignalen
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
ATE548727T1 (de) * 2007-03-02 2012-03-15 Ericsson Telefon Ab L M Nachfilter für geschichtete codecs
JP5233986B2 (ja) * 2007-03-12 2013-07-10 富士通株式会社 音声波形補間装置および方法
CN101325537B (zh) * 2007-06-15 2012-04-04 华为技术有限公司 一种丢帧隐藏的方法和设备
EP2252996A4 (en) * 2008-03-05 2012-01-11 Voiceage Corp SYSTEM AND METHOD FOR ENHANCING A DECODED TONAL SIGNAL SIGNAL
US9197181B2 (en) * 2008-05-12 2015-11-24 Broadcom Corporation Loudness enhancement system and method
US8645129B2 (en) * 2008-05-12 2014-02-04 Broadcom Corporation Integrated speech intelligibility enhancement system and acoustic echo canceller
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
US9094527B2 (en) * 2010-01-11 2015-07-28 Tangome, Inc. Seamlessly transferring a communication
US8560633B2 (en) * 2010-01-11 2013-10-15 Tangome, Inc. Communicating in a peer-to-peer computer environment
JP4709928B1 (ja) * 2010-01-21 2011-06-29 株式会社東芝 音質補正装置及び音質補正方法
EP2569767B1 (en) * 2010-05-11 2014-06-11 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for processing of audio signals
CN105355209B (zh) 2010-07-02 2020-02-14 杜比国际公司 音高增强后置滤波器
CN102074241B (zh) * 2011-01-07 2012-03-28 蔡镇滨 一种通过快速声音波形修复实现声音还原的方法
MX2013009304A (es) 2011-02-14 2013-10-03 Fraunhofer Ges Forschung Aparato y metodo para codificar una porcion de una señal de audio utilizando deteccion de un transiente y resultado de calidad.
ES2529025T3 (es) * 2011-02-14 2015-02-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y método para procesar una señal de audio decodificada en un dominio espectral
SG192721A1 (en) 2011-02-14 2013-09-30 Fraunhofer Ges Forschung Apparatus and method for encoding and decoding an audio signal using an aligned look-ahead portion
CA2827000C (en) 2011-02-14 2016-04-05 Jeremie Lecomte Apparatus and method for error concealment in low-delay unified speech and audio coding (usac)
SG185519A1 (en) 2011-02-14 2012-12-28 Fraunhofer Ges Forschung Information signal representation using lapped transform
ES2639646T3 (es) 2011-02-14 2017-10-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificación y decodificación de posiciones de impulso de pistas de una señal de audio
CA2827335C (en) 2011-02-14 2016-08-30 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Audio codec using noise synthesis during inactive phases
TWI488177B (zh) 2011-02-14 2015-06-11 Fraunhofer Ges Forschung 使用頻譜域雜訊整形之基於線性預測的編碼方案
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
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
CN103718240B (zh) * 2011-09-09 2017-02-15 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
EP2774145B1 (en) * 2011-11-03 2020-06-17 VoiceAge EVS LLC Improving non-speech content for low rate celp decoder
ES2575693T3 (es) * 2011-11-10 2016-06-30 Nokia Technologies Oy Un método y un aparato para detectar tasa de muestreo de 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 安徽量子通信技术有限公司 量子网络的语音传输方法和语音终端
DK2922053T3 (da) * 2012-11-15 2019-09-23 Ntt Docomo Inc Lydkodningsindretning, lydkodningsfremgangsmåde, lydkodningsprogram, lydafkodningsindretning, lydafkodningsfremgangsmåde og lydafkodningsprogram
CN103928031B (zh) 2013-01-15 2016-03-30 华为技术有限公司 编码方法、解码方法、编码装置和解码装置
EP2965315B1 (en) 2013-03-04 2019-04-24 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
KR101804744B1 (ko) * 2013-10-22 2017-12-06 연세대학교 산학협력단 오디오 신호 처리 방법 및 장치
EP2887350B1 (en) * 2013-12-19 2016-10-05 Dolby Laboratories Licensing Corporation Adaptive quantization noise filtering of decoded audio data
CA2940657C (en) 2014-04-17 2021-12-21 Voiceage Corporation Methods, encoder and decoder for linear predictive encoding and decoding of sound signals upon transition between frames having different sampling rates
US9583115B2 (en) * 2014-06-26 2017-02-28 Qualcomm Incorporated Temporal gain adjustment based on high-band signal characteristic
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
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
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 ソニー株式会社 音声処理装置、音声処理方法、並びにプログラム
AU2015326856B2 (en) * 2014-10-02 2021-04-08 Dolby International Ab Decoding method and decoder for dialog enhancement
US9837089B2 (en) * 2015-06-18 2017-12-05 Qualcomm Incorporated High-band signal generation
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
CN108028045A (zh) 2015-07-06 2018-05-11 诺基亚技术有限公司 用于音频信号解码器的位错误检测器
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
CN114333856A (zh) * 2021-12-24 2022-04-12 南京西觉硕信息科技有限公司 给定线性预测系数时后半帧语音信号的求解方法、装置及系统

Family Cites Families (117)

* Cited by examiner, † Cited by third party
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
DE69628103T2 (de) * 1995-09-14 2004-04-01 Kabushiki Kaisha Toshiba, Kawasaki Verfahren und Filter zur Hervorbebung von Formanten
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
US6292834B1 (en) 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
US6131084A (en) 1997-03-14 2000-10-10 Digital Voice Systems, Inc. Dual subframe quantization of spectral magnitudes
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
EP0934638B1 (en) 1997-05-12 2008-10-08 Texas Instruments Incorporated Method and apparatus for superframe bit allocation in a discrete multitone (dmt) system
US6009122A (en) 1997-05-12 1999-12-28 Amati Communciations Corporation Method and apparatus for superframe bit allocation
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
EP1734512B1 (en) 1997-10-22 2015-09-09 Godo Kaisha IP Bridge 1 CELP encoder and a method of CELP encoding
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
AU3372199A (en) 1998-03-30 1999-10-18 Voxware, 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
US6330533B2 (en) 1998-08-24 2001-12-11 Conexant Systems, Inc. Speech encoder adaptively applying pitch preprocessing with warping of target signal
US6385573B1 (en) 1998-08-24 2002-05-07 Conexant Systems, Inc. Adaptive tilt compensation for synthesized speech residual
US6240386B1 (en) * 1998-08-24 2001-05-29 Conexant Systems, Inc. Speech codec employing noise classification for noise compensation
US6823303B1 (en) 1998-08-24 2004-11-23 Conexant Systems, Inc. Speech encoder using voice activity detection in coding noise
US6493665B1 (en) 1998-08-24 2002-12-10 Conexant Systems, Inc. Speech classification and parameter weighting used in codebook search
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
US7117156B1 (en) 1999-04-19 2006-10-03 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
US6952668B1 (en) 1999-04-19 2005-10-04 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
CN1202514C (zh) 2000-11-27 2005-05-18 日本电信电话株式会社 编码和解码语音及其参数的方法、编码器、解码器
ATE319162T1 (de) 2001-01-19 2006-03-15 Koninkl Philips Electronics Nv Breitband-signalübertragungssystem
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
US6879955B2 (en) 2001-06-29 2005-04-12 Microsoft Corporation Signal modification based on continuous time warping for low bit rate CELP coding
US6941263B2 (en) 2001-06-29 2005-09-06 Microsoft Corporation Frequency domain postfiltering for quality enhancement of coded speech
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
US7027982B2 (en) 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
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
US6647366B2 (en) 2001-12-28 2003-11-11 Microsoft Corporation Rate control strategies for speech and music coding
US6789123B2 (en) 2001-12-28 2004-09-07 Microsoft Corporation System and method for delivery of dynamically scalable audio/video content over a network
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
WO2005071830A1 (en) * 2004-01-19 2005-08-04 Koninklijke Philips Electronics N.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
AU2006232361B2 (en) * 2005-04-01 2010-12-23 Qualcomm Incorporated Methods and apparatus for encoding and decoding an highband portion of a speech signal
US7831421B2 (en) 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
US7177804B2 (en) 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
US7707034B2 (en) * 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter

Also Published As

Publication number Publication date
CA2609539A1 (en) 2006-12-07
EP1899962A4 (en) 2014-09-10
NO340411B1 (no) 2017-04-18
IL187167A0 (en) 2008-06-05
JP2012163981A (ja) 2012-08-30
AU2006252962A1 (en) 2006-12-07
CN101501763A (zh) 2009-08-05
CA2609539C (en) 2016-03-29
US20060271354A1 (en) 2006-11-30
AU2006252962B2 (en) 2011-04-07
US7707034B2 (en) 2010-04-27
NZ563461A (en) 2011-01-28
KR20080011216A (ko) 2008-01-31
KR101246991B1 (ko) 2013-03-25
WO2006130226A2 (en) 2006-12-07
JP2009508146A (ja) 2009-02-26
JP5165559B2 (ja) 2013-03-21
CN101501763B (zh) 2012-09-19
NO20075773L (no) 2008-02-28
KR101344174B1 (ko) 2013-12-20
WO2006130226A3 (en) 2009-04-23
JP5688852B2 (ja) 2015-03-25
ZA200710201B (en) 2009-08-26
MX2007014555A (es) 2008-11-06
EG26313A (en) 2013-07-24
KR20120121928A (ko) 2012-11-06
EP1899962B1 (en) 2017-07-26
EP1899962A2 (en) 2008-03-19

Similar Documents

Publication Publication Date Title
ES2644730T3 (es) Postfiltro de código de audio
ES2316678T3 (es) Codificacion y descodificacion audio multicanal.
ES2358213T3 (es) Flujo redundante de bits de audio y métodos de procesamiento de flujo de bits de audio.
ES2636443T3 (es) Sistemas, procedimientos y aparatos para codificación de voz de banda ancha
ES2705589T3 (es) Sistemas, procedimientos y aparatos para el suavizado del factor de ganancia
ES2350494T3 (es) Procedimiento y aparatos para codificar y decodificar una parte de banda alta de una señal de habla.
ES2316679T3 (es) Cuantificacion y cuantificacion inversa para señales audio.
ES2321147T3 (es) Codificacion de habla de tasa de transmision variable.
ES2257098T3 (es) Codificacion periodica de vocales.
ES2460893T3 (es) Sistemas, procedimientos y aparato para limitar el factor de ganancia
ES2380307T3 (es) Esquema de codificación/decodificación de audio de tasa de transmisión de bits baja con preprocesamiento común.
ES2625895T3 (es) Método y dispositivo para la ocultación eficiente del borrado de tramas en códecs de voz basados en la predicción lineal
ES2711524T3 (es) Generación de señal de excitación de banda alta
ES2797525T3 (es) Conformación simultánea de ruido en el dominio del tiempo y el dominio de la frecuencia para transformaciones TDAC