ES2692831T3 - Discriminación y atenuación de pre-ecos en una señal de audio digital - Google Patents

Discriminación y atenuación de pre-ecos en una señal de audio digital Download PDF

Info

Publication number
ES2692831T3
ES2692831T3 ES15771686.1T ES15771686T ES2692831T3 ES 2692831 T3 ES2692831 T3 ES 2692831T3 ES 15771686 T ES15771686 T ES 15771686T ES 2692831 T3 ES2692831 T3 ES 2692831T3
Authority
ES
Spain
Prior art keywords
sub
echo
attack
block
attenuation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES15771686.1T
Other languages
English (en)
Inventor
Balazs Kovesi
Stéphane RAGOT
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Application granted granted Critical
Publication of ES2692831T3 publication Critical patent/ES2692831T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/21Speech 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 power information
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech 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/0204Speech 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 subband decomposition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

Procedimiento de discriminación y de atenuación de pre-eco en una señal de audio digital generada a partir de una codificación por transformada, en el que, en la decodificación, para una trama actual descompuesta en subbloques, los sub-bloques de baja energía que preceden a un sub-bloque en 5 el que se detecta una transición o ataque (E601) determinan una zona de pre-eco (E602) en la que se efectúa un tratamiento de atenuación de pre-eco (E607), estando el procedimiento caracterizado por que, en el caso en el que se detecta un ataque a partir del tercer sub-bloque de la trama actual, incluye las siguientes etapas: - cálculo (E603) de un coeficiente director de las energías para al menos dos sub-bloques de la trama actual que preceden al sub-bloque en el que se detecta un ataque; - comparación (E604) del coeficiente director con un umbral predefinido; y - inhibición (E602) del tratamiento de atenuación de pre-eco en la zona de pre-eco en el caso de que el coeficiente director calculado sea inferior al umbral predefinido.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Discriminacion y atenuacion de pre-ecos en una senal de audio digital
La invencion se refiere a un procedimiento y a un dispositivo de discriminacion y de tratamiento de atenuacion de los pre-ecos durante una decodificacion de una senal de audio digital.
Para la transmision de las senales de audio digitales en unas redes de telecomunicaciones, tanto si se trata por ejemplo de redes fijas como de moviles, o para almacenamiento de las senales, se recurre a unos procedimientos de compresion (o de codificacion del origen) que implementan unos sistemas de codificacion que son en general del tipo codificacion temporal por prediccion o codificacion de frecuencia por transformada.
El procedimiento y el dispositivo, objeto de la invencion, tienen tambien como campo de aplicacion la compresion de las senales de sonido, en particular las senales de audio digitales codificadas por transformada de frecuencia.
La figura 1 representa a tttulo ilustrativo, un esquema de principio de la codificacion y de la decodificacion de una senal de audio digital por transformada que incluye un analisis-smtesis por adicion/recubrimiento segun la tecnica anterior.
Ciertas secuencias musicales, tales como las percusiones y ciertos aspectos del habla como las plosivas (/k/, /t/, ...), se caracterizan por unos ataques extremadamente bruscos que se traducen en transiciones muy rapidas y una variacion muy grande de la dinamica de la senal en el espacio de algunas muestras. Un ejemplo de transicion se da en la figura 1 a partir de la muestra 410.
Para el tratamiento de la codificacion/decodificacion, la senal de entrada se trocea en bloques de muestras de longitud L cuyas fronteras se representan en la figura 1 por unos trazos verticales de puntos. La senal de entrada se indica por x(n), en la que n es el mdice de la muestra. El troceado en bloques sucesivos (o tramas) conduce a definir los bloques XN(n) = [ x(N.L) ... x(N.L+L-1) ] = [ xN(0) ... xN(L-1)], en la que N es el mdice del bloque (o de la trama), L es la longitud de la trama. En la figura 1 se tiene L = 160 muestras. En el caso de la transformada discreta del coseno modificada MDCT (por “Modified Discrete Cosine Transform” en ingles), se analizan conjuntamente dos bloques XN(n) y Xi+1(n) para dar un bloque de coeficientes transformados asociados a la trama de mdice N y la ventana de analisis es sinusoidal.
La division en bloques, tambien llamados tramas, realizada mediante la codificacion por transformada es totalmente independiente de la senal sonora y las transiciones pueden aparecer por tanto en un punto cualquiera de la ventana de analisis. Ahora bien despues de la decodificacion por transformada, la senal reconstruida esta manchada de “ruido” (o distorsion) generado por la operacion de cuantificacion (Q) - cuantificacion inversa (Q-1). Este ruido de codificacion se reparte temporalmente de manera relativamente uniforme sobre todo el soporte temporal del bloque transformado, es decir sobre toda la longitud de la ventana de longitud 2L de muestras (con recubrimiento de L muestras). La energfa del ruido de codificacion es en general proporcional a la energfa del bloque y es funcion de la tasa de codificacion/decodificacion.
Para un bloque que incluye un ataque (como el bloque 320-480 de la figura 1) la energfa de la senal es elevada, el ruido es por tanto igualmente de nivel elevado.
En la codificacion por transformada, el nivel de ruido de codificacion es tfpicamente inferior al de la senal para los segmentos de gran energfa que siguen inmediatamente a la transicion, pero el nivel es superior al de la senal para los segmentos de energfa mas reducida, principalmente para la parte que precede a la transicion (muestras 160-410 de la figura 1). Para la parte antes mencionada, la relacion senal a ruido es negativa y la degradacion resultante puede aparecer muy molesta para el oyente. Se denomina pre-eco al ruido de codificacion anterior a la transicion y pos-eco al ruido posterior a la transicion.
Se puede observar en la figura 1 que el pre-eco afecta a la trama precedente a la transicion asf como a la trama en la que se produce la transicion.
Los experimentos psico-acusticos han demostrado que el ofdo humano efectua un pre-enmascarado temporal de los sonidos bastante limitado, del orden de algunos milisegundos. El ruido precedente al ataque, o pre-eco, es audible cuando la duracion del pre-eco es superior a la duracion del pre-enmascarado.
El ofdo humano efectua igualmente un post-enmascarado de una duracion mas larga, de 5 a 60 milisegundos, durante el paso de las secuencias de gran energfa a secuencias de energfa reducida. La tasa o nivel de molestia aceptable para los pos-ecos es por tanto mayor que para los pre-ecos.
El fenomeno de los pre-ecos, mas critico, es tanto mas molesto cuanto mayor es la longitud de los bloques en numero de muestras. Ahora bien, en codificacion por transformada, es bien conocido que para las senales fijas cuanto mas aumenta la longitud de la transformada, mayor es la ganancia de la codificacion. A frecuencia de
5
10
15
20
25
30
35
40
45
50
55
60
65
muestreo fija y a velocidad fija, si se aumenta el numero de puntos de la ventana (por tanto la longitud de la transformada) se dispondra de mas bits por trama para codificar las rayas de frecuencia juzgadas utiles por el modelo psico-acustico, de ah la ventaja de utilizar unos bloques de gran longitud. La codificacion MPEG AAC (Advance Audio Coding), por ejemplo, utiliza una ventana de gran longitud que contiene un numero fijo de muestras, 2048, es decir sobre una duracion de 64 ms si la frecuencia de muestreo es de 32 kHz; el problema de los pre-ecos se gestiona aqu permitiendo conmutar estas ventanas largas a 8 ventanas cortas por medio de ventanas intermedias (denominadas de transicion), lo que necesita cierto retardo en la codificacion para detectar la presencia de una transicion y adaptar las ventanas. La longitud de estas ventanas cortas es por tanto de 256 muestras (8 ms a 32 kHz). A baja velocidad se puede siempre tener un pre-eco audible de algunos milisegundos. La conmutacion de las ventanas permite atenuar el pre-eco pero no suprimirlo. Los codificadores por transformada utilizados para las aplicaciones de conversacion, como UIT-T G.722.1, G.722.1C o G.719, utilizan frecuentemente una longitud de trama de 20 ms y la ventana de duracion de 40 ms a 16, 32 o 48 kHz (respectivamente). Se puede observar que el decodificador UIT-T G.719 integra un mecanismo de conmutacion de ventanas con deteccion de transitorio, sin embargo el pre-eco no se reduce completamente a baja velocidad (tfpicamente a 32 kbits/s).
Con el objetivo de reducir el molesto efecto antes mencionado del fenomeno de los pre-ecos, se han propuesto diferentes soluciones a nivel del codificador y/o del decodificador.
La conmutacion de ventanas se ha citado anteriormente; necesita transmitir una informacion auxiliar para identificar el tipo de ventanas utilizadas en la trama actual. Otra solucion consiste en aplicar un filtrado adaptativo. En la zona precedente al ataque, la senal reconstruida se ve como la suma de la senal original y del ruido de cuantificacion.
Una tecnica de filtrado correspondiente se ha descrito en el artfculo titulado High Quality Audio Transform Coding at 64 kbits, IEEE Trans. on Communications Vol. 42, N.° 11, noviembre de 1994, publicada por Y. Mahieux y J. P. Petit.
La implementacion de un filtrado de ese tipo necesita el conocimiento de parametros de los que algunos, como los coeficientes de prediccion y la variacion de la senal corrompida por el pre-eco, se estiman en el decodificador a partir de las muestras con ruido. Por el contrario, informaciones tales como la energfa de la senal de origen no pueden ser conocidas en el codificador y en consecuencia deben transmitirse. Esto hace preciso transmitir informaciones suplementarias, lo que con limitacion de velocidad disminuye el fondo relativo asignado a la codificacion por transformada. Cuando el bloque recibido contiene una variacion brusca de dinamica, se le aplica el tratamiento de filtrado.
El proceso de filtrado antes citado no permite retomar la senal de origen, pero proporciona una fuerte reduccion de los pre-ecos. Necesita sin embargo transmitir los parametros suplementarios al decodificador.
A diferencia de las soluciones anteriores, se han propuesto diferentes tecnicas de reduccion del pre-eco sin transmision especffica de la informacion. Por ejemplo, una revision de la reduccion de los pre-ecos en el contexto de la codificacion jerarquica se presenta en el artfculo de B.Kovesi, S. Ragot, M. Gartner, H. Taddei, “Pre-echo reduction in the ITU-T G.729.1 embedded coder”, EUSIPCO, Lausana, Suiza, agosto 2008.
Un ejemplo tfpico de procedimiento de atenuacion de pre-ecos sin informacion auxiliar se describe en la solicitud de patente francesa FR 08 56248. En este ejemplo, se determinan unos factores de atenuacion por sub-bloque, en los sub-bloques de reducida energfa que preceden a un sub-bloque en el que se ha detectado una transicion o ataque.
El factor de atenuacion g(k) en el k-esimo sub-bloque se calcula por ejemplo en funcion de la relacion R(k) entre la energfa del sub-bloque de mayor energfa y la energfa del k-esimo sub-bloque en cuestion:
g(k) = f(R(k))
en la que f es una funcion decreciente con valores entre 0 y 1 y k es el numero del sub-bloque. Son posibles otras definiciones del factor g(k), por ejemplo en funcion de la energfa En(k) en el sub-bloque actual y de la energfa En(k - 1) en el sub-bloque precedente.
Si la energfa de los sub-bloques vana poco con relacion a la energfa maxima en los sub-bloques considerados en la trama actual, no es necesaria entonces ninguna atenuacion; el factor g(k) es fijo con un valor de atenuacion que inhibe la atenuacion, es decir 1. Si no, el factor de atenuacion esta comprendido entre 0 y 1.
En la mayor parte de los casos, sobre todo cuando el pre-eco es molesto, la trama que precede a la trama de pre- eco tiene una energfa homogenea que corresponde a la energfa de un segmento de reducida energfa (tfpicamente un ruido de fondo). Segun la experiencia no es util ni incluso deseable que despues del tratamiento de atenuacion del pre-eco la energia de la senal sea inferior a la energia media (por sub-bloque) de la serial que precede a la zona
de tratamiento, tipicamente la de la trama precedente, indicada En, o la de la segunda mitad de la trama
precedente, indicada por En'■
5
10
15
20
25
30
35
40
45
50
55
Para el sub-bloque de mdice k a tratar se puede calcular el valor l^mite, indicado por lim g (k), del factor de atenuacion con el fin de obtener exactamente la misma energfa que la energfa media por sub-bloque del segmento anterior al sub-bloque a tratar. Este valor esta por supuesto limitado a un maximo de 1 puesto que se trata aqu de los valores de atenuacion. Mas precisamente se define en este caso:
imagen1
en la que la energia media del segmento anterior se aproxima por el valor max (^En, En.
El valor lim g (k) asf obtenido sirve de lfmite inferior en el calculo final del factor de atenuacion del sub-bloque, se utiliza por tanto como sigue:
g(k) = max (g(k).\im'.(k))
Los factores de atenuacion (o ganancias) g(k) determinadas por sub-bloque pueden alisarse a continuacion mediante una funcion de alisado aplicada muestra por muestra para evitar variaciones bruscas del factor de atenuacion en las fronteras de los bloques.
Por ejemplo, se puede definir inicialmente la ganancia por muestra como una funcion constante por fragmento:
imagen2
en la que L' representa la longitud de un sub-bloque.
La funcion se alisa a continuacion segun la ecuacion siguiente:
imagen3
con la convencion de que gpre(-1) es el ultimo factor de atenuacion obtenido para la ultima muestra del sub-bloque precedente, a es el coeficiente de alisado, tfpicamente a = 0,85.
Son igualmente posibles otras funciones de alisado como por ejemplo el fundido encadenado lineal sobre u muestras:
imagen4
en la que gpre’(n) es la atenuacion no alisada y gpre(n) es la atenuacion alisada, gpre’(n) con n = -(u-1), ..., -1 son los ultimos u-1 factores de atenuacion obtenidos para las ultimas muestras del sub-bloque precedente. Se puede tomar por ejemplo u = 5.
Una vez asf calculados los factores gpre(n), la atenuacion de los pre-ecos se realiza sobre la senal reconstruida en la trama actual, xrec(n), multiplicando cada muestra por el factor correspondiente:
Xrec<g («) = gpre («) («) • n = 0.'•'’'■, L ~ 1
en la que Xrec,g(n) es la senal decodificada y pos-tratada mediante la reduccion del pre-eco.
Las figuras 2 y 3 ilustran la implementacion del procedimiento de atenuacion tal como se describe en la solicitud de patente del estado de la tecnica, antes mencionada, y resumida anteriormente.
En estos ejemplos la senal se muestrea a 32 kHz. La longitud de la trama es L= 640 muestras y cada trama se divide en 8 sub-bloques de K= 80 muestras.
En la parte a) de la figura 2, se representa una trama de una senal original muestreada a 32 kHz. Un ataque (o transicion) en la senal se situa en el sub-bloque que comienza en el mdice 320. Esta senal se ha codificado mediante un codificador por transformada de tipo MDCT de baja velocidad (24 kbits/s).
En la parte b) de la figura 2, se ilustra el resultado de la decodificacion sin tratamiento de pre-eco. Se puede observar el pre-eco a partir de la muestra 160, en los sub-bloques precedentes al que contiene el ataque.
5
10
15
20
25
30
35
40
45
50
55
60
65
La parte c) muestra la evolucion del factor de atenuacion de pre-eco (lmea continua) obtenido mediante el procedimiento descrito en la solicitud de patente del estado de la tecnica antes citada. La lmea de puntos representa el factor antes del alisado. Se remarca en este caso que la posicion del ataque se estima alrededor de la muestra 380 (en el bloque delimitado por las muestras 320 y 400).
La parte d) ilustra el resultado de la decodificacion despues de la aplicacion del tratamiento de pre-eco (multiplicacion de la senal b) con la senal c)). Se ve que el pre-eco se ha atenuado correctamente. La figura 2 muestra igualmente que el factor de alisado no se eleva a 1 en el momento del ataque, lo que implica una disminucion de la amplitud del ataque. El impacto perceptible de esta disminucion es muy reducido pero puede sin embargo evitarse. La figura 3 ilustra el mismo ejemplo que la figura 2, en el que, antes del alisado, el valor del factor de atenuacion se fuerza a 1 para algunas muestras del sub-bloque precedente al sub-bloque en el que se situa el ataque. La parte c) de la figura 3 da un ejemplo de una correccion de ese tipo.
En este ejemplo se ha afectado por el valor de factor 1 a las 16 ultimas muestras del sub-bloque precedente al ataque, a partir del mdice 364. De ese modo la funcion de alisado incrementa progresivamente el factor para tener un valor proximo a 1 en el momento del ataque. Se preserva entonces la amplitud del ataque, como se ilustra en la parte d) de la figura 3, por el contrario algunas muestras de pre-eco no se atenuan.
En el ejemplo de la figura 3 la reduccion del pre-eco por atenuacion no permite reducir el pre-eco hasta el nivel del ataque, a causa del alisado de la ganancia.
Esta tecnica de reduccion de los pre-ecos es sin embargo perfectible para ciertos tipos de senales como unas senales de musica moderna por ejemplo. En efecto, en ciertos casos, puede tener lugar una falsa deteccion de pre- eco. La figura 4 ilustra un ejemplo de una senal original de ese tipo, no codificada por tanto sin pre-eco. Se trata de la batida de un instrumento de percusion electronico/sintetico. Se puede observar aqrn que antes del ataque neto hacia el mdice 1600 hay un ruido sintetico que comienza con el mdice 1250. Este ruido sintetico que forma parte por tanto de la senal se detectana como un pre-eco por el algoritmo de deteccion de pre-eco descrito anteriormente, suponiendo una codificacion/decodificacion perfecta de la senal. El tratamiento de la atenuacion de pre-ecos suprimina por tanto esta componente de la senal. Esto desnaturalizana la senal decodificada (cuando la codificacion/decodificacion es perfecta), lo que no es deseable.
Existe por tanto una necesidad de una tecnica mejorada de discriminacion y de atenuacion de pre-ecos en la decodificacion, que permita hacer mas fiable la deteccion de los pre-ecos y evitar falsas detecciones cuando no se transmite ninguna informacion auxiliar por parte del codificador.
La presente invencion mejora la situacion del estado de la tecnica.
Con este fin, la presente invencion se refiere a un procedimiento de discriminacion y de atenuacion del pre-eco en una senal de audio digital generada a partir de una codificacion por transformada, en la que, para una trama actual descompuesta en sub-bloques, los sub-bloques de baja energfa debil que preceden a un sub-bloque en el que se detecta la transicion o ataque determinan una zona de pre-eco en la que se efectua un tratamiento de atenuacion del pre-eco. El procedimiento es tal que, en el caso de que se detecte un ataque a partir del tercer sub-bloque de la trama actual, incluye las siguientes etapas:
- calculo de un coeficiente director de las energfas para al menos dos sub-bloques de la trama actual que preceden al sub-bloque en el que se detecta un ataque;
- comparacion del coeficiente director con un umbral predefinido; y
- inhibicion del tratamiento de atenuacion del pre-eco en la zona de pre-eco en el caso de que el coeficiente director calculado sea inferior al umbral predefinido.
El coeficiente director de las energfas calculado para los sub-bloques que preceden a la posicion del ataque, permiten verificar la tendencia de aumento de la energfa de la senal en la zona de pre-eco. Esto permite hacer mas fiable la deteccion de los pre-ecos evitando falsas detecciones de pre-ecos. En efecto, observando la figura 1 se puede ver que el pre-eco tiene una caractenstica tfpica: su energfa tiene una tendencia creciente al aproximarse al ataque de origen del pre-eco. La forma de las ventanas de ponderacion de la adicion-recubrimiento explica esto. Igualmente si el pre-eco tiene una energfa casi constante con la adicion-recubrimiento, las senales en la entrada del modulo de adicion-recubrimiento se multiplican por unas ventanas de ponderacion cuyos pesos disminuyen hacia el pasado. En el caso de la senal del ejemplo de la figura 4, la energfa de la senal antes del ataque es aproximadamente constante lo que permite diferenciarla de un pre-eco. De ese modo, la verificacion de una energfa creciente de la senal en la zona de pre-eco permite aumentar la fiabilidad de la deteccion del pre-eco.
En un modo de realizacion particular, el procedimiento incluye ademas una etapa de descomposicion de la senal de audio digital en al menos dos sub-senales en funcion de un criterio de frecuencia y porque las etapas de calculo de comparacion se efectuan para al menos una de las sub-senales.
5
10
15
20
25
30
35
40
45
50
55
60
65
Cuando la posicion del ataque se detecta en el tercer sub-bloque de la trama actual, la energfa de los dos sub- bloques se utiliza en la zona de pre-eco para calcular un coeficiente director y compararlo con un umbral. Solamente con dos puntos, solo la verificacion para la sub-senal de alta frecuencia en el caso de una descomposicion en dos sub-senales es suficiente para detectar una falsa deteccion de pre-eco.
En el caso en el que es suficiente el numero de sub-bloques que preceden al sub-bloque en el que se ha detectado una posicion de ataque, el procedimiento incluye ademas una etapa de descomposicion de la senal de audio digital en al menos dos sub-senales en funcion de un criterio de frecuencia y porque las etapas de calculo y de comparacion se efectuan para cada una de las sub-senales, la inhibicion del tratamiento de atenuacion de pre-eco en la zona de pre-eco de todas la sub-senales, se efectua cuando un coeficiente director calculado es inferior al umbral predefinido para al menos una sub-senal.
La division en sub-senales permite de ese modo efectuar una atenuacion del pre-eco de manera independiente y adaptada a las sub-senales. La fiabilidad de deteccion de la zona de pre-eco se refuerza para cada una de las sub- senales mediante la verificacion del valor de los coeficientes directores respectivos.
Segun un modo de realizacion particular, se define un umbral diferente por sub-senal.
Esto permite adaptar la verificacion a las caractensticas espectrales de las sub-senales.
En un modo de realizacion, el coeficiente director se calcula segun un metodo de estimacion de mmimos cuadrados. Este metodo de calculo es de reducida complejidad.
En un modo posible de realizacion, el coeficiente director se normaliza.
De ese modo el coeficiente director es mas facilmente comparable con un umbral cuando este es diferente de 0.
En un modo de realizacion posible, en el caso de que se detecte un ataque en el primer o segundo sub-bloque de la trama actual, se utiliza para la etapa de comparacion un coeficiente director calculado para la trama precedente.
La presente invencion se refiere igualmente a un dispositivo de discriminacion y de atenuacion de pre-eco en una senal de audio digital generada a partir de una codificacion por transformada, que incluye un modulo de deteccion de transicion o ataque, un modulo de discriminacion de zona de pre-eco y un modulo de tratamiento de atenuacion del pre-eco, siendo efectuado un tratamiento de atenuacion del pre-eco para una trama actual descompuesta en sub- bloques, en los sub-bloques de reducida energfa que preceden a un sub-bloque en el que se detecta una transicion o ataque que determina una zona de pre-eco. El dispositivo es tal que, en el caso en el que se detecte un ataque a partir del tercer sub-bloque de la trama actual, incluye ademas:
- un modulo de calculo que calcula el coeficiente director de las energfas para al menos dos sub-bloques de la trama actual que preceden al sub-bloque en el que se detecta un ataque;
- un comparador adecuado para efectuar una comparacion del coeficiente director con un umbral predefinido; y
- un modulo de discriminacion adecuado para inhibir el tratamiento de la atenuacion de pre-eco en la zona de pre- eco en el caso de que el coeficiente director calculado sea inferior al umbral predefinido.
Las ventajas de este dispositivo son las mismas que las descritas para el procedimiento de discriminacion y de tratamiento de atenuacion que implementa.
La invencion se dirige a un decodificador de la senal de audio digital que incluye un dispositivo tal como el descrito anteriormente.
La invencion se dirige tambien a un programa informatico que incluye unas instrucciones de codigos para la implementacion de las etapas del procedimiento tal como se ha descrito anteriormente, cuando estas instrucciones se ejecutan por un procesador.
Finalmente, la invencion se refiere a un soporte de almacenamiento, legible por un procesador, integrado o no en el dispositivo de tratamiento, eventualmente extrafble, que memoriza un programa informatico que implementa un procedimiento de tratamiento tal como se ha descrito anteriormente.
Apareceran mas claramente otras caractensticas y ventajas de la invencion con la lectura de la descripcion que sigue, dada unicamente a tftulo de ejemplo no limitativo, y realizada con referencia a los dibujos adjuntos, en los que:
- la figura 1 descrita anteriormente ilustra un sistema de codificacion-decodificacion por transformada segun el estado de la tecnica;
5
10
15
20
25
30
35
40
45
50
55
60
65
- la figura 2 descrita anteriormente ilustra un ejemplo de senal de audio digital para el que se efectua un metodo de atenuacion segun el estado de la tecnica;
- la figura 3 ilustra otro ejemplo de senal de audio digital para el que se efectua un metodo de atenuacion segun el estado de la tecnica;
- la figura 4 descrita anteriormente ilustra un ejemplo de una senal para el que la tecnica del estado de la tecnica detectana erroneamente un pre-eco;
- la figura 5 ilustra un modo de realizacion de un procedimiento y un dispositivo de discriminacion y de tratamiento de atenuacion de pre-eco comprendido en un decodificador segun la invencion;
- la figura 6 ilustra un ejemplo de ventanas de analisis y de ventanas de smtesis de reducido retardo para la codificacion y la decodificacion por transformada susceptible de crear el fenomeno de pre-eco;
- la figura 7 ilustra un ejemplo de senal de audio digital para el que se implementa el metodo de atenuacion de pre- eco segun un modo de realizacion de la invencion;
- la figura 8 ilustra un ejemplo material de dispositivo de discriminacion y de tratamiento de la atenuacion segun la invencion.
Con referencia a la figura 5, se describe un dispositivo 600 de discriminacion y de tratamiento de atenuacion del pre- eco. El dispositivo de tratamiento de la atenuacion 600 tal como se describe a continuacion esta comprendido en un decodificador que incluye un modulo 610 de cuantificacion inversa (Q'1) que recibe una senal S, un modulo 620 de transformada inversa (MDCT-1), un modulo 630 de reconstruccion de la senal por adicion/recubrimiento (Ad/Rec) como se describe con referencia a la figura 1 y que proporciona una senal reconstruida xrec(n) al dispositivo de discriminacion y de tratamiento de atenuacion segun la invencion. Se puede observar que se toma en este caso el ejemplo de la transformada MDCT que es la mas corriente en codificacion de la voz y audio, sin embargo el dispositivo 600 se aplica igualmente a cualquier otro tipo de transformada (FFT, DCT, etc.).
A la salida del dispositivo 600, se proporciona la senal tratada Sa en la que se ha efectuado una atenuacion de pre- eco.
El dispositivo 600 implementa un metodo de discriminacion y de tratamiento de atenuacion de los pre-ecos en la senal decodificada Xrec(n).
En un modo de realizacion de la invencion, el procedimiento de discriminacion y de tratamiento de atenuacion incluye una etapa de deteccion (E601) de los ataques que pueden generar un pre-eco, en la senal decodificada
xrec(n).
De ese modo, el dispositivo 600 incluye un modulo de deteccion 601 adecuado para implementar una etapa de deteccion (E601) de la posicion de un ataque en una senal de audio decodificada.
Un ataque (u onset en ingles) es una transicion rapida y una variacion brusca de la dinamica (o amplitud) de la senal. Se puede designar este tipo de senales por el termino mas general de “transitorio”. En lo que sigue y sin perdida de generalidad, se utilizaran unicamente los terminos de ataque o de transicion para designar igualmente unos transitorios.
Cada trama actual de L muestras de la senal decodificada xrec(n) se divide en K sub-bloques de longitud L', con, por ejemplo, L = 640 muestras (20 ms) a 32 kHz, L' = 80 muestras (2,5 ms) y K = 8. Preferentemente el tamano de estos sub-bloques es por tanto identico pero la invencion continua siendo valida y facilmente generalizable cuando los sub- bloques tienen un tamano variable. Este puede ser el caso por ejemplo cuando la longitud de la trama L no es divisible por el numero de sub-bloques K o si la longitud de la trama es variable.
Se utilizan unas ventanas de analisis - smtesis especiales de bajo retardo similares a las descritas en la norma UIT- T G.718 para la parte de analisis y para la parte de smtesis de la transformacion MDCT. Un ejemplo de dichas ventanas se ilustra con referencia a la figura 6. El retardo generado por la transformacion es de solamente 280 muestras contrariamente al retardo de 640 muestras en caso de la utilizacion de ventanas sinusoidales clasicas. De ese modo la memoria MDCT con unas ventanas de analisis - smtesis especiales de bajo retardo no contiene mas que 140 muestras independientes (no replegadas con la trama actual) contrariamente a las 320 muestras en el caso de reutilizacion de las ventanas sinusoidales clasicas.
Se puede remarcar en efecto en la figura 6 para las ventanas de analisis (Ana.), que la zona de repliegue esta limitada por los trazos de puntos entre las muestras 820 y 1100. La lmea de repliegue se representa en trazo mixto en la muestra 960.
Para la smtesis (Smt.), solo son necesarias las muestras representadas por el intervalo M (140 muestras) para obtener la informacion sobre la zona de repliegue del analisis, aprovechando la simetna. Estas muestras contenidas en memoria son utiles entonces para decodificar esta zona de repliegue utilizando igualmente las muestras replegadas de la ventana de la trama siguiente. En el caso de un ataque en esta zona entre las muestras 820 y 1100 la energfa media de las muestras representadas por el intervalo M es netamente superior a la energfa de las
5
10
15
20
25
30
35
40
45
50
subtramas que preceden a la muestra 820. El aumento brusco de la ene^a del intervalo M contenido en la memoria MDCT puede por tanto senalizar un ataque en la trama siguiente que puede generar un pre-eco en la trama actual.
Se utiliza la memoria MDCT XMDci(n) que da una version con repliegue temporal (“folding” en ingles) de la senal futura. Con las ventanas de analisis - smtesis especiales de bajo retardo como se ilustran en la figura 6, no se retiene mas que un (K'=1) bloque de longitud Lm(0)=140 que contiene todas las muestras independientes de la memoria MDCT. A pesar del numero de muestras superior en este sub-bloque, su energfa sigue siendo comparable con la de los sub-bloques de la trama actual (si la senal continua siendo estable) porque la parte de la memoria se ha enmarcado (por tanto atenuado) por la ventana de analisis.
En efecto, la figura 1 muestra que el pre-eco influye en la trama que precede a la trama en la que se situa el ataque, y es deseable detectar un ataque en la trama futura que esta en parte contenida en la memoria MDCT.
La trama actual y la memoria MDCT pueden verse como unas senales concatenadas que forman una senal troceada en (K+K') sub-bloques consecutivos. En estas condiciones, se define la energfa en el k-esimo sub-bloque como:
En(k)= X x,»-,k=0,...,K-l
n=kL'
cuando el k-esimo sub-bloque se situa en la trama actual y, como:
W 2
En{k) = 2- Wr(")
n=0
cuando el sub-bloque esta en la memoria MDCT (que representa la senal disponible para la trama futura) y Lmem es la longitud del sub-bloque de la parte de memoria:
La energfa media de los sub-bloques en la trama actual se obtiene por tanto como:
__ i
fi’-p-SX*)
K- *=o
Se define igualmente la energfa media de los sub-bloques en la segunda parte de la trama actual como (suponiendo que K sea un numero par):
En' = l g En(k)
K k=K/2
max (£«(«))
Un ataque asociado a un pre-eco se detecta si la relacion R(k) = "~fl-A+g ~l ------------ sobrepasa un umbral
En(k)
predefinido, en uno de los sub-bloques considerados. Son posibles otros criterios de deteccion del pre-eco sin cambiar la naturaleza de la invencion.
Por otro lado, se considera que la posicion del ataque se define como
pos = min ( L'\arg ^max^(En(*))),/-
en la que la limitacion a L asegura que la memoria MDCT no se modifica jamas. Son igualmente posibles otros metodos de estimacion mas precisa de la posicion del ataque.
El dispositivo 600 incluye igualmente un modulo 602 de discriminacion de la zona de pre-eco que implementa una etapa de determinacion (E602) en la zona de pre-eco (ZPE) que precede a la posicion de ataque detectada. Se llama en este caso zona de pre-eco a la zona que cubre las muestras antes de la posicion estimada del ataque que estan perturbadas por el pre-eco generado por el ataque y en el que la atenuacion del este pre-eco es deseable. En el modo de realizacion presentado la zona de pre-eco puede determinarse sobre la senal decodificada.
En un modo de realizacion de obtencion de las zonas de pre-ecos, las energfas En(k) se concatenan en orden cronologico, inicialmente con la envolvente temporal de la senal decodificada, posteriormente la envolvente de la senal de la trama siguiente estimada a partir de la memoria de la transformada MDCT. En funcion de esta
envolvente temporal concatenada y de las energias medias En y En' de la trama precedente, la presencia de pre- eco se detecta por ejemplo si la relacion R(k) sobrepasa un umbral, tipicamente este umbral es 16.
5
10
15
20
25
30
35
40
45
50
55
Los sub-bloques en los que un pre-eco se ha detectado constituyen de ese modo una zona de pre-eco, que en general cubren las muestras n = 0, ..., pos-1, es decir del comienzo de la trama actual a la posicion del ataque (pos). Se puede tambien anotar que la zona de pre-eco puede extenderse en toda la trama actual si el ataque se ha detectado en la trama futura.
El dispositivo 600 incluye un modulo 603 de calculo adecuado para implementar una etapa de calculo del coeficiente director (o indicador de tendencia de variacion) de las energfas de los sub-bloques que preceden al sub-bloque en el que se ha detectado un ataque.
Se define el modelo lineal que representa un conjunto de n realizaciones (ti, e) 0 <= i < n en el que ti son los indices temporales de los sub-bloques y ei sus energfas, con la ecuacion
e = b0 + bit (1)
En la que b0 es el valor en el instante t=0 y bi es el coeficiente director. El coeficiente director da la informacion sobre la tendencia (media) de la variacion de la energfa. Un coeficiente director positivo indica un aumento de las energfas. Un valor proximo a cero indica una energfa constante.
Se puede determinar el valor de bi por ejemplo mediante regresion lineal segun los mmimos cuadrados:
(2)
En el que la suma se efectua sobre unos indices i predeterminados.
El valor de bi depende igualmente de la magnitud (en valor absoluto) de las energfas; es en efecto homogenea con la energfa en el tiempo. Para poder comparar mejor el valor de bi con un umbral (por ejemplo fijo) se puede suprimir esta dependencia. Por ejemplo, el valor de bi puede dividirse por el valor medio de las energfas para obtener el coeficiente director normalizado:
(3)
De manera alternativa se podra tomar el coeficiente de correlacion.
imagen5
imagen6
, _ £(tf - t)(ei ~ e)
'n-alt VS(ti-02S(^-02 (4)
Esta solucion alternativa tiene una complejidad de calculo mas elevada porque necesita calcular una rafz cuadrada.
Son igualmente posibles otros metodos de estimacion del coeficiente director como por ejemplo el metodo mediana - mediana de Tukey.
Se puede observar igualmente que cuando el coeficiente director debe compararse con un umbral de valor nulo —lo que se convierte en verificar el signo de este coeficiente— no es necesario normalizar este coeficiente.
Por otro lado, en lugar de normalizar el coeficiente director, sera posible hacer el umbral variable porque las relaciones siguientes son equivalentes:
b
b-in = —— < umbral
lei
bi < umbral.
Ill
n
Si el ataque se detecta en el primer o segundo sub-bloque es posible la verificacion segun la invencion. Si el ataque se detecta en el tercer sub-bloque se dispone de la energfa de 2 sub-bloques en la zona de pre-eco, e0 y ei para hacer esta verificacion (siendo ei el mas proximo al ataque). Con 2 puntos la ecuacion (3) se simplifica asf:
imagen7
5
10
15
20
25
30
35
40
45
50
55
60
65
Si el ataque se detecta en el cuarto sub-bloque se dispone de la energfa de 3 sub-bloques en la zona de pre-eco, eo, ei y e2 para realizar esta verificacion (siendo e2 el mas proximo al ataque). Con 3 putos la ecuacion (3) se simplifica asn
(6)
Si se dispone de 4 o mas sub-bloques, se puede calcular el coeficiente director sobre los 4 o mas de los sub- bloques. La experiencia muestra que la verificacion del coeficiente director calculado sobre los 3 sub-bloques precedentes al sub-bloque en el que se ha detectado el ataque es suficiente para evitar las falsas detecciones de los pre-ecos —esta conclusion se aplica sobre el caso de 8 sub-bloques en cada trama de 20 ms y puede adaptarse segun el tamano de los sub-bloques y de la trama—.
Asf en el modo de realizacion preferido, el coeficiente director se calcula con al menos 3 sub-bloques. Esto permite limitar la complejidad maxima del calculo del coeficiente director.
Segun la invencion, el coeficiente director normalizado b1n asf obtenido se compara a continuacion en la etapa E604 mediante un modulo comparador 604 con un umbral predefinido. El umbral puede predefinirse con un valor fijo o puede ser variable en funcion por ejemplo de la clasificacion de la senal segun un criterio de la voz o musica. Tfpicamente este umbral es igual a 0 si se verifica unicamente que la energfa no disminuye o es igual a 0,2 si se impone un ligero aumento de la energfa en la zona de pre-eco. Si el coeficiente director normalizado bin es inferior a este umbral se concluye que la senal en la zona de pre-eco no corresponde a un pre-eco tfpico y se inhibe la atenuacion de los pre-ecos en esta zona en la etapa E602. De ese modo se evita que una senal decodificada cuya senal de entrada original contiene un componente de reducida energfa antes del ataque quede modificada/alterada por error por el modulo de atenuacion de los pre-ecos que detecta este componente como un pre-eco.
Una atenuacion de pre-eco se implementa en la etapa E607 por el modulo de atenuacion 607 para la zona de pre- eco discriminada. El factor de atenuacion se calcula por ejemplo como en la solicitud FR 08 56248. En el caso en el que el modulo 604 ha detectado una falsa deteccion de pre-eco, el factor de atenuacion puede forzarse a 1 inhibiendo asf la atenuacion o bien el modulo de discriminacion 602 no discrimina esta zona como una zona de pre- eco, no siendo solicitado entonces el modulo de atenuacion.
En un modo de realizacion particular, el dispositivo 600 incluye ademas un modulo 605 de descomposicion de la senal, adecuado para efectuar una etapa E605 de descomposicion de la senal decodificada en al menos dos sub- senales segun un criterio predeterminado. Este metodo se describe principalmente en la solicitud FR 12 62598 de la que se recuerdan aqrn algunos elementos.
En una realizacion particular de la invencion, la senal decodificada xrec(n) se descompone en la etapa E605 en dos sub-senales de la manera siguiente:
- la primera sub-senal Xrecss1(n) se obtiene por filtrado paso bajo utilizando un filtro FIR (filtro de respuesta a impulsos finita) de 3 coeficientes y de fase nula de funcion de transferencia c(n)z'1 + (1-2c(n)) + c(n)z siendo c(n) un valor comprendido entre 0 y 0,25, en la que [c(n), 1-2c(n), c(n)] son los coeficientes del filtro paso bajo; este filtro se implementa con la ecuacion en las diferencias:
Xrec,ssi(n) = c(n) Xrec(n-1) + (1-2c(n)) Xrec(n) + c(n) x(n+1)
En un modo particular de realizacion, se utiliza un valor constante c(n) = 0,25.
Se puede remarcar que la sub-senal xrecss1(n) resultante de este filtrado, contiene por tanto unas componentes mas bien de baja frecuencia de la senal decodificada.
- La segunda sub senal Xrec, ss2(n) se obtiene por filtrado paso alto utilizando un filtro FIR de 3 coeficientes y de fase nula de funcion de transferencia -c(n)z-1 + 2c(n) - c(n)z, en la que [-c(n), 2c(n), -c(n)] son los coeficientes del filtro paso alto; este filtro se implementa con la ecuacion en las diferencias:
Xrec,ss2(n) = -c(n) Xrec(n-1) + 2c(n) Xrec(n) - c(n) x(n+1). La sub-senal Xrec,ss2(n) resultante de este filtrado, contiene por tanto unas componentes mas bien de alta frecuencia de la senal decodificada.
A observar que Xrec, ssl(n) + Xrec, ss2(n) = Xrec(n).
Es por tanto igualmente posible obtener Xrec,ss2(n) restando Xrec,ssi(n) de Xrec(n) lo que reduce la complejidad de los calculos: Xrec,ss2(n) = Xrec(n) - Xrec,ssl(n).
La combinacion de las sub-senales atenuadas para la obtencion de la senal atenuada Sa se realiza por simple adicion de las sub-senales atenuadas en la etapa E608 descrita posteriormente.
imagen8
5
10
15
20
25
30
35
40
45
50
55
60
Para no utilizar senal futura para estos fiItrados, se puede completar por ejemplo la senal decodificada mediante una muestra a 0 al final del bloque. En el caso de la senal decodificada completada por una muestra a 0 al final del bloque para n=L-1 la sub-senal Xrecss1(n) se obtiene mediante:
XrecML-1) = C(L-1) Xrec(L-2) + (1-2c(L-1)) X*(L-1),
Xrec,ss2(n) se calcula siempre como Xrec,ss2(n) = Xrec(n) - Xrec,ssl(n).
Se puede observar que las dos sub-senales permanecen en este caso con la misma frecuencia de muestreo que la senal decodificada.
Se implementa una etapa E606 de calculo de factores de atenuacion de pre-eco en el modulo de calculo 606. Este calculo se realiza separadamente para las dos sub-senales.
Estos factores de atenuacion se obtienen por muestreo en la zona de pre-eco determinada en E602 en funcion de la trama en la que se ha detectado el ataque y de la trama precedente.
Se obtienen entonces los factores gpre,ssi'(n) y gpre,ssi(n) en los que n es el mdice de la muestra correspondiente. Estos factores se alisaran eventualmente para obtener los factores gpress1(n) y gpress2(n) respectivamente. Este alisado es importante sobre todo para las sub-senales que contienen las componentes de baja frecuencia (por tanto para gpre, ssi'(n) en este ejemplo).
Un ejemplo de realizacion de calculo de atenuacion se describe en la solicitud de patente FR 08 56248. Los factores de atenuacion se calculan por sub-bloque. En el procedimiento descrito aqrn, se calculan ademas por separado para cada sub-senal. Para las muestras que preceden al ataque detectado, se calculan por tanto los factores de atenuacion gpre,ssi'(n) y gpre,ss2(n). A continuacion estos valores de atenuacion se alisan eventualmente para obtener los valores de atenuacion por muestra.
El calculo de factor de atenuacion de una sub-senal (por ejemplo gpre,ss2(n)) puede ser similar al descrito en la solicitud de patente FR 08 56248 para la senal decodificada en funcion de la relacion R(k) (utilizada igualmente para la deteccion del ataque) entre la energfa del sub-bloque de mayor energfa y la energfa del k-esimo sub-bloque de la senal decodificada. Se inicializa gpre,ss2(n) como:
gpre,ss2'(n) = g(k) = f(R(k)), n = kL', ..., (k+1)L-1; k=0, ..., K-1
en la que f es una funcion decreciente de valores entre 0 y 1, por ejemplo f = 0 si R(k) <= 16, f = 0,1 si 16 > R(k) >= 32 y f = 0,01 si R(k) > 32.
Si la variacion de la energfa con relacion a la energfa maxima es reducida, no es necesaria entonces ninguna atenuacion. El valor se fija entonces a un valor de atenuacion que inhibe la atenuacion, es decir a 1. Si no, el factor de atenuacion esta comprendido entre 0 y 1. Esta inicializacion puede ser comun para todas la sub-senales.
Los valores de atenuacion se afinan a continuacion por sub-senal para poder regular el nivel de atenuacion optimo por sub-senal en funcion de las caractensticas de la senal decodificada. Por ejemplo las atenuaciones pueden limitarse en funcion de la energfa media de la sub-senal de la trama precedente porque no es deseable que despues del tratamiento de atenuacion del pre-eco, la energfa de la senal se convierta en inferior a la energfa media por sub- bloque de la senal precedente a la zona de tratamiento (tfpicamente la de la trama precedente o la de la segunda mitad de la trama precedente).
Esta limitacion puede hacerse de manera similar a la descrita en la solicitud de patente FR 08 56248. Por ejemplo para la segunda sub-senal Xrec, ss2(n) se calcula inicialmente la energfa en los K sub-bloques de la trama actual como:
Se conoce igualmente por memorizacion la energia media de la trama precedente Ena2 y la de la segunda mitad de la trama precedente En^i' que pueden calcularse (en la trama precedente) como:
£n«2= —
A *-0
imagen9
y
5
10
15
20
25
30
35
40
45
50
55
____ 2 *-*
Ens,2=— Z Enssl(k) ft k=K/2
en la que los mdices del sub-bloque de 0 a K corresponden a la trama actual.
Para el sub-bloque k a tratar se puede calcular el valor Kmite del factor lim g>SS2 (k) con el fin de obtener exactamente la misma energfa que la energfa media por sub-bloque del segmento precedente al sub-bloque a tratar. Este valor esta limitado por supuesto a un maximo de 1 puesto que se trata aqu de los valores de atenuacion. Mas precisamente:
imagen10
en la que la energia media del segmento precedente se aproxima mediante max ^Ensii, Ens,i
El valor lim gss2 (k) as^ obtenido sirve de Kmite inferior en el calculo final del factor de atenuacion del sub-bloque:
gprejin) = max ^'(/O^inn^ „2 {k)),n=kL'.....(k + \)L'-l;k =0,..., K-\
En una primera variante de realizacion la zona de pre-eco en la que se extiende la atenuacion desde el inicio de la trama actual hasta el inicio del sub-bloque en el que se ha detectado el ataque — hasta el indice pos en donde
pos = min^ max i/ i :])■/ Las atenuaciones asociadas a las muestras del sub-bloque del
ataque son todas puestas a 1 incluso si el ataque se situa hacia el final de este sub-bloque.
En otra variante de realizacion la posicion de inicio del ataque pos se afina en el sub-bloque del ataque, por ejemplo troceando el sub-bloque en sub-sub-bloques y observando la evolucion de la energfa de estos sub-sub-bloques. Supongase que la posicion de inicio del ataque se detecta en el sub-bloque k, k>0 y el inicio del ataque afinado pos se encuentra en este sub-bloque, los valores de atenuacion para las muestras de este sub-bloque que se encuentran antes del mdice pos pueden inicializarse en funcion del valor de atenuacion correspondiente a la ultima muestra del sub-bloque precedente:
gpre.JAn)=gpre.ssAki:-^n=ki:,...,pOS- 1
Todas las atenuaciones a partir del mdice pos se ponen a 1.
Para la primera sub-senal que contiene las componentes de baja frecuencia de la senal decodificada, el calculo de los valores de atenuacion que se basa en la sub-senal Xrec.ssi(n) puede ser similar al calculo de los valores de atenuacion que se basan en la senal decodificada Xrec(n). De ese modo, en una variante de realizacion, por razones de reduccion de complejidad de calculo, los valores de atenuacion pueden determinarse basandose en la senal decodificada Xrec(n). En el caso en el que la deteccion de los ataques se realiza sobre la senal decodificada no es por tanto ya necesario recalcular unas energfas de los sub-bloques porque para esta senal los valores de energfa por sub-bloque ya se han calculado para detectar los ataques. Como para la gran mayona de las senales las bajas frecuencias son mucho mas energeticas que las altas frecuencias, las energfas por sub-bloque de la senal decodificada Xrec(n) y de la sub-senal Xrec,ssi(n) estan muy proximas, dando esta aproximacion un resultado muy satisfactorio.
Los factores de atenuacion gpre.ssi(n) y gpre,ss2(n) determinados por sub-bloques pueden alisarse a continuacion mediante una funcion de alisado aplicada muestra por muestra para evitar variaciones bruscas del factor de atenuacion en las fronteras de los bloques. Esto es particularmente importante para la sub-senales que contienen componentes de baja frecuencia como la sub-senal Xrec>ss1(n) pero no necesariamente para las sub-senales que no contienen mas que componentes de alta frecuencia como la sub-senal Xrec, ss2(n).
La figura 7 ilustra un ejemplo de aplicacion de una ganancia de atenuacion con unas funciones de alisado representadas por las flechas L.
Esta figura ilustra en a), un ejemplo de senal original, en b), la senal decodificada sin atenuacion de pre-eco, en c), las ganancias de atenuacion para las dos sub-senales obtenidas segun la etapa de descomposicion E605 y en d), la
5
10
15
20
25
30
35
40
45
50
55
60
senal decodificada con atenuacion de pre-eco de las etapas E607 y E608 (es decir despues de la combinacion de las dos sub-senales atenuadas).
Se puede remarcar en esta figura que la ganancia de atenuacion representada en trazos de puntos y correspondiente a la ganancia calculada para la primera sub-senal que incluye unos componentes de baja frecuencia, incluye funciones de alisado como se ha descrito anteriormente. La ganancia de atenuacion representada en trazo continuo y calculada para la segunda sub-senal que incluye unas componentes de alta frecuencia, no incluye ganancia de alisado.
La senal representada en d) muestra claramente que el pre-eco se ha atenuado de manera eficaz para el tratamiento de atenuacion implementado.
La funcion de alisado se define por ejemplo preferentemente por las ecuaciones siguientes:
1 M“* ,
gprejsl («) = - Yj8pre,« 1 (n~0 « = 0,-, L ~ 1
u i=0 '
con la convencion de que gpre,ssi'(n) n = -(u-1), ..., -1 son los ultimos u-1 factores de atenuacion obtenidos para las ultimas muestras del sub-bloque precedente de la sub-senal Xrec,ssi(n). Tfpicamente u = 5 pero podna utilizarse otro valor. En funcion del alisado utilizado, la zona de pre-eco (el numero de muestras atenuadas) puede por tanto ser diferente para las 2 sub-senales tratadas por separado, incluso si la deteccion del ataque se realiza en comun sobre la base de la senal decodificada.
El factor de atenuacion alisado no se eleva a 1 en el momento del ataque, lo que implica una disminucion de la amplitud del ataque. El impacto perceptible de esta disminucion es muy reducido pero debe en cualquier caso evitarse. Para paliar este problema el valor del factor de atenuacion puede forzarse a 1 para las u-1 muestras que preceden al mdice pos en el que se situa el inicio del ataque. Esto es equivalente a avanzar el marcador pos en u-1 muestras para la sub-senal en la que se aplica el alisado. De ese modo la funcion de alisado incrementa progresivamente el factor para tener un valor 1 en el momento del ataque. Se preserva entonces la amplitud del ataque.
En este modo de realizacion con descomposicion de la senal, la verificacion del aumento de la energfa de la zona de pre-eco segun la invencion se realiza para al menos una sub-senal o para cada una de estas sub-senales.
El umbral de comparacion utilizado puede ser diferente segun las sub-senales y segun el numero de sub-bloques disponibles antes del ataque.
Si en al menos una sub-senal el coeficiente director normalizado b1n es inferior al umbral de esta sub-senal, se inhibe la atenuacion de los pre-ecos para el conjunto de las sub-senales.
En caso de pre-eco en una senal procedente de una transformada MDCT inversa la energfa del componente de pre- eco aumenta o es al menos estable en todas la sub-senales. La inhibicion del tratamiento de pre-eco puede realizarse por ejemplo poniendo los factores de atenuacion a 1 o no discriminando la zona como zona de pre-eco, no siendo solicitado entonces el modulo de tratamiento de atenuacion del pre-eco como se ilustra a tftulo de ejemplo en el modo de realizacion de la figura 5 por el enlace entre el bloque 604 y 602.
En unas variantes, la atenuacion se inhibira por separado para cada sub-senal a partir de que el coeficiente director normalizado b1n sea inferior al umbral de esta sub-senal. La inhibicion podra ser implementada por ejemplo poniendo los factores de atenuacion a 1 o no solicitando el modulo de pre-eco para la sub-senal considerada.
De ese modo, en el modo de realizacion particular descrito anteriormente con descomposicion en dos sub-senales, si el numero de sub-bloques antes del ataque permite hacer esta verificacion, se verifica en las dos sub-senales la evolucion de la energfa de los sub-bloques que preceden al sub-bloque en el que se detecta el ataque, por regresion lineal. Esta verificacion puede hacerse segun las etapas E603 y E604, en no importa que momento despues de la division de la senal decodificada en sub-senales (E605) y antes de la aplicacion de los factores de atenuacion de los pre-ecos (E607). La verificacion es posible si al menos dos sub-bloques preceden al sub-bloque en el que se ha detectado el ataque. Si el ataque se detecta en el primer o segundo sub-bloque la verificacion segun la invencion no es posible.
En unas variantes, se podra(n) reutilizar el (los) coeficiente(s) director(es) eventualmente calculado(s) en la trama precedente si el ataque se detecta en el primer o segundo sub-bloque de la trama actual.
Si el ataque se detecta en el tercer sub-bloque se dispone entonces de la energfa de dos sub-bloques en la zona de pre-eco para hacer esta verificacion. Por experiencia, con dos puntos, la verificacion no es suficientemente fiable en la sub-senal de baja frecuencia xrecss1(n). Se verifica entonces unicamente la sub-senal de alta frecuencia xrecss2(n) y
5
10
15
20
25
30
35
40
45
50
55
60
unicamente que la energfa no disminuye. El coeficiente director de la sub-senal de alta frecuencia xrecss2(n) se compara con el umbral de valor 0. Solo su signo es importante aqm, no es necesario hacer una normalizacion. Es suficiente por tanto calcular en la etapa E603 un coeficiente director simple (sin normalizacion) como:
biss2 - Enss2(1) - Enss2(0)
Si biss2 es inferior a 0, la atenuacion de los pre-ecos para esta zona de pre-eco se inhibe para el conjunto de las sub- senales.
Si el ataque se detecta en el cuarto sub-bloque o en un sub-bloque de mdice superior a 4, se verifica la evolucion de la energfa de los ultimos 3 sub-bloques en la zona de pre-eco que precede al sub-bloque en el que se detecta el ataque. El coeficiente director de la sub-senal de baja frecuencia xrec,ssi(n) se compara con 0, solo su signo es importante y no es necesario normalizar este coeficiente. Es suficiente por tanto calcular un coeficiente director simple. Si el ataque se ha detectado en el sub-bloque de mdice id con id >- 3 se determina este coeficiente como:
bissi - En (id - 1) - Enss2(id - 3)
Si b1ss1 es inferior a 0 se inhibe la atenuacion de los pre-ecos para esta zona de pre-eco, y para el conjunto de las sub-senales.
El coeficiente director de la sub-senal de alta frecuencia xrecss2(n) se compara con un umbral de valor 0,2. Se calcula el coeficiente director normalizado. Si el ataque se ha detectado en el sub-bloque del mdice id con id >- 3 se determina este coeficiente como:
________3(Enss2(id - 1) - Enss2(id - 2))_______
lnss2 ~ 2(Enss2(id - 1) + Enss2(id - 2) + Enss2(id - 3))
Si biss2 es inferior a 0,2 se inhibe la atenuacion de los pre-ecos para esta zona de pre-eco, y para el conjunto de las sub-senales.
A observar que la condicion
_______3(Enss2(id - 1) - Enss2(id - 2))_______
... ; 7 : • . i 02
es equivalente a
Enss2(id - 1) -Enss2(id - 2) <y^(Enss2(id - 1) + Enss2(id - 2) + Enss2(id - 3))
evitando asf una operacion de division para reducir la complejidad y para facilitar la implementacion sobre un procesador DSP (por “Digital Signal Processor”) de aritmetica en coma fija.
El modulo 607 del dispositivo 600 de la figura 5 implementa la etapa E607 de atenuacion de pre-eco en la zona de pre-eco de cada una de las sub-senales para aplicacion a las sub-senales de los factores de atenuacion asf calculados.
La atenuacion de pre-eco se realiza por tanto de manera independiente en las sub-senales. De ese modo, en las sub-senales que representan diferentes bandas de frecuencia, la atenuacion puede elegirse en funcion del reparto espectral del pre-eco.
Finalmente, una etapa E608 del modulo de obtencion 608 permite obtener la senal de salida atenuada (la senal decodificada despues de la atenuacion de pre-eco) por combinacion (en este ejemplo por simple adicion) de las sub- senales atenuadas, segun la ecuacion:
xrec, Hn) — gpre, ss1(n) Xrec, ss1(n) + gpre, ss2(n) Xrec, ss2(nX n — ^ ■■■, L 1
Contrariamente a una descomposicion en sub-bandas clasica, se puede observar aqm que los filtrados utilizados no se asocian a operaciones de diezmado de las sub-senales y la complejidad y el retardo (“lookahead” o trama futura) se reducen al mmimo.
Se describe ahora con referencia a la figura 8 un ejemplo de realizacion de un dispositivo de discriminacion y de tratamiento de atenuacion segun la invencion.
Materialmente, este dispositivo 100 en el sentido de la invencion incluye tipicamente, un procesador pP que coopera con un bloque de memoria BM que incluye una memoria de almacenamiento y/o de trabajo, as^ como una memoria tampon MEM antes citada en tanto que medios para memorizar todos los datos necesarios para la implementacion del procedimiento de discriminacion y de tratamiento de atenuacion tal como se describen con referencia a la figura 5 5. Este dispositivo recibe en la entrada unas tramas sucesivas de la senal digital Se y entrega la senal Sa
reconstruida con atenuacion de pre-eco en las zonas de pre-eco discriminadas con, si es necesario, reconstruccion de la senal atenuada por combinacion de sub-senales atenuadas.
El bloque de memoria BM puede incluir un programa informatico que incluye las instrucciones de codigo para la 10 implementacion de las etapas del procedimiento segun la invencion cuando estas instrucciones se ejecutan por un procesador pP del dispositivo y principalmente las etapas de calculo de un coeficiente director de las energfas para al menos dos sub-bloques que preceden al sub-bloque en el que se detecta un ataque, de comparacion del coeficiente director con un umbral predefinido y de inhibicion del tratamiento de atenuacion de pre-eco en la zona de pre-eco en el caso de que el coeficiente director calculado sea inferior al umbral predefinido.
15 La figura 5 puede ilustrar el algoritmo de un programa informatico de ese tipo.
Este dispositivo de discriminacion y de tratamiento de atenuacion segun la invencion puede ser independiente o estar integrado en un decodificador de senal digital. Un decodificador de ese tipo puede integrarse en unos equipos de almacenamiento o de transmision de senales de audio digitales tales como pasarelas de comunicacion, 20 terminales de comunicacion o servidores de una red de comunicacion.

Claims (11)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    REIVINDICACIONES
    1. Procedimiento de discriminacion y de atenuacion de pre-eco en una senal de audio digital generada a partir de una codificacion por transformada, en el que, en la decodificacion, para una trama actual descompuesta en sub- bloques, los sub-bloques de baja energfa que preceden a un sub-bloque en el que se detecta una transicion o ataque (E601) determinan una zona de pre-eco (E602) en la que se efectua un tratamiento de atenuacion de pre-eco (E607), estando el procedimiento caracterizado por que, en el caso en el que se detecta un ataque a partir del tercer sub-bloque de la trama actual, incluye las siguientes etapas:
    - calculo (E603) de un coeficiente director de las energfas para al menos dos sub-bloques de la trama actual que preceden al sub-bloque en el que se detecta un ataque;
    - comparacion (E604) del coeficiente director con un umbral predefinido; y
    - inhibicion (E602) del tratamiento de atenuacion de pre-eco en la zona de pre-eco en el caso de que el coeficiente director calculado sea inferior al umbral predefinido.
  2. 2. Procedimiento segun la reivindicacion 1, caracterizado por que incluye ademas una etapa de descomposicion de la senal de audio digital en al menos dos sub-senales en funcion de un criterio de frecuencia y en el que las etapas de calculo de comparacion se efectuan para al menos una de las sub-senales.
  3. 3. Procedimiento segun la reivindicacion 1, caracterizado por que incluye ademas una etapa de descomposicion de la senal de audio digital en al menos dos sub-senales en funcion de un criterio de frecuencia en el que las etapas de calculo y de comparacion se efectuan para cada una de las sub-senales, efectuandose la inhibicion del tratamiento de atenuacion del pre-eco en la zona de pre-eco de todas la sub-senales cuando un coeficiente director calculado es inferior al umbral predefinido para al menos una sub-senal.
  4. 4. Procedimiento segun la reivindicacion 3, caracterizado por que se define un umbral diferente por sub-senal.
  5. 5. Procedimiento segun una de las reivindicaciones 1 a 4, caracterizado por que el coeficiente director se calcula segun un metodo de estimacion de mmimos cuadrados.
  6. 6. Procedimiento segun una de las reivindicaciones 1 a 5, caracterizado por que el coeficiente director se normaliza.
  7. 7. Procedimiento segun la reivindicacion 1, caracterizado por que en el caso de que se detecte un ataque en el primer o segundo sub-bloque de la trama actual, se utiliza un coeficiente director calculado para la trama precedente para la etapa de comparacion.
  8. 8. Dispositivo de discriminacion y de atenuacion de pre-eco en una senal de audio digital generada por un codificador por transformada, asociandose el dispositivo a un decodificador e incluyendo un modulo de deteccion (601) de transicion o ataque, un modulo de discriminacion de la zona de pre-eco (602) y un modulo de tratamiento de atenuacion del pre-eco (607), efectuandose un tratamiento de atenuacion del eco para una trama actual descompuesta en sub-bloques, en los sub-bloques de reducida energfa que preceden a un sub-bloque en el que se detecta una transicion o ataque que determinan una zona de pre-eco, estando el dispositivo caracterizado por que incluye ademas:
    - un modulo de calculo (603) que calcula un coeficiente director de las energfas para al menos dos sub-bloques de la trama actual que preceden al sub-bloque en el que se detecta un ataque, en el caso de que se detecte un ataque a partir del tercer sub-bloque de la trama actual;
    - un comparador (604) adecuado para efectuar una comparacion del coeficiente director con un umbral predefinido; y
    - un modulo de discriminacion (602) adecuado para inhibir el tratamiento de atenuacion de pre-eco en la zona de pre-eco en el caso de que el coeficiente director calculado sea inferior al umbral predefinido.
  9. 9. Decodificador de senal de audio digital que incluye un dispositivo de discriminacion y de atenuacion de pre-eco segun la reivindicacion 8.
  10. 10. Programa informatico que incluye unas instrucciones de codigo para la implementacion de las etapas del procedimiento segun una de las reivindicaciones 1 a 7, cuando estas instrucciones se ejecutan por un procesador.
  11. 11. Soporte de almacenamiento legible por un dispositivo de discriminacion y de tratamiento de atenuacion de pre- eco en el que esta registrado un programa informatico que comprende unas instrucciones de codigo para la ejecucion de las etapas del procedimiento de discriminacion y de tratamiento de atenuacion de pre-eco segun una de las reivindicaciones 1 a 7 cuando dicho soporte de almacenamiento funciona en un ordenador.
ES15771686.1T 2014-09-12 2015-09-11 Discriminación y atenuación de pre-ecos en una señal de audio digital Active ES2692831T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1458608A FR3025923A1 (fr) 2014-09-12 2014-09-12 Discrimination et attenuation de pre-echos dans un signal audionumerique
FR1458608 2014-09-12
PCT/FR2015/052433 WO2016038316A1 (fr) 2014-09-12 2015-09-11 Discrimination et atténuation de pré-échos dans un signal audionumérique

Publications (1)

Publication Number Publication Date
ES2692831T3 true ES2692831T3 (es) 2018-12-05

Family

ID=51842602

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15771686.1T Active ES2692831T3 (es) 2014-09-12 2015-09-11 Discriminación y atenuación de pre-ecos en una señal de audio digital

Country Status (8)

Country Link
US (1) US10083705B2 (es)
EP (1) EP3192073B1 (es)
JP (2) JP6728142B2 (es)
KR (1) KR102000227B1 (es)
CN (2) CN112086107B (es)
ES (1) ES2692831T3 (es)
FR (1) FR3025923A1 (es)
WO (1) WO2016038316A1 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3025923A1 (fr) * 2014-09-12 2016-03-18 Orange Discrimination et attenuation de pre-echos dans un signal audionumerique
EP3382700A1 (en) * 2017-03-31 2018-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for post-processing an audio signal using a transient location detection
EP3652867B1 (en) * 2017-07-14 2021-05-26 Dolby Laboratories Licensing Corporation Mitigation of inaccurate echo prediction
JP7172030B2 (ja) * 2017-12-06 2022-11-16 富士フイルムビジネスイノベーション株式会社 表示装置及びプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL249503A (es) 1959-03-19
JP3104400B2 (ja) * 1992-04-27 2000-10-30 ソニー株式会社 オーディオ信号符号化装置及び方法
FR2739736B1 (fr) * 1995-10-05 1997-12-05 Jean Laroche Procede de reduction des pre-echos ou post-echos affectant des enregistrements audio
JP3660599B2 (ja) * 2001-03-09 2005-06-15 日本電信電話株式会社 音響信号の立ち上がり・立ち下がり検出方法及び装置並びにプログラム及び記録媒体
WO2005057801A2 (en) * 2003-12-05 2005-06-23 Plexus Networks, Inc. Low-power mixed-mode echo/crosstalk cancellation in wireline communications
CA2457988A1 (en) * 2004-02-18 2005-08-18 Voiceage Corporation Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization
TWI275074B (en) * 2004-04-12 2007-03-01 Vivotek Inc Method for analyzing energy consistency to process data
FR2897733A1 (fr) * 2006-02-20 2007-08-24 France Telecom Procede de discrimination et d'attenuation fiabilisees des echos d'un signal numerique dans un decodeur et dispositif correspondant
KR101655913B1 (ko) * 2008-09-17 2016-09-08 오렌지 디지털 오디오 신호에서의 프리-에코 감쇠
KR20110001130A (ko) * 2009-06-29 2011-01-06 삼성전자주식회사 가중 선형 예측 변환을 이용한 오디오 신호 부호화 및 복호화 장치 및 그 방법
JP5433022B2 (ja) * 2009-09-18 2014-03-05 ドルビー インターナショナル アーベー 高調波転換
US8582443B1 (en) * 2009-11-23 2013-11-12 Marvell International Ltd. Method and apparatus for virtual cable test using echo canceller coefficients
CN103325379A (zh) * 2012-03-23 2013-09-25 杜比实验室特许公司 用于声学回声控制的方法与装置
CN103391381B (zh) * 2012-05-10 2015-05-20 中兴通讯股份有限公司 回声消除方法及装置
FR2992766A1 (fr) * 2012-06-29 2014-01-03 France Telecom Attenuation efficace de pre-echos dans un signal audionumerique
CN103730125B (zh) * 2012-10-12 2016-12-21 华为技术有限公司 一种回声抵消方法和设备
FR3000328A1 (fr) * 2012-12-21 2014-06-27 France Telecom Attenuation efficace de pre-echos dans un signal audionumerique
FR3011408A1 (fr) * 2013-09-30 2015-04-03 Orange Re-echantillonnage d'un signal audio pour un codage/decodage a bas retard
FR3015754A1 (fr) * 2013-12-20 2015-06-26 Orange Re-echantillonnage d'un signal audio cadence a une frequence d'echantillonnage variable selon la trame
FR3023036A1 (fr) * 2014-06-27 2016-01-01 Orange Re-echantillonnage par interpolation d'un signal audio pour un codage / decodage a bas retard
FR3025923A1 (fr) * 2014-09-12 2016-03-18 Orange Discrimination et attenuation de pre-echos dans un signal audionumerique

Also Published As

Publication number Publication date
CN112086107A (zh) 2020-12-15
FR3025923A1 (fr) 2016-03-18
US20170263263A1 (en) 2017-09-14
EP3192073A1 (fr) 2017-07-19
KR20170055515A (ko) 2017-05-19
JP7008756B2 (ja) 2022-01-25
EP3192073B1 (fr) 2018-08-01
CN112086107B (zh) 2024-04-02
CN106716529A (zh) 2017-05-24
KR102000227B1 (ko) 2019-07-15
JP6728142B2 (ja) 2020-07-22
JP2017532595A (ja) 2017-11-02
WO2016038316A1 (fr) 2016-03-17
US10083705B2 (en) 2018-09-25
CN106716529B (zh) 2020-09-22
JP2020170187A (ja) 2020-10-15

Similar Documents

Publication Publication Date Title
JP6271531B2 (ja) デジタル音声信号における効果的なプレエコー減衰
KR102349025B1 (ko) 오디오 프레임 손실 은폐를 제어하기 위한 방법 및 장치
JP6076247B2 (ja) ディジタルオーディオ信号エンコーダでのノイズシェーピングフィードバックループの制御
JP7008756B2 (ja) デジタルオーディオ信号におけるプレエコーを識別し、減衰させる方法及び装置
JP6373865B2 (ja) デジタルオーディオ信号におけるプリエコーの効率的な減衰
ES2400987T3 (es) Atenuación de pre-ecos en una señal de audio digital
JP6714741B2 (ja) バーストフレーム誤り処理