JP2008160536A - 伝搬遅延時間推定器及び伝搬遅延時間推定方法 - Google Patents
伝搬遅延時間推定器及び伝搬遅延時間推定方法 Download PDFInfo
- Publication number
- JP2008160536A JP2008160536A JP2006347774A JP2006347774A JP2008160536A JP 2008160536 A JP2008160536 A JP 2008160536A JP 2006347774 A JP2006347774 A JP 2006347774A JP 2006347774 A JP2006347774 A JP 2006347774A JP 2008160536 A JP2008160536 A JP 2008160536A
- Authority
- JP
- Japan
- Prior art keywords
- delay time
- propagation delay
- signal
- bin
- time
- 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
Links
- 238000000034 method Methods 0.000 title claims description 29
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 21
- 101100083446 Danio rerio plekhh1 gene Proteins 0.000 description 15
- 230000005236 sound signal Effects 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 10
- 101100129500 Caenorhabditis elegans max-2 gene Proteins 0.000 description 9
- 238000007792 addition Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 238000007796 conventional method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000005070 sampling Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
Abstract
【課題】 わずかな処理量や小規模のハードウェアで効率よく伝搬遅延時間を推定する。
【解決手段】 本発明は、当初は同一信号であった2種類の離散的時間信号の時間差である伝搬遅延時間を推定する伝搬遅延時間推定器に関する。離散的時間信号X(n),Y(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた1ビット信号Xbin(n),Ybin(n)に変換する第1及び第2の2値符号化手段と、1ビット信号Xbin(n)及びYbin(n)間の相互相関を演算する相関演算手段と、時間差kが0≦k≦Mの範囲における相互相関係数Corr(n,k)の中で最大値を与えるkに基づいて、伝搬遅延時間を推定する伝搬遅延時間推定手段とを有する。
【選択図】 図1
【解決手段】 本発明は、当初は同一信号であった2種類の離散的時間信号の時間差である伝搬遅延時間を推定する伝搬遅延時間推定器に関する。離散的時間信号X(n),Y(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた1ビット信号Xbin(n),Ybin(n)に変換する第1及び第2の2値符号化手段と、1ビット信号Xbin(n)及びYbin(n)間の相互相関を演算する相関演算手段と、時間差kが0≦k≦Mの範囲における相互相関係数Corr(n,k)の中で最大値を与えるkに基づいて、伝搬遅延時間を推定する伝搬遅延時間推定手段とを有する。
【選択図】 図1
Description
本発明は伝搬遅延時間推定器及び伝搬遅延時間推定方法に関し、例えば、電話回線のエコー信号を消去する回線エコーキャンセラからエコー信号発生地点までの往復伝搬遅延時間を推定する場合に適用し得る。
[技術的背景]
エコー反射点までの往復伝搬遅延時間が大きな回線エコーキャンセラの配備例を、図2に示す。なお、図2においては、2線伝送路101、102、103、104を便宜上1本の線で描いている。
エコー反射点までの往復伝搬遅延時間が大きな回線エコーキャンセラの配備例を、図2に示す。なお、図2においては、2線伝送路101、102、103、104を便宜上1本の線で描いている。
伝送路101は、電話機108に対向する図示しない対向側の電話機から送信されてくる音声信号x(n)の伝搬経路であり、回線エコーキャンセラ105並びに中継網106を介して2線/4線変換器107に接続されている。音声信号x(n)は、2線/4線変換器107を介して電話機108に到達し、また、これと同時に、2線/4線変換器107でのインピーダンス不整合のため、その一部が反射し、信号y(n)として2線伝送路103及び中継網106を介して、回線エコーキャンセラ105に与えられる。このエコー信号y(n)は、回線エコーキャンセラ105で消去されるが、一般には、完全消去することは不可能なので残留エコー信号e(n)が2線伝送路104を介して、対向側の電話機に戻っていく。
次に、回線エコーキャンセラ105で一般的に実用されている代表的なエコー消去アルゴリズムである学習同定法について説明する。なお、これ以降、特に断らない限り、信号は、ある標本化レートで量子化された離散値系信号と見なし、時間は標本化周期を1単位時間とする離散時間nで表記することとする。
エコー消去アルゴリズムにおいて、回線エコーキャンセラ105から見た電話機108側のエコー経路を線形シフト不変システムと見なし、具体的には、N次の有限インパルス応答型フィルタと見なす。当該フィルタのタップ係数をh(k)、また、回線エコーキャンセラ105が推定する当該フィルタの時刻nの時点でのタップ係数を^hn(k)、回線エコーキャンセラ105が推定するエコー信号を^y(n)と表すと、当該アルゴリズムは(1)式で表すことができる。
(1)式において、μは^hn(k)の収束速度を決定するパラメータであり、通常、0<μ<2の範囲に設定される。
次に、回線エコーキャンセラ105とエコー反射点である2線/4線変換器107との間の往復伝搬距離は長く、また、中継網106の内部に配置されている各種ネットワーク装置による処理遅延により、回線エコーキャンセラ105と2線/4線変換器107との間の往復伝搬遅延時間Trtは十分に大きいものとする。ここで、Trt=NDLYとし、この遅延をz関数による伝達関数HDLY(z)で表すと、(2)式に示すようになる。また、2線/4線変換器107を有限インパルス応答型フィルタと見なしたときのフィルタ次数をNHYB、当該フィルタのタップ係数をh(0),h(1),…,h(NHYB)とし、当該フィルタのz関数による伝達関数をHHYB(z)で表すと、(3)式に示すようになる。
従って、このときのエコー経路のz関数による伝達関数をHEP(z)で表すと、(4)式に示すようになる。(4)式で表されるエコー経路の伝達関数の入出力信号をそれぞれx(n),y(n)とし、これらのz変換をX(z)、Y(z)とすると、(5)式に示す関係が成立する。(5)式において、z−NDLYX(z)は時間領域において、入力信号x(n)をNDLY単位時間だけ遅延させることを意味する。実際、(5)式を逆z変換により時間領域に変換すると(6)式を得る。
ここで、(1)式に従ってエコー推定を実施する回線エコーキャンセラ105の推定器のフィルタ次数Nと、NDLY,NHYBとの関係を(7)式のように想定し、(6)式で表されるエコー信号y(n)と(1)式で表せるエコー推定信号^y(n)とを、(8)式に示すように比較する。
(9)式は、次のことを示唆している。仮に、前もって、エコー経路の遅延時間が判明しているならば、回線エコーキャンセラ105はフィルタ係数^h(0)〜^h(NDLY−1)の算出を省略できると同時に^h(0)〜^h(NDLY−1)を格納するメモリ領域も節約することができる。実際のところ、2線/4線変換器107のインパルス応答時間は、非特許文献1による実測結果によると16msec以内となることが判明しているに対して、エコー経路の遅延時間はネットワークトポロジー、並びに、通信事業者の設備運用方針に依存することとなり、前もって知ることは不可能である。従って、この場合、エコー経路の遅延を推定できる機能を回線エコーキャンセラに具備することが望ましい。これにより、回線エコーキャンセラのエコー推定に関する処理量の低減を可能とし、とりわけ、通信事業者向けVoIP(Voice over IP)ゲートウェイ装置のように多数の音声呼を収容する装置にとっては大きなメリットとなる。
[従来技術による遅延時間推定]
エコー経路の遅延時間を推定する既存の3種類の方法について説明する。
エコー経路の遅延時間を推定する既存の3種類の方法について説明する。
第1の従来方法は、特許文献1などに開示されているものであり、この方法は音声パケットの中に時刻情報を付加し、これにより、遅延時間を算出するものである。この方法について、IP(Internet Protocol)においては、非特許文献2によってさらに汎用的に往復伝搬遅延時間を算出するメカニズムが規定されている。これにより、回線エコーキャンセラに遅延推定器を具備しなくても良いことになる。但し、この方法の適用条件は、エコーを発生する箇所と音声信号をパケット化する箇所の伝搬遅延時間が無視できる場合、かつ、エコー消去対象となる電話機側のインタフェースがIPパケットインタフェースである場合に限定される。しかしながら、エコーキャンセラとエコー反射点の間にIP網が介在することは極めて稀である。また、既存固定電話を時分割多重(TDM)インタフェースで収容することが一般的となっているVoIP装置に搭載する回線エコーキャンセラには、本方式の適用は不可能である。
第2の従来方法は、特許文献2、特許文献3、特許文献4などに開示されているものであり、遅延推定専用の機能を具備することなく、通常のエコー推定処理を実施する。つまり、エコー経路を線形シフト不変システムと見なし、前述した学習同定法などのアルゴリズムを利用してエコー経路の伝達関数を推定し、具体的には(9)式に示す伝達関数の推定係数^h(k)を算出し、例えば、0≦k≦dの範囲で^h(k)≒0に収束するならば、このdをエコー経路の遅延時間と見なす。純粋遅延と見なされた推定係数はエコー推定処理から排除することで、エコーキャンセラの処理量の低減を図るものである。
第3の従来方法は、特許文献5、特許文献6に開示されているものであり、エコーキャンセラが電話機側に送信する音声信号と電話機側から反射されて戻ってくるエコー信号の相互相関を取り遅延時間を決定するものである。
特開2001−333000号公報
特開平9−55687号公報
特表2001−501413号公報
特開平7−283859号公報
特開平7−303061号公報
特表2005−528039号公報
ITU−T勧告G.168 Appendix II
IETF RFC 3550,RTP/RTCP
第1の従来方法に関する非特許文献2の規定方法の適用条件は、エコーを発生する箇所と音声信号をパケット化する箇所の伝搬遅延時間が無視できる場合、かつ、エコー消去対象となる電話機側のインタフェースがIPパケットインタフェースである場合に限定される。しかしながら、エコーキャンセラとエコー反射点の間にIP網が介在することは極めて稀である。また、既存固定電話を時分割多重(TDM)インタフェースで収容することが一般的となっているVoIP装置に搭載する回線エコーキャンセラには、この方式の適用は不可能である。
また、第2の従来方法は初期のエコー推定の学習においては処理量の低減化を図ることが一切できず、これは、多数の電話呼を収容するVoIPゲートウェイ装置仕様には耐えられない。理由としては、これらの通信装置においては、収容呼を全チャネル同時に通話状態に遷移させるまでに要する時間がサービス稼働率を決定する要因として重要視されているからである。よって、これらの通信装置に第2の従来方法を採用すると、エコー経路の往復伝搬遅延時間も含めたエコー推定を全チャネル同時に実施するだけの処理量を具備させるか、若しくは、それだけの処理量を確保できないときは収容呼を幾つかのグループに分け時系列的に何回かに分けてエコー推定を実施することとなる。いずれにしても、第2の従来方法は、多数の音声呼を収容する装置に実装するエコーキャンセラに適していない。
第3の従来方法では、エコーキャンセラが電話機側に送信する音声信号と電話機側から反射されて戻ってくるエコー信号の相互相関を取ることが必要となっている。一般的に相互相関演算の処理量はエコー推定処理のそれとそれほど変わらず、また、特許文献5や特許文献6は相関演算の具体的な処理方法については言及していない。
本発明は、以上の点に鑑みなされたものであり、わずかな処理量や小規模のハードウェアで効率よく伝搬遅延時間を推定することを目的としている。
第1の本発明は、当初は同一信号であった2種類の離散的時間信号の時間差である伝搬遅延時間を推定する伝搬遅延時間推定器において、(1)離散的時間信号X(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた1ビット信号Xbin(n)に変換する第1の2値符号化手段と、(2)離散的時間信号Y(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた1ビット信号Ybin(n)に変換する第2の2値符号化手段と、(3)上記第1及び第2の2値符号化手段からの1ビット信号Xbin(n)及びYbin(n)に基づき、(A)式に従う演算を実行し、その演算結果を、離散的時間信号X(n)及びY(n)の時間差kの上記相互相関係数Corr(n,k)の定数倍として出力する相関演算手段と、(4)時間差kが0≦k≦Mの範囲における上記相互相関係数Corr(n,k)の中で最大値を与えるkに基づいて、伝搬遅延時間を推定して出力する伝搬遅延時間推定手段とを有することを特徴とする。
但し、Nは相関の算出に用いられる各信号のサンプル数であり、+を丸で囲んだ記号は排他的論理和演算を表している。
第2の本発明は、当初は同一信号であった2種類の離散的時間信号の時間差である伝搬遅延時間を推定する伝搬遅延時間推定方法において、(0)第1の2値符号化手段、第2の2値符号化手段、相関演算手段及び伝搬遅延時間推定手段を備え、(1)上記第1の2値符号化手段は、離散的時間信号X(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた1ビット信号Xbin(n)に変換し、(2)上記第2の2値符号化手段は、離散的時間信号Y(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた1ビット信号Ybin(n)に変換し、(3)上記相関演算手段は、上記第1及び第2の2値符号化手段からの1ビット信号Xbin(n)及びYbin(n)に基づき、(B)式に従う演算を実行し、その演算結果を、離散的時間信号X(n)及びY(n)の時間差kの上記相互相関係数Corr(n,k)の定数倍として出力し、(4)上記伝搬遅延時間推定手段は、時間差kが0≦k≦Mの範囲における上記相互相関係数Corr(n,k)の中で最大値を与えるkに基づいて、伝搬遅延時間を推定して出力することを特徴とする。
但し、Nは相関の算出に用いられる各信号のサンプル数であり、+を丸で囲んだ記号は排他的論理和演算を表している。
本発明によれば、わずかな処理量や小規模のハードウェアで効率よく伝搬遅延時間を推定することができる。
(A)主たる実施形態
以下、本発明による伝搬遅延時間推定器及び伝搬遅延時間推定方法の一実施形態を、図面を参照しながら説明する。
以下、本発明による伝搬遅延時間推定器及び伝搬遅延時間推定方法の一実施形態を、図面を参照しながら説明する。
(A−1)実施形態における正規化相互相関演算アルゴリズム
まず、この実施形態の伝搬遅延時間推定器及び伝搬遅延時間推定方法が適用している正規化相互相関演算アルゴリズムについて説明する。適用しているアルゴリズムは、正規化相互相関の演算に際し、音声信号を+1と−1の2値に符号化することで相互相関演算に要する演算量とハードウェア規模を大幅に低減させようとしたものである。
まず、この実施形態の伝搬遅延時間推定器及び伝搬遅延時間推定方法が適用している正規化相互相関演算アルゴリズムについて説明する。適用しているアルゴリズムは、正規化相互相関の演算に際し、音声信号を+1と−1の2値に符号化することで相互相関演算に要する演算量とハードウェア規模を大幅に低減させようとしたものである。
ここで、0≦k<Mとする。
また、一般に、信号X(n)とY(n)の数値フォーマットは、複数ビットで構成される浮動小数点若しくは固定小数点である。
(10)式の定性的な意味を説明する。時刻nを固定するとき、Nサンプルで構成される信号X(n−i),0≦i<NとY(n−k−i),0≦i<Nの類似度を算出している。そして、その探索範囲は0≦k<Mとしている。つまり、現時刻nにおいてM個の正規化相互相関係数Corr(n、0),Corr(n,1),…,Corr(n,M−1)が得られるので、その中からCorr(n,k)の絶対値|Corr(n,k)|が最大値となるときのkをkmaxと表記すると、X(n−i),0≦i<Nに対して最も類似度が高い信号はY(n−kmax−i),0≦i<Nである。
以上の手順を時刻nが更新されるごとに繰り返す。
ここで、動作開始直後に信号X(n)が0であるとき、X(n−1)とXsgn(n−1)がまだ存在していないので、Xsgn(n)の値は、+1と−1のどちらでも良いこととする。これは、信号Y(n)に関しても同様とする。
(11)式に示すように、各信号Xsgn(n)、Ysgn(n)は±1の2値であるが、実際のインプリメント(製品)上ではでは1ビットの2進数データとして扱われるので、ここでは、正負を表す符号ビットの一般的な定義に従って、数値+1を2進数「0」に対応させ、数値−1を2進数「1」に対応させることとする。図3は、2値化信号Xsgn(n)及びYsgn(n)の2進数表現をXbin(n)及びYbin(n)と表記し、対応関係を示したものである。
次に、図3の対応関係を用いて、(12)式における乗算Xsgn(n−i)Ysgn(n−i)について考察する。この乗算は4通りしか存在せず、このときの2進数との対応は、図4に示すようになる。図4においては、+を白丸で囲んだ記号は排他的論理和を表している。明細書では、かかる記号を用いられないので、明細書の中では、「∧」を、排他的論理和を表すものとして用いる。
図4から明らかなように、±1に2値化された信号の乗算は、2進数では排他的論理和∧に対応している。これにより、Xbin(n−i)∧Ybin(n−k−i)についてのi=0からN−1までの総和ΣXbin(n−i)∧Ybin(n−k−i)は、ΣXsgn(n−i)Ysgn(n−k−i)(総和はi=0からN−1まで)において、Xsgn(n−i)Ysgn(n−k−i)が−1となる個数を表すこととなる。逆に、Xsgn(n−i)Ysgn(n−k−i)が1となる個数は、N−ΣXbin(n−i)∧Ybin(n−k−i)である。それ故に(13)式が成立する。ここで、正規化相互相関係数Corrsgn(n,k)を2進数表記Xbin(n)、Ybin(n)を使用して表現すると、(14)式が得られる。(14)式において、正規化処理である1/Nは単なる定数になっており、応用上は演算する価値はないので、(14)式を(15)式のように変形する。
実施形態の伝搬遅延時間推定器は、以上のような正規化相互相関係数の算出方法を適用している。
(A−2)実施形態の伝搬遅延時間推定器
次に、この実施形態の伝搬遅延時間推定器を説明する。以下では、この実施形態の伝搬遅延時間推定器が、回線エコーキャンセラと関連して電話通信システムに設けられているとして説明する。
次に、この実施形態の伝搬遅延時間推定器を説明する。以下では、この実施形態の伝搬遅延時間推定器が、回線エコーキャンセラと関連して電話通信システムに設けられているとして説明する。
図1は、実施形態の伝搬遅延時間推定器の詳細構成及び電話通信システムにおける位置付けを示すブロック図である。
図1において、実施形態に係る電話通信システム200は、実施形態の伝搬遅延時間推定器2100及び回線エコーキャンセラ2200を有している。
実施形態の伝搬遅延時間推定器2100は、一対の復号化器201、205、一対の積分器202、206、一対の2値符号化器203、207、一対のシフトレジスタ204、208、排他的論理和ゲート群209、加算・減算器210、2有意性判定器211及び前方/後方保護部212を有している。ここで、シフトレジスタ204、208、排他的論理和ゲート群209及び加算・減算器210が相関器220を構成している。
[伝搬遅延時間推定器の位置付け]
実施形態に係る電話通信システム200は、実施形態の伝搬遅延時間推定器2100の回線エコーキャンセラ2200への応用例である。
実施形態に係る電話通信システム200は、実施形態の伝搬遅延時間推定器2100の回線エコーキャンセラ2200への応用例である。
回線エコーキャンセラ2200は、音声信号を時分割ハイウェイ2400に乗せて電話機側に送出する。電話機側に送出された音声信号は、エコー経路2300と時分割ハイウェイ2500とを介して回線エコーキャンセラ2200に戻ってくる。
実施形態の伝搬遅延時間推定器2100は、時分割ハイウェイ2400、2500上の信号を入力として、エコー経路2300を介した遅延時間(伝搬遅延時間)を推定し、信号線2600を介して回線エコーキャンセラ2200に推定結果を提供するものである。
[伝搬遅延時間推定器の概要]
次に、実施形態の伝搬遅延時間推定器2100の構成及び動作の概要を説明する。
次に、実施形態の伝搬遅延時間推定器2100の構成及び動作の概要を説明する。
回線エコーキャンセラ2200から送出される音声信号は、時分割多重ハイウェイ240を介して、復号化器205に入力され、復号化器205によって、デジタル信号処理で必須となる加減乗除演算可能な線形符号に変換される。この線形符号は、積分器206に入力され、積分器206によって、ある一定個数の線形符号の累和(総和)がとられる。この累和した結果は2値符号化器207に入力され、2値符号化器207によって、0又は1の1ビット情報に変換される。このビット情報はシフトレジスタ208に入力され、シフトレジスタ208において、積分器206の累和区間に相当するクロックレートでビットシフトされる。
エコー経路230から戻ってくるエコー信号は、時分割多重ハイウェイ250を介して、復号化器201に入力され、復号化器201によってデジタル信号処理で必須となる加減乗除演算可能な線形符号に変換される。この線形符号は、積分器202に入力され、積分器206によって、ある一定個数の音声信号の累和がとられる。この累和した結果は2値符号化器203に入力され、2値符号化器207によって、0又は1の1ビット情報に変換される。このビット情報はシフトレジスタ204に入力され、シフトレジスタ208において、積分器202の累和区間に相当するクロックレートでビットシフトされる。
シフトレジスタ204に入力された2値化されたエコー信号と、シフトレジスタ208に入力された2値化された音声信号は、それぞれの一定区間が排他的論理和ゲート群209に入力され、排他的論理和ゲート群209及び加算・減算器210によって、類似度を表す相互相関係数が算出される。算出された相関係数について、音声信号の相関係数として有意なものであるか否かが有意性判定器211で判定される。有意であると判定された推定遅延時間について、前方/後方保護部212において、ある一定回数連続して同じ値が有意であると、これを伝搬遅延時間と認める前方保護を施し、一旦認められた後で、これとは異なる推定遅延時間がある一定回数連続して同じ値であると、これを新たな伝搬遅延時間として認める後方保護部を施す。これらの保護動作を介して得られた推定遅延時間が信号線260を介して回線エコーキャンセラ2200に出力される。
以下では、伝搬遅延時間推定器2100の構成要素の構成及び動作の詳細について説明する。
[復号化器]
既存電話網では、音声信号を伝送する際には、一般的にITU−T勧告G.711に準拠したPCM(パルス符号変調)符号で伝送することになっている。各復号化器201、205はそれぞれ、この符号化された音声信号を加減乗除演算が可能な線形符号、例えば、2の補数の固定小数点などに変換するものである。復号化処理としては、例えばITU−T勧告G.711のPCM符号は高々8ビット符号にすぎないので、256ワードの変換テーブル、つまり、変換ROM(Read Only Memory)を用意し、PCM符号をアドレスとし、当該アドレスに線形符号を格納しておくことにより、復号化処理は単なる変換ROMのリードだけで完了することとなる。もちろん、復号化アルゴリズムに従って計算して求めることも可能であるが、今日のハードウェアの集積技術及びゲート単価からすれば、変換ROMを用意する方がメリットは大きいであろう。
既存電話網では、音声信号を伝送する際には、一般的にITU−T勧告G.711に準拠したPCM(パルス符号変調)符号で伝送することになっている。各復号化器201、205はそれぞれ、この符号化された音声信号を加減乗除演算が可能な線形符号、例えば、2の補数の固定小数点などに変換するものである。復号化処理としては、例えばITU−T勧告G.711のPCM符号は高々8ビット符号にすぎないので、256ワードの変換テーブル、つまり、変換ROM(Read Only Memory)を用意し、PCM符号をアドレスとし、当該アドレスに線形符号を格納しておくことにより、復号化処理は単なる変換ROMのリードだけで完了することとなる。もちろん、復号化アルゴリズムに従って計算して求めることも可能であるが、今日のハードウェアの集積技術及びゲート単価からすれば、変換ROMを用意する方がメリットは大きいであろう。
なお、ITU−T勧告G.711以外の符号化の場合は、復号化処理は当該符号化で規定されているアルゴリズムに準拠した処理を実施するものとする。
(16)式から明白ではあるが、SL(n)はL(n+i)についての0≦i<Rサンプル区間の平均値に相当する。相関演算の精度として高精度を所望するときはRの値を小さく選定し、低精度で良いときはRの値を大きくすれば良い。
若しくは、代替え処理として、カットオフ周波数をナイキスト周波数(標本化周波数の1/2相当)の1/Rに設定した低域通過フィルタを用意し、入力信号を当該フィルタに入力し、当該フィルタの出力をRサンプルにつき1回の割合で間引いても良い。
積分器202は、(10)式に現れているX(n)を出力し、積分器206は、(10)式に現れているY(n)を出力する。
[2値符号化器]
各2値符号化器203、207はそれぞれ、上述した(11)式を修正した計算式に従って積分器202、206から出力される信号を1ビット情報に変換する。すなわち、(11)式は−1と+1の2値に変換しているが、2値符号化器203、207では(17)式に従って1と0に変換する。(17)式における上バーの付与は、付与されているビット値の否定、つまり、付与されているビット値のビット反転を表している。なお、この明細書では、ビット反転を、反転対象の値を表す符号の前に「/」を付与して表すこととする。
各2値符号化器203、207はそれぞれ、上述した(11)式を修正した計算式に従って積分器202、206から出力される信号を1ビット情報に変換する。すなわち、(11)式は−1と+1の2値に変換しているが、2値符号化器203、207では(17)式に従って1と0に変換する。(17)式における上バーの付与は、付与されているビット値の否定、つまり、付与されているビット値のビット反転を表している。なお、この明細書では、ビット反転を、反転対象の値を表す符号の前に「/」を付与して表すこととする。
なお、処理対象の信号が0及び正値の範囲をとる信号である場合には、処理対象信号から、そのダイナミックレンジの中央値を減算して、正負をとる信号X(n),Y(n)に変換して2値符号化器203、207に入力することを要する。
2値符号化器203は、(15)式に現れているXbin(n)を出力し、2値符号化器207は、(15)式に現れているYbin(n)を出力する。
[シフトレジスタ]
各シフトレジスタ204、208はそれぞれ、対応する2値符号化器203、207から供給されるビット情報を格納する。シフトレジスタ204は、(15)式に現れているXbin(n)を格納し、ビット長はNビットとする。シフトレジスタ208は、(15)式に現れているYbin(n)を格納し、ビット長はN+Mビットとする。シフトレジスタ204、208の詳細動作は、[相関器]の項で説明する。
各シフトレジスタ204、208はそれぞれ、対応する2値符号化器203、207から供給されるビット情報を格納する。シフトレジスタ204は、(15)式に現れているXbin(n)を格納し、ビット長はNビットとする。シフトレジスタ208は、(15)式に現れているYbin(n)を格納し、ビット長はN+Mビットとする。シフトレジスタ204、208の詳細動作は、[相関器]の項で説明する。
[相関器]
次に、(15)式を演算する相関器209について説明する。まず、(15)式のXbin(n−i)∧Ybin(n−k−i),0≦i<Nを演算する構成例について説明する。なお、この明細書においては、排他的論理和演算を表す記号として、+を白丸で囲んだ記号、又は、「∧」を用いている。
次に、(15)式を演算する相関器209について説明する。まず、(15)式のXbin(n−i)∧Ybin(n−k−i),0≦i<Nを演算する構成例について説明する。なお、この明細書においては、排他的論理和演算を表す記号として、+を白丸で囲んだ記号、又は、「∧」を用いている。
実施上の工夫は、変数iの変動範囲0≦i<Nに応じてそれぞれNビットからなるXbin(n−i)とYbin(n−k−i)の排他的論理和をNビット並列に実施し、かつ、変数kの変動範囲0≦k≦Mに対してYbin(n−k−i)を格納しているシフトレジスタ208から常に同じ箇所からNビットの情報を提供させることでハードウェア規模を最小化すると同時に、処理速度を飛躍的に高速化することにある。
上述したように、相関器220は、シフトレジスタ204、208、排他的論理和ゲート群209及び加算・減算器210でなる。図5が、そのうちのシフトレジスタ204、208及び排他的論理和ゲート群209の部分(構成例)を示している。
なお、以下で説明するが、図5の構成例では、kは、M−1を初期値とし、デクリメントしながら0まで変化させており、動作の理解のために、このことに留意すべきである。また、図5では、表記を簡単にするため、排他的論理和ゲート群105からの出力については、Xbin(n)、Ybin(n)と記載すべき所を、単に、X(n)、y(n)と記載している。
一方のシフトレジスタ204は、シリアル入力パラレル出力機能を具備したNビットのシフトレジスタである。シフトレジスタ204は、シリアル入力端子SI、シフトイネーブル入力端子SE、クロック入力端子CK及びパラレル出力端子(このパラレル出力端子に対応する格納部を適宜、レジスタと呼ぶ)Qx(0)〜Qx(N−1)を有する。以下の説明では、入出力端子に係る信号も、入出力端子と同じ符号を用いて説明する。
シフトレジスタ204において、シフトイネーブル信号SEがアクティブであるとき、標本化レートに同期したクロック信号CKに同期して、レジスタQx(N−2)のビット情報はレジスタQx(N−1)にシフトされ、レジスタQx(N−3)のビット情報はレジスタQx(N−2)にシフトされ、以下同様に、レジスタQx(0)のビット情報はレジスタQx(1)にシフトされ、2値符号化器203から入力された信号Xbin(n)はシリアル入力端子SIを経由してレジスタQx(0)に格納される。
従って、時刻nの時点で、当該シフトレジスタ204のパラレル出力端子Qx(0)〜Qx(N−1)には、信号Xbin(n)〜Xbin(n−(N−1))までのNビットが現れ、次の入力信号Xbin(n+1)が入力されるまでの間保持されると同時に、これらNビットXbin(n)〜Xbin(n−(N−1))が排他的論理和ゲート群209に供給される。
他方のシフトレジスタ208は、シリアル入力パラレル出力機能、パラレル入力ローディング機能、並びに、ローテイトシフト機能(巡回シフト機能)を具備したN+M−1ビットのシフトレジスタである。
シフトレジスタ208は、2値符号化器207から出力される1ビット情報を保持し、標本化周期で時系列的にビットシフトされ、かつ、1つの標本化周期内で一定回数ローテイトシフトされ、かつ、このローテイトシフト後に再度2値符号化器207から出力される1ビット情報を入力する際に、前回入力時から1ビットシフトした状態にすることが可能なローディング機能を有する。
シフトレジスタ208は、シリアル入力端子SI、シフトイネーブル入力端子SE、ロードイネーブル入力端子LE、クロック入力端子CK、パラレル入力端子Dy(0)〜Dy(N+M−1)、及び、パラレル出力端子Qy(0)〜Qy(N+M−1)を有する。
パラレル出力端子(レジスタ)Qy(M−1)〜Qy(N+M−1)のNビットは排他的論理和ゲート群209に接続され、シリアル入力端子SIには当該シフトレジスタ208の最終段のレジスタ出力Qk(N+M−1)が入力されるようになされている。
パラレル入力端子Dy(0)には2値符号化器207から出力される信号Ybin(n)が入力され、パラレル入力端子Dy(1)には当該シフトレジスタ208のパラレル出力端子Qy(M)が接続され、…、パラレル入力端子Dy(M−2)には当該シフトレジスタ208のパラレル出力端子Qy((2M−3)mod(N+M))が接続され、パラレル入力端子Dy(M−1)には当該シフトレジスタ208のパラレル出力端子Qy((2M−2)mod(N+M))が接続され、パラレル入力端子Dy(M)には当該シフトレジスタ208のパラレル出力端子Qy((2M−1)mod(N+M))が接続され、パラレル入力端子Dy(M+1)には当該シフトレジスタ208のパラレル出力端子Qy((2M)mod(N+M))が接続され、…、パラレル入力端子Dy(N+M−2)には当該シフトレジスタ208のパラレル出力端子Qy(M−3)が接続され、パラレル入力端子Dy(N+M−1)には当該シフトレジスタ208のパラレル出力端子Qy(M−2)が接続されている。
ここで、s mod tは、tを法としたときのsの剰余を表す。例えば、9 mod8=1である。上述したシフトレジスタ208のパラレル出力端子からパラレル入力端子へのフィードバック経路を、このmodを使用して汎用的に表現すると、パラレル入力端子Dy(x)にはパラレル出力端子Qy((x+M−1)mod(N+M))が接続されている。但し、x≠0とする。なお、シフトレジスタ208を上述のように接続する理由は後述する。
シフトレジスタ208のロードイネーブル信号LEがアクティブであるとき、クロック信号CKに同期して、パラレル入力端子Dy(0)〜Dy(N+M−1)のビット情報はパラレル出力端子Qy(0)〜Qy(N+M−1)にローディングされる。これに対して、シフトレジスタ208のシフトイネーブル信号SEがアクティブであるとき、クロック信号CKに同期して、レジスタQy(0)のビット情報はレジスタQy(1)にシフトされ、レジスタQy(1)のビット情報はレジスタQy(2)にシフトされ、以下同様に、レジスタQy(N+M−2)のビット情報はレジスタQy(N+M−1)にシフトされる。但し、最終段のレジスタQy(N+M−1)のビット情報は、シリアル入力端子SIを経由して、レジスタQy(0)にローテイトシフトされる。なお、ロードイネーブル信号LEとシフトイネーブル信号SEとが、同時にアクティブになることはない。
時刻nの時点で、シフトレジスタ208のロードイネーブル信号LEをアクティブし、2値符号化器207からの出力信号Ybin(n)を当該シフトレジスタ208のレジスタQy(0)にローディングする。次に、シフトレジスタ208のロードイネーブル信号LEをインアクティブにし、シフトイネーブル信号SEをアクティブにし、クロック信号CKに同期して、M回ほどシフトさせる。この動作は、2値符号化器207からの次の信号Ybin(n+1)が入力されるまでの間に完了しなければならない。よって、シフトレジスタ208のクロック信号CKの周波数をfckとし、信号Ybin(n)の標本化周波数をfsとするときには、(18)式に示す関係を成立させておかなければならない。こうすることにより、(15)式の要素別の演算を、1標本化周期内に、0≦i≦N−1,0≦k≦Mについて、M+1マシンサイクルで実施することが可能となる。
fck≧(M+1)・fs …(18)
なお、シフトレジスタ208をMビットほどシフトさせた時点で、信号Ybin(n)はレジスタQy(M)に移動している。この信号Ybin(n)は、次の信号(ビット情報)Ybin(n+1)が到来した際にはレジスタQy(1)にローディングさせる必要がある。これが、上述したシフトレジスタ208のパラレル出力端子を自身のパラレル入力端子にツイストして接続している理由である。
なお、シフトレジスタ208をMビットほどシフトさせた時点で、信号Ybin(n)はレジスタQy(M)に移動している。この信号Ybin(n)は、次の信号(ビット情報)Ybin(n+1)が到来した際にはレジスタQy(1)にローディングさせる必要がある。これが、上述したシフトレジスタ208のパラレル出力端子を自身のパラレル入力端子にツイストして接続している理由である。
ところで、上述したように、シフトレジスタ208のパラレル出力端子Qy(M)〜Qy(N+M−1)のNビットが排他的論理和ゲート群209に出力されているので、当該シフトレジスタ208のローディング時に、これは(15)式においてk=Mのときに対応し、次に、当該シフトレジスタ208がビットシフトされるごとに、K=M,M−1,…,0の順序で、(15)式の0≦i<Nについてのパラレル論理演算が合計M+1回実施されることとなる。
排他的論理和ゲート群209は、N個の排他的論理和ゲートで構成され、2個のシフトレジスタ204及び208から、それぞれ出力されているNビットの信号を入力とし、(15)式の0≦i<Nについての排他的論理和演算を1マシンサイクルで実施し、Nビットの演算結果情報は、加算・減算器210器に供給される。
加算・減算器210は、排他的論理和ゲート群209から出力されるNビットの情報中の論理値が1となっているビット数を符号無し整数で算出し、当該算出結果を2倍し、さらに、符号ビットを付与して符号付き整数にすることで、(19)式に示すような、上述した(15)式の右辺第2項の値を算出し、その後、Nから算出値を減算することで(15)式を完全に演算する。
図6は、加算・減算器210の具体的な構成例を示すブロック図である。図6において、加算・減算器210は、第1ステージ〜第rステージの符号無し整数加算器と、MSB・LSB付加部と、減算器とを有する。ここで、r=ceil(log2N)であり、関数ceil(x)はセイリング関数であり、x未満ではない最小の整数を表している。
まず、第1ステージでは、Nビットの信号を2つずつペアを取り、符号無し整数加算器に入力して加算する。なお、図6では、Nを偶数として描いているが、奇数の場合には、ペアを取った後の残り1ビットは次の第2ステージの入力となる。この奇偶による構成の違いは、第2ステージ以降でも同様である。なお、第1ステージにおける符号無し整数加算器の数は、Nが偶数の場合にはN/2個であり、Nが奇数の場合には(N−1)/2個である。
第1ステージの加算結果はそれぞれ、第2ステージの符号無し整数加算器に入力され、第1ステージと同様に、2つずつペアを取った加算が実行される。以後、このような処理が、ステージに所属する符号無し整数加算器が1個の第rステージまで繰り返し実行される。
最終段である第rステージの符号無し整数加算器の出力は、(19)式に示す値の半分であり、この値の最大値はNであるから、これは、符号無し整数のビット数Rで換算すると、R=floor(log2N)+1となる。ここで、floor(x)はフロア関数であり、xを超過しない最大の整数を表す。
第rステージの符号無し整数加算器のRビット出力に対し、「0」でなるLSBを追加することで、第rステージの符号無し整数加算器のRビット出力を2倍し、かつ、第rステージの符号無し整数加算器のRビット出力に対し、「0」でなるMSBを追加することで、符号付き整数に変換している。
その後、減算器において、NからMSB・LSB付加部の出力((15)式の右辺第2項)を減算し、(15)式の演算を完全に実行する。
ところで、図6に示す加算・減算器210の演算は、第1ステージから最終ステージ(第rステージ)まで1マシンサイクルで実施できることを想定している。しかし、rが大きくなると加算・減算器210での処理遅延が増大し、1マシンサイクルでは実施できない可能性がでてくる。このような場合には、クロック信号に同期して入力信号を保持することが可能なレジスタを適切なステージ間隔で配備すれば良い。すなわち、このようにパイプライン演算とすることで、処理遅延は増大するものの、処理スループットは低減しないこととなり、(15)式をM+1マシンサイクル周期で実施することを可能とする。
[有意性判定器]
有意性判定器211は、相関器220から出力されるM+1個の相関係数N・Corrsgn(n,0)〜N・Corrsgn(n,M)の絶対値を取り、これらの中から最大の極大値と2番目に大きな極大値を選定し、その比率(2番目の極大値/最大極大値)がある閾値以下であるならば、有意と判定する。このようにする理由は、音声信号の場合、ピッチや母音などにより繰り返し波形が現れ、短い周期でほぼ同一レベルの相互相関係数がほぼ周期的に現れることがあるからである。これに対して、音声信号の代わりに白色雑音を使用した場合は、相互相関係数はインパルス関数のような振る舞いを見せる。よって、音声信号の中に現れるピッチや母音によって伝搬遅延時間を誤って推定することがないように、上述した方法で有意性を判定する。
有意性判定器211は、相関器220から出力されるM+1個の相関係数N・Corrsgn(n,0)〜N・Corrsgn(n,M)の絶対値を取り、これらの中から最大の極大値と2番目に大きな極大値を選定し、その比率(2番目の極大値/最大極大値)がある閾値以下であるならば、有意と判定する。このようにする理由は、音声信号の場合、ピッチや母音などにより繰り返し波形が現れ、短い周期でほぼ同一レベルの相互相関係数がほぼ周期的に現れることがあるからである。これに対して、音声信号の代わりに白色雑音を使用した場合は、相互相関係数はインパルス関数のような振る舞いを見せる。よって、音声信号の中に現れるピッチや母音によって伝搬遅延時間を誤って推定することがないように、上述した方法で有意性を判定する。
有意性判定器211は、ハードウェアによって構成することもでき、また、CPUが実行するソフトウェアによって構成することもできる。以下では、有意性判定器211が、CPUが実行するソフトウェア(有意性判定プログラム)によって構成された場合の例を説明する。
図7は、C言語で記述された有意性判定プログラムを示している。図7において、Corr(i)は(15)式で算出されるN・Corr(n,i)の絶対値である|N・Corr(n,i)|を表している。また、max1は最も大きな極大値を格納するパラメータ、max2は2番目に大きな極大値を格納するパラメータ、delayは最も大きな極大値max1を与えている時刻(伝搬遅延時間)を格納するパラメータ、rは2番目の極大値/最大極大値が比較される閾値を規定する値、validは有意か否かを格納するパラメータである。
図7において、符号301で示した部分は、各パラメータを初期化している部分である。符号302で示した部分は、iがM−1から1まで1デクリメントさせながらの繰返し実行される処理ループであり、Corr(1)〜Corr(M−1)の中から最も大きな極大値max1と2番目に大きな極大値max2とを求めている部分である。最も大きな極大値max1を求める際には同時にそのときの時刻(伝搬遅延時間)delayを求めている。処理ループでは、Corr(i)を前後のCorr(i−1)及びCorr(i+1)と比較して極大値であるか否かを捉え、極大値であれば、それまでの最も大きな極大値max1と2番目に大きな極大値max2と比較し、今回の極大値の大きさに応じて適宜最も大きな極大値max1、2番目に大きな極大値max2を更新している。
符号303で示した部分は、前後のCorr(i−1)及びCorr(i+1)の一方しか存在しないCorr(0)について、それまでの最も大きな極大値max1と2番目に大きな極大値max2と比較し、今回のCorr(0)の大きさに応じて適宜最も大きな極大値max1、2番目に大きな極大値max2を更新する部分である。
符号304で示した部分は、前後のCorr(i−1)及びCorr(i+1)の一方しか存在しないCorr(M)について、それまでの最も大きな極大値max1と2番目に大きな極大値max2と比較し、今回のCorr(M)の大きさに応じて適宜最も大きな極大値max1、2番目に大きな極大値max2を更新する部分である。
符号305で示した部分は、2番目の極大値/最大極大値がある閾値r以下であるか否かを比較し、以下であれば、求められた遅延時間(delay)の値を有意(valid=1)と判定する部分である。
なお、閾値rの値11/16(=1/2+1/8+1/16)は単なる暫定値でしかない。実環境に合わせて決定されるべきである。但し、C言語記述の最後から2行目に(r*max1)=max2なる処理があるが、r*max1に関しては、必ずしも乗算器による乗算を実施する必要はなく、前記したr=11/16(=1/2+1/8+1/16)とすることで、(max1を1ビット算術右シフト)+(max1を3ビット算術右シフト)+(max1を4ビット算術右シフト)とすることで、r*max1を算出できるからである。乗算器はハードウェア規模を増大させる主要因になるため、極力乗算器の実装は回避することが望ましい。すなわち、図7の処理をハードウェア化した場合に、乗算器の実装を回避することができる。
また、forループにおいて、iの範囲を0〜Mとしなかったのは、上述のように、Corr(0)とCorr(M)は極大値になりえないからである。このため、ループを抜けた後で、Corr(0)、Corr(M)とmax値の比較を実施しているのである。ダミーでCorr(−1)=Corr(M+1)=0を用意できるのであれば、forループだけで統一的な処理が可能であろう。
ところで、図7に示す有意性判定プログラム(有意性判定アルゴリズム)をハードウェアでM+1マシンサイクルで実施するようにハードウェアで実現することは、当業者であるならば容易である。
[前方/後方保護部]
有意性判定器211で有意であると判定された推定遅延時間は、前方/後方保護部212において、ある一定回数連続して同じ値が有意であると、これを遅延時間と認める前方保護を施し、一旦認められた後で、これとは異なる値の推定遅延時間がある一定回数連続して同じ値であると、これを新たな遅延時間として認める後方保護部を施す。これらの保護動作を介して推定遅延時間が回線エコーキャンセラ2200に出力される。
有意性判定器211で有意であると判定された推定遅延時間は、前方/後方保護部212において、ある一定回数連続して同じ値が有意であると、これを遅延時間と認める前方保護を施し、一旦認められた後で、これとは異なる値の推定遅延時間がある一定回数連続して同じ値であると、これを新たな遅延時間として認める後方保護部を施す。これらの保護動作を介して推定遅延時間が回線エコーキャンセラ2200に出力される。
以上が、本発明の実施形態の説明である。
(A−3)実施形態の効果
[効果1]少ない演算量
2つの離散的時間信号X(n)とY(n)の(10)式で表す正規化相互相関係数Corr(n,k)の演算量と、実施形態における、X(n)とY(n)を2値化したときの(15)式で表す正規化相互相関係数N・Cnrrsgn(n,k)の演算墨を0≦i<N,0≦k≦Mの条件で比較する。ここで、一般に、ハードウェアによる積和演算a・b+cに要する演算量は1マシンサイクルとする。
[効果1]少ない演算量
2つの離散的時間信号X(n)とY(n)の(10)式で表す正規化相互相関係数Corr(n,k)の演算量と、実施形態における、X(n)とY(n)を2値化したときの(15)式で表す正規化相互相関係数N・Cnrrsgn(n,k)の演算墨を0≦i<N,0≦k≦Mの条件で比較する。ここで、一般に、ハードウェアによる積和演算a・b+cに要する演算量は1マシンサイクルとする。
(10)式による正規化相互相関係数の算出には、N(M+1)マシンサイクルとなる。但し、正規化処理で必要とされる積和、除算、平方根の演算量は無視する。これに対して、(15)式に従う実施形態で要する演算量はM+1マシンサイクルである。なお、実施形態の説明で触れたように、実現回路の素子遅延対策のためにラッチレジスタを用意した場合、演算に要する時間はM+1マシンサイクルを超過するものの、演算スループットはM+1マシンサイクル毎に(15)式に従った相互相関係数をM+1個算出でき、このことは注目に値する。故に、実施形態は、伝搬遅延時間の算出に際し必要となる相互相関係数の演算量を1/Nに低減している。
また、実施形態による入力信号の積分器による間引きを実施すればさらに処理量の低減化を図ることができる。
[効果2]乗算/除算/平方根の排除
一般に、乗算、除算、平方根演算と加算演算を比較すると、ハードウェア規模と処理時間はいずれも加算演算の方が小さい。実施形態は、伝搬遅延時間の推定に際し、演算量が支配的となる相互相関演算を(15)式に従って処理するので、乗算、除算、平方根演算が不要であり、ハードウェア規模、処理時間、消費電力を大幅に低減化することを可能としている
[効果3]遅延時間の誤推定防止
相関係数の最大極大値と2番目の極大値の比率を監視して有意性を判定し、かつ、有意な相関係数が一定回数連続一致することを確認して遅延時間を推定するようにしたので、音声信号中に現れるピッチや母音などの繰り返し波形が要因となる遅延時間の誤った推定を防止することができる。
一般に、乗算、除算、平方根演算と加算演算を比較すると、ハードウェア規模と処理時間はいずれも加算演算の方が小さい。実施形態は、伝搬遅延時間の推定に際し、演算量が支配的となる相互相関演算を(15)式に従って処理するので、乗算、除算、平方根演算が不要であり、ハードウェア規模、処理時間、消費電力を大幅に低減化することを可能としている
[効果3]遅延時間の誤推定防止
相関係数の最大極大値と2番目の極大値の比率を監視して有意性を判定し、かつ、有意な相関係数が一定回数連続一致することを確認して遅延時間を推定するようにしたので、音声信号中に現れるピッチや母音などの繰り返し波形が要因となる遅延時間の誤った推定を防止することができる。
(B)他の実施形態
上記実施形態では、本発明による伝搬遅延時間推定器及び伝搬遅延時間推定方法を、回線エコーキャンセラに関連して適用しているが、音響エコーキャンセラに関連して適用することもできる。
上記実施形態では、本発明による伝搬遅延時間推定器及び伝搬遅延時間推定方法を、回線エコーキャンセラに関連して適用しているが、音響エコーキャンセラに関連して適用することもできる。
また、エコーキャンセラに関係する伝搬遅延時間以外の伝搬遅延時間の推定にも、本発明による伝搬遅延時間推定器及び伝搬遅延時間推定方法を適用可能である。例えば、レーダーやソナーシステムにおいては送信波と目標物からの反射波の時間差(相互相関)を計測しており、このようなシステムにも応用可能である。さらには、同一信号が異なる伝送路を介して同一点に到達するような場合における伝搬遅延時間の差を推定する場合にも、本発明を適用することができ、特許請求の範囲における「伝搬遅延時間」には、このような伝搬遅延時間の差を含むものとする。
200:電話通信システム、201、205:復号化器、202、206:積分器、203、207:2値符号化器、204、208:シフトレジスタ、209:排他的論理和ゲート群、210:加算・減算器、211:有意性判定器、212:前方/後方保護部、220:相関器、2100:伝搬遅延時間推定器、2200:回線エコーキャンセラ。
Claims (5)
- 当初は同一信号であった2種類の離散的時間信号の時間差である伝搬遅延時間を推定する伝搬遅延時間推定器において、
離散的時間信号X(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた1ビット信号Xbin(n)に変換する第1の2値符号化手段と、
離散的時間信号Y(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた1ビット信号Ybin(n)に変換する第2の2値符号化手段と、
上記第1及び第2の2値符号化手段からの1ビット信号Xbin(n)及びYbin(n)に基づき、(A)式に従う演算を実行し、その演算結果を、離散的時間信号X(n)及びY(n)の時間差kの上記相互相関係数Corr(n,k)の定数倍として出力する相関演算手段と、
時間差kが0≦k≦Mの範囲における上記相互相関係数Corr(n,k)の中で最大値を与えるkに基づいて、伝搬遅延時間を推定して出力する伝搬遅延時間推定手段と
を有することを特徴とする伝搬遅延時間推定器。
- 符号化された第1の入力信号を加減乗除可能な第1の線形信号に復号化する第1の復号化手段と、
一定時間区間の第1の線形信号を累和し、一定時間区間ごとに結果を出力する、若しくは、第1の線形信号のナイキスト周波数の整数分の1の周波数を遮断周波数をとする低域通過フィルタを用意し、その出力を前記整数分の1ごとに間引き、上記離散的時間信号X(n)として、上記第1の2値符号化手段に与える第1の積分手段と、
符号化された第2の入力信号を加減乗除可能な第2の線形信号に復号化する第2の復号化手段と、
一定時間区間の第2の線形信号を累和し、一定時間区間ごとに結果を出力する、若しくは、第2の線形信号のナイキスト周波数の整数分の1の周波数を遮断周波数をとする低域通過フィルタを用意し、その出力を前記整数分の1ごとに間引き、上記離散的時間信号Y(n)として、上記第2の2値符号化手段に与える第2の積分手段と
をさらに有することを特徴とする請求項1に記載の伝搬遅延時間推定器。 - 上記相関演算手段は、
上記第1の2値符号化手段からの1ビット信号Xbin(n)を、少なくとも(A)式で必要となるNビット分だけ保持、出力する第1のNビット信号保持部と、
上記第2の2値符号化手段からの1ビット信号Ybin(n)を、少なくとも(A)式で必要となるNビット分だけ保持、出力する第2のNビット信号保持部と、
上記第1及び第2のNビット信号保持手段から出力された計Nビットの1ビット信号に対し、ビット単位に排他的論理和演算を行う排他的論理和演算部と、
Nビットの排他的論理和演算の出力の中から論理「1」のビット数を整数値に変換すると共に、この整数値を2倍する総和・2倍化部と、
Nから、上記総和・2倍化部による整数値を減算する減算部と
を有することを特徴とする請求項1又は2に記載の伝搬遅延時間推定器。 - 上記伝搬遅延時間推定手段は、
時間差kが0≦k≦Mの範囲における上記相互相関係数Corr(n,k)の絶対値の最大の極大値と、その次に大きな極大値を求め、これら2つの極大値の比率と前もって定めておいた閾値を比較することで、相関係数の有意性を判定すると共に、有意であるときに最大極大値に係る時間差kを伝搬遅延時間の推定候補として出力する有意性判定部と、
上記有意性判定部から出力された伝搬遅延時間の推定候補の連続一致回数が前もって定めた閾値を超過するときに、当該推定候補を正式に伝搬遅延時間として認める前方保護機能と、これ以降に、異なる値を有する推定候補の連続一致回数が前もって定めた閾値を超過するときに、当該推定候補を新たな伝搬遅延時間とする後方保護機能とを実行する前方/後方保護部と
を有することを特徴とする請求項1〜3のいずれかに記載の伝搬遅延時間推定器。 - 当初は同一信号であった2種類の離散的時間信号の時間差である伝搬遅延時間を推定する伝搬遅延時間推定方法において、
第1の2値符号化手段、第2の2値符号化手段、相関演算手段及び伝搬遅延時間推定手段を備え、
上記第1の2値符号化手段は、離散的時間信号X(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた1ビット信号Xbin(n)に変換し、
上記第2の2値符号化手段は、離散的時間信号Y(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた1ビット信号Ybin(n)に変換し、
上記相関演算手段は、上記第1及び第2の2値符号化手段からの1ビット信号Xbin(n)及びYbin(n)に基づき、(B)式に従う演算を実行し、その演算結果を、離散的時間信号X(n)及びY(n)の時間差kの上記相互相関係数Corr(n,k)の定数倍として出力し、
上記伝搬遅延時間推定手段は、時間差kが0≦k≦Mの範囲における上記相互相関係数Corr(n,k)の中で最大値を与えるkに基づいて、伝搬遅延時間を推定して出力する
ことを特徴とする伝搬遅延時間推定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006347774A JP2008160536A (ja) | 2006-12-25 | 2006-12-25 | 伝搬遅延時間推定器及び伝搬遅延時間推定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006347774A JP2008160536A (ja) | 2006-12-25 | 2006-12-25 | 伝搬遅延時間推定器及び伝搬遅延時間推定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008160536A true JP2008160536A (ja) | 2008-07-10 |
Family
ID=39660938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006347774A Pending JP2008160536A (ja) | 2006-12-25 | 2006-12-25 | 伝搬遅延時間推定器及び伝搬遅延時間推定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008160536A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114001758A (zh) * | 2021-11-05 | 2022-02-01 | 江西洪都航空工业集团有限责任公司 | 一种捷联导引头捷联解耦准确确定时间延迟的方法 |
-
2006
- 2006-12-25 JP JP2006347774A patent/JP2008160536A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114001758A (zh) * | 2021-11-05 | 2022-02-01 | 江西洪都航空工业集团有限责任公司 | 一种捷联导引头捷联解耦准确确定时间延迟的方法 |
CN114001758B (zh) * | 2021-11-05 | 2024-04-19 | 江西洪都航空工业集团有限责任公司 | 一种捷联导引头捷联解耦准确确定时间延迟的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2792252B2 (ja) | 多チャンネルエコー除去方法および装置 | |
JPH09121172A (ja) | データ伝送装置 | |
CA2020804C (en) | Adaptive echo canceller | |
JP4445041B2 (ja) | 適応デュアルフィルタによるエコーキャンセレーション | |
JPH0548546A (ja) | 信号伝送装置 | |
JPH0234498B2 (ja) | ||
JP2008160536A (ja) | 伝搬遅延時間推定器及び伝搬遅延時間推定方法 | |
CN107316652B (zh) | 侧音消除方法及装置 | |
US6963643B1 (en) | Method and apparatus for canceling echo in a telephone communication system | |
JP2010118793A (ja) | 伝搬遅延時間推定器、プログラム及び方法、並びにエコーキャンセラ | |
JP2005012294A (ja) | Adpcm方式復号器 | |
JP2002164819A (ja) | エコーキャンセラ | |
KR20000076828A (ko) | 고속 하다마르 변환 장치 및 이를 사용한 통신 수신기에의해 수신된 신호 블록 복조 방법 | |
JP2009212953A (ja) | 伝搬遅延時間推定器、プログラム及び方法、並びにエコーキャンセラ | |
JP2008158855A (ja) | 相関演算器及び相関演算方法 | |
JP2850826B2 (ja) | 多チャネルエコー除去方法及び装置 | |
KR100271004B1 (ko) | 간이 교환시스템에서의 화이트 잡음 제거회로 | |
JP2804689B2 (ja) | ループ型n−1加算方式 | |
JPH1041860A (ja) | エコーキャンセラ | |
JPS62159925A (ja) | エコ−除去装置 | |
RU2379842C1 (ru) | Способ передачи и приема цифровой информации | |
JP3523243B1 (ja) | ノイズ低減装置 | |
George et al. | Hardware Implementation of Adaptive-Differential Pulse Code Modulation Speech Compression Algorithm | |
RU2057396C1 (ru) | Устройство для сжатия данных | |
JPS6173432A (ja) | エコ−除去装置 |