ES2325151T3 - Sistema de comunicacion vocal y procedimiento para gestionar tramas perdidas. - Google Patents

Sistema de comunicacion vocal y procedimiento para gestionar tramas perdidas. Download PDF

Info

Publication number
ES2325151T3
ES2325151T3 ES03018041T ES03018041T ES2325151T3 ES 2325151 T3 ES2325151 T3 ES 2325151T3 ES 03018041 T ES03018041 T ES 03018041T ES 03018041 T ES03018041 T ES 03018041T ES 2325151 T3 ES2325151 T3 ES 2325151T3
Authority
ES
Spain
Prior art keywords
frame
lost
tonal
speech
plot
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.)
Expired - Lifetime
Application number
ES03018041T
Other languages
English (en)
Inventor
Adil Benyassine
Eyal c/o Conexant Systems Inc. Shlomot
Huan-Yu Su
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.)
Mindspeed Technologies LLC
Original Assignee
Mindspeed Technologies 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 Mindspeed Technologies LLC filed Critical Mindspeed Technologies LLC
Application granted granted Critical
Publication of ES2325151T3 publication Critical patent/ES2325151T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • 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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • G10L19/07Line spectrum pair [LSP] vocoders
    • 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
    • G10L19/083Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being an excitation gain
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0012Smoothing of parameters of the decoder interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Circuits Of Receivers In General (AREA)
  • Communication Control (AREA)
  • Radio Relay Systems (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

Un sistema (151) de comunicación vocal que comprende: un descodificador y un codificador (159) que procesa tramas de habla y que determina un parámetro de retardo de grado tonal para cada trama de habla; un transmisor acoplado al codificador (159) que transmite el parámetro de retardo del grado tonal para cada trama de habla; comprendiendo el descodificador: un receptor que recibe los parámetros de retardo del grado tonal desde el transmisor, en base trama a trama; una lógica de control acoplada al receptor para resintetizar la señal de habla basándose en parte en los parámetros de retardo de grado tonal; un detector de tramas perdidas que detecta si una trama no ha sido recibida por el receptor; caracterizado porque el descodificador comprende adicionalmente: una lógica de recuperación de tramas que, cuando el detector de tramas perdidas detecta una trama perdida, utiliza los parámetros de retardo de grado tonal de una pluralidad de tramas recibidas anteriormente, a fin de extrapolar un parámetro de retardo de grado tonal para la trama perdida un almacén temporal de libro de códigos adaptable que contiene una excitación total para la primera trama que sigue a la trama perdida, incluyendo la excitación total un componente de excitación cuantizada de libro de códigos adaptable; en el que la lógica de recuperación de tramas utiliza el parámetro de retardo de grado tonal de la primera trama que sigue a la trama perdida para ajustar el parámetro de retardo del grado tonal anteriormente fijado para la trama perdida; y en el que la excitación total almacenada como excitación de libro de códigos adaptable se extrae para la primera trama que sigue a la trama perdida, y en donde la lógica de recuperación de tramas utiliza el parámetro de retardo de grado tonal de la primera trama que sigue a la trama perdida para ajustar el componente de excitación cuantizada de libro de códigos adaptable.

Description

Sistema de comunicación vocal y procedimiento para gestionar tramas perdidas.
El campo de la presente invención se refiere, en general, a la codificación y descodificación vocal en los sistemas de comunicación vocal y, más específicamente, a un procedimiento y aparato para gestionar tramas erróneas o perdidas.
Para modelar sonidos básicos del habla, las señales vocales son muestreadas a lo largo del tiempo y almacenadas en tramas como una onda discreta a procesar digitalmente. Sin embargo, a fin de aumentar el uso eficiente del ancho de banda de comunicación vocal, el habla se codifica antes de transmitirse, especialmente cuando se pretende que la palabra sea transmitida bajo restricciones de ancho de banda limitado. Se han propuesto numerosos algoritmos para los diversos aspectos de la codificación vocal. Por ejemplo, puede llevarse a cabo un enfoque de codificación de análisis por síntesis sobre una señal de habla. Al codificar el habla, el algoritmo de codificación vocal intenta representar las características de la señal de habla de manera tal que requiera menos ancho de banda. Por ejemplo, el algoritmo de codificación del habla busca eliminar redundancias en la señal de habla. Una primera etapa es eliminar las correlaciones a corto plazo. Un tipo de técnica de codificación de señal es la codificación predictiva lineal (LPC). Al utilizar un enfoque de LPC, se modela el valor de la señal de habla en cualquier momento específico como una función lineal de los valores anteriores. Utilizando un enfoque LPC, pueden reducirse las correlaciones a corto plazo y pueden determinarse representaciones eficientes de la señal de habla, estimando y aplicando ciertos parámetros de predicción para representar la señal. El espectro LPC, que es un envoltorio de correlaciones a corto plazo en la señal de habla, puede representarse, por ejemplo, por las LSF (frecuencias espectrales de línea). Después de la eliminación de las correlaciones a corto plazo en una señal de habla, queda una señal LPC residual. Esta señal residual contiene información de periodicidad que requiere ser modelada. La segunda etapa en la eliminación de redundancias en el habla es modelar la información de periodicidad. La información de periodicidad puede modelarse utilizando la predicción del grado tonal. Ciertas porciones del habla tienen periodicidad, mientras que otras porciones no la tienen. Por ejemplo, el sonido "aah" tiene información de periodicidad, mientras que el sonido "shhh" no tiene ninguna información de periodicidad.
Al aplicar la técnica LPC, un codificador convencional de fuente opera sobre las señales de habla para extraer información de modelización y de parámetros, a codificar para su comunicación a un descodificador convencional de fuente mediante un canal de comunicación. Una manera de codificar información de modelización y de parámetros en un volumen más pequeño de información es utilizar la cuantización. La cuantización de un parámetro involucra la selección de la entrada más cercana, en una tabla o libro de códigos, para representar el parámetro. Así, por ejemplo, un parámetro de 0,125 puede representarse por 0,1 si el libro de códigos contiene 0,0, 0,1, 0,2, 0,3, etc. La cuantización incluye cuantización escalar y cuantización vectorial. En la cuantización escalar, se selecciona la entrada en la tabla o libro de códigos que es la aproximación más cercana al parámetro, según se ha descrito anteriormente. Por el contrario, la cuantización vectorial combina dos o más parámetros y selecciona la entrada en la tabla o libro de códigos que sea la más cercana a los parámetros combinados. Por ejemplo, la cuantización vectorial puede seleccionar la entrada en el libro de códigos que sea la más cercana a la diferencia entre los parámetros. Un libro de códigos utilizado para cuantizar vectorialmente dos parámetros a la vez se denomina a menudo un libro de códigos bidimensional. Un libro de códigos n-dimensional cuantiza n parámetros a la vez.
Los parámetros cuantizados pueden empaquetarse en paquetes de datos que se transmiten desde el codificador al descodificador. En otras palabras, una vez codificados, los parámetros que representan la señal de habla de entrada se transmiten a un transceptor. Así, por ejemplo, las LSF pueden cuantizarse y el índice para un libro de códigos puede convertirse en bits y transmitirse desde el codificador al descodificador. Según la realización, cada paquete puede representar una porción de una trama de la señal de habla, una trama de habla, o más de una trama de habla. En el transceptor, un descodificador recibe la información codificada. Debido a que el descodificador está configurado para conocer la forma en que se codifican las señales de habla, el descodificador descodifica la información codificada para reconstruir una señal para su reproducción, que suena al oído humano como el habla original. Sin embargo, puede ser inevitable que al menos un paquete de datos se pierda durante la transmisión y que el descodificador no reciba toda la información enviada por el codificador. Por ejemplo, cuando se está transmitiendo el habla desde un teléfono celular a otro teléfono celular, los datos pueden perderse cuando la recepción es débil o ruidosa. Por lo tanto, la transmisión de la información codificada de modelización y de parámetros al descodificador requiere una manera de corregir o ajustar, por parte del descodificador, los paquetes de datos perdidos. Si bien la técnica anterior describe ciertas maneras de ajustar la pérdida de paquetes de datos, tal como la extrapolación para intentar adivinar cuál era la información en el paquete perdido, estos procedimientos son limitados, por lo cual se necesitan procedimientos mejorados.
Además de la información de las LSF, pueden perderse otros parámetros transmitidos al descodificador. En la codificación del habla CELP (Predicción Lineal Excitada por Código), por ejemplo, hay dos tipos de ganancia que también se cuantizan y transmiten al descodificador. El primer tipo de ganancia es la ganancia G_{p} de grado tonal, conocida también como la ganancia de libro de códigos adaptable. La ganancia de libro de códigos adaptable también se denomina, incluso en la presente memoria, con el subíndice "a" en lugar del subíndice "p". El segundo tipo de ganancia es la ganancia G_{c} de libro de códigos fijo. Los algoritmos de codificación del habla han cuantizado parámetros que incluyen la ganancia de libro de códigos adaptable y la ganancia de libro de códigos fijo. Otros parámetros, por ejemplo, pueden incluir retardos de grado tonal, que representan la periodicidad del habla con voz. Si el codificador del habla clasifica las señales de habla, la información de clasificación acerca de la señal de habla también puede transmitirse al descodificador. Para un codificador/descodificador mejorado del habla que clasifica el habla y funciona en distintas modalidades, véase la Solicitud de Patente Estadounidense con Nº de Serie 09/574.396, titulada "A New Speech Gain Quantization Strategy" ["Una nueva estrategia de cuantización de ganancia del habla"], Expediente Conexant Nº 99RSS313, presentada el 19 de mayo de 2000.
Debido a que estas, y otras, informaciones de parámetros se envían por medios de transmisión imperfectos al descodificador, algunos de estos parámetros se pierden, o no son recibidos nunca por el descodificador. Para los sistemas de comunicación de la palabra que transmiten un paquete de información por trama de habla, un paquete perdido tiene como resultado una trama perdida de información. A fin de reconstruir o estimar la información perdida, los sistemas de la técnica anterior han intentado distintos enfoques, según el parámetro perdido. Algunos enfoques simplemente emplean el parámetro de la trama anterior que ha sido efectivamente recibida por el descodificador. Estos enfoques de la técnica anterior tienen sus desventajas, imprecisiones y problemas. Así, hay una necesidad de una manera mejorada para corregir o ajustar la pérdida de información, a fin de recrear una señal de habla tan cercana como sea posible a la señal de habla original.
Ciertos sistemas de comunicación de la palabra de la técnica anterior no transmiten una excitación de libro de códigos fijo desde el codificador al descodificador, a fin de ahorrar ancho de banda. En cambio, estos sistemas tienen un generador Gaussiano local de series temporales que utiliza una semilla fija inicial para generar un valor aleatorio de excitación y luego actualiza esa semilla cada vez que el sistema encuentra una trama que contiene silencio o ruido de fondo. De esta manera, la semilla cambia para cada trama de ruido. Debido a que el codificador y el descodificador tienen el mismo generador Gaussiano de series temporales, que emplea las mismas semillas en la misma secuencia, generan el mismo valor aleatorio de excitación para las tramas de ruido. Sin embargo, si una trama de ruido se pierde y no es recibida por el descodificador, el codificador y el descodificador utilizan distintas semillas para la misma trama de ruido, perdiendo por lo tanto su sincronicidad.
Por lo tanto, existe la necesidad de un sistema de comunicación del habla que no transmita valores de excitación de libro de códigos fijo al descodificador, sino que mantenga la sincronicidad entre el codificador y el descodificador cuando se pierde una trama durante la transmisión.
Se conoce, por la solicitud de Patente Internacional publicada con el número de publicación WO 92/22891, un aparato y procedimiento para realizar la compresión de señales de habla. En el caso de que se pierda una trama debido a un error de canal, el codificador de voz intenta enmascarar este error manteniendo una fracción de la energía de la trama anterior, y efectuando una transición suave al ruido de fondo.
Se conoce, por la solicitud de Patente Internacional publicada con el número de publicación WO 99/66494, una técnica de recuperación de tramas perdidas para sistemas paramétricos de codificación basada en LPC, que emplea interpolación de parámetros de tramas buenas, anteriores y subsiguientes.
Es un objeto de la invención crear un sistema mejorado de comunicación del habla que sea capaz de generar estimaciones más precisas para la información perdida en un paquete de datos perdido, por ejemplo, para manipular más precisamente información perdida, tal como el retardo de grado tonal.
Esto se logra mediante el aparato según la reivindicación 1 y el procedimiento según la reivindicación 8. Realizaciones ventajosas adicionales son las reivindicaciones en las reivindicaciones dependientes 2 a 7 y 9 a 10, respectivamente.
Otros aspectos, ventajas y características novedosas de la presente invención se harán evidentes a partir de la siguiente Descripción Detallada de Una Realización Preferida, cuando se considere conjuntamente con las figuras adjuntas.
La Fig. 1 es un diagrama en bloques funcionales de un sistema de comunicación de la palabra con un codificador de fuente y un descodificador de fuente.
La Fig. 2 es un diagrama funcional en bloques más detallado del sistema de comunicación de la palabra de la Fig. 1.
La Fig. 3 es un diagrama funcional en bloques de una primera etapa ejemplar, un preprocesador del habla, del codificador de fuente utilizado por una realización del sistema de comunicación de la palabra de la Fig. 1.
La Fig. 4 es un diagrama funcional en bloques que ilustra una segunda etapa ejemplar del codificador de fuente utilizado por una realización del sistema de comunicación de la palabra de la Fig. 1.
La Fig. 5 es un diagrama funcional en bloques que ilustra una tercera etapa ejemplar del codificador de fuente utilizado por una realización del sistema de comunicación de la palabra de la Fig. 1.
La Fig. 6 es un diagrama funcional en bloques que ilustra una cuarta etapa ejemplar del codificador de fuente utilizado por una realización del sistema de comunicación de la palabra de la Fig. 1, para procesar el habla no periódica (modalidad 0).
La Fig. 7 es un diagrama funcional en bloques que ilustra una cuarta etapa ejemplar del codificador de fuente utilizado por una realización del sistema de comunicación de la palabra de la Fig. 1, para procesar el habla periódica (modalidad 1).
La Fig. 8 es un diagrama en bloques de una realización de un descodificador del habla para procesar información codificada de un codificador del habla construido según la presente invención.
La Fig. 9 ilustra un ejemplo hipotético de tramas recibidas y de una trama perdida.
La Fig. 10 ilustra un ejemplo hipotético de tramas recibidas y de una trama perdida, así como de los espacios mínimos entre las LSF asignadas a cada trama en un sistema de la técnica anterior, y de un sistema de comunicación de la palabra construido según la presente invención.
La Fig. 11 ilustra un ejemplo hipotético que muestra cómo un sistema de comunicación del habla de la técnica anterior asigna y utiliza la información del retardo de grado tonal y del delta de retardo de grado tonal para cada trama.
La Fig. 12 ilustra un ejemplo hipotético que muestra cómo un sistema de comunicación del habla, construido de acuerdo a la presente invención, asigna y utiliza información de retardo de grado tonal y delta de retardo de grado tonal para cada trama.
La Fig. 13 ilustra un ejemplo hipotético que muestra cómo un descodificador del habla construido según la presente invención asigna información de parámetros de ganancia adaptable para cada trama cuanto hay una trama perdida.
La Fig. 14 ilustra un ejemplo hipotético que muestra cómo un codificador de la técnica anterior utiliza semillas para generar un valor aleatorio de excitación para cada trama que contiene silencio o ruido de fondo.
La Fig. 15 ilustra un ejemplo hipotético que muestra cómo un descodificador de la técnica anterior utiliza semillas para generar un valor aleatorio de excitación para cada trama que contiene silencio o ruido de fondo, y pierde la sincronicidad con el codificador si hay una trama perdida.
La Fig. 16 es un diagrama de flujo que muestra un procesamiento ejemplar del habla de estilo no periódico según la presente invención.
La Fig. 17 es un diagrama de flujo que muestra un procesamiento ejemplar del habla de estilo periódico según la presente invención.
Descripción detallada de una realización preferida
Se expone primero una descripción general del sistema total de comunicación de la palabra, y luego se proporciona una descripción detallada de una realización de la presente invención.
La Fig. 1 es un diagrama esquemático en bloques de un sistema de comunicación de la palabra que ilustra el empleo general de un codificador y descodificador del habla en un sistema de comunicación. Un sistema 100 de comunicación de la palabra transmite y reproduce el habla por un canal 103 de comunicación. Aunque puede comprender, por ejemplo, un enlace por cable, fibra, o medio óptico, el canal 103 de comunicación comprende, típicamente, al menos en parte, un enlace de radiofrecuencia que a menudo debe prestar soporte a múltiples centralitas simultáneas de la palabra que requieren recursos compartidos de ancho de banda tales como los que pueden hallarse en los teléfonos celulares.
Puede acoplarse un dispositivo de almacenamiento con el canal 103 de comunicación para almacenar temporalmente información del habla para la reproducción retardada, por ejemplo, para efectuar funciones de contestador, correo vocal electrónico, etc. Asimismo, el canal 103 de comunicación podría ser reemplazado por un tal dispositivo de almacenamiento en una realización de dispositivo único del sistema 100 de comunicación que, por ejemplo, sólo registra y almacena el habla para su reproducción subsiguiente.
En particular, un micrófono 111 produce una señal de habla en tiempo real. El micrófono 111 suministra la señal de habla a un convertidor 115 A/D (analógico a digital). El convertidor 115 de analógico a digital convierte la señal de habla analógica a la forma digital y entrega luego la señal digitalizada del habla a un codificador 117 del habla.
El codificador 117 del habla codifica el habla digitalizada utilizando una modalidad seleccionada entre una pluralidad de modalidades de codificación. Cada una entre la pluralidad de modalidades de codificación emplea técnicas específicas que intentan optimizar la calidad del habla reproducida resultante. Al operar en cualquiera entre la pluralidad de modalidades, el codificador 117 del habla produce una serie de informaciones de modelización y de parámetros (p. ej., "parámetros del habla") y suministra los parámetros del habla a un codificador optativo 119 de canal.
El codificador 119 optativo de canal se coordina con un descodificador 131 de canal para suministrar los parámetros del habla por el canal 103 de comunicación. El descodificador 131 de canal remite los parámetros del habla a un descodificador 133 del habla. Al funcionar en una modalidad que corresponde a la del codificador 117 del habla, el descodificador 133 del habla intenta recrear el habla original a partir de los parámetros del habla, tan precisamente como sea posible. El descodificador 133 del habla suministra el habla reproducida a un convertidor 135 D/A (de digital a analógico), para que el habla reproducida pueda oírse a través de un altavoz 137.
La Fig. 2 es un diagrama funcional en bloques que ilustra un dispositivo ejemplar de comunicación de la Fig. 1. Un dispositivo 151 de comunicación comprende tanto un codificador como un descodificador del habla para la captura y reproducción simultáneas del habla. Típicamente, dentro de un único recinto, el dispositivo 151 de comunicación, por ejemplo, podría comprender un teléfono celular, un teléfono portátil, un sistema informático, o algún otro dispositivo de comunicación. Alternativamente, si se proporciona algún elemento de memoria para almacenar información codificada del habla, el dispositivo 151 de comunicación podría comprender un contestador, un grabador, un sistema de correo de voz, u otro dispositivo de memoria de comunicación.
Un micrófono 155 y un convertidor A/D 157 suministran una señal digital de voz a un sistema 159 de codificación. El sistema 159 de codificación efectúa la codificación del habla y suministra la información resultante de parámetros de la palabra al canal de comunicación. La información suministrada de parámetros del habla puede destinarse a otro dispositivo de comunicación (no mostrado) en una ubicación remota.
Según se recibe la información de parámetros del habla, un sistema 165 de descodificación realiza la descodificación de la palabra. El sistema de descodificación suministra la información de parámetros de la palabra a un convertidor D/A 167, donde la salida analógica del habla puede reproducirse en un altavoz 169. El resultado final es la reproducción de los sonidos, tan similares como sea posible al habla originalmente capturada.
El sistema 159 de codificación comprende tanto un circuito 185 de procesamiento de la palabra, que lleva a cabo la codificación del habla, como un circuito optativo 187 de procesamiento de canal que lleva a cabo la codificación optativa del canal. De manera similar, el sistema 165 de descodificación comprende un circuito 189 de procesamiento del habla que efectúa la descodificación del habla y un circuito optativo 191 de procesamiento de canal que lleva a cabo la descodificación del canal.
Aunque el circuito 185 de procesamiento del habla y el circuito optativo 187 de procesamiento de canal se ilustran por separado, pueden combinarse, en parte, o totalmente, en una única unidad. Por ejemplo, el circuito 185 de procesamiento del habla y los circuitos 187 de procesamiento de canal pueden compartir un único DSP (procesador de señales digitales) y/u otros circuitos de procesamiento. De manera similar, el circuito 189 de procesamiento del habla y el circuito optativo 191 de procesamiento de canal pueden ser enteramente independientes, o combinarse parcial o totalmente. Además, las combinaciones, totales o parciales, pueden aplicarse a los circuitos 185 y 189 de procesamiento del habla, a los circuitos 187 y 191 de procesamiento de canal, a los circuitos 185, 187, 189 y 191 de procesamiento, o a otros, según convenga. Además, cada uno de, o todos, los circuitos que controlan aspectos de la operación del descodificador y/o del codificador, pueden denominarse lógica de control e implementarse, por ejemplo, por un microprocesador, un microcontrolador, una CPU (unidad central de procesamiento), una ALU (unidad aritmética/lógica), un coprocesador, un ASIC (circuito electrónico específico para la aplicación), o cualquier otra clase de circuito y/o software.
Tanto el sistema 159 de codificación como el sistema 165 de descodificación utilizan una memoria 161. El circuito 185 de procesamiento del habla utiliza un libro 181 de códigos fijo y un libro 183 de códigos adaptable de una memoria 177 de la palabra durante el proceso de codificación de la fuente. De manera similar, el circuito 189 de procesamiento del habla utiliza el libro 181 de códigos fijo y el libro 183 de códigos adaptable durante el proceso de descodificación de la fuente.
Aunque la memoria 177 de la palabra, según lo ilustrado, está compartida por los circuitos 185 y 189 de procesamiento del habla, pueden asignarse por separado una o más memorias de la palabra a cada uno de los circuitos 185 y 189 de procesamiento. La memoria 161 también contiene software utilizado por los circuitos 185, 187, 189 y 191 de procesamiento, para llevar a cabo diversas funciones requeridas en los procesos de codificación y descodificación de la fuente.
Antes de exponer los detalles de una realización de la mejora en la codificación del habla, se proporciona en este punto un panorama del algoritmo general de codificación de la palabra. El algoritmo mejorado de codificación de la palabra mencionado en esta especificación puede, por ejemplo, ser el algoritmo eX-CELP (CELP extendido) que se basa en el modelo CELP. Los detalles del algoritmo eX-CELP se exponen en una solicitud de patente estadounidense adjudicada el mismo solicitante, Conexant Systems, Inc., y anteriormente incorporada a la presente por referencia: Solicitud Provisoria de Patente Estadounidense con Nº de Serie 60/155.321, titulada "4 bits/s Speech Coding" ["Codificación del Habla de 4 bits/s"], Expediente Conexant Nº 99RSS485, registrada el 22 de septiembre de 1999.
A fin de lograr calidad de peaje a una velocidad baja de bits (tal como 4 kilobits por segundo), el algoritmo mejorado de codificación de la palabra se aparta en cierta medida del criterio estricto de coincidencia de ondas de los algoritmos CELP tradicionales, y se esfuerza por capturar las características perceptivamente importantes de la señal de entrada. Para hacerlo, el algoritmo mejorado de codificación de la palabra analiza la señal de entrada según ciertas características tales como el grado de contenido similar al ruido, el grado de contenido espigado, el grado del contenido vocal, el grado del contenido no vocal, la evolución del espectro de magnitudes, la evolución del contorno energético, la evolución de la periodicidad, etc., y utiliza esta información para controlar la ponderación durante el proceso de codificación y cuantización. La filosofía es representar exactamente las características perceptivamente importantes y permitir errores relativamente mayores en características menos importantes. Como resultado, el algoritmo mejorado de codificación de la palabra se centra en la coincidencia perceptiva en lugar de la coincidencia de ondas. El enfoque sobre la coincidencia perceptiva tiene como resultado una reproducción satisfactoria de la palabra, debido a la hipótesis de que, a 4 kbits por segundo, la coincidencia de ondas no es lo suficientemente precisa para capturar fielmente toda la información en la señal de entrada. En consecuencia, el codificador mejorado de la palabra realiza algo de priorización para lograr resultados mejorados.
En una realización particular, el codificador mejorado de la palabra utiliza un tamaño de trama de 20 milisegundos, o sea 160 muestras por segundo, estando cada trama dividida en dos o tres subtramas. El número de subtramas depende de la modalidad del procesamiento de subtramas. En esta realización específica, puede seleccionarse una de las dos modalidades para cada trama de habla: Modo 0 y Modo 1. Es importante que la forma en que las subtramas son procesadas depende de la modalidad. En esta realización específica, la Modo 0 emplea dos subtramas por trama, donde el tamaño de cada subtrama tiene 10 milisegundos de duración, o bien contiene 80 muestras. Asimismo, en esta realización ejemplar, la Modo 1 emplea tres subtramas por trama, donde las subtramas primera y segunda tienen 6,625 milisegundos de duración, o bien contienen 53 muestras, y la tercera subtrama tiene 6,75 milisegundos de duración, o bien contiene 54 muestras. En ambas Modos, puede emplearse un margen de adelanto de 15 milisegundos. Para ambas Modos, 0 y 1, puede utilizarse un modelo de Predicción Lineal (LP) de décimo orden para representar el envoltorio espectral de la señal. El modelo LP puede codificarse en el dominio de Frecuencia Espectral de Línea (LSF) utilizando, por ejemplo, un esquema de cuantización vectorial predictivo conmutado de múltiples etapas y decisión retardada.
El Modo 0 emplea un algoritmo tradicional de codificación de la palabra, tal como un algoritmo CELP. Sin embargo, la Modalidad 0 no se utiliza para todas las tramas del habla. En cambio, se selecciona la Modalidad 0 para manipular las tramas de todo el habla que no sea habla "de estilo periódico", según se expone en mayor detalle más adelante. Para mayor comodidad, el habla "de estilo periódico" se denomina aquí habla periódica, y toda la demás es habla "no periódica". Tal habla "no periódica" incluye tramas de transición donde los parámetros típicos, tales como la correlación de grado tonal y el retardo de grado tonal, cambian rápidamente, y tramas cuya señal es similar al ruido de forma predominante. La Modalidad 0 parte cada trama en dos subtramas. La Modalidad 0 codifica el retardo de grado tonal una vez por subtrama y tiene un cuantizador vectorial bidimensional para codificar conjuntamente la ganancia de grado tonal (es decir, la ganancia de libro de códigos adaptable) y la ganancia de libro de códigos fijo una vez por subtrama. En esta realización ejemplar, el libro de códigos fijo contiene dos sublibros de códigos de pulsos y un sublibro de códigos Gaussiano; los dos sublibros de códigos de pulsos tienen, respectivamente, dos y tres pulsos.
El Modo 1 se aparta del algoritmo CELP tradicional. El Modo 1 manipula las tramas que contienen habla periódica, que, típicamente, tienen alta periodicidad y con frecuencia se representan bien con un trecho de grado tonal llano. En esta realización específica, el Modo 1 utiliza tres subtramas por trama. El retardo de grado tonal se codifica una vez por trama antes del procesamiento de subtramas, como parte del preprocesamiento de grado tonal, y el trecho de grado tonal interpolado se deriva de este retardo. Las tres ganancias de grado tonal de las subtramas exhiben un comportamiento muy estable y se cuantizan conjuntamente utilizando la cuantización prevectorial, basada en un criterio de error de cuadrados medios antes del procesamiento de subtramas de bucle cerrado. Las tres ganancias de grado tonal de referencia, que no están cuantizadas, se derivan del habla ponderada y son un subproducto del preprocesamiento de grado tonal basado en tramas. Utilizando las ganancias de grado tonal precuantizadas, se lleva a cabo el tradicional procesamiento de subtramas CELP, excepto en que las tres ganancias de libro de códigos fijo se dejan sin cuantizar. Las tres ganancias de libro de códigos fijo se cuantizan conjuntamente después del procesamiento de subtramas, que se basa en un enfoque de decisión retardada, utilizando una predicción media móvil de la energía. Las tres subtramas se sintetizan posteriormente con parámetros totalmente cuantizados.
La forma en que se selecciona la modalidad de procesamiento para cada trama de habla, basada en la clasificación del habla contenida en la trama, y la manera innovadora en que se procesa el habla periódica, permite la cuantización de la ganancia con una cantidad significativamente menor de bits, sin ningún sacrificio significativo en la calidad perceptiva del habla. Los detalles de esta forma de procesar el habla se proporcionan a continuación.
Las Figs. 3 a 7 son diagramas en bloques funcionales que ilustran un enfoque de codificación en múltiples etapas, empleada por una realización del codificador del habla ilustrado en las Figs. 1 y 2. En particular, la Fig. 3 es un diagrama en bloques funcionales que ilustra un preprocesador 193 del habla que comprende la primera etapa del enfoque de codificación en múltiples etapas: la Fig. 4 es un diagrama en bloques funcionales que ilustra la segunda etapa; las Figs. 5 y 6 son diagramas en bloques funcionales que describen la Modalidad 0 de la tercera etapa; y la Fig. 7 es un diagrama en bloques funcionales que describe la Modalidad 1 de la tercera etapa. El codificador del habla, que comprende circuitos de procesamiento de codificador, funciona, típicamente, bajo instrucciones de software para llevar a cabo las siguientes funciones.
El habla de entrada se lee y se almacena temporalmente en tramas. Volviendo al preprocesador 193 del habla de la Fig. 3, se proporciona una trama de habla 192 de entrada a un mejorador 195 de silencio que determina si la trama de habla es puro silencio, es decir, sólo está presente el "ruido del silencio". El mejorador 195 del habla detecta de manera adaptable, en base a tramas, si la trama actual es simplemente "ruido de silencio". Si la señal 192 es "ruido de silencio", el mejorador 195 del habla sesga la señal al nivel cero de la señal 192. En caso contrario, si la señal 192 no es "ruido de silencio", el mejorador 195 del habla no modifica la señal 192. El mejorador 195 del habla limpia las porciones de silencio del habla limpia para un ruido de muy bajo nivel y así mejora la calidad perceptiva del habla limpia. El efecto de la función de mejora del habla deviene especialmente notable cuando el habla de entrada se origina en una fuente de ley A; es decir, la entrada ha pasado por la codificación y descodificación de ley A inmediatamente antes del procesamiento por parte del presente algoritmo de codificación de la palabra. Debido a que la ley A amplifica los valores de muestra alrededor del 0 (p. ej., -1, 0, +1) a -8, o bien +8, la amplificación en la ley A podría transformar un ruido de silencio inaudible en un ruido claramente audible. Después del procesamiento por el mejorador 195 del habla, la señal de habla se proporciona a un filtro 197 de paso alto.
El filtro 197 de paso alto elimina las frecuencias por debajo de una cierta frecuencia de atajo y permite que las frecuencias por encima de la frecuencia de atajo pasen a un atenuador 199 del ruido. En esta realización específica, el filtro 197 de paso alto es idéntico al filtro de entrada de paso alto del estándar G.729 de codificación de la palabra de ITU-T (Estándar de Telecomunicaciones de la Unión Internacional de Telecomunicación). Esto es, es un filtro de polo cero de segundo orden con una frecuencia de atajo de 140 Hertz (Hz). Por supuesto, no es necesario que el filtro 197 de paso alto sea un tal filtro, y puede construirse para que sea cualquier clase de filtro adecuado, conocido por aquellos medianamente versados en la técnica.
El atenuador 199 del ruido lleva a cabo un algoritmo de supresión del ruido. En esta realización específica, el atenuador 199 del ruido realiza una atenuación débil del ruido, de un máximo de 5 decibelios (dB) del ruido ambiental, a fin de mejorar la estimación de los parámetros por parte del algoritmo de codificación del habla. Los procedimientos específicos para mejorar el silencio, construir un filtro 197 de paso alto y atenuar el ruido pueden emplear cualquiera de las numerosas técnicas conocidas por aquellos medianamente versados en la técnica. La salida del preprocesador 193 del habla es el habla preprocesada 200.
Por supuesto, el mejorador 195 de silencio, el filtro 197 de paso alto y el atenuador 199 del ruido pueden ser reemplazados por cualquier otro dispositivo, o modificarse de una manera conocida para aquellos medianamente versados en la técnica, y adecuada para la aplicación específica.
Volviendo a la Fig. 4, se proporciona un diagrama en bloques funcionales del procesamiento común basado en tramas de una señal de habla. En otras palabras, la Fig. 4 ilustra el procesamiento de una señal de habla trama a trama. Este procesamiento de tramas ocurre independientemente de la modalidad (p. ej., Modalidades 0 o 1) antes de que se realice el procesamiento 250 que depende de la modalidad. El habla preprocesada 200 es recibida por un filtro 252 de ponderación perceptiva que se emplea para añadir énfasis a las áreas en valle y quitárselo a las áreas en pico de la señal 200 de habla preprocesada. El filtro 252 de ponderación perceptiva puede reemplazarse por cualquier otro dispositivo, o modificarse de una manera conocida para aquellos medianamente versados en la técnica, y adecuada para la aplicación específica.
Un analizador LPC 260 recibe la señal 200 de habla preprocesada y estima el envoltorio espectral a corto plazo de la señal 200 de habla. El analizador LPC 260 extrae los coeficientes LPC de las características que definen la señal 200 de habla. En una realización, se efectúan tres análisis LPC de décimo orden para cada trama. Se centran en el tercio medio, el tercio final y el margen de adelanto de la trama. El análisis LPC para el margen de adelanto se recicla para la próxima trama como el análisis LPC centrado en el primer tercio de la trama. Así, para cada trama, se generan cuatro conjuntos de parámetros LPC. El analizador LPC 260 también puede realizar la cuantización de los coeficientes LPC, por ejemplo, en un dominio de frecuencia espectral de línea (LSF). La cuantización de los coeficientes LPC puede ser cuantización escalar o bien vectorial, y puede efectuarse en cualquier dominio adecuado, de cualquier manera conocida en la técnica.
Un clasificador 270 obtiene información acerca de las características del habla preprocesada 200 mirando, por ejemplo, el máximo absoluto de la trama, los coeficientes de reflejo, el error de predicción, el vector LSF del analizador LPC 260, la autocorrelación de décimo orden, el retardo reciente del grado tonal y las ganancias recientes del grado tonal. Estos parámetros son conocidos por aquellos medianamente versados en la técnica y, por esa razón, no se explican aquí adicionalmente. El clasificador 270 utiliza la estimación para controlar otros aspectos del codificador, tal como la estimación de la razón entre señal y ruido, la estimación de grado tonal, la clasificación, el allanamiento espectral, el allanamiento energético y la normalización de la ganancia. Nuevamente, estos aspectos son conocidos por aquellos medianamente versados en la técnica y, por esa razón, no se explican aquí adicionalmente. Se proporciona a continuación un breve resumen del algoritmo de clasificación.
El clasificador 270, con la ayuda del preprocesador 254 de grado tonal, clasifica cada trama en una entre seis clases, según la característica dominante de la trama. Las clases son (1) Silencio/Ruido de fondo; (2) Habla sin Voz Similar al Ruido; (3) Sin voz; (4) Transición (incluye acometida); (5) No Estática con Voz; y (6) Estática con Voz. El clasificador 270 puede emplear cualquier enfoque para clasificar la señal de entrada en señales periódicas y señales no periódicas. Por ejemplo, el clasificador 270 puede tomar la señal de habla preprocesada, el retardo de grado tonal y la correlación de la segunda mitad de la trama, y otra información, como parámetros de entrada.
Pueden utilizarse diversos criterios para determinar si se considera que el habla es periódica. Por ejemplo, el habla puede considerarse periódica si el habla es una señal estática con voz. Algunas personas pueden considerar que el habla periódica incluye el habla estática con voz y el habla no estática con voz, pero, para los fines de esta especificación, el habla periódica incluye el habla estática con voz. Además, el habla periódica puede ser habla llana y estática. Un habla con voz se considera "estática" cuando la señal de habla no cambia más que en cierta magnitud dentro de una trama. Es más probable que una tal señal de habla tenga un contorno energético bien definido. Una señal de habla es "llana" si la ganancia G_{p} de libro de códigos adaptable de ese habla es mayor que un valor umbral. Por ejemplo, si el valor umbral es 0,7, se considera que una señal de habla en una subtrama es llana si su ganancia G_{p} de libro de códigos adaptable es mayor que 0,7. El habla no periódica, o el habla sin voz, incluye el habla no vocal (p. ej., fricativas tales como el sonido "shhh"), transiciones (p. ej., acometidas, desplazamientos), ruido de fondo y silencio.
Más específicamente, en la realización ejemplar, el codificador del habla deriva inicialmente los siguientes parámetros:
Declive Espectral (estimación del primer coeficiente de reflejo 4 veces por trama):
1
en el que L = 80 es la ventana sobre la cual se calcula el coeficiente de reflejo y s_{k}(n) es el k-ésimo segmento, dado por
2
en el que w_{h}(n) es una ventana Hamming de 80 muestras y s(0), s(1), ..., s(159) es la trama actual de la señal de habla preprocesada.
Máximo Absoluto (rastreo del máximo absoluto de la señal, 8 estimaciones por trama):
3
en el que n_{s}(k) y n_{c}(k) es el punto de partida y el punto final, respectivamente, para la búsqueda del k-ésimo máximo en el momento k. 160/8 muestras de la trama En general, la longitud del segmento es 1,5 veces el periodo de grado tonal y los segmentos se solapan. Así, puede obtenerse un contorno llano del envoltorio de amplitud.
Los parámetros de Declive Espectral, el Máximo Absoluto y Correlación de Grado Tonal forman la base para la clasificación. Sin embargo, el procesamiento y análisis adicionales de los parámetros se llevan a cabo antes de la decisión de clasificación. El procesamiento de parámetros aplica inicialmente la ponderación a los tres parámetros. La ponderación, en alguna medida, quita el componente del ruido de fondo en los parámetros restando la contribución del ruido de fondo. Esto proporciona un espacio de parámetros que es "independiente" de cualquier ruido de fondo y, de esta manera, es más uniforme y mejora la robustez de la clasificación en ruido de fondo.
Las medias móviles de la energía del periodo de grado tonal del ruido, el declive espectral del ruido, el máximo absoluto del ruido y la correlación de grado tonal del ruido se actualizan ocho veces por trama, según las siguientes ecuaciones, las ecuaciones 4 a 7. Los siguientes parámetros definidos por las Ecuaciones 4 a 7 se estiman/muestrean ocho veces por trama, proporcionando una resolución temporal fina del espacio de parámetros:
Media móvil de la energía del periodo de grado tonal del ruido:
4
en el que E_{N,p}(k) es la energía normalizada del periodo de grado tonal en el momento k.160/8 muestras de la trama. Los segmentos sobre los cuales se calcula la energía pueden solaparse, pues el periodo de grado tonal, típicamente, supera las 20 muestras (160 muestras/8). Media móvil del declive espectral del ruido:
5
Media móvil del máximo absoluto del ruido:
6
Media móvil de la correlación de grado tonal del ruido:
7
en el que R_{p} es la correlación de grado tonal de entrada para la segunda mitad de la trama. La constante de adaptación \alpha_{1} es adaptable, aunque el valor típico es \alpha_{1} = 0,99.
La razón entre el ruido de fondo y la señal se calcula según:
8
La atenuación paramétrica del ruido se limita a 30 dB, es decir,
9
El conjunto libre de ruidos de parámetros (parámetros ponderados) se obtiene quitando el componente de ruido según las siguientes Ecuaciones 10 a 12:
Estimación del declive espectral ponderado:
10
Estimación del máximo absoluto ponderado:
11
Estimación de la correlación de grado tonal ponderada:
12
La evolución del declive ponderado y el máximo ponderado se calcula según las siguientes Ecuaciones 13 y 14, respectivamente, como la pendiente de la aproximación de primer orden:
13
\newpage
Una vez que los parámetros de las Ecuaciones 4 a 14 se actualizan para los ocho puntos de muestra de la trama, se calculan los siguientes parámetros basados en tramas a partir de los parámetros de las Ecuaciones 4 a 14:
Correlación de grado tonal máxima ponderada:
14
Correlación de grado tonal máxima promediada:
15
Media móvil de la correlación de grado tonal media ponderada:
16
en el que m es el número de trama y \alpha_{2} = 0,75 es la constante de adaptación.
\vskip1.000000\baselineskip
Desviación estándar normalizada del retardo de grado tonal:
17
en el que L_{p}(m) es el retardo de grado tonal de entrada y \mu_{Lp}(m) es la media del retardo de grado tonal sobre las tres tramas anteriores, dada por
18
Declive espectral ponderado mínimo:
19
Media móvil del declive espectral ponderado mínimo:
20
Declive espectral ponderado medio:
21
Pendiente mínima del declive ponderado:
22
\newpage
Pendiente acumulada del declive espectral ponderado:
23
Pendiente máxima del máximo ponderado:
24
Pendiente acumulada del máximo ponderado:
25
Los parámetros dados por las Ecuaciones 23, 25 y 26 se utilizan para marcar dónde es probable que una trama contenga una acometida, y los parámetros dados por las Ecuaciones 16 a 18, y 20 a 22, se utilizan para marcar dónde es probable que una trama esté dominada por el habla vocal. Basándose en las marcas iniciales, las marcas anteriores y otra información, la trama se clasifica en una entre seis clases.
Una descripción más detallada de la forma en que el clasificador 270 clasifica el habla preprocesada 200 se describe en una solicitud de patente estadounidense transferida al presente cesionario, Conexant Systems, Inc., y previamente incorporada a la presente por referencia: Solicitud Provisoria de Patente Estadounidense Nº de serie 60/155.321, titulada "4 kbits/s Speech Coding" ["Codificación del Habla de 4 kbits/s"], Expediente Conexant Nº 99RSS485, presentada el 22 de septiembre de 1999.
El cuantizador LSF 267 recibe los coeficientes LPC del analizador LPC 260 y cuantiza los coeficientes LPC. El fin de la cuantización LSF, que puede ser cualquier procedimiento conocido de cuantización, incluyendo la cuantización escalar o vectorial, es representar los coeficientes con menos bits. En esta realización específica, el cuantizador LSF 267 cuantiza el modelo LPC de décimo orden. El cuantizador LSF 267 también puede allanar las LSF a fin de reducir las fluctuaciones indeseables en el envoltorio espectral del filtro de síntesis LPC. El cuantizador LSF 267 envía los coeficientes cuantizados A_{q}(z) 268 a la porción 250 de procesamiento de subtramas del codificador de la palabra. La porción de procesamiento de subtramas del codificador de la palabra depende de la modalidad. Aunque se prefiere el dominio LSF, el cuantizador 267 puede cuantizar los coeficientes LPC en un dominio distinto al de LSF.
Si se selecciona el preprocesamiento del grado tonal, la señal 256 de habla ponderada se envía al preprocesador 254 de grado tonal. El preprocesador 254 de grado tonal coopera con el estimador 272 de grado tonal de bucle abierto, a fin de modificar el habla ponderada 256, para que su información de grado tonal pueda cuantizarse más exactamente. El preprocesador 254 de grado tonal puede, por ejemplo, utilizar técnicas conocidas de compresión o dilación sobre ciclos de grado tonal a fin de mejorar la capacidad del codificador de la palabra para cuantizar las ganancias de grado tonal. En otras palabras, el preprocesador 254 de grado tonal modifica la señal 256 de habla ponderada a fin de coincidir mejor con el rastreo estimado de grado tonal y, así, ajustar más precisamente el modelo de codificación, produciendo a la vez habla reproducida perceptivamente indistinguible. Si los circuitos de procesamiento del codificador seleccionan una modalidad de preprocesamiento, el preprocesador 254 de grado tonal efectúa el preprocesamiento del grado tonal de la señal 256 de habla ponderada. El preprocesador 254 de grado tonal deforma la señal 256 de habla ponderada para que coincida con los valores interpolados de grado tonal que serán generados por los circuitos de procesamiento del descodificador. Cuando se aplica el preprocesamiento del grado tonal, la señal de habla deformada se denomina una señal 258 de habla ponderada modificada. Si no se selecciona la modalidad de preprocesamiento de grado tonal, la señal 256 de habla ponderada atraviesa el preprocesador 254 de grado tonal sin preprocesamiento del grado tonal (y, para mayor comodidad, se denomina aún la "señal 258 de habla ponderada modificada". El preprocesador 254 de grado tonal puede incluir un interpolador de ondas cuya función e implementación son conocidas por aquellos medianamente versados en la técnica. El interpolador de ondas puede modificar ciertos segmentos de transición irregular utilizando técnicas conocidas de interpolación adelantada-atrasada de ondas, a fin de mejorar las regularidades y suprimir las irregularidades de la señal de habla. La ganancia de grado tonal y la correlación de grado tonal para la señal ponderada 256 son estimadas por el preprocesador 254 de grado tonal. El estimador 272 de grado tonal de bucle abierto extrae información acerca de las características del grado tonal desde el habla ponderada 256. La información de grado tonal incluye el retardo de grado tonal y la información de ganancia de grado tonal.
El preprocesador 254 de grado tonal también interactúa con el clasificador 270 a través del estimador 272 de grado tonal de bucle abierto, para refinar la clasificación, por parte del clasificador 270, de la señal de habla. Debido a que el preprocesador 254 de grado tonal obtiene información adicional acerca de la señal de habla, la información adicional puede ser utilizada por el clasificador 270 a fin de afinar su clasificación de la señal de habla. Después de efectuar el preprocesamiento del grado tonal, el preprocesador 254 de grado tonal emite información 284 de rastreo de grado tonal y ganancias 286 de grado tonal no cuantizado a la porción 250 de procesamiento de subtramas, dependiente de la modalidad, del codificador de la palabra.
Una vez que el clasificador 270 clasifica el habla preprocesada 200 en una entre una pluralidad de clases posibles, el número de clasificación de la señal 200 de habla preprocesada se envía al selector 274 de modalidad y al procesador 250 de subtramas dependiente de la modalidad como información 280 de control. El selector 274 de modalidad utiliza el número de clasificación para seleccionar la modalidad de operación. En esta realización específica, el clasificador 270 clasifica la señal 200 de habla preprocesada en una de seis posibles clases. Si la señal 200 de habla preprocesada es habla con voz estática (p. ej., denominada habla "periódica"), el selector 274 de modalidad fija la modalidad 282 en la Modalidad 1. En caso contrario, el selector 274 de modalidad fija la modalidad 282 en la Modalidad 0. La señal 282 de modalidad se envía a la porción 250 de procesamiento de subtramas dependiente de la modalidad del codificador de la palabra. La información 282 de modalidad se añade al flujo de bits que se transmite al descodificador.
La rotulación del habla como "periódica" y "no periódica" debería interpretarse con cierto cuidado en esta realización específica. Por ejemplo, las tramas codificadas utilizando la Modalidad 1 son aquellas que mantienen una alta correlación de grado tonal y una alta ganancia de grado tonal por toda la trama, basándose en el rastreo 284 de grado tonal derivado de sólo siete bits por trama. En consecuencia, la selección de la Modalidad 0 en lugar de la Modalidad 1 podría deberse a una representación inexacta del rastreo 284 del grado tonal, con sólo siete bits, y no necesariamente debido a la ausencia de periodicidad. Por ello, las señales codificadas utilizando la Modalidad 0 muy bien pueden contener periodicidad, aunque no bien representada por sólo siete bits por trama para el rastreo del grado tonal. Por lo tanto, la Modalidad 0 codifica el rastreo del grado tonal con siete bits dos veces por trama, para un total de catorce bits por trama, a fin de representar más adecuadamente el rastreo del grado tonal.
Cada uno de los bloques funcionales en las Figs 3 y 4, y las otras Figs en esta especificación, no necesariamente son estructuras discretas, y pueden combinarse con otro bloque funcional, o más, según se desee.
La porción 250 de procesamiento de subtramas dependiente de la modalidad del codificador de la palabra funciona en dos modalidades, la Modalidad 0 y la Modalidad 1. Las Figs. 5 y 6 proporcionan diagramas de bloques funcionales del procesamiento de subtramas de Modalidad 0, mientras que la Fig. 7 ilustra el diagrama de bloques funcionales del procesamiento de subtramas de Modalidad 1 de la tercera etapa del codificador de la palabra. La Fig. 8 ilustra un diagrama en bloques de un descodificador de la palabra que corresponde al codificador mejorado de la palabra. El descodificador de la palabra lleva a cabo una correspondencia inversa del flujo de bits con los parámetros algorítmicos, seguida por una síntesis dependiente de la modalidad. Una descripción más detallada de estas figuras y modalidades se proporciona en una solicitud de patente estadounidense adjudicada al mismo adjudicatario, Conexant Systems, Inc.; la solicitud entera fue previamente incorporada a la presente por referencia, Solicitud de Patente Estadounidense con Nº de Serie 09/574.396, titulada "A NEW SPEECH GAIN QUANTIZATION STRATEGY" ["Una nueva estrategia de cuantización de ganancia de la palabra"], Expediente Conexant Nº 99RSS312, presentada el 19 de mayo de 2000.
Los parámetros cuantizados que representan la señal de habla pueden paquetizarse y transmitirse luego en paquetes de datos desde el codificador al descodificador. En la realización ejemplar descrita a continuación, la señal del habla se analiza trama a trama, donde cada trama puede tener al menos una subtrama, y cada paquete de datos contiene información para una trama. Así, en este ejemplo, la información paramétrica para cada trama se transmite en un paquete de información. En otras palabras, hay un paquete para cada trama. Por supuesto, son posibles otras variaciones y, según la realización, cada paquete podría representar una porción de una trama, más de una trama de habla, o una pluralidad de tramas.
LSF
Una LSF (frecuencia espectral de línea) es una representación del espectro LPC (es decir, el envoltorio a corto plazo del espectro de la palabra). Las LSF pueden considerarse como frecuencias particulares, en las cuales se muestrea el espectro de la palabra. Si, por ejemplo, el sistema utiliza un LPC de décimo orden, habría 10 LSF por trama. Debe haber un espaciado mínimo entre LSF consecutivas, a fin de que no creen filtros cuasi-inestables. Por ejemplo, si f_{i} es la i-ésima LSF, y es igual a 100 Hz, la (i+1)-ésima LSF, f_{i+1}, debe ser al menos f_{i} + el espaciado mínimo. Por ejemplo, si f_{i} = 100 Hz y el espaciado mínimo es 60 Hz, f_{i+1} debe ser al menos 160 Hz y puede ser cualquier frecuencia mayor que 160 Hz.. El espaciado mínimo es un número fijo que no varía entre trama y trama, y es conocido tanto por el codificador como por el descodificador, a fin de que puedan cooperar.
Supongamos que el codificador utiliza la codificación predictiva para codificar las LSF (en contraposición a la codificación no predictiva), que es necesaria para lograr la comunicación del habla a velocidades bajas de bits. En otras palabras, el codificador utiliza la LSF cuantizada de una trama, o tramas, anterior(es) para predecir la LSF de la trama actual. El error entre la LSF predicha y la verdadera LSF de la trama actual, que el codificador deriva del espectro LPC, se cuantiza y se transmite al descodificador. El descodificador determina la LSF predicha de la trama actual de la misma manera en que lo hizo el codificador. Entonces, conociendo el error que fue transmitido por el codificador, el descodificador puede calcular la verdadera LSF de la trama actual. Sin embargo, ¿qué ocurre si una trama que contiene información de LSF se pierde? Volviendo a la Fig. 9, supongamos que el codificador transmite las tramas 0 a 3, pero que el descodificador sólo recibe las tramas 0, 2 y 3. La trama 1 es la trama perdida o "borrada". Si la trama actual es la trama perdida 1, el descodificador no tiene la información de error que es necesaria para calcular la verdadera LSF. Como resultado de ello, los sistemas de la técnica anterior no calculaban la verdadera LSF y, en cambio, fijaban la LSF como la LSF de la trama anterior, o la LSF media de un cierto número de tramas anteriores. Los problemas de este enfoque son que la LSF de la trama actual puede ser demasiado inexacta (comparada con la verdadera LSF) y que las tramas posteriores (es decir, las tramas 2 y 3 en el ejemplo de la Fig. 9) utilizan una LSF inexacta de la trama 1 para determinar sus propias LSF. En consecuencia, la extrapolación del error de la LSF introducido por una trama perdida contamina la exactitud de las LSF de las tramas posteriores.
En una realización ejemplar de la presente invención, un descodificador mejorado del habla incluye un contador que cuenta el número de tramas buenas que siguen a la trama perdida. La Fig. 10 ilustra un ejemplo de los espaciados mínimos de las LSF asociadas a cada trama. Supongamos que una trama buena 0 es recibida por el descodificador, pero que la trama 1 se pierde. Según el enfoque de la técnica anterior, el espaciado mínimo entre las LSF era un número fijo (60 Hz en la Fig. 10), que no cambia. En contraste, cuando el descodificador mejorado del habla nota una trama perdida, aumenta el espaciado mínimo de esa trama, a fin de evitar crear un filtro cuasi-inestable. La magnitud del aumento en este "espaciado de LSF adaptable y controlado" depende de cuál incremento en el espaciado sería el mejor para ese caso específico. Por ejemplo, el descodificador mejorado del habla puede considerar cómo ha evolucionado a lo largo del tiempo la energía de la señal (o la potencia de la señal), cómo ha evolucionado a lo largo del tiempo el contenido de frecuencia (espectro) de la señal, y el contador, para determinar en qué valor debería fijarse el espaciado mínimo de la trama perdida. Una persona de habilidad mediana en la técnica podría ejecutar experimentos sencillos para determinar qué valor mínimo de espaciado sería el satisfactorio para utilizar. Una ventaja de analizar la señal del habla y/o sus parámetros para derivar una LSF adecuada es que la LSF resultante puede estar más cerca de la LSF verdadera (pero perdida) de esa trama.
Excitación de Libro de Códigos Adaptable (Retardo de Grado Tonal)
La excitación total e_{T}, compuesta por la excitación de libro de códigos adaptable y la excitación de libro de códigos fijo, se describe por la siguiente ecuación:
26
en el que g_{p} y g_{c} son, respectivamente, la ganancia cuantizada de libro de códigos adaptable y la ganancia de libro de códigos fijo, y e_{xp} y e_{xc} son la excitación de libro de códigos adaptable y la excitación de libro de códigos fijo. Un almacén temporal (también llamado el almacén temporal del libro de códigos adaptable) conserva e_{T} y sus componentes de la trama anterior. Basándose en el parámetro del retardo del grado tonal en la trama actual, el sistema de comunicación de la palabra selecciona una e_{T} del almacén temporal y la emplea como e_{xp} para la trama actual. Los valores para g_{p}, g_{c} y e_{xc} se obtienen de la trama actual. Los valores de e_{xp}, g_{p}, g_{c} y e_{xc} se introducen luego en la fórmula para calcular una e_{T} para la trama actual. La e_{T} calculada y sus componentes se almacenan para la trama actual en el almacén temporal. El proceso se repite, por lo cual la e_{T} almacenada se utiliza luego como e_{xp} para la próxima trama. Así, la naturaleza de retroalimentación de este enfoque de codificación (que es replicado por el descodificador) es evidente. Debido a que la información en la ecuación está cuantizada, el codificador y el descodificador están sincronizados. Obsérvese que el almacén temporal es un tipo de libro de códigos adaptable (pero es distinto al libro de códigos adaptable utilizado para las excitaciones de ganancia).
La Fig. 11 ilustra un ejemplo de la información de retardo del grado tonal transmitida por un sistema del habla de la técnica anterior para cuatro tramas 1 a 4. El codificador de la técnica anterior transmitiría el retardo del grado tonal para la trama actual y un valor de delta, donde el valor de delta es la diferencia entre el retardo de grado tonal de la trama actual y el retardo de grado tonal de la trama anterior. El estándar EVRC (Codificador Mejorado de Velocidad Variable) especifica el empleo del delta del retardo de grado tonal. Así, por ejemplo, el paquete de información que atañe a la trama 1 incluiría el retardo L1 de grado tonal y el delta (L1 - L0), donde L0 es el retardo de grado tonal de la trama 0 precedente; el paquete de información que atañe a la trama 2 incluiría el retardo L2 de grado tonal y el delta (L2 - L1); el paquete de información que atañe a la trama 3 incluiría el retardo L3 de grado tonal y el delta (L3 - L2); y así sucesivamente. Obsérvese que los retardos de grado tonal de las tramas adyacentes podrían ser iguales, por lo que los valores de delta podrían ser cero. Si la trama 2 se ha perdido y nunca ha sido recibida por el descodificador, la única información disponible acerca del retardo de grado tonal en el momento de la trama 2 es el retardo L1 de grado tonal, porque la trama 1 anterior no se ha perdido. La pérdida de la información del retardo L2 de grado tonal y el delta (L2 - L1) ha creado dos problemas. El primer problema es cómo estimar un retardo L2 exacto del grado tonal para la trama perdida 2. El segundo problema es cómo impedir que el error al estimar el retardo L2 de grado tonal cree errores en las tramas posteriores. Algunos sistemas de la técnica anterior no intentan resolver ninguno de los problemas.
Al intentar resolver el primer problema, algunos sistemas de la técnica anterior utilizan el retardo L1 de grado tonal de la trama buena 1 anterior como un retardo estimado L2' de grado tonal para la trama perdida 2, incluso aunque cualquier diferencia entre el retardo estimado L2' de grado tonal y el verdadero retardo L2 de grado tonal sería un error.
El segundo problema es cómo impedir que el error al estimar el retardo estimado L2' de grado tonal cree errores en las tramas posteriores. Recuérdese que, como se ha expuesto anteriormente, el retardo de grado tonal de la trama n se emplea para actualizar el almacén temporal de libro de códigos adaptable, el cual, a su vez, es utilizado por las tramas posteriores. El error entre el retardo estimado L2' de grado tonal y el verdadero retardo L2 de grado tonal crearía un error en el almacén temporal de libro de códigos adaptable, que crearía entonces un error en las tramas posteriores recibidas. En otras palabras, el error en el retardo estimado L2' de grado tonal puede tener como resultado la pérdida de sincronicidad entre el almacén temporal de libro de códigos adaptable, desde el punto de vista del codificador, y el almacén temporal de libro de códigos adaptable desde el punto de vista del descodificador. Como un ejemplo adicional, durante el procesamiento de la trama actual 2 perdida, el descodificador de la técnica anterior utilizaría el retardo estimado L2' de grado tonal como el retardo L1 de grado tonal (que probablemente difiere del verdadero retardo L2 de grado tonal) para obtener e_{xp} para la trama 2. El empleo de un retardo erróneo del grado tonal, por lo tanto, selecciona la e_{xp} errónea para la trama 2, y este error se propaga por todas las tramas posteriores. Para resolver este problema en la técnica anterior, cuando la trama 3 es recibida por el descodificador, el descodificador tiene entonces el retardo L3 de grado tonal y el delta (L3 - L2) y puede así calcular inversamente lo que debería haber sido el verdadero retardo L2 de grado tonal. El verdadero retardo L2 de grado tonal es simplemente el retardo L3 de grado tonal menos el delta (L3 - L2). Así, el descodificador de la técnica anterior corregiría el almacén temporal de libro de códigos adaptable que es utilizado por la trama 3. Debido a que la trama 2 perdida ya ha sido procesada con el retardo estimado L2' de grado tonal, es demasiado tarde para arreglar la trama 2 perdida.
La Fig. 12 ilustra un caso hipotético de tramas para demostrar el funcionamiento de una realización ejemplar de un sistema mejorado de comunicación de la palabra con ambos problemas, debido a información perdida de retardo de grado tonal. Supongamos que la trama 2 se ha perdido y que se reciben las tramas 0, 1, 3 y 4. Durante el tiempo en que el codificador está procesando la trama 2 perdida, el descodificador mejorado puede utilizar el retardo L1 de grado tonal de la trama 1 anterior. Alternativa y preferiblemente, el descodificador mejorado puede realizar una extrapolación basada en el retardo, o retardos, de grado tonal de la(s) trama(s) anterior(es), para determinar un retardo estimado L2' de grado tonal, que puede resultar en una estimación más precisa que el retardo L1 de grado tonal. Así, por ejemplo, el descodificador puede utilizar los retardos L0 y L1 de grado tonal para extrapolar el retardo estimado L2' de grado tonal. El procedimiento de extrapolación puede ser cualquier procedimiento de extrapolación, tal como un procedimiento de ajuste de curvas que supone un contorno llano del grado tonal del pasado para estimar el retardo perdido L2 de grado tonal, uno que utiliza un promedio de los retardos anteriores de grado tonal, o cualquier otro procedimiento de extrapolación. Este enfoque reduce el número de bits que se transmiten desde el codificador al descodificador, porque no es necesario transmitir el valor del delta.
Para resolver el segundo problema, cuando el descodificador mejorado recibe la trama 3, el descodificador tiene el retardo correcto L3 de grado tonal. Sin embargo, como se ha explicado anteriormente, el almacén temporal de libro de códigos adaptable utilizado por la trama 3 puede ser incorrecto, debido a cualquier error de extrapolación al estimar el retardo L2' de grado tonal. El descodificador mejorado busca corregir que los errores al estimar el retardo L2' de grado tonal en la trama 2 afecten las tramas después de la trama 2, pero sin tener que transmitir información de delta de retardo de grado tonal. Una vez que el descodificador mejorado obtiene el retardo L3 de grado tonal, emplea un procedimiento de interpolación, tal como un procedimiento de ajuste de curvas, para ajustar o afinar su estimación anterior del retardo L2' de grado tonal. Conociendo los retardos L1 y L3 de grado tonal, el procedimiento de ajuste de curvas puede estimar L2' más exactamente que cuando el retardo L3 de grado tonal era desconocido. El resultado es un retardo afinado L2'' de grado tonal, que se utiliza para ajustar o corregir el almacén temporal de libro de códigos adaptable, para su utilización por la trama 3. Más específicamente, el retardo afinado L2'' de grado tonal es utilizado para ajustar o corregir la excitación cuantizada de libro de códigos adaptable en el almacén de libro de códigos adaptable. En consecuencia, el descodificador mejorado reduce el número de bits que deben transmitirse al afinar el retardo L2' de grado tonal, de una manera que es satisfactoria para la mayoría de los casos. Así, a fin de reducir el efecto de cualquier error en la estimación del retardo L2 de grado tonal sobre las tramas recibidas posteriormente, el descodificador mejorado puede utilizar el retardo L3 de grado tonal de la próxima trama 3 y el retardo L1 de grado tonal de la trama 1 anteriormente recibida, para afinar la estimación previa del retardo L2 de grado tonal, suponiendo un contorno llano del grado tonal. La precisión de este enfoque de estimación, basado en los retardos de grado tonal de las tramas recibidas precedentes y sucesivas de la trama perdida, puede ser muy buena, porque los contornos del grado tonal son generalmente llanos para el habla con voz.
Ganancias
Durante la transmisión de tramas desde el codificador al descodificador, una trama perdida también da como resultado parámetros de ganancia perdidos, tales como la ganancia g_{p} de libro de códigos adaptable y la ganancia g_{c} de libro de códigos fijo. Cada trama contiene una pluralidad de subtramas, donde cada subtrama tiene información de ganancia. Así, la pérdida de una trama da como resultado información de ganancia perdida para cada subtrama de la trama. Los sistemas de comunicación del habla tienen que estimar la información de ganancia para cada subtrama de la trama perdida. La información de ganancia para una subtrama puede diferir de la de otra subtrama.
Los sistemas de técnica anterior han adoptado diversos enfoques para estimar las ganancias para subtramas de la trama perdida, tales como utilizar la ganancia de la última subtrama de la trama buena anterior como las ganancias de cada subtrama de la trama perdida. Otra variación era utilizar la ganancia de la última subtrama de la trama buena anterior como la ganancia de la primera subtrama de la trama perdida y atenuar gradualmente esta ganancia antes de que sea utilizada como las ganancias de las siguientes subtramas de la trama perdida. En otras palabras, por ejemplo, si cada trama tiene cuatro subtramas y se recibe la trama 1, pero se pierde la trama 2, los parámetros de ganancia en la última subtrama de la trama 1 recibida se utilizan como los parámetros de ganancia de la primera subtrama de la trama perdida 2, los parámetros de ganancia se decrementan luego en cierta magnitud y se utilizan como los parámetros de ganancia de la segunda subtrama de la trama 2 perdida, los parámetros de ganancia se decrementan luego en cierta magnitud y se utilizan como los parámetros de ganancia de la tercera subtrama de la trama 2 perdida, y los parámetros de ganancia se decrementan aún más y se utilizan como los parámetros de ganancia de la última subtrama de la trama 2 perdida. Otro enfoque más era examinar los parámetros de ganancia de las subtramas de un número fijo de tramas anteriormente recibidas para calcular los parámetros de ganancia media, que se utilizan entonces como los parámetros de ganancia de la primera subtrama de la trama 2 perdida, donde los parámetros de ganancia podrían decrementarse gradualmente y utilizarse como los parámetros de ganancia de las subtramas restantes de la trama perdida. Y otro enfoque más era derivar parámetros de ganancia mediana examinando las subtramas de un número fijo de tramas anteriormente recibidas y utilizar los valores medianos como los parámetros de ganancia de la primera subtrama de la trama 2 perdida, donde los parámetros de ganancia podrían decrementarse gradualmente y utilizarse como los parámetros de ganancia de las restantes subtramas de la trama perdida. Notablemente, los enfoques de la técnica anterior no llevaban a cabo procedimientos distintos de recuperación para las ganancias de libro de códigos adaptable y las ganancias de libro de códigos fijo; utilizaban el mismo procedimiento de recuperación sobre ambos tipos de ganancia.
El sistema mejorado de comunicación de la palabra también puede abordar los parámetros de ganancia perdidos debido a una trama perdido. Si el sistema de comunicación de la palabra distingue entre habla de estilo periódico y habla de estilo no periódico, el sistema puede gestionar de forma distinta los parámetros de ganancia perdidos para cada tipo de habla. Además, el sistema mejorado gestiona las ganancias perdidas de libro de códigos adaptable de manera distinta a la manera en que gestiona las ganancias perdidas de libro de códigos fijo. Examinemos primero el caso del habla de estilo no periódico. Para determinar una ganancia estimada g_{p} de libro de códigos adaptable, el descodificador mejorado calcula un promedio g_{p} de las subtramas de un número adaptable de tramas recibidas anteriormente. El retardo de grado tonal de la trama actual (es decir, la trama perdida), que ha sido estimado por el descodificador, se emplea para determinar el número de tramas anteriormente recibidas a examinar. En general, cuanto mayor es el retardo de grado tonal, mayor el número de tramas recibidas anteriormente a utilizar para calcular una g_{p} promedio. Por lo tanto, el descodificador mejorado utiliza un enfoque de promedio sincronizado de grado tonal para estimar la ganancia g_{p} de libro de códigos adaptable para el habla de estilo no periódico. El descodificador mejorado calcula luego una beta \beta que indica cuán buena ha sido la predicción de g_{p}, basándose en la siguiente fórmula:
27
\beta varía entre 0 y 1, y representa el efecto porcentual de la energía de excitación de libro de códigos adaptable sobre la energía total de excitación. Cuanto mayor sea \beta, mayor el efecto de la energía de excitación de libro de códigos adaptable. Aunque es innecesario, el descodificador mejorado, preferiblemente, trata el habla de estilo no periódico y el habla de estilo periódico de forma diferente.
La Fig. 16 ilustra un ejemplo de diagrama de flujo del procesamiento del descodificador para el habla de estilo no periódico. La etapa 1000 determina si la trama actual es la primera trama perdida después de recibir una trama (es decir, una trama "buena"). Si la trama actual es la primera trama perdida después de una trama buena, la etapa 1002 determina si la subtrama actual procesada por el descodificador es la primera subtrama de una trama. Si la subtrama actual es la primera subtrama, la etapa 1004 calcula una g_{p} promedio para un cierto número de subtramas anteriores, donde el número de subtramas depende del retardo de grado tonal de la subtrama actual. En una realización ejemplar, si el retardo del grado tonal es menor o igual a 40, la g_{p} promedio se basa en dos subtramas anteriores; si el retardo del grado tonal es mayor que 40, pero menor o igual a 80, la g_{p} promedio se basa en cuatro subtramas anteriores; si el retardo del grado tonal es mayor que 80, pero menor o igual a 120, la g_{p} promedio se basa en seis subtramas anteriores; y si el retardo del grado tonal es mayor que 120, la g_{p} promedio se basa en ocho subtramas anteriores. Por supuesto, estos valores son arbitrarios y pueden fijarse en otros valores cualesquiera, según la longitud de la subtrama. La etapa 1006 determina si el valor máximo de \beta supera un cierto umbral. Si el valor máximo de \beta supera un cierto umbral, la etapa 1008 fija la ganancia g_{c} de libro de códigos fijo, para todas las subtramas de la trama perdida, en cero y fija g_{p}, para todas las subtramas de la trama perdida, en un número arbitrariamente alto, tal como 0,95, en lugar de la g_{p} promedio determinada anteriormente. El número arbitrariamente alto indica una buena señal de voz. El número arbitrariamente alto en el cual se fija el valor de g_{p} de la subtrama actual de la trama perdida puede basarse en un cierto número de factores que incluyen, pero que no se limitan a, el valor máximo de \beta de un cierto número de tramas anteriores, el declive espectral de la trama anteriormente recibida y la energía de la trama anteriormente recibida.
En caso contrario, si el valor máximo de \beta no supera un cierto umbral (es decir, una trama anteriormente recibida contiene la acometida del habla), la etapa 1010 fija la g_{p} de la subtrama actual de la trama perdida en el mínimo entre (i) la g_{p} promedio determinada anteriormente y (ii) el número arbitrariamente alto seleccionado (p. ej., 0,95). Otra alternativa es fijar la g_{p} de la subtrama actual de la trama perdida basándose en el declive espectral de la trama anteriormente recibida, la energía de la trama anteriormente recibida, y el mínimo entre la g_{p} promedio anteriormente determinada y el número arbitrariamente alto seleccionado (p. ej., 0,95). En el caso en que el valor máximo de \beta no supera un cierto umbral, la ganancia g_{c} del libro se basa en la energía de la excitación de libro de códigos fijo, ajustada en ganancia, en la subtrama anterior, y en la energía de la excitación de libro de códigos fijo en la subtrama actual. Específicamente, la energía de la excitación de libro de códigos fijo, ajustada en ganancia, en la subtrama anterior se divide entre la energía de la excitación de libro de códigos fijo en la subtrama actual, se extrae la raíz cuadrada del resultado y se multiplica por una fracción de atenuación, y se fija como el valor de g_{c}, según se muestra en la siguiente fórmula:
28
Alternativamente, el descodificador puede derivar la g_{c} para la subtrama actual de la trama perdida basándose en la razón entre la energía de la trama anteriormente recibida y la energía de la trama perdida actual.
Volviendo a la etapa 1002, si la subtrama actual no es la 1ª subtrama, la etapa 1020 fija la g_{p} de la subtrama actual de la trama perdida en un valor que está atenuado o reducido a partir de la g_{p} de la subtrama anterior. Cada g_{p} de las subtramas restantes se fija en un valor adicionalmente atenuado a partir de la g_{p} de la subtrama anterior. La g_{c} de la subtrama actual se calcula de la misma manera que en la etapa 1010 y la fórmula 29.
Volviendo a la etapa 1000, si esta no es la primera trama perdida después de una trama buena, la etapa 1022 calcula la g_{c} de la subtrama actual de la misma manera que en la etapa 1010 y la fórmula 29. La etapa 1022 también fija la g_{p} de la subtrama actual de la trama perdida en un valor que está atenuado o reducido a partir de la g_{p} de la subtrama anterior. Debido a que el descodificador estima la g_{p} y la g_{c} de distinta manera, el descodificador puede estimarlas más exactamente que los sistemas de la técnica anterior.
Examinemos ahora el caso del habla de estilo periódico, según el ejemplo de diagrama de flujo ilustrado en la Fig. 17. Debido a que el descodificador puede aplicar enfoques distintos para estimar g_{p} y g_{c} para el habla de estilo periódico y el habla de estilo no periódico, la estimación de los parámetros de ganancia puede ser más exacta que los enfoques de la técnica anterior. La etapa 1030 determina si la trama actual es la primera trama perdida después de recibir una trama (es decir, una trama "buena"). Si la trama actual es la primera trama perdida después de una trama buena, la etapa 1032 fija g_{c} en cero para todas las subtramas de la trama actual y fija g_{p} en un número arbitrariamente alto, tal como 0,95, para todas las subtramas de la trama actual. Si la trama actual no es la primera trama perdida después de una trama buena (p. ej., es la 2ª trama perdida, la 3ª trama perdida, etc.), la etapa 1034 fija g_{c} en cero para todas las subtramas de la trama actual y fija g_{p} en un valor que está atenuado a partir de la g_{p} de la subtrama anterior.
La Fig. 13 ilustra un caso de tramas para demostrar el funcionamiento del descodificador mejorado de la palabra. Supongamos que las tramas 1, 3 y 4 son tramas buenas (es decir, recibidas), mientras que las tramas 2, y 5 a 8 son tramas perdidas. Si la trama perdida actual es la primera trama perdida después de una buena, el descodificador fija g_{p} en un número arbitrariamente alto (tal como 0,95) para todas las subtramas de la trama perdida. Volviendo a la Fig. 13, esto se aplicaría a las tramas perdidas 2 y 5. La g_{p} de la primera trama perdida 5 se atenúa gradualmente para fijar las g_{p} de las otras tramas perdidas 6 a 8. Luego, por ejemplo, si g_{p} se fija en 0,95 para la trama perdida 5, la g_{p} podría fijarse en 0,9 para la trama perdida 6 y en 0,85 para la trama perdida 7, y en 0,8 para la trama perdida 8. Para las g_{c}, el descodificador calcula la g_{p} promedio a partir de las tramas anteriormente recibidas y, si esta g_{p} promedio supera un cierto umbral, g_{c} se fija en cero para todas las subtramas de la trama perdida. Si la g_{p} promedio no supera un cierto umbral, el descodificador emplea el mismo enfoque de fijar g_{c} para las señales de estilo no periódico descrito anteriormente a fin de fijar la g_{c} aquí.
Después de que el descodificador estima los parámetros perdidos (p. ej., LSF, retardos de grado tonal, ganancias, clasificación, etc.) en una trama perdida y sintetiza el habla resultante, el descodificador puede ajustar la energía del habla sintetizada de la trama perdida a la energía de la trama anteriormente recibida mediante técnicas de extrapolación. Esto puede mejorar adicionalmente la exactitud de reproducción del habla original, a pesar de las tramas perdidas.
Semilla para Generar Excitaciones de Libro de Códigos Fijo
A fin de ahorrar ancho de banda, no es necesario que un codificador de la palabra transmita una excitación de libro de códigos fijo al descodificador durante los periodos de ruido de fondo o de silencio. En cambio, tanto el codificador como el descodificador pueden generar aleatoriamente un valor de excitación localmente, utilizando un generador Gaussiano de series temporales. Tanto el codificador como el descodificador están configurados para generar el mismo valor de excitación aleatorio en el mismo orden. Como resultado, debido a que el descodificador puede generar localmente el mismo valor de excitación aleatorio que el codificador generó para una trama de ruido dada, no es necesario que el valor de excitación se transmita desde el codificador al descodificador. Para generar un valor de excitación aleatorio, el generador Gaussiano de series temporales utiliza una semilla inicial para generar el primer valor de excitación aleatorio y luego el generador actualiza la semilla con un nuevo valor. Luego el generador emplea la semilla actualizada para generar el próximo valor de excitación aleatorio y actualiza la semilla con otro valor más. La Fig. 14 ilustra un caso hipotético de tramas para ilustrar cómo un generador Gaussiano de series temporales en un codificador de la palabra utiliza una semilla para generar un valor de excitación aleatorio y luego actualiza esa semilla para generar el próximo valor de excitación aleatorio. Supongamos que las tramas 0 y 4 contienen una señal de habla, mientras que las tramas 2, 3 y 5 contienen silencio o ruido de fondo. Al hallar la primera trama de ruido (es decir, la trama 2), el codificador utiliza la semilla inicial (denominada "semilla 1") para generar un valor de excitación aleatorio, a emplear como la excitación de libro de códigos fijo para esa trama. Para cada muestra de esa trama, se cambia la semilla para generar una nueva excitación de libro de códigos fijo. Así, si una trama fuese muestreada 160 veces, la semilla cambiaría 160 veces. De esta manera, en el momento en que se encuentra la próxima trama de ruido (trama 3 de ruido), el codificador utiliza una segunda, y distinta, semilla (es decir, la semilla 2) para generar el valor de excitación aleatorio para esa trama. Aunque técnicamente la semilla para la primera muestra de la segunda trama no es la "segunda" semilla, porque la semilla ha cambiado para cada muestra de la primera trama, la semilla para la primera muestra de la segunda trama se denomina aquí semilla 2 en aras de la comodidad. Para la trama 4 de ruido, el codificador utiliza una tercera semilla (distinta a las semillas primera y segunda). Para generar el valor de excitación aleatorio para la trama 6 de ruido, el generador Gaussiano de series temporales podría bien recomenzar con la semilla 1 o continuar con la semilla 4, según la implementación del sistema de comunicación de la palabra. Al configurar el codificador y el descodificador para actualizar la semilla de la misma manera, el codificador y el descodificador pueden generar la misma semilla y, así, los mismos valores de excitación aleatoria en el mismo orden. Sin embargo, una trama perdida destruye esta sincronicidad entre el codificador y el descodificador en los sistemas de comunicación de la palabra de la técnica anterior.
La Fig. 15 ilustra el caso hipotético presentado en la Fig. 14, pero desde el punto de vista del descodificador. Supongamos que la trama 2 de ruido se ha perdido y que las tramas 1 y 3 son recibidas por el descodificador. Debido a que la trama 2 de ruido se ha perdido, el descodificador supone que era del mismo tipo que la trama anterior (es decir, una trama de habla). Habiendo asumido la hipótesis errónea acerca de la trama perdida 2 de ruido, el descodificador supone que la trama 3 de ruido es la primera trama de ruido, cuando en realidad es la segunda trama de ruido encontrada. Debido a que las semillas se actualizan para cada muestra de toda trama de ruido encontrada, el descodificador utilizaría erróneamente la semilla 1 para generar el valor de excitación aleatorio para la trama 3 de ruido, cuando debería haberse utilizado la semilla 2. La trama perdida, por lo tanto, ha dado como resultado la sincronicidad perdida entre el codificador y el descodificador. Debido a que la trama 2 es una trama de ruido, no es significativo que el descodificador utilice la semilla 1, mientras que el codificador ha utilizado la semilla 2, ya que el resultado es un ruido distinto al ruido original. Lo mismo es verdad para la trama 3. Sin embargo, el error en los valores de semillas es significativo por su impacto sobre las tramas posteriormente recibidas que contienen habla. Por ejemplo, concentrémonos en la trama 4 de habla. La excitación Gaussiana localmente generada basada en la semilla 2 se emplea para actualizar continuamente el almacén temporal de libro de códigos adaptable de la trama 3. Cuando se procesa la trama 4, se extrae la excitación de libro de códigos adaptable del almacén temporal de libro de códigos adaptable de la trama 3, basada en información tal como el retardo del grado tonal en la trama 4. Debido a que el codificador ha utilizado la semilla 3 para actualizar el almacén temporal de libro de códigos adaptable de la trama 3, y que el descodificador está utilizando la semilla 2 (¡la semilla equivocada!) para actualizar el almacén temporal de libro de códigos adaptable de la trama 3, la diferencia en la actualización del almacén temporal de libro de códigos adaptable de la trama 3 podría crear un problema de calidad en la trama 4, en algunos casos.
El sistema mejorado de comunicación de la palabra construido de acuerdo a la presente invención no utiliza una semilla inicial fija ni actualiza luego esa semilla cada vez que el sistema encuentra una trama de ruido. En cambio, el codificador y el descodificador mejorados derivan la semilla, para una trama dada, de los parámetros en esa trama. Por ejemplo, la información de espectro, la información de energía y/o ganancia en la trama actual podría emplearse para generar la semilla para esa trama. Por ejemplo, podrían utilizarse los bits que representan el espectro (digamos 5 bits b1, b2, b3, b4, b5) y los bits que representan la energía (digamos, 3 bits c1, c2, c3) para formar una cadena b1, b2, b3, b4, b5, c1, c2, c3, cuyo valor es la semilla. Como un ejemplo numérico, supongamos que el espectro está representado por 01101 y la energía está representada por 011; entonces, la semilla es 01101011. Ciertamente, son posibles otros procedimientos alternativos para derivar una semilla de información en la trama, y están incluidos dentro del ámbito de la invención. En consecuencia, en el ejemplo de la Fig. 15, donde la trama 2 de ruido se ha perdido, el descodificador podrá derivar una semilla para la trama 3 de ruido que es la misma semilla derivada por el codificador. Así, una trama perdida no destruye la sincronicidad entre el codificador y el descodificador.
Si bien se han mostrado y descrito realizaciones e implementaciones de la invención en cuestión, debería ser evidente que muchas más realizaciones e implementaciones están dentro del ámbito de la invención en cuestión. En consecuencia, la invención no ha de restringirse, excepto a la luz de las reivindicaciones y sus equivalentes.

Claims (10)

1. Un sistema (151) de comunicación vocalque comprende: un descodificador y un codificador (159) que procesa tramas de habla y que determina un parámetro de retardo de grado tonal para cada trama de habla;
un transmisor acoplado al codificador (159) que transmite el parámetro de retardo del grado tonal para cada trama de habla;
comprendiendo el descodificador:
un receptor que recibe los parámetros de retardo del grado tonal desde el transmisor, en base trama a trama;
una lógica de control acoplada al receptor para resintetizar la señal de habla basándose en parte en los parámetros de retardo de grado tonal;
un detector de tramas perdidas que detecta si una trama no ha sido recibida por el receptor;
caracterizado porque el descodificador comprende adicionalmente:
una lógica de recuperación de tramas que, cuando el detector de tramas perdidas detecta una trama perdida, utiliza los parámetros de retardo de grado tonal de una pluralidad de tramas recibidas anteriormente, a fin de extrapolar un parámetro de retardo de grado tonal para la trama perdida
un almacén temporal de libro de códigos adaptable que contiene una excitación total para la primera trama que sigue a la trama perdida, incluyendo la excitación total un componente de excitación cuantizada de libro de códigos adaptable;
en el que la lógica de recuperación de tramas utiliza el parámetro de retardo de grado tonal de la primera trama que sigue a la trama perdida para ajustar el parámetro de retardo del grado tonal anteriormente fijado para la trama perdida; y
en el que la excitación total almacenada como excitación de libro de códigos adaptable se extrae para la primera trama que sigue a la trama perdida, y en donde la lógica de recuperación de tramas utiliza el parámetro de retardo de grado tonal de la primera trama que sigue a la trama perdida para ajustar el componente de excitación cuantizada de libro de códigos adaptable.
2. El sistema (151) de comunicación vocal de la reivindicación 1, en el cual la lógica de recuperación de tramas utiliza el parámetro de retardo del grado tonal de una trama recibida a continuación de la trama perdida para ajustar el parámetro de retardo del grado tonal para la trama perdida.
3. El sistema (151) de comunicación vocal de la reivindicación 1, en el cual el detector de tramas perdidas, y/o la lógica de recuperación de tramas, es parte de la lógica de control.
4. El sistema (151) de comunicación vocal de la reivindicación 2, en el cual la lógica de recuperación de tramas extrapola el parámetro de retardo del grado tonal de la trama perdida a partir del parámetro de retardo de grado tonal de una trama recibida a continuación de la trama perdida.
5. El sistema (151) de comunicación vocal de la reivindicación 1, en el cual, después de que la lógica de recuperación de tramas fija los parámetros perdidos de la trama perdida, la lógica de control resintetiza el habla de la trama perdida y ajusta la energía del habla sintetizada para que coincida con la energía del habla sintetizada de una trama anteriormente recibida.
6. El sistema (151) de comunicación vocal de la reivindicación 2, en el cual, después de que la lógica de recuperación de tramas fija los parámetros perdidos de la trama perdida, la lógica de control resintetiza el habla de la trama perdida y ajusta la energía del habla sintetizada para que coincida con la energía del habla sintetizada de una trama anteriormente recibida.
7. El sistema (151) de comunicación vocal de la reivindicación 3, en el cual, después de que la lógica de recuperación de tramas fija los parámetros perdidos de la trama perdida, la lógica de control resintetiza el habla de la trama perdida y ajusta la energía del habla sintetizada para que coincida con la energía del habla sintetizada de una trama anteriormente recibida.
8. Un procedimiento para codificar o descodificar el habla en un sistema (151) de comunicación que comprende las etapas de codificación de: proporcionar una señal de habla en base trama a trama, donde cada trama incluye una pluralidad de subtramas; determinar un parámetro para cada trama, basándose en la señal de habla; transmitir parámetros en base trama a trama;
y las etapas de descodificación de: recibir parámetros en base trama a trama; detectar si una trama que contiene el parámetro se ha perdido;
caracterizado porque las etapas de descodificación comprenden adicionalmente:
gestionar el parámetro perdido para la trama perdida, si se detecta que se ha perdido una trama, utilizando parámetros de retardo de grado tonal de una pluralidad de tramas anteriormente recibidas para extrapolar un parámetro de retardo de grado tonal para la trama perdida; proporcionar un almacén temporal de libro de códigos adaptable que contiene una excitación total para la primera trama que sigue a la trama perdida, incluyendo la excitación total un componente de excitación cuantizada de libro de códigos adaptable;
utilizar el parámetro de retardo de grado tonal de la primera trama que sigue a la trama perdida para ajustar el parámetro de retardo de grado tonal anteriormente fijado para la trama perdida;
extraer la excitación total almacenada como una excitación de libro de códigos adaptable para la primera trama que sigue a la trama perdida;
ajustar el componente de excitación cuantizada de libro de códigos adaptable utilizando el parámetro de retardo de grado tonal de la primera trama que sigue a la trama perdida; y
utilizar los parámetros para reproducir la señal de habla.
9. El procedimiento de la reivindicación 8, en el cual la etapa de gestión ajusta el parámetro de retardo del grado tonal de la trama perdida basándose en el parámetro de retardo de grado tonal de una trama recibida a continuación de la trama perdida.
10. El procedimiento de la reivindicación 9, que comprende adicionalmente las etapas de:
resintetizar el habla de la trama perdida después de que la etapa de gestión fija el parámetro perdido de la trama perdida; y
ajustar la energía del habla sintetizada para que coincida con la energía del habla sintetizada de una trama recibida anteriormente.
ES03018041T 2000-07-14 2001-07-09 Sistema de comunicacion vocal y procedimiento para gestionar tramas perdidas. Expired - Lifetime ES2325151T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/617,191 US6636829B1 (en) 1999-09-22 2000-07-14 Speech communication system and method for handling lost frames
US617191 2000-07-14

Publications (1)

Publication Number Publication Date
ES2325151T3 true ES2325151T3 (es) 2009-08-27

Family

ID=24472632

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03018041T Expired - Lifetime ES2325151T3 (es) 2000-07-14 2001-07-09 Sistema de comunicacion vocal y procedimiento para gestionar tramas perdidas.

Country Status (10)

Country Link
US (1) US6636829B1 (es)
EP (4) EP1577881A3 (es)
JP (3) JP4137634B2 (es)
KR (3) KR100754085B1 (es)
CN (3) CN1722231A (es)
AT (2) ATE317571T1 (es)
AU (1) AU2001266278A1 (es)
DE (2) DE60138226D1 (es)
ES (1) ES2325151T3 (es)
WO (1) WO2002007061A2 (es)

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072832B1 (en) * 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
EP1279167B1 (en) * 2000-04-24 2007-05-30 QUALCOMM Incorporated Method and apparatus for predictively quantizing voiced speech
US6983242B1 (en) * 2000-08-21 2006-01-03 Mindspeed Technologies, Inc. Method for robust classification in speech coding
US7010480B2 (en) * 2000-09-15 2006-03-07 Mindspeed Technologies, Inc. Controlling a weighting filter based on the spectral content of a speech signal
US7133823B2 (en) * 2000-09-15 2006-11-07 Mindspeed Technologies, Inc. System for an adaptive excitation pattern for speech coding
US6856961B2 (en) * 2001-02-13 2005-02-15 Mindspeed Technologies, Inc. Speech coding system with input signal transformation
US6871176B2 (en) * 2001-07-26 2005-03-22 Freescale Semiconductor, Inc. Phase excited linear prediction encoder
EP1793370B1 (en) * 2001-08-31 2009-06-03 Kabushiki Kaisha Kenwood apparatus and method for creating pitch wave signals and apparatus and method for synthesizing speech signals using these pitch wave signals
US7095710B2 (en) * 2001-12-21 2006-08-22 Qualcomm Decoding using walsh space information
EP1383110A1 (fr) * 2002-07-17 2004-01-21 STMicroelectronics N.V. Procédé et dispositif d'encodage de la parole à bande élargie, permettant en particulier une amélioration de la qualité des trames de parole voisée
GB2391440B (en) * 2002-07-31 2005-02-16 Motorola Inc Speech communication unit and method for error mitigation of speech frames
EP1589330B1 (en) 2003-01-30 2009-04-22 Fujitsu Limited Audio packet vanishment concealing device, audio packet vanishment concealing method, reception terminal, and audio communication system
US7379866B2 (en) * 2003-03-15 2008-05-27 Mindspeed Technologies, Inc. Simple noise suppression model
CN100576318C (zh) * 2003-05-14 2009-12-30 冲电气工业株式会社 用于隐藏被擦除的周期信号数据的装置与方法
KR100546758B1 (ko) * 2003-06-30 2006-01-26 한국전자통신연구원 음성의 상호부호화시 전송률 결정 장치 및 방법
KR100516678B1 (ko) * 2003-07-05 2005-09-22 삼성전자주식회사 음성 코덱의 음성신호의 피치검출 장치 및 방법
US7146309B1 (en) * 2003-09-02 2006-12-05 Mindspeed Technologies, Inc. Deriving seed values to generate excitation values in a speech coder
US20050065787A1 (en) * 2003-09-23 2005-03-24 Jacek Stachurski Hybrid speech coding and system
US7536298B2 (en) * 2004-03-15 2009-05-19 Intel Corporation Method of comfort noise generation for speech communication
US8725501B2 (en) * 2004-07-20 2014-05-13 Panasonic Corporation Audio decoding device and compensation frame generation method
US7873515B2 (en) * 2004-11-23 2011-01-18 Stmicroelectronics Asia Pacific Pte. Ltd. System and method for error reconstruction of streaming audio information
US7519535B2 (en) * 2005-01-31 2009-04-14 Qualcomm Incorporated Frame erasure concealment in voice communications
US20060190251A1 (en) * 2005-02-24 2006-08-24 Johannes Sandvall Memory usage in a multiprocessor system
US7418394B2 (en) * 2005-04-28 2008-08-26 Dolby Laboratories Licensing Corporation Method and system for operating audio encoders utilizing data from overlapping audio segments
JP2007010855A (ja) * 2005-06-29 2007-01-18 Toshiba Corp 音声再生装置
US9058812B2 (en) * 2005-07-27 2015-06-16 Google Technology Holdings LLC Method and system for coding an information signal using pitch delay contour adjustment
CN1929355B (zh) * 2005-09-09 2010-05-05 联想(北京)有限公司 语音包丢失恢复系统以及方法
JP2007114417A (ja) * 2005-10-19 2007-05-10 Fujitsu Ltd 音声データ処理方法及び装置
FR2897977A1 (fr) * 2006-02-28 2007-08-31 France Telecom Procede de limitation de gain d'excitation adaptative dans un decodeur audio
US7457746B2 (en) * 2006-03-20 2008-11-25 Mindspeed Technologies, Inc. Pitch prediction for packet loss concealment
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법
WO2008007698A1 (en) * 2006-07-12 2008-01-17 Panasonic Corporation Lost frame compensating method, audio encoding apparatus and audio decoding apparatus
US8255213B2 (en) 2006-07-12 2012-08-28 Panasonic Corporation Speech decoding apparatus, speech encoding apparatus, and lost frame concealment method
US7877253B2 (en) * 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
US8489392B2 (en) * 2006-11-06 2013-07-16 Nokia Corporation System and method for modeling speech spectra
RU2431892C2 (ru) * 2006-11-10 2011-10-20 Панасоник Корпорэйшн Устройство декодирования параметров, устройство кодирования параметров и способ декодирования параметров
KR100862662B1 (ko) 2006-11-28 2008-10-10 삼성전자주식회사 프레임 오류 은닉 방법 및 장치, 이를 이용한 오디오 신호복호화 방법 및 장치
KR101291193B1 (ko) * 2006-11-30 2013-07-31 삼성전자주식회사 프레임 오류은닉방법
CN100578618C (zh) * 2006-12-04 2010-01-06 华为技术有限公司 一种解码方法及装置
US8160890B2 (en) * 2006-12-13 2012-04-17 Panasonic Corporation Audio signal coding method and decoding method
US8688437B2 (en) 2006-12-26 2014-04-01 Huawei Technologies Co., Ltd. Packet loss concealment for speech coding
CN101286320B (zh) * 2006-12-26 2013-04-17 华为技术有限公司 增益量化系统用于改进语音丢包修补质量的方法
CN101226744B (zh) * 2007-01-19 2011-04-13 华为技术有限公司 语音解码器中实现语音解码的方法及装置
CN101009098B (zh) * 2007-01-26 2011-01-26 清华大学 声码器增益参数分模式抗信道误码方法
CN101256774B (zh) * 2007-03-02 2011-04-13 北京工业大学 用于嵌入式语音编码的帧擦除隐藏方法及系统
US9129590B2 (en) * 2007-03-02 2015-09-08 Panasonic Intellectual Property Corporation Of America Audio encoding device using concealment processing and audio decoding device using concealment processing
CN101325631B (zh) 2007-06-14 2010-10-20 华为技术有限公司 一种估计基音周期的方法和装置
CN101887723B (zh) * 2007-06-14 2012-04-25 华为终端有限公司 一种对基音周期进行微调的方法和装置
JP2009063928A (ja) * 2007-09-07 2009-03-26 Fujitsu Ltd 補間方法、情報処理装置
US20090094026A1 (en) * 2007-10-03 2009-04-09 Binshi Cao Method of determining an estimated frame energy of a communication
CN100550712C (zh) * 2007-11-05 2009-10-14 华为技术有限公司 一种信号处理方法和处理装置
KR100998396B1 (ko) * 2008-03-20 2010-12-03 광주과학기술원 프레임 손실 은닉 방법, 프레임 손실 은닉 장치 및 음성송수신 장치
CN101339767B (zh) * 2008-03-21 2010-05-12 华为技术有限公司 一种背景噪声激励信号的生成方法及装置
CN101604523B (zh) * 2009-04-22 2012-01-04 网经科技(苏州)有限公司 在g.711语音编码中隐藏冗余信息的方法
US9020812B2 (en) * 2009-11-24 2015-04-28 Lg Electronics Inc. Audio signal processing method and device
US9838784B2 (en) 2009-12-02 2017-12-05 Knowles Electronics, Llc Directional audio capture
US8280726B2 (en) * 2009-12-23 2012-10-02 Qualcomm Incorporated Gender detection in mobile phones
RU2510974C2 (ru) * 2010-01-08 2014-04-10 Ниппон Телеграф Энд Телефон Корпорейшн Способ кодирования, способ декодирования, устройство кодера, устройство декодера, программа и носитель записи
US9082416B2 (en) 2010-09-16 2015-07-14 Qualcomm Incorporated Estimating a pitch lag
CN101976567B (zh) * 2010-10-28 2011-12-14 吉林大学 一种语音信号差错掩盖方法
KR101699898B1 (ko) 2011-02-14 2017-01-25 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 스펙트럼 영역에서 디코딩된 오디오 신호를 처리하기 위한 방법 및 장치
BR112013020324B8 (pt) * 2011-02-14 2022-02-08 Fraunhofer Ges Forschung Aparelho e método para supressão de erro em fala unificada de baixo atraso e codificação de áudio
MY165853A (en) 2011-02-14 2018-05-18 Fraunhofer Ges Forschung Linear prediction based coding scheme using spectral domain noise shaping
TWI564882B (zh) 2011-02-14 2017-01-01 弗勞恩霍夫爾協會 利用重疊變換之資訊信號表示技術(一)
EP2676267B1 (en) 2011-02-14 2017-07-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoding and decoding of pulse positions of tracks of an audio signal
WO2012110448A1 (en) 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for coding a portion of an audio signal using a transient detection and a quality result
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
DE20163502T1 (de) * 2011-02-15 2020-12-10 Voiceage Evs Gmbh & Co. Kg Vorrichtung und verfahren zur quantisierung der verstärkung von adaptiven und festen beiträgen der anregung in einem celp-koder-dekoder
US9275644B2 (en) * 2012-01-20 2016-03-01 Qualcomm Incorporated Devices for redundant frame coding and decoding
SG11201510513WA (en) 2013-06-21 2016-01-28 Fraunhofer Ges Forschung Method and apparatus for obtaining spectrum coefficients for a replacement frame of an audio signal, audio decoder, audio receiver and system for transmitting audio signals
ES2635555T3 (es) * 2013-06-21 2017-10-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y método para el desvanecimiento de señales mejorado en diferentes dominios durante el ocultamiento de errores
CN104240715B (zh) * 2013-06-21 2017-08-25 华为技术有限公司 用于恢复丢失数据的方法和设备
CN104299614B (zh) * 2013-07-16 2017-12-29 华为技术有限公司 解码方法和解码装置
CN108364657B (zh) 2013-07-16 2020-10-30 超清编解码有限公司 处理丢失帧的方法和解码器
US9536540B2 (en) 2013-07-19 2017-01-03 Knowles Electronics, Llc Speech signal separation and synthesis based on auditory scene analysis and speech modeling
PT3063759T (pt) 2013-10-31 2018-03-22 Fraunhofer Ges Forschung Descodificador de áudio e método para fornecer uma informação de áudio descodificada utilizando uma dissimulação de erros que modifica um sinal de excitação de domínio de tempo
BR122020015614B1 (pt) 2014-04-17 2022-06-07 Voiceage Evs Llc Método e dispositivo para interpolar parâmetros de filtro de predição linear em um quadro de processamento de sinal sonoro atual seguindo um quadro de processamento de sinal sonoro anterior
KR101597768B1 (ko) * 2014-04-24 2016-02-25 서울대학교산학협력단 입체 음향을 이용한 다자간 인터랙티브 통화 시스템 및 방법
CN106683681B (zh) * 2014-06-25 2020-09-25 华为技术有限公司 处理丢失帧的方法和装置
US9583115B2 (en) 2014-06-26 2017-02-28 Qualcomm Incorporated Temporal gain adjustment based on high-band signal characteristic
CN106486129B (zh) * 2014-06-27 2019-10-25 华为技术有限公司 一种音频编码方法和装置
WO2016040885A1 (en) 2014-09-12 2016-03-17 Audience, Inc. Systems and methods for restoration of speech components
WO2016142002A1 (en) * 2015-03-09 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal
US9837094B2 (en) * 2015-08-18 2017-12-05 Qualcomm Incorporated Signal re-use during bandwidth transition period
CN107248411B (zh) 2016-03-29 2020-08-07 华为技术有限公司 丢帧补偿处理方法和装置
US9820042B1 (en) 2016-05-02 2017-11-14 Knowles Electronics, Llc Stereo separation and directional suppression with omni-directional microphones
US10657983B2 (en) * 2016-06-15 2020-05-19 Intel Corporation Automatic gain control for speech recognition
US9978392B2 (en) * 2016-09-09 2018-05-22 Tata Consultancy Services Limited Noisy signal identification from non-stationary audio signals
CN108922551B (zh) * 2017-05-16 2021-02-05 博通集成电路(上海)股份有限公司 用于补偿丢失帧的电路及方法
EP3483886A1 (en) * 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
JP6914390B2 (ja) * 2018-06-06 2021-08-04 株式会社Nttドコモ 音声信号処理方法
BR112021012753A2 (pt) * 2019-01-13 2021-09-08 Huawei Technologies Co., Ltd. Método implementado por computador para codificação de áudio, dispositivo eletrônico e meio legível por computador não transitório
CN111105804B (zh) * 2019-12-31 2022-10-11 广州方硅信息技术有限公司 语音信号处理方法、系统、装置、计算机设备和存储介质
CN111933156B (zh) * 2020-09-25 2021-01-19 广州佰锐网络科技有限公司 基于多重特征识别的高保真音频处理方法及装置
CN112489665B (zh) * 2020-11-11 2024-02-23 北京融讯科创技术有限公司 语音处理方法、装置以及电子设备
CN112802453B (zh) * 2020-12-30 2024-04-26 深圳飞思通科技有限公司 快速自适应预测拟合语音方法、系统、终端及存储介质
CN114120959B (zh) * 2021-11-15 2025-02-25 深圳供电局有限公司 音频数据传输方法、系统及存储介质
CN115035885A (zh) * 2022-04-15 2022-09-09 科大讯飞股份有限公司 一种语音合成方法、装置、设备及存储介质
KR102783881B1 (ko) * 2024-04-19 2025-03-21 전남대학교 산학협력단 확장된 병목 트랜스포머와 동적 제한 적응 손실을 활용한 경량화 멀티모달 퓨전 방법 및 장치
CN121054009B (zh) * 2025-11-03 2026-02-03 马栏山音视频实验室 基于神经网络的线谱频率增强方法、装置、设备及介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2483324C (en) * 1991-06-11 2008-05-06 Qualcomm Incorporated Estimation of background noise in a variable rate vocoder
US5255343A (en) * 1992-06-26 1993-10-19 Northern Telecom Limited Method for detecting and masking bad frames in coded speech signals
US5502713A (en) * 1993-12-07 1996-03-26 Telefonaktiebolaget Lm Ericsson Soft error concealment in a TDMA radio system
US5699478A (en) 1995-03-10 1997-12-16 Lucent Technologies Inc. Frame erasure compensation technique
CA2177413A1 (en) * 1995-06-07 1996-12-08 Yair Shoham Codebook gain attenuation during frame erasures
KR100339168B1 (ko) * 1996-11-07 2002-06-03 모리시타 요이찌 음원 벡터 생성 장치, 음성 부호화 장치 및 음성 복호화장치
US6148282A (en) * 1997-01-02 2000-11-14 Texas Instruments Incorporated Multimodal code-excited linear prediction (CELP) coder and method using peakiness measure
WO1999010719A1 (en) * 1997-08-29 1999-03-04 The Regents Of The University Of California Method and apparatus for hybrid coding of speech at 4kbps
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
US6810377B1 (en) * 1998-06-19 2004-10-26 Comsat Corporation Lost frame recovery techniques for parametric, LPC-based speech coding systems
US6240386B1 (en) * 1998-08-24 2001-05-29 Conexant Systems, Inc. Speech codec employing noise classification for noise compensation
KR100281181B1 (ko) * 1998-10-16 2001-02-01 윤종용 약전계에서 코드 분할 다중 접속 시스템의 코덱 잡음 제거 방법
US6549587B1 (en) * 1999-09-20 2003-04-15 Broadcom Corporation Voice and data exchange over a packet based network with timing recovery
US7423983B1 (en) * 1999-09-20 2008-09-09 Broadcom Corporation Voice and data exchange over a packet based network

Also Published As

Publication number Publication date
CN1722231A (zh) 2006-01-18
EP1363273B1 (en) 2009-04-01
WO2002007061A3 (en) 2002-08-22
CN1441950A (zh) 2003-09-10
EP2093756B1 (en) 2012-10-31
KR100742443B1 (ko) 2007-07-25
EP1301891A2 (en) 2003-04-16
JP2006011464A (ja) 2006-01-12
EP1363273A1 (en) 2003-11-19
KR20030040358A (ko) 2003-05-22
KR20050061615A (ko) 2005-06-22
JP4137634B2 (ja) 2008-08-20
ATE427546T1 (de) 2009-04-15
EP1577881A3 (en) 2005-10-19
JP2004504637A (ja) 2004-02-12
KR20040005970A (ko) 2004-01-16
US6636829B1 (en) 2003-10-21
CN1212606C (zh) 2005-07-27
DE60117144D1 (de) 2006-04-20
ATE317571T1 (de) 2006-02-15
EP1577881A2 (en) 2005-09-21
EP2093756A1 (en) 2009-08-26
AU2001266278A1 (en) 2002-01-30
JP4222951B2 (ja) 2009-02-12
CN1267891C (zh) 2006-08-02
EP1301891B1 (en) 2006-02-08
JP2004206132A (ja) 2004-07-22
CN1516113A (zh) 2004-07-28
WO2002007061A2 (en) 2002-01-24
DE60138226D1 (de) 2009-05-14
DE60117144T2 (de) 2006-10-19
KR100754085B1 (ko) 2007-08-31

Similar Documents

Publication Publication Date Title
ES2325151T3 (es) Sistema de comunicacion vocal y procedimiento para gestionar tramas perdidas.
US10181327B2 (en) Speech gain quantization strategy
ES2276845T3 (es) Metodos y aparatos para la clasificacion de voz robusta.
US10204628B2 (en) Speech coding system and method using silence enhancement
JP4927257B2 (ja) 可変レートスピーチ符号化
JP4658596B2 (ja) 線形予測に基づく音声コーデックにおける効率的なフレーム消失の隠蔽のための方法、及び装置
US7797161B2 (en) Method and apparatus for performing packet loss or frame erasure concealment
US6694293B2 (en) Speech coding system with a music classifier
US7233897B2 (en) Method and apparatus for performing packet loss or frame erasure concealment
US20060167693A1 (en) Method and apparatus for performing packet loss or frame erasure concealment
AU2001255422A1 (en) Gains quantization for a celp speech coder
JP2006502427A (ja) 適応マルチレート広帯域(amr−wb)コーデックとマルチモード可変ビットレート広帯域(vmr−wb)コーデック間における相互運用方法
US7146309B1 (en) Deriving seed values to generate excitation values in a speech coder