ES2662936T3 - Aparato, método y programa informático correspondiente para generar una señal de ocultación de error usando una estimación de ruido adaptativa - Google Patents
Aparato, método y programa informático correspondiente para generar una señal de ocultación de error usando una estimación de ruido adaptativa Download PDFInfo
- Publication number
- ES2662936T3 ES2662936T3 ES15707397.4T ES15707397T ES2662936T3 ES 2662936 T3 ES2662936 T3 ES 2662936T3 ES 15707397 T ES15707397 T ES 15707397T ES 2662936 T3 ES2662936 T3 ES 2662936T3
- Authority
- ES
- Spain
- Prior art keywords
- lpc
- representation
- noise
- signal
- replacement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 60
- 230000003044 adaptive effect Effects 0.000 title claims description 35
- 230000003595 spectral effect Effects 0.000 claims description 46
- 230000015572 biosynthetic process Effects 0.000 claims description 33
- 238000003786 synthesis reaction Methods 0.000 claims description 33
- 238000006467 substitution reaction Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013459 approach Methods 0.000 claims description 7
- 238000009499 grossing Methods 0.000 claims description 7
- 238000009877 rendering Methods 0.000 claims description 5
- 238000001228 spectrum Methods 0.000 claims description 5
- 101001057424 Archaeoglobus fulgidus (strain ATCC 49558 / DSM 4304 / JCM 9628 / NBRC 100126 / VC-16) Iron-sulfur flavoprotein AF_1519 Proteins 0.000 claims 1
- 101001057426 Archaeoglobus fulgidus (strain ATCC 49558 / DSM 4304 / JCM 9628 / NBRC 100126 / VC-16) Iron-sulfur flavoprotein AF_1896 Proteins 0.000 claims 1
- 101001057427 Methanocaldococcus jannaschii (strain ATCC 43067 / DSM 2661 / JAL-1 / JCM 10045 / NBRC 100440) Iron-sulfur flavoprotein MJ1083 Proteins 0.000 claims 1
- 230000015654 memory Effects 0.000 description 33
- 239000013598 vector Substances 0.000 description 33
- 238000004364 calculation method Methods 0.000 description 13
- 230000005284 excitation Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000011084 recovery Methods 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000007774 longterm Effects 0.000 description 5
- 238000010572 single replacement reaction Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 108010076504 Protein Sorting Signals Proteins 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000013213 extrapolation Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000004870 electrical engineering Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/028—Noise substitution, i.e. substituting non-tonal spectral components by noisy source
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L2019/0001—Codebooks
- G10L2019/0002—Codebook adaptations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Soundproofing, Sound Blocking, And Sound Damping (AREA)
- Noise Elimination (AREA)
Abstract
Un aparato para generar una señal de ocultación de error, que comprende: un generador de representación de codificación predictiva lineal, LPC, (100) para generar una representación de LPC de sustitución; un sintetizador de LPC (106, 108) para filtrar una información de libro de códigos usando la representación de LPC de sustitución para obtener una señal de sustitución, a partir de la cual se deriva la señal de ocultación de error; y un estimador de ruido (206) para estimar una estimación de ruido durante una recepción de tramas de audio correctas, en el que la estimación de ruido depende de las tramas de audio correctas, y en el que la estimación de ruido se deriva desde una señal decodificada anterior (208), y en el que el generador de representación de LPC (100) está configurado para usar la estimación de ruido estimada por el estimador de ruido (206) al generar la representación de LPC de sustitución.
Description
5
10
15
20
25
30
35
40
45
50
55
60
Aparato, método y programa informático correspondiente para generar una señal de ocultación de error usando una
estimación de ruido adaptativa
DESCRIPCIÓN
Memoria descriptiva
La presente invención se refiere a la codificación de audio y, en particular, a la codificación de audio basada en el procesamiento de tipo LPC en el contexto de libros de códigos.
Los codificadores perceptuales de audio con frecuencia utilizan la codificación predictiva lineal (LPC) para modelar el tracto vocal humano y para reducir la cantidad de redundancia, que puede modelarse por los parámetros de LPC. La LPC residual, que se obtiene filtrando la señal de entrada con el filtro de LPC, se modela a su vez y se transmite mediante su representación por uno, dos o más libros de códigos (los ejemplos son: libro de códigos adaptativo, libro de códigos de pulso glotal, libro de códigos innovador, libro de códigos de transición, libros de códigos híbridos que consisten en partes predictivas y de transformación).
En caso de una pérdida de tramas, se pierde un segmento de los datos de voz/audio (típicamente 10 ms o 20 ms). Para que esta pérdida sea lo menos audible posible, se aplican diversas técnicas de ocultación. Estas técnicas habitualmente consisten en la extrapolación de los datos recibidos anteriores. Estos datos pueden ser: ganancias de libros de códigos, vectores de libros de códigos, parámetros para modelar los libros de códigos y los coeficientes de LPC. En toda la tecnología de ocultación conocida en el estado actual de la técnica, se repite (basándose en el último conjunto conocido) o se extra-/interpola, el conjunto de coeficientes de LPC, que se utiliza para la síntesis de la señal.
ITU G.718 [1]: los parámetros de LPC (representados en el dominio de ISF) se extrapolan durante la ocultación. La extrapolación consiste en dos etapas. En primer lugar, se calcula un vector de ISF a largo plazo. Este vector de ISF a largo plazo es una media ponderada (con el factor de ponderación fijo beta) de
• un vector de ISF que representa el promedio de los tres últimos vectores de ISF conocidos y
• un vector de ISF entrenado fuera de línea, que representa una forma espectral promedio a largo plazo.
A continuación se interpola este vector de ISF a largo plazo de destino con el último vector de ISF correctamente recibido por trama utilizando un factor variable en el tiempo alfa para permitir una atenuación cruzada del último vector de ISF recibido al vector de ISF a largo plazo de destino. Seguidamente se convierte el vector de ISF así obtenido nuevamente al dominio de los LPC, para generar etapas intermedias (los ISF se transmiten cada 20 ms, la interpolación genera un conjunto de LPC cada 5 ms). A continuación se utilizan los LPC para sintetizar la señal de salida filtrando el resultado de la suma de los libros de códigos adaptativos y fijos, que se amplifican con las correspondientes ganancias de libros de códigos antes de la adición. El libro de códigos fijo contiene ruido durante la ocultación. En el caso de pérdida de tramas consecutivas, se realimenta el libro de códigos adaptativo sin añadir el libro de códigos fijo. Por otro lado, la señal de suma puede realimentarse, como se hace en AMR-WB [5].
En [2], se describe un esquema de ocultación que utiliza dos conjuntos de coeficientes de LPC. Un conjunto de coeficientes de LPC se deriva basándose en la última trama correcta recibida, el otro conjunto de parámetros de LPC se deriva basándose en la primera trama correcta recibida, aunque se supone que la señal evoluciona en dirección inversa (hacia el pasado). A continuación se realiza la predicción en dos direcciones, una hacia el futuro y una hacia el pasado. Por lo tanto, se generan dos representaciones de la trama faltante. Por último, se ponderan y promedian ambas señales antes de su reproducción.
La Fig. 8 ilustra un procesamiento de ocultación de errores de acuerdo con la técnica anterior. Un libro de códigos adaptativo 800 proporciona una información de libro de códigos adaptativo a un amplificador 808 que aplica una ganancia de libro de códigos gp a la información enviada desde el libro de códigos adaptativo 800. La salida del amplificador 808 se conecta a una entrada de un combinador 810. Además, un generador de ruido aleatorio 804 junto con un libro de códigos fijo 802 proporciona información del libro de códigos a otro amplificador gc. El amplificador gc indicado en 806 aplica el factor de ganancia gc, que es la ganancia de libro de códigos fijo, a la información proporcionada por el libro de códigos fijo 802 junto con el generador de ruido aleatorio 804. A continuación se envía también la salida del amplificador 806 al combinador 810. El combinador 810 suma el resultado de ambos libros de códigos amplificados por las correspondientes ganancias de libro de códigos para obtener una señal de combinación que a continuación se envía a un bloque de síntesis de LPC 814. El bloque de síntesis de LPC 814 se controla mediante la representación de reemplazo que se genera de la manera antes descrita.
Este procedimiento de la técnica anterior presenta ciertas desventajas.
5
10
15
20
25
30
35
40
45
50
55
60
Para hacer frente a las características cambiantes de la señal para que la envolvente de LPC converja hacia propiedades del tipo ruido de fondo, se cambia la LPC durante la ocultación por extra/interpolación con otros vectores de LPC. No hay posibilidad de controlar con precisión la energía durante la ocultación. Si bien existe la posibilidad de controlar las ganancias de libro de códigos de los diversos libros de códigos, la LPC influye implícitamente el nivel o la energía global (incluso la dependiente de la frecuencia).
Se podría contemplar la atenuación gradual hasta un nivel de energía determinado (por ej. el nivel de ruido de fondo) durante la pérdida de tramas en ráfagas. Esto no es posible en la tecnología del estado actual de la técnica, ni siquiera controlando las ganancias de libro de códigos.
No es posible atenuar las partes con ruido de la señal a ruido de fondo, y mantener al mismo tiempo la posibilidad de sintetizar las partes tonales con la misma propiedad espectral que antes de la pérdida de tramas. Se describe otro esquema de ocultación en [6].
Un objetivo de la presente invención es dar a conocer un concepto mejorado para generar una señal de ocultación de error.
Este objetivo se logra por medio de un aparato para generar una señal de ocultación de error de acuerdo con la reivindicación 1, un método para generar una señal de ocultación de error de acuerdo con la reivindicación 16 o un programa informático de acuerdo con la reivindicación 17. En un aspecto de la presente invención, el aparato para generar una señal de ocultación de error comprende un generador de representaciones de LPC para generar una primera representación de LPC de sustitución y una segunda representación de LPC de sustitución diferente. Además, se proporciona un sintetizador de LPC para filtrar una primera información de libros de códigos empleando la primera representación de LPC de sustitución para obtener una primera señal de sustitución y para filtrar una segunda información de libros de códigos diferente utilizando la segunda representación de LPC de sustitución para obtener una segunda señal de sustitución. Se combinan las salidas del sintetizador de LPC por medio de un combinador de señales de sustitución que combina la primera señal de sustitución y la segunda señal de sustitución para obtener la señal de audio de ocultación de error.
El primer libro de códigos es preferentemente un libro de códigos adaptativo para proporcionar la primera información de libros de códigos y el segundo libro de códigos preferentemente en forma de libro de códigos para proporcionar la segunda información de libros de códigos. En otras palabras, el primer libro de códigos representa la parte tonal de la señal y el segundo libro de códigos o libro de códigos fijo representa la parte con ruido de la señal y por lo tanto se puede considerar que es un libro de códigos de ruido.
La primera información de libros de códigos correspondiente al libro de códigos adaptativo se genera utilizando un valor medio de las últimas representaciones de LPC correctas, la última representación correcta y un valor de atenuación. Además, la representación de LPC correspondiente al segundo libro de códigos o libro de códigos fijo se genera utilizando el valor de atenuación de la última representación de LPC y una estimación de ruido. Dependiendo de la implementación, la estimación de ruido puede ser un valor fijo, un valor entrenado fuera de línea o puede derivarse adaptativamente de una señal que precede a una situación de ocultación de errores.
Preferentemente, se realiza un cálculo de ganancia de LPC para calcular la influencia de una representación de LPC de sustitución y a continuación se utiliza esta información para realizar una compensación de manera que la potencia o sonoridad o, por lo general, una medida relacionada con la amplitud, de la señal de síntesis sea similar a la correspondiente señal de síntesis anterior a la operación de ocultación de error.
En un aspecto adicional, un aparato para generar una señal de ocultación de error comprende un generador de representaciones de LPC para generar una o más representaciones de LPC de sustitución. Además, se incluye el calculador de ganancias para calcular la información de ganancia a partir de la representación de LPC y a continuación también se incluye un compensador para compensar una influencia de ganancia de la representación de LPC de sustitución y esta compensación de ganancia opera utilizando la operación de ganancia proporcionada por el calculador de ganancias. A continuación un sintetizador de LPC filtra una información del libro de códigos utilizando la representación de LPC de sustitución para obtener la señal de ocultación de error, en el que el compensador está configurado para ponderar la información del libro de códigos antes de su síntesis por el sintetizador de LPC o para ponderar la señal de salida de síntesis de LPC. De esa manera, se reduce o elimina toda ganancia o influencia perceptible relacionada con la potencia o amplitud al comienzo de una situación de ocultación de errores.
Esta compensación no sólo es útil para representaciones de LPC individuales como se esbozó en el aspecto anterior, sino que también es útil en el caso de utilizar sólo una representación de LPC de sustitución única con un solo sintetizador de LPC.
5
10
15
20
25
30
35
40
45
50
55
60
Los valores de ganancia se determinan calculando las respuestas al impulso de la última representación de LPC correcta y una representación de LPC de sustitución calculando, en particular, un valor rms sobre la respuesta al impulso de la correspondiente representación de LPC a través de un cierto tiempo que se encuentra entre 3 y 8 ms y preferentemente es de 5 ms.
En una implementación, se determina el valor de ganancia real dividiendo un nuevo valor rms, es decir un valor rms correspondiente a una representación de LPC de sustitución por un valor rms de la representación de LPC correcta.
Preferentemente, la única representación de LPC de sustitución o varias de ellas se calculan utilizando una estimación de ruido de fondo que es preferentemente una estimación de ruido de fondo derivada de las señales decodificadas en ese momento a diferencia de una estimación de ruido simplemente predeterminada por un vector entrenado fuera de línea.
En otro aspecto, un aparato para generar una señal comprende un generador de representaciones de LPC para generar una o más representaciones de LPC de sustitución, y un sintetizador de LPC para filtrar una información del libro de códigos utilizando la representación de LPC de sustitución. Además, se presenta un estimador de ruido para estimar una estimación de ruido durante la recepción de tramas de audio correctas, y esta estimación de ruido depende de las tramas de audio correctas. El generador de representaciones está configurado para usar la estimación de ruido estimada por el estimador de ruido al generar la representación de LPC de sustitución.
La representación espectral de una señal decodificada anterior se procesa para proporcionar una representación espectral de ruido o representación de destino. La representación espectral de ruido se convierte a una representación de LPC de ruido y la representación de LPC de ruido es preferentemente el mismo tipo de representación de LPC que la representación de LPC de sustitución. Son preferibles los vectores de ISF o vectores de LSF para los procedimientos específicos relacionados con el procesamiento de LPC.
La estimación se deriva utilizando un enfoque de estadísticas mínimas con alisado óptimo de una señal decodificada anterior. A continuación se convierte esta estimación de ruido espectral a una representación en el dominio del tiempo. Seguidamente se realiza una recursión de Levinson-Durbin utilizando un primer número de muestras de la representación en el dominio del tiempo, donde el número de muestras es igual a un orden de LPC. A continuación se derivan los coeficientes de LPC del resultado de la recursión de Levinson-Durbin y este resultado se transforma, por último, en un vector. El aspecto del uso de representaciones individuales de LPC correspondientes a libros de códigos individuales, el aspecto del uso de una o más representaciones de LPC con compensación de ganancia y el aspecto del uso de una estimación de ruido en la generación de una o más representaciones de LPC, estimación que no es un vector entrenado fuera de línea sino una estimación de ruido derivada de la señal anterior decodificada son aspectos que se pueden utilizar individualmente para obtener una mejora con respecto a la técnica anterior.
Además, estos aspectos individuales también se pueden combinar entre sí de manera que, por ejemplo, se puede combinar el primer aspecto y el segundo aspecto o se puede combinar el primer aspecto o se puede combinar el tercer aspecto o se puede combinar el segundo aspecto y el tercer aspecto entre sí para dar lugar a una eficiencia mejorada con respecto a la técnica anterior. Aún más preferentemente, los tres aspectos se pueden combinar entre sí para obtener mejoras con respecto a la técnica anterior. Por consiguiente, aunque se describen los aspectos con figuras separadas todos los aspectos se pueden aplicar en combinación mutua, como se puede apreciar con referencia a las figuras adjuntas y a la descripción.
A continuación se describen las realizaciones preferidas de la presente invención con respecto a los dibujos adjuntos, en los cuales:
Fig. 1a ilustra una realización del primer aspecto;
Fig. 1b ilustra un uso de un libro de códigos adaptativo;
Fig. 1c ilustra un uso de un libro de códigos fijo en el caso de un modo normal o un modo de ocultación;
Fig. 1d ilustra un diagrama de flujo para calcular la primera representación de LPC de sustitución;
Fig. 1e ilustra un diagrama de flujo para calcular la segunda representación de LPC de sustitución;
Fig. 2 ilustra una vista general de un decodificador con controlador de ocultación de errores y estimador de ruido;
Fig. 3 ilustra una representación detallada de los filtros de síntesis;
Fig. 4 ilustra una realización preferida que combina el primer aspecto y el segundo aspecto;
5
10
15
20
25
30
35
40
45
50
55
60
Fig. 5 ilustra otra realización que combina el primero y segundo aspectos;
Fig. 6 ilustra la realización que combina el primero y segundo aspectos;
Fig. 7a ilustra una realización de la realización de una compensación de ganancia.
Fig. 7b ilustra un diagrama de flujo de la realización de una compensación de ganancia;
Fig. 8 ilustra un generador de señales de ocultación de errores de la técnica anterior;
Fig. 9 ilustra una realización de acuerdo con el segundo aspecto con compensación de ganancia;
Fig. 10 ilustra otra implementación de la realización de la Fig. 9;
Fig. 11 ilustra una realización del tercer aspecto que utiliza el estimador de ruido;
Fig. 12a ilustra una implementación preferida del cálculo de la estimación de ruido;
Fig. 12b ilustra otra implementación preferida del cálculo de la estimación de ruido; y
Fig. 13 ilustra el cálculo de una única representación de LPC de sustitución o representaciones de LPC de sustitución individuales correspondientes a libros de códigos individuales utilizando una estimación de ruido y aplicando una operación de atenuación.
Las realizaciones preferidas de la presente invención se refieren al control de nivel de la señal de salida por medio de las ganancias de libro de códigos independientemente de cualquier cambio de ganancia causado por la LPC extrapolada y para controlar la forma espectral modelada por LPC por separado por cada libro de códigos. Para este fin, se aplican LPC separadas por cada libro de códigos y se aplican medios de compensación para compensar cualquier cambio de la ganancia de LPC durante la ocultación.
Las realizaciones de la presente invención, definidas en los diferentes aspectos o en los aspectos combinados, tienen la ventaja de otorgar una alta calidad subjetiva de voz/audio en caso de que uno o más paquetes de datos no se reciban correctamente o no se reciban en absoluto en el lado del decodificador.
Además, las realizaciones preferidas compensan las diferencias de ganancia entre LPC sucesivas durante la ocultación, que podrían surgir como resultado del cambio de los coeficientes de LPC con el tiempo, y por lo tanto se evitan los cambios de nivel no deseados.
Por añadidura, las realizaciones son ventajosas por el hecho de que durante la ocultación se utilizan dos o más conjuntos de coeficientes de LPC para influir de manera independiente sobre el comportamiento espectral de las partes con y sin voz y también las partes de audio tonales y de ruido.
Todos los aspectos de la presente invención proporcionan una calidad de audio subjetiva mejorada.
De acuerdo con un aspecto de la presente invención, se controla la energía con precisión durante la interpolación. Se compensa cualquier ganancia que se pueda introducir cambiando la LPC.
De acuerdo con otro aspecto de esta invención, se utilizan conjuntos de coeficientes de LPC individuales por cada uno de los vectores de libros de códigos. Se filtra cada vector de libro de códigos por su correspondiente LPC e inmediatamente después se suman las señales filtradas individuales para obtener la salida sintetizada. Por el contrario, la tecnología del estado actual de la técnica suma en primer lugar todos los vectores de excitación (que se generan de los diferentes libros de códigos) y a continuación alimenta la suma a un único filtro de LPC.
De acuerdo con otro aspecto, no se utiliza una estimación de ruido, por ejemplo en forma de vector entrenado fuera de línea, sino que en realidad se deriva de las tramas anteriores decodificadas de manera que, después de una cierta cantidad de paquetes/tramas erróneas o faltantes, se obtiene una atenuación gradual hasta el ruido de fondo real en lugar de algún espectro de ruido predeterminado. Esto da lugar, en particular, a un sentimiento de aceptación por parte de un usuario, debido a que, incluso cuando se produce una situación de error, la señal proporcionada por el decodificador tras un cierto número de tramas está relacionada con la señal precedente. Sin embargo, la señal proporcionada por un decodificador en el caso de un cierto número de tramas perdidas o erróneas es una señal que no está relacionada en absoluto con la señal proporcionada por el decodificador antes de una situación de error.
La aplicación de una compensación de ganancia correspondiente a la ganancia variable en el tiempo de la LPC
5
10
15
20
25
30
35
40
45
50
55
60
ofrece las siguientes ventajas:
Compensa toda ganancia que se pueda introducir por el cambio de la LPC.
Por tanto, se puede controlar el nivel de la señal de salida por las ganancias de libro de códigos de los diversos libros de códigos. Esto permite una atenuación gradual predeterminada mediante la eliminación de toda influencia no deseada por la LPC interpolada.
El uso de un conjunto separada de coeficientes de LPC por cada libro de códigos utilizado durante la ocultación ofrece las siguientes ventajas:
Genera la posibilidad de influir en la forma espectral de las partes tonales y de ruido de la señal por separado.
Brinda la posibilidad de reproducir la parte de voz de la señal casi sin cambios (por ej. conveniente para las vocales), en tanto que la parte con ruido se puede convertir rápidamente a ruido de fondo.
Brinda la posibilidad de ocultar las partes con voz y atenuar gradualmente la parte con voz con una velocidad de atenuación arbitraria (por ej. la atenuación gradual dependiente de las características de la señal), a la vez que mantiene simultáneamente el ruido de fondo durante la ocultación. Los códecs del estado de la técnica por lo general adolecen de un sonido de ocultación de voz muy limpio.
Brinda medios para atenuar a ruido de fondo durante la ocultación de manera suave, atenuando gradualmente las partes tonales sin cambiar las propiedades espectrales y atenuando las partes de ruido a la envolvente espectral de fondo.
La Fig. 1a ilustra un aparato para generar una señal de ocultación de error 111. El aparato comprende un generador de representaciones de LPC 100 para generar una primera representación de sustitución y además para generar una segunda representación de LPC de sustitución. Como se esboza en la Fig. 1a, la primera representación de LPC de sustitución se introduce en un sintetizador de LPC 106 para filtrar una primera información de libros de códigos emitida por un primer libro de códigos 102 tal como un libro de códigos adaptativo 102 para obtener una primera señal de sustitución a la salida del bloque 106. Además, la segunda representación de LPC de sustitución generada por el generador de representaciones de LPC 100 se introduce en el sintetizador de LPC para filtrar una segunda información de libros de códigos diferente proporcionada por un segundo libro de códigos 104 que es, por ejemplo, un libro de códigos fijo, para obtener una segunda señal de sustitución a la salida del bloque 108. A continuación, ambas señales de sustitución se introducen en un combinador de señales de sustitución 110 para combinar la primera señal de sustitución y la segunda señal de sustitución para obtener la señal de ocultación de error 111. Ambos sintetizadores de LPC 106, 108 pueden implementarse en un único bloque de sintetizador de LPC o pueden implementarse en forma de filtros de sintetizador de LPC separados. En otras implementaciones, ambos procedimientos de sintetizador de LPC pueden implementarse por dos filtros de LPC que realmente se implementan y operan en paralelo. Sin embargo, la síntesis de LPC también puede ser un filtro de síntesis de LPC y un cierto control de tal manera que el filtro de síntesis de LPC proporcione una señal de salida correspondiente a la primera información de libros de códigos y a la primera representación de sustitución y a continuación, con posterioridad a esta primera operación, el control proporciona la segunda información de libros de códigos y la segunda representación de sustitución al filtro de síntesis para obtener la segunda señal de sustitución de una manera en serie. Otras implementaciones correspondientes al sintetizador de LPC aparte de un único o varios bloques de síntesis son evidentes para los expertos en la materia.
Por lo general, las señales de salida de síntesis de LPC son señales en el dominio del tiempo y el combinador de señales de sustitución 110 realiza una combinación de señales de síntesis de salida realizando una adición sincronizada muestra por muestra. Sin embargo, el combinador de señales de sustitución 110 también puede realizar otras combinaciones, tales como una adición ponderada muestra por muestra o una suma en el dominio de la frecuencia o cualquier otra combinación de señales.
Adicionalmente, se indica que el primer libro de códigos 102 comprende un libro de códigos adaptativo y se indica que el segundo libro de códigos 104 comprende un libro de códigos fijo. Sin embargo, el primer libro de códigos y el segundo libro de códigos pueden ser cualquier tipo de libro de códigos tal como un libro de códigos predictivo como primer libro de códigos y un libro de códigos de ruido como segundo libro de códigos. Sin embargo, otros libros de códigos pueden ser libros de códigos de pulso glotal, libros de códigos innovadores, libros de códigos de transición, libros de códigos híbridos que consisten en partes predictivas y de transformación, libros de códigos correspondientes a generadores de voz individuales tales como hombres/mujeres/niños o libros de códigos correspondientes a diferentes sonidos tales como sonidos animales, etc.
La Fig. 1b ilustra una representación de un libro de códigos adaptativo. El libro de códigos adaptativo está provisto de un bucle de realimentación 120 y recibe, como entrada, un retardo tonal 118. El retardo tonal puede ser un
5
10
15
20
25
30
35
40
45
50
55
retardo tonal decodificado en el caso de una trama/paquete correcto recibido. Sin embargo, si se detecta una situación de error que indica una trama/paquete erróneo o faltante, a continuación el decodificador emite un retardo tonal de ocultación de errores 118 que se introduce en el libro de códigos adaptativo. El libro de códigos adaptativo 102 puede implementarse en forma de memoria para almacenar los valores de salida realimentados provistos a través de la línea de realimentación 120 y, dependiendo del retardo tonal 118 aplicado, el libro de códigos adaptativo emite una cierta cantidad de valores de muestreo.
Adicionalmente, la Fig. 1c ilustra un libro de códigos fijo 104. En el caso del modo normal, el libro de códigos fijo 104 recibe un índice de libro de códigos y, en respuesta al índice de libro de códigos, el libro de códigos fijo proporciona una determinada entrada del libro de códigos 114 como información de libros de códigos. Sin embargo, si se determina un modo de ocultación, no se cuenta con un índice de libro de códigos. En ese caso, se activa un generador de ruido 112 provisto dentro del libro de códigos fijo 104, que proporciona una señal de ruido como información del libro de códigos 116. Dependiendo de la implementación, el generador de ruido puede proporcionar un índice de libro de códigos aleatorio. Sin embargo, es preferible que un generador de ruido proporcione en realidad una señal de ruido en lugar de un índice aleatorio de libro de códigos. El generador de ruido 112 puede implementarse en forma de un cierto generador de ruido en hardware o software o se puede implementar en forma de tablas de ruido o una determinada entrada “adicional” en el libro de códigos fijo con forma de ruido. Además, son posibles combinaciones de los procedimientos anteriores, es decir una entrada de ruido en el libro de códigos junto con un cierto post procesamiento.
La Fig. 1d ilustra un procedimiento preferido para calcular una primera representación de LPC de sustitución en caso de error. La etapa 130 ilustra el cálculo de un valor medio de representaciones de LPC de dos o más últimas tramas correctas. Se prefieren tres últimas tramas correctas. Por consiguiente, se calcula, un valor medio de las tres últimas tramas correctas en el bloque 130 y se envían al bloque 136. Además, en la etapa 132 se proporciona la información de LPC de la última trama correcta almacenada y además se envía al bloque 136. Además, se determina un factor de atenuación 134 en el bloque 134. A continuación, dependiendo de la última información de LPC correcta, dependiendo del valor medio de la información de LPC de la última trama correcta y dependiendo del factor de atenuación del bloque 134, se calcula la primera representación de sustitución 138.
Para el estado de la técnica se aplica sólo una LPC. Para el método nuevamente propuesto, cada vector de excitación, que se genera por el libro de códigos adaptativo o fijo, se filtra por su propio conjunto de coeficientes de LPC. La derivación de los vectores de ISF individuales es la siguiente:
Se determina el conjunto de coeficientes A (para filtrar el libro de códigos adaptativo) mediante esta fórmula:
isf ~ (bloque 136)
isfA 1 — alfaA ■ isf"2 + (1 - alfa ) ■ isf (bloque 136)
donde alfaA es un factor de atenuación adaptativo variable en el tiempo que puede depender de la estabilidad de la señal, la clase de señal, etc. isf son los coeficientes de ISF, donde x indica el número de trama, con respecto al final de la trama actual: x = -1 indica la primera ISF perdida, x = -2 la última correcta, x=-3 la segunda última correcta y así sucesivamente. Esto lleva a la atenuación de la LPC que se utiliza para filtrar la parte tonal, a partir de la última trama correctamente recibida hacia la LPC promedio (promediada de tres de las últimas correctas de 20 ms). Cuantas más tramas se pierdan, más aproximada es la ISF que se utiliza durante la ocultación, a este vector promedio de ISF a corto plazo (isf). Generalmente, se ha de observar que ISF significa valores en un dominio de ISF o en un dominio de LSF. Por lo tanto, pueden realizarse los mismos cálculos o ligeramente diferentes en el dominio de LSF en lugar del dominio de ISF o cualquier otro dominio similar.
La Fig. 1e ilustra un procedimiento preferido para calcular la segunda representación de sustitución. En el bloque 140, se determina una estimación de ruido. A continuación, en el bloque 142, se determina un factor de atenuación. Además, en el bloque 144, la última trama correcta es la información de LPC que se había guardado anteriormente. Seguidamente, en el bloque 146, se calcula una segunda representación de sustitución. Preferentemente, se determina un segundo conjunto de coeficientes B (para filtrar el libro de códigos fijo) por la siguiente fórmula:
isfn'1 = alfaB ■ isf~2 + (l - beta) ■ isfcn9 (bloque 146)
donde isfng es el conjunto de coeficientes de ISF derivados de una estimación de ruido de fondo y alfaB es el factor de velocidad de atenuación variable en el tiempo que preferentemente depende de la señal. La forma espectral de destino se deriva trazando la señal anterior decodificada en el dominio de la FFT (espectro de potencia), utilizando
5
10
15
20
25
30
35
40
45
50
55
60
un enfoque de estadísticas mínimas con alisado óptimo, similar a [3]. Esta estimación de FFT se convierte a continuación a la representación de LPC mediante el cálculo de la autocorrelación efectuando la FFT inversa y a continuación utilizando la recursión de Levinson-Durbin para calcular los coeficientes de LPC utilizando las primeras N muestras de la FFT inversa, donde N es el orden de LPC. Por lo tanto, la recursión de Levinson Durbin se calcula en valores auto-correlacionados o la representación del dominio del tiempo basándose en la cual se calcula la recursión comprende una inversa de un espectro de Transformada de Fourier cuadrada (por ejemplo, FFT).
Esta LPC se convierte al dominio de ISF para recuperar isfn3. Por otro lado - si no se dispone de dicho trazado de la forma espectral de fondo - también se podría derivar la forma espectral de destino basándose en cualquier combinación de un vector entrenado fuera de línea y la media espectral a corto plazo, como se hace en G.718 para la forma espectral común.
Preferentemente, los factores de atenuación A y aB se determinan dependiendo de la señal de audio decodificada, es decir, dependiendo de la señal de audio decodificada antes de la aparición de un error. El factor de atenuación puede depender de la estabilidad de la señal, la clase de señal, etc. Por consiguiente, si se determina que la señal es una señal con bastante ruido, a continuación se determina el factor de atenuación de tal manera que el factor de atenuación disminuya, de vez en cuando, más rápidamente en comparación con una situación en que una señal es más bien tonal. En este caso, el factor de atenuación decrece de una trama temporal a la siguiente trama temporal en una cantidad reducida. Esto garantiza que la atenuación gradual de la última trama correcta al valor medio de las últimas tres tramas correctas tenga lugar más rápidamente en el caso de las señales con ruido en comparación con las señales no con ruido o tonales, donde la velocidad de atenuación gradual se reduce. Se pueden realizar procedimientos similares para las clases de señal. En el caso de las señales con voz, se puede realizar una atenuación gradual más lenta que en el caso de las señales sin voz o en el caso de las señales de música la velocidad de atenuación se puede reducir en comparación con otras características de la señal y se pueden aplicar determinaciones correspondientes del factor de atenuación.
Como se señala en el contexto de la Fig. 1e, se puede calcular un factor de atenuación diferente aB para la segunda información de libros de códigos. De esa manera, se puede conferir a las diferentes entradas de los libros de códigos una velocidad de atenuación diferente. Por consiguiente, se puede establecer una atenuación gradual hasta la estimación de ruido como fng de modo diferente de la velocidad de atenuación de la representación de ISF de la última trama correcta a la representación media de ISF como se esboza en el bloque 136 de la Fig. 1d.
La Fig. 2 ilustra una vista general de una implementación preferida. Una línea de entrada recibe, por ejemplo, de una interfaz de entrada inalámbrica o una interfaz por cable, paquetes o tramas de una señal de audio. Los datos en la línea de entrada 202 se proporcionan a un decodificador 204 y al mismo tiempo a un controlador de ocultación de errores 200. El controlador de ocultación de errores determina si los paquetes o tramas recibidos son erróneos o faltantes. Si se determina esto, el controlador de ocultación de errores introduce un mensaje de control en el decodificador 204. En la implementación de la Fig. 2, un mensaje “1” en la línea de control CTRL señala que el decodificador 204 debe operar en el modo de ocultación. Sin embargo, si el controlador de ocultación de errores no encuentra una situación de error, a continuación la línea de control lleva un mensaje “0” que indica un modo de decodificación normal como se indica en la tabla 210 de la Fig. 2. El decodificador 204 se conecta además a un estimador de ruido 206. Durante el modo de decodificación normal, el estimador de ruido 206 recibe la señal de audio decodificada a través de una línea de realimentación 208 y determina una estimación de ruido a partir de la señal decodificada. Sin embargo, cuando el controlador de ocultación de errores indica un cambio del modo de decodificación normal al modo de ocultación, el estimador de ruido 206 proporciona la estimación de ruido al decodificador 204 para que el decodificador 204 pueda realizar una ocultación de error como se ha analizado en las figuras anteriores y en las siguientes. De esa manera, el estimador de ruido 206 se controla a su vez por la línea de control CTRL procedente del controlador de ocultación de errores para conmutar, del modo de estimación de ruido normal en el modo de decodificación normal a la operación de provisión de estimación de ruido en el modo de ocultación.
La Fig. 4 ilustra una realización preferida de la presente invención en el contexto de un decodificador, tal como el decodificador 204 de la Fig. 2, que consta de un libro de códigos adaptativo 102 y que además incluye un libro de códigos fijo 104. En el modo de decodificación normal indicado por un dato de la línea de control “0” como se describe en el contexto de la tabla 210 de la Fig. 2, el decodificador opera como se ilustra en la Fig. 8, cuando se desprecia el elemento 804. Por consiguiente, el paquete correctamente recibido comprende un índice de libro de códigos fijo para controlar el libro de códigos fijo 802, una ganancia de libro de códigos fijo gc para controlar el amplificador 806 y un libro de códigos adaptativo gp para controlar el amplificador 808. Además, el libro de códigos adaptativo 800 se controla por el retardo tonal transmitido y el conmutador 812 se conecta de tal manera que la salida del libro de códigos adaptativo se realimente a la entrada del libro de códigos adaptativo. Además, los coeficientes para el filtro de síntesis de LPC 804 se derivan de los datos transmitidos.
Sin embargo, si el controlador de ocultación de errores 202 de la Fig. 2 detecta una situación de ocultación de error, se inicia el procedimiento de ocultación de error en el cual, a diferencia del procedimiento normal, se incluyen dos
5
10
15
20
25
30
35
40
45
50
55
60
filtros de síntesis 106, 108. Además, el retardo tonal correspondiente al libro de códigos adaptativo 102 se genera por un dispositivo de ocultación de error. Además, la ganancia de libro de códigos adaptativo gp y la ganancia de libro de códigos fijo gc también se sintetizan por un procedimiento de ocultación de error de la manera conocida en la técnica para controlar correctamente los amplificadores 402, 404.
Además, dependiendo de la clase de señal, un controlador 409 controla el conmutador 405 para realimentar una combinación de las salidas de ambos libros de códigos (con posterioridad a la aplicación de la correspondiente ganancia de libro de códigos) o para realimentar la salida del libro de códigos adaptativo.
De acuerdo con una realización, los datos para el filtro de síntesis de LPC A 106 y los datos para el filtro de síntesis de LPC B 108 se generan por el generador de representaciones de LPC 100 de la Fig. 1a y además se efectúa una corrección de ganancia mediante los amplificadores 406, 408. Para este fin, se calculan los factores de compensación de ganancia gA y ge para activar correctamente los amplificadores 408, 406 de tal manera que se detenga cualquier influencia de ganancia generado por la representación de LPC. Por último, el combinador 110 combina las salidas de los filtros de síntesis de lPc A, B indicadas por 106 y 108, para obtener la señal de ocultación de error.
A continuación se describe la conmutación del modo normal al modo de ocultación por un lado y del modo de ocultación de regreso al modo normal.
La transición de una LPC común a varias separadas al conmutar de una decodificación de canales limpia a la ocultación no causa ninguna discontinuidad, ya que se puede emplear el estado de memoria de la última LPC correcta para inicializar cada memoria AR o MA de las LPC separadas. De esa manera se garantiza una suave transición de la última trama correcta a la primera perdida.
En la conmutación de ocultación de error a la decodificación de canales limpios (fase de recuperación), el enfoque de las LPC separadas introduce el desafío de actualizar correctamente el estado de la memoria interna del único filtro de LPC durante la decodificación de canales limpios (habitualmente se utilizan modelos AR (auto-regresiva). Sólo el uso de la memoria AR de una LPC o una memoria AR promediada daría lugar a discontinuidades en el borde de la trama entre la última perdida y la primera trama correcta. A continuación se describe un método para superar este desafío:
Se agrega una pequeña porción de todos los vectores de excitación (sugerencia: 5 ms) al final de cualquier trama oculta. Este vector de excitación sumado puede alimentarse a continuación a la LPC que se utilizaría para la recuperación. Esto está expuesto en la Fig. 5. Dependiendo de la implementación, también es posible sumar los vectores de excitación después de la compensación de ganancia de LPC.
Es aconsejable comenzar al final de la trama menos 5 ms, ajustar la memoria AR de LPC a cero, derivar la síntesis de LPC utilizando cualquiera de los conjuntos individuales de coeficientes de LPC y guardar el estado de la memoria al final mismo de la trama oculta. Si se recibe correctamente la siguiente trama, a continuación se puede utilizar este estado de memoria para la recuperación (significado: se utiliza para inicializar la memoria de LPC del comienzo de la trama), de lo contrario se descarta. Esta memoria debe introducirse además; debe manejarse por separado de cualquiera de las memorias AR de LPC utilizadas por la ocultación durante la ocultación.
Otra solución para la recuperación es el uso del método LPC0, dado a conocer en USAC [4].
A continuación se describe la Fig. 5 en forma más detallada. En general, el libro de códigos adaptativo 102 se puede considerar un libro de códigos predictivo, como se indica en la Fig. 5 o se puede reemplazar por un libro de códigos predictivo. Además, el libro de códigos fijo 104 puede reemplazarse o implementarse como el libro de códigos de ruido 104. Las ganancias de libro de códigos gp y gc, para activar correctamente los amplificadores 402, 404 se transmiten, en el modo normal, en los datos de entrada o se pueden sintetizar mediante un procedimiento de ocultación de error en el caso de ocultación de error. Además, se usa un tercer libro de códigos 412, que puede ser cualquier otro de códigos, que tiene además una ganancia de libro de códigos gr asociada como se indica por el amplificador 414. En una realización, en el bloque 416 se implementa una síntesis de LPC adicional mediante un filtro separado controlado por una representación de LPC de sustitución para el otro libro de códigos. Asimismo, se realiza una corrección de ganancia gc de manera similar a la descrita en el contexto de gA y ge, como se esbozó.
Más aun, se ilustra el sintetizador de LPC X de recuperación adicional indicado en 418 que recibe, como entrada, una suma de al menos una pequeña porción de todos los vectores de excitación tal como 5 ms. Este vector de excitación se introduce en los estados de memoria del sintetizador de LPC X 418 del filtro de síntesis de LPC X.
A continuación, cuando se produce un retroceso del modo de ocultación al modo normal, el filtro único de síntesis de LPC se controla copiando los estados de memoria interna del filtro de síntesis de LPC X en este filtro único de operación normal y además se establecen los coeficientes del filtro mediante la representación de LPC
5
10
15
20
25
30
35
40
45
50
55
60
correctamente transmitida.
La Fig. 3 ilustra otra implementación más detallada del sintetizador de LPC con dos filtros de síntesis de LPC 106, 108. Cada filtro es, por ejemplo, un filtro de FIR o un filtro de IIR con las derivaciones de filtro 304, 306 y las memorias internas de filtro 304, 308. Las derivaciones de filtro 302, 306 se controlan por la correspondiente representación de LPC correctamente transmitida o la correspondiente representación de LPC de sustitución generada por el generador de representaciones de LPC, como por ejemplo 100 de la Fig. 1a. Además, se incluye un inicializador de memoria 320. El inicializador de memoria 320 recibe la última representación de LPC correcta y, al efectuarse la conmutación al modo de ocultación de error, el inicializador de memoria 320 proporciona los estados de memoria del filtro único de síntesis de LPC a las memorias internas de filtro 304, 308. En particular, el inicializador de memoria recibe, en lugar de la última representación de LPC correcta o además de la última representación de LPC correcta, los últimos estados de memoria correctos, es decir los estados de memoria interna del filtro único de LPC en el procesamiento, y especialmente después del procesamiento de la última trama/paquete correcto.
Además, como ya se señalara en el contexto de la Fig. 5, el inicializador de memoria 320 también puede estar configurado para realizar el procedimiento de inicialización de la memoria para una recuperación de una situación de ocultación de error al modo de operación normal no erróneo. Para ello, el inicializador de memoria 320 o un inicializador de memoria de LPC futuro separado, está configurado para inicializar un único filtro de LPC en el caso de una recuperación de una trama errónea o perdida por una trama correcta. El Inicializador de memoria de LPC está configurado para alimentar al menos una porción de una combinación de una primera información de libros de códigos y una segunda información de libros de códigos o al menos una porción de una combinación de una primera información ponderada de libros de códigos o una segunda información ponderada de libros de códigos a un filtro de LPC separado tal como un filtro de LPC 418 de la Fig. 5. Además, el inicializador de memoria de LPC está configurado para guardar los estados de memoria obtenidos mediante el procesamiento de los valores alimentados. A continuación, cuando una trama o paquete posterior es una trama o paquete correcto, el único filtro de LPC 814 de la Fig. 8 correspondiente al modo normal se inicializa utilizando los estados de memoria guardados, es decir los estados obtenidos del filtro 418. Además, como se sugiere en la Fig. 5, los coeficientes de filtro para el filtro pueden ser el coeficiente para el filtro de síntesis de LPC 106 o el filtro de síntesis de LPC 108 o el filtro de síntesis de LPC 416 o una combinación ponderada o sin ponderar de esos coeficientes.
La Fig. 6 ilustra una implementación adicional con compensación de ganancia. Para este fin, el aparato para generar una señal de ocultación de error comprende un calculador de ganancias 600 y un compensador 406, 408, que ya se ha descrito en el contexto de la Fig. 4 (406, 408) y la Fig. 5 (406, 408, 409). En particular, el calculador de representaciones de LPC 100 transmite la primera representación de LPC de sustitución y la segunda representación de LPC de sustitución a un calculador de ganancias 600. A continuación el calculador de ganancias calcula una primera información de ganancia correspondiente a la primera representación de LPC de sustitución y la segunda información de ganancia correspondiente a la segunda representación de LPC de sustitución y proporciona estos datos al compensador 406, 408, que recibe, además de la primera y segunda informaciones de libros de códigos, como se indica en la Fig. 4 o en la Fig. 5, la LPC de la última trama/paquete/bloque correcto. Seguidamente, el compensador emite la señal compensada. La entrada al compensador puede ser una salida de los amplificadores 402, 404, una salida de los libros de códigos 102, 104 o una salida de los bloques de síntesis 106, 108 en la realización de la Fig. 4.
El compensador 406, 408 compensa, parcial o totalmente, una influencia de ganancia de la primera LPC de sustitución en la primera información de ganancia y compensa la influencia de la ganancia de la segunda representación de LPC de sustitución utilizando la segunda información de ganancia.
En una realización, el calculador 600 está configurado para calcular una última información de potencia correcta relacionada con una última representación de LPC correcta antes del comienzo de la ocultación de error. Además, el calculador de ganancias 600 calcula una primera información de potencia correspondiente a la primera representación de LPC de sustitución, una segunda información de potencia correspondiente a la segunda representación de LPC, donde el primer valor de ganancia utiliza la última información correcta de potencia y la primera información de potencia, y un segundo valor de ganancia que utiliza la última información correcta de potencia y la segunda información de potencia. A continuación se realiza la compensación en el compensador 406, 408 utilizando el primer valor de ganancia y utilizando el segundo valor de ganancia. Dependiendo de la información, sin embargo, el cálculo de la última información de potencia correcta también puede realizarse, como se ilustra en la realización de la Fig. 6, directamente por el compensador. Sin embargo, dado que el cálculo de la última información de potencia correcta se realiza básicamente de igual manera que el primer valor de ganancia correspondiente a la primera representación de sustitución y el segundo valor de ganancia correspondiente a la segunda representación de LPC de sustitución, es preferible realizar el cálculo de todos los valores de ganancia en el calculador de ganancias 600 como se ilustra por la entrada 601.
En particular, el calculador de ganancias 600 está configurado para calcular, a partir de la última representación de
5
10
15
20
25
30
35
40
45
50
55
LPC correcta o la primera y segunda representaciones de LPC de sustitución, una respuesta al impulso para a continuación calcular un valor de rms (valor cuadrático medio) de la respuesta al impulso para obtener la correspondiente información de potencia en la compensación de ganancia, cada vector de excitación - una vez aplicado ganancia por la correspondiente ganancia de libro de códigos - se vuelve a amplificar con las ganancias gA o ge. Estas ganancias se determinan calculando la respuesta al impulso de la LPC en uso en el momento y a continuación calculando el rms:
A continuación se compara el resultado con el rms de la última LPC correctamente recibida y se utiliza el cociente como factor de ganancia para compensar el aumento de energía/pérdida de interpolación de LPC:
Este procedimiento se puede considerar un tipo de normalización. Compensa la ganancia, que es un producto de la interpolación de LPC.
Seguidamente se describen las Figs. 7a y 7b en forma más detallada para ilustrar el aparato para generar una señal de ocultación de error o el calculador de ganancias 600 o el compensador 406, 408 calcula la última información de potencia correcta como se indica en 700 en la Fig. 7a. Además, el calculador de ganancias 600 calcula la primera y segunda informaciones de potencia correspondientes a la primera y segunda representaciones de LPC de sustitución, como se indica en 702. A continuación, como se ilustra en 704, el calculador de ganancias 600 calcula el primero y segundo valores de ganancia. A continuación se compensa la información del libro de códigos o la información ponderada de libros de códigos o la salida de la síntesis de LPC utilizando estos valores de ganancia, como se ilustra en 706. Esta compensación se efectúa preferentemente por los amplificadores 406, 408.
Para este fin, se realizan varias etapas en una realización preferida ilustrada en la Fig. 7b. En la etapa 710, se presenta una representación de LPC, como por ejemplo la primera o segunda representación de LPC de sustitución o la última representación de LPC correcta. En la etapa 712 se aplican las ganancias de libro de códigos a la información/salida del libro de códigos, como se indica en el bloque 402, 404. Además, en la etapa 716, se calculan las respuestas al impulso tomando en cuenta las correspondientes representaciones de LPC. Seguidamente, en la etapa 718, se calcula un valor de rms por cada respuesta al impuso y en el bloque 720 se calcula la correspondiente ganancia utilizando un valor de rms anterior y un nuevo valor de rms y este cálculo se realiza preferentemente dividiendo el valor anterior de rms por el nuevo valor de rms. Por último, se utiliza el resultado del bloque 720 para compensar el resultado de la etapa 712 para obtener, en última instancia, los resultados compensados, como se indica en la etapa 714.
A continuación se describe otro aspecto, es decir una implementación de un aparato para generar una señal de ocultación de error que consta del generador de representaciones de LPC 100 que genera sólo una única representación de LPC de sustitución, como por ejemplo por la situación ilustrada en la Fig. 8. A diferencia de la Fig. 8, sin embargo, la realización que ilustra otro aspecto en la Fig. 9 comprende el calculador de ganancias 600 y el compensador 406, 408. De esa manera, se compensa cualquier influencia de ganancia por la representación de LPC de sustitución generada por el generador de representaciones de LPC. En particular, esta compensación de ganancia se puede realizar en el lado de la entrada del sintetizador de LPC, como se demuestra en la Fig. 9 mediante el compensador 406, 408n o se puede realizar a la salida del sintetizador de LPC, como se indica por el compensador 900 para obtener, en última instancia, la señal de ocultación de error. Por consiguiente, el compensador 406, 408, 900 está configurado para ponderar la información del libro de códigos o una señal de salida de síntesis de LPC proporcionada por el sintetizador de LPC 106, 108.
Los demás procedimientos realizados por el generador de representaciones de LPC, el calculador de ganancias, el compensador y el sintetizador de LPC se pueden realizar de la manera descrita en el contexto de las Figs. 1a a 8.
Como se ha reseñado en el contexto de la Fig. 4, el amplificador 402 y el amplificador 406 realizan dos operaciones de ponderación en serie entre sí, particularmente en el caso en que no se realimenta la suma de la salida del multiplicador 402, 404 al libro de códigos adaptativo, sino en que sólo se realimenta la salida del libro de códigos adaptativo, es decir cuando el conmutador 405 está en la posición ilustrada o el amplificador 404 y el amplificador 408 realizan dos operaciones de ponderación en serie. En una realización ilustrada en la Fig. 10, estas dos operaciones de ponderación se pueden realizar en una operación única. Para este fin, el calculador de ganancias 600 transmite su salida gp o gc a un único calculador de valores 1002. Además, se implementa un generador de
5
10
15
20
25
30
35
40
45
50
55
60
ganancias de libro de códigos 1000 para generar una ganancia de libro de códigos por ocultación, como se conoce en la técnica. A continuación, el calculador de valores únicos 1002 calcula preferentemente un producto entre gp y gA para obtener el valor único. Además, para la segunda rama, el calculador de valores únicos 1002 calcula un producto entre gA o gB para proporcionar el valor único para la rama inferior de la Fig. 4. Se puede realizar otro procedimiento para la tercera rama, que presenta los amplificadores 414, 409 de la Fig. 5.
A continuación se presenta un manipulador 1004 que en conjunto realiza las operaciones de, por ejemplo, los amplificadores 402, 406 a la información de libro de códigos de un único libro de códigos o a la información de libro de códigos de dos o más libros de códigos para obtener, en última instancia, una señal manipulada tal como una señal de libro de códigos o una señal de ocultación, dependiendo de si el manipulador 1004 está situado antes del sintetizador de LPC de la Fig. 9 o con posterioridad al sintetizador de LPC de la Fig. 9. La Fig. 11 ilustra un tercer aspecto, en el cual se incluye el generador de representaciones de LPC 100, el sintetizador de LPC 106, 108 y el estimador de ruido adicional 206, que ya ha sido descrito en el contexto de la Fig. 2. El sintetizador de LPC 106, 108 recibe información de libros de códigos y una representación de LPC de sustitución. La representación de LPC se genera por el generador de representaciones de LPC utilizando la estimación de ruido obtenida del estimador de ruido 206, y el estimador de ruido 206 opera determinando la estimación de ruido a partir de las últimas tramas correctas. Por consiguiente, la estimación de ruido depende de las últimas tramas de audio correctas y la estimación de ruido se realiza durante la recepción de tramas de audio correctas, es decir en el modo de decodificación normal indicado por “0” en la línea de control de la Fig. 2 y a continuación se aplica esta estimación de ruido generada durante el modo de decodificación normal en el modo de ocultación, como lo indica la conexión de los bloques 206 y 204 en la Fig. 2.
El estimador de ruido está configurado para procesar una representación espectral de una señal decodificada anterior para proporcionar una representación espectral de ruido y para convertir la representación espectral de ruido a una representación de LPC de ruido, donde la representación de LPC de ruido es el mismo tipo de representación de LPC que la representación de LPC de sustitución. Por consiguiente, cuando la representación de LPC de sustitución está en la representación en el dominio de la ISF o un vector de ISF, a continuación la representación de LPC de ruido es además un vector de ISF o una representación de ISF.
Además, el estimador de ruido 206 está configurado para aplicar un enfoque de estadísticas mínimas con alisado óptimo a una señal decodificada anterior para derivar la estimación de ruido. Para este procedimiento, es preferible realizar el procedimiento ilustrado en [3]. Sin embargo, también se pueden aplicar otros procedimientos de estimación de ruido que se basan, por ejemplo, en la supresión de las partes tonales en comparación con las partes no tonales de un espectro para filtrar y eliminar el ruido de fondo o ruido en una señal de audio así como para obtener la forma espectral de destino o la estimación de ruido espectral.
Por consiguiente, en una realización, se deriva una estimación de ruido espectral de una señal decodificada anterior y a continuación se convierte la estimación de ruido espectral a una representación de LPC y a continuación a un dominio de ISF para obtener la estimación de ruido final o la forma espectral de destino.
La Fig. 12a ilustra una realización preferida. En la etapa 1200, se obtiene la señal anterior decodificada, como se ilustra, por ejemplo, en la Fig. 2 por el bucle de realimentación 208. En la etapa 1202, se calcula una representación espectral, tal como una representación de transformada Rápida de Fourier (FFT). A continuación, en la etapa 1204, se deriva una forma espectral de destino tal como el enfoque de estadísticas mínimas con alisado óptimo o por cualquier otro procesamiento de estimación de ruido. Seguidamente, se convierte la forma espectral de destino a una representación de LPC, como se indica en el bloque 1206 y por último se convierte la representación de LPC a un factor de ISF, como se detalla en el bloque 1208 para obtener, por último, la forma espectral de destino en el dominio de la ISF, que a continuación puede utilizarse directamente por el generador de representaciones de LPC para generar una representación de LPC de sustitución. En las ecuaciones de esta solicitud, la forma espectral de destino en el dominio de la ISF está indicada como “ISFcng”.
En una realización preferida ilustrada en la Fig. 12b, la forma espectral de destino se deriva por ejemplo mediante un enfoque de estadísticas mínimas y alisado óptimo. A continuación, en la etapa 1212, se calcula una representación en el dominio del tiempo mediante la aplicación de una FFT inversa, por ejemplo, a la forma espectral de destino. Seguidamente se calculan los coeficientes de LPC utilizando la recursión de Levinson-Durbin. Sin embargo, el cálculo de los coeficientes de LPC del bloque 1214 también se puede realizar mediante cualquier otro procedimiento aparte de la mencionada recursión de Levinson-Durbin. A continuación, en la etapa 1216, se calcula el factor de ISF final para obtener la estimación de ruido ISFcng para utilizarse por el generador de representaciones de LPC 100.
A continuación se describe la Fig. 13 para ilustrar el uso de la estimación de ruido en el contexto del cálculo de una única representación de LPC de sustitución 1308 para el procedimiento, por ejemplo, ilustrado en la Fig. 8 o para calcular las representaciones de LPC individuales correspondientes a libros de códigos individuales, como se indica en el bloque 1310 para la realización ilustrada en la Fig. 1.
5
10
15
20
25
30
35
40
45
50
55
60
En la etapa 1300, se calcula un valor medio de dos o tres últimas tramas correctas. En la etapa 1302, se produce la última trama correcta representación de LPC. Además, en la etapa 1304, se emite un factor de atenuación que puede controlarse, por ejemplo, por un analizador de señales separado que se puede incluir, por ejemplo, en el controlador de ocultación de errores 200 de la Fig. 2. A continuación, en la etapa 1306, se calcula una estimación de ruido y se puede realizar el procedimiento de la etapa 1306 mediante cualquiera de los procedimientos ilustrados en las Figs. 12a, 12b.
En el contexto del cálculo de una representación de LPC de sustitución única, se envían las salidas de los bloques 1300, 1304, 1306 al calculador 1308. Seguidamente, se calcula una única representación de LPC de sustitución de tal manera que con posterioridad a la pérdida o error de un cierto número de tramas/paquetes, se obtiene la atenuación a la representación de LPC para estimación de ruido.
Sin embargo, las representaciones de LPC individuales correspondientes a un libro de códigos individual, como por ejemplo el libro de códigos adaptativo y el libro de códigos fijo, se calculan como se indica en el bloque 1310, a continuación se realiza el procedimiento descrito anteriormente para calcular la ISFa-1 (LPC A) por un lado y el cálculo de ISFb-1 (LPC B).
Aunque la presente invención se ha descrito en el contexto de diagramas de bloques en que los bloques representan componentes de hardware reales o lógicos, también se puede implementar la presente invención por un método implementado por ordenador. En este último caso, los bloques representan las etapas de método correspondientes, donde estas etapas representan las funciones realizadas por los correspondientes bloques de hardware lógicos o físicos.
Si bien se han descrito algunos aspectos en el contexto de un aparato, es obvio que estos aspectos también representan una descripción del método correspondiente, en el cual un bloque o dispositivo corresponde a una etapa del método o a una característica de una etapa del método. De manera análoga, los aspectos descritos en el contexto de una etapa del método también representan una descripción de un bloque o elemento correspondiente o de una característica de un aparato correspondiente. Algunas o todas las etapas del método pueden ejecutarse por medio de (o utilizando) un aparato de hardware, como por ejemplo, un microprocesador, una computadora programable o un circuito electrónico. En algunas realizaciones, uno o más de las etapas más importantes del método pueden ejecutarse por ese tipo de aparato.
Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden implementarse en hardware o en software. La implementación se puede realizar empleando un medio de almacenamiento digital, por ejemplo un disco flexible, un DVD, un Blue-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tiene almacenadas en la misma señales control legibles electrónicamente, que cooperan (o tienen capacidad para cooperar) con un sistema de computación programable de tal manera que se realice el método respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible por una computadora.
Algunas realizaciones de acuerdo con la invención comprenden un soporte de datos que tiene señales de control legibles electrónicamente, con capacidad para cooperar con un sistema de computación programable de tal manera que se realice uno de los métodos descritos en el presente documento.
En general, las realizaciones de la presente invención pueden implementarse en forma de un producto programa informático con un código de programa, siendo el código de programa operativo para realizar uno de los métodos al realizarse el programa informático en una computadora. El código de programa puede almacenarse, por ejemplo, en un soporte legible por máquina.
Otras realizaciones comprenden el programa informático para realizar uno de los métodos descritos en el presente documento, almacenado en un soporte legible por máquina.
En otras palabras, una realización del método de la invención consiste, por lo tanto, en un programa informático que consta de un código de programa para realizar uno de los métodos descritos en el presente documento al realizarse el programa informático en una computadora.
Otra realización adicional del método de la invención consiste, por lo tanto, en un soporte de datos (o medio de almacenamiento no transitorio o medio de almacenamiento digital, o medio legible por computadora) que comprende, grabado en el mismo, el programa informático para realizar uno de los métodos descritos en el presente documento. El portador de datos, el medio de almacenamiento digital o el medio grabado son por lo general tangibles y/o no transitorios.
Otra realización del método de la invención es, por lo tanto, un flujo de datos o una secuencia de señales que representa el programa informático para realizar uno de los métodos descritos en el presente documento. El flujo de datos o la secuencia de señales pueden estar configurados, por ejemplo, para transferirse mediante una conexión de comunicación de datos, por ejemplo a través de Internet.
5
10
15
20
25
30
35
40
Otra realización comprende un medio de procesamiento, por ejemplo una computadora, un dispositivo lógico programare, configurado o adaptado para realizar uno de los métodos descritos en el presente documento.
Una realización adicional comprende una computadora en la que se ha instalado el programa informático para realizar uno de los métodos descritos en el presente documento.
Otra realización de acuerdo con la invención comprende un aparato o sistema configurado para transferir (por ejemplo electrónica u ópticamente) un programa informático para realizar uno de los métodos descritos en el presente documento en un receptor. El receptor puede ser, por ejemplo, una computadora, un dispositivo móvil, un dispositivo de memoria o similar. El aparato o sistema puede comprender, por ejemplo, un servidor de archivos para transferir el programa informático al receptor.
En algunas realizaciones, se puede utilizar un dispositivo lógico programable (por ejemplo un campo de matrices de puertas programables) para realizar algunas o todas las funcionalidades de los métodos descritos en el presente documento. En algunas realizaciones, un campo de matrices de puertas programables puede cooperar con un microprocesador para realizar uno de los métodos descritos en el presente documento. En general, los métodos se realizan preferentemente por cualquier aparato de hardware.
Las realizaciones anteriormente descritas son meramente ilustrativas de los principios de la presente invención. Se entiende que las modificaciones y variaciones de las disposiciones y detalles descritos en el presente documento serán evidentes para los expertos en la materia. Por lo tanto, sólo es la intención limitarse al alcance de las siguientes reivindicaciones de patente y no a los detalles específicos presentados a manera de descripción y explicación de las realizaciones presentadas en el presente documento.
Referencias
[1] ITU-T G.718 recomendación, 2006
[2] Kazuhiro Kondo, Kiyoshi Nakagawa, “A Packet Loss Concealment Method Using Recursive Linear Prediction” Department of Electrical Engineering, Yamagata University, Japón.
[3] R. Martin, Noise Power Spectral Density Estimation Based on Optimal Smoothing and Minimum Statistics, IEEE Transactions on speech and audio processing, vol. 9, n.° 5, julio de 2001
[4] Ralf Geiger et. al., Solicitud de patente US20110173011 A1, Audio Encoder and Decoder for Encoding and Decoding Frames of a Sampled Audio Signal
[5] 3GPP TS 26.190; Transcoding functions; - 3GPP technical specification
[6] Jon Gibbs, Draft new ITU-T Recommendation G.VBR-EV “Frame error robust narrowband and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s” (para consentimiento), TD 534 (PLEN/16), ITU-T DRAFT, STUDY PERIOD 2005-2008, INTERNATIONAL TELECOMMUNICATION UNION, GENEVA, CH, vol. 9/16, 22 de abril de 2008 (), páginas 1-243, XP017541194, [recuperado el 26-092008]
Claims (17)
- 51015202530354045505560REIVINDICACIONES1. Un aparato para generar una señal de ocultación de error, que comprende:un generador de representación de codificación predictiva lineal, LPC, (100) para generar una representación de LPC de sustitución;un sintetizador de LPC (106, 108) para filtrar una información de libro de códigos usando la representación de LPC de sustitución para obtener una señal de sustitución, a partir de la cual se deriva la señal de ocultación de error; yun estimador de ruido (206) para estimar una estimación de ruido durante una recepción de tramas de audio correctas, en el que la estimación de ruido depende de las tramas de audio correctas, y en el que la estimación de ruido se deriva desde una señal decodificada anterior (208), yen el que el generador de representación de LPC (100) está configurado para usar la estimación de ruido estimada por el estimador de ruido (206) al generar la representación de LPC de sustitución.
- 2. Aparato de la reivindicación 1,en el que el estimador de ruido (206) está configuradopara obtener (1200) la señal decodificada anterior (208),para calcular (1202) una representación espectral de la señal decodificada anterior (208),para derivar (1204) una representación espectral de ruido desde la representación espectral de la señal decodificada anterior (208), ypara convertir (1206) la representación espectral de ruido en una representación de LPC de ruido, siendo la representación de LPC de ruido del mismo tipo de representación de LPC como la representación de LPC de sustitución.
- 3. Aparato de la reivindicación 1 o 2,en el que la representación de LPC de sustitución comprende un factor de sustitución, yen el que el estimador de ruido (206) está configurado para proporcionar la estimación de ruido como un factor de ruido.
- 4. Aparato de la reivindicación 3, en el que el factor de sustitución es un factor de frecuencia espectral lineal, LSF, o un factor de frecuencia espectral de inmitancia, ISF y en el que el factor de ruido es un factor de LSF o un factor de ISF.
- 5. Aparato de una de las reivindicaciones anteriores,en el que el estimador de ruido (206) está configurado para aplicar un enfoque de estadísticas mínimas con suavizado óptimo (1210) a una señal decodificada anterior (208) para derivar la estimación de ruido.
- 6. Aparato de una de las reivindicaciones anteriores, en el que el estimador de ruido (206) está configuradopara derivar (1210), desde la señal decodificada anterior (208), una estimación de ruido espectral,para convertir (1212, 1214) la estimación de ruido espectral en una representación de LPC; ypara convertir (1216) la representación de LPC en un dominio de frecuencia espectral de inmitancia, ISF, o undominio de frecuencia espectral lineal, LSF, para obtener la estimación de ruido.
- 7. Aparato de una de las reivindicaciones anteriores, en el que el estimador de ruido (206) está configuradopara proporcionar (1210) una estimación de ruido espectral;para convertir (1212) la estimación de ruido espectral en una representación de dominio de tiempo; ypara realizar (1214) una recursión de Levinson-Durbin usando las primeras N muestras de la representación dedominio del tiempo, en el que N corresponde a un orden de LPC de la representación.
- 8. Aparato de la reivindicación 7,en el que la representación de dominio del tiempo comprende una inversa de un espectro de Transformada de Fourier cuadrada.
- 9. Aparato de una de las reivindicaciones anteriores,en el que el generador de representación de LPC (100) está configurado para derivar la representación de LPC de sustitución usando la estimación de ruido y una última representación de lPc correcta.
- 10. Aparato de una de las reivindicaciones anteriores,51015202530354045505560en el que el generador de representación de LPC (100) está configurado para derivar la representación de LPC de sustitución usando una representación de LPC correcta anterior o un valor promedio de al menos dos representaciones de LPC correctas anteriores, en el que el valor promedio o la representación de LPC correcta anterior se desvanece de manera que, después de un número de tramas erróneas o faltantes, la representación de LPC de sustitución corresponde a la estimación de ruido.
- 11. Aparato de una de las reivindicaciones anteriores,en el que el generador de representación de LPC (100) está configurado para generar una representación de LPC de sustitución adicional, en el que el aparato comprende adicionalmente un libro de códigos adaptativo (104), en el que el sintetizador de LPC (106, 108) está configurado para filtrar información de libro de códigos desde un libro de códigos fijado usando la representación de LPC de sustitución derivada desde la estimación de ruido para obtener una segunda señal de sustitución, y en el que el sintetizador de LPC (106, 108) está configurado para filtrar una información de libro de códigos desde el libro de códigos adaptativo usando la representación de LPC de sustitución adicional para obtener una primera señal de sustitución, en el que el generador de representación de LPC (100) está configurado para calcular la representación de LPC de sustitución adicional usando un valor promedio de al menos dos representaciones de LPC correctas, yen el que el aparato comprende adicionalmente un combinador de señal de sustitución (110) configurado para combinar la primera señal de sustitución y la segunda señal de sustitución para obtener la señal de ocultación de error.
- 12. Aparato de la reivindicación 11,en el que el generador de representación de LPC (100) está configurado para calcular la representación de LPC de sustitución basándose en la siguiente ecuación:= aB ■ isf^ + (1 - aB) ■ isftw,en el que el generador de representación de LPC (100) está configurado para calcular la representación de LPC de sustitución adicional basándose en la siguiente ecuación:ÍSf~2 + isf-* + isf-*,sf =----------------5---------¿s/x-1 = &A ■ isf'2 + (1 - «„) ■ isf,en la que aA, y aB son factores de desvanecimiento variables en el tiempo, en la que isf2 es la representación de LPC de la última trama correcta, en la que isf-3 es la representación de LPC de la segunda última trama correcta, en la que isf4 es la representación de LPC de la tercera última trama correcta, en la que isfe-1 es la representación de LPC de sustitución, y en la que isfA-1 es la representación de LPC de sustitución adicional, en la que isfcng es la estimación de ruido, y en la que ISF significa valores en un dominio de frecuencia espectral de inmitancia, ISF, o en un dominio de frecuencia espectral lineal, LSF.
- 13. Aparato de una de las reivindicaciones anteriores, que comprende adicionalmente un analizador de señal (200) para analizar una característica de señal de una señal recibida antes de una aparición de un error a ocultarse, en el que el analizador de señal (200) está configurado para proporcionar un resultado de análisis, y en el que el generador de representación de LPC (100) está configurado para usar un factor de desvanecimiento variable en el tiempo, en el que el factor de desvanecimiento variable en el tiempo se determina dependiendo del resultado de análisis.
- 14. Aparato de la reivindicación 13,en el que la característica de la señal es una estabilidad de señal o una clase de señal, yen el que el factor de desvanecimiento variable en el tiempo se determina de modo que el factor de desvanecimiento se reduce a 0 en un tiempo más corto para una señal que es menos estable o que está en una clase de ruido en comparación con una señal que es más estable o que está en una clase tonal.
- 15. Aparato de una de las reivindicaciones anteriores, que comprende adicionalmente:un calculador de ganancia (600) para calcular una información de ganancia desde la representación de LPC de sustitución; yun compensador (406, 408) para compensar una influencia de ganancia de la representación de LPC de sustitución usando la información de ganancia,en el que el compensador (406, 408) está configurado para ponderar una información de libro de códigos o una señal de salida de síntesis de LPC.1015
- 16. Un método para generar una señal de ocultación de error, que comprende: generar (100) una representación de codificación predictiva lineal, LPC, de sustitución;filtrar (106, 108) una información de libro de códigos usando la representación de LPC de sustitución para obtener una señal de sustitución, a partir de la cual se deriva la señal de ocultación de error; y estimar (206) una estimación de ruido durante una recepción de tramas de audio correctas, en el que la estimación de ruido depende de las tramas de audio correctas, y en el que la estimación de ruido se deriva desde una señal decodificada anterior (208), yen el que la estimación de ruido estimada por la estimación (206) se usa al generar (100) la representación de LPC de sustitución.
- 17. Programa informático para realizar, cuando se ejecuta en un ordenador o un procesador, el método de la reivindicación 16.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14160774 | 2014-03-19 | ||
EP14160774 | 2014-03-19 | ||
EP14167003 | 2014-05-05 | ||
EP14167003 | 2014-05-05 | ||
EP14178761 | 2014-07-28 | ||
EP14178761.4A EP2922054A1 (en) | 2014-03-19 | 2014-07-28 | Apparatus, method and corresponding computer program for generating an error concealment signal using an adaptive noise estimation |
PCT/EP2015/054486 WO2015139956A1 (en) | 2014-03-19 | 2015-03-04 | Apparatus, method and corresponding computer program for generating an error concealment signal using an adaptive noise estimation |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2662936T3 true ES2662936T3 (es) | 2018-04-10 |
Family
ID=51228337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES15707397.4T Active ES2662936T3 (es) | 2014-03-19 | 2015-03-04 | Aparato, método y programa informático correspondiente para generar una señal de ocultación de error usando una estimación de ruido adaptativa |
Country Status (18)
Country | Link |
---|---|
US (3) | US10163444B2 (es) |
EP (2) | EP2922054A1 (es) |
JP (3) | JP6450511B2 (es) |
KR (1) | KR101893785B1 (es) |
CN (2) | CN111370006B (es) |
AU (1) | AU2015233706B2 (es) |
BR (1) | BR112016020558B1 (es) |
CA (1) | CA2942088C (es) |
ES (1) | ES2662936T3 (es) |
HK (1) | HK1232337A1 (es) |
MX (1) | MX357495B (es) |
MY (1) | MY183512A (es) |
PL (1) | PL3120347T3 (es) |
PT (1) | PT3120347T (es) |
RU (1) | RU2660630C2 (es) |
SG (1) | SG11201607694UA (es) |
TW (1) | TWI560704B (es) |
WO (1) | WO2015139956A1 (es) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2922056A1 (en) | 2014-03-19 | 2015-09-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method and corresponding computer program for generating an error concealment signal using power compensation |
EP2922055A1 (en) | 2014-03-19 | 2015-09-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method and corresponding computer program for generating an error concealment signal using individual replacement LPC representations for individual codebook information |
EP2922054A1 (en) * | 2014-03-19 | 2015-09-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method and corresponding computer program for generating an error concealment signal using an adaptive noise estimation |
NO2780522T3 (es) * | 2014-05-15 | 2018-06-09 | ||
CN116888667A (zh) * | 2021-02-03 | 2023-10-13 | 索尼集团公司 | 信息处理设备、信息处理方法和信息处理程序 |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3316945B2 (ja) | 1993-07-22 | 2002-08-19 | 松下電器産業株式会社 | 伝送誤り補償装置 |
US5574825A (en) | 1994-03-14 | 1996-11-12 | Lucent Technologies Inc. | Linear prediction coefficient generation during frame erasure or packet loss |
DE19526366A1 (de) * | 1995-07-20 | 1997-01-23 | Bosch Gmbh Robert | Verfahren zur Redundanzreduktion bei der Codierung von mehrkanaligen Signalen und Vorrichtung zur Dekodierung von redundanzreduzierten, mehrkanaligen Signalen |
CA2233896C (en) | 1997-04-09 | 2002-11-19 | Kazunori Ozawa | Signal coding system |
JP3649854B2 (ja) * | 1997-05-09 | 2005-05-18 | 松下電器産業株式会社 | 音声符号化装置 |
EP1001541B1 (en) * | 1998-05-27 | 2010-08-11 | Ntt Mobile Communications Network Inc. | Sound decoder and sound decoding method |
US7072832B1 (en) | 1998-08-24 | 2006-07-04 | Mindspeed Technologies, Inc. | System for speech encoding having an adaptive encoding arrangement |
US7423983B1 (en) | 1999-09-20 | 2008-09-09 | Broadcom Corporation | Voice and data exchange over a packet based network |
JP4218134B2 (ja) | 1999-06-17 | 2009-02-04 | ソニー株式会社 | 復号装置及び方法、並びにプログラム提供媒体 |
US7110947B2 (en) * | 1999-12-10 | 2006-09-19 | At&T Corp. | Frame erasure concealment technique for a bitstream-based feature extractor |
US6757654B1 (en) * | 2000-05-11 | 2004-06-29 | Telefonaktiebolaget Lm Ericsson | Forward error correction in speech coding |
FR2813722B1 (fr) * | 2000-09-05 | 2003-01-24 | France Telecom | Procede et dispositif de dissimulation d'erreurs et systeme de transmission comportant un tel dispositif |
US7031926B2 (en) | 2000-10-23 | 2006-04-18 | Nokia Corporation | Spectral parameter substitution for the frame error concealment in a speech decoder |
JP2002202799A (ja) | 2000-10-30 | 2002-07-19 | Fujitsu Ltd | 音声符号変換装置 |
US6968309B1 (en) | 2000-10-31 | 2005-11-22 | Nokia Mobile Phones Ltd. | Method and system for speech frame error concealment in speech decoding |
JP3806344B2 (ja) | 2000-11-30 | 2006-08-09 | 松下電器産業株式会社 | 定常雑音区間検出装置及び定常雑音区間検出方法 |
US7143032B2 (en) | 2001-08-17 | 2006-11-28 | Broadcom Corporation | Method and system for an overlap-add technique for predictive decoding based on extrapolation of speech and ringinig waveform |
US7379865B2 (en) * | 2001-10-26 | 2008-05-27 | At&T Corp. | System and methods for concealing errors in data transmission |
JP2003295882A (ja) * | 2002-04-02 | 2003-10-15 | Canon Inc | 音声合成用テキスト構造、音声合成方法、音声合成装置及びそのコンピュータ・プログラム |
CA2388439A1 (en) | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for efficient frame erasure concealment in linear predictive based speech codecs |
US20040083110A1 (en) * | 2002-10-23 | 2004-04-29 | Nokia Corporation | Packet loss recovery based on music signal classification and mixing |
CN1989548B (zh) * | 2004-07-20 | 2010-12-08 | 松下电器产业株式会社 | 语音解码装置及补偿帧生成方法 |
WO2006028009A1 (ja) * | 2004-09-06 | 2006-03-16 | Matsushita Electric Industrial Co., Ltd. | スケーラブル復号化装置および信号消失補償方法 |
WO2006079348A1 (en) | 2005-01-31 | 2006-08-03 | Sonorit Aps | Method for generating concealment frames in communication system |
US7519535B2 (en) * | 2005-01-31 | 2009-04-14 | Qualcomm Incorporated | Frame erasure concealment in voice communications |
US7610197B2 (en) * | 2005-08-31 | 2009-10-27 | Motorola, Inc. | Method and apparatus for comfort noise generation in speech communication systems |
FR2897977A1 (fr) | 2006-02-28 | 2007-08-31 | France Telecom | Procede de limitation de gain d'excitation adaptative dans un decodeur audio |
WO2008007700A1 (fr) | 2006-07-12 | 2008-01-17 | Panasonic Corporation | Dispositif de décodage de son, dispositif de codage de son, et procédé de compensation de trame perdue |
CN101361112B (zh) * | 2006-08-15 | 2012-02-15 | 美国博通公司 | 隐藏丢包后解码器状态的更新 |
EP2054876B1 (en) | 2006-08-15 | 2011-10-26 | Broadcom Corporation | Packet loss concealment for sub-band predictive coding based on extrapolation of full-band audio waveform |
JP2008058667A (ja) * | 2006-08-31 | 2008-03-13 | Sony Corp | 信号処理装置および方法、記録媒体、並びにプログラム |
JP5061111B2 (ja) | 2006-09-15 | 2012-10-31 | パナソニック株式会社 | 音声符号化装置および音声符号化方法 |
KR20090076964A (ko) | 2006-11-10 | 2009-07-13 | 파나소닉 주식회사 | 파라미터 복호 장치, 파라미터 부호화 장치 및 파라미터 복호 방법 |
BRPI0808200A8 (pt) | 2007-03-02 | 2017-09-12 | Panasonic Corp | Dispositivo de codificação de áudio e dispositivo de decodificação de áudio |
CN100524462C (zh) * | 2007-09-15 | 2009-08-05 | 华为技术有限公司 | 对高带信号进行帧错误隐藏的方法及装置 |
CN101802906B (zh) | 2007-09-21 | 2013-01-02 | 法国电信公司 | 传送误差隐藏的方法和装置、以及数字信号解码器 |
CN100550712C (zh) * | 2007-11-05 | 2009-10-14 | 华为技术有限公司 | 一种信号处理方法和处理装置 |
WO2009084226A1 (ja) | 2007-12-28 | 2009-07-09 | Panasonic Corporation | ステレオ音声復号装置、ステレオ音声符号化装置、および消失フレーム補償方法 |
DE102008004451A1 (de) | 2008-01-15 | 2009-07-23 | Pro Design Electronic Gmbh | Verfahren und Vorrichtung zur Emulation von Hardwarebeschreibungsmodellen zur Herstellung von Prototypen für integrierte Schaltungen |
JP5266341B2 (ja) | 2008-03-03 | 2013-08-21 | エルジー エレクトロニクス インコーポレイティド | オーディオ信号処理方法及び装置 |
FR2929466A1 (fr) * | 2008-03-28 | 2009-10-02 | France Telecom | Dissimulation d'erreur de transmission dans un signal numerique dans une structure de decodage hierarchique |
US8301440B2 (en) | 2008-05-09 | 2012-10-30 | Broadcom Corporation | Bit error concealment for audio coding systems |
MX2011000375A (es) | 2008-07-11 | 2011-05-19 | Fraunhofer Ges Forschung | Codificador y decodificador de audio para codificar y decodificar tramas de una señal de audio muestreada. |
DE102008042579B4 (de) | 2008-10-02 | 2020-07-23 | Robert Bosch Gmbh | Verfahren zur Fehlerverdeckung bei fehlerhafter Übertragung von Sprachdaten |
CN102034476B (zh) | 2009-09-30 | 2013-09-11 | 华为技术有限公司 | 语音帧错误检测的方法及装置 |
WO2011065741A2 (ko) | 2009-11-24 | 2011-06-03 | 엘지전자 주식회사 | 오디오 신호 처리 방법 및 장치 |
JP5393608B2 (ja) * | 2010-07-20 | 2014-01-22 | 株式会社日立ハイテクノロジーズ | 自動分析装置 |
EP2458585B1 (en) * | 2010-11-29 | 2013-07-17 | Nxp B.V. | Error concealment for sub-band coded audio signals |
KR101551046B1 (ko) * | 2011-02-14 | 2015-09-07 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 저-지연 통합 스피치 및 오디오 코딩에서 에러 은닉을 위한 장치 및 방법 |
PL2676264T3 (pl) * | 2011-02-14 | 2015-06-30 | Fraunhofer Ges Forschung | Koder audio estymujący szum tła podczas faz aktywnych |
US9026434B2 (en) * | 2011-04-11 | 2015-05-05 | Samsung Electronic Co., Ltd. | Frame erasure concealment for a multi rate speech and audio codec |
CN105244034B (zh) | 2011-04-21 | 2019-08-13 | 三星电子株式会社 | 针对语音信号或音频信号的量化方法以及解码方法和设备 |
CN103688306B (zh) | 2011-05-16 | 2017-05-17 | 谷歌公司 | 对被编码为连续帧序列的音频信号进行解码的方法和装置 |
WO2012106926A1 (zh) * | 2011-07-25 | 2012-08-16 | 华为技术有限公司 | 一种参数域回声控制装置和方法 |
JP5596649B2 (ja) * | 2011-09-26 | 2014-09-24 | 株式会社東芝 | 文書マークアップ支援装置、方法、及びプログラム |
IN2015DN02595A (es) * | 2012-11-15 | 2015-09-11 | Ntt Docomo Inc | |
EP3528249A1 (en) | 2013-04-05 | 2019-08-21 | Dolby International AB | Stereo audio encoder and decoder |
CN103456307B (zh) * | 2013-09-18 | 2015-10-21 | 武汉大学 | 音频解码器中帧差错隐藏的谱代替方法及系统 |
EP3178441B1 (de) * | 2013-12-20 | 2019-09-04 | Ivoclar Vivadent AG | Verfahren zum verarbeiten eines dentalmaterials, regeleinrichtung für einen dentalofen und dentalofen |
EP2922054A1 (en) | 2014-03-19 | 2015-09-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method and corresponding computer program for generating an error concealment signal using an adaptive noise estimation |
EP2922056A1 (en) | 2014-03-19 | 2015-09-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method and corresponding computer program for generating an error concealment signal using power compensation |
EP2922055A1 (en) | 2014-03-19 | 2015-09-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method and corresponding computer program for generating an error concealment signal using individual replacement LPC representations for individual codebook information |
US9837094B2 (en) * | 2015-08-18 | 2017-12-05 | Qualcomm Incorporated | Signal re-use during bandwidth transition period |
-
2014
- 2014-07-28 EP EP14178761.4A patent/EP2922054A1/en not_active Withdrawn
-
2015
- 2015-03-04 MX MX2016012004A patent/MX357495B/es active IP Right Grant
- 2015-03-04 WO PCT/EP2015/054486 patent/WO2015139956A1/en active Application Filing
- 2015-03-04 BR BR112016020558-8A patent/BR112016020558B1/pt active IP Right Grant
- 2015-03-04 MY MYPI2016001681A patent/MY183512A/en unknown
- 2015-03-04 CA CA2942088A patent/CA2942088C/en active Active
- 2015-03-04 SG SG11201607694UA patent/SG11201607694UA/en unknown
- 2015-03-04 PL PL15707397T patent/PL3120347T3/pl unknown
- 2015-03-04 JP JP2017500140A patent/JP6450511B2/ja active Active
- 2015-03-04 RU RU2016140812A patent/RU2660630C2/ru active
- 2015-03-04 PT PT157073974T patent/PT3120347T/pt unknown
- 2015-03-04 CN CN202010013717.5A patent/CN111370006B/zh active Active
- 2015-03-04 AU AU2015233706A patent/AU2015233706B2/en active Active
- 2015-03-04 KR KR1020167028261A patent/KR101893785B1/ko active IP Right Grant
- 2015-03-04 CN CN201580014728.2A patent/CN106165011B/zh active Active
- 2015-03-04 EP EP15707397.4A patent/EP3120347B1/en active Active
- 2015-03-04 ES ES15707397.4T patent/ES2662936T3/es active Active
- 2015-03-11 TW TW104107804A patent/TWI560704B/zh active
-
2016
- 2016-09-16 US US15/267,809 patent/US10163444B2/en active Active
-
2017
- 2017-06-16 HK HK17105994.6A patent/HK1232337A1/zh unknown
-
2018
- 2018-11-01 US US16/178,179 patent/US10621993B2/en active Active
- 2018-12-08 JP JP2018230460A patent/JP6773751B2/ja active Active
-
2020
- 2020-03-27 US US16/833,211 patent/US11423913B2/en active Active
- 2020-10-01 JP JP2020166736A patent/JP7167109B2/ja active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2664391T3 (es) | Aparato, método y programa informático correspondiente para generar una señal de ocultación de error usando compensación de potencia | |
ES2662936T3 (es) | Aparato, método y programa informático correspondiente para generar una señal de ocultación de error usando una estimación de ruido adaptativa | |
ES2661919T3 (es) | Aparato, método y programa informático correspondiente para generar una señal de audio de ocultación de error usando representaciones de LPC de sustitución individuales |