JP2017098861A - Echo canceller and echo cancellation method - Google Patents

Echo canceller and echo cancellation method Download PDF

Info

Publication number
JP2017098861A
JP2017098861A JP2015231312A JP2015231312A JP2017098861A JP 2017098861 A JP2017098861 A JP 2017098861A JP 2015231312 A JP2015231312 A JP 2015231312A JP 2015231312 A JP2015231312 A JP 2015231312A JP 2017098861 A JP2017098861 A JP 2017098861A
Authority
JP
Japan
Prior art keywords
echo
delay time
filter
evaluation value
signal
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.)
Pending
Application number
JP2015231312A
Other languages
Japanese (ja)
Inventor
博貴 齋
Hirotaka Sai
博貴 齋
徳 塚田
Toku Tsukada
徳 塚田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2015231312A priority Critical patent/JP2017098861A/en
Publication of JP2017098861A publication Critical patent/JP2017098861A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Telephone Function (AREA)

Abstract

PROBLEM TO BE SOLVED: To determine a delay time of an echo signal in a short time with high accuracy to effectively erase an echo even under an environment where the delay time of the echo signal is unknown or a change in the delay time easily occurs.SOLUTION: An echo canceller 10 comprises: a correlation processing part 103 for calculating cross correlation between an input signal (reception signal) from a far end and an echo signal (transmission signal) reflected by a hybrid circuit or the like; a statistical processing part 104 for determining a delay time based on a cross correlation value and an evaluation value of the delay time: a filter monitoring part 107 for monitoring a filter coefficient of an adaptive filter 106, and for reflecting a monitor result on the evaluation value; a delay processing part 108 for delaying the reception signal in accordance with the determined delay time, and for inputting the reception signal to echo removal means; and an echo erasure part 130 for estimating a pseudo echo from the reception signal, and for subtracting the pseudo echo from the transmission signal. Thus, it is possible to use even a change in the filter coefficient of the adaptive filter generated when the delay time of an echo changes for a determination factor of the delay time, and to determine the delay time in a shorter time.SELECTED DRAWING: Figure 1

Description

本発明は、エコーキャンセラに係り、特に、電話網等で発生するエコーを消去するためのエコーキャンセラに関する。   The present invention relates to an echo canceller, and more particularly to an echo canceller for canceling echo generated in a telephone network or the like.

電話網では、電話機から加入者線(2線:双方向)と中継線(4線:片方向ずつ(2線)が独立に2つ)との間を、ハイブリッドと呼ばれる2線−4線変換回路で接続して2つの電話機間の通話が行われる。しかし、このようなハイブリッドを用いたシステムではインピーダンス不整合により、通話相手から受信した信号が自電話機のハイブリッドで反射し、通話相手に回り込むエコーが発生する。エコーは遅延を伴って通話相手に聞こえることとなり、通話に支障をきたすことから、エコーを消去する必要があった。   In a telephone network, a two-wire to four-wire conversion called a hybrid is performed between a telephone line and a subscriber line (two lines: two-way) and a trunk line (four lines: two one-way (two lines) independently). A call is made between two telephones connected by a circuit. However, in a system using such a hybrid, due to impedance mismatching, a signal received from the other party is reflected by the hybrid of the own telephone, and an echo that goes around to the other party is generated. Since the echo is heard by the other party with a delay and interferes with the call, it is necessary to cancel the echo.

特開2004−297236号公報JP 2004-297236 A

図16は、従来のエコーキャンセラの構成を示す。エコーキャンセラは、ハイブリッド回路の近傍に設置され、近端側の電話機の対向である遠端側の電話機に戻るエコー信号をキャンセルする。
エコーキャンセラ1は、通常、適応フィルタ2を備えている。適応フィルタ2は、遠端側の話者からの受信信号x(n)に対して畳み込み演算を行い、疑似エコー信号y’(n)を生成する。エコーキャンセラ1は、エコーを含んだ遠端話者への送信信号y(n)から疑似エコー信号y’(n)を減算することにより該エコーを除去して出力送信信号z(n)を得る。ここでn(n=1、2、3、...)は時間軸上のサンプル点であり、信号が離散信号であることを示す。
適応フィルタ2は、通常、FIR(Finite Impulse Response Filter)フィルタによって実現される。FIRフィルタの出力y’(n)は、時間軸上のサンプルnのそれぞれにおける単位インパルス応答に相当する複数のフィルタ係数h(i)(i=1、2、3...)と入力x(n−i+1)との積の総和、すなわち畳み込み加算により表される。そして、各フィルタ係数を推定するための適応アルゴリズムには、LMS(least mean square)や学習同定法等のアルゴリズムが用いられる。なお、適応信号処理、音響エコーキャンセラに関する一般的な技術は、電子情報通信学会、1群9編 信号・システム 3章 適応信号処理、及び、2群6編 音響信号処理 5章、音響エコーキャンセラ等に開示されている。
FIG. 16 shows the configuration of a conventional echo canceller. The echo canceller is installed in the vicinity of the hybrid circuit, and cancels an echo signal that returns to the far-end phone that is opposite to the near-end phone.
The echo canceller 1 normally includes an adaptive filter 2. The adaptive filter 2 performs a convolution operation on the received signal x (n) from the far-end speaker to generate a pseudo echo signal y ′ (n). The echo canceller 1 subtracts the pseudo echo signal y ′ (n) from the transmission signal y (n) to the far-end speaker including the echo to remove the echo and obtain an output transmission signal z (n). . Here, n (n = 1, 2, 3,...) Is a sampling point on the time axis, and indicates that the signal is a discrete signal.
The adaptive filter 2 is usually realized by an FIR (Finite Impulse Response Filter) filter. The output y ′ (n) of the FIR filter includes a plurality of filter coefficients h (i) (i = 1, 2, 3,...) Corresponding to a unit impulse response in each of the samples n on the time axis and an input x ( n−i + 1) and the sum of products, ie, convolutional addition. As an adaptive algorithm for estimating each filter coefficient, an algorithm such as a LMS (least mean square) or a learning identification method is used. The general techniques for adaptive signal processing and acoustic echo canceller are as follows: The Institute of Electronics, Information and Communication Engineers, 1 group, 9 editions, Signal / System, 3 chapters, Adaptive signal processing, 2 groups, 6 editions, Acoustic signal processing, Chapter 5, Acoustic echo canceller, etc. Is disclosed.

一例として、128タップのFIRフィルタで構成される適応フィルタでは、各フィルタ係数の利得を調整して受信信号x(n)から擬似エコー信号を作成し、エコーキャンセラ内でエコーを消去する。8kHzでサンプルされた受信信号xを考えた場合、128×125μSec.=16mSec.迄の遅延を持つエコーを消去することが可能である。
一方で、上述のタップ数のエコーキャンセラでは16mSec.以上遅延するエコーについては十分な消去量を見込むことはできない。このようなエコーは、エコーキャンセラに入力する信号に固定的な遅延を持たせることで消去することができるが、この場合、事前に遅延時間がわかっていないとエコーを効果的に消去できない。さらに、遅延時間が変化した場合(例えば、エコー路に変化があった場合等)にはエコーを効果的に消去できないという課題がある。なお、通信時間が変化する例として、ハイブリッド回路が交換されること、音声変換等の処理を実行するソフトウェアが変更又は更新されること、音声変換等の機能の一部が適用される/されないなど切り替わることなどがあげられる。
As an example, in an adaptive filter composed of a 128-tap FIR filter, the gain of each filter coefficient is adjusted to create a pseudo echo signal from the received signal x (n), and the echo is canceled in the echo canceller. Considering a received signal x sampled at 8 kHz, 128 × 125 μSec. = 16 mSec. It is possible to cancel echoes with delays up to.
On the other hand, 16 mSec. A sufficient amount of erasure cannot be expected for echoes that are delayed as described above. Such an echo can be eliminated by giving a fixed delay to the signal input to the echo canceller. In this case, the echo cannot be effectively eliminated unless the delay time is known in advance. Furthermore, there is a problem that when the delay time changes (for example, when the echo path changes), the echo cannot be effectively erased. In addition, as an example in which the communication time changes, a hybrid circuit is exchanged, software that performs processing such as voice conversion is changed or updated, and some functions such as voice conversion are applied / not applied. For example, switching.

特許文献1では、遠端の電話機から入力される信号とエコー信号の相互相関から遅延時間を推定し、ヒストグラムを用いて頻度が最大となる遅延時間をエコーキャンセラへ入力する信号として適用する。しかし、特許文献1の技術では、遅延時間の決定に相互相関に基づく値の積算値を用いており、遅延時間に変化が発生した場合、遅延時間が変更されるまで時間がかかる場合があり、その間エコーの消去性能が劣化する課題があった。
本発明は、以上の点に鑑み、エコー信号の遅延時間が不明又は遅延時間に変化が生じてもエコーを消去するエコーキャンセラを提供することを目的とする。
In Patent Document 1, a delay time is estimated from a cross-correlation between a signal input from a far-end telephone and an echo signal, and the delay time having the maximum frequency is applied as a signal to be input to an echo canceller using a histogram. However, the technique of Patent Document 1 uses an integrated value of values based on cross-correlation to determine the delay time, and when the delay time changes, it may take time until the delay time is changed. Meanwhile, there was a problem that the echo cancellation performance deteriorated.
In view of the above, an object of the present invention is to provide an echo canceller that cancels echoes even when the delay time of an echo signal is unknown or changes occur in the delay time.

本発明の第1の解決手段によると、
適応フィルタを用いて遠端側への送信信号に含まれるエコー信号を消去するエコー消去部と、
遠端側からの受信信号と遠端側への送信信号の一方を、所定時間ずつシフトさせながら両信号の相互相関を求め、該相互相関に基づき、受信信号に対する遅延時間の候補を複数求める相関処理部と、
求められた相互相関の履歴に基づき、遅延時間の候補に対する評価値を求める統計処理部と、
前記統計処理部により求められた評価値を遅延時間と対応して記憶する記憶部と、
前記記憶部に記憶された評価値に基づいて遅延時間の候補のひとつを選択し、選択された遅延時間に従い受信信号を遅延させて前記適応フィルタへ出力する遅延処理部と、
前記適応フィルタのフィルタ係数又は前記エコー消去部でのエコー消去量を監視し、監視結果に応じて前記記憶部に記憶された評価値を変更するフィルタ監視部と
を備えたエコーキャンセラが提供される。
According to the first solution of the present invention,
An echo canceler for canceling an echo signal included in the transmission signal to the far end side using an adaptive filter;
Correlation for obtaining a plurality of delay time candidates for a received signal based on the cross-correlation by obtaining one of the received signal from the far end and the transmission signal to the far end while shifting one signal at a time. A processing unit;
A statistical processing unit for obtaining an evaluation value for a delay time candidate based on the obtained cross-correlation history;
A storage unit for storing the evaluation value obtained by the statistical processing unit in correspondence with the delay time;
A delay processing unit that selects one of delay time candidates based on the evaluation value stored in the storage unit, delays a received signal according to the selected delay time, and outputs the delayed signal to the adaptive filter;
There is provided an echo canceller comprising a filter monitoring unit that monitors a filter coefficient of the adaptive filter or an echo cancellation amount in the echo cancellation unit and changes an evaluation value stored in the storage unit according to a monitoring result. .

本発明の第2の解決手段によると、
適応フィルタを用いて遠端側への送信信号に含まれるエコー信号を消去するエコーキャンセル方法であって、
遠端側からの受信信号と遠端側への送信信号の一方を、所定時間ずつシフトさせながら両信号の相互相関を求め、該相互相関に基づき、受信信号に対する遅延時間の候補を複数求め、
求められた相互相関の履歴に基づき、遅延時間の候補に対する評価値を求め、
求められた評価値を遅延時間と対応して記憶し、
記憶された評価値に基づいて遅延時間の候補のひとつを選択し、選択された遅延時間に従い受信信号を遅延させて適応フィルタへ出力し、
適応フィルタのフィルタ係数又はエコー消去量を監視し、監視結果に応じて記憶された評価値を低減させるエコーキャンセル方法が提供される。
According to the second solution of the present invention,
An echo cancellation method for canceling an echo signal included in a transmission signal to a far end side using an adaptive filter,
One of the received signal from the far end side and the transmission signal to the far end side is shifted by a predetermined time to obtain the cross-correlation of both signals, and based on the cross-correlation, a plurality of delay time candidates for the received signal are obtained,
Based on the obtained cross-correlation history, obtain an evaluation value for the delay time candidate,
The obtained evaluation value is stored in correspondence with the delay time,
Select one of the delay time candidates based on the stored evaluation value, delay the received signal according to the selected delay time, and output to the adaptive filter,
An echo cancellation method is provided that monitors the filter coefficient or echo cancellation amount of an adaptive filter and reduces the stored evaluation value in accordance with the monitoring result.

本発明によると、エコー信号の遅延時間が不明又は遅延時間に変化が生じてもエコーを消去するエコーキャンセラを提供することができる。   According to the present invention, it is possible to provide an echo canceller that cancels an echo even if the delay time of the echo signal is unknown or a change occurs in the delay time.

本発明の実施の形態におけるエコーキャンセラの構成例を示すブロック図である。It is a block diagram which shows the structural example of the echo canceller in embodiment of this invention. エコーキャンセラのハードウェア構成図である。It is a hardware block diagram of an echo canceller. エコーキャンセラの動作概要を示す動作フロー図である。It is an operation | movement flowchart which shows the operation | movement outline | summary of an echo canceller. バッファの説明図である。It is explanatory drawing of a buffer. 相関処理の詳細動作例を示す動作フロー図である。It is an operation | movement flowchart which shows the detailed operation example of a correlation process. 相関処理により取得する相互相関と遅延時間の関係を表すグラフである。It is a graph showing the relationship between the cross correlation acquired by a correlation process, and delay time. 管理テーブルの例である。It is an example of a management table. 統計処理の詳細動作例を示す動作フロー図である。It is an operation | movement flowchart which shows the detailed operation example of a statistical process. 遅延処理の詳細動作例を示す動作フロー図である。It is an operation | movement flowchart which shows the detailed operation example of a delay process. フィルタ監視処理の詳細動作例を示す動作フロー図である。It is an operation | movement flowchart which shows the detailed operation example of a filter monitoring process. 評価値加減処理の詳細動作例を示す動作フロー図である。It is an operation | movement flowchart which shows the detailed operation example of evaluation value addition / subtraction processing. 評価値が低減された管理テーブルの例である。It is an example of the management table with which the evaluation value was reduced. 実施例2におけるフィルタ監視処理の詳細動作例を示す動作フロー図である。FIG. 10 is an operation flowchart illustrating a detailed operation example of filter monitoring processing in the second embodiment. 実施例3におけるフィルタ監視処理の詳細動作例を示す動作フロー図である。FIG. 10 is an operation flowchart illustrating a detailed operation example of filter monitoring processing in the third embodiment. 本発明の変形例における電話会議システムの概略構成図である。It is a schematic block diagram of the telephone conference system in the modification of this invention. 従来のエコーキャンセラの構成例を示すブロック図である。It is a block diagram which shows the structural example of the conventional echo canceller.

(実施例1)
図1は、本実施の形態におけるエコーキャンセラ10の構成を示すブロック図である。図1はエコーキャンセラ10の論理的な構成を示すものであり、後述するプロセッサ(CPU)及びメモリ等のハートウェア構成によって実現される。
エコーキャンセラ10は、図16に示すエコーキャンセラ1と同様に、遠端電話機からの信号(Rin)を受信し、遠端電話機へ信号(Sout)を送信する。また、エコーキャンセラ10は、近端電話機からの信号(Sin)を例えばハイブリッド回路を介して受信し、近端電話機への信号(Rout)を例えばハイブリッド回路に出力することで近端電話機へ送信する。エコーキャンセラ10は、例えば通信装置に備えられることができる。
エコーキャンセラ10は、例えば、遠端電話機からの受信信号x(n)、および遅延したエコーを含む遠端電話機への送信信号y(n)をバッファへコピーするバッファ処理部100と、遠端電話機からの受信信号を蓄積する受信バッファ101と、遅延したエコー信号を含む遠端電話機への送信信号を蓄積する送信バッファ102と、受信バッファ101と送信バッファ102に蓄積された信号の相互相関から遅延時間の候補を選定する相関処理部103と、相関処理部103の出力結果として得られる相互相関並びに遅延時間に対する統計処理を行い、および遅延時間の妥当性を評価し評価値を決定する統計処理部104と、統計処理部104の出力結果として得られる相互相関、遅延時間及び評価値を記憶する管理テーブル(記憶部)105と、エコー消去手段として用いる適応フィルタ106と、適応フィルタ106のフィルタ係数およびエコー消去量を監視し、管理テーブル105に記憶される遅延時間の評価値を監視結果に基づき加減するフィルタ監視部107と、データ線路110から入力される音声を、管理テーブル108に記憶される遅延時間のうち評価値が高い遅延時間だけ遅延させて適応フィルタ106へ出力する遅延処理部108と、エコーを含む遠端電話機への送信信号y(n)から疑似エコー信号を減算してエコーを消去する減算器109と、遠端電話機から近端電話機への論理的なデータ線路110と、近端電話機から遠端電話機への論理的なデータ線路120とを備える。適応フィルタ106と減算器109がエコー消去部130を構成する。
Example 1
FIG. 1 is a block diagram showing a configuration of an echo canceller 10 in the present embodiment. FIG. 1 shows a logical configuration of the echo canceller 10, which is realized by a heartware configuration such as a processor (CPU) and a memory which will be described later.
Similarly to the echo canceller 1 shown in FIG. 16, the echo canceller 10 receives a signal (Rin) from the far-end telephone and transmits a signal (Sout) to the far-end telephone. The echo canceller 10 receives a signal (Sin) from the near-end phone via, for example, a hybrid circuit, and outputs a signal (Rout) to the near-end phone, for example, to the hybrid circuit to transmit it to the near-end phone. . The echo canceller 10 can be provided in a communication device, for example.
The echo canceller 10 includes, for example, a buffer processing unit 100 that copies a reception signal x (n) from a far-end telephone and a transmission signal y (n) to the far-end telephone including a delayed echo, and a far-end telephone. Receive buffer 101 for accumulating received signals, transmit buffer 102 for accumulating transmission signals to the far-end telephone including delayed echo signals, and delay from cross-correlation of signals accumulated in receive buffer 101 and transmit buffer 102 Correlation processing unit 103 for selecting time candidates, statistical processing unit for performing statistical processing on cross-correlation and delay time obtained as an output result of correlation processing unit 103, and evaluating the validity of delay time and determining an evaluation value 104 and a management table (storage unit) that stores the cross-correlation, delay time, and evaluation value obtained as an output result of the statistical processing unit 104 05, an adaptive filter 106 used as echo cancellation means, a filter coefficient of the adaptive filter 106 and an echo cancellation amount, and a filter monitoring unit 107 that adjusts the evaluation value of the delay time stored in the management table 105 based on the monitoring result. A delay processing unit 108 that delays audio input from the data line 110 by a delay time having a high evaluation value out of the delay times stored in the management table 108, and outputs to the adaptive filter 106, and a far end including an echo A subtractor 109 that subtracts a pseudo echo signal from a transmission signal y (n) to the telephone to cancel the echo, a logical data line 110 from the far-end telephone to the near-end telephone, and a near-end telephone to the far-end telephone And a logical data line 120. The adaptive filter 106 and the subtractor 109 constitute an echo canceling unit 130.

以下、各ブロックについて、説明する。
バッファ処理部100は、遠端電話機から受信した受信信号を受信バッファ101蓄積する。また、バッファ処理部100は、遅延したエコー信号を含む遠端電話機への送信信号を送信バッファ102へ蓄積する。
相関処理部103は、受信バッファ101および送信バッファ102に蓄積された受信信号、送信信号の相互相関を算出する。相関処理部103は、相互相関が大きい位置の遅延時間を決定し、後述の統計処理部104に遅延時間の候補として出力する。
統計処理部104は、相関処理部103の出力結果として得られる相互相関及び遅延時間に対し統計的な処理を行い、管理テーブル105に記憶する。統計的な処理を行う理由は、瞬間的には大きく変化する相互相関、遅延時間を平均化することで瞬間的な変化に対するエコーキャンセラの耐性を高めるためである。
Hereinafter, each block will be described.
The buffer processing unit 100 stores the reception signal received from the far-end telephone and the reception buffer 101. Further, the buffer processing unit 100 stores a transmission signal to the far-end telephone including the delayed echo signal in the transmission buffer 102.
The correlation processing unit 103 calculates the cross-correlation between the reception signal and the transmission signal accumulated in the reception buffer 101 and the transmission buffer 102. The correlation processing unit 103 determines a delay time at a position where the cross-correlation is large, and outputs the delay time to the statistical processing unit 104 described later as a delay time candidate.
The statistical processing unit 104 performs statistical processing on the cross-correlation and the delay time obtained as the output result of the correlation processing unit 103 and stores them in the management table 105. The reason for performing the statistical processing is to increase the resistance of the echo canceller to the instantaneous change by averaging the cross-correlation and delay time which change greatly in an instant.

また、統計処理部104は、遅延時間の評価値を算出し、管理テーブル105に記憶する。評価値は、例えば、相互相関に基づいた重みを管理テーブル105が更新される毎に積算する値である。すなわち、過去から現在までの相互相関の履歴が反映される値である。具体的には管理テーブル105に保持される該遅延時間の更新回数が多いほど、また相互相関が大きいほどに該遅延時間は高く評価される。
管理テーブル105は、遅延時間、相互相関及び評価値を対応して記憶する記憶領域である。管理テーブル105は統計処理部104およびフィルタ監視部107によって値が更新される。
適応フィルタ106は、上述の適応フィルタ2で示した従来と同様のエコー消去手段である。
フィルタ監視部107は、適応フィルタ106のフィルタ係数を監視し、適応フィルタ106が想定されるフィルタ係数になっていない場合には管理テーブル105に記憶されている該遅延時間の評価値を低減し、想定するフィルタ係数になっている場合は評価値を増加することで、後述の遅延処理部108が使用する遅延時間の変更を促す。
遅延処理部108は、管理テーブル105に記憶される複数の遅延時間のうち、高い評価値を持つ遅延時間を選択し、該遅延時間だけ遅延させて適応フィルタ106へ出力する。
Further, the statistical processing unit 104 calculates an evaluation value of the delay time and stores it in the management table 105. The evaluation value is, for example, a value that integrates the weight based on the cross correlation every time the management table 105 is updated. That is, the value reflects the history of cross-correlation from the past to the present. Specifically, the delay time is evaluated higher as the number of updates of the delay time held in the management table 105 is larger and the cross-correlation is larger.
The management table 105 is a storage area that stores delay times, cross-correlations, and evaluation values in association with each other. The management table 105 is updated by the statistical processing unit 104 and the filter monitoring unit 107.
The adaptive filter 106 is echo canceling means similar to the conventional one shown by the adaptive filter 2 described above.
The filter monitoring unit 107 monitors the filter coefficient of the adaptive filter 106. If the adaptive filter 106 does not have the assumed filter coefficient, the filter monitoring unit 107 reduces the evaluation value of the delay time stored in the management table 105. When the filter coefficient is assumed, the evaluation value is increased to prompt the change of the delay time used by the delay processing unit 108 described later.
The delay processing unit 108 selects a delay time having a high evaluation value from the plurality of delay times stored in the management table 105, delays the delay time by the delay time, and outputs the delay time to the adaptive filter 106.

図2は、エコーキャンセラ10のハードウェア構成図である。
エコーキャンセラ10は、例えば、プロセッサ21と、メモリ22と、インタフェース23を備える。プロセッサ21は、エコーキャンセラ10の処理を実行する処理部である。メモリ22は、プロセッサ21により実行されて図1に示す各部を実現するプログラムが記憶される。また、メモリ22は、図1に示す受信バッファ101、送信バッファ102、及び、管理テーブル105に相当する記憶領域を有する。
以下、図3〜図13を用いて本実施の形態のエコーキャンセラ10の動作を詳細に説明する。具体的には、8kHzでサンプリングされた信号に対して処理を行い、最大128msまで遅延するエコーを消去する例を説明する。またエコー消去手段として用いる適応フィルタ106には、128タップで最大16ms遅延までのエコーを消去可能なものを想定する。
FIG. 2 is a hardware configuration diagram of the echo canceller 10.
The echo canceller 10 includes, for example, a processor 21, a memory 22, and an interface 23. The processor 21 is a processing unit that executes processing of the echo canceller 10. The memory 22 stores a program that is executed by the processor 21 and implements each unit shown in FIG. The memory 22 has storage areas corresponding to the reception buffer 101, the transmission buffer 102, and the management table 105 shown in FIG.
Hereinafter, the operation of the echo canceller 10 according to the present embodiment will be described in detail with reference to FIGS. Specifically, an example will be described in which processing is performed on a signal sampled at 8 kHz and echoes delayed up to a maximum of 128 ms are eliminated. The adaptive filter 106 used as the echo canceling means is assumed to be capable of canceling echoes of up to 16 ms delay with 128 taps.

図3はエコーキャンセラの動作を示すフロー図である。エコーキャンセラ10は、概略以下のように動作する。
バッファ処理210では、バッファ処理部100が、データ線路110、120から逐次コピーする受信信号及び送信信号を受信バッファ101及び送信バッファ102へそれぞれ蓄積する。
相関処理220では、相関処理部103が、受信バッファ101、送信バッファ102に蓄積された信号の一方を時間方向にずらしながら(遅延時間に相当)、両信号の相互相関を算出し、高い相互相関を持つ遅延時間を複数選定し、統計処理230への入力とする。
統計処理230では、統計処理部104が、相関処理220からの入力に基づき管理テーブル105を更新する。
遅延処理240では、遅延処理部108が、管理テーブル105から高い評価値を持つ遅延時間を取得し、受信信号を該遅延時間分遅らせて適応フィルタ106へ入力する。
エコー消去処理250では、適応フィルタ106が、遅延処理240により遅延させられた受信信号を、従来のエコーキャンセラ2と同一の方法で疑似エコーを作成し、送信信号から減算することでエコーを消去する。
フィルタ監視処理260では、フィルタ監視部107が、適応フィルタ106のフィルタ係数が最大となる位置を監視し、監視結果を評価値加減処理270への入力とする。
評価値加減処理270では、フィルタ監視部107が、フィルタ監視処理260の結果に基づき、フィルタ係数の最大値が適応フィルタ106の前半部分に位置しない場合には、管理テーブル105が持つ遅延時間の評価値を低減する。一方、フィルタ監視部107は、フィルタ係数の最大値が適応フィルタ106の前半部分に位置する場合には、管理テーブル105が持つ遅延時間の評価値を増加する。
FIG. 3 is a flowchart showing the operation of the echo canceller. The echo canceller 10 generally operates as follows.
In the buffer processing 210, the buffer processing unit 100 stores the reception signal and the transmission signal sequentially copied from the data lines 110 and 120 in the reception buffer 101 and the transmission buffer 102, respectively.
In the correlation processing 220, the correlation processing unit 103 calculates the cross-correlation between the two signals while shifting one of the signals accumulated in the reception buffer 101 and the transmission buffer 102 in the time direction (corresponding to the delay time), thereby obtaining a high cross-correlation. A plurality of delay times having “” are selected and used as an input to the statistical processing 230.
In the statistical processing 230, the statistical processing unit 104 updates the management table 105 based on the input from the correlation processing 220.
In the delay processing 240, the delay processing unit 108 acquires a delay time having a high evaluation value from the management table 105, delays the received signal by the delay time, and inputs it to the adaptive filter 106.
In the echo cancellation process 250, the adaptive filter 106 creates a pseudo echo for the received signal delayed by the delay process 240 by the same method as the conventional echo canceller 2, and subtracts the echo from the transmission signal to cancel the echo. .
In the filter monitoring process 260, the filter monitoring unit 107 monitors the position where the filter coefficient of the adaptive filter 106 is maximum, and uses the monitoring result as an input to the evaluation value addition / subtraction process 270.
In the evaluation value addition / subtraction processing 270, the filter monitoring unit 107 evaluates the delay time of the management table 105 when the maximum value of the filter coefficient is not located in the first half of the adaptive filter 106 based on the result of the filter monitoring processing 260. Reduce the value. On the other hand, when the maximum value of the filter coefficient is located in the first half of the adaptive filter 106, the filter monitoring unit 107 increases the evaluation value of the delay time that the management table 105 has.

図4は、バッファの説明図である。本実施例で説明するエコーキャンセラ10は、最大128msまで遅延するエコーを消去することを想定するため、受信バッファ101のサイズRlenを128msに相当する領域とする。また、適応フィルタ106は128タップを想定するため、送信バッファ102のサイズSlenを16msに相当する領域とする。なお、バッファのサイズは、エコー消去の対象とする遅延量及び適応フィルタのタップ数に応じた適宜のサイズとすることができる。
受信バッファ101及び送信バッファ102はそれぞれFIFO(First In First Out)型のバッファであり、新たに信号が入力された場合、バッファの先頭に蓄積された信号(最も過去に蓄積された信号)が破棄され、新たな信号が末尾に蓄積される。
FIG. 4 is an explanatory diagram of the buffer. The echo canceller 10 described in the present embodiment assumes that the echo delayed for a maximum of 128 ms is canceled, so that the size Rlen of the reception buffer 101 is an area corresponding to 128 ms. Since adaptive filter 106 assumes 128 taps, size Slen of transmission buffer 102 is set to an area corresponding to 16 ms. The size of the buffer can be set to an appropriate size according to the delay amount to be subjected to echo cancellation and the number of taps of the adaptive filter.
Each of the reception buffer 101 and the transmission buffer 102 is a FIFO (First In First Out) type buffer. When a new signal is input, the signal accumulated at the head of the buffer (the signal accumulated most recently) is discarded. And a new signal is stored at the end.

図5は、相関処理220の詳細フロー図である。相関処理220では、相関処理部103は、受信バッファ101に蓄積された信号Rに対して、送信バッファ102に蓄積された信号Sを時間方向に逐次ずらしながら、送信信号の遅延時間Delay(i)と、受信信号と送信信号の相互相関CCor(i)を計算する(処理410〜450)。図示の例では、送信バッファ102に蓄積された信号Sを125mSec.づつずらしているが、ずらす値は適宜の値でよい。相関処理部103は、求めた相互相関CCor(i)のうち値が高い相互相関と、対応する遅延時間との組をひとつ又は複数組、統計処理部230に出力する(処理460)。例えば、相互相関が高い方から所定数の組を出力してもよいし、相互相関が予め定められた閾値より大きい組を出力してもよいし、他の予め定められた基準に従い相互相関が比較的高い組を出力してもよい。   FIG. 5 is a detailed flowchart of the correlation process 220. In the correlation processing 220, the correlation processing unit 103 sequentially shifts the signal S stored in the transmission buffer 102 in the time direction with respect to the signal R stored in the reception buffer 101, while delaying the delay time Delay (i) of the transmission signal. Then, the cross-correlation CCor (i) between the received signal and the transmitted signal is calculated (processing 410 to 450). In the illustrated example, the signal S accumulated in the transmission buffer 102 is converted to 125 mSec. Although the values are shifted one by one, the value to be shifted may be an appropriate value. The correlation processing unit 103 outputs one or a plurality of sets of the cross-correlation having a high value among the obtained cross-correlation CCor (i) and the corresponding delay time to the statistical processing unit 230 (processing 460). For example, a predetermined number of pairs having higher cross-correlation may be output, a pair having a cross-correlation larger than a predetermined threshold may be output, or the cross-correlation may be performed according to another predetermined criterion. A relatively high set may be output.

図6は、図5の相関処理220によって得られる相互相関CCor(i)と遅延時間Delay(i)のイメージ図である。本実施例では、一例として、図5におけるi=256(遅延時間32mSec.に相当)及びi=512(遅延時間64mSec.に相当)に該当する相互相関と遅延時間の組(2組)が統計処理230へ出力されることを想定する。   FIG. 6 is an image diagram of the cross-correlation CCor (i) and the delay time Delay (i) obtained by the correlation processing 220 of FIG. In this embodiment, as an example, a set (two sets) of cross-correlation and delay time corresponding to i = 256 (corresponding to a delay time of 32 mSec.) And i = 512 (corresponding to a delay time of 64 mSec.) In FIG. It is assumed that the data is output to the process 230.

図7は、管理テーブル105の一例を示す説明図である。管理テーブル105は、遅延時間D510、相互相関C520及び評価値E530を対応づけて保持する。本実施例では、列番号m=0〜2の3つの配列をもつ管理テーブル500を考える。   FIG. 7 is an explanatory diagram illustrating an example of the management table 105. The management table 105 holds the delay time D510, the cross-correlation C520, and the evaluation value E530 in association with each other. In this embodiment, a management table 500 having three arrays with column numbers m = 0 to 2 is considered.

図8は、統計処理230の詳細フロー図である。統計処理部104は、相関処理部103から入力した遅延時間Delay(i)に対応する、管理テーブル500の相互相関Cの値を更新する。このとき、統計処理部104は、更新する相互相関Cの前回値と相関処理部103から入力した相互相関Cの値の移動平均をとる等の統計処理を行うことで、瞬間的な相互相関の変化に対して耐性を持たせることが可能である(処理620)。なお、移動平均以外にも、更新する相互相関Cの前回値が、更新後の相互相関Cに影響するような適宜の統計処理でもよい。
また、統計処理部104は評価値Eを算出する。ここで、評価値Eは、相互相関Cの大きさに応じた重みwを、該遅延時間Dの更新毎に積算して得られる値である。相互相関Cの値が大きく、かつ該遅延時間Dの更新回数が多いほどに高い評価値Eを持つようにすることができる。図8では一例として、相互相関Cに対する閾値として100を用い、相互相関Cの値が100以下の場合に重みw=0とし、相互相関Cが100より大きい場合に重みw=2として評価値Eに積算することで、相互相関が高い遅延時間は評価値が高くなるようにしている(処理630〜660)。
FIG. 8 is a detailed flowchart of the statistical process 230. The statistical processing unit 104 updates the value of the cross-correlation C in the management table 500 corresponding to the delay time Delay (i) input from the correlation processing unit 103. At this time, the statistical processing unit 104 performs a statistical process such as taking a moving average of the previous value of the cross-correlation C to be updated and the value of the cross-correlation C input from the correlation processing unit 103, so that the instantaneous cross-correlation It is possible to provide resistance to change (operation 620). In addition to the moving average, an appropriate statistical process in which the previous value of the cross-correlation C to be updated affects the cross-correlation C after the update may be used.
Further, the statistical processing unit 104 calculates an evaluation value E. Here, the evaluation value E is a value obtained by integrating the weight w corresponding to the magnitude of the cross-correlation C every time the delay time D is updated. A higher evaluation value E can be obtained as the value of the cross-correlation C is larger and the number of updates of the delay time D is larger. In FIG. 8, as an example, 100 is used as a threshold for the cross-correlation C, the weight w = 0 when the value of the cross-correlation C is 100 or less, and the weight w = 2 when the cross-correlation C is greater than 100. The delay time having a high cross-correlation increases the evaluation value (processing 630 to 660).

図9は、遅延処理240の詳細フロー図である。遅延処理部108は、管理テーブル105(500)を参照して評価値Eが最大の欄を特定し、最大の評価値Eに対応する遅延時間Dを取得する(処理710)。遅延処理部108は、線路110から入力される受信信号を、取得した遅延時間Dに相当する量遅延させて適応フィルタ106へ出力する(処理720)。これにより、受信信号は、送信信号と相関が高くなるように時間方向の位置が調整されて適応フィルタ106に出力されるため、エコー消去処理250において、128タップ(16ms)の適応フィルタであっても、最大128msまで遅延するエコーを消去することができる。   FIG. 9 is a detailed flowchart of the delay process 240. The delay processing unit 108 refers to the management table 105 (500), identifies the column with the maximum evaluation value E, and acquires the delay time D corresponding to the maximum evaluation value E (processing 710). The delay processing unit 108 delays the received signal input from the line 110 by an amount corresponding to the acquired delay time D and outputs the delayed signal to the adaptive filter 106 (processing 720). As a result, the received signal is adjusted to a position in the time direction so as to have a high correlation with the transmission signal, and is output to the adaptive filter 106. Therefore, the echo cancellation process 250 is an adaptive filter of 128 taps (16 ms). Also, echoes delayed up to 128 ms can be canceled.

図10は、フィルタ監視処理260の詳細フロー図である。フィルタ監視部107は、128タップの適応フィルタをN=8タップずつM=16個のブロックに区切って、ブロック毎のフィルタ係数hの平均値であるhave(n)を求め、全ブロックのうちフィルタ係数の平均値have(n)が最大となる位置(当該ブロックの時間軸上の位置を示すブロック識別情報)を算出する(処理820〜840)。処理820〜840を全16ブロックに対して行い(処理810〜860)、算出されたhave(n)が最大となる位置(ブロック識別情報)を評価値加減処理270へ提供する(処理870)。ここでNは適応フィルタの分割単位であって、1ブロックに含まれるタップ数を示す。MはNタップ毎に区切られた適応フィルタのブロック数である。   FIG. 10 is a detailed flowchart of the filter monitoring process 260. The filter monitoring unit 107 divides the 128-tap adaptive filter into N = 8 taps and M = 16 blocks to obtain have (n) that is an average value of the filter coefficients h for each block. A position (block identification information indicating the position of the block on the time axis) at which the average value have (n) of the coefficient is maximum is calculated (processing 820 to 840). Processes 820 to 840 are performed on all 16 blocks (processes 810 to 860), and a position (block identification information) where the calculated have (n) is maximized is provided to the evaluation value adjustment process 270 (process 870). Here, N is a division unit of the adaptive filter and indicates the number of taps included in one block. M is the number of blocks of the adaptive filter divided every N taps.

図11は、評価値加減処理270の詳細フロー図である。
一般的に、エコー経路内に存在するエコー発生要素(例えば、ハイブリッド回路や壁など)自身のインパルス応答は、最初急激に立ち上がり、その後は減衰振動を示す。そのため、適応フィルタにおいても最大値をとるフィルタ係数は、時間軸の前半部分に相当するフィルタ係数であり、フィルタ係数の時間軸上の位置が最大値をとるフィルタ係数から遠くなるに従いフィルタ係数は小さな値をとる状態が、精度良くエコー発生要素を近似している状態と考えることが出来る。
この想定に基づき、フィルタ監視部107は、フィルタ監視処理で求められた、適応フィルタのフィルタ係数の平均値が最大となるブロックの位置が、適応フィルタの全フィルタ係数のうち時間軸上で前半部分に位置しない場合には(処理910:Yes)、管理テーブル105(500)中で最大の評価値E530を低減する(処理920)。一方、フィルタ監視部107は、フィルタ係数の平均値が最大となるブロックの位置が適応フィルタの全フィルタ係数のうち時間軸上で前半部分に位置する場合(処理910:Yes)、管理テーブル500中で最大の評価値E530を増加する(処理930)。
本実施例では、128タップの適応フィルタを想定するため、統計処理部104から入力されるフィルタ係数の平均値が最大となるブロックの位置が、16/2=8以降に位置する場合に、換言すると、時間軸上で前半部分に位置しない場合に、管理テーブル500中で最大値を持つ評価値Eを1/2に低減させる。一方、フィルタ係数の平均値が最大となるブロックの位置が8より前に位置する場合、換言すると、時間軸上で前半部分に位置する場合は、管理テーブル500中で最大値を持つ評価値Eを2倍に増加させる(処理910〜930)。
FIG. 11 is a detailed flowchart of the evaluation value addition / subtraction process 270.
In general, the impulse response of an echo generating element (for example, a hybrid circuit or a wall) existing in the echo path first suddenly rises first and then shows a damped oscillation. Therefore, the filter coefficient that takes the maximum value also in the adaptive filter is a filter coefficient corresponding to the first half of the time axis, and the filter coefficient becomes smaller as the position of the filter coefficient on the time axis becomes farther from the filter coefficient that takes the maximum value. It can be considered that the state of taking the value approximates the echo generating element with high accuracy.
Based on this assumption, the filter monitoring unit 107 determines that the position of the block where the average value of the filter coefficients of the adaptive filter is the maximum obtained in the filter monitoring process is the first half part on the time axis among all the filter coefficients of the adaptive filter. If it is not located at (step 910: Yes), the maximum evaluation value E530 in the management table 105 (500) is reduced (step 920). On the other hand, when the position of the block having the maximum filter coefficient average value is located in the first half portion on the time axis among all the filter coefficients of the adaptive filter (processing 910: Yes), the filter monitoring unit 107 in the management table 500 The maximum evaluation value E530 is increased (step 930).
In this embodiment, since an adaptive filter with 128 taps is assumed, when the position of the block having the maximum filter coefficient average value input from the statistical processing unit 104 is positioned after 16/2 = 8, Then, when it is not located in the first half part on the time axis, the evaluation value E having the maximum value in the management table 500 is reduced to ½. On the other hand, when the position of the block where the average value of the filter coefficients is maximum is located before 8, in other words, when it is located in the first half part on the time axis, the evaluation value E having the maximum value in the management table 500 Is doubled (processes 910 to 930).

上記処理により、相互相関Cから最も高い評価値Eを導かれた遅延時間Dを適用した場合に、適応フィルタ105のフィルタ係数が、期待するフィルタ係数にならないと判断される場合は、適用した遅延時間に対応する評価値Eを強制的に低減させて、次に高い評価値Eを持つ遅延時間Dが適用されることを促すことが出来る。一方で、遅延時間Dにおいて期待するフィルタ係数となる場合、より高い評価値Eに更新することで該遅延時間Dの評価を高めることが出来る。
なお、図11中で使用する定数は一例であり、適応フィルタのインパルス応答の精度を高めたい場合は、フィルタ係数が最大となる位置を適応フィルタのより前半部分(例えば、前方1/3や1/4など)に限定することで実現可能である。また、評価値の加減についても、評価値へ乗算する定数を適宜設定して評価値の加減度合を調整することが可能である。また、定数を乗算する以外の適宜の手法で評価値を加減してもよい。
When it is determined that the filter coefficient of the adaptive filter 105 does not become the expected filter coefficient when the delay time D derived from the cross correlation C and having the highest evaluation value E is applied, the applied delay The evaluation value E corresponding to the time can be forcibly reduced to encourage the application of the delay time D having the next highest evaluation value E. On the other hand, when the expected filter coefficient is obtained in the delay time D, the evaluation of the delay time D can be enhanced by updating to a higher evaluation value E.
Note that the constants used in FIG. 11 are merely examples, and when it is desired to improve the accuracy of the impulse response of the adaptive filter, the position at which the filter coefficient is maximized is set to the first half of the adaptive filter (for example, the forward 1/3 or 1). / 4) and the like. Further, regarding the adjustment of the evaluation value, it is possible to adjust the degree of adjustment of the evaluation value by appropriately setting a constant for multiplying the evaluation value. Further, the evaluation value may be adjusted by an appropriate method other than multiplication by a constant.

図12は、管理テーブルの別例である。上述のフィルタ監視処理260および評価値加減処理270により評価値E(1)が図7の状態から半分に低減された状態を表す。
相関処理220及び統計処理230によって高い評価値E(1)を得た遅延時間D(1)を用いて遅延処理240及びエコー消去処理250を行った結果、フィルタ監視処理260及び評価値加減処理270によりフィルタ係数の平均値が最大となるブロックの位置が想定と異なると判断され、評価値E(1)の値が50(=1/2×100)に低減されている。この結果、エコーキャンセラ10は、評価値E(0)を持つ遅延時間D(0)を使用して動作する。上記動作より、フィルタの監視結果に応じて使用する遅延時間がD(1)からD(0)へ入れ替わるため、遅延時間の変化に対して素早く追従することが可能となる。
なお、上述の例では、ブロックを単位としてフィルタ係数の平均値を求め、フィルタ係数の平均値が最大となるブロック位置を基準に判断しているが、平均値以外にも、ブロック内のフィルタ係数に基づく適宜の値を基準としてもよいし、個々のフィルタ係数を基準とすることも可能である。上述の例のようにブロックを単位としてフィルタ係数の平均値を求めると、瞬間的な挙動を吸収できるため、動作が安定しやすい。
FIG. 12 is another example of the management table. The evaluation value E (1) is reduced by half from the state of FIG. 7 by the above-described filter monitoring process 260 and evaluation value adjustment process 270.
As a result of performing the delay process 240 and the echo cancellation process 250 using the delay time D (1) for which the high evaluation value E (1) is obtained by the correlation process 220 and the statistical process 230, the filter monitoring process 260 and the evaluation value adjustment process 270 are performed. Thus, it is determined that the position of the block where the average value of the filter coefficients is the maximum is different from the assumption, and the value of the evaluation value E (1) is reduced to 50 (= 1/2 × 100). As a result, the echo canceller 10 operates using the delay time D (0) having the evaluation value E (0). From the above operation, the delay time to be used is switched from D (1) to D (0) according to the monitoring result of the filter, so that it is possible to quickly follow the change in the delay time.
In the above example, the average value of the filter coefficient is obtained in units of blocks, and the determination is made based on the block position where the average value of the filter coefficient is maximum. An appropriate value based on the above may be used as a reference, or individual filter coefficients may be used as a reference. If the average value of the filter coefficients is obtained in units of blocks as in the above example, the instantaneous behavior can be absorbed, and the operation is likely to be stable.

(実施例2)
図13は、実施例2におけるフィルタ監視処理のフローチャートである。実施例2におけるフィルタ監視処理260(1000)では、実施例1のようにフィルタ係数の平均値が最大となるブロック位置を求めるのではなく、フィルタ係数の最大値を計算してフィルタの監視を行う(処理1010〜1040)。本実施例でも、フィルタ係数をブロックに分割し、ブロック内でのフィルタ係数の平均値haveを求めて、フィルタ係数のブロック平均値の最大値を求める。本実施例では、評価値加減処理270へはフィルタ係数の平均値の最大値を提供する(処理1070)。評価値加減処理は、図11に示す実施例1の処理と同様であるが、処理910が異なる。本実施例では、フィルタ監視部107は、フィルタ係数の平均値の最大値が予め定められた閾値以下か否かを判断し、閾値以下であれば処理920へ移り、閾値以下でなければ処理930へ移る。フィルタ係数の平均値の最大値が予め定められた閾値以下の場合、適応フィルタには明確なピークが存在しておらず想定するインパルス応答ではないと判断することができる。例えば、適用した遅延時間に対して、実際の遅延時間が大きい場合、適応フィルタが有効に作用する期間(例えば、16ms)の間にインパルス応答のピークがないことが考えられる。
なお、装置の構成及び他の処理は実施例1と同様である。
(Example 2)
FIG. 13 is a flowchart of the filter monitoring process in the second embodiment. In the filter monitoring process 260 (1000) in the second embodiment, the filter position is monitored by calculating the maximum value of the filter coefficient instead of obtaining the block position where the average value of the filter coefficient is the maximum as in the first embodiment. (Processing 1010-1040). Also in this embodiment, the filter coefficient is divided into blocks, the average value have of filter coefficients in the block is obtained, and the maximum value of the block average value of the filter coefficients is obtained. In this embodiment, the maximum value of the average value of the filter coefficients is provided to the evaluation value adjustment process 270 (process 1070). The evaluation value addition / subtraction process is the same as the process of the first embodiment shown in FIG. 11, but the process 910 is different. In this embodiment, the filter monitoring unit 107 determines whether or not the maximum value of the average value of the filter coefficients is equal to or smaller than a predetermined threshold value. If the threshold value is equal to or smaller than the threshold value, the process proceeds to process 920. Move on. When the maximum average value of the filter coefficients is equal to or less than a predetermined threshold value, it can be determined that there is no clear peak in the adaptive filter and the impulse response is not assumed. For example, when the actual delay time is larger than the applied delay time, it may be considered that there is no peak of the impulse response during the period (for example, 16 ms) in which the adaptive filter effectively operates.
The apparatus configuration and other processes are the same as those in the first embodiment.

(実施例3)
図14は、実施例3におけるフィルタ監視処理のフローチャートである。実施例3におけるフィルタ監視処理260(1100)では、エコー消去量に基づいてフィルタの監視を行う。本実施例では、エコー消去量としてERLE(Echo Return Loss Enhancement)という指標を用いる。フィルタ監視部107は、エコー信号y(n)と疑似エコー信号y’(n)に基づき、例えば図14の処理1100に示す式に従い、適応フィルタのERLEの特定時間内における平均値ERLEaveを計算する(処理1110)。評価値加減処理270へはERLEaveを提供する(処理1120)。
評価値加減処理は、図11に示す実施例1の処理と同様であるが、処理910が異なる。本実施例では、フィルタ監視部107は、ERLEaveが予め定められた閾値以下か否かを判断し、閾値以下であれば処理920へ移り、閾値以下でなければ処理930へ移る。ERLEaveが予め定められた閾値以下の場合はエコー消去量が十分ではないと判断し、該遅延時間の評価値Eを低減させることができる。
上述の各実施例によるエコーキャンセラ及びエコー消去方法によれば、エコー信号の遅延時間が不明又は遅延時間に変化が発生しやすい環境下においても、エコー信号の遅延時間を短時間に精度よく決定することが可能であり、安定したエコー消去を実現することが可能である
(Example 3)
FIG. 14 is a flowchart of the filter monitoring process in the third embodiment. In the filter monitoring process 260 (1100) in the third embodiment, the filter is monitored based on the echo cancellation amount. In this embodiment, an index called ERLE (Echo Return Loss Enhancement) is used as the echo cancellation amount. Based on the echo signal y (n) and the pseudo echo signal y ′ (n), the filter monitoring unit 107 calculates an average value ERLEave within a specific time of the ERLE of the adaptive filter, for example, according to the formula shown in the process 1100 of FIG. (Process 1110). ERLEave is provided to the evaluation value adjustment process 270 (process 1120).
The evaluation value addition / subtraction process is the same as the process of the first embodiment shown in FIG. 11, but the process 910 is different. In this embodiment, the filter monitoring unit 107 determines whether or not ERLEave is equal to or less than a predetermined threshold value. If the threshold value is equal to or less than the threshold value, the filter monitoring unit 107 proceeds to process 920. When ERLEave is equal to or less than a predetermined threshold, it is determined that the amount of echo cancellation is not sufficient, and the evaluation value E of the delay time can be reduced.
According to the echo canceller and the echo cancellation method according to each of the embodiments described above, the delay time of the echo signal is accurately determined in a short time even in an environment where the delay time of the echo signal is unknown or the delay time is likely to change. It is possible to achieve stable echo cancellation

(変形例)
図15は、本実施の形態の変形例を示す図である。
エコーキャンセラ10は、電話機に接続される以外にも、例えば、マイク31とスピーカ32を備えた電話会議システム(スピーカフォン)に用いられてもよい。この場合、上述の各実施例における近端電話機からの送信信号Sinが、本変形例ではマイク31を介して入力された話者の音声信号に相当する。また、上述の各実施例における近端電話機への受信信号Routが、本変形例ではスピーカ32から出力される音声信号に相当する。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
(Modification)
FIG. 15 is a diagram showing a modification of the present embodiment.
In addition to being connected to a telephone, the echo canceller 10 may be used in, for example, a telephone conference system (speaker phone) including a microphone 31 and a speaker 32. In this case, the transmission signal Sin from the near-end telephone in each of the above-described embodiments corresponds to the voice signal of the speaker input via the microphone 31 in this modification. In addition, the reception signal Rout to the near-end telephone in each of the above-described embodiments corresponds to an audio signal output from the speaker 32 in this modification.
In addition, this invention is not limited to an above-described Example, Various modifications are included. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
Further, the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.

本発明は、例えば、通信システム、通信網を介した会議システム等に利用可能である。   The present invention is applicable to, for example, a communication system, a conference system via a communication network, and the like.

10:エコーキャンセラ
100:バッファ処理部
101:受信バッファ
102:送信バッファ
103:相関処理部
104:統計処理部
105:管理テーブル
106:適応フィルタ
107:フィルタ監視部
108:遅延処理部
110:データ線路
120:データ線路
130:エコー消去部
DESCRIPTION OF SYMBOLS 10: Echo canceller 100: Buffer processing part 101: Reception buffer 102: Transmission buffer 103: Correlation processing part 104: Statistical processing part 105: Management table 106: Adaptive filter 107: Filter monitoring part 108: Delay processing part 110: Data line 120 : Data line 130: Echo canceler

Claims (7)

適応フィルタを用いて遠端側への送信信号に含まれるエコー信号を消去するエコー消去部と、
遠端側からの受信信号と遠端側への送信信号の一方を、所定時間ずつシフトさせながら両信号の相互相関を求め、該相互相関に基づき、受信信号に対する遅延時間の候補を複数求める相関処理部と、
求められた相互相関の履歴に基づき、遅延時間の候補に対する評価値を求める統計処理部と、
前記統計処理部により求められた評価値を遅延時間と対応して記憶する記憶部と、
前記記憶部に記憶された評価値に基づいて遅延時間の候補のひとつを選択し、選択された遅延時間に従い受信信号を遅延させて前記適応フィルタへ出力する遅延処理部と、
前記適応フィルタのフィルタ係数又は前記エコー消去部でのエコー消去量を監視し、監視結果に応じて前記記憶部に記憶された評価値を変更するフィルタ監視部と
を備えたエコーキャンセラ。
An echo canceler for canceling an echo signal included in the transmission signal to the far end side using an adaptive filter;
Correlation for obtaining a plurality of delay time candidates for a received signal based on the cross-correlation by obtaining one of the received signal from the far end and the transmission signal to the far end while shifting one signal at a time. A processing unit;
A statistical processing unit for obtaining an evaluation value for a delay time candidate based on the obtained cross-correlation history;
A storage unit for storing the evaluation value obtained by the statistical processing unit in correspondence with the delay time;
A delay processing unit that selects one of delay time candidates based on the evaluation value stored in the storage unit, delays a received signal according to the selected delay time, and outputs the delayed signal to the adaptive filter;
An echo canceller comprising: a filter monitoring unit that monitors a filter coefficient of the adaptive filter or an echo cancellation amount in the echo cancellation unit, and changes an evaluation value stored in the storage unit according to a monitoring result.
前記フィルタ監視部は、前記適応フィルタのフィルタ係数に基づいて、前記適応フィルタによる畳み込み加算の結果が所望のインパルス応答の形状になるか判定し、所望の形状でない場合に前記記憶部に記憶された評価値を低減させる請求項1に記載のエコーキャンセラ。   The filter monitoring unit determines whether or not the result of the convolution addition by the adaptive filter has a desired impulse response shape based on the filter coefficient of the adaptive filter. If the result is not the desired shape, the filter monitoring unit stores the result in the storage unit. The echo canceller according to claim 1, which reduces an evaluation value. 前記フィルタ監視部は、前記適応フィルタのフィルタ係数のピーク領域が、全フィルタ係数の前半部分になければ所望のインパルス応答の形状でないと判定し、前記記憶部に記憶された評価値を低減させる請求項2に記載のエコーキャンセラ。   The filter monitoring unit determines that the peak area of the filter coefficient of the adaptive filter is not in the shape of a desired impulse response unless the peak area of the filter coefficient is in the first half of all filter coefficients, and reduces the evaluation value stored in the storage unit. Item 3. The echo canceller according to Item 2. 前記フィルタ監視部は、前記適応フィルタのフィルタ係数のピーク値が、予め定められた閾値以下であれば所望のインパルス応答の形状でないと判定し、前記記憶部に記憶された評価値を低減させる請求項2に記載のエコーキャンセラ。   The filter monitoring unit determines that the peak value of the filter coefficient of the adaptive filter is not a desired impulse response shape if the peak value of the filter coefficient of the adaptive filter is equal to or less than a predetermined threshold, and reduces the evaluation value stored in the storage unit. Item 3. The echo canceller according to Item 2. 前記フィルタ監視部は、前記エコー消去部でのエコー消去量を示す指標を求め、該指標又は該指標に基づく統計値が予め定められた閾値以下であれば前記記憶部に記憶された評価値を低減させる請求項1に記載のエコーキャンセラ。   The filter monitoring unit obtains an index indicating an echo cancellation amount in the echo cancellation unit, and if the index or a statistical value based on the index is equal to or less than a predetermined threshold, the evaluation value stored in the storage unit is obtained. The echo canceller according to claim 1 to be reduced. 前記統計処理部は、求められた相互相関に応じた重みを積算することにより遅延時間の候補に対する評価値を求める請求項1に記載のエコーキャンセラ。   The echo canceller according to claim 1, wherein the statistical processing unit obtains an evaluation value for a delay time candidate by integrating weights according to the obtained cross-correlation. 適応フィルタを用いて遠端側への送信信号に含まれるエコー信号を消去するエコーキャンセル方法であって、
遠端側からの受信信号と遠端側への送信信号の一方を、所定時間ずつシフトさせながら両信号の相互相関を求め、該相互相関に基づき、受信信号に対する遅延時間の候補を複数求め、
求められた相互相関の履歴に基づき、遅延時間の候補に対する評価値を求め、
求められた評価値を遅延時間と対応して記憶し、
記憶された評価値に基づいて遅延時間の候補のひとつを選択し、選択された遅延時間に従い受信信号を遅延させて適応フィルタへ出力し、
適応フィルタのフィルタ係数又はエコー消去量を監視し、監視結果に応じて記憶された評価値を低減させるエコーキャンセル方法。
An echo cancellation method for canceling an echo signal included in a transmission signal to a far end side using an adaptive filter,
One of the received signal from the far end side and the transmission signal to the far end side is shifted by a predetermined time to obtain the cross-correlation of both signals, and based on the cross-correlation, a plurality of delay time candidates for the received signal are obtained,
Based on the obtained cross-correlation history, obtain an evaluation value for the delay time candidate,
The obtained evaluation value is stored in correspondence with the delay time,
Select one of the delay time candidates based on the stored evaluation value, delay the received signal according to the selected delay time, and output to the adaptive filter,
An echo cancellation method for monitoring a filter coefficient or an echo cancellation amount of an adaptive filter and reducing an evaluation value stored according to a monitoring result.
JP2015231312A 2015-11-27 2015-11-27 Echo canceller and echo cancellation method Pending JP2017098861A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015231312A JP2017098861A (en) 2015-11-27 2015-11-27 Echo canceller and echo cancellation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015231312A JP2017098861A (en) 2015-11-27 2015-11-27 Echo canceller and echo cancellation method

Publications (1)

Publication Number Publication Date
JP2017098861A true JP2017098861A (en) 2017-06-01

Family

ID=58818235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015231312A Pending JP2017098861A (en) 2015-11-27 2015-11-27 Echo canceller and echo cancellation method

Country Status (1)

Country Link
JP (1) JP2017098861A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109961797A (en) * 2017-12-25 2019-07-02 阿里巴巴集团控股有限公司 A kind of echo cancel method, device and electronic equipment
WO2024009892A1 (en) * 2022-07-07 2024-01-11 株式会社トランストロン Echo suppressing device, echo suppressing method, and echo suppressing program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109961797A (en) * 2017-12-25 2019-07-02 阿里巴巴集团控股有限公司 A kind of echo cancel method, device and electronic equipment
WO2024009892A1 (en) * 2022-07-07 2024-01-11 株式会社トランストロン Echo suppressing device, echo suppressing method, and echo suppressing program

Similar Documents

Publication Publication Date Title
CN105472189B (en) Echo cancellation detector, method of cancelling echoes and comparison generator
JP5423966B2 (en) Specific signal cancellation method, specific signal cancellation apparatus, adaptive filter coefficient update method, adaptive filter coefficient update apparatus, and computer program
US9544422B2 (en) Acoustic echo suppression
CN108134863B (en) Improved double-end detection device and detection method based on double statistics
GB2547063A (en) Noise estimator
US10367949B2 (en) Echo canceller device and voice telecommunications device
JP5422054B2 (en) Time domain / frequency domain integrated echo cancellation apparatus and method
JP2001168775A (en) Echo canceler
KR20150097686A (en) Echo suppression
JP3236242B2 (en) Echo canceller device
KR102194165B1 (en) Echo removal
US20170310360A1 (en) Echo removal device, echo removal method, and non-transitory storage medium
WO2019112467A1 (en) Method and apparatus for acoustic echo cancellation
JP2001016142A (en) Method and device for canceling echo and program recording medium
JP2017098861A (en) Echo canceller and echo cancellation method
JP5293952B2 (en) Signal processing method, signal processing apparatus, and signal processing program
JP3611493B2 (en) Echo canceller device
JP5057109B2 (en) Echo canceller
JP4475155B2 (en) Echo canceller
JP6272590B2 (en) Echo canceller device and communication device
JP6180689B1 (en) Echo canceller apparatus, echo cancellation method, and echo cancellation program
JP4543896B2 (en) Echo cancellation method, echo canceller, and telephone repeater
KR102218742B1 (en) Adaptive delay diversity filter, echo cancel device using the same, and echo cancel method thereof
JP2002076999A (en) Method and device for identifying system
JP2693183B2 (en) Echo canceller

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170307