ES2588483T3 - Decodificador de audio que comprende un estimador de ruido de fondo - Google Patents
Decodificador de audio que comprende un estimador de ruido de fondo Download PDFInfo
- Publication number
- ES2588483T3 ES2588483T3 ES14196262.1T ES14196262T ES2588483T3 ES 2588483 T3 ES2588483 T3 ES 2588483T3 ES 14196262 T ES14196262 T ES 14196262T ES 2588483 T3 ES2588483 T3 ES 2588483T3
- Authority
- ES
- Spain
- Prior art keywords
- background noise
- audio signal
- data stream
- decoder
- audio
- 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
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/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/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/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
- G10L19/025—Detection of transients or attacks for time/frequency resolution switching
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K11/00—Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
- G10K11/16—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
-
- 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
-
- 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/012—Comfort noise or silence coding
-
- 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
-
- 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/0212—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 using orthogonal transformation
-
- 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/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- 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/03—Spectral prediction for preventing pre-echo; Temporary noise shaping [TNS], e.g. in MPEG2 or MPEG4
-
- 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
- G10L19/07—Line spectrum pair [LSP] vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
- G10L19/107—Sparse pulse excitation, e.g. by using algebraic codebook
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
- G10L19/13—Residual excited linear prediction [RELP]
-
- 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
-
- 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/22—Mode decision, i.e. based on audio signal content versus external parameters
-
- 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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/06—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/26—Pre-filtering or post-filtering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Quality & Reliability (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Soundproofing, Sound Blocking, And Sound Damping (AREA)
Abstract
Un decodificador de audio para decodificar una secuencia de datos para reconstruir una señal de audio a partir de la misma, en el que la secuencia de datos comprende al menos una fase activa (86) seguida por una fase 5 inactiva (88), donde el decodificador de audio comprende: un estimador de ruido de fondo (90) configurado para actualizar continuamente una estimación de ruido de fondo paramétrica a partir de la secuencia de datos (104) durante la fase activa (86); un decodificador (92) configurado para reconstruir la señal de audio a partir de la secuencia de datos durante la fase activa; un generador aleatorio paramétrico (94); un generador de ruido de fondo (96) configurado para sintetizar la señal de audio durante la fase inactiva (88) controlando el generador aleatorio paramétrico (94) durante la fase inactiva (88) dependiendo de la estimación de ruido de fondo paramétrica; donde el decodificador (92) está configurado para, al reconstruir la señal de audio a partir de la secuencia de datos, conformar una señal de excitación codificada por transformada en la secuencia de datos, de acuerdo a coeficientes de predicción lineal también codificados en la secuencia de datos; y donde el estimador de ruido de fondo (90) está configurado para actualizar la estimación de ruido de fondo paramétrica utilizando la señal de excitación.
Description
5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Decodificador de audio que comprende un estimador de ruido de fondo
La presente invencion concierne a un codec de audio que soporta smtesis de ruido durante fases inactivas.
En la tecnica se conoce la posibilidad de reducir el ancho de banda de transmision aprovechando los penodos inactivos de voz o de otras fuentes de ruido. Tales esquemas generalmente usan alguna forma de deteccion para distinguir entre fases inactivas (de silencio) y activas (de no silencio). Durante fases inactivas, se logra una menor frecuencia de bits parando la transmision de la secuencia de datos ordinaria codificando precisamente la senal grabada, y enviando en cambio solo actualizaciones de descripcion de insercion de silencio (SID). Las actualizaciones de SID pueden ser transmitidas a intervalos regulares o cuando se detectan cambios en las caractensticas del ruido de fondo. Entonces se pueden usar los cuadros de SID en el lado de decodificacion para generar un ruido de fondo con caractensticas similares al ruido de fondo durante las fases activas de modo que el freno de la transmision de la secuencia de datos ordinaria que codifica la senal grabada no conduce a una transicion desagradable desde la fase activa a la fase inactiva en el lado del receptor.
Sin embargo, todavfa hay una necesidad de reducir mas el ritmo de transmision. Un creciente numero de consumidores de cantidad de bits transmitidos (bitrate), tal como un creciente numero de telefonos moviles, y un creciente numero de aplicaciones que hacen uso mas o menos intensivo en cuando a cantidad de bits transmitidos, requieren una permanente reduccion de la cantidad de bits transmitidos consumidos.
Por el otro lado, el ruido sintetizado debe emular estrechamente el ruido real de modo que la smtesis sea transparente para los usuarios.
La solicitud WO 02/101722 A1 describe, entre otras cosas, un sistema para generar ruido de confort coloreado. En particular, el ruido de confort se genera coloreando o conformando espectralmente una senal de ruido blanco. La informacion de filtro se estima basandose en pausas o intervalos durante una senal vocal.
Consiguientemente, es un objetivo de la presente invencion proveer un esquema de codec de audio que soporta generacion de ruido durante fases inactivas, el cual permite reducir la cantidad de bits transmitidos de transmision mientras se mantiene la calidad de generacion de ruido alcanzable.
Este objetivo se alcanza mediante la materia de las reivindicaciones independientes.
La idea basica de la presente invencion es que se puede ahorrar valiosa cantidad de bits transmitidos manteniendo la calidad de generacion de ruido dentro de las fases inactivas, si se actualiza continuamente una estimacion de ruido de fondo parametrico durante una fase activa de modo que la generacion de ruido puede ser iniciada inmediatamente luego de la entrada de la fase inactiva que sigue a la fase activa. Por ejemplo, la actualizacion continua puede ser realizada en el lado de decodificacion, y no hay necesidad de proveer en forma preliminar el lado de decodificacion, con una representacion codificada del ruido de fondo durante una fase de calentamiento inmediatamente a continuacion de la deteccion de la fase inactiva cuya provision consumina valiosa cantidad de bits transmitidos, ya que el lado de decodificacion tiene la estimacion de ruido de fondo parametrica continuamente actualizada durante la fase activa y por ende, esta preparada en todo momento para entrar inmediatamente a la fase activa con una generacion de ruido apropiada. De manera similar se puede evitar una fase de calentamiento asf si la estimacion de ruido de fondo parametrica se hace en el lado de codificacion. En lugar de continuar en forma preliminar con proveer al lado de decodificacion una representacion convencionalmente codificada del ruido de fondo al detectar la entrada de la fase inactiva para aprender el ruido de fondo e informar consiguientemente al lado de decodificacion despues de la fase de aprendizaje, el codificador puede proveer al decodificador la necesaria estimacion de ruido de fondo parametrica inmediatamente al detectar la entrada de la fase inactiva recurriendo a la estimacion de ruido ambiente parametrica continuamente actualizada durante la fase activa parada, evitando de ese modo la prosecucion adicional preliminar que consume cantidad de bits transmitidos de la muy trabajosa codificacion del ruido de fondo.
De acuerdo con realizaciones espedficas de la presente invencion, se alcanza una generacion de ruido mas realista con moderado factor que rebaja el rendimiento en terminos de, por ejemplo, cantidad de bits transmitidos y complejidad computacional. En particular, de acuerdo con estas realizaciones, se usa el dominio espectral para parametrizar el ruido de fondo produciendo de ese modo una smtesis de ruido de fondo que es mas realista y por ende conduce a una mas transparente conmutacion de fase activa a inactiva. Asimismo, se ha descubierto que parametrizar el ruido de fondo en el dominio espectral permite separar ruido de la senal util y por consiguiente, parametrizar el ruido de fondo en el dominio espectral tiene ventaja cuando se combina con la actualizacion continua mencionada antes de la estimacion de ruido de fondo parametrica durante las fases activas ya que se puede lograr una mejor separacion entre ruido y senal util en el dominio espectral de modo que no es necesaria transicion adicional desde un dominio a otro cuando se combinan ambos aspectos ventajosos de la presente solicitud.
5
10
15
20
25
30
35
40
45
50
55
60
65
Otros detalles ventajosos de realizaciones de la presente invencion son tema de las reivindicaciones dependientes.
Abajo se describen realizaciones preferidas de la presente solicitud con respecto a las Figuras entre las cuales:
la Figura 1 muestra un diagrama de bloques de un codificador de audio, de acuerdo con una realizacion de comparacion;
la Figura 2 muestra una implementacion posible del motor de codificacion 14;
la Figura 3 muestra un diagrama de bloques de un decodificador de audio de acuerdo con una realizacion;
la Figura 4 muestra una posible implementacion del motor de decodificacion de la Figura 3 de acuerdo con una realizacion;
la Figura 5 muestra un diagrama de bloques de un codificador de audio de acuerdo con otra realizacion de comparacion mas detallada;
la Figura 6 muestra un diagrama de bloques de un decodificador que podna ser usado en conexion con el codificador de la Figura 5;
la Figura 7 muestra un diagrama de bloques de un decodificador de audio de acuerdo con otra realizacion mas detallada;
la Figura 8 muestra un diagrama de bloques de una parte de extension de ancho de banda espectral de un codificador de audio;
la Figura 9 muestra una implementacion del codificador de extension de ancho de banda espectral CNG de la Figura
8;
la Figura 10 muestra un diagrama de bloques de un decodificador de audio de acuerdo con un ejemplo de realizacion que usa extension de ancho de banda espectral;
la Figura 11 muestra un diagrama de bloques de una posible descripcion mas detallada de una realizacion para un decodificador de audio que usa replicacion de ancho de banda espectral;
la Figura 12 muestra un diagrama de bloques de un codificador de audio que usa extension de ancho de banda espectral; y
la Figura 13 muestra un diagrama de bloque de otra realizacion de un decodificador de audio.
La Figura 1 ilustra un codificador de audio 100 de acuerdo con una realizacion de comparacion. El codificador de audio de la Figura 1 comprende un estimador de ruido de fondo 12, un motor de codificacion 14, un detector 16, una entrada de senal de audio 18 y una salida de secuencia de datos 20. El proveedor 12, el motor de codificacion 14 y el detector 16 tienen una entrada conectada a la entrada de senal de audio 18, respectivamente. Las salidas del estimador 12 y del motor de codificacion 14 estan respectivamente conectadas a la salida de secuencia de datos 20 a traves de un conmutador 22. El conmutador 22, el estimador 12 y el motor de codificacion 14 tienen una entrada de control conectada a una salida del detector 16, respectivamente.
El estimador de ruido de fondo 12 esta configurado para actualizar continuamente una estimacion de ruido de fondo parametrica durante una fase activa 24 basado en una senal de audio de entrada que ingresa al codificador de audio 10 en la entrada 18. A pesar de que la Figura 1 sugiere que el estimador de ruido de fondo 12 puede establecer la actualizacion continua de la estimacion de ruido de fondo parametrica basado en la senal de audio como entrada en la entrada 18, no necesariamente es este el caso. Alternativamente o adicionalmente, el estimador de ruido de fondo 12 puede obtener una version de la senal de audio del motor de codificacion 14 como se ilustra mediante la lmea de trazos 26. En ese caso, el estimador de ruido de fondo 12, alternativamente o adicionalmente, sena conectado a la entrada 18 indirectamente via la lmea de conexion 26 y el motor de codificacion 14, respectivamente. En particular, existen diferentes posibilidades para que el estimador de ruido de fondo 12 actualice continuamente la estimacion de ruido de fondo y abajo se describen algunas de esas posibilidades.
El motor de codificacion 14 esta configurado para codificar la senal de audio de entrada que llega a la entrada 18 en una secuencia de datos durante la fase activa 24. La fase activa abarcara todo tiempo en que una informacion util esta contenida dentro de la senal de audio como voz u otro sonido util de una fuente de ruido. Por el otro lado, los sonidos con una caractenstica casi invariable en el tiempo tales como un espectro con invariancia temporal como el causado por ejemplo por lluvia o trafico en el fondo de un locutor, sera clasificado como ruido de fondo y siempre
5
10
15
20
25
30
35
40
45
50
55
60
que este presente meramente este ruido de fondo, el respectivo penodo de tiempo sera clasificado como una fase inactiva 28. El detector 16 es responsable de detectar la entrada de una fase inactiva 28 a continuacion de la fase activa 24 basado en la senal de audio de entrada en la entrada 18. En otras palabras, el detector 16 distingue entre dos fases, a saber la fase activa y la fase inactiva en donde el detector 16 decide en cuanto a que fase esta presente actualmente. El detector 16 informa al motor de codificacion 14 acerca de la fase actualmente presente y como ya se menciono, el motor de codificacion 14 realiza la codificacion de la senal de audio de entrada en la secuencia de datos durante las fases activas 24. El detector 16 controla el conmutador 22 consiguientemente de modo que la secuencia de datos entregada por el motor de codificacion 14 sea entregada en la salida 20. Durante las fases inactivas, el motor de codificacion 14 puede dejar de codificar la senal de audio de entrada. Por lo menos, la secuencia de datos entregada en la salida 20 ya no es alimentada por ninguna secuencia de datos posiblemente entregada por el motor de codificacion 14. Ademas de eso, el motor de codificacion 14 puede solo realizar mmimo procesamiento para dar soporte al estimador 12 con algunas actualizaciones de estado variables. Esta accion reducira mucho la potencia computacional. Por ejemplo, se pone el conmutador 22 tal que la salida del estimador 12 este conectada a la salida 20 en lugar de a la salida del motor de codificacion. De esta manera se reduce valiosa cantidad de bits transmitidos para transmitir la serie de bits en el tiempo entregada en la salida 20.
El estimador de ruido de fondo 12 esta configurado para actualizar continuamente una estimacion de ruido de fondo parametrica durante la fase activa 24 basado en la senal de audio de entrada 18 como ya menciono arriba, y debido a esto, el estimador 12 puede insertar en la secuencia de datos 30 entregada en la salida 20, la estimacion de ruido de fondo parametrica como esta actualizada continuamente durante la fase activa 24, inmediatamente a continuacion de la transicion desde la fase activa 24 a la fase inactiva 28, esto es, inmediatamente luego de la entrada en la fase inactiva 28. Por ejemplo, el estimador de ruido de fondo 12 puede insertar un cuadro descriptor de insercion de silencio 32 en la secuencia de datos 30 inmediatamente siguiente a la finalizacion de la fase activa 24 e inmediatamente siguiente al instante de tiempo 34 en el cual el detector 16 detecto la entrada de la fase inactiva 28. En otras palabras, no hay espacio de tiempo entre la deteccion de la entrada de la fase inactiva 28 en los detectores y la insercion del SID 32 necesaria debido a la actualizacion continua del estimador de ruido de fondo de la estimacion de ruido de fondo parametrica durante la fase activa 24.
Asf, sintetizando la descripcion de arriba, el codificador de audio 10 de la Figura 1 puede funcionar como sigue. Imagine, con propositos de ilustracion, que actualmente esta presente una fase activa 24. En este caso, el motor de codificacion 14 actualmente codifica la senal de audio de entrada en la entrada 18, formando la secuencia de datos 20. El conmutador 22 conecta la salida del motor de codifica 14 a la salida 20. El motor de codificacion 14 puede usar codificacion parametrica y/codificacion por transformada para codificar la senal de audio de entrada 18 formando la secuencia de datos. En particular, el motor de codificacion 14 puede codificar la senal de audio de entrada en unidades de cuadros con cada cuadro que codifica uno de los intervalos de tiempo consecutivos — que se superponen parcialmente entre sf — de la senal de audio de entrada. El motor de codificacion 14 puede tener adicionalmente la capacidad de conmutar entre diferentes modos de codificacion entre cuadros consecutivos de la secuencia de datos. Por ejemplo, algunos cuadros pueden ser codificados usando codificacion predictiva tal como codificacion CELP, y algunos otros cuadros pueden ser codificados usando codificacion por transformada tal como codificacion TCX o AaC. Se hace referencia, por ejemplo, a USAC y sus modos de codificacion segun se describen en ISO/IEC CD 23003—3 fechado el 24 de septiembre de 2010.
El estimador de ruido de fondo 12 actualiza continuamente la estimacion de ruido de fondo parametrica durante la fase activa 24. Consiguientemente, el estimador de ruido de fondo 12 puede estar configurado para distinguir entre un componente de ruido y un componente de senal util dentro de la senal de audio de entrada para determinar la estimacion de ruido de fondo parametrica meramente del componente de ruido. Tal y como se describe adicionalmente abajo, el estimador de ruido de fondo 12 puede realizar esta actualizacion en un dominio espectral tal como un dominio espectral tambien usado para codificacion por transformada dentro del motor de codificacion 14. Sin embargo, tambien hay disponibles otras alternativas, tal como el dominio del tiempo. Si es en el dominio espectral, el mismo puede ser un dominio de la transformada lapped tal como un dominio de MDCT (Modified Discrete Cosine Transform), o un dominio de banco de filtros tal como un dominio de banco de filtros de valor complejo tal como un dominio QMF (Quadrature Mirror Filters).
Asimismo, el estimador de ruido de fondo 12 puede realizar la actualizacion basado en una excitacion o senal residual obtenida como un resultado intermedio dentro del motor de codificacion 14, por ejemplo, durante la codificacion predictivo y/o por transformada mas que la senal de audio segun entra a la entrada 18 o un codificada con perdida de datos (lossy) formando la secuencia de datos. Haciendolo esto, una gran cantidad del componente util de senal dentro de la senal de audio ya habna sido quitado de modo que la deteccion del componente de ruido es mas facil para el estimador de ruido de fondo 12.
Durante la fase activa 24, el detector 16 tambien esta funcionando continuamente para detectar una entrada de la fase inactiva 28. El detector 16 puede ser puesto en practica como un detector de actividad de voz/sonido (VAD/SAD) o algun otro mecanismo que decida si hay un componente de senal util presente actualmente dentro de la senal de audio o no. Un criterio de base para el detector 16 para decidir si continua o no una fase activa 24, podna
5
10
15
20
25
30
35
40
45
50
55
60
65
ser verificar si una potencia filtrada por pasa bajos de la senal de audio, queda por debajo de un cierto umbral, suponiendo que se ingresa a una fase inactiva tan pronto como se excede el umbral.
Independientemente de la forma exacta en que el detector 16 realiza la deteccion de la entrada de la fase inactiva 28 a continuacion de la fase activa 24, el detector 16 informa inmediatamente a las otras entidades 12, 14 y 22, de la entrada de la fase inactiva 28. Debido a la actualizacion continua del estimador de ruido de fondo de la estimacion de ruido de fondo parametrica durante la fase activa 24, se puede impedir inmediatamente que la secuencia de datos 30 entregada en la salida 20 siga siendo alimentada desde el motor de codificacion 14. En cambio, el estimador de ruido de fondo 12 insertana, inmediatamente luego de ser informado de la entrada de la fase inactiva 28, insertana la informacion sobre la ultima actualizacion de la estimacion de ruido de fondo parametrica en la secuencia de datos 30, en la forma del cuadro SID 32. Eso es, el cuadro SID 32 podna seguir inmediatamente al ultimo cuadro del motor de codificacion que codifica el cuadro de la senal de audio concerniente al intervalo de tiempo dentro del cual el detector 16 detecto la entrada de fase inactiva.
Normalmente, el ruido de fondo no cambia con mucha frecuencia. En la mayona de los casos, el ruido de fondo tiende a ser algo invariante con el tiempo. Por consiguiente, despues que el estimador de ruido de fondo 12 inserto el cuadro de SID 32 inmediatamente despues que el detector 16 que detecta el comienzo de la fase inactiva 28, toda transmision de secuencia de datos puede ser interrumpida de modo que en esta fase de interrupcion 34, la secuencia de datos 30 no consume cantidad de bits transmitidos o meramente un mmimo de cantidad de bits transmitidos requerida para algun proposito de transmision. Para mantener una minima cantidad de bits transmitidos, el estimador de ruido de fondo 12 puede repetir en forma intermitente la salida de SID 32.
Sin embargo, a pesar de la tendencia del ruido de fondo a no cambiar con el tiempo, de todos modos puede ocurrir que el ruido de fondo cambie. Por ejemplo, imagine un usuario de telefono movil saliendo del auto de modo que el ruido de fondo cambia del ruido de motor al ruido del trafico afuera del auto durante la llamada del usuario. Para rastrear tales cambios del ruido de fondo, el estimador de ruido de fondo 12 puede ser configurado para escrutar continuamente el ruido de fondo durante la fase inactiva 28. Siempre que el estimador de ruido de fondo 12 determina que la estimacion de ruido de fondo parametrica cambia en una magnitud que excede algun umbral, el estimador de fondo 12 puede insertar una version actualizada de la estimacion de ruido de fondo parametrica dentro de la secuencia de datos 20 via otro SID 38, despues de lo cual puede seguir otra fase de interrupcion 40, por ejemplo, empieza otra fase activa 42 segun lo detectado por el detector 16, y asf de seguido. Naturalmente, los cuadros de SID que revelan la estimacion de ruido de fondo parametrica actualizada actualmente pueden, adicionalmente o alternativamente, pueden ser intercalados dentro de las fases inactivas de una manera intermedia dependiente de los cambios en la estimacion de ruido de fondo parametrica.
Obviamente, la secuencia de datos 44 entregada por el motor de codificacion 14 e indicada en la Figura 1 mediante el uso de sombreado, consume mas cantidad de bits transmitidos de transmision que los fragmentos de secuencia de datos 32 y 38 a ser transmitidos durante las fases inactivas 28 y por consiguiente los ahorros de cantidad de bits transmitidos son considerables. Asimismo, como el estimador de ruido de fondo 12 puede empezar inmediatamente con proceder a alimentar adicionalmente la secuencia de datos 30, no es necesario continuar en forma preliminar transmitiendo la secuencia de datos 44 del motor de codifica 14 mas alla del punto de tiempo de deteccion de fase inactiva 34, reduciendo de ese modo todavfa mas la cantidad de bits transmitidos consumidos en total.
Como se explicara en mas detalle abajo, el motor de codificacion 14 puede ser configurado para, al codificar la senal de audio de entrada, codificar predictivamente la senal de audio de entrada en coeficientes de prediccion lineal y un senal de excitacion con codificar por transformada la senal de excitacion y codificar los coeficientes de prediccion lineal en la secuencia de datos 30 y 44, respectivamente. En la Figura 2 se muestra una posible implementacion. De acuerdo con la Figura 2, el motor de codificacion 14 comprende un transformador 50, un corrector (shaper) de ruido del dominio de la frecuencia 52 y un cuantificador 54 los cuales estan conectados en serie en el orden en que se mencionan entre una entrada de senal de audio 56 y una salida de secuencia de datos 58 del motor de codificacion 14. Ademas, el motor de codificacion 14 de la Figura 2 comprende un modulo de analisis de prediccion lineal 60 el cual esta configurado para determinar coeficientes de prediccion lineal a partir de la senal de audio 56 mediante respectivo ventaneo de analisis de porciones de la senal de audio y aplicando una autocorrelacion a las porciones ventaneadas, o determinar una autocorrelacion sobre la base de las transformadas en el dominio de la transformada de la senal de audio de entrada como salida mediante el transformador 50 usando su espectro de potencia y aplicando una DFT inversa a ello de modo de determinar la autocorrelacion, realizar subsiguientemente estimacion LPC en base a la autocorrelacion tal como usando un algoritmo de (Wiener—) Levinson—Durbi.
En base a los coeficientes de prediccion lineal determinados por el modulo de analisis de prediccion lineal 60, la secuencia de datos entregada en la salida 58 es alimentada con respectiva informacion sobre los LPCs, y el corrector de ruido del dominio de la frecuencia es controlado de modo que corregir espectralmente el espectrograma de la senal de audio en concordancia con una funcion transferencia correspondiente a la funcion transferencia de un filtro de analisis de prediccion lineal determinado por los coeficientes de prediccion lineal entregados por el modulo 60. Se puede realizar una cuantificacion de los LPCs para transmitirlos en la secuencia de datos, en el dominio LSP/LSF usando interpolacion de modo de reducir la tasa de trasmision comparado con la tasa de analisis en el
5
10
15
20
25
30
35
40
45
50
55
60
analizador 60. Ademas, la conversion de LPC a ponderacion espectral realizada en el FDNS puede involucrar aplicar una ODFT sobre los LPCs y aplicar los valores de ponderacion resultantes a los espectros del transformador como divisor.
El cuantificador 54 entonces cuantifica los coeficientes de transformacion del espectrograma espectralmente formado (aplanado). Por ejemplo, el transformador 50 usa una transformada lapped tal como una MDCT para transferir la senal de audio desde el dominio del tiempo al dominio espectral, obteniendo de ese modo transformadas consecutivas correspondientes a porciones ventaneadas que se superponen de la senal de audio, las cuales luego son formadas espectralmente mediante el corrector de ruido del dominio de la frecuencia 52 ponderando estas transformadas de acuerdo con la funcion de transferencia del filtro de analisis de LP.
El espectrograma corregido puede ser interpretado como una senal de excitacion y como tal se ilustra mediante la flecha de trazos 62, el estimador de ruido de fondo 12 puede estar configurado para actualizar la estimacion de ruido parametrica usando esta senal de excitacion. Alternativamente, como esta indicado mediante la flecha de trazos 62, el estimador de ruido de fondo 12 puede usar la representacion de transformada lapped como salida mediante el transformador 50 como base para la actualizacion directamente, esto es, sin la correccion de ruido del dominio de la frecuencia mediante el corrector de ruido 52.
Mas detalles relacionados con posibles implementaciones de los elementos mostrados en las Figuras 1 a 2 se pueden establecer a partir de la descripcion subsiguiente mas detallada y se hace notar que todos estos detalles son individualmente transferibles a los elementos de las Figuras 1 y 2.
Sin embargo, antes de esta descripcion mas detallada, se hace referencia a la Figura 3, la cual muestra que, adicionalmente o alternativamente, la actualizacion de estimacion de ruido de fondo parametrica se puede hacer del lado del decodificador.
El decodificador de audio 80 de la Figura 3 esta configurado para decodificar una secuencia de datos que entra en la entrada 82 del decodificador 80 de modo de reconstruir a partir de ella una senal de audio a ser entregada en una salida 84 del decodificador 80. La secuencia de datos comprende por lo menos una fase activa 86 seguida por una fase inactiva 88. Internamente, el decodificador de audio 80 comprende un estimador de ruido de fondo 90, un motor de decodificacion 92, un generador aleatorio parametrico 94 y un generador de ruido de fondo 96. El motor de decodificacion 92 esta conectado entre la entrada 82 y la salida 84 y de manera similar, la conexion en serie del proveedor 90, el generador de ruido de fondo 96 y el generador aleatorio parametrico 94 estan conectados entre la entrada 82 y la salida 84. El decodificador 92 esta configurado para reconstruir la senal de audio a partir de la secuencia de datos durante la fase activa, de modo que la senal de audio 98 como se entrega en la salida 84 comprende ruido y sonido util en una calidad apropiada. El estimador de ruido de fondo 90 esta configurado para actualizar continuamente una estimacion de ruido de fondo parametrica a partir de la secuencia de datos durante la fase activa. Con este fin, el estimador de ruido de fondo 90 puede no estar conectado a la entrada 82 directamente sino via el motor de decodificacion 92 como se ilustra mediante la lmea de trazos 100 de modo de obtener del motor de decodificacion 92 alguna version reconstruida de la senal de audio. En principio, el estimador de ruido de fondo 90 puede estar configurado para funcionar en modo muy similar al estimador de ruido de fondo 12, ademas del hecho de que el estimador de ruido de fondo 90 solo tiene acceso a la version reconstruible de la senal de audio, esto es, que incluye la perdida causada por cuantificacion en el lado de codificacion.
El generador aleatorio parametrico 94 puede comprender uno o mas generadores o pseudogeneradores de numeros aleatorios, la secuencia de valores entregada por el cual puede conformarse a una distribucion estadfstica que puede ser fijada en forma parametrica via el generador de ruido de fondo 96.
El generador de ruido de fondo 96 esta configurado para sintetizar la senal de audio 98 durante la fase inactiva 88 controlando el generador aleatorio parametrico 94 durante la fase inactiva 88 dependiendo de la estimacion de ruido de fondo parametrica segun se obtuvo del estimador de ruido de fondo 90. A pesar de que ambas entidades, 96 y 94, se muestran conectadas en serie, la conexion en serie no debe ser interpretada como limitacion. Los generadores 96 y 94 podnan estar interconectados. De hecho, el generador 94 podna ser interpretado como siendo parte del generador 96.
Asf, el modo de funcionamiento del decodificador de audio 80 de la Figura 3 puede ser como sigue. Durante una fase activa 86, la entrada 82 es provista continuamente con una porcion de secuencia de datos 102 la cual ha de ser procesada por el motor de decodificacion 92 durante la fase activa 86. La secuencia de datos 104 que entra en la entrada 82 entonces frena la transmision de la porcion de secuencia de datos 102 dedicada para el motor de decodificacion 92 en algun instante de tiempo 106. Eso es, no hay otro cuadro de la porcion de secuencia de datos en ese instante de tiempo 106 para decodificacion por el motor 92. La senalizacion de la entrada de la fase inactiva 88 puede ser la perturbacion de la transmision de la porcion de secuencia de datos 102, o bien puede ser senalizada mediante alguna informacion 108 dispuesta inmediatamente en el inicio de la fase inactiva 88.
5
10
15
20
25
30
35
40
45
50
55
60
65
En cualquier caso, la entrada de la fase inactiva 88 ocurre muy repentinamente, pero esto no es un problema ya que el estimador de ruido de fondo 90 tiene actualizada continuamente la estimacion de ruido de fondo parametrica durante la fase activa 86 sobre la base de la porcion de secuencia de datos 102. Debido a esto, el estimador de ruido de fondo 90 puede proveer al generador de ruido de fondo 96 la version mas nueva de la estimacion de ruido de fondo parametrica tan pronto como empieza en 106, la fase inactiva 88. Consiguientemente, a partir del instante 106 en adelante, el motor de decodificacion 92 deja de entregar reconstruccion de senal de audio ya que el motor de decodificacion 92 ya no es alimentado con una porcion de secuencia de datos 102, pero el generador aleatorio parametrico 94 es controlado por el generador de ruido de fondo 96 de acuerdo con una estimacion de ruido de fondo parametrica tal que puede entregar una emulacion del ruido de fondo en la salida 84 inmediatamente a continuacion del instante de tiempo 106 de modo seguir sin interrupcion la senal de audio reconstruida segun lo entregado por el motor de decodificacion 92 hasta el instante de tiempo 106. Se puede usar desvanecimiento cruzado para transitar desde el ultimo cuadro reconstruido de la fase activa segun lo entregado por el motor 92 al ruido de fondo segun esta determinado por la version recientemente actualizada de la estimacion de ruido de fondo parametrica.
Como el estimador de ruido de fondo 90 esta configurado para actualizar continuamente la estimacion de ruido de fondo parametrica a partir de la secuencia de datos 104 durante la fase activa 86, el mismo puede ser configurado para distinguir entre un componente de ruido y un componente de senal util dentro de la version de la senal de audio segun lo reconstruido a partir de la secuencia de datos 104 en la fase activa 86 y para determinar la estimacion de ruido de fondo parametrica meramente a partir del componente de ruido en lugar del componente de sena util. La manera en que el estimador de ruido de fondo 90 realizar esta distincion/separacion corresponde a la manera delineada arriba con respecto al estimador de ruido de fondo 12. Por ejemplo, se puede usar la excitacion o senal residual interna reconstruida a partir de la secuencia de datos 104 dentro del motor de decodificacion 92.
Similar a la Figura 2, la Figura 4 muestra una posible implementacion para el motor de decodificacion 92. De acuerdo con la Figura 4, el motor de decodificacion 92 comprende una entrada 110 para recibir la porcion de secuencia de datos 102 y una salida 112 para entregar la senal reconstruida dentro de la fase activa 86. Conectados en serie entre ellos, el motor de decodificacion 92 comprende un descuantificador 114, un corrector de ruido del dominio de la frecuencia 116 y una transformador inverso 118, los cuales estan conectados entre la entrada 110 y la salida 112 en el orden en que se mencionan. La porcion de secuencia de datos 102 que llega a la entrada 110 comprende una version codificada de transformada de la senal de excitacion, esto es, niveles de coeficientes de transformada que la representan, los cuales son alimentados a la entrada del descuantificador 114, asf como tambien informacion sobre coeficientes de prediccion lineal, cuya informacion es alimentada al corrector de ruido del dominio de la frecuencia 116. El descuantificador 114 descuantifica la representacion espectral de la senal de excitacion y la remite al corrector de ruido del dominio de la frecuencia 116 el cual, a su vez, forma espectralmente el espectrograma de la senal de excitacion (junto con el ruido de cuantificacion plano) de acuerdo con una funcion transferencia que corresponde a un filtro de smtesis de prediccion lineal, formando de ese modo ruido de cuantificacion. En principio, el FDNS 116 de la Figura 4 actua similar al FDNS de la Figura 2: Se extraen los LPCs de la secuencia de datos y luego son sometidos a conversion de LPC a peso espectral, por ejemplo, aplicando una ODFT sobre los LPCs extrafdos, aplicando luego las ponderaciones espectrales resultantes a los espectros descuantificados entrantes desde el descuantificador 114 como multiplicadores. El transformador 118 entonces transfiere la reconstruccion de senal de audio asf obtenida desde el dominio espectral al dominio del tiempo y entre la senal de audio reconstruida asf obtenida en la salida 112. El transformador inverso 118 puede usar una transformada lapped tal como una IMDCT. Como se ilustra mediante la flecha de trazos 120, el espectrograma de la senal de excitacion puede ser usado por el estimador de ruido de fondo 90 para la actualizacion de ruido de fondo parametrica. Alternativamente, pero no de acuerdo con la invencion, el espectrograma de la senal de audio en sf mismo puede ser usado como se indica mediante la flecha de trazos 122.
Con respecto a la Figura 2 y a la Figura 4, se debe notar que las implementaciones de los motores de codificacion/decodificacion descritas con respecto a los mismos no han de ser interpretadas como restrictivas. Tambien son factibles ejemplos alternativos. Asimismo, los motores de codificacion/decodificacion pueden ser un tipo codec multimodal donde las partes de las Figuras 2 y 4 meramente asumen responsabilidad para codificar/decodificar cuadros que tiene un modo de codificacion de cuadro espedfico asociado con el mismo, mientras que otros cuadros son sometidos a otras partes de los motores de codificacion/decodificacion no mostrados en las Figuras 2 y 4. Tal otro modo de codificacion de cuadro podna tambien ser un modo de codificacion predictivo que usa codificacion de prediccion lineal por ejemplo, pero con codificacion en el dominio del tiempo en lugar de usar codificacion de transformada.
La Figura 5 muestra un ejemplo mas detallado del codificador de la Figura 1. En particular, el estimador de ruido de fondo 12 se muestra en mas detalle en la Figura 5.
De acuerdo con la Figura 5, el estimador de ruido de fondo 12 comprende un transformador 140, un FDNS 142, un modulo de analisis de LP 144, un estimador de ruido 146, un estimador de parametros 148, un medidor de estacionariedad 150, y un cuantificador 152. Algunos de los componentes recien mencionados pueden estar total o parcialmente en el motor de codificacion 14. Por ejemplo, el transformador 140 y el transformador 50 de la Figura 2
5
10
15
20
25
30
35
40
45
50
55
60
65
pueden ser iguales, los modulos de analisis de LP 60 y 144 pueden ser iguales, los FDNSs 52 y 142 pueden ser iguales y/o los cuantificadores 54 y 152 pueden ser implementados en un modulo.
La Figura 5 tambien muestra un empaquetador de serie de bits en el tiempo (bitstream packager) 154 el cual asume una responsabilidad pasiva para la operacion del conmutador 22 en la Figura 1. En particular, el VAD como el detector 16 del codificador de la Figura 5 es llamado en forma ejemplar, simplemente decide en lo que hace a cual camino se debe tomar, ya sea el camino de la codificacion de audio 14 o el camino del estimador de ruido de fondo 12. Para ser mas preciso, el motor de codificacion 14 y el estimador de ruido de fondo 12 estan ambos conectados en paralelo entre la entrada 18 y el empaquetador 154, en donde adentro del estimador de ruido de fondo 12, el transformador 140, el FDNS 142, el modulo de analisis de LP 144, el estimador de ruido 146, el estimador de parametros 148, y el cuantificador 152, estan conectados en serie entre la entrada 18 y el empaquetador 154 (en el orden en que se mencionan), mientras el modulo de analisis de LP 144 esta conectado entre la entrada 18 y una entrada de LPC del modulo FDNS 142 y una entrada adicional del cuantificador 153, respectivamente, y un medidor de estacionariedad 150 esta conectado adicionalmente entre el modulo de analisis de LP 144 y una entrada de control del cuantificador 152. El empaquetador de serie de bits en el tiempo 154 simplemente realizar el empaquetado si recibe una entrada proveniente de cualquiera de las entidades conectadas a sus entradas.
En el caso de transmitir cuadros cero, esto es, durante la fase de interrupcion de la fase inactiva, el detector 16 informa al estimador de ruido de fondo 12, en particular al cuantificador 152, que pare de procesar y que no envie nada al empaquetador de serie de bits en el tiempo 154.
De acuerdo con la Figura 5, el detector 16 puede funcionar en el dominio del tiempo y/o de la transformada/espectral de modo de detectar fases activas/inactivas.
El modo de funcionamiento del codificador de la Figura 5 es como sigue. Como se ira aclarando, el codificador de la Figura 5 puede mejorar la calidad de ruido de comodidad tal como ruido estacionario en general, tal como ruido de auto, ruido de charla con muchos participates, algunos instrumentos musicales, y en particular aquellos que tienen muchos armonicos tales como gotas de lluvia.
En particular, el codificador de la Figura 5 es para controlar un generador aleatorio en el lado de decodificacion de modo de excitar coeficientes de transformada tal que sea emulado el ruido detectado del lado de codificacion. Consiguientemente, antes de discutir la funcionalidad del codificador de la Figura 5 adicionalmente, se hace una breve referencia a la Figura 6 que muestra un posible decodificador el cual podna emular el ruido de comodidad en el lado de decodificacion segun instruccion del codificador de la Figura 5. Mas en general, la Figura 6 muestra una posible implementacion de un decodificador que se ajusta al codificador de la Figura 1.
En particular, el decodificador de la Figura 6 comprende un motor de decodificacion 160 como para decodificar la porcion de secuencia de datos 44 durante las fases activas y una parte generadora de ruido de comodidad 162 para generar el ruido de comodidad en base a la informacion 32 y 38 provista en la secuencia de datos concerniente a las fases inactivas 28. La parte generadora de ruido de comodidad 162 comprende un generador aleatorio parametrico 164, un FDNS 166 y un transformador (o sintetizador) inverso 168. Los modulos 164 y 168 estan conectados en serie entre sf de modo que en la salida del sintetizador 168 resulta el ruido de comodidad, el cual llena el espacio entre la senal de audio reconstruida como es entregada por el motor de decodificacion 160 durante las fases inactivas 28, como se discutio con respecto a la Figura 1. Los procesadores FDNS 166 y transformador inverso 168 pueden ser parte del motor de decodificacion 160. En particular, pueden ser iguales al FDNS 116 y 118 de la Figura 4, por ejemplo.
El modo de funcionamiento y la funcionalidad de los modulos individuales de las Figuras 5 y 6 resultaran mas claro a partir de la siguiente discusion.
En particular, el transformador 140 descompone espectralmente la senal de entrada en un espectrograma tal como usando una transformada lapped. Un estimador de ruido 146 esta configurado para determinar parametros de ruido a partir de ello. En forma concurrente, del detector de actividad de voz o sonido 16 evalua los rasgos establecidos a partir de la senal de entrada de modo de detectar si tiene lugar una transicion desde una fase activa a una fase inactiva o vice versa. Estos rasgos usados por el detector 16 pueden ser en forma de detector de componente transitorio/arranque, medicion de tonalidad, y medicion residual de LPC. El detector de componente transitorio/arranque puede ser usado para detectar ataque (aumento repentino de energfa) o el comienzo de voz activa en una ambiente limpio o senal limpia de ruido; la medicion de tonalidad puede ser usada para distinguir ruido de fondo util tal como una sirena, telefono sonando o musica; residual LPC puede ser usado para obtener una indicacion de la presencia de voz en la senal. Basado en estos rasgos, el detector 16 puede dar aproximadamente una informacion sobre si el cuadro actual puede ser clasificado, por ejemplo, como voz, silencio, musica o ruido.
Mientras el estimador de ruido 146 puede ser responsable de distinguir el ruido de dentro del espectrograma del componente de senal util allf dentro, tal como se propuso [R. Martin, Estimacion de Densidad Espectral de Potencia de Ruido Basada en Alisamiento Optimo y Estadfstica de Mmimos (Noise Power Spectral Density Estimation Based
5
10
15
20
25
30
35
40
45
50
55
60
on Optimal Smoothing and Minimum Statistics), 2001], el estimador de parametros 148 puede ser responsable de analizar estad^sticamente los componentes de ruido y determinar parametros para cada componente espectral, por ejemplo, basado en el componente de ruido.
El estimador de ruido 146 puede estar configurado, por ejemplo, para buscar mmimos locales en el espectrograma y el estimador de parametros 148 puede estar configurado para determinar la estadfstica de ruido en estas porciones suponiendo que los mmimos del espectrograma son principalmente un atributo de ruido de fondo mas que sonido de primer plano.
Como una nota intermedia se pone enfasis en que tambien es posible realizar la estimacion mediante el estimador de ruido sin el FDNS 142 ya que los mmimos sf ocurren en el espectro no corregido. La mayor parte de la descripcion de la Figuras 5 quedana igual.
El cuantificador de parametros 152 a su vez puede ser configurado para parametrizar los parametros estimados por el estimador de parametros 148. Por ejemplo, los parametros pueden describir una amplitud media y un momento de primero orden, u orden mas alto, de una distribucion de valores espectrales de dentro del espectrograma de la senal de entrada en tanto se refiere al componente de ruido. Para ahorrar cantidad de bits transmitidos, los parametros pueden ser remitidos a la secuencia de datos para insercion dentro de la misma dentro de cuadros SID en una resolucion espectral mas baja que la resolucion espectral provista por el transformador 140.
El medidor de estacionariedad 150 puede estar configurado para establecer una medida de estacionariedad para la senal de ruido. El estimador de parametros 148 a su vez puede usar la medida de estacionariedad de modo de decidir si una actualizacion de parametro debe ser iniciada o no enviando otro cuadro SID tal como el cuadro 38 de la Figura 1 o para influenciar la manera en que se estiman los parametros.
El modulo 152 cuantifica los parametros calculados por el estimador de parametros 148 y el analisis de LP 144 y envfa las senales al lado de decodificacion. En particular, antes de cuantificar, los componentes espectrales pueden ser agrupados en grupos. Tal agrupamiento puede ser seleccionado de acuerdo con aspectos psicoacusticos tal como conformando la escala de Bark o algo similar. El detector 16 informa al cuantificador 152 si se necesita hacer la cuantificacion o no. En el caso de no ser necesaria la cuantificacion, deben seguir cuadros cero.
Cuando se transfiere la descripcion a un escenario concreto de conmutacion desde una fase activa a una fase inactiva, entonces los modulos de la Figura 5 actuan como sigue.
Durante una fase activa, el motor de codificacion 14 sigue codificando la senal de audio via el empaquetador en series de bits en el tiempo. La codificacion puede realizarse a modo de cuadros. Cada cuadro de la secuencia de datos puede representar una porcion/intervalo de tiempo de la senal de audio. El codificador de audio 14 puede estar configurado para codificar todos los cuadros que usan codificacion LPC. El codificador de audio 14 puede estar configurado para codificar algunos cuadros como se describe con respecto a la Figura 2, llamado modo de codificacion de cuadro TCX, por ejemplo. Los remanentes pueden ser codificados usando codificacion de prediccion lineal codigo—excitado (code—excited linear prediction) (CELP) tal como modo de codificacion ACELP (algebraic— code—excited linear prediction), por ejemplo. Eso es, la porcion 44 de la secuencia de datos puede comprender una actualizacion continua de coeficientes de LPC usando alguna tasa de transmision de LPC que puede ser igual o mayor que la tasa de cuadro.
En paralelo, el estimador de ruido 146 inspecciona los espectros aplanados LPC (filtrado por analisis de LPC) de modo de identificar los mmimos kmin de dentro del espectrograma TCX representado por la secuencia de estos espectros. Por supuesto, estos mmimos pueden variar con el tiempo t, esto es kmin(t). En todo caso, los mmimos pueden formar trazas en la salida del espectrograma mediante FDNS 142 y por ende, para cada espectro consecutivo i en el instante ti, el mmimo puede ser asociable con los mmimos en espectro precedente y siguiente, respectivamente.
El estimador de parametros entonces establece parametros de estimacion de ruido de fondo a partir de eso tal como, por ejemplo, una tendencia central (valor medio, mediana o similar) m y/o dispersion (desviacion estandar, varianza o similar) d para diferentes componentes o bandas espectrales. La derivacion puede involucrar analisis estadfstico de los coeficientes espectrales consecutivos de los espectros del espectrograma en los mmimos, produciendo de ese modo m y d para cada mmimo en kmin. La interpolacion a lo largo de la dimension espectral entre los mmimos de espectro antedichos puede realizarse de modo de obtener m y d para otros componentes o bandas espectrales predeterminados. La resolucion espectral para la derivacion y/o interpolacion de la tendencia central (promedio medio) y la derivacion de la dispersion (desviacion estandar, varianza o similar) puede diferir.
Los parametros recien mencionados son actualizados continuamente para cada salida de espectro por el FDNS 142, por ejemplo.
5
10
15
20
25
30
35
40
45
50
55
60
65
Tan pronto como el detector 16 detecta la entrada de una fase inactiva, el detector 16 puede informar al motor 14 consiguientemente para que no sean remitidos mas cuadros activos al empaquetador 154. Sin embargo, el cuantificador 152 entrega los parametros de ruido estadfsticos recien mencionados en un primer cuadro SID dentro de la fase inactiva, en cambio. El primer cuadro SID puede comprender o no, una actualizacion de los LPCs. Si hay una actualizacion de LPC presente, la misma puede ser conducida adentro de la secuencia de datos en el cuadro SID 32 en el formato usado en la porcion 44, esto es, durante la fase activa, tal como usando cuantificacion en el dominio LSF/LSP, o en forma diferente, tal como usando ponderaciones espectrales correspondientes al analisis de LPC o a la funcion transferencia del filtro de smtesis de LPC tal como los que hubieran sido aplicados por el FDNS 142 dentro del marco de trabajo del motor de codificacion 14 al proceder con una fase activa.
Durante la fase inactiva, el estimador de ruido 146, el estimador de parametros 148 y el medidor de estacionariedad 150 sigue cooperando de modo de mantener actualizado el lado de decodificacion sobre cambios en el ruido de fondo. En particular, el medidor 150 verifica la ponderacion espectral definida por los LPCs, de modo de identificar cambios e informar al estimador 148 cuando un cuadro SID debe ser enviado al decodificador. Por ejemplo, el medidor 150 podna activar el estimador consiguientemente siempre que la medida antedicha de estacionariedad indique un grado de fluctuacion en los LPCs que excede una cierta magnitud. Adicionalmente o alternativamente, el estimador podna ser disparado para enviar los parametros actualizados regularmente. Entre estos cuadros de actualizacion SID 40 no se enviana nada en las secuencias de datos, esto es, "cuadros cero".
En el lado del decodificador, durante la fase activa, el motor de decodificacion 160 asume la responsabilidad de reconstruir la senal de audio. Tan pronto como empieza la fase inactiva, el generador aleatorio de parametros adaptivos 164 usa los parametros del generador aleatorio descuantificados enviados durante la fase inactiva adentro de la secuencia de datos desde el cuantificador de parametros 150, para generar componentes espectrales aleatorios, formando de ese modo un espectrograma aleatorio el cual es formado espectralmente adentro del procesador de energfa espectral 166 con el sintetizador 168 realizando entonces una retransformacion desde el dominio espectral al dominio del tiempo. Para la formacion espectral adentro del FDNS 166, se puede usar, ya sea los coeficientes LPC mas recientes provenientes de los cuadros activos mas recientes, o bien la ponderacion espectral a ser aplicada por el FDNS 166 puede ser derivada de allf mediante extrapolacion, o bien el cuadro SID 32 en sf mismo puede conducir la informacion. Mediante esta medida, en el inicio de la fase inactiva, el FDNS 166 continua ponderando espectralmente el espectro entrante de acuerdo con una funcion de trasferencia de un filtro de smtesis de LPC, con el LPS que define el filtro de smtesis de LPC que se deriva de la porcion da datos activos 44 o del cuadro SID 32. Sin embargo, con el inicio de la fase inactiva, el espectro a ser corregido por el FDNS 166 es el espectro generado aleatoriamente en lugar de una transformacion codificada como en caso del modo de codificacion de cuadro TCX. Asimismo, la correccion espectral aplicada en 166 es actualizada meramente en forma discontinua mediante el uso de los cuadros SID 38. Se podna realizar una interpolacion o un debilitamiento para conmutar gradualmente desde una definicion de correccion espectral a la siguiente durante las fases de interrupcion 36.
Como se muestra en la Figura 6, el generador aleatorio parametrico adaptivo 164 adicionalmente puede, opcionalmente, usar los coeficientes de transformada descuantificados como estan contenidos dentro de las porciones mas recientes de la ultima fase activa en la secuencia de datos, a saber, adentro de la porcion de secuencia de datos 44 inmediatamente antes de la entrada de la fase inactiva. Por ejemplo, el significado puede ser entonces que se realiza una transicion suave desde el espectrograma dentro de la fase activa al espectrograma aleatorio dentro de la fase inactiva.
Con referencia brevemente de nuevo a las Figuras 1 y 3, se deduce de las Figuras 5 y 6 (y la explicada subsiguientemente Figura 7) que la estimacion de ruido de fondo parametrica como es generada dentro del codificador y/o decodificador, puede comprender informacion estadfstica sobre una distribucion de valores espectrales temporalmente consecutivos para distintas porciones espectrales tal como bandas de Bark o diferentes componentes espectrales. Para cada tal porcion espectral, por ejemplo, la informacion estadfstica puede contener una medida de dispersion. La medida de dispersion, consiguientemente, sena definida en la informacion espectral de una manera resuelta espectralmente, a saber, muestreada en/para las porciones espectrales. La resolucion espectral, esto es, el numero de medidas para dispersion y tendencia central se desparramas a lo largo del eje espectral, pueden diferir entre, por ejemplo, medida de dispersion y la opcionalmente presente media o medida de tendencia central. La informacion estadfstica esta contenida dentro de los cuadros SID. Se puede referir a un espectro corregido tal como el espectro filtrado de analisis LPC (esto es, LPC aplanado) tal como un espectro de MDCT corregido el cual permite smtesis sintetizando un espectro aleatorio de acuerdo con el espectro estadfstico y des—corrigiendo el mismo de acuerdo con una funcion transferencia del filtro de smtesis de LPC. En ese caso, la informacion de correccion espectral puede estar presente dentro de los cuadros SID, a pesar de que puede no utilizarse en el primer cuadro SID 32, por ejemplo. Sin embargo, como se mostrara luego, esta informacion estadfstica, alternativamente, puede referir a un espectro no corregido. Asimismo, en lugar de usar una representacion del espectro de valores reales tal como una MDCT, se puede usar un espectro de banco de filtros de valores complejos tal como espectro QMF de la senal de audio. Por ejemplo, se puede usar el espectro QMF de la senal de audio en forma no corregida y puede describirse en forma estadfstica mediante la informacion estadfstica en cuyo caso no hay correccion espectral mas que la contenida dentro de la informacion estadfstica en sf misma.
5
10
15
20
25
30
35
40
45
50
55
60
65
En forma similar a la relacion entre la Figura 3 con respecto a la Figura 1, la Figura 7 muestra una posible implementacion del decodificador de la Figura 3. Como se muestra mediante el uso de los mismos signos de referencia que en la Figura 5, el decodificador de la Figura 7 puede comprender un estimador de ruido 146, un estimador de parametros 148 y un medidor de estacionariedad 150, los cuales funcionan de manera similar a los mismos elementos que estan en la Figura 5, con el estimador de ruido 146 de la Figura 7 que sin embargo, opera sobre el espectrograma transmitido y descuantificado tal como 120 o 122 de la Figura 4. El estimador de parametros 146 entonces opera como el discutido en la Figura 5. Lo mismo vale con respecto al medidor de estacionariedad 148, el cual opera sobre la energfa y los valores espectrales o datos de LPC revelando el desarrollo temporal del espectro del filtro de analisis de LpC (o del filtro de smtesis de LPC) segun es transmitido y descuantificado vfa/desde la secuencia de datos durante la fase activa.
Mientras los elementos 146, 148 y 150 actuan como el estimador de ruido de fondo 90 de la Figura 3, el decodificador de la Figura 7 tambien comprende un generador aleatorio parametrico adaptivo 164 y un FDNS 166 asf como tambien un transformador inverso 168 y ellos estan conectados en serie entre sf como en la Figura 6, de modo de entregar el ruido de comodidad en la salida del sintetizador 168. Los modulos 164, 166, y 168 actuan como el generador de ruido de fondo 96 de la Figura 3 con el modulo 164 que asume la responsabilidad de la funcionalidad del generador aleatorio parametrico 94. El generador aleatorio parametrico adaptivo 94 o 164 entre componentes espectrales generadas aleatoriamente del espectrograma de acuerdo con los parametros determinados por el estimador de parametros 148 el cual a su vez es disparado usando la medida de estacionariedad entregada por el medidor de estacionariedad 150. El procesador 166 entonces corrige espectralmente el espectrograma asf generado con el transformador inverso 168, realizando luego la transicion desde el dominio espectral al dominio del tiempo. Notar que cuando durante la fase inactiva 88 el decodificador esta recibiendo la informacion 108, el estimador de ruido de fondo 90 esta realizando una actualizacion de las estimaciones de ruido seguida por algun medio de interpolacion. Por lo demas, si se reciben cuadros cero, simplemente hace el procesamiento tal como interpolacion y/o desvanecimiento.
Sintetizando las Figuras 5 a 7, estas muestran que es tecnicamente posible aplicar un generador aleatorio controlado 164 para excitar los coeficientes TCX, lo cuales pueden ser valores reales tal como en MDCT o valores complejos como en FFT. Tambien podna ser ventajoso aplicar el generador aleatorio 164 sobre grupos de coeficientes usualmente conseguidos a traves de bancos de filtros.
El generador aleatorio 164 preferiblemente es controlado tal que el mismo modela el tipo de ruido lo mas fielmente posible. Esto se podna llevar a cabo si el ruido blando es conocido de antemano. Algunas aplicaciones pueden permitirlo. En muchas aplicaciones realistas donde un sujeto puede encontrar diferentes tipos de ruido, se requiere un metodo adaptivo como se muestra en las Figuras 5 a 7. Por consiguiente, se usa un generador aleatorio de parametros adaptivo 164, el cual podna ser definido brevemente como g = f (x), donde x = (x-i, X2, ...) es un conjunto de parametros de generador aleatorio provisto por los estimadores de parametros 146 y 150, respectivamente.
Para hacer el generador aleatorio de parametros adaptivo, el estimador de parametros de generador aleatorio 146 controla adecuadamente el generador aleatorio. Se puede incluir compensacion de deslizamiento para compensar los casos donde se consideran que los datos son estadfsticamente insuficientes. Esto se hace para generar un modelo estadfsticamente apareado del ruido basado en los cuadros pasados y siempre actualizara los parametros estimados. Un ejemplo se da cuando se supone que el generador aleatorio 164 genera un ruido Gaussiano. En este caso, por ejemplo, solo se pueden necesitar los parametros media y varianza y se puede calcular un deslizamiento y aplicarlo a esos parametros. Un metodo mas avanzado puede manejar cualquier tipo de ruido o distribucion y los parametros no son necesariamente los momentos de una distribucion.
Para el ruido no estacionario, se necesita tener una medida de estacionariedad y entonces se puede usar un generador aleatorio parametrico menos adaptivo. La medida de estacionariedad determinada por el medidor 148 puede ser derivada de la forma espectral de la senal de entrada usando diversos metodos como por ejemplo, la medida de distancia de Itakura, la medida de distancia de Kullback—Leibler, etc.
Para manejar la naturaleza discontinua de actualizaciones de ruido enviadas a traves de cuadros SID tal como se ilustra mediante 38 en la Figura 1, usualmente se envfa informacion adicional tal como la energfa y la forma espectral del ruido. Esta informacion es util para generar el ruido en el decodificador teniendo una transicion suave incluso durante un penodo de discontinuidad dentro de la fase inactiva. Finalmente, se pueden aplicar diversas tecnicas de alisamiento o filtrado para ayudar a mejorar la calidad del emulador de ruido de comodidad.
Como ya se noto arriba, las Figuras 5 y 6 por un lado, y la Figura 7 por otro, pertenecen a diferentes escenarios. En un escenario que corresponde a las Figuras 5 y 6, la estimacion de ruido de fondo parametrica se hace en el codificador basado en la senal de entrada procesada y despues los parametros son transmitidos al decodificador. La Figura 7 corresponde al otro escenario donde el decodificador puede ocuparse de la estimacion de ruido de fondo parametrica basado en los cuadros pasados recibidos dentro de la fase activa. El uso de un detector de actividad de voz/senal o estimador de ruido puede ser beneficioso para ayudar a extraer componentes de ruido incluso durante voz activa, por ejemplo.
5
10
15
20
25
30
35
40
45
50
55
60
Entre los escenarios mostrados en las Figuras 5 a 7, el escenario de la Figura 7 puede ser preferido ya que este escenario resulta en que se transmite una menor cantidad de bits transmitidos. El escenario de las Figuras 5 y 6 sin embargo, tiene la ventaja de tener a disposicion mas precisa estimacion de ruido.
Todas las realizaciones de arriba podnan ser combinadas con tecnicas de extension de ancho de banda tal como replicacion de banda espectral (SBR), a pesar de que en general se puede usar extension de ancho de banda.
Para ilustrar esto, ver la Figura 8. La Figura 8 muestra modulos mediante los cuales los codificadores de las Figuras 1 y 5 podnas se extendidos para realizar codificacion parametrica con relacion a una porcion de mas alta frecuencia de la senal de entrada. En particular, de acuerdo con la Figura 8, una senal de audio de entrada del dominio del tiempo es descompuesta espectralmente mediante un banco de filtros de analisis 200 tal como un banco de filtros de analisis QMF como se muestra en la Figura 8. Las r tecnicas de arriba de las Figuras 1 y 5 entonces solo senan aplicadas a una porcion de frecuencia mas baja de la descomposicion espectral generada por el banco de filtros 200. Para llevar informacion sobre la porcion de frecuencia mas alta al lado del decodificador, tambien se usa codificacion parametrica. Con este fin, un codificador de replicacion de banda espectral regular 202 esta configurado para parametrizar la porcion de frecuencia mas alta durante fases activas y alimentar informacion sobre ello en la forma de informacion de replicacion de banda espectral dentro de la secuencia de datos al lado de decodificacion. Un conmutador 204 puede estar provisto entre la salida del banco de filtros QMF 200 y la entrada del codificador de replicacion de banda espectral 202 para conectar la salida del banco de filtros 200 con una entrada de un codificador de replicacion de banda espectral 206 conectado en paralelo con el codificador 202 de modo de asumir la responsabilidad de la extension de ancho de banda durante fases inactivas. Eso es, el conmutador 204 puede ser controlado como el conmutador 22 de la Figura 1. Como se describira en mas detalle abajo, el modulo de codificador de replicacion de banda espectral 206 puede estar configurado para funcionar de manera similar al codificador de replicacion de banda espectral 202: ambos pueden estar configurados para parametrizar la envolvente espectral de la senal de audio de entrada dentro de la porcion de frecuencia mas alta, esto es, la porcion de frecuencia mas alta remanente no sometida a codificacion central por el motor de codificacion, por ejemplo. Sin embargo, el modulo de codificador de replicacion de banda espectral 206 puede usar una minima resolucion de tiempo/frecuencia a la cual la envolvente espectral es parametrizada y conducida adentro de la secuencia de datos, mientras el codificador de replicacion de banda espectral 202 puede estar configurado para adaptar la resolucion de tiempo/frecuencia a la senal de audio de entrada dependiendo de las ocurrencias de transitorios dentro de la senal de audio.
La Figura 9 muestra una implementacion posible del modulo de codificacion de extension de ancho de banda 206. Un fijador de rejilla tiempo/frecuencia 208, un calculador de energfa 210 y un codificador de energfa 212 estan conectados en serie entre sf entre una entrada y una salida del modulo de codificacion 206. El fijador de rejilla de tiempo/frecuencia 208 puede estar configurado para fijar la resolucion de tiempo/frecuencia en la cual se determina la envolvente de la porcion de frecuencia mas alta. Por ejemplo, una minima resolucion de tiempo/frecuencia permitida es usada continuamente por el modulo de codificacion 206. El calculador de energfa 210 entonces puede determinar la energfa de la porcion de frecuencia mas alta del espectrograma entregado por el banco de filtros 2'00 dentro de la porcion de frecuencia mas alta en baldosas de tiempo/frecuencia correspondientes a la resolucion de tiempo/frecuencia, y el codificador de energfa 212 puede usar codificacion de entropfa, por ejemplo, para insertar las energfas calculadas por el calculador 210 en la secuencia de datos 40 (ver Figura 1) durante las fases inactivas tal como dentro de cuadros SID, tal como el cuadro SID 38.
Se debe notar que la informacion de extension de ancho de banda generada de acuerdo con las Figuras 8 y 9 tambien puede ser usada en conexion con usar un decodificador de acuerdo con cualquiera de los ejemplos de realizacion descritos arriba, tal como los de las Figuras 3, 4 y 7.
Asf, las Figuras 8 y 9 aclaran que la generacion de ruido de comodidad como se explico con respecto a las Figuras 1 a 7, tambien puede ser usada en conexion con replicacion de banda espectral. Por ejemplo, los codificadores y decodificadores de audio descritos arriba pueden operar en diferentes modos de operacion, entre los cuales algunos comprenden replicacion de banda espectral y algunos no. Los modos de operacion de banda super ancha por ejemplo, podnan involucrar replicacion de banda espectral. En cualquier caso, los ejemplos de las Figuras 1 a 7 que muestran ejemplos para generar ruido de comodidad pueden ser combinadas con tecnicas de extension de ancho de banda de la manera descrita con respecto a las Figuras 8 y 9. El modulo de codificacion de replicacion de banda espectral 206 que es responsable de la extension de ancho de banda durante las fases inactivas puede estar configurado para operar sobre una muy baja resolucion de tiempo y frecuencia. Comparado con el procesamiento de replicacion de banda espectral regular, el codificador 206 puede operar en una resolucion de frecuencia diferente lo cual acarrea una tabla de banda de frecuencia adicional con resolucion de muy baja frecuencia junto con filtros de alisamiento IIR en el decodificador para toda banda de factor de escala de generacion de ruido de comodidad que interpola los factores de escala de energfa aplicados en el ajustador de envolvente durante las fases inactivas. Como se menciono recien, la rejilla de tiempo/frecuencia puede estar configurada para corresponder a una resolucion temporal lo mas baja posible.
5
10
15
20
25
30
35
40
45
50
55
60
65
Eso es, la codificacion de extension de ancho de banda puede ser realizada de modo diferente en QMF o dominio espectral dependiendo del silencio o fase activo que este presente. En la fase activa, esto es, durante cuadros activos, se lleva a cabo codificacion SBR regular por medio del codificador 202, dando por resultado una secuencia de datos SBR normal que acompana a las secuencias de datos 44 102, respectivamente. En las fases inactivas o durante cuadros clasificados como cuadros SID, solo se puede extraer informacion acerca de la envolvente espectral, representada como factores de escala de energfa, mediante la aplicacion de una rejilla de tiempo/frecuencia que exhibe una muy baja resolucion de frecuencia, y por ejemplo, la resolucion de tiempo mas baja posible. Los factores de escala resultantes podnan ser codificados eficientemente mediante el codificador 212 y escritos a la secuencia de datos. En cuadros cero o durante fases de interrupcion 36, no se puede escribir informacion lateral a la secuencia de datos mediante el modulo de codificacion de replicacion de banda espectral 206 y por lo tanto no se puede llevar a cabo ningun calculo de energfa mediante el calculador 210.
En conformidad con la Figura 8, la Figura 10 muestra una posible extension de los ejemplos de realizacion del decodificador de las Figuras 3 y 7 a tecnicas de codificacion de extension de ancho de banda. Para ser mas precisos, la Figura 10 muestra un posible ejemplo de realizacion de un decodificador de audio de acuerdo con la presente invencion. Un decodificador por nucleo 92 esta conectado en paralelo con un generador de ruido de comodidad, estando indicado el generador de ruido de comodidad con el signo de referencia 220 y comprendiendo, por ejemplo, el modulo de generacion de ruido 162 o los modulos 90, 94 y 96 de la Figura 3. Un conmutador 222 se muestra como distribuyendo los cuadros dentro de la secuencia de datos 104 y 30 respectivamente, sobre el decodificador por nucleo 92 o el generador de ruido de comodidad 220 dependiendo del tipo de cuadro, a saber, si el cuadro concierne o pertenece a una fase activa, o concierne o pertenece a una fase inactiva tal como cuadros SID o cuadros cero que conciernen a fases de interrupcion. Las salidas del decodificador por nucleo 92 y del generador de ruido de comodidad 220 se conectan a una entrada de un decodificador de extension de ancho de banda 224, la salida del cual revela la senal de audio reconstruida.
La Figura 11 muestra una realizacion mas detallada de una posible implementacion de un decodificador de extension de ancho de banda 224.
Como se muestra en la Figura 11, el decodificador de extension de ancho de banda 224 de acuerdo con la realizacion de la Figura 11 comprende un entrada 226 para recibir la reconstruccion del dominio del tiempo de la porcion de baja frecuencia de la senal de audio completa a ser reconstruida. Es la entrada 226 que conecta el decodificador de extension de ancho de banda 224 con las salidas del decodificador por nucleo 92 y el generador de ruido de comodidad 220 de modo que la entrada del dominio del tiempo en el entrada 226 pueda ser reconstruida la porcion de baja frecuencia de una senal de audio que comprende tanto ruido como componente util, o bien el ruido de comodidad generado para puentear el tiempo entre fases activas.
Como de acuerdo con la realizacion de la Figura 11, el decodificador de extension de ancho de banda 224 esta construido para realizar una replicacion de ancho de banda espectral, el decodificador se llama decodificador SBR en lo que sigue. Con respecto a las Figuras 8 a 10, sin embargo, se enfatiza que estos ejemplos no estan restringidos a replicacion de ancho de banda espectral. Mas bien, tambien se puede usar una manera alternativa, mas general, de extension de ancho de banda, con relacion a estos ejemplos.
Ademas, el decodificador SBR 224 de la Figura 11 comprende una salida del dominio del tiempo 228 para entregar la senal de audio reconstruida, esto es, o bien en fases activas o bien en fases inactivas. Entre la entrada 226 y la salida 228 del decodificador SBR 224, estan, conectados en serie en el orden en que se mencionan, un descomponedor espectral 230 el cual puede ser, como se muestra en la Figura 11, un banco de filtros de analisis tal como un banco de filtros de analisis QMF, un generador de HF 232, un ajustador de envolvente 234, y un convertidor del dominio espectral al tiempo 236 el cual puede estar, como se muestra en la Figura 11, realizado como un banco de filtros de smtesis tal como un banco de filtros de smtesis QMF.
Los modulos 230 a 236 operan como sigue. El descomponedor espectral 230 descompone espectralmente la senal de entrada del dominio del tiempo de modo de obtener una porcion de baja frecuencia reconstruida. El generador de HF 232 genera una porcion de replica de alta frecuencia basado en porcion de baja frecuencia reconstruida y el ajustador de envolvente 234 forma o corrige espectralmente la replica de alta frecuencia usando una representacion de una envolvente espectral de la porcion de alta frecuencia como es llevada por medio de la secuencia de datos SBR y provista por modulos todavfa no discutidos pero mostrados en la Figura 11 arriba del ajustador de envolvente 234. Asf, el ajustador de envolvente 234 ajusta la envolvente de la porcion de replica de alta frecuencia de acuerdo con la representacion de rejilla de tiempo/frecuencia de la envolvente de alta frecuencia transmitida, y remite la porcion de alta frecuencia asf obtenida al convertidor del dominio espectral a temporal 236 para una conversion del espectro de frecuencia completo, esto es, porcion de alta frecuencia formada espectralmente junto con la porcion de baja frecuencia reconstruida, a la senal del dominio del tiempo reconstruida en la salida 228.
Como ya se menciono arriba con respecto a las Figuras 8 a 10, la envolvente espectral de porcion de alta frecuencia puede ser llevada adentro de la secuencia de datos en la forma de factores de escala de energfa y el decodificador SBR 224 comprende una entrada 238 para recibir esta informacion sobre la envolvente espectral de porciones de
5
10
15
20
25
30
35
40
45
50
55
60
65
alta frecuencia. Como se muestra en la Figura 11, en el caso de fases activas, esto es, cuadros activos presentes en la secuencia de datos durante fases activas, las entradas 238 pueden estar conectadas directamente a la entrada de envolvente espectral del ajustador de envolvente 234 via un respectivo conmutador 240. Sin embargo, el decodificador SBR 224 comprende adicionalmente un combinador de factor de escala 242, un almacenamiento de datos de factor de escala 244, una unidad filtradora de interpolacion 246, tal como una unidad filtradora IIR, y un ajustador de ganancia 248. Los modulos 242, 244, 246 y 248 estan conectados en serie entre sf entre 238 y la entrada de envolvente espectral del ajustador de envolvente 234 con el conmutador 240 que estan conectado entre el ajustador de ganancia 248 y el ajustador de envolvente 234 y un conmutador adicional 250 que esta conectado entre el almacenamiento de datos de factor de escala 244 y la unidad filtradora 246. El conmutador 250 esta configurado para conectar este almacenamiento de datos de factor de escala 244 con la entrada de la unidad filtradora 246, o bien un restaurador de datos de factor de escala 252. En el caso de cuadros SID durante fases inactivas — y opcionalmente en casos de cuadros activos para los cuales es aceptable una representacion muy grosera de la envolvente espectral de porcion de alta frecuencia — los conmutadores 250 y 240 conectan la secuencia de los modulos 242 a 248 entre la entrada 238 y el ajustador de envolvente 234. El combinador de factor de escala 242 adapta la resolucion de frecuencia en la cual ha sido transmitida la envolvente espectral de porciones de alta frecuencia via la secuencia de datos a la resolucion, la cual espera recibir el ajustador de envolvente 234 y un almacenamiento de datos de factor de escala 244 almacena la envolvente espectral hasta una siguiente actualizacion. La unidad filtradora 246 filtra la envolvente espectral en dimension temporal y/o espectral y el ajustador de ganancia 248 adapta la ganancia de la envolvente espectral de la porcion de alta frecuencia. Con ese fin, el ajustador de ganancia puede combinar los datos de envolvente segun fueron obtenidos por la unidad 246 con la envolvente real como se puede derivar de la salida del banco de filtros QMF. El restaurador de datos de factor de escala 252 reproduce los datos de factor de escala que representan la envolvente espectral dentro de fases de interrupcion o cuadros cero segun lo almacenado por el almacenamiento de factor de escala 244.
Asf, en el lado del decodificador, se puede llevar a cabo el siguiente procesamiento. En los cuadros activos o durante fases activas, se puede aplicar procesamiento de replicacion de banda espectral regular. Durante estos penodos, los factores de escala provenientes de la secuencia de datos, los cuales tipicamente estan disponibles para un mayor numero de bandas de factor de escala comparado con procesamiento de generacion de ruido de comodidad, son convertidos a la resolucion de frecuencia de generacion de ruido de comodidad por el combinador de factor de escala 242. El combinador de factor de escala combina los factores de escala para la resolucion de frecuencia mas alta para resultar en un numero de factores de escala conforme con CNG aprovechando bordes de banda de frecuencia comunes de las diferentes tablas de banda de frecuencia. Los valores de factor de escala resultantes en la salida de la unidad combinadora de factor de escala 242 son almacenados para la reutilizacion en cuadros cero y posterior reproduccion por el recuperador 252 y son usados subsiguientemente para actualizar la unidad filtradora 246 para el modo de operacion cNg. En los cuadros SID se aplica un lector de secuencia de datos SBR modificado el cual extrae la informacion de factor de escala de la secuencia de datos. La configuracion restante del procesamiento SBR es inicializada con valores predefinidos, se inicializa la rejilla de tiempo/frecuencia a la misma resolucion de tiempo/frecuencia usada en el codificador. Los factores de escala extrafdos son alimentados a la unidad filtradora 246 donde, por ejemplo, un filtro de alisamiento IIR interpola la progresion de la energfa para una banda de factor de escala de baja resolucion a lo largo del tiempo. En caso de caso cuadros cero, no hay carga util para leer desde la serie de bits en el tiempo y la configuracion SBR que incluye la rejilla de tiempo/frecuencia es la misma que la usada en los cuadros SID. En cuadros cero, los filtros de alisamiento de la unidad filtradora 246 son alimentados con un valor de factor de escala entregado desde la unidad combinadora de factores de escala 242 que han sido almacenados en el ultimo cuadro que contiene informacion de factores de escala valida. En el caso que el cuadro actual es clasificado como un cuadro inactivo o cuadro SID, el ruido de comodidad es generado en el dominio TCX y se vuelve a transformar al dominio del tiempo. Subsiguientemente, la senal del dominio del tiempo que contiene el ruido de comodidad es alimentada al banco de filtros de analisis QMF 230 del modulo SBR 224. En el dominio de QMF, la extension de ancho de banda del ruido de comodidad se realiza por medio de transposicion de copy—up dentro del generador de HF 232 y finalmente la envolvente espectral de la parte de alta frecuencia creada artificialmente, es ajustada mediante aplicacion de informacion de factores de escala de energfa en el ajustador de envolvente 234. Estos factores de escala de energfa se obtienen mediante la salida de la unidad filtradora 246 y son puestos en escala mediante la unidad de ajuste de ganancia 248 antes de la aplicacion en el ajustador de envolvente 234. En esta unidad de ajuste de ganancia 248 se calcula un valor de ganancia para ajustar los factores de escala y se aplica para compensar grandes diferencias de energfa en el borde entre la porcion de baja frecuencia y el contenido de alta frecuencia de la senal.
Las realizaciones descritas arriba se usan en comun en las Figuras 12 y 13. La Figura 12 muestra un codificador de audio de acuerdo con una realizacion de comparacion, y la Figura 13 muestra una realizacion de un decodificador de audio. Los detalles revelados con respecto a estas figuras se aplican igual a los elementos mencionados previamente en forma individual.
El codificador de audio de la Figura 12 comprende un banco de filtros de analisis QMF 200 para descomponer espectralmente una senal de audio de entrada. Un detector 270 y un estimador de ruido 262 estan conectados a una salida del banco de filtros de analisis QMF 200. El estimador de ruido 262 asume la responsabilidad de la funcionalidad del estimador de ruido de fondo 12. Durante las fases activas, los espectros QMF provenientes del
5
10
15
20
25
30
35
40
45
50
55
60
65
banco de filtros de analisis QMF son procesador por una conexion en paralelo de un estimador de parametros de replicacion de banda espectral 260 seguido por algun codificador SBR 264 por un lado, y una concatenacion de una banco de filtros de smtesis QMF 272 seguido por un codificador por nucleo 14 por el otro lado. Ambos caminos paralelos se conectan a una respectiva salida del empaquetador de serie de bits en el tiempo 266. En el caso de cuadros SID salientes, el codificador de cuadro SID 274 recibe los datos desde el estimador de ruido 262 y entrega los cuadros SID al empaquetador de serie de bits en el tiempo 266.
Los datos de extension de ancho de banda espectral entregados por el estimador 260 describen la envolvente espectral de la porcion de alta frecuencia del espectrograma o espectro entregado por el banco de filtros de analisis QMF 200, los cuales luego son codificados, tal como mediante codificacion por entropfa, por el codificador SBR 264. El multiplexador de secuencia de datos 266 inserta los datos de extension de ancho de banda espectral de fases activas en la secuencia de datos entregada en una salida 268 del multiplexador 266.
El detector 270 detecta si actualmente esta activa una fase activa o inactiva. En base a esta deteccion, un cuadro activo, un cuadro SID o un cuadro cero, esto cuadro inactivo, se ha de entregar actualmente. En otras palabras, el modulo 270 decide si una fase activa o una fase inactiva esta activa y si la fase inactiva esta activa, si se ha de entregar o no un cuadro SID. Las decisiones estan indicadas en la Figura 12 usando I para cuadros cero, A para cuadros activos, y S para cuadros SID. Los cuadros que corresponden a intervalos de tiempo de la senal de entrada donde la fase activa esta presente, tambien son remitidos a la concatenacion del banco de filtros de smtesis QMF 272 y al codificador por nucleo 14. El banco de filtros de smtesis QMF 272 tiene una resolucion de menor frecuencia u opera a un menor numero de sub-bandas QMF cuando se compara con el banco de filtros de analisis QMF 200 de modo de lograr por medio del cociente de numero de sub-bandas una reduccion de la tasa de muestreo para transferir las porciones de cuadro activas de la senal de entrada al dominio del tiempo nuevamente. En particular, el banco de filtros de smtesis QMF 272 es aplicado a las porciones de menor frecuencia o sub-bandas de menor frecuencia del espectrograma de banco de filtros de analisis QMF dentro de los cuadros activos. El codificador por nucleo 14 recibe asf una version de tasa de muestreo reducida de la senal de entrada, la cual convierte asf meramente una porcion de menor frecuencia de la senal de entrada original ingresada al banco de filtros de analisis QMF 200. La restante porcion de frecuencia mas alta es codificada parametricamente por los modulos 260 y 264.
Los cuadros SID (o, para ser mas precisos, la informacion a ser llevada por los mismos) son remitidos al codificador SID 274 el cual asume la responsabilidad de las funcionalidades del modulo 152 de la Figura 5, por ejemplo. La unica diferencia: el modulo 262 opera sobre el espectro de la senal de entrada directamente — sin correccion por LPC. Asimismo, como se usa el filtrado de analisis QMF, la operacion del modulo 262 es independiente del modo de cuadro elegido por el codificador por nucleo o la opcion de extension de ancho de banda espectral que se aplique o no. Las funcionalidades del modulo 148 y 150 de la Figura 5 pueden ser implementadas dentro del modulo 274.
El multiplexador 266 multiplexa la respectiva informacion codificada formando la secuencia de datos en la salida 268.
El decodificador de audio de la Figura 13 puede operar sobre una secuencia de datos como la entregada por el codificador de la Figura 12. Eso es, un modulo 280 esta configurado para recibir la secuencia de datos y para clasificar los cuadros dentro de la secuencia de datos en cuadros activos, cuadros SID y cuadros cero, esto es, una carencia de cuadro en la secuencia de datos, por ejemplo. Los cuadros activos son remitidos a una concatenacion de un decodificador por nucleo 92, un banco de filtros de analisis QMF 282 y un modulo de extension de ancho de banda espectral 284. Opcionalmente, un estimador de ruido 286 esta conectado a la salida del banco de filtros de analisis QMF. El estimador de ruido 286 puede operar en forma similar, y puede asumir la responsabilidad de las funcionalidades de, el estimador de ruido de fondo 90 de la Figura 3, por ejemplo, con la excepcion de que el estimador de ruido opera sobre el espectro no corregido en lugar de sobre los espectros de excitacion. La concatenacion de modulos 92, 282 y 284 se conecta a una entrada del banco de filtros de smtesis QMF 288. Los cuadros SID son remitidos a un decodificador de cuadros SID 290 el cual asume la responsabilidad de la funcionalidad del generador de ruido de fondo 96 de la Figura 3, por ejemplo. Un actualizador de parametros de generacion de ruido de comodidad 292 es alimentado por la informacion proveniente del decodificador 290 y el estimador de ruido 286 con este actualizador 292 que gobierna el generador aleatorio 294 el cual asume la responsabilidad de la funcionalidad de los generadores aleatorios parametricos de la Figura 3. Como faltan cuadros inactivos o cero, no tiene que ser remitidos a ningun lado, pero ellos disparan otro ciclo de generacion aleatoria del generador aleatorio 294. La salida del generador aleatorio 294 esta conectada al banco de filtros de smtesis QMF 288, la salida del cual revela la senal de audio reconstruida en silencio y fases activas en el dominio del tiempo.
Asf, durante las fases activas, el decodificador por nucleo 92 reconstruye la porcion de baja frecuencia de la senal de audio incluyendo tanto ruido como componentes de senal utiles. El banco de filtros de analisis QMF 282 descompone espectralmente la senal reconstruida y el modulo de extension de ancho de banda espectral 284 usa la informacion de extension de ancho de banda espectral dentro de la secuencia de datos y cuadros activos, respectivamente, para agregar la porcion de alta frecuencia. El estimador de ruido 286, si esta presente, realiza la estimacion de ruido basado en una porcion de espectro segun lo reconstruido por el decodificador por nucleo, esto es, la porcion de baja frecuencia. En las fases inactivas, los cuadros SID llevan informacion que describe
5
10
15
20
25
30
35
40
45
50
55
60
parametricamente la estimacion de ruido de fondo derivada por la estimacion de ruido 262 en el lado del codificador. El actualizador de parametros 292 puede usar principalmente la informacion del codificador para actualizar su estimacion de ruido de fondo parametrica, usando la informacion provista por el estimador de ruido 286 principalmente como una posicion de soporte de informacion para caso de perdida de transmision concerniente a cuadros SID. El banco de filtros de smtesis QMF 288 convierte la senal espectralmente descompuesta como salida mediante el modulo de replicacion de banda espectral 284 en fases activas y el espectro de senal generada de ruido de comodidad en el dominio del tiempo. Asf, las Figuras 12 y 13 ponen en claro que se puede usar un marco de trabajo de banco de filtros QMF como una base para generacion de ruido de comodidad basado en QMF. El marco de trabajo QMF provee una manera conveniente para reducir la tasa de muestreo de la senal de entrada a la tasa de muestreo del codificador por nucleo, para aumentar la tasa de muestreo de la senal de salida del codificador por nucleo del decodificador por nucleo 92 en el lado del decodificador usando el banco de filtros de smtesis QMF 288. Al mismo tiempo, el marco de trabajo QMF tambien puede ser usado en combinacion con extension de ancho de banda para extraer y procesar los componentes de alta frecuencia de la senal los cuales son postergados por los modulos de codificador por nucleo y decodificador por nucleo 14 y 92. Consiguientemente, el banco de filtros QMF puede ofrecer un marco de trabajo comun para diversas herramientas de procesamiento de senal. De acuerdo con las Figuras 12 y 13, la generacion de ruido de comodidad se incluye exitosamente dentro de este marco de trabajo.
En particular, de acuerdo con las Figuras 12 y 13, se puede ver que es posible generar ruido de comodidad en el lado del decodificador despues del analisis QMF, pero antes de la smtesis QMF aplicando un generador aleatorio 294 para excitar las partes real e imaginaria de cada coeficiente QMF del banco de filtros de smtesis QMF 288, por ejemplo. La amplitud de las secuencias aleatorias, por ejemplo, son computadas individualmente en cada banda QMF tal que el espectro del ruido de comodidad generado se parezca al espectro de la senal de ruido de fondo de entrada real. Esto se puede lograr en cada banda QMF usando un estimador de ruido despues del analisis QMF en el lado de codificacion. Estos parametros entonces pueden ser transmitidos a traves de los cuadros SID para actualizar la amplitud de las secuencias aleatorias aplicada en cada banda QMF en el lado del decodificador.
Idealmente, notar que la estimacion de ruido 262 aplicada en el lado del codificador debe poder operar tanto durante penodos inactivos (esto es, solo ruido) como activos (que tipicamente contienen voz ruidos) de modo que los parametros de ruido de comodidad puedan ser actualizados inmediatamente al final de cada penodo activo. Ademas, la estimacion de ruido podna ser usada tambien del lado del decodificador. Como se descartan los cuadros de solo ruido en un sistema de codificacion/decodificacion basado en DTX, la estimacion de ruido en el lado del decodificador puede, favorablemente, operar sobre contenidos de voz ruidosos. La ventaja de realizar la estimacion de ruido en el lado de decodificador, ademas de en el lado de codificador, es que la forma espectral del ruido de comodidad puede ser actualizada incluso cuando la transmision de paquete desde el codificador al decodificador falla para el(los) primer(os) cuadro(s) SID siguientes a un penodo de actividad.
La estimacion de ruido debe poder seguir, precisa y rapidamente, variaciones del contenido espectral del ruido de fondo e idealmente lo debe poder realizar durante ambos, cuadros, activo e inactivo, como se expreso arriba. Una manera de lograr estos objetivos es rastrear los mmimos tomados en cada banda por el espectro de potencia usando una venta deslizante de longitud finita, como se propone en [R. Martin, Estimacion de Densidad Espectral de Potencia de Ruido Basada en Alisamiento Optimo y Estadfstica de Mmimos (Noise Power Spectral Density Estimation Based on Optimal Smoothing and Minimum Statistics), 2001]. La idea detras de esto es que la potencia de un espectro de voz ruidosa frecuentemente decae a la potencia del ruido de fondo, por ejemplo, entre palabras o sflabas. Rastrear el mmimo del espectro de potencia, por lo tanto, provee una estimacion del piso de ruido en cada banda, incluso durante actividad de voz. Sin embargo, estos pisos de ruido son subestimados en general. Asimismo, ellos no permiten capturar rapidas fluctuaciones de las potencias espectrales, especialmente repentinos incrementos de energfa.
De todos modos, el piso de ruido computado como se describe arriba en cada banda provee informacion lateral muy util para aplicar una segunda etapa de estimacion de ruido. De hecho, podemos esperar que la potencia de un espectro ruidoso este cerca del piso de ruido estimado durante inactividad, mientras que la potencia espectral estara muy por arriba del piso de ruido durante la actividad. Los pisos de ruido computados separadamente en cada banda pueden ser usados entonces como detectores groseros de actividad para cada banda. En base a este conocimiento, se puede estimar facilmente la potencia de ruido de fondo como una version recursivamente alisada del espectro de potencia como sigue:
donde ^ uiV2(mJ
l(mJ
denota la densidad espectral de potencia de la senal de entrada en el cuadro m y banda ^
refiere a la estimacion de potencia de ruido, yJ
es un factor de olvido (necesariamente entre 0 y
1) que controla la magnitud del alisamiento para cada banda y cada cuadro separadamente. Usar la informacion de piso de ruido para reflejar el estado de actividad, debe tomar un pequeno valor durante penodos inactivos (esto es, cuando el espectro de potencia esta cerca del piso de ruido), mientras se debe elegir un valor alto para aplicar mas
5
10
15
20
25
30
35
40
45
50
55
60
l(mJ
alisamiento (idealmente manteniendo J'1' '■"‘’"'S constante) durante cuadros activos. Para lograr esto se puede tomar una decision debil calculando los factores de olvido como sigue:
= i _ e Wr'tWf)
donde 0flF es la potencia de piso de ruido y a es un parametro de control. Un valor mas alto para a da por resultado factores de olvido mas grandes y por ende mas alisamiento global.
Asf, se ha descrito un concepto de Generacion de Ruido de Comodidad (CNG) donde se produce ruido artificial en el lado del decodificador en un dominio de transformada. Las realizaciones de arriba pueden ser aplicadas en combinacion con virtualmente cualquier tipo de herramienta de analisis espectro—temporal (esto es, una transformacion o un banco de filtros) que descompone una senal del dominio del tiempo en multiples bandas espectrales.
Por ende, las realizaciones de arriba, inter alias, describieron un CNG basado en TCX donde un generador de ruido de comodidad emplea pulsos aleatorio para modelar lo residual.
A pesar de que se han descrito algunos aspectos en el contexto de un aparato, es claro que estos aspectos tambien representan una descripcion del metodo correspondiente, donde un bloque o dispositivo corresponde a una etapa de metodo o a una caractenstica de una etapa de metodo. Analogamente, los aspectos descritos en el contexto de una etapa de metodo tambien representan una descripcion de un correspondiente bloque o componente o caractenstica de un correspondiente aparato. Algunos o todas las etapas de metodo pueden ser ejecutadas por (o usando) un aparato de hardware, como por ejemplo, un microprocesador, un ordenador programable o un circuito electronico. En algunas realizaciones, alguno o mas de los pasos de metodo mas importantes pueden ser ejecutados mediante un aparato tal.
Dependiendo de ciertos requerimientos de implementacion, las realizaciones de la invencion pueden ser implementadas en hardware o en software. La implementacion puede ser realizada usando un medio de almacenamiento digital, por ejemplo, un disco flexible, un DVD, un CD, un Blu—Ray, una memoria de solo lectura (ROM), una PROM, una EPROM, una EEPROM o una memoria FLASH, teniendo senales de control legibles electronicamente almacenadas en las mismas, las cuales cooperan (o son capaces de cooperar) con un sistema de ordenador programable tal que se ejecute el respectivo metodo. Por lo tanto, el medio de almacenamiento digital puede ser legible por ordenador.
Algunas realizaciones de acuerdo con la invencion comprenden un portador de datos que tiene senales de control legibles electronicamente, las cuales son capaces de cooperar con un sistema de ordenador programable, tal que uno de los metodos descritos en la presente sea ejecutado.
Generalmente, realizaciones de la presente invencion pueden ser implementadas como un producto de programa de ordenador con un codigo de programa, siendo codigo de programa operativo para ejecutar uno de los metodos cuando el producto de programa de ordenador se ejecuta en un ordenador. El codigo de programa puede ser almacenado, por ejemplo, sobre un portador legible por una maquina.
Otras realizaciones comprenden el programa de ordenador para ejecutar uno de los metodos descritos en la presente, almacenado en un portador legible por una maquina.
En otras palabras, una realizacion del metodo inventivo es, por lo tanto, un programa de ordenador con un codigo de programa para ejecutar uno de los metodos descritos en la presente, cuando el programa de ordenador se ejecuta en un ordenador.
Una realizacion adicional de los metodos inventivos es, por lo tanto, un portador de datos (o un medio de almacenamiento digital, o un medio legible por ordenador) que comprende, grabado en el mismo, el programa de ordenador para ejecutar uno de los metodos descritos en la presente. El portador de datos, el medio de almacenamiento digital o el medio de registro tipicamente son tangibles y/o no transitorios.
Una realizacion adicional del metodo inventivo es, por lo tanto, un flujo de datos o una secuencia de senales que representan el programa de ordenador para ejecutar uno de los metodos descritos en la presente. El flujo de datos o la secuencia de senales pueden ser configurados, por ejemplo, para ser transferidos via una conexion de comunicacion de datos, por ejemplo, via Internet.
Una realizacion adicional comprende un medio de procesamiento, por ejemplo, un ordenador, o un dispositivo logico programable, configurado para o adaptado para ejecutar uno de los metodos descritos en la presente.
Una realizacion adicional comprende un ordenador que tiene instalado en el el programa de ordenador para ejecutar 5 uno de los metodos descritos aqm.
Otra realizacion de acuerdo con la invencion comprende un aparato o un sistema configurado para transferir (por ejemplo, electronicamente u opticamente) un programa de ordenador para ejecutar uno de los metodos descritos aqm, a un receptor. El receptor puede ser, por ejemplo, un ordenador, un dispositivo movil, un dispositivo de 10 memoria o similar. El aparato o sistema puede comprender, por ejemplo, un servidor de archivos para transferir el programa de ordenador al receptor.
En algunas realizaciones se puede usar un dispositivo de logica programable (por ejemplo un arreglo de compuesta programable de campo) para realizar algunas o todas las funcionalidades de los metodos descritos en la presente. 15 En algunas realizaciones, el arreglo de compuerta programable de campo puede cooperar con un microprocesador para realizar uno de los metodos descritos en la presente. Generalmente, los metodos preferiblemente son realizados mediante algun aparato de hardware.
Las realizaciones que se describieron mas arriba son puramente ilustrativas para los principios de la presente 20 invencion. Se entiende que las modificaciones y variaciones posibles de las disposiciones y de los detalles descritos en la presente seran evidentes para los expertos en la materia. Por lo tanto, es la intencion que la invencion este limitada solo por el alcance de las siguientes reivindicaciones de patente y no por los detalles espedficos presentados por la descripcion y la explicacion de las realizaciones en la presente.
Claims (10)
- 5101520253035404550556065REIVINDICACIONES1. Un decodificador de audio para decodificar una secuencia de datos para reconstruir una senal de audio a partir de la misma, en el que la secuencia de datos comprende al menos una fase activa (86) seguida por una fase inactiva (88), donde el decodificador de audio comprende:un estimador de ruido de fondo (90) configurado para actualizar continuamente una estimacion de ruido de fondo parametrica a partir de la secuencia de datos (104) durante la fase activa (86);un decodificador (92) configurado para reconstruir la senal de audio a partir de la secuencia de datos durante la fase activa;un generador aleatorio parametrico (94);un generador de ruido de fondo (96) configurado para sintetizar la senal de audio durante la fase inactiva (88) controlando el generador aleatorio parametrico (94) durante la fase inactiva (88) dependiendo de la estimacion de ruido de fondo parametrica;donde el decodificador (92) esta configurado para, al reconstruir la senal de audio a partir de la secuencia de datos, conformar una senal de excitacion codificada por transformada en la secuencia de datos, de acuerdo a coeficientes de prediccion lineal tambien codificados en la secuencia de datos; ydonde el estimador de ruido de fondo (90) esta configurado para actualizar la estimacion de ruido de fondo parametrica utilizando la senal de excitacion.
- 2. Un decodificador de audio de acuerdo con la reivindicacion 1, en donde el estimador de ruido de fondo esta configurado para, al actualizar la estimacion de ruido de fondo parametrica, identificar mmimos locales en la senal de excitacion y realizar un analisis estadfstico de la senal de excitacion en los mmimos locales para derivar la estimacion de ruido de fondo parametrica.
- 3. Un decodificador de audio de acuerdo con una cualquiera de las reivindicaciones anteriores, en donde el decodificador esta configurado para, al reconstruir la senal de audio, utilizar decodificacion predictiva y/o por transformada para reconstruir una porcion de frecuencia mas baja de la senal de audio a partir de la secuencia de datos, y para sintetizar una porcion de frecuencia mas alta de la senal de audio.
- 4. Un decodificador de audio de acuerdo con la reivindicacion 3, en donde el decodificador esta configurado para sintetizar la porcion de frecuencia mas alta de la senal de audio a partir de una envolvente espectral de la porcion de frecuencia mas alta de la senal de audio de entrada, codificada parametricamente en la secuencia de datos, o para sintetizar la porcion de frecuencia mas alta de la senal de audio mediante extension ciega de ancho de banda basada en la porcion de frecuencia mas baja.
- 5. Un decodificador de audio de acuerdo con la reivindicacion 4, en donde el decodificador esta configurado para interrumpir la decodificacion predictiva y/o por transformada en fases inactivas y realizar la smtesis de la porcion de frecuencia mas alta de la senal de audio formando espectralmente una replica de la porcion de frecuencia mas baja de la senal de audio de acuerdo con la envolvente espectral in la fase activa, y formando espectralmente una replica de la senal de audio sintetizada de acuerdo a la envolvente espectral en la fase inactiva.
- 6. Un decodificador de audio de acuerdo con la reivindicacion 4 o 5, en donde el decodificador comprende un banco de filtros inverso para componer espectralmente la senal de audio de entrada a partir de un conjunto de sub- bandas de la porcion de frecuencia mas baja, y un conjunto de sub-bandas de la porcion de frecuencia mas alta.
- 7. Un decodificador de audio de acuerdo con una cualquiera de las reivindicaciones 1 a 6, en donde el decodificador de audio esta configurado para detectar una entrada de la fase inactiva siempre que se interrumpe la secuencia de datos, y/o siempre que la secuencia de datos senala la entrada de la secuencia de datos.
- 8. Un decodificador de audio de acuerdo con una cualquiera de las reivindicaciones 1 a 7, en donde el generador de ruido de fondo (96) esta configurado para sintetizar la senal de audio durante la fase inactiva (88) controlando el generador aleatorio parametrico (94) durante la fase inactiva (88) dependiendo del ruido de fondo parametrico tal y como es actualizado continuamente por el estimador de ruido de fondo solo en caso de ausencia de cualquier informacion de estimacion de ruido de fondo parametrica en la secuencia de datos inmediatamente despues de una transicion de una fase activa a una fase inactiva.
- 9. Un metodo de decodificacion de audio para decodificar una secuencia de datos para reconstruir una senal de audio a partir de la misma, en el que la secuencia de datos comprende al menos una fase activa (86) seguida por una fase inactiva (88), donde el metodo comprende:actualizar continuamente una estimacion de ruido de fondo parametrica a partir de la secuencia de datos (104) durante la fase activa (86);reconstruir la senal de audio a partir de la secuencia de datos durante la fase activa;sintetizar la senal de audio durante la fase inactiva (88) controlando un generador aleatorio parametrico (94) durante la fase inactiva (88) dependiendo de la estimacion de ruido de fondo parametrica;donde la reconstruccion de la senal de audio a partir de la secuencia de datos comprende conformar una senal de excitacion codificada por transformada en la secuencia de datos, de acuerdo a coeficientes de prediccion lineal tambien codificados en la secuencia de datos; ydonde la actualizacion continua de la estimacion de ruido de fondo parametrica se lleva a cabo utilizando la 5 senal de excitacion.
- 10. Un programa de ordenador que tiene un codigo de programa configurado para implementar, cuando se ejecuta en un ordenador, un metodo de acuerdo con la reivindicacion 9.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161442632P | 2011-02-14 | 2011-02-14 | |
| US201161442632P | 2011-02-14 | ||
| EP12706002.8A EP2676264B1 (en) | 2011-02-14 | 2012-02-14 | Audio encoder estimating background noise during active phases |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2588483T3 true ES2588483T3 (es) | 2016-11-03 |
Family
ID=71947407
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES14196262.1T Active ES2588483T3 (es) | 2011-02-14 | 2012-02-14 | Decodificador de audio que comprende un estimador de ruido de fondo |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP2866228B1 (es) |
| ES (1) | ES2588483T3 (es) |
| PL (1) | PL2866228T3 (es) |
| PT (1) | PT2866228T (es) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11340863B2 (en) | 2019-03-29 | 2022-05-24 | Tata Consultancy Services Limited | Systems and methods for muting audio information in multimedia files and retrieval thereof |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3324406A1 (en) | 2016-11-17 | 2018-05-23 | Fraunhofer Gesellschaft zur Förderung der Angewand | Apparatus and method for decomposing an audio signal using a variable threshold |
| CN110648680B (zh) * | 2019-09-23 | 2024-05-14 | 腾讯科技(深圳)有限公司 | 语音数据的处理方法、装置、电子设备及可读存储介质 |
| GB2596138A (en) * | 2020-06-19 | 2021-12-22 | Nokia Technologies Oy | Decoder spatial comfort noise generation for discontinuous transmission operation |
| CN116320176B (zh) * | 2023-05-16 | 2023-08-15 | 泰坦(天津)能源技术有限公司 | 一种提高井下语音识别精度的处理方法及系统 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5960389A (en) * | 1996-11-15 | 1999-09-28 | Nokia Mobile Phones Limited | Methods for generating comfort noise during discontinuous transmission |
| US20030120484A1 (en) * | 2001-06-12 | 2003-06-26 | David Wong | Method and system for generating colored comfort noise in the absence of silence insertion description packets |
| US7649988B2 (en) * | 2004-06-15 | 2010-01-19 | Acoustic Technologies, Inc. | Comfort noise generator using modified Doblinger noise estimate |
| US7610197B2 (en) * | 2005-08-31 | 2009-10-27 | Motorola, Inc. | Method and apparatus for comfort noise generation in speech communication systems |
-
2012
- 2012-02-14 PT PT141962621T patent/PT2866228T/pt unknown
- 2012-02-14 ES ES14196262.1T patent/ES2588483T3/es active Active
- 2012-02-14 EP EP14196262.1A patent/EP2866228B1/en active Active
- 2012-02-14 PL PL14196262.1T patent/PL2866228T3/pl unknown
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11340863B2 (en) | 2019-03-29 | 2022-05-24 | Tata Consultancy Services Limited | Systems and methods for muting audio information in multimedia files and retrieval thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| PL2866228T3 (pl) | 2016-11-30 |
| EP2866228B1 (en) | 2016-06-01 |
| EP2866228A1 (en) | 2015-04-29 |
| PT2866228T (pt) | 2016-08-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2535609T3 (es) | Codificador de audio con estimación de ruido de fondo durante fases activas | |
| ES2681429T3 (es) | Generación de ruido en códecs de audio | |
| BR112013020592B1 (pt) | Codec de áudio utilizando síntese de ruído durante fases inativas | |
| ES2588483T3 (es) | Decodificador de audio que comprende un estimador de ruido de fondo | |
| ES3023568T3 (en) | Noise generation in audio codecs | |
| AU2012217161B9 (en) | Audio codec using noise synthesis during inactive phases | |
| HK1260414A1 (en) | Noise generation in audio codecs | |
| HK1260414B (en) | Noise generation in audio codecs | |
| HK1192641B (en) | Audio encoder estimating background noise during active phases | |
| HK1192051B (en) | Noise generation in audio codecs | |
| HK1192051A (en) | Noise generation in audio codecs |