BR112015007306B1 - Método de cancelamento de eco acústico - Google Patents
Método de cancelamento de eco acústico Download PDFInfo
- Publication number
- BR112015007306B1 BR112015007306B1 BR112015007306-9A BR112015007306A BR112015007306B1 BR 112015007306 B1 BR112015007306 B1 BR 112015007306B1 BR 112015007306 A BR112015007306 A BR 112015007306A BR 112015007306 B1 BR112015007306 B1 BR 112015007306B1
- Authority
- BR
- Brazil
- Prior art keywords
- echo
- signal
- speech
- far
- delay
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000005259 measurement Methods 0.000 claims abstract description 8
- 230000005236 sound signal Effects 0.000 claims description 24
- 230000003595 spectral effect Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 8
- 230000002829 reductive effect Effects 0.000 claims description 7
- 238000001228 spectrum Methods 0.000 claims description 6
- 239000013598 vector Substances 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 5
- 230000015654 memory Effects 0.000 claims description 5
- 238000007619 statistical method Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 abstract description 15
- 238000002592 echocardiography Methods 0.000 abstract description 11
- 230000009467 reduction Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 25
- 230000001934 delay Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000011524 similarity measure Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000036961 partial effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000001994 activation Methods 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/20—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
- H04B3/23—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L2021/02082—Noise filtering the noise being echo, reverberation of the speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/20—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
- H04B3/23—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
- H04B3/234—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers using double talk detection
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Telephone Function (AREA)
- Circuit For Audible Band Transducer (AREA)
- Telephonic Communication Services (AREA)
Abstract
MÉTODO DE CANCELAMENTO DE ECO ACÚSTICO. Um sistema e método são apresentados para cancelamento de eco acústico O cancelador de eco realiza redução de ecos acústicos e híbridos que podem surgir em uma situação tal como uma chamada de conferência a longa distância com vários oradores em ambientes diferentes, por exemplo. Cancelamento de eco, em pelo menos uma modalidade, pode basear-se na medição de similaridade, determinação estatística dos parâmetros de cancelamento de eco de valores históricos, operação do domínio de frequência, detecção de algaravia, detecção de perda de pacote, detecção de sinal e subtração de ruído.
Description
[0001] A presente invenção refere-se geralmente aos sistemas e métodos de telecomunicação, bem como redes de comunicação. Mais particularmente, a presente invenção refere-se à eliminação de eco ao longo de redes de comunicação.
[0002] Um sistema e método são apresentados para cancelamento de eco acústico. O cancelador de eco realiza redução de ecos acústicos e híbridos que podem surgir em uma situação tal como uma chamada de conferência a longa distância com vários oradores em ambientes diferentes, por exemplo. Cancelamento de eco, em pelo menos uma modalidade, pode basear-se na medição de similaridade, determinação estatística dos parâmetros de cancelamento de eco de valores históricos, operação do domínio de frequência, detecção de algaravia, detecção de perda de pacote, detecção de sinal e subtração de ruído.
[0003] Em uma modalidade, é descrito um sistema de cancelamento de eco acústico, compreendendo: meios para entrada de áudio; meios para gerar um sinal de áudio de dita entrada de áudio; meios para transmitir dito sinal de áudio; meios para converter dito sinal de áudio em um domínio de frequência; meios para executar medição de similaridade; meios para realizar estimação de atraso; meios para realizar parâmetros de estimação de eco; meios para realizar a validação estatística de eco; meios para detectar discurso; e, meios para detectar algaravia.
[0004] Em outra modalidade, é descrito um método para o cancelamento de eco acústico, compreendendo as etapas de: inicializar parâmetros de modelo de eco; analisar o áudio para discurso; determinar se discurso foi detectado, em que se discurso não foi detectado, continuar a analisar dito áudio para discurso; estimar atraso de eco e validar dito modelo de eco se discurso foi detectado; determinar se eco está presente, em que se eco não está presente, continuar a analisar o áudio para discurso antes de continuar o processo e repetir o processo da etapa c; determinar se algaravia está presente, em que se algaravia está presente, computar parâmetros para eco com algaravia e se algaravia não estiver presente, computar parâmetros para eco comum; realizar subtração de eco; rastrear o eco e atualizar dito modelo de eco; e, determinar se o eco está ainda presente, em que: se eco não está presente, iniciar o método novamente; e, se o eco está presente, repetir o método iniciando com a etapa f).
[0005] Em outra modalidade, é descrito um sistema de cancelamento de eco acústico ao longo de redes de comunicação, compreendendo: meios para entrada de áudio; meios para gerar um sinal de áudio de dita entrada de áudio; meios para transmitir dito sinal de áudio; meios para converter dito sinal de áudio de um domínio de tempo para um domínio de frequência; meios para realizar um ou mais de: medição de similaridade e estimação de atraso; parâmetros de estimação de eco; validação estatística de eco; meios para detectar discurso; e, meios para detectar algaravia.
[0006] Em outra modalidade, é descrito um método para cancelamento de eco acústico, compreendendo as etapas de: transformar um sinal de áudio; inicializar parâmetros de modelo de eco; analisar dito sinal de áudio para discurso; detectar presença de discurso; estimar atraso de eco e validar dito modelo de eco; detectar a presença de eco; detectar a presença de algaravia; computar parâmetros para pelo menos um de: eco com algaravia e eco; subtrair o eco do sinal de áudio; atualizar dito modelo de eco; e, determinar se a presença de eco é reduzida.
[0007] A Figura 1 é um diagrama ilustrando uma modalidade de eco.
[0008] A Figura 2 é um diagrama ilustrando uma modalidade da operação de um sistema cancelador de eco.
[0009] A Figura 3 é um diagrama ilustrando uma modalidade da operação de um sistema cancelador de eco modificado.
[0010] A Figura 4 é um diagrama ilustrando uma modalidade da medida de similaridade.
[0011] A Figura 5 é um diagrama ilustrando uma modalidade dos componentes de um módulo de similaridade.
[0012] A Figura 6 é uma modalidade de um histograma.
[0013] A Figura 7 é um fluxograma ilustrando uma modalidade do processo de cancelamento de eco.
[0014] A Figura 8 é uma ilustração de uma modalidade de tempo de convergência.
[0015] A Figura 9 é uma ilustração de uma modalidade de cancelamento de eco com baixo ou nenhum tempo de convergência.
[0016] A Figura 10 é um diagrama ilustrando uma modalidade de eco através de uma rede VoIP.
[0017] Com a finalidade de promover uma compreensão dos princípios da invenção, agora será feita referência às modalidades ilustradas nas figuras e linguagem específica será usada para descrever as mesmas. Não obstante, será compreendido que nenhuma limitação do escopo da invenção é, desse modo, pretendida. Quaisquer alterações e modificações adicionais nas modalidades descritas e quaisquer outras aplicações dos princípios da invenção conforme descrito neste documento são contempladas, como normalmente ocorreria a um versado na técnica à qual se refere a invenção.
[0018] A eliminação de eco é desejada para entregar corretamente chamadas telefônicas em ambientes tais como em chamadas de conferência. O uso de dispositivos "sem as mãos" durante chamadas de telefone, tais como chamadas de conferência, pode dar origem a eco. Por exemplo, o discurso do chamador da extremidade distante é emitido pelo viva-voz, ou o telefone celular sem as mãos e em seguida, repete-se reverberando pelas superfícies da sala. Isso resulta em um eco. O eco então pode ser captado por um microfone da extremidade distante. Um ciclo de repetição pode ser criado em que o chamador da extremidade distante ouve um eco de sua própria voz. Atrasos superiores a 1 segundo (s) resultaram em algumas situações, tais como em chamadas de conferência, envolvendo participantes internacionais.
[0019] A falha ao remover, ou cancelar, o eco de uma chamada muitas vezes pode resultar em uma deterioração significativa da qualidade da chamada. A natureza não controlada e variável de ambientes acústicos e híbridos pode resultar em padrões complexos de eco tais como longos atrasos, dependência de tempo dos efeitos de eco, caudas de eco, eco dependente de frequência e distorção de eco. Por exemplo, meios de cancelamento de eco anteriores normalmente não conseguem detectar eco de nível muito baixo que pode ocorrer com base na configuração da rede.
[0020] Uma técnica de processamento de sinal digital de cancelamento de eco acústico pode ser usada para parar o repetição e permitir uma comunicação clara. Redes, tais como redes de VoIP, muitas vezes são barulhentas com sinais sofrendo degradação de mínima a moderada. Meios para o cancelamento de eco devem operar na presença de ruído. Ditos meios também devem ser capazes de levar em conta efeitos de perda de pacote e latência ocorrendo nestas redes. Finalmente, as operações executadas por um cancelador de eco devem ser eficientes sem adicionar qualquer atraso perceptível para o processamento de sinais.
[0021] Um cancelador de eco (EC) pode funcionar como uma operação de processamento de sinal que elimina ecos de sinais recebidos através de redes de comunicação, tais como VoIP e redes de telefonia pública comutada (PSTNs), ou em um ponto de extremidade, como um dispositivo de telefone, por exemplo. Geralmente, um EC realiza redução de ecos acústicos e híbridos resultantes em configurações como teleconferências com oradores em diferentes ambientes. Eco acústico é gerado quando um sinal transmitido de um alto-falante de extremidade próximo é captado pelo microfone do alto-falante de extremidade distante e retorna para o alto-falante de extremidade próximo como parte do sinal do alto-falante de extremidade distante. Os termos "extremidade próximo" e "extremidade distante" normalmente são definidos em relação ao EC sob discussão, que pode estar operando em ambas as extremidades da rede de comunicações. Outra fonte de eco pode ser o eco híbrido que é um reflexo de energia elétrica desde a extremidade distante devido a alterações nas propriedades de fiação de PSTNs.
[0022] A maioria dos métodos existentes de cancelamento de eco usam métodos de domínio de tempo ou usam uma correlação cruzada de Transformada Discreta de Cosseno de dois sinais para determinar o atraso. Em pelo menos uma modalidade, o EC executa uma determinação estatística dos parâmetros de filtro efetivos tornando-os mais robustos na presença de ruído de sinal e longos atrasos.
[0023] Cancelamento de eco pode ser realizado em alguns sistemas por um microprocessador dedicado, por exemplo, o TMS320C8x de Texas Instruments, conforme o algoritmo requer computações em quantidades de mais de 10 milhões de instruções por segundo. Em uma rede VoIP, no entanto, microprocessadores dedicados não podem ser usados porque o sistema inteiro reside em um servidor ou um computador. No que diz respeito às redes VoIP, problemas devem ser considerados, por exemplo: se a rede VoIP adiciona seu próprio atraso em cima do atraso normal associado ao sinal de eco, artefatos de compressão de sinal introduzidos por codecs de taxa de bits baixa, que pode aumentar a degradação, e a falta de fiabilidade inerente de redes de IP que podem resultar em perda de pacotes. É também desejável lidar com várias instâncias (por exemplo, centenas de telefonemas full-duplex) do anulador de eco simultaneamente em um único servidor.
[0024] Aqueles versados na técnica vão reconhecer da divulgação presente que as várias metodologias divulgadas neste documento podem ser implementadas em computador usando muitas formas diferentes de equipamentos de processamento de dados. Equipamentos podem incluir microprocessadores digitas e memória associada para executar programas de software apropriados, para citar apenas um exemplo não limitante. A forma específica do hardware, firmware e software usados para implementar as modalidades atualmente divulgadas não é crítica para a presente invenção.
[0025] A Figura 1 é um diagrama ilustrando uma modalidade de eco em uma rede de comunicação indicada geralmente em 100. Um exemplo de uma rede de comunicação pode incluir, mas não se limita a, uma rede de VoIP. O sinal transmitido de extremidade próximo é representado como TX. O sinal recebido de extremidade distante com eco adicional, 125, é representado como RX. A rede 110 através da qual o sinal de extremidade distante 120 viaja, também transmite o eco acústico 115. Conforme TX 105 viaja através da rede 110, eco 115 é gerado pelo microfone do alto-falante de extremidade distante e enviado para o alto- falante de extremidade próximo como parte do sinal do alto-falante de extremidade distante. Algaravia pode resultar da presença do sinal de eco além do discurso de extremidade distante recebido. Assim, o sinal recebido 125 contém um eco 115.
[0026] A Figura 2 é um diagrama ilustrando uma modalidade da operação típica de um sistema cancelador de eco, indicado geralmente em 200. O sinal de extremidade próximo 210 pode ser representado por enquanto o sinal de extremidade distante 250 pode ser representado por O sinal de extremidade próximo 210 pode ser gerado em por uma entrada de áudio 205, um exemplo do que pode ser uma pessoa falando. O eco indesejado 216 pode ser representado como O cancelador de eco usa o sinal transmitido 210 e o sinal recebido 250, para estimar para que o cancelador de eco possa removê-lo. O sinal pode ser sobreposto com o eco indesejado 216 no microfone 255 depois de viajar através do caminho de eco 230 do alto falante 215. Um dispositivo remoto 260 pode conter o microfone 255 e o alto falante 215. O dispositivo remoto 260 pode produzir o eco sobre o sistema.
[0027] O sinal de extremidade próximo210 pode estar disponível como um sinal de referência para o cancelador de eco 200. Ele pode ser usado pelo cancelador de eco 200 para gerar uma estimativa do eco 225, que é representada como O eco estimado é subtraído do sinal de extremidade distante somado ao eco para produzir o sinal de extremidade distante transmitido 240,, durante a fase de remoção de eco 245. Assim, o sinal de extremidade distante transmitido 240,pode ser representado como como o estimador de eco, ou o Filtro Adaptivo NLMS 220, conforme ilustrado, precisa ver para estimar idealmente, qualquer sinal residual, representado como deve ser muito pequeno ou inaudível após o cancelamento de eco, conforme o sinal chega à saída de áudio, 235, um exemplo do qual pode ser um receptor.
[0028] O filtro adaptável 220 de mínimo erro médio quadratic normalizado (NLMS) 220 pode utilizar um algoritmo que é uma variante do algoritmo mínimo erro médio quadrático (LMS) e poderá ter em conta a potência do sinal de entrada 210. O algoritmo LMS pode ser um algoritmo adaptável que usa um método baseado em gradiente de descida mais inclinada. O filtro adaptável ajusta seus coeficientes para minimizar o erro médio quadrático entre sua saída e a de um sistema desconhecido. Cancelamento de eco é executado no domínio do tempo em uma base de exemplo por exemplo.
[0029] Atraso de eco ocorre quando o sinal originalmente transmitido reaparece no sinal transmitido ou recebido. O atraso de eco de redes VoIP pode se tornar muito grande devido a vários fatores. O caminho de rede 265 pode ser um exemplo de tal fator que é responsável pelo o comprimento dos atrasos de eco. Um caminho de rede mais longo 265 pode significar um atraso de eco mais longo. Atrasos de mais de 1s foram observados. Em uma implementação de domínio de tempo, esses atrasos de eco longos exigiriam que o filtro NLMS 220 tivesse um grande número de coeficientes (taps) para cancelar o eco. Tais filtros longos exigem um esforço computacional que é excessivamente caro e pouco prático para estimar.
[0030] A Figura 3 é um diagrama ilustrando uma modalidade da operação de um sistema cancelador de eco modificado, indicado geralmente em 300. Neste diagrama, o filtro adaptável NLMS 220, conforme mostrado na Figura 2 é substituído por outros componentes que podem incluir: Módulos de Transformada Rápida de Fourier (FFT) 305a e 305b, uma Medida de Similaridade e Módulo de Estimação de Atraso 310, um de Módulo de Validação de Eco Estatística 315 e um Módulo de Estimação de Parâmetro de Eco 320. Embora o diagrama mostre o Módulo de Estimação de Parâmetro de Eco 310, o Módulo de Validação de Eco Estatística 315 e a medida de Similaridade e Módulo de Estimação de Atraso 310 como sendo agrupadas em um único módulo 306, isso é feito para maior clareza e estes não precisam ser agrupados como tal. Todas operações na presente invenção são realizadas no domínio de frequência, usando um módulo de Transformada Rápida de Fourier (FFT) 305a, 305b, para converter o sinal em vez do domínio do tempo, tal como foi usado anteriormente na Figura 2.
[0031] O módulo de Estimação de Atraso e Medida de Similaridade 310 utiliza uma medida de similaridade que realiza menos operações do que um algoritmo NLMS clássico. Isto é em vez das extensas multiplicações e adições por amostra necessárias para usar um filtro adaptativo NLMS a fim de ser capaz de lidar com um atraso de mais de 1s, como ilustrado na Figura 2.
[0032] Atraso de eco pode referir-se ao tempo que leva para que o sinal transmitido reapareça no sinal recebido. A estimação de atraso é executada usando um algoritmo que pode detectar um eco com um atraso maior que 1s e permite que a capacidade do sistema realize o cancelamento de eco em muitas chamadas full-duplex em um único computador. Para reconhecer um eco, em pelo menos uma modalidade, são mantidos os quadros mais recentes do sinal de extremidade distante no Domínio da Frequência. Esses quadros, representados por N, com N = 100 podem representar um bloco de sinal de áudio de cerca de 1,5s. Os quadros mais recentes do sinal de extremidade próximo representados no domínio da frequência são mantidos. Esses quadros, representados por K, com K = 5 podem representar um bloco de sinal de áudio de cerca de 80 milissegundos ms. N - K comparações entre quadros mais recentes K dos sinais de extremidade distante e de extremidade próximo são examinados como segue:
[0033] Sefor menor que um limiar para , então um eco está presente, em que I representa um índice que varia de 1 a N - K, e em que mrepresenta também um índice usado na soma.
[0034] A Figura 4 é um diagrama ilustrando uma modalidade da medida de similaridade, indicado geralmente em 400. O comportamento de asteamento de eco e janela pode ser determinado dinamicamente com base em correções de deriva e latência de eco observadas por meio de um modelo estatístico. Em casos em que o atraso não é conhecido, em pelo menos uma modalidade, a pesquisa pode abranger N quadros 410. Num exemplo não-limitante, deixe N ser 100 quadros, que podem compreender cerca de 1,5 s do sinal. Uma vez que o atraso de eco 415 é conhecido, a fim de reduzir o processamento, a área em torno do atraso é pesquisada em vez dos quadros N originais inteiros. Supondo que D representa o atraso de eco, a área de pesquisa restrita é reduzida para: P • 3 - , em que M define o intervalo de pesquisa e é igual a 10. Isto compreende cerca de 160ms de sinal. Em pelo menos uma modalidade, presume-se que, uma vez que o atraso do eco é encontrado, seu valor pode variar em um intervalo de ±160ms. Carga computacional, portanto, pode ser reduzida por um fator de três.
[0035] Os processos de medida de similaridade e a redução da área de pesquisa são realizadas no domínio de frequência, para que cada elemento procurado possa representar um Vetor de Frequência de Amplitude Normalizado. Deve notar-se que dados valores de amostra contidos desta divulgação são específicos a uma implementação específica que funciona em sinais com uma taxa de amostragem de 8kHz usado em telefonia. Esses valores seriam adaptados para outras taxas de amostragem. Em pelo menos uma modalidade, o Vetor de Frequência de Amplitude Normalizado pode ser representado em 128 bins. As diferenças 420 entre os quadros K do discurso de extremidade distante (RX) 405, em que RX é o sinal de extremidade distante misturado com eco, e os quadros N do discurso de extremidade próximo (TX) 410 são medidos e somados. Para cada quadro, conforme representado por j, a equação de diferença pode ser definida como Dj com:
[0036] Em que são, respectivamente, os valores de amplitude em bin K para o sinal de extremidade próximo X e o sinal de extremidade distante Y para o quadro j. Sem perda de generalidade, esta equação pode ser reescrita como:
[0037] Nesta segunda equação, o valor de < é o mesmo que na primeira equação, exceto que a soma foi porcionada em elementos menores. Estas somas parciais podem ser representadas pela equação:
[0038] Diferentes números de elementos podem existir em diferentes modalidades; no entanto, 32 incrementos são usados nesta instância. A soma parcial conforme descrita acima que varia de n a n + 32 em vez da soma descrito na primeira equação que varia de 1 a 128, pode ser utilizada em pelo menos uma modalidade.
[0039] Em pelo menos uma modalidade, a medida de similaridade pode ser computada a cada 4 quadros por acúmulo da soma parcial:
[0040] A medida de similaridade que é usada para calcular o atraso é então atualizada a cada 4 quadros, por exemplo. Este pequeno atraso pode permitir a redução da carga computacional por um fator de 4 porque 32 subtrações são feitas cada vez em vez de 128.
[0041] Em uma modalidade, o tamanho da banda pode ser 32 com um total de 4 bandas, para um valor de 128. O tamanho de banda pode ser alterado para que 16 bandas possam ser escolhidas com um tamanho 8 para o mesmo valor total de 128. Dependendo do tipo de eco, observado em uma rede, as bandas espectrais podem sobrepor-se. O tamanho de cada banda pode aumentar ou diminuir com base no desempenho de sistema desejado. Bandas não precisam ser necessariamente adjacentes. Espaçamentos podem também ser usados, tais como a cada enésima banda, por exemplo. Isso é ilustrado nas seguintes equações:
[0042] A Figura 5 é um diagrama ilustrando uma modalidade dos componentes de um Módulo de Similaridade 310, a partir da figura 3, indicado geralmente em 500. O módulo de similaridade pode transformar os sinais 505a RX e TX 505b no domínio de frequência. Em pelo menos uma modalidade, a transformação é realizada usando um bin 128 FFT. Ambos os espectros são normalizados (ou seja, a soma dos componentes em ambos vetores espectrais é feita igual a 1) 510a, 510b, em casos onde os níveis de sinal são diferentes. Quando não há nenhuma algaravia presente, a energia do sinal TX é maior que a energia do sinal RX. Filtragem passa- faixa é executada para eliminar quaisquer regiões espectrais no sinal de que não são desejadas para o cálculo de similaridade 515. O valor de similaridade 520 é então retirado do módulo. Em pelo menos uma modalidade, o valor ou medida de similaridade, 520 é definido como a distância entre dois vetores espectrais (por exemplo, bin 128) em média de mais de cinco quadros RX e TX. Um valor de menos de 0,6, em que 0,6 é um limiar fixo, pode indicar eco, em pelo menos uma modalidade.
[0043] O módulo de similaridade pode relatar a existência de eco paraquadros porque é menor que um determinado limiar para estes quadros. O módulo de similaridade também pode informar se não há nenhum eco para quadros: é maior que o limiar para esses quadros.
[0044] Essas oscilações podem não ser consideradas eco. Para validar a presença de eco, a abordagem estatística no modelo de validação de eco estatístico 315 pode basear-se na seguinte suposição em pelo menos uma modalidade: há um eco se para N atrasos consecutivos estimados dados pelo módulo "Estimação de Atraso de eco e Medida de Similaridade" K se estes atrasos N têm exatamente o mesmo valor com a razão K / N superior a 75%.
[0045] Um histograma é analisado para extrair a hipótese mais provável a partir dos dados atuais e provê uma estimativa mais precisa dos parâmetros de modelo. Com a abordagem aqui descrita, o atraso de eco pode ser determinado em bandas de frequência individuais ou grupos de bandas em vez de apenas o atraso médio, mantendo um histograma para cada banda ou grupos de bandas. Analisando o histograma para distribuições multimodais, ecos múltiplos podem ser extraídos e removidos com sucesso. Ecos de tempos diferentes também podem ser tratados desde que os valores de história sejam escolhidos para rastrear a mudança em parâmetros de filtro. Em uma modalidade, as estatísticas dos parâmetros de modelo são armazenadas em uma memória circular para os 20 quadros mais recentes (320ms) com os valores mais antigos, sendo removidos conforme os dados mais recentes se tornam disponíveis. Na Figura 6, um histograma de exemplo de distribuição de atraso é provido. O histograma ilustra a distribuição de 20 atrasos estimados e o processo pelo qual decide-se se eco estiver presente. Este histograma é provido como um exemplo e não se destina a ser um fator limitante. Porque 15 dos 20 atrasos 605 encontram-se entre 11 e 15ms, o sinal recebido pode conter um eco com um atraso de 12,5ms. Da mesma forma, em uma modalidade, pode determinar-se que não há nenhum eco ou eco já não está presente no sinal RX se inferior a 6 dos 20 atrasos estimados cair no mesmo bin. Por exemplo, 2 dentre os 20 atrasos são verificados sendo entre 1 e 5ms, 610. Isso pode indicar que não há nenhum eco ou eco já não está presente.
[0046] Em pelo menos uma modalidade, a natureza da filtragem a ser aplicada ao sinal de extremidade distante precisa ser definida para que ela possa assemelhar-se ao eco presente no sinal. O filtro pode ser um modelo do alto-falante, microfone e os atributos acústicos da sala. Porque o sistema opera no domínio de frequência, parâmetros de eco podem ser mantidos para simular as características de filtro durante a estimação de parâmetros de eco 320 (Fig. 3).
[0047] A perda de retorno de eco pode ser descrita como a razão entre o nível do sinal transmitido (TX) e o nível de eco presente no sinal de recepção (RX). Ela é expressa em decibéis (dB). Conhecer o a perda de retorno de eco por Bins de Frequência permite a ponderação correta do sinal de extremidade próximo (TX) para remoção de eco para torná-lo semelhante ao eco, a função de transferência normalizada também deve ser avaliada no domínio de frequência.
[0048] O filtro usado para modificar o sinal, a fim de obter uma estimativa razoável do eco é caracterizado pela perda de retorno de eco e a função de transferência normalizada em pelo menos uma modalidade. A FFT do sinal de extremidade distante para número de quadro k pode ser representada por Y, a perda de retorno de eco por e a funçãoNormalizada de Transferência entre o sinal de extremidade distante e o sinal de extremidade próximo. Usando o processamento de sinal digital, o é avaliado em dB que é representado por:
[0049] Em que X é a FFT do sinal de extremidade próximo. O sinal de extremidade distante modificado, ou filtrada, portanto, pode ser dado pela equação:
[0052] Esta operação resulta em um bloco de sinal de 256 amostras que é sobreposto e adicionado ao bloco anterior para formar o sinal de saída.
[0053] A figura 3 ilustra, adicionalmente, módulos de detecção de discurso conforme aplicado a pelo menos uma modalidade do cancelador de eco 300. Este aplicativo deve ser executado antes que seja determinado se deve-se avaliar parâmetros de eco diferentes. Três detectores de discurso são ilustrados na Figura 3: o detector de discurso RX 330, o detector de discurso TX 335 e o detector de algaravia 340. Detecção de discurso baseia-se na variabilidade no espectro de quadros consecutivos e a potência de sinal estimada. Detectores são geralmente projetados em torno do princípio que, se o nível de sinal é maior que um determinado limiar, então é razoável supor que o discurso está presente. Combinar o nível de sinal com variação no espectro sobre vários quadros permite maior precisão e robustez no sistema.
[0054] O detector de discurso RX 330 não faz distinção entre o eco e o alto-falante de extremidade distante. Discurso de RX pode significar que o alto-falante de extremidade distante está falando ou que um eco está presente. Porque o nível de eco pode ser relativamente baixo, o detector de discurso RX pode ser mais sensível do que os outros dois detectores de discurso. Se o discurso RX está presente, pode considerar-se que o nível do discurso de extremidade distante é maior que o limiar de discurso de extremidade distante ou que a variação espectral do discurso de extremidade distante é maior que o limiar de variação espectral. O valor desses limiares deve ser escolhido tal que o detector de discurso ativa em baixos ecos enquanto minimizando ativações falsas no ruído de fundo. Se os limiares são muito pequenos, o ruído de fundo detectado pelo microfone pode resultar em detecção falsa. Se o valor de limiar é muito grande, parte do discurso ou parte do eco pode não ser detectado.
[0055] O detector de discurso TX 335 pode realizar uma pesquisa para a presença de eco. A pesquisa pode ser desencadeada pela atividade do orador de extremidade próximo. Se o discurso de extremidade próximo está presente, pode considerar-se que o nível do discurso de extremidade próximo é maior que o limiar de discurso de extremidade próximo ou que a variação espectral do discurso de extremidade próximo é maior que o limiar de variação espectral. Os limiares podem ter valores mais elevados do que aqueles para discurso de extremidade distante.
[0056] O detector de algaravia 340 pode determinar se ambos o discurso de extremidade distante e extremidade próximo está presente. Detecção precisa de algaravia na presença de eco é necessária para que os parâmetros não sejam alterados com base em um cálculo de similaridade que já não deve ser válido. A detecção de algaravia permite controlar a quantidade de eco removido quando o discurso está presente, em pelo menos uma modalidade. Um sinal 3dB sobre o eco é normalmente considerado como um indicador de algaravia. Presume-se que algaravia está presente se o discurso de extremidade distante está presente, discurso de extremidade próximo está presente, e o nível de discurso da extremidade distante é maior do que o nível de eco, além de 3dB.
[0057] A medida de similaridade também é adicionada dentro do sistema para medir a similaridade entre TX e RX com o atraso apropriado para dar conta de situações em que um eco pode ser mais alto e diminuindo assim a confiabilidade da detecção. Por exemplo, dois níveis distintos de eco podem estar presentes em uma chamada de conferência, tal como quando o primeiro orador está falando. O orador 1 pode falar mais alto, assim eles podem ter um nível elevado de eco. O orador 2 pode falar mais baixo e, assim, ter a voz mais baixa pode resultar em um nível inferior de eco do que pode ter o orador 1. O valor de similaridade, na presença de algaravia, é assim maior do que no caso onde há apenas um eco. Em pelo menos uma modalidade, uma histerese em valores de similaridade entre 0,65 e 0,85 é usada para verificar algaravia para além da restrição de 3 dB.
[0058] Conforme ilustrado na Figura 7, uma modalidade de um processo 700 para cancelamento de eco é provida, geralmente indicada em 700. O processo 200 pode ser operativo em qualquer ou todos os elementos do sistema 300 (Figura 3). Cancelamento de eco em si pode ser definido como uma subtração no domínio de frequência entre o sinal de extremidade próximo e o eco estimado como:
[0059] Na etapa 705, os parâmetros do modelo de eco são inicializados. Por exemplo, a inicialização pode ser desencadeada pelo sinal sendo transformado do domínio de tempo para o domínio de frequência usando FFT. O controle é passado à etapa 710 e o processo 700 continua.
[0060] Na etapa 710, o áudio é analisado procurando presence de discurso. O controle é passado à etapa 715 e o processo 700 continua.
[0061] Na etapa 715, é determinado se o discurso é detectado ou não. Se for determinado que o discurso foi detectado, então o controle é passado para a etapa 720 e o processo 700 continua. Se for determinado que discurso não foi detectado, então, o controle é passado à etapa 710 e processo 700 continua.
[0062] A determinação na etapa 715 pode ser feita com base em quaisquer critérios adequados. Por exemplo, detecção de discurso é realizada por detectores de discurso TX, detectores de discurso de RX e detectores de algaravia (como descrito acima na Figura 3). Detectores são geralmente projetados em torno do princípio que, se o nível de sinal é maior que um determinado limiar, então é razoável supor que o discurso está presente. O valor desses limiares deve ser escolhido com cuidado a partir da análise dos dados coletados a partir de casos de uso típico do cancelador de eco. Se os limiares são muito pequenos, o ruído de fundo detectado pelo microfone pode resultar em detecção falsa. Se o valor de limiar é muito grande, parte do discurso ou parte do eco pode não ser detectado. Se o discurso de extremidade próximo está presente, pode considerar-se que o nível do discurso de extremidade próximo é maior que o limiar de discurso de extremidade próximo ou que a variação espectral do discurso de extremidade próximo é maior que o limiar de variação espectral. Se o discurso de extremidade distante está presente, pode considerar-se que o nível do discurso de extremidade distante é maior que o limiar de discurso de extremidade distante ou que a variação espectral do discurso de extremidade distante é maior que o limiar de variação espectral. Os limiares podem ter valores mais elevados do que aqueles para discurso de extremidade próximo.
[0063] Na etapa 720, o atraso do eco é estimado e o modelo de eco é validado. Por exemplo, o algoritmo conforme descrito acima é usado para estimar o atraso. A validação do modelo de eco é estatística e pode basear-se na suposição de que há um eco se para N atrasos consecutivos estimados dados pelo módulo "Estimação de Atraso de eco e Medida de Similaridade" K destes atrasos N têm exatamente o mesmo valor com a razão K / N superior a 75%. O controle é passado à etapa 725 e o processo 700 continua.
[0064] Na etapa 725, determina-se se o eco está presente ou não. Se for determinado que o eco foi detectado, então o controle é passado para a etapa 730 e o processo 700 continua. Se for determinado que eco não foi detectado, então, o controle é passado à etapa 710 e processo 700 continua.
[0065] A determinação na etapa 725 pode ser feita com base em quaisquer critérios adequados. Por exemplo, os algoritmos conforme descrito acima podem ser usados para determinar se o eco é detectado juntamente com a análise estatística ou não, conforme descrito acima.
[0066] Na etapa 730, determina-se se algaravia está presente ou não. Se for determinado que algaravia está presente, então o controle é passado para a etapa 735 e o processo 700 continua. Se for determinado que a algaravia não foi detectada, então o controle é passado para a etapa 740 e o processo 700 continua.
[0067] A determinação na etapa 730 pode ser feita com base em quaisquer critérios adequados. Por exemplo, durante a algaravia, a fim de evitar qualquer degradação no sinal, quando a pessoa da extremidade distante está falando, o eco Y' estimado pode ser multiplicado por um fator de atenuação - com 0<a<1, a saída é então definida por:
[0068] O constante pode controlar a quantidade de eco que é removida durante algaravia. Se - = 0, nenhum eco é removido no total durante a algaravia, que é, em geral, o caso durante algaravia na maioria dos sistemas. Um valor de sistema de - = 0.5 durante algaravia e 1 em outros momentos permite melhor controle sobre o sistema. Em pelo menos uma personificação, um nível de sinal de 3 dB acima do nível de eco é considerado como um indicador para algaravia. Presume-se que algaravia está presente se o discurso de extremidade distante está presente, discurso de extremidade próximo está presente, e o nível de discurso da extremidade distante é maior do que o nível de eco, +3dB. Uma razão para mudar a quantidade de eco removido durante a algaravia é para evitar ou reduzir artefatos audíveis no sinal após a remoção de eco.
[0069] Na etapa 735, parâmetros são computados para eco na presença de algaravia. O controle é passado então à etapa 745 e o processo 700 continua.
[0070] Na etapa 740, parâmetros são computados para eco na ausência de algaravia. O controle é passado então à etapa 745 e o processo 700 continua.
[0071] Na etapa 745, subtração de eco é realizada. Uma vez que o atraso tenha sido determinado com precisão, o eco é cancelado pela aplicação de uma função de transferência do sinal RX. A função de transferência é uma razão entre os sinais TX e RX no domínio de frequência (espectral) e pode ser representada como (TX/RX).
[0072] Esta razão é obtida a partir de um histograma, pela escolha daquele correspondente ao valor mais provável de atraso. A Figura 6 é uma modalidade de um histograma, indicado geralmente em 600. Em pelo menos uma modalidade, o cancelamento de eco é realizado no domínio de frequência, utilizando uma abordagem estatística que é mais efetiva para longos atrasos e ecos múltiplos. Desempenho no domínio de frequência elimina a necessidade de filtragem adaptativa usando computações extensas para calcular os coeficientes de filtro e outras operações não-lineares para remover completamente o eco, além de um tempo de acomodação para a convergência de coeficientes de filtro. O controle é passado à etapa 750 e o processo 700 continua.
[0073] Na etapa 750, o eco é controlado e o modelo de eco é atualizado. O controle é passado à etapa 755 e o processo 700 continua.
[0074] Na etapa 755, determina-se se o eco continua presente ou não. Se for determinado que o eco continua presente, então o controle é passado de volta para a etapa 730 e o processo 700 continua. Se for determinado que eco não está presente, então, o controle é passado de volta à etapa 705 e processo 700 continua.
[0075] A determinação no passo 755 pode ser feita com base em quaisquer critérios apropriados, tais como os métodos conforme descrito acima. Conforme o controle é passado de volta à etapa 705, os parâmetros são redefinidos no modelo de eco e o processo continua.
[0076] Em pelo menos uma modalidade, o cancelamento de eco é necessário em sistemas de resposta de voz interativa (IVR) que utilizam o reconhecimento automático de discurso (ASR). Para evitar um eco de mensagem automatizada sendo reproduzido à pessoa ligando de disparar o detector de discurso no mecanismo de ASR, cancelamento de eco desempenha um papel importante. Se eco está presente, isto iria resultar em repetidas interrupções da mensagem automatizada, portanto, uma experiência ruim para o usuário. Tal eco, se não for cancelado, pode ser percebido pelo sistema como uma resposta de um usuário que pode desencadear uma interação falsa.
[0077] A Figura 8 é uma ilustração de uma modalidade do tempo de convergência 805 em um cancelador de eco, indicada geralmente em 800. Porque, durante a convergência o nível do sinal de eco 810 é ainda relativamente elevado, isso pode desencadear o detector de discurso do mecanismo ASR, confundindo o eco com uma resposta de um usuário. Para impedir que isto aconteça, em uma modalidade a saída do cancelador de eco é atrasada pelo número esperado de quadros necessários para detectar a presença de eco (tempo de convergência). Se for detectado um eco, o eco é removido de maneira retroativa dos quadros em memória, que são em seguida enviados para o mecanismo ASR. Como o tempo de convergência na presente invenção é curto, o atraso introduzido não compromete sensivelmente a experiência do usuário de diálogo de voz. Para reduzir ainda mais a percepção de atraso, pelo menos uma modalidade pára as mensagens automatizadas ("interrupção") com base em um sinal de atividade de discurso derivado pela presente invenção de informações de estado do cancelador de eco em vez de informações do detector de discurso no mecanismo ASR. Em outra modalidade, as memórias das quais o eco foi removido retroativamente podem ser alimentadas ao consumidor a jusante (tais como um mecanismo ASR) mais rápido do que em tempo real para reduzir ou eliminar o atraso para quadros de discurso subsequentes.
[0078] A Figura 9 é uma ilustração exemplo de uma modalidade de cancelamento de eco com baixo ou nenhum tempo de convergência, indicada geralmente em 900. O resultado de saída total pode tornar-se mais uniforme, como mostrado. Em pelo menos uma modalidade, o valor T, refletindo o tempo de convergência é igual a 150ms.
[0079] Em pelo menos uma modalidade, eco acústico ao longo de uma rede PSTN geralmente não mostraria um atraso maior que 500ms.No entanto, em redes de VoIP, os atrasos podem ser maiores do que isso. A Figura 10 ilustra uma modalidade de eco através de uma rede de VoIP, indicada geralmente em 1000, e a comunicação entre dois telefones 1005a, 1005b. O sinal de áudio passa através da rede 1015 para viajar entre telefone 1005a e telefone 1005b. A rede 1015 pode também ser conectada a outros dispositivos, tais como, mas não limitados a, um computador 1010a, 1010b. Outros exemplos de dispositivos podem incluir servidores, máquinas de fax, etc. A rede apresenta suas próprias perturbações 1020 ao áudio tais como perda de pacotes 1025, atraso 1030 e tremulação 1035.
[0080] O atraso 1030 especifica a quantidade de tempo que pode demorar para que um pouco de dados viaje em toda a rede de um ponto para outro. Várias outras fontes conhecidas de atrasos podem incluir: atraso de processamento, atraso de filas, atraso de transmissão e atraso de propagação. Atraso de processamento pode ser o tempo que os roteadores levam para processar o pacote. Atraso de fila pode ser o tempo que o pacote passa nas filas de roteamento. Atraso de transmissão pode ser o tempo que leva para levar o pacote ao link. Atraso de propagação pode incluir o tempo que um sinal leva para alcançar seu destino. A soma de todos estes atrasos, que representa o atraso total, pode ser adicionada ao atraso real de eco para formar o atraso de eco final ao longo da rede. O atraso total encontrado pode facilmente exceder 1s. A presente invenção pode lidar com atrasos muito maiores do que 1s.
[0081] Outro distúrbio introduzido pela rede 1015 é causado pela tremulação 1035. Em pelo menos uma modalidade, a tremulação 1035 mede a variação em latência ao longo da rede, que pode apresentar uma variação substancial no atraso visto pelo algoritmo cancelador de eco. Essas variações bruscas no atraso introduzidas pela tremulação 1035 são difíceis de lidar e temporalmente podem causar que o algoritmo perca a trilha do eco. O mecanismo de intervalo de busca para atraso de eco permite lidar com eco com muito atraso, bem como a busca restrita que compensa o efeito da tremulação 1035 depois que verificou-se o eco. Se eco é encontrado, então, uma busca por eco pode ocorrer ao longo de um intervalo de ± 250ms. Se a tremulação 1035 ou variação na latência ao longo da rede 1015 for superior a ± 250ms, a busca pelo atraso de eco irá recomeçar no intervalo de 1,5s.
[0082] Outra degradação de sinal comum introduzida pela rede é a perda de pacotes 1030. A perda de pacotes 1030 pode ocorrer quando um ou mais pacotes de dados viajando através da rede 1015 falharem em chegar ao destino. A perda de pacotes 1030 pode ser causada por uma série de fatores tais como a degradação do sinal ao longo da rede devido ao enfraquecimento por caminhos múltiplos, queda de pacote por causa de congestionamento de canal, ou pacotes corrompidos rejeitados em trânsito.
[0083] Para lidar com a perda de pacotes 1030, o processo de detecção de eco precisa ser robusto e não pode depender unicamente de uma medição de similaridade simples. Em pelo menos uma modalidade, o uso de estatísticas através do método de histograma torna o sistema robusto para perda de pacotes conforme a tomada de decisão é realizada com base na informação que é acumulada ao longo de vários quadros de dados. Alguns quadros na janela de busca que podem ser afetados pela perda de pacotes normalmente não mudarão as estatísticas para o ponto no qual o sistema perde a trilha do eco.
[0084] Em pelo menos uma modalidade, o cálculo de similaridade e parâmetros de modelo em diferentes histórias fazem uso de valores parciais anteriores para sobreposição de quadros em instantes anteriores. Um valor preciso do atraso é calculado somente se um eco está presente. Assim que um eco tiver sido determinado e as características de eco não mudarem ao longo do tempo, os cálculos necessários para a determinação de atraso não são repetidos, apesar de cancelamento de eco ainda precisar ser realizada com a estimativa de atraso travada. Se as características de eco mudam ao longo do tempo, o EC destrava as estimativas de atraso e uma nova rodada de parâmetros de modelo são avaliados. O desaparecimento de eco causará uma redefinição dos parâmetros de modelo e o cancelador de eco automaticamente irá reduzir o número de operações. Essas otimizações reduzem consideravelmente o número de operações computacionais realizado pelo EC.
[0085] Em outras modalidades, se múltiplos ecos estão presentes no sinal recebido (RX) o histograma de atraso tem vários picos. As estimativas para os ecos separados podem ser feitas e eles podem ser subtraídos em sequência da mesma forma. Sobreposição das bandas de eco pode precisar que as funções de transferência separadas sejam mescladas para evitar distorção de um cancelamento de eco com o outro.
[0086] Em pelo menos uma modalidade, o cálculo de similaridade pode ser otimizado, focando-se em bandas de interesse se os sinais de extremidade próximo e extremidade distante tiverem densidade espectral concentrada em regiões específicas. Isto reduz significativamente a sobrecarga computacional devido à natureza altamente repetitiva do cálculo de similaridade ao longo de todo o canal de extremidade distante, um aspecto que pode se tornar muito importante quando são feitas pesquisas para longos atrasos.
[0087] Embora a invenção tenha sido ilustrada e descrita em detalhes nas figuras e descrição acima, a mesma é para ser considerada como ilustrativa e não restritiva em caráter, subentendendo-se que somente a modalidade preferencial foi mostrada e descrita e que todas as equivalentes, alterações e modificações que vêm dentro do espírito das invenções conforme descritas neste documento e/ou pelas seguintes reivindicações que deseja-se que sejam protegidas.
[0088] Portanto, o escopo apropriado da presente invenção deve ser determinado apenas pela interpretação mais ampla das reivindicações anexas de modo a abranger todas as tais modificações, bem como todas as relações equivalentes àquelas ilustradas nas figuras e descritas na especificação.
[0089] Embora duas reivindicações muito estreitas sejam apresentadas neste documento, deve-se reconhecer que o escopo da presente invenção é muito mais amplo do que apresentado pelas reivindicações. Pretende-se que as reivindicações mais amplas sejam submetidas em um pedido que reivindica o benefício de prioridade deste pedido.
Claims (11)
1. Método de cancelamento de eco acústico, compreendendo as etapas de: a. transformar um sinal de áudio a partir do domínio de tempo para o domínio de frequência usando a Transformada Rápida de Fourier; b. inicializar parâmetros do modelo de eco; c. analisar o dito sinal de áudio para o discurso; d. detectar a presença de discurso no sinal de áudio; e. estimar o atraso de eco no sinal de áudio e validar o dito modelo de eco para o sinal de áudio; f. detectar a presença de eco no sinal de áudio; g. detectar a presença de algaravia no sinal de áudio; h. determinar parâmetros para pelo menos um dentre: eco com algaravia e eco; i. subtrair o eco do sinal de áudio; j. atualizar o dito modelo de eco e determinar se o eco ainda está presente; k. determinar se a presença de eco é reduzida no sinal de áudio, caracterizado pelo fato de que: a etapa de subtrair o eco adicionalmente compreende a etapa de aplicar uma função de transferência a um sinal de extremidade distante; a função de transferência é determinada por uma função de uma razão de sinais de extremidade próximo e de extremidade distante em um domínio espectral e analisar um histograma; o analisar um histograma compreende as etapas de: armazenar estatísticas de parâmetros modelo em uma memória circular para um número de quadros; determinar um atraso de eco usando bandas de frequência; analisar o dito histograma para distribuições multimodais; e extrair eco onde há distribuição multimodal presente.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa (k) compreende adicionalmente a etapa de repetir o método da reivindicação 1, se estiver determinado que o eco será reduzido.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa (k) adicionalmente compreende a etapa de repetir o método da reivindicação 1, a partir da etapa (f), se estiver determinado que o eco não será reduzido.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de análise do sinal de áudio para o discurso adicionalmente compreende a etapa de determinar se o nível de sinal no sinal de áudio atende um limiar.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de análise de áudio para o discurso adicionalmente compreende a etapa de análise de variabilidade em um espectro de quadros consecutivos e em uma potência de sinal estimada.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de detectar a presença de discurso é realizada por um ou mais dentre: detector de discurso de extremidade próximo, detector de discurso de extremidade distante, e detector de algaravia.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de estimar atraso de eco e validar um modelo de eco adicionalmente compreende as etapas de: a. medir e somar uma distância para cada quadro do áudio, em que a distância é uma distância entre um vetor de espectro de extremidade distante e um vetor de espectro de extremidade próximo para os quadros consecutivos; b. estimar o atraso de eco matematicamente; e c. validar a estimativa usando um método estatístico.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que a etapa de estimativa do atraso de eco é realizada usando uma expressão matemática para a medição de similaridade, em que a expressão matemática compreende: em que i representa um índice que varia de 1 a N-K para cada comparação de um sinal de extremidade próximo com um sinal de extremidade distante, N representa um número predeterminado de quadros representando um bloco de sinais de áudio, K representa um número predeterminado de quadros mais recentes do sinal de extremidade próximo, N-K representa um número de comparações entre K quadros mais recentes dos sinais de extremidade próximo e de extremidade distante; ExtremidadePróx(m) representa uma medida para o sinal de extremidade próximo para o quadro m mais recente e ExtremidadeDist(m+1) representa uma medida para o sinal de extremidade distante para o quadro m+1 mais recente.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que a etapa de determinar se o eco está presente adicionalmente compreende a etapa de determinar que o eco está presente se a medição de similaridade atende um limiar.
10. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de detectar a presença de algaravia adicionalmente compreende a etapa de determinar que um nível de sinal acima do nível de eco está presente, o discurso de extremidade próximo está presente, e o discurso de extremidade distante está presente.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que o nível de sinal é 3dB.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261717156P | 2012-10-23 | 2012-10-23 | |
US61/717,156 | 2012-10-23 | ||
PCT/US2013/066144 WO2014066367A1 (en) | 2012-10-23 | 2013-10-22 | System and method for acoustic echo cancellation |
Publications (2)
Publication Number | Publication Date |
---|---|
BR112015007306A2 BR112015007306A2 (pt) | 2020-04-22 |
BR112015007306B1 true BR112015007306B1 (pt) | 2022-10-18 |
Family
ID=50485330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112015007306-9A BR112015007306B1 (pt) | 2012-10-23 | 2013-10-22 | Método de cancelamento de eco acústico |
Country Status (9)
Country | Link |
---|---|
US (1) | US9628141B2 (pt) |
EP (1) | EP2912833B1 (pt) |
JP (1) | JP6291501B2 (pt) |
AU (3) | AU2013334829B2 (pt) |
BR (1) | BR112015007306B1 (pt) |
CA (2) | CA3073412C (pt) |
CL (1) | CL2015001037A1 (pt) |
NZ (1) | NZ706162A (pt) |
WO (1) | WO2014066367A1 (pt) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051818B (zh) * | 2012-12-20 | 2014-10-29 | 歌尔声学股份有限公司 | 一种用于小型免提语音通讯***中的回声消除装置和方法 |
US9270830B2 (en) | 2013-08-06 | 2016-02-23 | Telefonaktiebolaget L M Ericsson (Publ) | Echo canceller for VOIP networks |
US9420114B2 (en) * | 2013-08-06 | 2016-08-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Echo canceller for VOIP networks |
US9100090B2 (en) * | 2013-12-20 | 2015-08-04 | Csr Technology Inc. | Acoustic echo cancellation (AEC) for a close-coupled speaker and microphone system |
US9787354B2 (en) * | 2014-10-29 | 2017-10-10 | FreeWave Technologies, Inc. | Pre-distortion of receive signal for interference mitigation in broadband transceivers |
US10033511B2 (en) | 2014-10-29 | 2018-07-24 | FreeWave Technologies, Inc. | Synchronization of co-located radios in a dynamic time division duplex system for interference mitigation |
US10149263B2 (en) | 2014-10-29 | 2018-12-04 | FreeWave Technologies, Inc. | Techniques for transmitting/receiving portions of received signal to identify preamble portion and to determine signal-distorting characteristics |
US9819446B2 (en) | 2014-10-29 | 2017-11-14 | FreeWave Technologies, Inc. | Dynamic and flexible channel selection in a wireless communication system |
US10367949B2 (en) * | 2015-11-16 | 2019-07-30 | Mitsubishi Electric Corporation | Echo canceller device and voice telecommunications device |
US10225395B2 (en) * | 2015-12-09 | 2019-03-05 | Whatsapp Inc. | Techniques to dynamically engage echo cancellation |
KR101842777B1 (ko) * | 2016-07-26 | 2018-03-27 | 라인 가부시키가이샤 | 음질 개선 방법 및 시스템 |
DE102016119471A1 (de) * | 2016-10-12 | 2018-04-12 | Deutsche Telekom Ag | Verfahren und Vorrichtungen zur Echoreduzierung und zur Funktionsprüfung von Echokompensatoren |
US20200045166A1 (en) * | 2017-03-08 | 2020-02-06 | Mitsubishi Electric Corporation | Acoustic signal processing device, acoustic signal processing method, and hands-free communication device |
CN109215672B (zh) * | 2017-07-05 | 2021-11-16 | 苏州谦问万答吧教育科技有限公司 | 一种声音信息的处理方法、装置及设备 |
WO2019008733A1 (ja) * | 2017-07-07 | 2019-01-10 | ヤマハ株式会社 | 遠隔会話装置、ヘッドセット、遠隔会話システム、遠隔会話方法 |
CN108198551A (zh) * | 2018-01-15 | 2018-06-22 | 深圳前海黑鲸科技有限公司 | 回声消除延时的处理方法及装置 |
KR20200033617A (ko) | 2018-09-20 | 2020-03-30 | 현대자동차주식회사 | 차량용 음성 인식 장치 및 그 제어 방법 |
CN110687523B (zh) * | 2019-08-29 | 2023-07-11 | 中国科学技术大学 | 一种障碍物检测***、方法及存储介质 |
CN111402868B (zh) * | 2020-03-17 | 2023-10-24 | 阿波罗智联(北京)科技有限公司 | 语音识别方法、装置、电子设备及计算机可读存储介质 |
US11122160B1 (en) * | 2020-07-08 | 2021-09-14 | Lenovo (Singapore) Pte. Ltd. | Detecting and correcting audio echo |
CN111933166B (zh) * | 2020-07-31 | 2024-01-26 | 广州视源电子科技股份有限公司 | 回声抑制方法、装置、存储介质和电子设备 |
CN113724722B (zh) * | 2021-08-18 | 2023-12-26 | 杭州网易智企科技有限公司 | 回声延迟估计方法、装置、存储介质和计算设备 |
CN114650340A (zh) | 2022-04-21 | 2022-06-21 | 深圳市中科蓝讯科技股份有限公司 | 一种回声消除方法、装置及电子设备 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450484A (en) * | 1993-03-01 | 1995-09-12 | Dialogic Corporation | Voice detection |
SG71035A1 (en) * | 1997-08-01 | 2000-03-21 | Bitwave Pte Ltd | Acoustic echo canceller |
DE19831320A1 (de) | 1998-07-13 | 2000-01-27 | Ericsson Telefon Ab L M | Digitales adaptives Filter und akustischer Echokompensator |
US6792107B2 (en) * | 2001-01-26 | 2004-09-14 | Lucent Technologies Inc. | Double-talk detector suitable for a telephone-enabled PC |
US7236929B2 (en) * | 2001-05-09 | 2007-06-26 | Plantronics, Inc. | Echo suppression and speech detection techniques for telephony applications |
US7155018B1 (en) * | 2002-04-16 | 2006-12-26 | Microsoft Corporation | System and method facilitating acoustic echo cancellation convergence detection |
GB2389286A (en) * | 2002-05-28 | 2003-12-03 | Mitel Knowledge Corp | Echo cancellation |
JP4155774B2 (ja) | 2002-08-28 | 2008-09-24 | 富士通株式会社 | エコー抑制システム及び方法 |
US7420937B2 (en) | 2002-12-23 | 2008-09-02 | Broadcom Corporation | Selectively adaptable far-end echo cancellation in a packet voice system |
EP1443498B1 (en) * | 2003-01-24 | 2008-03-19 | Sony Ericsson Mobile Communications AB | Noise reduction and audio-visual speech activity detection |
JP4403776B2 (ja) | 2003-11-05 | 2010-01-27 | 沖電気工業株式会社 | エコーキャンセラ |
WO2006087813A1 (ja) | 2005-02-21 | 2006-08-24 | Fujitsu Limited | エコーキャンセラ |
US7852950B2 (en) | 2005-02-25 | 2010-12-14 | Broadcom Corporation | Methods and apparatuses for canceling correlated noise in a multi-carrier communication system |
US7856098B1 (en) | 2005-09-15 | 2010-12-21 | Mindspeed Technologies, Inc. | Echo cancellation and control in discrete cosine transform domain |
CN1984102A (zh) * | 2005-12-13 | 2007-06-20 | 华为技术有限公司 | 一种电学回声消除装置和方法 |
US7792281B1 (en) * | 2005-12-13 | 2010-09-07 | Mindspeed Technologies, Inc. | Delay estimation and audio signal identification using perceptually matched spectral evolution |
US7852792B2 (en) * | 2006-09-19 | 2010-12-14 | Alcatel-Lucent Usa Inc. | Packet based echo cancellation and suppression |
JP4916394B2 (ja) | 2007-07-03 | 2012-04-11 | 富士通株式会社 | エコー抑圧装置、エコー抑圧方法及びコンピュータプログラム |
JP2009207021A (ja) * | 2008-02-29 | 2009-09-10 | Yamaha Corp | 音響エコーキャンセラ |
US8310937B2 (en) | 2008-05-28 | 2012-11-13 | Centurylink Intellectual Property Llc | Voice packet dynamic echo cancellation system |
US8600038B2 (en) * | 2008-09-04 | 2013-12-03 | Qualcomm Incorporated | System and method for echo cancellation |
JP2010118793A (ja) * | 2008-11-11 | 2010-05-27 | Oki Electric Ind Co Ltd | 伝搬遅延時間推定器、プログラム及び方法、並びにエコーキャンセラ |
JP5332733B2 (ja) | 2009-03-03 | 2013-11-06 | 沖電気工業株式会社 | エコーキャンセラ |
US8824666B2 (en) | 2009-03-09 | 2014-09-02 | Empire Technology Development Llc | Noise cancellation for phone conversation |
US20110013766A1 (en) | 2009-07-15 | 2011-01-20 | Dyba Roman A | Method and apparatus having echo cancellation and tone detection for a voice/tone composite signal |
RU2011103938A (ru) * | 2011-02-03 | 2012-08-10 | ЭлЭсАй Корпорейшн (US) | Управление акустическими эхо-сигналами на основе временной области |
-
2013
- 2013-10-22 BR BR112015007306-9A patent/BR112015007306B1/pt active IP Right Grant
- 2013-10-22 NZ NZ706162A patent/NZ706162A/en unknown
- 2013-10-22 AU AU2013334829A patent/AU2013334829B2/en active Active
- 2013-10-22 US US14/060,141 patent/US9628141B2/en active Active
- 2013-10-22 WO PCT/US2013/066144 patent/WO2014066367A1/en active Application Filing
- 2013-10-22 EP EP13849528.8A patent/EP2912833B1/en active Active
- 2013-10-22 CA CA3073412A patent/CA3073412C/en active Active
- 2013-10-22 JP JP2015539713A patent/JP6291501B2/ja active Active
- 2013-10-22 CA CA2888894A patent/CA2888894C/en active Active
-
2015
- 2015-04-22 CL CL2015001037A patent/CL2015001037A1/es unknown
-
2017
- 2017-05-08 AU AU2017203053A patent/AU2017203053B2/en active Active
- 2017-10-10 AU AU2017245314A patent/AU2017245314B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CA3073412C (en) | 2022-05-24 |
CA3073412A1 (en) | 2014-05-01 |
CL2015001037A1 (es) | 2015-08-21 |
JP2016502779A (ja) | 2016-01-28 |
AU2013334829B2 (en) | 2017-06-15 |
CA2888894C (en) | 2021-08-17 |
AU2017245314A1 (en) | 2017-11-02 |
JP6291501B2 (ja) | 2018-03-14 |
AU2013334829A1 (en) | 2015-04-09 |
NZ706162A (en) | 2018-07-27 |
AU2017203053A1 (en) | 2017-06-01 |
CA2888894A1 (en) | 2014-05-01 |
AU2017203053B2 (en) | 2017-07-13 |
US20140112467A1 (en) | 2014-04-24 |
BR112015007306A2 (pt) | 2020-04-22 |
WO2014066367A8 (en) | 2014-07-31 |
US9628141B2 (en) | 2017-04-18 |
EP2912833B1 (en) | 2017-06-21 |
AU2017245314B2 (en) | 2019-04-11 |
WO2014066367A1 (en) | 2014-05-01 |
EP2912833A1 (en) | 2015-09-02 |
EP2912833A4 (en) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2017245314B2 (en) | System and method for acoustic echo cancellation | |
US9832569B1 (en) | Multichannel acoustic echo cancellation with unique individual channel estimations | |
US8098812B2 (en) | Method of controlling an adaptation of a filter | |
EP2868073B1 (en) | Echo control through hidden audio signals | |
US8014519B2 (en) | Cross-correlation based echo canceller controllers | |
US20040001450A1 (en) | Monitoring and control of an adaptive filter in a communication system | |
US9773510B1 (en) | Correcting clock drift via embedded sine waves | |
US10367949B2 (en) | Echo canceller device and voice telecommunications device | |
WO2012158163A1 (en) | Non-linear post-processing for acoustic echo cancellation | |
US9918163B1 (en) | Asynchronous clock frequency domain acoustic echo canceller | |
KR20080026073A (ko) | 신호 처리 장치 및 방법과 컴퓨터 판독가능 매체 | |
WO2012158168A1 (en) | Clock drift compensation method and apparatus | |
Bershad et al. | Fast coupled adaptation for sparse impulse responses using a partial Haar transform | |
US8009825B2 (en) | Signal processing | |
US7711107B1 (en) | Perceptual masking of residual echo | |
US10498389B2 (en) | Echo canceller device and voice telecommunications device | |
CN106716853B (zh) | Dsl向量化***中的方法和布置 | |
Dyba | Parallel structures for fast estimation of echo path pure delay and their applications to sparse echo cancellers | |
KR100431965B1 (ko) | 시변 적응알고리즘이 적용된 음향반향 제거장치 및 그 방법 | |
EP3076601B1 (en) | Method and device for predicting the attainable bitrate of a telecommunication line | |
KR20230087525A (ko) | 가변 피치 에코 제거를 위한 방법 및 디바이스 | |
Nguyen Ngoc et al. | Implementation of the LMS and NLMS algorithms for Acoustic Echo Cancellationin teleconference systemusing MATLAB | |
Kmita | Echo cancellation in VoIP using digital adaptive filters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
B15K | Others concerning applications: alteration of classification |
Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04M 9/08 , H04M 1/24 Ipc: H04B 3/23 (2006.01), H04M 9/08 (2006.01), G10L 21/ |
|
B350 | Update of information on the portal [chapter 15.35 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B08F | Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette] |
Free format text: REFERENTE A 9A ANUIDADE. |
|
B08G | Application fees: restoration [chapter 8.7 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 22/10/2013, OBSERVADAS AS CONDICOES LEGAIS |