(57)【要約】【課題】  わずかな処理量や小規模のハードウェアで効率よく伝搬遅延時間を推定する。【解決手段】  本発明は、当初は同一信号であった２種類の離散的時間信号の時間差である伝搬遅延時間を推定する伝搬遅延時間推定器に関する。離散的時間信号Ｘ（ｎ），Ｙ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた１ビット信号Ｘｂｉｎ（ｎ），Ｙｂｉｎ（ｎ）に変換する第１及び第２の２値符号化手段と、１ビット信号Ｘｂｉｎ（ｎ）及びＹｂｉｎ（ｎ）間の相互相関を演算する相関演算手段と、時間差ｋが０≦ｋ≦Ｍの範囲における相互相関係数Ｃｏｒｒ（ｎ，ｋ）の中で最大値を与えるｋに基づいて、伝搬遅延時間を推定する伝搬遅延時間推定手段とを有する。【選択図】      図１
2008160536.tif 000002
【特許請求の範囲】
【請求項１】
当初は同一信号であった２種類の離散的時間信号の時間差である伝搬遅延時間を推定する伝搬遅延時間推定器において、
離散的時間信号Ｘ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた１ビット信号Ｘｂｉｎ（ｎ）に変換する第１の２値符号化手段と、
離散的時間信号Ｙ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた１ビット信号Ｙｂｉｎ（ｎ）に変換する第２の２値符号化手段と、
上記第１及び第２の２値符号化手段からの１ビット信号Ｘｂｉｎ（ｎ）及びＹｂｉｎ（ｎ）に基づき、（Ａ）式に従う演算を実行し、その演算結果を、離散的時間信号Ｘ（ｎ）及びＹ（ｎ）の時間差ｋの上記相互相関係数Ｃｏｒｒ（ｎ，ｋ）の定数倍として出力する相関演算手段と、
時間差ｋが０≦ｋ≦Ｍの範囲における上記相互相関係数Ｃｏｒｒ（ｎ，ｋ）の中で最大値を与えるｋに基づいて、伝搬遅延時間を推定して出力する伝搬遅延時間推定手段と
を有することを特徴とする伝搬遅延時間推定器。
【数１】
2008160536.tif 000017
但し、Ｎは相関の算出に用いられる各信号のサンプル数であり、＋を丸で囲んだ記号は排他的論理和演算を表している。
【請求項２】
符号化された第１の入力信号を加減乗除可能な第１の線形信号に復号化する第１の復号化手段と、
一定時間区間の第１の線形信号を累和し、一定時間区間ごとに結果を出力する、若しくは、第１の線形信号のナイキスト周波数の整数分の１の周波数を遮断周波数をとする低域通過フィルタを用意し、その出力を前記整数分の１ごとに間引き、上記離散的時間信号Ｘ（ｎ）として、上記第１の２値符号化手段に与える第１の積分手段と、
符号化された第２の入力信号を加減乗除可能な第２の線形信号に復号化する第２の復号化手段と、
一定時間区間の第２の線形信号を累和し、一定時間区間ごとに結果を出力する、若しくは、第２の線形信号のナイキスト周波数の整数分の１の周波数を遮断周波数をとする低域通過フィルタを用意し、その出力を前記整数分の１ごとに間引き、上記離散的時間信号Ｙ（ｎ）として、上記第２の２値符号化手段に与える第２の積分手段と
をさらに有することを特徴とする請求項１に記載の伝搬遅延時間推定器。
【請求項３】
上記相関演算手段は、
上記第１の２値符号化手段からの１ビット信号Ｘｂｉｎ（ｎ）を、少なくとも（Ａ）式で必要となるＮビット分だけ保持、出力する第１のＮビット信号保持部と、
上記第２の２値符号化手段からの１ビット信号Ｙｂｉｎ（ｎ）を、少なくとも（Ａ）式で必要となるＮビット分だけ保持、出力する第２のＮビット信号保持部と、
上記第１及び第２のＮビット信号保持手段から出力された計Ｎビットの１ビット信号に対し、ビット単位に排他的論理和演算を行う排他的論理和演算部と、
Ｎビットの排他的論理和演算の出力の中から論理「１」のビット数を整数値に変換すると共に、この整数値を２倍する総和・２倍化部と、
Ｎから、上記総和・２倍化部による整数値を減算する減算部と
を有することを特徴とする請求項１又は２に記載の伝搬遅延時間推定器。
【請求項４】
上記伝搬遅延時間推定手段は、
時間差ｋが０≦ｋ≦Ｍの範囲における上記相互相関係数Ｃｏｒｒ（ｎ，ｋ）の絶対値の最大の極大値と、その次に大きな極大値を求め、これら２つの極大値の比率と前もって定めておいた閾値を比較することで、相関係数の有意性を判定すると共に、有意であるときに最大極大値に係る時間差ｋを伝搬遅延時間の推定候補として出力する有意性判定部と、
上記有意性判定部から出力された伝搬遅延時間の推定候補の連続一致回数が前もって定めた閾値を超過するときに、当該推定候補を正式に伝搬遅延時間として認める前方保護機能と、これ以降に、異なる値を有する推定候補の連続一致回数が前もって定めた閾値を超過するときに、当該推定候補を新たな伝搬遅延時間とする後方保護機能とを実行する前方／後方保護部と
を有することを特徴とする請求項１〜３のいずれかに記載の伝搬遅延時間推定器。
【請求項５】
当初は同一信号であった２種類の離散的時間信号の時間差である伝搬遅延時間を推定する伝搬遅延時間推定方法において、
第１の２値符号化手段、第２の２値符号化手段、相関演算手段及び伝搬遅延時間推定手段を備え、
上記第１の２値符号化手段は、離散的時間信号Ｘ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた１ビット信号Ｘｂｉｎ（ｎ）に変換し、
上記第２の２値符号化手段は、離散的時間信号Ｙ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた１ビット信号Ｙｂｉｎ（ｎ）に変換し、
上記相関演算手段は、上記第１及び第２の２値符号化手段からの１ビット信号Ｘｂｉｎ（ｎ）及びＹｂｉｎ（ｎ）に基づき、（Ｂ）式に従う演算を実行し、その演算結果を、離散的時間信号Ｘ（ｎ）及びＹ（ｎ）の時間差ｋの上記相互相関係数Ｃｏｒｒ（ｎ，ｋ）の定数倍として出力し、
上記伝搬遅延時間推定手段は、時間差ｋが０≦ｋ≦Ｍの範囲における上記相互相関係数Ｃｏｒｒ（ｎ，ｋ）の中で最大値を与えるｋに基づいて、伝搬遅延時間を推定して出力する
ことを特徴とする伝搬遅延時間推定方法。
【数２】
2008160536.tif 000018
但し、Ｎは相関の算出に用いられる各信号のサンプル数であり、＋を丸で囲んだ記号は排他的論理和演算を表している。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は伝搬遅延時間推定器及び伝搬遅延時間推定方法に関し、例えば、電話回線のエコー信号を消去する回線エコーキャンセラからエコー信号発生地点までの往復伝搬遅延時間を推定する場合に適用し得る。
【背景技術】
【０００２】
［技術的背景］
エコー反射点までの往復伝搬遅延時間が大きな回線エコーキャンセラの配備例を、図２に示す。なお、図２においては、２線伝送路１０１、１０２、１０３、１０４を便宜上１本の線で描いている。
【０００３】
伝送路１０１は、電話機１０８に対向する図示しない対向側の電話機から送信されてくる音声信号ｘ（ｎ）の伝搬経路であり、回線エコーキャンセラ１０５並びに中継網１０６を介して２線／４線変換器１０７に接続されている。音声信号ｘ（ｎ）は、２線／４線変換器１０７を介して電話機１０８に到達し、また、これと同時に、２線／４線変換器１０７でのインピーダンス不整合のため、その一部が反射し、信号ｙ（ｎ）として２線伝送路１０３及び中継網１０６を介して、回線エコーキャンセラ１０５に与えられる。このエコー信号ｙ（ｎ）は、回線エコーキャンセラ１０５で消去されるが、一般には、完全消去することは不可能なので残留エコー信号ｅ（ｎ）が２線伝送路１０４を介して、対向側の電話機に戻っていく。
【０００４】
次に、回線エコーキャンセラ１０５で一般的に実用されている代表的なエコー消去アルゴリズムである学習同定法について説明する。なお、これ以降、特に断らない限り、信号は、ある標本化レートで量子化された離散値系信号と見なし、時間は標本化周期を１単位時間とする離散時間ｎで表記することとする。
【０００５】
エコー消去アルゴリズムにおいて、回線エコーキャンセラ１０５から見た電話機１０８側のエコー経路を線形シフト不変システムと見なし、具体的には、Ｎ次の有限インパルス応答型フィルタと見なす。当該フィルタのタップ係数をｈ（ｋ）、また、回線エコーキャンセラ１０５が推定する当該フィルタの時刻ｎの時点でのタップ係数を＾ｈｎ（ｋ）、回線エコーキャンセラ１０５が推定するエコー信号を＾ｙ（ｎ）と表すと、当該アルゴリズムは（１）式で表すことができる。
【数３】
2008160536.tif 000003
【０００６】
（１）式において、μは＾ｈｎ（ｋ）の収束速度を決定するパラメータであり、通常、０＜μ＜２の範囲に設定される。
【０００７】
次に、回線エコーキャンセラ１０５とエコー反射点である２線／４線変換器１０７との間の往復伝搬距離は長く、また、中継網１０６の内部に配置されている各種ネットワーク装置による処理遅延により、回線エコーキャンセラ１０５と２線／４線変換器１０７との間の往復伝搬遅延時間Ｔｒｔは十分に大きいものとする。ここで、Ｔｒｔ＝ＮＤＬＹとし、この遅延をｚ関数による伝達関数ＨＤＬＹ（ｚ）で表すと、(２)式に示すようになる。また、２線／４線変換器１０７を有限インパルス応答型フィルタと見なしたときのフィルタ次数をＮＨＹＢ、当該フィルタのタップ係数をｈ（０），ｈ（１），…，ｈ（ＮＨＹＢ）とし、当該フィルタのｚ関数による伝達関数をＨＨＹＢ（ｚ）で表すと、(３)式に示すようになる。
【数４】
2008160536.tif 000004
【０００８】
従って、このときのエコー経路のｚ関数による伝達関数をＨＥＰ（ｚ）で表すと、(４)式に示すようになる。（４）式で表されるエコー経路の伝達関数の入出力信号をそれぞれｘ（ｎ）,ｙ（ｎ）とし、これらのｚ変換をＸ（ｚ）、Ｙ（ｚ）とすると、（５）式に示す関係が成立する。（５）式において、ｚ−ＮＤＬＹＸ（ｚ）は時間領域において、入力信号ｘ（ｎ）をＮＤＬＹ単位時間だけ遅延させることを意味する。実際、（５）式を逆ｚ変換により時間領域に変換すると（６）式を得る。
【数５】
2008160536.tif 000005
【０００９】
ここで、（１）式に従ってエコー推定を実施する回線エコーキャンセラ１０５の推定器のフィルタ次数Ｎと、ＮＤＬＹ，ＮＨＹＢとの関係を（７）式のように想定し、（６）式で表されるエコー信号ｙ（ｎ）と（１）式で表せるエコー推定信号＾ｙ（ｎ）とを、（８）式に示すように比較する。
【数６】
2008160536.tif 000006
【００１０】
（８）式において、推定エコー信号＾ｙ（ｎ）の右辺のｘ（ｎ）の係数＾ｈ（ｋ）は、学習によりエコー信号ｙ（ｎ）の右辺のｘ（ｎ）の係数に収束するので、＾ｈ（ｋ）は（９）式に示す値に収束する。
【数７】
2008160536.tif 000007
【００１１】
（９）式は、次のことを示唆している。仮に、前もって、エコー経路の遅延時間が判明しているならば、回線エコーキャンセラ１０５はフィルタ係数＾ｈ（０）〜＾ｈ（ＮＤＬＹ−１）の算出を省略できると同時に＾ｈ（０）〜＾ｈ（ＮＤＬＹ−１）を格納するメモリ領域も節約することができる。実際のところ、２線／４線変換器１０７のインパルス応答時間は、非特許文献１による実測結果によると１６ｍｓｅｃ以内となることが判明しているに対して、エコー経路の遅延時間はネットワークトポロジー、並びに、通信事業者の設備運用方針に依存することとなり、前もって知ることは不可能である。従って、この場合、エコー経路の遅延を推定できる機能を回線エコーキャンセラに具備することが望ましい。これにより、回線エコーキャンセラのエコー推定に関する処理量の低減を可能とし、とりわけ、通信事業者向けＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）ゲートウェイ装置のように多数の音声呼を収容する装置にとっては大きなメリットとなる。
【００１２】
［従来技術による遅延時間推定］
エコー経路の遅延時間を推定する既存の３種類の方法について説明する。
【００１３】
第１の従来方法は、特許文献１などに開示されているものであり、この方法は音声パケットの中に時刻情報を付加し、これにより、遅延時間を算出するものである。この方法について、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）においては、非特許文献２によってさらに汎用的に往復伝搬遅延時間を算出するメカニズムが規定されている。これにより、回線エコーキャンセラに遅延推定器を具備しなくても良いことになる。但し、この方法の適用条件は、エコーを発生する箇所と音声信号をパケット化する箇所の伝搬遅延時間が無視できる場合、かつ、エコー消去対象となる電話機側のインタフェースがＩＰパケットインタフェースである場合に限定される。しかしながら、エコーキャンセラとエコー反射点の間にＩＰ網が介在することは極めて稀である。また、既存固定電話を時分割多重（ＴＤＭ）インタフェースで収容することが一般的となっているＶｏＩＰ装置に搭載する回線エコーキャンセラには、本方式の適用は不可能である。
【００１４】
第２の従来方法は、特許文献２、特許文献３、特許文献４などに開示されているものであり、遅延推定専用の機能を具備することなく、通常のエコー推定処理を実施する。つまり、エコー経路を線形シフト不変システムと見なし、前述した学習同定法などのアルゴリズムを利用してエコー経路の伝達関数を推定し、具体的には（９）式に示す伝達関数の推定係数＾ｈ（ｋ）を算出し、例えば、０≦ｋ≦ｄの範囲で＾ｈ（ｋ）≒０に収束するならば、このｄをエコー経路の遅延時間と見なす。純粋遅延と見なされた推定係数はエコー推定処理から排除することで、エコーキャンセラの処理量の低減を図るものである。
【００１５】
第３の従来方法は、特許文献５、特許文献６に開示されているものであり、エコーキャンセラが電話機側に送信する音声信号と電話機側から反射されて戻ってくるエコー信号の相互相関を取り遅延時間を決定するものである。
【特許文献１】特開２００１−３３３０００号公報
【特許文献２】特開平９−５５６８７号公報
【特許文献３】特表２００１−５０１４１３号公報
【特許文献４】特開平７−２８３８５９号公報
【特許文献５】特開平７−３０３０６１号公報
【特許文献６】特表２００５−５２８０３９号公報
【非特許文献１】ＩＴＵ−Ｔ勧告Ｇ．１６８  Ａｐｐｅｎｄｉｘ  ＩＩ
【非特許文献２】ＩＥＴＦ  ＲＦＣ  ３５５０，ＲＴＰ／ＲＴＣＰ
【発明の開示】
【発明が解決しようとする課題】
【００１６】
第１の従来方法に関する非特許文献２の規定方法の適用条件は、エコーを発生する箇所と音声信号をパケット化する箇所の伝搬遅延時間が無視できる場合、かつ、エコー消去対象となる電話機側のインタフェースがＩＰパケットインタフェースである場合に限定される。しかしながら、エコーキャンセラとエコー反射点の間にＩＰ網が介在することは極めて稀である。また、既存固定電話を時分割多重（ＴＤＭ）インタフェースで収容することが一般的となっているＶｏＩＰ装置に搭載する回線エコーキャンセラには、この方式の適用は不可能である。
【００１７】
また、第２の従来方法は初期のエコー推定の学習においては処理量の低減化を図ることが一切できず、これは、多数の電話呼を収容するＶｏＩＰゲートウェイ装置仕様には耐えられない。理由としては、これらの通信装置においては、収容呼を全チャネル同時に通話状態に遷移させるまでに要する時間がサービス稼働率を決定する要因として重要視されているからである。よって、これらの通信装置に第２の従来方法を採用すると、エコー経路の往復伝搬遅延時間も含めたエコー推定を全チャネル同時に実施するだけの処理量を具備させるか、若しくは、それだけの処理量を確保できないときは収容呼を幾つかのグループに分け時系列的に何回かに分けてエコー推定を実施することとなる。いずれにしても、第２の従来方法は、多数の音声呼を収容する装置に実装するエコーキャンセラに適していない。
【００１８】
第３の従来方法では、エコーキャンセラが電話機側に送信する音声信号と電話機側から反射されて戻ってくるエコー信号の相互相関を取ることが必要となっている。一般的に相互相関演算の処理量はエコー推定処理のそれとそれほど変わらず、また、特許文献５や特許文献６は相関演算の具体的な処理方法については言及していない。
【００１９】
本発明は、以上の点に鑑みなされたものであり、わずかな処理量や小規模のハードウェアで効率よく伝搬遅延時間を推定することを目的としている。
【課題を解決するための手段】
【００２０】
第１の本発明は、当初は同一信号であった２種類の離散的時間信号の時間差である伝搬遅延時間を推定する伝搬遅延時間推定器において、（１）離散的時間信号Ｘ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた１ビット信号Ｘｂｉｎ（ｎ）に変換する第１の２値符号化手段と、（２）離散的時間信号Ｙ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた１ビット信号Ｙｂｉｎ（ｎ）に変換する第２の２値符号化手段と、（３）上記第１及び第２の２値符号化手段からの１ビット信号Ｘｂｉｎ（ｎ）及びＹｂｉｎ（ｎ）に基づき、（Ａ）式に従う演算を実行し、その演算結果を、離散的時間信号Ｘ（ｎ）及びＹ（ｎ）の時間差ｋの上記相互相関係数Ｃｏｒｒ（ｎ，ｋ）の定数倍として出力する相関演算手段と、（４）時間差ｋが０≦ｋ≦Ｍの範囲における上記相互相関係数Ｃｏｒｒ（ｎ，ｋ）の中で最大値を与えるｋに基づいて、伝搬遅延時間を推定して出力する伝搬遅延時間推定手段とを有することを特徴とする。
【数８】
2008160536.tif 000008
【００２１】
但し、Ｎは相関の算出に用いられる各信号のサンプル数であり、＋を丸で囲んだ記号は排他的論理和演算を表している。
【００２２】
第２の本発明は、当初は同一信号であった２種類の離散的時間信号の時間差である伝搬遅延時間を推定する伝搬遅延時間推定方法において、（０）第１の２値符号化手段、第２の２値符号化手段、相関演算手段及び伝搬遅延時間推定手段を備え、（１）上記第１の２値符号化手段は、離散的時間信号Ｘ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた１ビット信号Ｘｂｉｎ（ｎ）に変換し、（２）上記第２の２値符号化手段は、離散的時間信号Ｙ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過に応じた１ビット信号Ｙｂｉｎ（ｎ）に変換し、（３）上記相関演算手段は、上記第１及び第２の２値符号化手段からの１ビット信号Ｘｂｉｎ（ｎ）及びＹｂｉｎ（ｎ）に基づき、（Ｂ）式に従う演算を実行し、その演算結果を、離散的時間信号Ｘ（ｎ）及びＹ（ｎ）の時間差ｋの上記相互相関係数Ｃｏｒｒ（ｎ，ｋ）の定数倍として出力し、（４）上記伝搬遅延時間推定手段は、時間差ｋが０≦ｋ≦Ｍの範囲における上記相互相関係数Ｃｏｒｒ（ｎ，ｋ）の中で最大値を与えるｋに基づいて、伝搬遅延時間を推定して出力することを特徴とする。
【数９】
2008160536.tif 000009
【００２３】
但し、Ｎは相関の算出に用いられる各信号のサンプル数であり、＋を丸で囲んだ記号は排他的論理和演算を表している。
【発明の効果】
【００２４】
本発明によれば、わずかな処理量や小規模のハードウェアで効率よく伝搬遅延時間を推定することができる。
【発明を実施するための最良の形態】
【００２５】
（Ａ）主たる実施形態
以下、本発明による伝搬遅延時間推定器及び伝搬遅延時間推定方法の一実施形態を、図面を参照しながら説明する。
【００２６】
（Ａ−１）実施形態における正規化相互相関演算アルゴリズム
まず、この実施形態の伝搬遅延時間推定器及び伝搬遅延時間推定方法が適用している正規化相互相関演算アルゴリズムについて説明する。適用しているアルゴリズムは、正規化相互相関の演算に際し、音声信号を＋１と−１の２値に符号化することで相互相関演算に要する演算量とハードウェア規模を大幅に低減させようとしたものである。
【００２７】
一般に、２つの離散値系の時間信号Ｘ（ｎ）とＹ（ｎ−ｋ）の正規化相互相関係数Ｃｏｒｒ（ｎ，ｋ）は（１０）式で定義される。
【数１０】
2008160536.tif 000010
【００２８】
ここで、０≦ｋ＜Ｍとする。
【００２９】
また、一般に、信号Ｘ（ｎ）とＹ（ｎ）の数値フォーマットは、複数ビットで構成される浮動小数点若しくは固定小数点である。
【００３０】
（１０）式の定性的な意味を説明する。時刻ｎを固定するとき、Ｎサンプルで構成される信号Ｘ（ｎ−ｉ），０≦ｉ＜ＮとＹ（ｎ−ｋ−ｉ），０≦ｉ＜Ｎの類似度を算出している。そして、その探索範囲は０≦ｋ＜Ｍとしている。つまり、現時刻ｎにおいてＭ個の正規化相互相関係数Ｃｏｒｒ（ｎ、０），Ｃｏｒｒ（ｎ，１），…，Ｃｏｒｒ（ｎ，Ｍ−１）が得られるので、その中からＣｏｒｒ（ｎ，ｋ）の絶対値｜Ｃｏｒｒ（ｎ，ｋ）｜が最大値となるときのｋをｋｍａｘと表記すると、Ｘ（ｎ−ｉ），０≦ｉ＜Ｎに対して最も類似度が高い信号はＹ（ｎ−ｋｍａｘ−ｉ），０≦ｉ＜Ｎである。
【００３１】
以上の手順を時刻ｎが更新されるごとに繰り返す。
【００３２】
次に、各信号Ｘ（ｎ）、Ｙ（ｎ）を±１の２値に符号化した信号をそれぞれＸｓｇｎ（ｎ）、Ｙｓｇｎ（ｎ）と表記し、（１１）式のように定義する。
【数１１】
2008160536.tif 000011
【００３３】
ここで、動作開始直後に信号Ｘ（ｎ）が０であるとき、Ｘ（ｎ−１）とＸｓｇｎ（ｎ−１）がまだ存在していないので、Ｘｓｇｎ（ｎ）の値は、＋１と−１のどちらでも良いこととする。これは、信号Ｙ（ｎ）に関しても同様とする。
【００３４】
両信号Ｘｓｇｎ（ｎ）及びＹｓｇｎ（ｎ）の正規化相互相関係数Ｃｏｒｒｓｇｎ（ｎ，ｋ）は、（１０）式を参考にして（１２）式で表すことができる。（１２）式において、０≦ｋ≦Ｍとする。
【数１２】
2008160536.tif 000012
【００３５】
（１１）式に示すように、各信号Ｘｓｇｎ（ｎ）、Ｙｓｇｎ（ｎ）は±１の２値であるが、実際のインプリメント（製品）上ではでは１ビットの２進数データとして扱われるので、ここでは、正負を表す符号ビットの一般的な定義に従って、数値＋１を２進数「０」に対応させ、数値−１を２進数「１」に対応させることとする。図３は、２値化信号Ｘｓｇｎ（ｎ）及びＹｓｇｎ（ｎ）の２進数表現をＸｂｉｎ（ｎ）及びＹｂｉｎ（ｎ）と表記し、対応関係を示したものである。
【００３６】
次に、図３の対応関係を用いて、（１２）式における乗算Ｘｓｇｎ（ｎ−ｉ）Ｙｓｇｎ（ｎ−ｉ）について考察する。この乗算は４通りしか存在せず、このときの２進数との対応は、図４に示すようになる。図４においては、＋を白丸で囲んだ記号は排他的論理和を表している。明細書では、かかる記号を用いられないので、明細書の中では、「∧」を、排他的論理和を表すものとして用いる。
【００３７】
図４から明らかなように、±１に２値化された信号の乗算は、２進数では排他的論理和∧に対応している。これにより、Ｘｂｉｎ（ｎ−ｉ）∧Ｙｂｉｎ（ｎ−ｋ−ｉ）についてのｉ＝０からＮ−１までの総和ΣＸｂｉｎ（ｎ−ｉ）∧Ｙｂｉｎ（ｎ−ｋ−ｉ）は、ΣＸｓｇｎ（ｎ−ｉ）Ｙｓｇｎ（ｎ−ｋ−ｉ）（総和はｉ＝０からＮ−１まで）において、Ｘｓｇｎ（ｎ−ｉ）Ｙｓｇｎ（ｎ−ｋ−ｉ）が−１となる個数を表すこととなる。逆に、Ｘｓｇｎ（ｎ−ｉ）Ｙｓｇｎ（ｎ−ｋ−ｉ）が１となる個数は、Ｎ−ΣＸｂｉｎ（ｎ−ｉ）∧Ｙｂｉｎ（ｎ−ｋ−ｉ）である。それ故に（１３）式が成立する。ここで、正規化相互相関係数Ｃｏｒｒｓｇｎ（ｎ，ｋ）を２進数表記Ｘｂｉｎ（ｎ）、Ｙｂｉｎ（ｎ）を使用して表現すると、（１４）式が得られる。（１４）式において、正規化処理である１／Ｎは単なる定数になっており、応用上は演算する価値はないので、（１４）式を（１５）式のように変形する。
【数１３】
2008160536.tif 000013
【００３８】
実施形態の伝搬遅延時間推定器は、以上のような正規化相互相関係数の算出方法を適用している。
【００３９】
（Ａ−２）実施形態の伝搬遅延時間推定器
次に、この実施形態の伝搬遅延時間推定器を説明する。以下では、この実施形態の伝搬遅延時間推定器が、回線エコーキャンセラと関連して電話通信システムに設けられているとして説明する。
【００４０】
図１は、実施形態の伝搬遅延時間推定器の詳細構成及び電話通信システムにおける位置付けを示すブロック図である。
【００４１】
図１において、実施形態に係る電話通信システム２００は、実施形態の伝搬遅延時間推定器２１００及び回線エコーキャンセラ２２００を有している。
【００４２】
実施形態の伝搬遅延時間推定器２１００は、一対の復号化器２０１、２０５、一対の積分器２０２、２０６、一対の２値符号化器２０３、２０７、一対のシフトレジスタ２０４、２０８、排他的論理和ゲート群２０９、加算・減算器２１０、２有意性判定器２１１及び前方／後方保護部２１２を有している。ここで、シフトレジスタ２０４、２０８、排他的論理和ゲート群２０９及び加算・減算器２１０が相関器２２０を構成している。
【００４３】
［伝搬遅延時間推定器の位置付け］
実施形態に係る電話通信システム２００は、実施形態の伝搬遅延時間推定器２１００の回線エコーキャンセラ２２００への応用例である。
【００４４】
回線エコーキャンセラ２２００は、音声信号を時分割ハイウェイ２４００に乗せて電話機側に送出する。電話機側に送出された音声信号は、エコー経路２３００と時分割ハイウェイ２５００とを介して回線エコーキャンセラ２２００に戻ってくる。
【００４５】
実施形態の伝搬遅延時間推定器２１００は、時分割ハイウェイ２４００、２５００上の信号を入力として、エコー経路２３００を介した遅延時間（伝搬遅延時間）を推定し、信号線２６００を介して回線エコーキャンセラ２２００に推定結果を提供するものである。
【００４６】
［伝搬遅延時間推定器の概要］
次に、実施形態の伝搬遅延時間推定器２１００の構成及び動作の概要を説明する。
【００４７】
回線エコーキャンセラ２２００から送出される音声信号は、時分割多重ハイウェイ２４０を介して、復号化器２０５に入力され、復号化器２０５によって、デジタル信号処理で必須となる加減乗除演算可能な線形符号に変換される。この線形符号は、積分器２０６に入力され、積分器２０６によって、ある一定個数の線形符号の累和（総和）がとられる。この累和した結果は２値符号化器２０７に入力され、２値符号化器２０７によって、０又は１の１ビット情報に変換される。このビット情報はシフトレジスタ２０８に入力され、シフトレジスタ２０８において、積分器２０６の累和区間に相当するクロックレートでビットシフトされる。
【００４８】
エコー経路２３０から戻ってくるエコー信号は、時分割多重ハイウェイ２５０を介して、復号化器２０１に入力され、復号化器２０１によってデジタル信号処理で必須となる加減乗除演算可能な線形符号に変換される。この線形符号は、積分器２０２に入力され、積分器２０６によって、ある一定個数の音声信号の累和がとられる。この累和した結果は２値符号化器２０３に入力され、２値符号化器２０７によって、０又は１の１ビット情報に変換される。このビット情報はシフトレジスタ２０４に入力され、シフトレジスタ２０８において、積分器２０２の累和区間に相当するクロックレートでビットシフトされる。
【００４９】
シフトレジスタ２０４に入力された２値化されたエコー信号と、シフトレジスタ２０８に入力された２値化された音声信号は、それぞれの一定区間が排他的論理和ゲート群２０９に入力され、排他的論理和ゲート群２０９及び加算・減算器２１０によって、類似度を表す相互相関係数が算出される。算出された相関係数について、音声信号の相関係数として有意なものであるか否かが有意性判定器２１１で判定される。有意であると判定された推定遅延時間について、前方／後方保護部２１２において、ある一定回数連続して同じ値が有意であると、これを伝搬遅延時間と認める前方保護を施し、一旦認められた後で、これとは異なる推定遅延時間がある一定回数連続して同じ値であると、これを新たな伝搬遅延時間として認める後方保護部を施す。これらの保護動作を介して得られた推定遅延時間が信号線２６０を介して回線エコーキャンセラ２２００に出力される。
【００５０】
以下では、伝搬遅延時間推定器２１００の構成要素の構成及び動作の詳細について説明する。
【００５１】
［復号化器］
既存電話網では、音声信号を伝送する際には、一般的にＩＴＵ−Ｔ勧告Ｇ．７１１に準拠したＰＣＭ（パルス符号変調）符号で伝送することになっている。各復号化器２０１、２０５はそれぞれ、この符号化された音声信号を加減乗除演算が可能な線形符号、例えば、２の補数の固定小数点などに変換するものである。復号化処理としては、例えばＩＴＵ−Ｔ勧告Ｇ．７１１のＰＣＭ符号は高々８ビット符号にすぎないので、２５６ワードの変換テーブル、つまり、変換ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を用意し、ＰＣＭ符号をアドレスとし、当該アドレスに線形符号を格納しておくことにより、復号化処理は単なる変換ＲＯＭのリードだけで完了することとなる。もちろん、復号化アルゴリズムに従って計算して求めることも可能であるが、今日のハードウェアの集積技術及びゲート単価からすれば、変換ＲＯＭを用意する方がメリットは大きいであろう。
【００５２】
なお、ＩＴＵ−Ｔ勧告Ｇ．７１１以外の符号化の場合は、復号化処理は当該符号化で規定されているアルゴリズムに準拠した処理を実施するものとする。
【００５３】
［積分器］
各積分器２０２、２０６はそれぞれ、当該積分器への入力信号をＲサンプル累和し、その結果をＲサンプルに１回出力する。入力信号Ｌ（ｎ）、出力信号ＳＬ（ｎ）とおくと、(１６)式で表現できる。
【数１４】
2008160536.tif 000014
【００５４】
(１６)式から明白ではあるが、ＳＬ（ｎ）はＬ（ｎ＋ｉ）についての０≦ｉ＜Ｒサンプル区間の平均値に相当する。相関演算の精度として高精度を所望するときはＲの値を小さく選定し、低精度で良いときはＲの値を大きくすれば良い。
【００５５】
若しくは、代替え処理として、カットオフ周波数をナイキスト周波数（標本化周波数の１／２相当）の１／Ｒに設定した低域通過フィルタを用意し、入力信号を当該フィルタに入力し、当該フィルタの出力をＲサンプルにつき１回の割合で間引いても良い。
【００５６】
積分器２０２は、（１０）式に現れているＸ（ｎ）を出力し、積分器２０６は、（１０）式に現れているＹ（ｎ）を出力する。
【００５７】
［２値符号化器］
各２値符号化器２０３、２０７はそれぞれ、上述した（１１）式を修正した計算式に従って積分器２０２、２０６から出力される信号を１ビット情報に変換する。すなわち、（１１）式は−１と＋１の２値に変換しているが、２値符号化器２０３、２０７では(１７)式に従って１と０に変換する。（１７）式における上バーの付与は、付与されているビット値の否定、つまり、付与されているビット値のビット反転を表している。なお、この明細書では、ビット反転を、反転対象の値を表す符号の前に「／」を付与して表すこととする。
【数１５】
2008160536.tif 000015
【００５８】
なお、処理対象の信号が０及び正値の範囲をとる信号である場合には、処理対象信号から、そのダイナミックレンジの中央値を減算して、正負をとる信号Ｘ（ｎ），Ｙ（ｎ）に変換して２値符号化器２０３、２０７に入力することを要する。
【００５９】
２値符号化器２０３は、（１５）式に現れているＸｂｉｎ（ｎ）を出力し、２値符号化器２０７は、（１５）式に現れているＹｂｉｎ（ｎ）を出力する。
【００６０】
［シフトレジスタ］
各シフトレジスタ２０４、２０８はそれぞれ、対応する２値符号化器２０３、２０７から供給されるビット情報を格納する。シフトレジスタ２０４は、（１５）式に現れているＸｂｉｎ（ｎ）を格納し、ビット長はＮビットとする。シフトレジスタ２０８は、（１５）式に現れているＹｂｉｎ（ｎ）を格納し、ビット長はＮ＋Ｍビットとする。シフトレジスタ２０４、２０８の詳細動作は、［相関器］の項で説明する。
【００６１】
［相関器］
次に、（１５）式を演算する相関器２０９について説明する。まず、（１５）式のＸｂｉｎ（ｎ−ｉ）∧Ｙｂｉｎ（ｎ−ｋ−ｉ），０≦ｉ＜Ｎを演算する構成例について説明する。なお、この明細書においては、排他的論理和演算を表す記号として、＋を白丸で囲んだ記号、又は、「∧」を用いている。
【００６２】
実施上の工夫は、変数ｉの変動範囲０≦ｉ＜Ｎに応じてそれぞれＮビットからなるＸｂｉｎ（ｎ−ｉ）とＹｂｉｎ（ｎ−ｋ−ｉ）の排他的論理和をＮビット並列に実施し、かつ、変数ｋの変動範囲０≦ｋ≦Ｍに対してＹｂｉｎ（ｎ−ｋ−ｉ）を格納しているシフトレジスタ２０８から常に同じ箇所からＮビットの情報を提供させることでハードウェア規模を最小化すると同時に、処理速度を飛躍的に高速化することにある。
【００６３】
上述したように、相関器２２０は、シフトレジスタ２０４、２０８、排他的論理和ゲート群２０９及び加算・減算器２１０でなる。図５が、そのうちのシフトレジスタ２０４、２０８及び排他的論理和ゲート群２０９の部分（構成例）を示している。
【００６４】
なお、以下で説明するが、図５の構成例では、ｋは、Ｍ−１を初期値とし、デクリメントしながら０まで変化させており、動作の理解のために、このことに留意すべきである。また、図５では、表記を簡単にするため、排他的論理和ゲート群１０５からの出力については、Ｘｂｉｎ（ｎ）、Ｙｂｉｎ（ｎ）と記載すべき所を、単に、Ｘ（ｎ）、ｙ（ｎ）と記載している。
【００６５】
一方のシフトレジスタ２０４は、シリアル入力パラレル出力機能を具備したＮビットのシフトレジスタである。シフトレジスタ２０４は、シリアル入力端子ＳＩ、シフトイネーブル入力端子ＳＥ、クロック入力端子ＣＫ及びパラレル出力端子（このパラレル出力端子に対応する格納部を適宜、レジスタと呼ぶ）Ｑｘ（０）〜Ｑｘ（Ｎ−１）を有する。以下の説明では、入出力端子に係る信号も、入出力端子と同じ符号を用いて説明する。
【００６６】
シフトレジスタ２０４において、シフトイネーブル信号ＳＥがアクティブであるとき、標本化レートに同期したクロック信号ＣＫに同期して、レジスタＱｘ（Ｎ−２）のビット情報はレジスタＱｘ（Ｎ−１）にシフトされ、レジスタＱｘ（Ｎ−３）のビット情報はレジスタＱｘ（Ｎ−２）にシフトされ、以下同様に、レジスタＱｘ（０）のビット情報はレジスタＱｘ（１）にシフトされ、２値符号化器２０３から入力された信号Ｘｂｉｎ（ｎ）はシリアル入力端子ＳＩを経由してレジスタＱｘ（０）に格納される。
【００６７】
従って、時刻ｎの時点で、当該シフトレジスタ２０４のパラレル出力端子Ｑｘ（０）〜Ｑｘ（Ｎ−１）には、信号Ｘｂｉｎ（ｎ）〜Ｘｂｉｎ（ｎ−（Ｎ−１））までのＮビットが現れ、次の入力信号Ｘｂｉｎ（ｎ＋１）が入力されるまでの間保持されると同時に、これらＮビットＸｂｉｎ（ｎ）〜Ｘｂｉｎ（ｎ−（Ｎ−１））が排他的論理和ゲート群２０９に供給される。
【００６８】
他方のシフトレジスタ２０８は、シリアル入力パラレル出力機能、パラレル入力ローディング機能、並びに、ローテイトシフト機能（巡回シフト機能）を具備したＮ＋Ｍ−１ビットのシフトレジスタである。
【００６９】
シフトレジスタ２０８は、２値符号化器２０７から出力される１ビット情報を保持し、標本化周期で時系列的にビットシフトされ、かつ、１つの標本化周期内で一定回数ローテイトシフトされ、かつ、このローテイトシフト後に再度２値符号化器２０７から出力される１ビット情報を入力する際に、前回入力時から１ビットシフトした状態にすることが可能なローディング機能を有する。
【００７０】
シフトレジスタ２０８は、シリアル入力端子ＳＩ、シフトイネーブル入力端子ＳＥ、ロードイネーブル入力端子ＬＥ、クロック入力端子ＣＫ、パラレル入力端子Ｄｙ（０）〜Ｄｙ（Ｎ＋Ｍ−１）、及び、パラレル出力端子Ｑｙ（０）〜Ｑｙ（Ｎ＋Ｍ−１）を有する。
【００７１】
パラレル出力端子（レジスタ）Ｑｙ（Ｍ−１）〜Ｑｙ（Ｎ＋Ｍ−１）のＮビットは排他的論理和ゲート群２０９に接続され、シリアル入力端子ＳＩには当該シフトレジスタ２０８の最終段のレジスタ出力Ｑｋ（Ｎ＋Ｍ−１）が入力されるようになされている。
【００７２】
パラレル入力端子Ｄｙ（０）には２値符号化器２０７から出力される信号Ｙｂｉｎ（ｎ）が入力され、パラレル入力端子Ｄｙ（１）には当該シフトレジスタ２０８のパラレル出力端子Ｑｙ（Ｍ）が接続され、…、パラレル入力端子Ｄｙ（Ｍ−２）には当該シフトレジスタ２０８のパラレル出力端子Ｑｙ（（２Ｍ−３）ｍｏｄ（Ｎ＋Ｍ））が接続され、パラレル入力端子Ｄｙ（Ｍ−１）には当該シフトレジスタ２０８のパラレル出力端子Ｑｙ（（２Ｍ−２）ｍｏｄ（Ｎ＋Ｍ））が接続され、パラレル入力端子Ｄｙ（Ｍ）には当該シフトレジスタ２０８のパラレル出力端子Ｑｙ（（２Ｍ−１）ｍｏｄ（Ｎ＋Ｍ））が接続され、パラレル入力端子Ｄｙ（Ｍ＋１）には当該シフトレジスタ２０８のパラレル出力端子Ｑｙ（（２Ｍ）ｍｏｄ（Ｎ＋Ｍ））が接続され、…、パラレル入力端子Ｄｙ（Ｎ＋Ｍ−２）には当該シフトレジスタ２０８のパラレル出力端子Ｑｙ（Ｍ−３）が接続され、パラレル入力端子Ｄｙ（Ｎ＋Ｍ−１）には当該シフトレジスタ２０８のパラレル出力端子Ｑｙ（Ｍ−２）が接続されている。
【００７３】
ここで、ｓ  ｍｏｄ  ｔは、ｔを法としたときのｓの剰余を表す。例えば、９  ｍｏｄ８＝１である。上述したシフトレジスタ２０８のパラレル出力端子からパラレル入力端子へのフィードバック経路を、このｍｏｄを使用して汎用的に表現すると、パラレル入力端子Ｄｙ（ｘ）にはパラレル出力端子Ｑｙ（（ｘ＋Ｍ−１）ｍｏｄ（Ｎ＋Ｍ））が接続されている。但し、ｘ≠０とする。なお、シフトレジスタ２０８を上述のように接続する理由は後述する。
【００７４】
シフトレジスタ２０８のロードイネーブル信号ＬＥがアクティブであるとき、クロック信号ＣＫに同期して、パラレル入力端子Ｄｙ（０）〜Ｄｙ（Ｎ＋Ｍ−１）のビット情報はパラレル出力端子Ｑｙ（０）〜Ｑｙ（Ｎ＋Ｍ−１）にローディングされる。これに対して、シフトレジスタ２０８のシフトイネーブル信号ＳＥがアクティブであるとき、クロック信号ＣＫに同期して、レジスタＱｙ（０）のビット情報はレジスタＱｙ（１）にシフトされ、レジスタＱｙ（１）のビット情報はレジスタＱｙ（２）にシフトされ、以下同様に、レジスタＱｙ（Ｎ＋Ｍ−２）のビット情報はレジスタＱｙ（Ｎ＋Ｍ−１）にシフトされる。但し、最終段のレジスタＱｙ（Ｎ＋Ｍ−１）のビット情報は、シリアル入力端子ＳＩを経由して、レジスタＱｙ（０）にローテイトシフトされる。なお、ロードイネーブル信号ＬＥとシフトイネーブル信号ＳＥとが、同時にアクティブになることはない。
【００７５】
時刻ｎの時点で、シフトレジスタ２０８のロードイネーブル信号ＬＥをアクティブし、２値符号化器２０７からの出力信号Ｙｂｉｎ（ｎ）を当該シフトレジスタ２０８のレジスタＱｙ（０）にローディングする。次に、シフトレジスタ２０８のロードイネーブル信号ＬＥをインアクティブにし、シフトイネーブル信号ＳＥをアクティブにし、クロック信号ＣＫに同期して、Ｍ回ほどシフトさせる。この動作は、２値符号化器２０７からの次の信号Ｙｂｉｎ（ｎ＋１）が入力されるまでの間に完了しなければならない。よって、シフトレジスタ２０８のクロック信号ＣＫの周波数をｆｃｋとし、信号Ｙｂｉｎ（ｎ）の標本化周波数をｆｓとするときには、（１８）式に示す関係を成立させておかなければならない。こうすることにより、（１５）式の要素別の演算を、１標本化周期内に、０≦ｉ≦Ｎ−１，０≦ｋ≦Ｍについて、Ｍ＋１マシンサイクルで実施することが可能となる。
【００７６】
ｆｃｋ≧（Ｍ＋１）・ｆｓ                                          …（１８）
なお、シフトレジスタ２０８をＭビットほどシフトさせた時点で、信号Ｙｂｉｎ（ｎ）はレジスタＱｙ（Ｍ）に移動している。この信号Ｙｂｉｎ（ｎ）は、次の信号（ビット情報）Ｙｂｉｎ（ｎ＋１）が到来した際にはレジスタＱｙ（１）にローディングさせる必要がある。これが、上述したシフトレジスタ２０８のパラレル出力端子を自身のパラレル入力端子にツイストして接続している理由である。
【００７７】
ところで、上述したように、シフトレジスタ２０８のパラレル出力端子Ｑｙ（Ｍ）〜Ｑｙ（Ｎ＋Ｍ−１）のＮビットが排他的論理和ゲート群２０９に出力されているので、当該シフトレジスタ２０８のローディング時に、これは（１５）式においてｋ＝Ｍのときに対応し、次に、当該シフトレジスタ２０８がビットシフトされるごとに、Ｋ＝Ｍ，Ｍ−１，…，０の順序で、（１５）式の０≦ｉ＜Ｎについてのパラレル論理演算が合計Ｍ＋１回実施されることとなる。
【００７８】
排他的論理和ゲート群２０９は、Ｎ個の排他的論理和ゲートで構成され、２個のシフトレジスタ２０４及び２０８から、それぞれ出力されているＮビットの信号を入力とし、（１５）式の０≦ｉ＜Ｎについての排他的論理和演算を１マシンサイクルで実施し、Ｎビットの演算結果情報は、加算・減算器２１０器に供給される。
【００７９】
加算・減算器２１０は、排他的論理和ゲート群２０９から出力されるＮビットの情報中の論理値が１となっているビット数を符号無し整数で算出し、当該算出結果を２倍し、さらに、符号ビットを付与して符号付き整数にすることで、（１９）式に示すような、上述した（１５）式の右辺第２項の値を算出し、その後、Ｎから算出値を減算することで（１５）式を完全に演算する。
【数１６】
2008160536.tif 000016
【００８０】
図６は、加算・減算器２１０の具体的な構成例を示すブロック図である。図６において、加算・減算器２１０は、第１ステージ〜第ｒステージの符号無し整数加算器と、ＭＳＢ・ＬＳＢ付加部と、減算器とを有する。ここで、ｒ＝ｃｅｉｌ（ｌｏｇ２Ｎ）であり、関数ｃｅｉｌ（ｘ）はセイリング関数であり、ｘ未満ではない最小の整数を表している。
【００８１】
まず、第１ステージでは、Ｎビットの信号を２つずつペアを取り、符号無し整数加算器に入力して加算する。なお、図６では、Ｎを偶数として描いているが、奇数の場合には、ペアを取った後の残り１ビットは次の第２ステージの入力となる。この奇偶による構成の違いは、第２ステージ以降でも同様である。なお、第１ステージにおける符号無し整数加算器の数は、Ｎが偶数の場合にはＮ／２個であり、Ｎが奇数の場合には（Ｎ−１）／２個である。
【００８２】
第１ステージの加算結果はそれぞれ、第２ステージの符号無し整数加算器に入力され、第１ステージと同様に、２つずつペアを取った加算が実行される。以後、このような処理が、ステージに所属する符号無し整数加算器が１個の第ｒステージまで繰り返し実行される。
【００８３】
最終段である第ｒステージの符号無し整数加算器の出力は、（１９）式に示す値の半分であり、この値の最大値はＮであるから、これは、符号無し整数のビット数Ｒで換算すると、Ｒ＝ｆｌｏｏｒ（ｌｏｇ２Ｎ）＋１となる。ここで、ｆｌｏｏｒ（ｘ）はフロア関数であり、ｘを超過しない最大の整数を表す。
【００８４】
第ｒステージの符号無し整数加算器のＲビット出力に対し、「０」でなるＬＳＢを追加することで、第ｒステージの符号無し整数加算器のＲビット出力を２倍し、かつ、第ｒステージの符号無し整数加算器のＲビット出力に対し、「０」でなるＭＳＢを追加することで、符号付き整数に変換している。
【００８５】
その後、減算器において、ＮからＭＳＢ・ＬＳＢ付加部の出力（（１５）式の右辺第２項）を減算し、（１５）式の演算を完全に実行する。
【００８６】
ところで、図６に示す加算・減算器２１０の演算は、第１ステージから最終ステージ（第ｒステージ）まで１マシンサイクルで実施できることを想定している。しかし、ｒが大きくなると加算・減算器２１０での処理遅延が増大し、１マシンサイクルでは実施できない可能性がでてくる。このような場合には、クロック信号に同期して入力信号を保持することが可能なレジスタを適切なステージ間隔で配備すれば良い。すなわち、このようにパイプライン演算とすることで、処理遅延は増大するものの、処理スループットは低減しないこととなり、（１５）式をＭ＋１マシンサイクル周期で実施することを可能とする。
【００８７】
［有意性判定器］
有意性判定器２１１は、相関器２２０から出力されるＭ＋１個の相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，０）〜Ｎ・Ｃｏｒｒｓｇｎ（ｎ，Ｍ）の絶対値を取り、これらの中から最大の極大値と２番目に大きな極大値を選定し、その比率（２番目の極大値／最大極大値）がある閾値以下であるならば、有意と判定する。このようにする理由は、音声信号の場合、ピッチや母音などにより繰り返し波形が現れ、短い周期でほぼ同一レベルの相互相関係数がほぼ周期的に現れることがあるからである。これに対して、音声信号の代わりに白色雑音を使用した場合は、相互相関係数はインパルス関数のような振る舞いを見せる。よって、音声信号の中に現れるピッチや母音によって伝搬遅延時間を誤って推定することがないように、上述した方法で有意性を判定する。
【００８８】
有意性判定器２１１は、ハードウェアによって構成することもでき、また、ＣＰＵが実行するソフトウェアによって構成することもできる。以下では、有意性判定器２１１が、ＣＰＵが実行するソフトウェア（有意性判定プログラム）によって構成された場合の例を説明する。
【００８９】
図７は、Ｃ言語で記述された有意性判定プログラムを示している。図７において、Ｃｏｒｒ（ｉ）は（１５）式で算出されるＮ・Ｃｏｒｒ（ｎ，ｉ）の絶対値である|Ｎ・Ｃｏｒｒ（ｎ，ｉ）|を表している。また、ｍａｘ１は最も大きな極大値を格納するパラメータ、ｍａｘ２は２番目に大きな極大値を格納するパラメータ、ｄｅｌａｙは最も大きな極大値ｍａｘ１を与えている時刻（伝搬遅延時間）を格納するパラメータ、ｒは２番目の極大値／最大極大値が比較される閾値を規定する値、ｖａｌｉｄは有意か否かを格納するパラメータである。
【００９０】
図７において、符号３０１で示した部分は、各パラメータを初期化している部分である。符号３０２で示した部分は、ｉがＭ−１から１まで１デクリメントさせながらの繰返し実行される処理ループであり、Ｃｏｒｒ（１）〜Ｃｏｒｒ（Ｍ−１）の中から最も大きな極大値ｍａｘ１と２番目に大きな極大値ｍａｘ２とを求めている部分である。最も大きな極大値ｍａｘ１を求める際には同時にそのときの時刻（伝搬遅延時間）ｄｅｌａｙを求めている。処理ループでは、Ｃｏｒｒ（ｉ）を前後のＣｏｒｒ（ｉ−１）及びＣｏｒｒ（ｉ＋１）と比較して極大値であるか否かを捉え、極大値であれば、それまでの最も大きな極大値ｍａｘ１と２番目に大きな極大値ｍａｘ２と比較し、今回の極大値の大きさに応じて適宜最も大きな極大値ｍａｘ１、２番目に大きな極大値ｍａｘ２を更新している。
【００９１】
符号３０３で示した部分は、前後のＣｏｒｒ（ｉ−１）及びＣｏｒｒ（ｉ＋１）の一方しか存在しないＣｏｒｒ（０）について、それまでの最も大きな極大値ｍａｘ１と２番目に大きな極大値ｍａｘ２と比較し、今回のＣｏｒｒ（０）の大きさに応じて適宜最も大きな極大値ｍａｘ１、２番目に大きな極大値ｍａｘ２を更新する部分である。
【００９２】
符号３０４で示した部分は、前後のＣｏｒｒ（ｉ−１）及びＣｏｒｒ（ｉ＋１）の一方しか存在しないＣｏｒｒ（Ｍ）について、それまでの最も大きな極大値ｍａｘ１と２番目に大きな極大値ｍａｘ２と比較し、今回のＣｏｒｒ（Ｍ）の大きさに応じて適宜最も大きな極大値ｍａｘ１、２番目に大きな極大値ｍａｘ２を更新する部分である。
【００９３】
符号３０５で示した部分は、２番目の極大値／最大極大値がある閾値ｒ以下であるか否かを比較し、以下であれば、求められた遅延時間（ｄｅｌａｙ）の値を有意（ｖａｌｉｄ＝１）と判定する部分である。
【００９４】
なお、閾値ｒの値１１／１６（＝１／２＋１／８＋１／１６）は単なる暫定値でしかない。実環境に合わせて決定されるべきである。但し、Ｃ言語記述の最後から２行目に（ｒ＊ｍａｘ１）＝ｍａｘ２なる処理があるが、ｒ＊ｍａｘ１に関しては、必ずしも乗算器による乗算を実施する必要はなく、前記したｒ＝１１／１６（＝１／２＋１／８＋１／１６）とすることで、（ｍａｘ１を１ビット算術右シフト）＋（ｍａｘ１を３ビット算術右シフト）＋（ｍａｘ１を４ビット算術右シフト）とすることで、ｒ＊ｍａｘ１を算出できるからである。乗算器はハードウェア規模を増大させる主要因になるため、極力乗算器の実装は回避することが望ましい。すなわち、図７の処理をハードウェア化した場合に、乗算器の実装を回避することができる。
【００９５】
また、ｆｏｒループにおいて、ｉの範囲を０〜Ｍとしなかったのは、上述のように、Ｃｏｒｒ（０）とＣｏｒｒ（Ｍ）は極大値になりえないからである。このため、ループを抜けた後で、Ｃｏｒｒ（０）、Ｃｏｒｒ（Ｍ）とｍａｘ値の比較を実施しているのである。ダミーでＣｏｒｒ（−１）＝Ｃｏｒｒ（Ｍ＋１）＝０を用意できるのであれば、ｆｏｒループだけで統一的な処理が可能であろう。
【００９６】
ところで、図７に示す有意性判定プログラム（有意性判定アルゴリズム）をハードウェアでＭ＋１マシンサイクルで実施するようにハードウェアで実現することは、当業者であるならば容易である。
【００９７】
［前方／後方保護部］
有意性判定器２１１で有意であると判定された推定遅延時間は、前方／後方保護部２１２において、ある一定回数連続して同じ値が有意であると、これを遅延時間と認める前方保護を施し、一旦認められた後で、これとは異なる値の推定遅延時間がある一定回数連続して同じ値であると、これを新たな遅延時間として認める後方保護部を施す。これらの保護動作を介して推定遅延時間が回線エコーキャンセラ２２００に出力される。
【００９８】
以上が、本発明の実施形態の説明である。
【００９９】
（Ａ−３）実施形態の効果
［効果１］少ない演算量
２つの離散的時間信号Ｘ（ｎ）とＹ（ｎ）の（１０）式で表す正規化相互相関係数Ｃｏｒｒ（ｎ，ｋ）の演算量と、実施形態における、Ｘ（ｎ）とＹ（ｎ）を２値化したときの（１５）式で表す正規化相互相関係数Ｎ・Ｃｎｒｒｓｇｎ（ｎ，ｋ）の演算墨を０≦ｉ＜Ｎ，０≦ｋ≦Ｍの条件で比較する。ここで、一般に、ハードウェアによる積和演算ａ・ｂ＋ｃに要する演算量は１マシンサイクルとする。
【０１００】
（１０）式による正規化相互相関係数の算出には、Ｎ（Ｍ＋１）マシンサイクルとなる。但し、正規化処理で必要とされる積和、除算、平方根の演算量は無視する。これに対して、（１５）式に従う実施形態で要する演算量はＭ＋１マシンサイクルである。なお、実施形態の説明で触れたように、実現回路の素子遅延対策のためにラッチレジスタを用意した場合、演算に要する時間はＭ＋１マシンサイクルを超過するものの、演算スループットはＭ＋１マシンサイクル毎に（１５）式に従った相互相関係数をＭ＋１個算出でき、このことは注目に値する。故に、実施形態は、伝搬遅延時間の算出に際し必要となる相互相関係数の演算量を１／Ｎに低減している。
【０１０１】
また、実施形態による入力信号の積分器による間引きを実施すればさらに処理量の低減化を図ることができる。
【０１０２】
［効果２］乗算／除算／平方根の排除
一般に、乗算、除算、平方根演算と加算演算を比較すると、ハードウェア規模と処理時間はいずれも加算演算の方が小さい。実施形態は、伝搬遅延時間の推定に際し、演算量が支配的となる相互相関演算を（１５）式に従って処理するので、乗算、除算、平方根演算が不要であり、ハードウェア規模、処理時間、消費電力を大幅に低減化することを可能としている
［効果３］遅延時間の誤推定防止
相関係数の最大極大値と２番目の極大値の比率を監視して有意性を判定し、かつ、有意な相関係数が一定回数連続一致することを確認して遅延時間を推定するようにしたので、音声信号中に現れるピッチや母音などの繰り返し波形が要因となる遅延時間の誤った推定を防止することができる。
【０１０３】
（Ｂ）他の実施形態
上記実施形態では、本発明による伝搬遅延時間推定器及び伝搬遅延時間推定方法を、回線エコーキャンセラに関連して適用しているが、音響エコーキャンセラに関連して適用することもできる。
【０１０４】
また、エコーキャンセラに関係する伝搬遅延時間以外の伝搬遅延時間の推定にも、本発明による伝搬遅延時間推定器及び伝搬遅延時間推定方法を適用可能である。例えば、レーダーやソナーシステムにおいては送信波と目標物からの反射波の時間差（相互相関）を計測しており、このようなシステムにも応用可能である。さらには、同一信号が異なる伝送路を介して同一点に到達するような場合における伝搬遅延時間の差を推定する場合にも、本発明を適用することができ、特許請求の範囲における「伝搬遅延時間」には、このような伝搬遅延時間の差を含むものとする。
【図面の簡単な説明】
【０１０５】
【図１】実施形態の伝搬遅延時間推定器の詳細構成及び電話通信システムにおける位置付けを示すブロック図である。
【図２】エコー反射点までの往復伝搬遅延時間が大きな回線エコーキャンセラの配備例を示すブロック図である。
【図３】実施形態の２値化信号Ｘｓｇｎ（ｎ），Ｙｓｇｎ（ｎ）と２進数表現Ｘｂｉｎ（ｎ），Ｙｂｉｎ（ｎ）との対応関係を説明する図表である。
【図４】実施形態の２値化信号の乗算Ｘｓｇｎ（ｎ）Ｙｓｇｎ（ｎ）と２進数表現との対応関係を説明する図表である。
【図５】実施形態の相関器の構成例を示すブロック図である。
【図６】実施形態の加算・減算器の具体的な構成例を示すブロック図である。
【図７】実施形態の有意性判定プログラムの例を示す説明図である。
【符号の説明】
【０１０６】
２００：電話通信システム、２０１、２０５：復号化器、２０２、２０６：積分器、２０３、２０７：２値符号化器、２０４、２０８：シフトレジスタ、２０９：排他的論理和ゲート群、２１０：加算・減算器、２１１：有意性判定器、２１２：前方／後方保護部、２２０：相関器、２１００：伝搬遅延時間推定器、２２００：回線エコーキャンセラ。
【図１】
2008160536.tif 000019
【図２】
2008160536.tif 000020
【図３】
2008160536.tif 000021
【図４】
2008160536.tif 000022
【図５】
2008160536.tif 000023
【図６】
2008160536.tif 000024
【図７】
2008160536.tif 000025