ES2278620T3 - Procedimiento en tiempo real de tratamiento y de gestion para la anulacion del eco entre un altoparlante y un microfono de una terminal informatica. - Google Patents
Procedimiento en tiempo real de tratamiento y de gestion para la anulacion del eco entre un altoparlante y un microfono de una terminal informatica. Download PDFInfo
- Publication number
- ES2278620T3 ES2278620T3 ES00946024T ES00946024T ES2278620T3 ES 2278620 T3 ES2278620 T3 ES 2278620T3 ES 00946024 T ES00946024 T ES 00946024T ES 00946024 T ES00946024 T ES 00946024T ES 2278620 T3 ES2278620 T3 ES 2278620T3
- Authority
- ES
- Spain
- Prior art keywords
- delay
- signal
- microphone
- loudspeaker
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012545 processing Methods 0.000 title claims description 4
- 230000008878 coupling Effects 0.000 claims description 13
- 238000010168 coupling process Methods 0.000 claims description 13
- 238000005859 coupling reaction Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000003071 parasitic effect Effects 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 9
- 230000001934 delay Effects 0.000 claims description 7
- 238000005259 measurement Methods 0.000 claims description 7
- 238000012937 correction Methods 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 2
- 230000003213 activating effect Effects 0.000 claims 1
- 238000007726 management method Methods 0.000 abstract description 15
- 238000003672 processing method Methods 0.000 abstract 1
- 238000011282 treatment Methods 0.000 description 20
- 239000000872 buffer Substances 0.000 description 18
- 238000006073 displacement reaction Methods 0.000 description 9
- 230000006854 communication Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 230000001629 suppression Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 244000045947 parasite Species 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- WNEODWDFDXWOLU-QHCPKHFHSA-N 3-[3-(hydroxymethyl)-4-[1-methyl-5-[[5-[(2s)-2-methyl-4-(oxetan-3-yl)piperazin-1-yl]pyridin-2-yl]amino]-6-oxopyridin-3-yl]pyridin-2-yl]-7,7-dimethyl-1,2,6,8-tetrahydrocyclopenta[3,4]pyrrolo[3,5-b]pyrazin-4-one Chemical compound C([C@@H](N(CC1)C=2C=NC(NC=3C(N(C)C=C(C=3)C=3C(=C(N4C(C5=CC=6CC(C)(C)CC=6N5CC4)=O)N=CC=3)CO)=O)=CC=2)C)N1C1COC1 WNEODWDFDXWOLU-QHCPKHFHSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013070 change management Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
- H04M9/082—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Circuit For Audible Band Transducer (AREA)
- Image Processing (AREA)
Abstract
Procedimiento en tiempo real de tratamiento y de gestión para la anulación del eco entre un altoparlante (HP) y un micrófono (M) de una terminal informática administrada por un sistema de explotación multitarea que asegura la adquisición y la restitución de audio, el eco siendo engendrado por un acoplamiento físico parásito entre el altoparlante que expide una señal de altoparlante (shp) y el micrófono (M) que recibe una señal de micrófono (smic) y corregida por sustracción a la señal de micrófono de una señal de corrección (sc) formada por una fracción de la señal de altoparlante retardada y filtrada, caracterizado porque consiste: - en establecer (A) una de las señales de altoparlante (shp) respectivamente de micrófono (smic) como señal de referencia y en sincronizar la otra señal de micrófono (smic) respectivamente de altoparlante (shp) con relación a esa señal de referencia; - en sincronizar (B) las tareas de adquisición y de restitución de audio; - en medir (C) periódicamente el retardo existente entre la otra señal y la señal de referencia para obtener un valor de retardo existente medido (rej); - en validar (D) la medida de retardo existente (rej) para obtener un valor de retardo corriente (ren) y en accionar el retardo aplicado a dicha señal de referencia a partir de ese retardo corriente (rcn), lo que permite anular por sustracción dicha señal del eco.
Description
Procedimiento en tiempo real de tratamiento y de
gestión para la anulación del eco entre un altoparlante y un
micrófono de una terminal informática.
La invención concierne a un procedimiento en
tiempo real de tratamiento y de gestión para la anulación del eco
entre un altoparlante y un micrófono de una terminal
informática.
El eco acústico presente sobre la señal del
micrófono en razón de un acoplamiento parásito entre el altoparlante
y el micrófono de una terminal informática, terminal tal como un
ordenador personal, o PC, una estación de trabajo o cualquier otra
máquina, es el mayor obstáculo para el buen funcionamiento a manos
libres de los soportes lógicos de comunicación vocal entre
usuarios. Este eco acústico resulta de la señal emitida por el
altoparlante y captada, al menos parcialmente, por el micrófono
debido al hecho de ese acoplamiento parásito.
Los algoritmos de anulación del eco están
adaptados a tal contexto aplicativo, y la comunicación a manos
libres entre terminales de visioconferencia presenta un atractivo
innegable, a pesar del retardo inherente a ese modo de
comunicación.
Con ese fin, las soluciones actualmente
propuestas consisten esencialmente en un sistema externo a la
terminal, o a la máquina principal, designado por "add on
audio" en lenguaje anglo-sajón.
La puesta en práctica de tales sistemas
constituye sin embargo un freno a la difusión de los productos de
comunicación en razón, por una parte, del
sobre-costo engendrado, y, por otra parte, de las
dificultades de instalación.
Entre los procedimientos de supresión del eco,
una solución descrita por la solicitud EP 0 895 397 consiste en
correlacionar la señal de palabra y la señal expedida por un
altoparlante, en alinear la señal de palabra sobre la señal de
altoparlante y luego, después de una normalización de la amplitud de
la señal de palabra retardada, en efectuar una supresión del eco
por ajuste de la ganancia en el campo frecuencial, después de la
aplicación de una transformada frecuencial de la señal de palabra y
de la señal de altoparlante. Una transformada frecuencial inversa
es entonces necesaria para obtener una señal de palabra en la cual
el eco es suprimido. Tal procedimiento es particularmente pesado de
llevar a la práctica, en razón de los tratamientos sucesivos de
correlación, de tratamiento por transformada frecuencial de
supresión del eco en el campo frecuencial, de transformada
frecuencial inversa, los cuales requieren recursos de cálculo muy
importantes.
Una posibilidad, a fin de eliminar tal hipoteca,
puede consistir en integrar una función de anulación del eco en un
tratamiento en tiempo real, por vía lógica, en la máquina principal,
como tarea a parte entera al mismo título que las tareas
específicas necesarias, tales como tareas de
codificación/decodificación del sonido, tratamiento de la imagen,
interfaz con la red.
A priori, la operación de conducción de
un soporte lógico de anulación del eco en una máquina principal, tal
como un ordenador PC, no constituye en sí un obstáculo, el
procesador de tales máquinas siendo programable en lenguaje de alto
nivel, y, de manera general, dotado de una potencia de cálculo
compatible con la aplicación aspirada, al menos en las máquinas de
generación reciente.
Sin embargo, tal operación se ve confrontada al
problema de la sincronización de los flujos de datos de audio,
flujos entrantes y flujos salientes, para la puesta en práctica de
la función de anulación del eco. Esos flujos son engendrados por la
tarjeta de sonido de la máquina principal.
Cuando una tarea solo utiliza un flujo de
entrada y un flujo de salida, así como en el caso de la
codificación/decodi-
ficación de la palabra, del tratamiento de la imagen y de la interfaz con la red, el procedimiento de sincronización es relativamente simple en la medida en que el fin del llenado de un "buffer" de entrada, o memoria tampón, desencadena la ejecución de la tarea considerada, y luego el llenado de un "buffer" de salida al final de la ejecución de la tarea.
ficación de la palabra, del tratamiento de la imagen y de la interfaz con la red, el procedimiento de sincronización es relativamente simple en la medida en que el fin del llenado de un "buffer" de entrada, o memoria tampón, desencadena la ejecución de la tarea considerada, y luego el llenado de un "buffer" de salida al final de la ejecución de la tarea.
Por el contrario, en el caso de la anulación del
eco entre el altoparlante y el micrófono de una terminal
informática, caso en el cual, así como es representado en la figura
1, un elemento anulador de eco AEC constituido por un filtro
adaptable que permite reinyectar por sustracción sobre la señal de
micrófono una fracción de la señal del altoparlante, el anulador de
eco precitado necesita la existencia de dos flujos de entrada, la
señal proveniente del micrófono designada por la señal de micrófono
smic, y la señal proveniente del correspondiente distante,
destinada al altoparlante y por esta razón designada por señal de
altoparlante shp.
El procedimiento de anulación del eco está
basado en la estimación de la respuesta impulsional del acoplamiento
parásito-altoparlante/micrófono. El anulador de eco
AEC engendra uno o dos flujos de salida que comprenden al menos la
fracción de la señal de altoparlante reinyectada.
Tal modo de operación necesita por lo tanto la
espera del final del llenado de dos "buffers" de
entrada, para proceder al lanzamiento de la tarea de anulación del
eco considerada.
\newpage
Además, y de manera imperativa, los dos flujos
de datos entrantes deben estar perfectamente sincronizados, a fin
de permitir la estimación correcta de la función de transferencia
acústica del acoplamiento parásito obtenido a partir de la
respuesta impulsional.
Cuando, en el caso de la técnica anterior, la
función de anulación del eco es realizada por medio de una tarjeta
DSP, tarjeta provista de un procesador de señal dedicada, o llegado
el caso por medio de un elemento de audio adicional, "add on
audio", la condición imperativa precitada de perfecto
sincronismo es verificada, ya que un solo reloj, aquel de la
tarjeta DSP o "add on" es utilizado para pilotear, a la
vez, el convertidor analógico/numérico que opera sobre la señal de
micrófono, la transferencia de los datos numéricos hacia el
procesador de señal, la sincronización, por interrupción por
ejemplo, del programa de cálculo en el procesador de señal dedicada
y para suministrar las muestras calculadas al convertidor
numérico/analógico destinado al altoparlante. Además, la tarea de
anulación del eco y las operaciones de cálculo correspondientes son
las únicas realizadas por el procesador de señal cuando aquel es un
procesador de señal dedicado, o al menos realizadas de manera
ultra-prioritaria.
La conducción de la tarea precitada en una
máquina principal choca sin embargo con las dificultades técnicas
mayores a continuación.
La gestión de los flujos de datos de audio es
efectuada, en tal caso, a partir de capas lógicas, tales como capas
administradas por el sistema de explotación o la API, por
Application Program Interface, cuando el sistema de
explotación WINDOWS® es utilizado. Esas capas lógicas
enmascaran las exigencias en tiempo real vinculadas a los
procedimientos de adquisición/restitución de las señales de audio.
Sin embargo, para obtener una portabilidad máxima de los soportes
lógicos, no es considerado utilizar capas lógicas cuyo código objeto
está especialmente adaptado a la estructura de la máquina
principal, ya que sería necesario entonces reescribir estos últimos,
lo que, además, necesitaría prácticamente una versión lógica por
tipo de máquina.
A pesar de la atribución de una alta prioridad a
la tarea de anulación del eco precitada, las tareas de sistemas,
necesarias para la puesta en práctica del sistema de explotación,
pueden sin embargo interrumpir el desenvolvimiento del programa de
tratamiento de anulación del eco y pueden, en consecuencia,
bloquear, el uno, el otro o los dos flujos de datos de audio, y
provocar así una discontinuidad en el procedimiento de
adquisición/restitución de las señales de palabra.
Así, a título ilustrativo, se recuerda que,
durante la emisión de un sonido a partir de muestras de palabras,
ante todo se procede a una inicialización de la tarjeta de sonido,
por especificación de la frecuencia de muestreo, del tamaño y del
número de los "buffers" o memorias tampón utilizadas
para asegurar la transferencia de los datos. Una primera fase
consiste a continuación en llenar todos los "buffers"
especificados y en validar la salida en lectura de estos últimos.
Cuando esta primera fase es terminada, el sistema de explotación se
coloca en espera de los "buffers" ejecutados o leídos.
En efecto, la "thread" o tarea de tratamiento en un
sistema de explotación multitareas es solamente activada por
indicación de la tarjeta de sonido si al menos uno de los
"buffers" ha sido leído.
Un funcionamiento similar rige igualmente la
adquisición en escritura de muestras provenientes de la entrada del
micrófono de la tarjeta de sonido. En esas condiciones, el número de
"buffers" utilizables por las "API" por
Application Program Interface en lenguaje
anglo-sajón, de la tarjeta de sonido es igualmente
especificado. Esta última reenvía al sistema de explotación una
indicación que permite identificar el "buffer" que acaba
de ser llenado en escritura.
Para superar los problemas de la gestión
delicada de las operaciones de escritura/lectura de los
"buffers", es preferible especificar un número
importante de "buffers" de gran tamaño.
Desafortunadamente, tal selección conduce a un
retardo importante, susceptible de alcanzar algunos segundos, en la
cadena de audio. Aunque tal retardo no trae consecuencias mayores en
el caso de aplicaciones actuales, tales como los juegos, que solo
utilizan la salida de sonido en los ordenadores personales PC, ese
retardo se revela, por el contrario, catastrófico para un sistema o
una aplicación de comunicación bi-direccional.
En efecto, en una aplicación de comunicación de
audio full duplex, cualquier retardo introducido en una u
otra de las comunicaciones presenta una influencia particularmente
nefasta sobre la naturalidad y la fluidez de la conversación.
Por esta razón, es necesario trabajar con un
tamaño y un número de "buffers" lo más pequeño posible,
a fin de discretizar y reducir cada tiempo de retardo introducido.
Esta exigencia hace sin embargo particularmente crítica la gestión
y la interrupción de las tareas de adquisición/restitución
sonora.
Además, la detención de las tareas lógicas
precitadas de adquisición y de restitución se traduce en una
disminución o un aumento del retardo entre la señal micro y la
señal altoparlante, ese retardo siendo así hecho variable. En
efecto, la tarjeta de sonido al no estar completamente vinculada al
sistema de explotación, el grado de autonomía de la tarjeta de
sonido permite un cierto aligeramiento de la carga y del tiempo de
utilización del procesador central y del sistema de explotación, un
desplazamiento temporal se produce entre los módulos materiales de
la tarjeta, en razón de su autonomía parcial, y los módulos lógicos
siendo sensibles a las diferentes solicitaciones del sistema de
explotación.
Mientras que el oído humano es sólo medianamente
sensible, o es sensible a esos retardos solamente a partir de un
cierto valor del tiempo de interrupción de los flujos, los
procedimientos de anulación del eco y los sistemas de anulación del
eco que ponen en práctica éstos últimos pierden totalmente su
referencia temporal. En consecuencia, una discontinuidad en los
flujos de audio se traduce en un desplazamiento temporal de la
respuesta impulsional del acoplamiento parásito
altoparlante/micrófono estimada por el anulador de eco.
En el peor de los casos, la ventana temporal de
estimación de la respuesta impulsional del acoplamiento parásito
entre el altoparlante y el micrófono que está limitada por el número
de coeficientes del anulador de eco, constituido por un filtro
numérico adaptable, la discontinuidad temporal en la
adquisición/restitución sonora puede conducir a que el acoplamiento
físico parásito precitado, el cual puede ser puesto en evidencia
solamente durante la existencia de la señal de altoparlante,
aparezca fuera de esta ventana de estimación. El anulador de eco no
produce entonces ningún efecto.
Así, los problemas a resolver para una
implantación lógica, que permite un tratamiento en tiempo real, de
las funciones de anulación del eco en una terminal informática,
consisten, por una parte, en que el retardo inicial entre la señal
del altoparlante y la señal del micrófono es variable de una
terminal informática a la otra, y en que, por otra parte, ese
retardo varía en el curso del tiempo, tanto a continuación de
acciones ordenadas por el sistema de explotación de la terminal,
como a continuación de un fenómeno de deriva de los relojes que
equipan la terminal.
La presente invención tiene por objeto remediar
los inconvenientes y problemas de los sistemas del arte anterior,
con vistas a permitir una implantación eficaz de funciones de
anulación del eco bajo forma lógica para asegurar un tratamiento en
tiempo real en las terminales informáticas de cualquier tipo.
Con ese fin, la presente invención tiene más
particularmente como objeto, teniendo en cuenta la selección de un
algoritmo de anulación del eco específicamente adaptado a tal
contexto de tratamiento en tiempo real, reducir al máximo la
sensibilidad del procedimiento de adquisición/restitución sonora
frente a las tareas administradas por el sistema de explotación de
la terminal más prioritarias.
En consecuencia, otro objeto de la presente
invención es igualmente prevenir cualquier riesgo de deriva del
reloj entre la señal de micrófono y la señal de altoparlante, por
sobremuestreo y luego submuestreo de esas señales, la gestión del
cambio de frecuencia de muestreo siendo efectuada de manera lógica
en la o las tareas de adquisición/restitución.
Otro objeto de la presente invención es además
la puesta en práctica de un procedimiento de tratamiento en línea
de anulación del eco en una terminal informática que permite estimar
periódicamente el retardo físico entre los flujos de audio del
altoparlante y el micrófono.
Otro objeto de la presente invención es
finalmente, a partir del valor estimado de ese retardo físico, la
puesta en práctica de un procedimiento que permita corregir ese
retardo, para catear de manera óptima la respuesta impulsional
estimada del acoplamiento parásito altoparlante/micrófono, en la
ventana de análisis del anulador de eco.
El procedimiento en tiempo real de tratamiento y
de gestión para la anulación del eco entre un altoparlante y un
micrófono de una terminal informática administrada por un sistema de
explotación multitareas que asegura la adquisición y la restitución
de audio, objeto de la presente invención, se aplica a un
procedimiento de anulación del eco, el eco siendo engendrado por un
acoplamiento físico parásito entre el altoparlante y el micrófono
que expide una señal de micrófono y corregido por sustracción a la
señal de micrófono de una señal de corrección formada por una
fracción de la señal de altoparlante retardada y filtrada.
Es remarcable porque el mismo consiste en
establecer una de las señales de altoparlante respectivamente de
micrófono como señal de referencia y en sincronizar la otra señal de
micrófono respectivamente de altoparlante con relación a esa señal
de referencia y a sincronizar las tareas de adquisición y de
restitución de audio. Consiste además en medir periódicamente el
retardo existente entre la otra señal y la señal de referencia,
para obtener un valor de retardo existente medido. La medida de
retardo existente es seguidamente validada para obtener un valor de
retardo corriente y el retardo aplicado a la señal de referencia es
ordenado a partir de ese retardo corriente, para anular la señal
del eco.
El procedimiento objeto de la presente invención
encuentra aplicación en las terminales informáticas de cualquier
tipo, provistas de un sistema de explotación de la familia
WINDOWS® 98 o NT, de los sistemas de explotación BeOS, UNIX
o análogos.
Será mejor comprendido con la lectura de la
descripción y con la observación de los dibujos a continuación en
los cuales, además de la figura 1 relativa al arte anterior:
- la figura 2a representa, a título ilustrativo,
un organigrama de las etapas de puesta en práctica del procedimiento
objeto de la presente invención;
- las figuras 2b y 2c representan diagramas
temporales de indicadores de sincronización de tareas;
- la figura 2d representa, a título ilustrativo,
un esquema funcional de las relaciones entre los diferentes módulos
materiales y/o soportes lógicos de un sistema que permite la puesta
en práctica del procedimiento en tiempo real de tratamiento y de
gestión para la anulación del eco entre el altoparlante y el
micrófono de una terminal informática, objeto de la invención;
- la figura 2e representa, a título ilustrativo,
un organigrama de las etapas de puesta en práctica del procedimiento
objeto de la invención en un modo de realización preferencial en el
cual cualquier riesgo de deriva temporal entre la señal de
micrófono y la señal de altoparlante es suprimido;
- la figura 3 representa un detalle de puesta en
práctica específica de la etapa de medida periódica del retardo
existente entre la señal de referencia y la otra señal;
- la figura 4a representa un diagrama temporal
relativo a un procedimiento de validación de valores de retardo
existente medidos en valores de retardo corriente;
- la figura 4b representa un organigrama
secuencial ilustrativo de un procedimiento de validación de valores
de retardo existente medidos en valores de retardo corriente;
- las figuras 5a, 5b y 5c representan a título
ilustrativo diagramas de accionamiento del retardo de la señal de
referencia, señal de altoparlante o señal de micrófono, a partir de
cada valor de retardo corriente, establecido a partir de uno o
varios valores de retardo existente sucesivos.
Una descripción más detallada del procedimiento
en tiempo real de tratamiento y de gestión para la anulación del
eco entre un altoparlante HP y un micrófono M de una terminal
informática será ahora dada en unión con la figura 2a y las figuras
siguientes.
Se recuerda en primer lugar, con referencia a la
figura 1, que el altoparlante HP recibe la señal de altoparlante,
denotada shp, y que el micrófono expide la señal de micrófono,
denotada smic. Además, se recuerda que en el marco de un sistema de
explotación OS multitarea, la adquisición/restitución de audio es
administrada por este último en el marco de una aplicación
comúnmente designada por API cuando el sistema de explotación es
por ejemplo el sistema WINDOWS®. Se recuerda igualmente que
el eco es engendrado por un acoplamiento físico parásito entre el
altoparlante HP que recibe la señal de altoparlante shp y el
micrófono que expide la señal de micrófono smic, la cual está
contagiada con una señal parásita debido al eco precitado
transmitido por el acoplamiento físico parásito mencionado
precedentemente. La señal de micrófono puede entonces ser corregida
por sustracción a la señal de micrófono smic de una señal de
corrección sc formada por una fracción de la señal de altoparlante
shp filtrada por el filtro adaptable del anulador de eco, denotado
AEC en la figura 1.
Con referencia a la figura 2a, se indica que el
procedimiento objeto de la presente invención es remarcable porque
consiste, en una etapa A, en establecer una de las señales de
altoparlante shp o de micrófono smic como señal de referencia y en
sincronizar la otra señal, la señal de micrófono respectivamente de
altoparlante con relación a esa señal de referencia.
La etapa A permite simplificar el problema a
resolver privilegiando así una solución algorítmica de tratamiento
que, de hecho, modifica solamente uno solo de los flujos de audio,
el otro flujo siendo así constituido en un flujo de referencia. Ese
modo de operación permite administrar los dos flujos diferentes a la
entrada y a la salida, el algoritmo de tratamiento estando así
adaptado al contexto. A título de ejemplo no limitativo, se indica
que el algoritmo de tratamiento puede estar constituido por el
algoritmo APA_{2} descrito en la solicitud de patente francesa 2
738 695. El procedimiento de tratamiento así introducido solo actúa
sobre la señal microfónica por ejemplo, siendo tomada la señal de
altoparlante como señal de referencia sobre la cual diferentes
operaciones serán realizadas así como será descrito posteriormente
en la descripción.
En la figura 2a, en la etapa A, la selección
alternativa de la señal de referencia y de la otra señal es
representada por la relación:
Selección de la
señal de referencia/otra señal = señal micro X señal
altoparlante
El símbolo X representa la selección alternativa
de la señal micro respectivamente de la señal altoparlante como
señal de referencia. La selección de la señal de referencia puede
ser efectuada por una pluralidad de utilizaciones del procedimiento
objeto de la invención, pero puede ser modificada en función del
contexto de utilización.
La etapa A precitada es entonces seguida por una
etapa B que consiste en sincronizar las tareas de adquisición y de
restitución de audio por medio de un procedimiento de sincronización
específico. La etapa B precitada permite así reducir la
sensibilidad de las tareas de gestión de los flujos de audio frente
a otras tareas administradas por el sistema de explotación y a las
cuales una prioridad más elevada ha sido atribuida. Se recuerda que
la designación de la tarea corresponde a la designación
anglo-sajona de "thread".
En efecto, en el caso donde la gestión de la
adquisición/restitución de audio es efectuada a partir de dos
"threads" independientes en adquisición y en
restitución, la activación de tareas del sistema, tal como por
ejemplo la abertura de otra aplicación, puede implicar la detención
de una o la otra de las "threads" de
adquisición/restitución de audio en función de la activación de
esas últimas y de su prioridad. Según si una o la otra de las
"threads" audio es afectada, el flujo de la señal
micrófono smic toma el adelanto o el retardo con relación al flujo
de la señal del altoparlante shp.
La etapa B representada en la figura 2a conforme
a un aspecto remarcable del procedimiento objeto de la presente
invención, permite disminuir ese fenómeno haciendo síncronas las dos
"threads" de adquisición/restitución de audio. Con ese
fin, mecanismos clásicos de sincronización de "threads"
pueden ser utilizados así como será descrito posteriormente en la
descripción.
Se indica en particular que el procedimiento de
sincronización de las tareas de adquisición/restitución de audio
engendradas en la etapa B tiene por efecto limitar el desplazamiento
de los flujos de audio precitados sin embargo sin anularlo
totalmente, en razón del hecho que el desplazamiento introducido por
el material, es decir por la tarjeta de sonido, y por los soportes
lógicos de aplicación API, no pueden ser administrados
completamente por tal sincronización.
Además, mientras que una vigilancia de las
"threads" por el sistema de explotación se traduce en un
desplazamiento limitado de los flujos de audio, ese desplazamiento
pudiendo corresponder a un desplazamiento inferior a la duración de
una muestra y por lo tanto no perceptible por el usuario, varias
vigilancias sucesivas se traducen por el contrario en un
desplazamiento acumulado más importante, ese desplazamiento
acumulado no pudiendo ser totalmente reducido por el procedimiento
de sincronización puesto en práctica en la etapa B precitada. El
desplazamiento puede igualmente ser superior a la duración de una
muestra y por lo tanto ser perceptible directamente por el
usuario.
La etapa B es entonces seguida por una etapa C
que consiste en medir periódicamente el retardo existente entre la
otra señal y la señal de referencia, cada valor de retardo existente
siendo denotado re_{j} por ejemplo. De una manera general, y
según un aspecto particularmente remarcable del procedimiento objeto
de la presente invención, se indica que la medida periódica del
retardo existente entre la otra señal y la señal de referencia es
realizada periódicamente y de manera continua, en una porción de la
señal, durante toda la puesta en práctica del procedimiento en las
condiciones más detalladas que serán descritas posteriormente en la
descripción.
La etapa C es entonces seguida por una etapa D
que consiste en validar la medida de retardo existente para la
obtención de un valor de retardo corriente, denotado rc_{n}, donde
el valor de retardo corriente corresponde sensiblemente a al menos
un valor o una combinación de valores de retardos existentes
anteriores, esta combinación siendo realizada sobre el criterio
específico que será descrito posteriormente en la descripción.
Claro está, la etapa de validación de la medida
del retardo existente en un valor de retardo corriente está
entonces acompañada de un accionamiento aplicado a la señal de
referencia a partir del retardo corriente para anular la señal del
eco.
Se comprende en particular que teniendo en
cuenta el valor de retardo corriente obtenido, es así posible
accionar el retardo aplicado al filtrado adaptable aplicado a la
fracción de la señal de altoparlante shp y claro está de accionar
los coeficientes de filtrado del filtro adaptable precitado, para
asegurar una adaptación de la señal de corrección sc permitiendo
por sustracción a la señal de micrófono smic anular el eco así
introducido. El retardo aplicado a la señal de referencia puede ser
puesto en práctica por memorización de esa señal en un
"buffer" variable, y acceso en lectura a esa señal
memorizada con el retardo aplicado por el direccionamiento
desplazado correspondiente.
Una descripción más detallada del procedimiento
de sincronización de las tareas de adquisición y de restitución de
audio puestas en práctica en la etapa B precedentemente descrita con
relación a la figura 2a, será ahora dada en unión con las figuras
2b y 2c en dos modos de realización preferenciales no
limitativos.
De una manera general, se indica que el
procedimiento de sincronización de tareas precitado puede ser
realizado por medio de la emisión de indicadores representativos de
una referencia temporal de sincronización de tareas. Esos
indicadores pueden ser emitidos por el sistema de explotación OS en
atención de la aplicación API considerada.
Con referencia a la figura 2b, se indica que la
sincronización de las "threads" de adquisición y de
restitución sonora puede consistir en sincronizar dos tareas
independientes de adquisición o escritura, respectivamente de
restitución o lectura de audio, por indicadores consecutivos
sincronizados que comprenden, así como es representado en la figura
2b, un accionamiento de adquisición, simbolizado por W,
respectivamente de restitución o lectura o escritura, simbolizado
por R.
La figura precitada representa un diagrama
temporal de sincronización entre dos tareas independientes, la
tarea de escritura estando en espera de la activación del indicador
R, indicador activado cuando la tarea de lectura ha terminado la
lectura del "buffer" B_{0} por ejemplo, y
recíprocamente la tarea de lectura estando en espera de la
activación del indicador W, indicador activado cuando la tarea de
escritura ha terminado la adquisición del "buffer"
B_{0}. La activación de los indicadores es representada en
gris.
Además, así como es representado en la figura
2c, la etapa B que consiste en sincronizar las tareas de adquisición
y de restitución sonora puede consistir ventajosamente en
engendrar, a partir del sistema de explotación, una tarea común de
adquisición/restitución sonora. La figura precitada representa la
indivisión de la gestión de lectura de un "buffer"
B_{0r} y de escritura de otro "buffer" B_{0w} por
ejemplo en una tarea común. El modo de realización de
sincronización de tareas tal como es representado en la figura 2c
parece más simple y economiza de hecho un accionamiento de
ejecución de tareas y claro está un plazo o un
micro-plazo de paso de una a otra tarea
sucesivamente.
En la figura 2d, se ha representado, a título
ilustrativo, un esquema funcional de las relaciones entre los
diferentes módulos materiales y/o soportes lógicos de un sistema que
permite la puesta en práctica del procedimiento en tiempo real de
tratamiento y de gestión para la anulación del eco entre un
altoparlante y un micrófono de una terminal informática conforme al
objeto de la presente invención.
Mientras que la etapa A de selección de la señal
de referencia no está representada en la figura 2d, esa selección
correspondiendo a una selección deliberada, por ejemplo para un tipo
de soporte lógico desarrollado, se indica que la etapa B puede ser
realizada de conformidad con el procedimiento representado en la
figura 2b o 2c y que las etapas de medida de retardo C y de
validación de cada retardo existente luego del accionamiento
aplicado a la señal de referencia son entonces utilizadas para
asegurar el accionamiento de retardo variable aplicado a ese último
y asegurar así el filtrado de la señal de micrófono smic por medio
del filtro AEC, así como será descrito posteriormente en la
descripción.
En lo que concierne a la etapa A precitada, la
misma puede consistir, en un modo de realización preferencial de
puesta en práctica del procedimiento objeto de la invención, tal
como es representado en la figura 2e, a efectuar previamente, como
de manera concomitante a la selección de la señal de referencia una
sub-etapa auxiliar consistente en recibir,
respectivamente emitir las muestras de la señal de micrófono y
altoparlante a la frecuencia máxima de muestreo del sistema y luego
conducir, por decimación, las muestras y la señal muestreada a la
frecuencia de muestreo nominal. Ese procedimiento es conducido por
accionamiento de sobremuestreo, por medio del sistema, e
inicialización de la tarjeta de sonido con, en parámetro de
frecuencia de adquisición, la cadencia de reloj máxima, y luego la
gestión del cambio de frecuencia de muestreo, accionamiento de
submuestreo, de manera lógica en la o las tareas de
adquisición/restitución. Las tareas de adquisición y de restitución
precitadas permiten así administrar las señales precitadas, de
manera de recibir respectivamente emitir muestras de la señal de
micrófono smic respectivamente de la señal altoparlante shp a la
frecuencia máxima admisible por la tarjeta de sonido y llevar esta
frecuencia a su valor nominal por medio de una decimación o
submuestreo. El modo de operación precitado permite suprimir la
deriva temporal susceptible de existir entre la señal de micrófono
smic y la señal de altoparlante shp, en razón de una transmisión
directa de las muestras al sistema o a las aplicaciones y luego del
reestablecimiento de la frecuencia de muestreo por las tareas de
adquisición/restitución.
Una descripción más detallada de la etapa C que
consiste en medir el retardo existente entre la otra señal y la
señal de referencia, la señal de referencia pudiendo por ejemplo
estar constituida por la señal de altoparlante shp y la otra señal
por la señal de micrófono smic, será ahora dada con relación a la
figura 3.
Con referencia a la figura precitada, se indica
que la etapa de medida del retardo puede ser realizada por medio de
una primera sub-etapa Ca que consiste en medir el
retardo existente al inicio del procedimiento objeto de la
invención o del sistema para definir un retardo inicial calibrado y
permite así posicionar la ventana de análisis de la anulación del
eco y en particular del anulador de eco a la arrancada de éste, es
decir del filtro adaptable AEC utilizado a este efecto.
La sub-etapa Ca es entonces
seguida por una sub-etapa Cb que consiste en medir
el retardo existente sucesivamente y de manera continua durante la
puesta en práctica del procedimiento, teniendo en cuenta operaciones
desencadenadas por el sistema de explotación OS de la terminal
informática.
De manera más específica, se indica que el
retardo al inicio depende del material utilizado, es decir de la
terminal informática y de la tarjeta de sonido que equipa esta
última. Depende claro está del sistema de explotación utilizado, el
sistema WINDOWS NT® siendo generalmente reconocido como más
rápido que el sistema WINDOWS 98®. De manera general, se
indica que la medida del retardo existente al inicio ric
constituyendo el valor de retardo calibrado puede ser conducido a
partir de cualquier método de medida intrusivo o no intrusivo. Este
valor de retardo inicial calibrado ric permite entonces ajustar la
posición de la ventana de análisis del anulador de eco AEC y
permitir así la estimación de la respuesta impulsional del
acoplamiento parásito físico al inicio.
A título de ejemplo, para un filtro adaptable
constitutivo del anulador de eco AEC que comprende 800 coeficientes
a 8 kHz, la ventana de análisis presenta un ancho de 100 ms. En el
caso donde el retardo entre el flujo de la señal de altoparlante
shp que constituye la señal de referencia, y el flujo de la señal de
micrófono smic es superior a 100 ms, por ejemplo 130 ms, no es
posible anular el eco correspondiente en ausencia de posicionamiento
conveniente de la ventana de análisis, ya que no existe ninguna
correspondencia entre las dos señales sobre la longitud temporal de
análisis precitada. En el ejemplo precitado, es entonces necesario
introducir un retardo a lo mínimo igual a 50 ms, la respuesta
impulsional estimada se encuentra, en el caso de la introducción de
tal retardo en límite de la ventana de análisis. El retardo
introducido, a fin de posicionar idealmente la ventana de análisis,
puede ser tomado ligeramente inferior a 130 ms sobre el flujo de la
señal de referencia a fin de poner en correspondencia los dos
flujos y obtener un pico de respuesta impulsional al inicio de la
ventana de análisis.
Sin embargo, el retardo entre la señal de
altoparlante shp, señal de referencia, y la señal de micrófono smic,
evoluciona a partir del inicio del conjunto, así como es mencionado
precedentemente, en función de las gestiones de tareas efectuadas
por el sistema de explotación OS. De esta manera, esta evolución
justifica la puesta en práctica de la etapa Cb a fin de efectuar
nuevas medidas de retardo sucesivas durante toda la comunicación y
por lo tanto durante toda la puesta en práctica del procedimiento
objeto de la presente invención.
Para la puesta en práctica de la
sub-etapa Cb, se utiliza de preferencia un método de
medida no intrusivo.
A título de ejemplo no limitativo, un método no
intrusivo puede consistir en un cálculo de correlación de envoltura
de energías de la señal de referencia, la señal de altoparlante, y
de la otra señal, la señal de micrófono, método tal como es
descrito en la solicitud de patente francesa 2 733 867.
Con referencia al método de cálculo de
correlación de envoltura de energías de las dos señales precitadas,
se indica que cuando la presencia de una señal altoparlante HP ha
sido detectada por un dispositivo de detección de actividad vocal
por ejemplo, las energías a medio término de la señal enviada a la
tarjeta de sonido y de la señal recibida por el micro son
calculadas. De esas dos señales, se deduce entonces una sucesión de
coeficientes de correlación entre las dos envolturas deslizantes. El
pico de la curva de correlación indica el retardo existente entre
las dos señales.
Una descripción más detallada de la
sub-etapa de validación de la medida de retardo
existente para la obtención de un valor de retardo corriente,
sub-etapa puesta en práctica en la etapa D descrita
con relación a la figura 2a, será ahora dada con relación a las
figuras 4a y 4b.
En la figura 4a, se ha designado por re_{j} la
medida de retardo existente y rc_{n} los valores de retardo
corriente.
De esta forma, re_{j} y re_{j+1} designan
dos retardos existentes sucesivos de rango j y j+1 según un retardo
corriente precedente, designado por rc_{n}, el retardo corriente
sacado de la validación de los retardos existentes sucesivos
re_{j} y re_{j+1} siendo el mismo designado por rc_{n+1}.
Con referencia a la figura 4a, se indica que la
etapa que consiste en validar la medida del retardo existente
re_{j} para obtener un valor de retardo corriente rc_{n+1}
consiste al menos en detectar el intervalo de retardo entre al
menos uno de los retardos existentes sucesivos precitados re_{j} y
re_{j+1} según el retardo corriente precedente rc_{n} y el
valor de ese retardo corriente precedente rc_{n}. Ese intervalo
de retardo es denotado:
\delta
re_{j},c_{n} = re_{j} -
rc_{n}
\delta
re_{j+1},c_{n} = re_{j+1} -
rc_{n}
El valor de ese intervalo o de esos intervalos
es comparado con un valor de duración determinado, denotado \tau.
Este valor de duración determinado puede por ejemplo ser tomado
igual a 15 ms en función de las características de la terminal
informática considerada, así como será descrito posteriormente en la
descripción.
A continuación de la etapa de comparación
precitada, la sub-etapa consiste entonces en validar
como valor de retardo corriente rc_{n+1} al menos uno de los
retardos existentes sucesivos o una combinación lineal de estos
últimos si este intervalo de retardo es superior a esta duración
determinado \tau.
El valor de retardo corriente precedente
rc_{n} es validada como valor de retardo corriente siguiente
rc_{n+1} si no.
Según un aspecto particularmente ventajoso del
procedimiento objeto de la presente invención, se indica que el
valor de la duración determinada \tau es ajustado en función del
valor del retardo corriente. Esto permite introducir una
característica de flexibilidad y de adaptabilidad del procedimiento
objeto de la presente invención a terminales informáticas de
cualquier tipo y equipadas de los sistemas de explotación más
diversos. Típicamente, la duración determinada \tau puede ser
ajustada entre un valor máximo sensiblemente igual a 30 ms y un
valor mínimo sensiblemente igual a 10 ms. La ley de adaptación del
valor \tau entre valores máximo y mínimo precitados puede ser
establecido experimentalmente.
La gestión de los valores de retardo corriente
precedentemente citada puede entonces ser realizada de manera
secuencial, así como es representado en la figura 4b, para asegurar
una optimización del filtrado y de la anulación del eco. Esta
optimización corresponde, además de la toma en cuenta de dos valores
de retardo existente sucesivos re_{j}, re_{j+1}, al valor de
retardo existente siguiente re_{j+2}. En la figura 4b, se ha
representado el retardo corriente tomado igual a un valor designado
por MOY como correspondiente a un estado estable en la etapa 1000,
este valor medio verificando la relación:
MOY =
rc_{n}.
El valor MOY puede corresponder a un valor medio
así como será descrito a continuación en la descripción.
Desde la aparición de una primera medida
diferente, llamada incoherente, tal como re_{j} \neq MOY, la
ocurrencia de tal situación lleva a una situación 1001 que es un
estado de espera 1 seguido de la detección del cambio
precitado.
Con la ocurrencia de un segundo valor de retardo
existente, segunda medida re_{j+1}, diferente del valor de
retardo existente precedente re_{j} y del valor medio MOY
precedente, el valor de retardo existente precedente re_{j} es
reemplazado por el valor de retardo existente re_{j+1}. Este
reemplazo es representado en la figura 4b por el lazo cerrado al
nivel del estado de espera 1001.
Por el contrario, con la ocurrencia de una
segunda medida del valor de retardo existente re_{j+1} idéntico
al valor de retardo existente precedente re_{j}, el estado de
espera 1 de la etapa 1001 es seguido por un estado de espera 2 de
la etapa 1002 correspondiente a la igualdad de los valores de
retardo existentes re_{j} y re_{j+1}, este estado de espera
1002 correspondiendo a una espera de confirmación.
Con la ocurrencia de una tercera medida del
valor de retardo existente re_{j+2} igual a los valores de retardo
existente precedentes re_{j+1} y re_{j}, el estado de espera
1002 precitado es seguido por un nuevo estado estable 1003 en el
curso del cual un nuevo medio NMOY es calculado correspondiendo al
medio de los tres valores de retardos existentes sucesivos
re_{j}, re_{j+1} y re_{j+2}.
Por el contrario, con la ocurrencia de un tercer
valor de retardo existente re_{j+2} diferente del valor del
primer valor de retardo existente re_{j} y del valor medio del
estado estable corriente, en la ocurrencia del valor medio MOY de
la etapa 1000 precedentemente citada, el valor de la tercera medida
de retardo existente re_{j+2} es entonces utilizado para
reemplazar el valor de la primera medida de retardo existente
re_{j}, el estado de espera 1002 siendo llevado al estado de
espera 1001 de detección de un cambio.
Cualquier medida llamada coherente del valor de
retardo existente de rango posterior a partir de los estados de
espera 1001 y 1002, medida posterior denotada re_{x} cuyo valor
corresponde al valor medio actual, conduce el procedimiento al
estado estable 1000 precedentemente mencionado.
Una descripción más detallada del procedimiento
de accionamiento del retardo de la señal de referencia, a partir
del valor de retardo corriente rc_{n}, establecido así como es
descrito precedentemente, será ahora dado con relación a las
figuras 5a, 5b y 5c.
De manera más específica, se indica que el
procedimiento precitado puede ser puesto en práctica gracias a una
memoria de la terminal informática y de dos punteros P_{escrit} y
P_{lect} que dirigen esta memoria, el puntero P_{escrit}
estando dedicado a la escritura de las muestras de la señal de
referencia y el puntero P_{lect} a la lectura de las muestras
retardadas de esa misma señal.
Con referencia a la figura 5a, se indica que el
valor de retardo, igual al valor de retardo corriente, está dado
por la relación a continuación:
P_{escrit} -
P_{lect} = retardo x duración del período de
muestreo,
el valor de retardo siendo
expresado en número de
muestras.
La gestión de esos dos punteros precitados es
tal que P_{escrit}, P_{lect} es incrementada en una unidad en
cada operación de escritura o de lectura respectivamente.
Durante una modificación del valor de retardo,
conviene modificar el puntero P_{lect} como sigue, con referencia
a las figuras 5b y 5c:
- \bullet
- si, así como es representado en la figura 5b, el retardo disminuye, el puntero de lectura P_{lect} es incrementado, próximo, al puntero de escritura P_{escrit} en una cantidad igual a la disminución del retardo. Esta cantidad no puede sobrepasar el valor del retardo corriente;
- \bullet
- si por el contrario, así como es representado en la figura 5c, el retardo aumenta, el puntero de lectura es disminuido, alejado, en una cantidad igual al aumento del retardo.
Conviene sin embargo, en todos los casos, evitar
cualquier problema de desbordamiento de la memoria. Así, a partir
de un posicionamiento inicial adaptado de la ventana de análisis del
filtro adaptable AEC, es posible obtener una anulación o una
reducción óptima de la señal del eco.
Se ha descrito así un procedimiento en tiempo
real de tratamiento y de gestión para la anulación del eco entre un
altoparlante y un micrófono de una terminal informática
particularmente eficaz en la medida en que, de manera lógica, ese
procedimiento pueda ser implantado en cualquier estación de trabajo,
cualquier ordenador personal, cualquiera que sea el sistema de
explotación utilizado por estos últimos.
En particular, la puesta en práctica precitada
permite una generalización de ese tipo de herramientas de
comunicación para las cuales todas las funciones de audio hacen
llamado a la tarjeta de sonido de la terminal informática
considerada y en particular aplicaciones API cuando el sistema de
explotación está constituido por ejemplo por un sistema de
explotación de la familia WINDOWS®. El procedimiento así
puesto en práctica permite liberarse de todas las tarjetas
específicas y en particular de las tarjetas de conexión, el
procedimiento objeto de la presente invención siendo entonces puesto
en práctica por un medio puramente lógico en la máquina principal.
La función de anulación del eco es así instituida en una tarea a
parte entera al mismo título que las tareas habitualmente
administradas por sistemas de explotación precitados.
Claims (8)
1. Procedimiento en tiempo real de tratamiento y
de gestión para la anulación del eco entre un altoparlante (HP) y
un micrófono (M) de una terminal informática administrada por un
sistema de explotación multitarea que asegura la adquisición y la
restitución de audio, el eco siendo engendrado por un acoplamiento
físico parásito entre el altoparlante que expide una señal de
altoparlante (shp) y el micrófono (M) que recibe una señal de
micrófono (smic) y corregida por sustracción a la señal de micrófono
de una señal de corrección (sc) formada por una fracción de la
señal de altoparlante retardada y filtrada, caracterizado
porque consiste:
- -
- en establecer (A) una de las señales de altoparlante (shp) respectivamente de micrófono (smic) como señal de referencia y en sincronizar la otra señal de micrófono (smic) respectivamente de altoparlante (shp) con relación a esa señal de referencia;
- -
- en sincronizar (B) las tareas de adquisición y de restitución de audio;
- -
- en medir (C) periódicamente el retardo existente entre la otra señal y la señal de referencia para obtener un valor de retardo existente medido (re_{j});
- -
- en validar (D) la medida de retardo existente (re_{j}) para obtener un valor de retardo corriente (re_{n}) y en accionar el retardo aplicado a dicha señal de referencia a partir de ese retardo corriente (rc_{n}), lo que permite anular por sustracción dicha señal del eco.
2. Procedimiento según la reivindicación 1,
caracterizado porque la etapa (A) que consiste en establecer
una de las señales de altoparlante (shp) respectivamente de
micrófono (smic) como señal de referencia y en sincronizar la otra
señal de micrófono (smic) respectivamente de altoparlante (shp),
comprende una sub-etapa auxiliar que consiste en
recibir, respectivamente emitir, las muestras de la señal de
micrófono (smic), respectivamente las muestras de la señal de
altoparlante (shp) a la frecuencia máxima de muestreo del sistema
informático y luego llevar, por decimación, esta frecuencia de
muestreo a ese valor nominal, lo que permite suprimir la deriva
susceptible de existir entre la señal de altoparlante y la señal de
micrófono, para un funcionamiento a la frecuencia de muestreo
nominal.
3. Procedimiento según la reivindicación 1 o 2,
caracterizado porque la etapa que consiste en sincronizar
las tareas de adquisición (W) y de restitución (R) sonora consiste
en sincronizar dos tareas a partir de una referencia temporal de
sincronización de tarea.
4. Procedimiento según la reivindicación 1 o 2,
caracterizado porque la etapa que consiste en sincronizar
las tareas de adquisición (W) y de restitución (R) sonora consiste
en engendrar, a partir del sistema de explotación, una tarea común
de adquisición, restitución sonora (B_{or}, B_{ow}).
5. Procedimiento según una de las
reivindicaciones 1 a 4, caracterizado porque la etapa que
consiste en medir el retardo existente entre la otra señal y la
señal de referencia consiste:
- -
- en medir (C_{a}) el retardo existente al inicio para definir un retardo inicial calibrado y posicionar la ventana de análisis de la anulación del eco;
- -
- en medir (C_{b}) ese retardo existente sucesivamente teniendo en cuenta las operaciones desencadenadas por el sistema de explotación de dicha terminal informática.
6. Procedimiento según la reivindicación 5,
caracterizado porque la etapa (C_{b}) que consiste en medir
ese retardo existente sucesivamente es realizada a partir de un
procedimiento de medida no intrusivo.
7. Procedimiento según la reivindicación 6,
caracterizado porque la etapa que consiste en validar la
medida del retardo existente (re_{j}) para obtener un valor de
retardo corriente (rc_{n+1}) consiste al menos:
- -
- en detectar el intervalo de retardo entre al menos uno de los retardos existentes sucesivos (re_{j}) (re_{j+1}), siguiendo el retardo corriente precedente (rc_{n}), y ese retardo corriente precedente (rc_{n});
- -
- en comparar ese intervalo de retardo con una duración determinada, y
- -
- en validar como valor de retardo corriente (rc_{n+1}) al menos uno de los retardos existentes sucesivos si ese intervalo de retardo es superior a aquella duración determinada, y
- -
- en validar como valor de retardo corriente (rc_{n+1}) el valor de retardo corriente precedente (rc_{n}) si no.
8. Procedimiento según la reivindicación 7,
caracterizado porque la duración determinada es ajustada
entre un valor máximo y un valor mínimo, en función del retardo
corriente.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR9915742 | 1999-12-14 | ||
| FR9915742A FR2802367B1 (fr) | 1999-12-14 | 1999-12-14 | Procede temps reel de traitement et de gestion pour l'annulation d'echo entre haut-parleur et microphone d'un terminal informatique |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2278620T3 true ES2278620T3 (es) | 2007-08-16 |
Family
ID=9553229
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES00946024T Expired - Lifetime ES2278620T3 (es) | 1999-12-14 | 2000-06-27 | Procedimiento en tiempo real de tratamiento y de gestion para la anulacion del eco entre un altoparlante y un microfono de una terminal informatica. |
Country Status (11)
| Country | Link |
|---|---|
| US (1) | US7555116B1 (es) |
| EP (1) | EP1238528B1 (es) |
| JP (1) | JP4527342B2 (es) |
| AT (1) | ATE349136T1 (es) |
| AU (1) | AU5992600A (es) |
| CA (1) | CA2394342C (es) |
| DE (1) | DE60032512T2 (es) |
| ES (1) | ES2278620T3 (es) |
| FR (1) | FR2802367B1 (es) |
| IL (1) | IL150026A0 (es) |
| WO (1) | WO2001045375A1 (es) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4533427B2 (ja) * | 2005-02-21 | 2010-09-01 | 富士通株式会社 | エコーキャンセラ |
| JP4928922B2 (ja) | 2006-12-01 | 2012-05-09 | 株式会社東芝 | 情報処理装置、およびプログラム |
| NO327377B1 (no) * | 2007-12-18 | 2009-06-22 | Tandberg Telecom As | Fremgangsmate og system for klokkedriftskompensering |
| JP5877351B2 (ja) * | 2010-12-15 | 2016-03-08 | パナソニックIpマネジメント株式会社 | 通信装置および通信方法 |
| US20130067050A1 (en) * | 2011-09-11 | 2013-03-14 | Microsoft Corporation | Playback manager |
| JP6038635B2 (ja) * | 2012-12-21 | 2016-12-07 | 株式会社東芝 | 信号処理装置および信号処理方法 |
| US9812146B1 (en) * | 2016-02-16 | 2017-11-07 | Amazon Technologies, Inc. | Synchronization of inbound and outbound audio in a heterogeneous echo cancellation system |
| CN113593589B (zh) * | 2020-04-30 | 2022-06-28 | 阿波罗智联(北京)科技有限公司 | 回声时延检测方法、装置及电子设备 |
| CN113689871A (zh) * | 2020-05-19 | 2021-11-23 | 阿里巴巴集团控股有限公司 | 回声消除方法和装置 |
| KR20220017775A (ko) * | 2020-08-05 | 2022-02-14 | 삼성전자주식회사 | 오디오 신호 처리 장치 및 그 동작 방법 |
| CN114141261B (zh) * | 2021-11-22 | 2025-06-06 | 深圳市有方科技股份有限公司 | 回声消除方法、装置、计算机设备和存储介质 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3397269B2 (ja) | 1994-10-26 | 2003-04-14 | 日本電信電話株式会社 | 多チャネル反響消去方法 |
| FR2733867B1 (fr) * | 1995-05-04 | 1997-07-18 | Barriac Vincent | Procede et dispositif de mesure sans intrusion de la qualite de transmission d'une ligne telephonique |
| JPH09284364A (ja) * | 1996-04-15 | 1997-10-31 | Sony Corp | 電話装置及び音声符号化復号化方法 |
| US5864714A (en) * | 1996-04-16 | 1999-01-26 | Comsys Communication & Signal Processing Ltd. | Communication system which dynamically switches sizes of sample buffer between first size for quick response time and second size for robustness to interrupt latency |
| US6154497A (en) * | 1996-12-19 | 2000-11-28 | Texas Instruments Incorporated | Method and system for analog to digital conversion |
| SG71035A1 (en) * | 1997-08-01 | 2000-03-21 | Bitwave Pte Ltd | Acoustic echo canceller |
| US6778671B1 (en) * | 1998-12-14 | 2004-08-17 | Intel Corporation | Method of reference to echo time alignment for facilitation of echo cancellation |
-
1999
- 1999-12-14 FR FR9915742A patent/FR2802367B1/fr not_active Expired - Fee Related
-
2000
- 2000-06-27 JP JP2001546136A patent/JP4527342B2/ja not_active Expired - Lifetime
- 2000-06-27 WO PCT/FR2000/001792 patent/WO2001045375A1/fr not_active Ceased
- 2000-06-27 IL IL15002600A patent/IL150026A0/xx unknown
- 2000-06-27 US US10/148,856 patent/US7555116B1/en not_active Expired - Lifetime
- 2000-06-27 AT AT00946024T patent/ATE349136T1/de not_active IP Right Cessation
- 2000-06-27 AU AU59926/00A patent/AU5992600A/en not_active Abandoned
- 2000-06-27 ES ES00946024T patent/ES2278620T3/es not_active Expired - Lifetime
- 2000-06-27 CA CA002394342A patent/CA2394342C/fr not_active Expired - Fee Related
- 2000-06-27 DE DE60032512T patent/DE60032512T2/de not_active Expired - Lifetime
- 2000-06-27 EP EP00946024A patent/EP1238528B1/fr not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| FR2802367A1 (fr) | 2001-06-15 |
| CA2394342A1 (fr) | 2001-06-21 |
| EP1238528A1 (fr) | 2002-09-11 |
| DE60032512T2 (de) | 2007-10-11 |
| JP4527342B2 (ja) | 2010-08-18 |
| CA2394342C (fr) | 2007-01-02 |
| JP2003517782A (ja) | 2003-05-27 |
| US7555116B1 (en) | 2009-06-30 |
| ATE349136T1 (de) | 2007-01-15 |
| IL150026A0 (en) | 2002-12-01 |
| EP1238528B1 (fr) | 2006-12-20 |
| AU5992600A (en) | 2001-06-25 |
| WO2001045375A1 (fr) | 2001-06-21 |
| DE60032512D1 (de) | 2007-02-01 |
| FR2802367B1 (fr) | 2006-08-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2278620T3 (es) | Procedimiento en tiempo real de tratamiento y de gestion para la anulacion del eco entre un altoparlante y un microfono de una terminal informatica. | |
| US11601554B2 (en) | Detection of acoustic echo cancellation | |
| CN108134863B (zh) | 一种基于双统计量的改进型双端检测装置及检测方法 | |
| KR102340999B1 (ko) | 시간 지연 추정을 기반으로 하는 에코 제거 방법 및 장치 | |
| JP6860594B2 (ja) | スクリーン輝度の調節方法、装置、電子機器、プログラム及び記憶媒体 | |
| JP6641469B2 (ja) | 近接センサ、近接照度センサ、電子機器、および近接センサのキャリブレーション方法 | |
| CN104902116B (zh) | 一种音频数据与参考信号的时间对齐方法及装置 | |
| CA2171492C (en) | Acoustic echo canceler | |
| KR102292050B1 (ko) | 데이터 전송 방법 및 이를 수행하는 전자 장치 | |
| KR20150118976A (ko) | 주변 잡음 실효치(rms) 검출기 | |
| CN107430503B (zh) | 音频传输系统的信号同步和等待时间抖动补偿 | |
| KR102339798B1 (ko) | 전자 장치의 음향 처리 방법 및 그 전자 장치 | |
| CN104570144A (zh) | 一种接近传感器的自适应感应阈值调整系统及方法 | |
| JP2014529943A (ja) | 非可聴トーンを使用する音響エコー・キャンセラのためのクロック・スキュー補償 | |
| JPS6359286B2 (es) | ||
| KR20170024315A (ko) | 에코 제거 방법 및 그 전자 장치 | |
| US10009477B2 (en) | Pure delay estimation | |
| KR20170017573A (ko) | 영상 데이터 처리 방법 및 이를 지원하는 전자 장치 | |
| ES2279165T3 (es) | Dispositivos de tratamiento de eco para sistemas de comunicacion de tipo monovia o multivias. | |
| KR20170006996A (ko) | 전자 장치 및 그 입출력 방법 | |
| US11635311B2 (en) | Multi-rate digital sensor synchronization | |
| EP3066820B1 (en) | Method in an electronic mobile device, and such a device | |
| US20080259828A1 (en) | Method and apparatus for reducing timestamp noise in audio echo cancellation | |
| JP2013118565A (ja) | 携帯端末及び近接センサ | |
| CN110321059B (zh) | 数据处理方法、装置及计算机可读存储介质 |