(57)【特許請求の範囲】
【請求項１】
適応フィルタ手段が受信信号から発生させた擬似エコー信号を、送信信号から減算することにより、送信信号に混入されているエコー成分を除去するエコーキャンセラ装置において、
上記適応フィルタ手段は、
擬似エコー信号を発生させる演算精度が異なる、複数の適応フィルタと、
上記各適応フィルタのタップ係数群を複数の小区間に分割し、その分割した小区間毎のタップ係数に基づいて必要演算精度情報を求める精度算出手段と、
上記精度算出手段によって求められた各小区間の各必要演算精度情報に基づいて、上記受信信号を上記各適応フィルタに上記小区間単位で振り分けると共にタップ係数を更新する演算精度制御手段とを有する
ことを特徴とするエコーキャンセラ装置。
【請求項２】
上記各必要演算精度情報が、各小区間のタップ係数のパワであることを特徴とする請求項１に記載のエコーキャンセラ装置。
【請求項３】
上記演算精度制御手段は、タップ係数のパワが所定のしきい値以上である小区間については、高精度演算の上記適応フィルタに振り分け、タップ係数のパワが所定のしきい値より小さい小区間については、低精度演算の上記適応フィルタに振り分けることを特徴とする請求項２に記載のエコーキャンセラ装置。
【請求項４】
低精度演算の上記適応フィルタに振分けられた小区間の上記必要演算精度情報に基づき、各小区間の演算がオーバーフローを発生させていないかを監視し、オーバーフローを発生させた小区間については、高精度演算の上記適応フィルタに振分けることを上記演算精度制御手段に指令する精度監視手段を有することを特徴とする請求項１に記載のエコーキャンセラ装置。
【請求項５】
低精度演算の上記適応フィルタに振分けられた小区間の上記必要演算精度情報に基づき、各小区間の演算がオーバーフローを発生させていないかを監視して、オーバーフローを発生させた小区間については、他の上記適応フィルタにも拡張追加的に振分けることを上記演算精度制御手段に指令する精度監視手段を有することを特徴とする請求項１に記載のエコーキャンセラ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エコーキャンセラ装置に関するものである。例えば、自動車電話の車内でのハンズフリー携帯電話や国際電話回線などにおける、送信信号に含まれているエコー成分を除去するエコーキャンセラ装置に好適なものである。
【０００２】
【従来の技術】
従来、例えば、自動車電話の車内でのハンズフリー携帯電話などにおける音声入力装置が備えているエコーキャンセラ装置は、エコーキャンセラ装置が搭載している適応フィルタにおいて、遠端入力信号（受信信号）に基づいてエコー信号と推定された擬似的なエコーレプリカ（擬似エコー信号）を形成して、エコーパス（反響空間）でエコーを含んだ近端入力信号（発音出力信号）に対して、この形成されたエコーレプリカを減算することによりエコーを除去している。
【０００３】
文献『金田豊著、「適応フィルタの概要」、日本音響学会誌４８巻７号、P.489〜492、１９９２年』
従来の上記エコーキャンセラ装置の適応フィルタは、遠端入力信号（受信信号）のサンプル値を適応フィルタのタップ数だけ保持し、その保持したサンプル値と適応フィルタの各タップ係数を乗算することでエコーレプリカを形成している。特にエコーパスの変動や、外来雑音などに柔軟に対応するため、上記文献が示すような、例えばＬＭＳ法（最小２乗法）や学習同定法などの適応アルゴリズムが用いられている。
【０００４】
雑音やエコーが含まれておらず、有効な受信音声のみを含んだ音声を受信する状態（受信シングル状態）に場合にのみ、エコーパスの伝達特性（インパルス応答）の変化に対応させた適応フィルタのタップ係数を、これらの適応アルゴリズムは適応的に更新している。そのため、比較的軽量な計算量と安定な動作からエコーキャンセラ装置の適応フィルタとして、これらの適応アルゴリズムはよく利用されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、従来の上記エコーキャンセラ装置は、実際の使用環境などによっては、エコーパスが長くなり、エコー成分を除去する性能を落とさずにエコーレプリカを形成すると、より多くの適応フィルタのタップ数が必要となり、計算量が多量になり、それに従いメモリーが多量となってしまい、適応フィルタの演算規模が大きくなってしまう課題がある。これは、適応アルゴリズムの如何に関わらず生じる課題である。
【０００６】
例えば、当該エコーキャンセラ装置が適用された電話（自動車電話や携帯電話等）を使用して相手話者と会話をする場合、ある短期的なエコーパスよりも２倍の長さを持つ長期的なエコーパスを、その短期的なエコー成分除去と同じ精度でエコー成分を除去するには、短期的なエコーパスよりも２倍の適応フィルタのタップ数を設ける必要がある。その結果、そのタップ数に対応する遠端入力信号（受信信号）のサンプル値を得て、エコーレプリカを形成するのに必要な計算量は、短期的なエコーパス除去の場合に比べ、少なくとも２倍の計算量が必要となり、それにともない装置全体の演算規模も大きくなってしまう。
【０００７】
そのため、適応フィルタを用いたエコーキャンセラアルゴリズムにおいて、エコーパスの特徴に基づいて、適応フィルタのタップ係数のビット配分を適切に設定することによって、より長いインパルス応答に対応できるエコーキャンセラ装置が求められている。
【０００８】
【課題を解決するための手段】
かかる課題を解決するために、本発明は、適応フィルタ手段が受信信号から発生させた擬似エコー信号を、送信信号から減算することにより、送信信号に混入されているエコー成分を除去するエコーキャンセラ装置において、上記適応フィルタ手段が、擬似エコー信号を発生させる演算精度が異なる、複数の適応フィルタと、上記各適応フィルタのタップ係数群を複数の小区間に分割し、その分割した小区間毎のタップ係数に基づいて必要演算精度情報を求める精度算出手段と、上記精度算出手段によって求められた各小区間の各必要演算精度情報に基づいて、上記受信信号を上記各適応フィルタに上記小区間単位で振り分けると共にタップ係数を更新する演算精度制御手段とを有することを特徴とする。
【０００９】
【発明の実施形態】
（Ａ）第１の実施形態
以下、本発明によるエコーキャンセラ装置を、適応アルゴリズムとして学習同定法を用いたエコーキャンセラを備えたエコーキャンセラ装置に適用した第１の実施形態について、図１から図３を参照しながら説明する。
【００１０】
（Ａ−１−１）第１実施形態に係るエコーキャンセラ装置の全体構成
図１は、第１の実施形態に係るエコーキャンセラ装置の全体構成を示したブロック図である。
【００１１】
図１において、第１の実施形態のエコーキャンセラ装置は、遠端入力端子１０１、遠端出力端子１０３、近端入力端子１０５、近端出力端子１１０、エコーパス加算器１０６、エコーキャンセラ１０８を有している。
【００１２】
エコーパス１０４は、遠端出力端子（例えば、スピーカ）１０３から受信した遠端出力信号Ｒout（図示していないが信号Ｒｉｎをアナログ信号に変換した信号）がエコーパス（反響経路）１０４を介して、エコー信号（音響信号）ＥＴを発生させるものである。
【００１３】
通常、エコーパス１０４は、例えば、本実施形態のエコーキャンセラ装置を自動車の車内でのハンズフリー携帯電話などに用いる場合には、その車内の室内反響によってエコーを発生させる室内空間などであるが、本実施形態では、エコーを発生させる上の便宜のために設けた。したがって、本実施形態の構成要素として必ずしも必要なものではない。
【００１４】
エコーキャンセラ１０８は、エコー信号ＥＴを含んだ近端入力信号Ｓｉｎ’（＝Ｓｉｎ＋ＥＴ）からエコー成分を除去するものである。エコーキャンセラ１０８は、遠端入力信号（デジタル信号）Ｒｉｎを受信して、この遠端入力信号ＲｉｎからエコーレプリカＥＲを形成する。また、エコーパス加算器１０６から与えられたエコーを含んだ近端出力信号Ｓｉｎ’から、このエコーレプリカＥＲを減算して近端出力端子１１０へ与えるものである。
【００１５】
エコーキャンセラ１０８は、適応フィルタ部１０２とエコー打消し加算器１０７を有している。
【００１６】
適応フィルタ部１０２は、遠端入力端子１０１からサンプル単位で与えられた遠端入力信号Ｒｉｎと残差信号ＺＳに応じて、適応的にタップ係数を更新しながらエコーレプリカ（擬似エコー信号）ＥＲを形成するものである。
【００１７】
ここで、適応フィルタ部１０２は、基本的には、エコーパスＥＴの伝達特性（インパルス応答）を分析してエコーレプリカＥＲを形成するものであり、そのために、遠端入力信号（受信信号）Ｒｉｎのサンプル値をタップ数だけ保持する保持レジスタ（図示しない）と、タップ数分だけのタップ係数を保持する係数レジスタ（図示しない）と、同一タップに関する遠端入力信号Ｒｉｎのサンプル値とタップ係数とを乗積するタップ数個の乗算器（図示しない）と、残差信号ＺＳに応じて係数レジスタに保持するタップ係数を学習同定法に従って更新するタップ係数更新部とを備えている。
【００１８】
なお、エコーレプリカＥＲは、（１）式が示すように、遠端入力信号Ｒｉｎと適応フィルタのタップ係数との演算によって求められる。エコーレプリカＥＲは、適応フィルタ部１０２が備えている保持レジスタ（図示しない）に保持された遠端入力信号Ｒｉｎに、係数レジスタ（図示しない）に保持された遠端入力信号に対応する各タップ係数ｈ（ｔ）を乗積し、全乗積結果を加算することで求められる。
【００１９】
ＥＲ＝Ｈ（ｔ）・ｘ（ｔ）                                …（１）
Ｈ（ｔ）は、時刻ｔにおける、エコーインパルス応答の推定値であるタップ係数ｈ（ｔ）を転置して横ベクトルを表している。また、ｘ（ｔ）は、遠端入力信号Ｒｉｎを、時刻ｔから過去にさかのぼったｎ個までの受信信号系列を示している。
【００２０】
エコー打消し加算器１０７は、エコーパスを含んだ近端入力信号Ｓｉｎ’の時刻ｔのサンプル値ｙ（ｔ）（スカラー量）から、総和用加算器１１５から与えられたエコーレプリカ（擬似エコー信号）ＥＲを減算することにより、近端入力信号Ｓｉｎ’に含まれているエコー成分を除去するものである。エコー成分を除去された信号は、近端出力信号Ｓｏｕｔとして与えられ、また、残差信号ＺＳ（＝ｅ（ｔ））（スカラー量）として再度適応フィルタ１０２に与えられる。なお、残差信号ＺＳ（＝ｅ（ｔ））は、（２）式のようにして求められる。
【００２１】
ｅ（ｔ）＝ｙ（ｔ）−Ｈ（ｔ）・ｘ（ｔ）                  …（２）
ここで、ｅ（ｔ）は、時刻ｔおける、残差信号ＺＳの信号系列を示したものである。また、ｙ（ｔ）は、エコーを含んだ近端入力信号Ｓｉｎ’の時刻ｔの信号系列を示したものである。また、Ｈ（ｔ）は、ｈ（ｔ）を転置した横ベクトルである。
【００２２】
（Ａ−１−２）第１実施形態に係る適応フィルタ部の構成
適応フィルタ部１０２は、ブロック分割制御部１１１、適応フィルタ１６ビット処理部１１２、スケール変換部１１３、適応フィルタ８ビット処理部１１４、総和用加算部１１５を有している。
【００２３】
ブロック分割制御部１１１は、エコーパスの伝達特性（インパルス応答）に対してタップ係数群を所定の小区間毎に区分けして、その小区間のタップ係数ｈ（ｔ）のパワを求め、観測した小区間毎のタップ係数ｈ（ｔ）のパワに基づいて、その区間に対応する遠端入力信号と演算信号を適応フィルタ１６ビット処理部１１２と、スケール変換部１１３を介して適応フィルタ８ビット処理部１１４とへ与えるものである。ここで、タップ係数群を区分けする所定の小区間は、装置全体の演算規模に合わせて設定することができ、例えば、装置全体の演算規模を低減するためには、所定の小区間をできるだけ大きい期間を設定することができ、また、エコーパスの伝達特性（インパルス応答）を正確に反映させるためには、所定の小区間をできるだけ小さい期間を設定することができる。
【００２４】
この所定の小区間のタップ係数ｈ（ｔ）のパワに基づいて、各適応フィルタ処理部を振り分ける方法は、タップ係数の更新時に、各小区間毎のタップ係数ｈ（ｔ）のパワを観測し、その小区間毎のタップ係数ｈ（ｔ）のパワが、所定のしきい値以上であると検出した場合には、その小区間の乗積処理を、高精度であるが演算処理の重い適応フィルタ１６ビット処理部１１２に振り分けこととし、また、その小区間毎のタップ係数のパワがしきい値より小さいと検出した場合には、演算処理が比較的軽量な適応フィルタ８ビット処理部１１４に振り分けることとする。この時のタップ係数は８ビット変数とする。すなわち、各小区間毎のタップ係数ｈ（ｔ）のパワを求めて、その求めた各小区間の演算処理負荷に応じて、各小区間毎に各適応フィルタ処理部に振り分けることとした。
【００２５】
図２は、一般的なエコーパスの伝達特性（インパルス応答）とそのエコーパスの伝達特性（インパルス応答）に基づいて区分けした小区間毎のタップ係数ｈ（ｔ）のパワとの関係を示した図である。
【００２６】
また、図３は、図２に示す一般的なエコーパスの伝達特性（インパルス応答）に対して、適応フィルタ処理部への振り分けを示した図である。
【００２７】
図２が示すように、エコーパスの伝達特性（インパルス応答）は、所定期間の初期遅延のあと、インパルス応答の立ち上がりの段階に最も大きい応答をみせ、時間的に衰弱していく特性がある。
【００２８】
したがって、図３に示すように、エコーパスの伝達特性（インパルス応答）の立ち上がりから所定の期間までは、大きなインパルス応答がみられ、この期間のインパルス応答に対しては、１６ビット演算処理により演算処理を行ない、その所定期間が過ぎたインパルス応答に対しては、８ビット演算処理により行なうことが装置全体の演算処理の低減化になる。
【００２９】
ここで、タップ係数の更新は、遠端入力信号Ｒｉｎだけが有効な信号とされる受信シングルトーク状態のときに行なわれる。このタップ係数が更新されると、エコーパスの伝達特性（インパルス応答）の変化に対応して、タップ係数を適応的に更新することができ、適応フィルタ部１０２から出力されるエコーレプリカＥＲを適正化することができる。
【００３０】
適応フィルタ１６ビット処理部１１２は、１６ビット変数のタップ係数を用い、遠端入力信号Ｒｉｎ及び残差信号ＺＳから担当ブロック分のエコーレプリカＥＲ１６を求めものである。
【００３１】
適応フィルタ８ビット処理部１１４は、８ビット変数のタップ係数を用い、スケール変換部１１３で８ビット変換した遠端入力信号Ｒｉｎ及び残差信号ＺＳから担当ブロック分のエコーレプリカＥＲ８を求めるものである。
【００３２】
なお、適応フィルタ１６ビット処理部１１２は、高精度であるが演算処理の重い計算機構であり、適応フィルタ８ビット処理部１１４は、比較的軽量な演算処理の計算機構である。ここで設定したビット数や演算の種類を限定されるものではなく、例えば３２ビットの適応フィルタ処理部等を設定することもできる。
【００３３】
適応フィルタ１６ビット処理部１１２及び適応フィルタ８ビット処理部１１４は、初期動作を実行するか通常動作を実行するかを制御する制御信号が与えられる。適応フィルタ８ビット処理部１１４及び適応フィルタ１６ビット処理部１１２は、通常動作時では、タップ係数を更新しながらエコーレプリカＥＲの形成を行なうが、初期動作時では、タップ係数の更新動作を停止させ、初期時のタップ係数を利用してエコーレプリカＥＲの形成を行なう。
【００３４】
また、ブロック分割制御部１１１は、小区間のタップ係数のパワを観測する時期は、タップ係数を更新する時期に行なわれるので、通常動作時には、小区間のタップ係数のパワが逐次求められ、各適応フィルタに振り分けられる。
【００３５】
スケール変換部１１３は、適応フィルタ８ビット処理部１１４で処理するために、適応フィルタ８ビット処理部１１４に与えられる信号を８ｂｉｔに変換するものである。適応フィルタ８ビット処理部１１４に与えられる信号は、上述したようにブロック分割制御部１１１において、小区間のタップ係数ｈ（ｔ）のパワがしきい値よりも小さい区間に対応する遠端入力信号Ｒｉｎと、残差信号ＺＳとである。
【００３６】
ここで、エコーレプリカＥＲを作成するために用いられるタップ係数ｈ（ｔ）の更新は、過去の１個の入出力関係を満足するようにタップ係数を更新する学習同定法により、シングルトーク状態（入力信号に背景雑音などが混入しない状態）において、（３）、（４）式が示すようにして更新される。
【００３７】
ｈ（ｔ＋１）＝ｈ（ｔ）＋[α・ｅ（ｋ）・ｘ（ｋ）／｛Ｘ（ｔ）・ｘ（ｔ）＋β｝]…（３）
αは、ステップサイズであって０＜α＜２の範囲の値であり、βは、０除算を防ぐ小さな正の値である。また、Ｘ（ｔ）は、縦ベクトルｘ（ｔ）を転置した横ベクトルである。
【００３８】
総和用加算器１１５は、適応フィルタ１６ビット処理部１１２で求められたエコーレプリカＥＲ１６と適応フィルタ８ビット処理部１１４で求められたエコーレプリカＥＲ８とを総加算して、近端入力信号Ｓｉｎ’に対して減算するエコーレプリカＥＲを求めるものである。
【００３９】
（Ａ−２−１）第１の実施形態に係るエコーキャンセラ装置の動作
以上のような機能の各構成要素を有する第１の実施形態のエコーキャンセラ装置の動作について説明する。
【００４０】
遠端入力端子１０１からは、遠端入力信号Ｒｉｎがサンプル単位で、エコーキャセラ１０８に与えられる。エコーキャンセラ１０８に与えられた遠端入力信号Ｒｉｎは、適応フィルタ部１０２と遠端出力端子１０３にそれぞれ与えられる。
【００４１】
遠端出力端子１０３から出力される遠端出力信号Ｒｏｕｔは、その一部がエコーパス１０４を介してエコー信号ＥＴとなりエコー加算器１０６に到達して、近端入力信号Ｓｉｎに重畳されて出力される。このとき、この出力される信号は、エコーＥＴを重畳した近端出力信号Ｓｉｎ’である。
【００４２】
このように近端出力信号Ｓｉｎ’は、エコーキャンセラ１０８に入力され、エコーキャンセラ１０８のエコー打消し加算器１０７において、遠端入力信号Ｒｉｎ及び対応するタップ係数ｈ（ｔ）から形成したエコーレプリカＥＲが減算されてエコー成分が除去される。
【００４３】
エコー成分が除去された残差信号ＺＳは、近端出力端子１１０へ与えられると共に、エコーレプリカの適性を評価するために適応フィルタ部１０２にも与えられる。
【００４４】
（Ａ−１−２）第１実施形態に係る適応フィルタ部の動作
エコーキャンセラ１０８の適応フィルタ部１０２は、次のような動作により、エコーレプリカＥＲを形成する。
【００４５】
タップ係数ｈ（ｔ）の更新時に、タップ係数群を所定の小区間毎に区分し、その各小区間のタップ係数ｈ（ｔ）は、適応フィルタ１６ビット処理部１１２若しくは適応フィルタ８ビット処理部１１４に保持されている。
【００４６】
ブロック分割制御部１１１において、この保持されている小区間のタップ係数ｈ（ｔ）のパワが求められる。求められた小区間のタップ係数ｈ（ｔ）のパワが所定のしきい値以上である場合には、その小区間に対応する遠端入力信号Ｒｉｎは、高精度だが処理が重い適応フィルタ１６ビット処理部１１２へ与えられ、また、所定のしきい値より小さい場合には、小区間に対応する遠端入力信号Ｒｉｎは、比較的処理が軽い適応フィルタ８ビット処理部１１４に与えられる。
【００４７】
適応フィルタ８ビット処理部１１４に振り分けられた小区間の遠端入力信号Ｒｉｎは、処理される信号系列を８ビットに変換するために、スケール変換部１１３を介して、適応フィルタ８ビット処理部１１４に与えられる。
【００４８】
ブロック分割制御部１１１の指示に従って、適応フィルタ１６ビット処理部１１２又は適応フィルタ８ビット処理部１１４に振り分けられた小区間の遠端入力信号Ｒｉｎは、適応フィルタ処理部１１２、１１４に保持されている、その区間のタップ係数ｈ（ｔ）と乗積され、エコーレプリカＥＲ１６又はエコーレプリカＥＲ８が総和用加算器１１５に与えられる。
【００４９】
与えられたエコーレプリカＥＲ１６とエコーレプリカＥＲ８は、総和用加算器１１５において、全ての乗算結果の総和が求められて、エコーレプリカＥＲが形成される。
【００５０】
（Ａ−３）第１の実施形態の効果
以上、本実施形態のエコーキャンセラ装置によれば、エコーパスの伝達特性（インパルス応答）より、適応フィルタのタップ係数を所定の小区間に分け、その小区間のタップ係数のパワに基づいて、エコーレプリカを求める演算処理手段を振り分けることにより、インパルス応答の区分毎の演算量の最適化を図り、装置全体の演算量を削減できるので、演算に係る計算量、メモリーを少なくできる。
【００５１】
また、小区間のタップ係数のパワが、所定のしきい値以上の場合には、１６ビット演算処理部、所定のしきい値より小さい場合には、８ビット演算処理部に振り分けることで、演算処理に係る演算量の最適化を図ることができ、演算処理に係る計算量、メモリーを少なくすることができる。
【００５２】
さらに、装置全体の演算処理に係る演算量が軽減することができることから、より長いタップ係数に対しても処理できるので、エコーキャンセラのエコー消去性能を改善できる。
【００５３】
（Ｂ）第２の実施形態
次に、本発明によるエコーキャンセラ装置の第２の実施形態を図４を参照して説明する。
【００５４】
（Ｂ−１）第２の実施形態の構成
図４は、第２の実施形態のエコーキャンセラ装置の全体構成を示したブロック図であり、上述した第１の実施形態に係る図１との同一、対応部分には対応する符号を付して示している。
【００５５】
第２の実施形態は、原則的には、適応フィルタ８ビット処理部１１４において演算処理を行ない、適応フィルタ８ビット処理部１１４による演算処理でオーバーフローを発生させた小区間には、適応フィルタ１６ビット処理部１１２によって演算処理を行なうことを特徴とする。
【００５６】
上述したように、エコーパスの伝達特性（インパルス応答）は、エコーパスの初期遅延後、エコーパスの伝達特性（インパルス応答）の立ち上がりの段階に最も大きい応答をみせ、時間的に衰弱していくという特性がある。
【００５７】
したがって、エコーパスの伝達特性（インパルス応答）の全域に対して、８ビット演算処理を行なうと、エコーパスの伝達特性（インパルス応答）の立ち上がりにみられる大きなインパルス応答に対する小区間の演算処理がオーバーフローを発生してしまう。また、エコーパスの伝達特性（インパルス応答）の全域に対して、１６ビット演算処理を行なうと、衰弱したインパルス応答に対して、１６ビットのうち最後の２、３ビットのみの演算処理による場合があり、装置の演算負荷が有効に活用されていない。
【００５８】
そこで、第２の実施形態のエコーキャンセラ装置は、通常の演算処理を、第１の実施形態と同様に設定した所定の小区間の演算処理を、８ビット演算処理で行ない、オーバーフローが発生した場合のみ１６ビット演算処理を行なうようにした。
【００５９】
すなわち、第２の実施形態のエコーキャンセラ装置は、所定の小区間の演算処理を、比較的軽量な計算機構を有する８ビット演算処理によって、エコーレプリカＥＲ８を形成する。しかし、エコーパスの伝達特性（インパルス応答）の立ち上がりには、８ビット演算処理した結果、オーバーフローを発生してしまう。従って、オーバーフローを発生した小区間について、１６ビット演算処理を行なうこととした。
【００６０】
第２の実施形態のエコーキャンセラ装置は、図４と図１との比較から明らかなように、第１実施形態とは異なって、適応フィルタ部１０２にオーバーフロー監視部２１６が設けられている。
【００６１】
オーバーフロー監視部２１６は、オーバーフロー検知機能と、ブロック分割制御部１１１に対して再分配を指示する再分配指令機能とを備えたものである。
【００６２】
オーバーフロー監視部２１６は、タップ係数の更新時において、適応フィルタ８ビット処理部１１４に振り分けられたタップ係数更新量及びタップ係数の状態を監視しており、一定量のオーバーフローを発生させた遠端入力信号Ｒｉｎを、適応フィルタ１６ビット処理部１１２に再分配することをブロック分割制御部１１１に指示するものである。
【００６３】
すなわち、適応フィルタ８ビット処理部１１４において、（１）式に示すように、小区間毎にタップ係数ｈ（ｔ）と遠端入力信号の信号系列ｘ（ｔ）との乗算が行なわれる。例えば、符号長８ビットの２進数同士の掛算をすると１６ビットになる。このように、演算により発生したオーバーフローに対し、オーバーフロー監視部２１６は、演算において変数のオーバーフローが一定量発生したかどうかを検出するために、適応フィルタ８ビット処理部１１４の遠端入力信号ｘ（ｔ）と積和に係るタップ係数又はタップ係数更新量を監視している。
【００６４】
また、一度適応フィルタ８ビット処理部１１４に分配され、オーバーフローを発生させた小区間の遠端入力信号Ｒｉｎは、ブロック分割制御部１１１からの指示により、適応フィルタ１６ビット処理部１１２に再度分配される。ここで、オーバーフローを発生させた場合の小区間の演算処理の時期について、例えば、適応フィルタ部１０２にオーバーフローを発生させた区間の遠端入力信号の信号系列ｘ（ｔ）とタップ係数ｈ（ｔ）とを記憶しておくオーバーフロー記憶装置（図示しない）を設けて、当該発生信号の１つ過去にさかのぼった区間の演算処理を先に行ない、当該小区間の演算処理を遅延させても良い。また、例えば、適応フィルタ８ビット処理部１１４から適応フィルタ１６ビット処理部１１２に接続をし、ブロック分割制御部１１１からの指示により、同時期に演算処理ができるようにしても良い。
【００６５】
ここで、オーバーフロー監視部２１６が、オーバーフローを検出した情報をブロック分割制御部１１１に与える手法として、適応フィルタ部１０２がオーバーフローモードになることを指示することができればよく、例えば、ブロック分割制御部１１１に対し、オーバーフローが発生したことを伝えるフラグを設定し、オーバーフローモードの再分割処理をさせる等してもよい。
【００６６】
ブロック分割制御部１１１は、オーバーフロー監視部２１６の指示により、オーバーフローが発生した遠端入力信号Ｒｉｎを、再度適応フィルタ１６ビット処理部１１２へ振り分けるものである。ここで、与えられた遠端入力信号Ｒｉｎは、適応フィルタ１６ビット処理部１１２で保持されているタップ数ｈ（ｔ）と乗算することにより、エコーレプリカＥＲ１６を形成するものである。
【００６７】
（Ｂ−２）第２の実施形態の動作
以上のような機能を備えた第２の実施形態のエコーキャンセラ装置の動作について説明する。
【００６８】
第２の実施形態の適応フィルタ部１０２における適応フィルタ処理は、第１の実施形態の場合と同様な動作をするが、異なっている点は、適応フィルタ部１０２において演算処理が適応フィルタ８ビット処理部１１４によって行なわれることである。
【００６９】
つまり、第２の実施形態のエコーキャンセラ装置の通常の動作は、まず、ブロック分割制御部１１１において、遠端入力端子１０１からサンプル単位で与えられた遠端入力信号Ｒｉｎが、スケール変換部１１３を介して８ビット変換されて、適応フィルタ８ビット処理部１１４に与えられる。
【００７０】
適応フィルタ８ビット処理部１１４において、与えられた遠端入力信号Ｒｉｎと対応するタップ係数ｈ（ｔ）とが（１）式に示すように乗算され、各小区間ごとのエコーレプリカＥＲ８が求められ、総和用加算器１１５において、加算されることによりエコーレプリカＥＲは形成される。
【００７１】
しかし、上述したような８ビット演算処理をするエコーキャンセラ装置の動作において、例えば、図２に示すエコーパスの伝達特性（インパルス応答）の立ち上がり期間において、適応フィルタ８ビット処理部１１４に与えられた小区間のタップ係数ｈ（ｔ）と対応する遠端入力信号Ｒｉｎとが乗算された演算結果が、適応フィルタ８ビット処理部１１４の演算精度を超えてしまいオーバーフローを発生させてしまう。
【００７２】
このオーバーフローの発生をオーバーフロー監視部２１６が監視しており、一定量のオーバーフローが発生したことをブロック分割制御部１１１に通知する。
【００７３】
オーバーフローを発生させた小区間の遠端入力信号は、ブロック分割制御部１１１からの指示により、再度適応フィルタ１６ビット処理部１１２に割り振りられる。このとき、適応フィルタ１６ビット処理部１１２は、当該小区間の演算に対応する１６ビット変数のタップ係数ｈ（ｔ）が保持されており、このタップ係数ｈ（ｔ）を利用してエコーレプリカＥＲ１６を形成する。
【００７４】
このようにして、適応フィルタ８ビット処理部１１４において、形成されたエコーレプリカＥＲ８と、また、オーバフローを発生させた遠端入力信号Ｒｉｎを再度分配して、適応フィルタ１６ビット処理部１１２において、形成されたエコーレプリカＥＲ１６とを総和用加算器１１５において、加算することによりエコーレプリカＥＲが形成される。
【００７５】
（Ｂ−２）第２の実施形態の効果
以上のように、第２の実施形態のエコーキャンセラ装置によれば、第１の実施形態と同様に、エコーパスの伝達特性に従って区分けした各小区間を演算処理が比較的軽量な演算処理手段により行なうことで、当該小区間毎の演算量の最適化を図り、装置全体の演算量を削減できるので、より少ない計算量、メモリーを実現できる。
【００７６】
これに加えて、オーバーフロー監視部を設けることにより、各小区間のタップ係数更新量及びタップ係数を監視して、比較的演算処理が軽量な演算処理手段において、オーバーフローを発生させた小区間について、高精度で重い演算処理手段により演算処理することにより、各小区間毎の演算量を過不足なく演算することで最適化が図られ、全体の演算量を削減出来るので、より少ない計算量、メモリーを実現できる。
【００７７】
（Ｃ）第３の実施形態
次に、本発明によるエコーキャンセラ装置の第３の実施形態を図５を参照して説明する。
【００７８】
（Ｃ−１）第３の実施形態の構成
図５は、第３の実施形態のエコーキャンセラ装置の全体構成を示したブロック図であり、上述した第１の実施形態に係る図１との同一、対応部分には、対応する符号を付して示している。
【００７９】
第３の実施形態に係るエコーキャンセラ装置の適応フィルタ部１０２は、適応フィルタ８ビット処理部１１４、スケール変換部１１３、ブロック分割制御部１１１、適応フィルタ追加精度処理部３１７、演算制度監視部３１６を有している。
【００８０】
第３の実施形態では、第２の実施形態のエコーキャンセラ装置と同様に、通常時の演算処理は、適応フィルタ８ビット処理部１１４において処理される。しかし、オーバーフローが発生した場合のみ、その小区間に対して８ビット演算処理を拡張して演算処理を行ない、装置全体として１６ビット演算処理を行なう点が第２の実施形態と異なる。
【００８１】
適応フィルタ追加精度処理部３１７は、８ビット変数を用いた演算処理をする演算処理部であり、オーバーフローが発生した時に、ブロック分割制御部１１１から割り振られた小区間に対して、適応フィルタ８ビット処理部１１４に拡張して演算処理を行なうものである。
【００８２】
適応フィルタ追加精度処理部３１７は、ブロック分割制御部１１１から与えられたオーバーフローした小区間を、適応フィルタ８ビット処理部１１４と共に演算処理を行ない、装置全体として１６ビットの演算処理を行なうものである。また、適応フィルタ追加精度処理部３１７によって形成された追加エコーレプリカＥＲ＋を求め、総和用加算器１１５へ与えるものである。
【００８３】
ここで、オーバーフローを発生させた場合の当該発生信号の演算処理の時期について、例えば、適応フィルタ部１０２にオーバーフローを発生させた小区間の遠端入力信号の信号系列ｘ（ｔ）とタップ係数ｈ（ｔ）とを記憶しておくオーバーフロー記憶装置（図示しない）を設けて、当該小区間の１つ過去にさかのぼった小区間の演算処理を先に行ない、当該発生信号の演算処理を遅延させても良い。また、例えば、適応フィルタ８ビット処理部１１４から適応フィルタ追加精度処理部３１７に接続させ、ブロック分割制御部１１１からの指示により、同時に演算処理ができるようにしても良い。すなわち、追加的に拡張して演算処理をして、装置全体で高精度演算処理をする１６ビットの演算処理ができるようであれば良く、その演算処理の時期及び方法については、本実施形態のエコーキャンセラ装置に限定されるものではない。
【００８４】
演算精度監視部３１６は、適応フィルタ８ビット処理部１１４におけるタップ係数更新量及びタップ係数の状態を監視し、演算処理において変数のオーバーフローが一定量発生した場合、ブロック分割制御部１１１へ演算精度の拡張を指示するものである。
【００８５】
ブロック分割制御部１１１は、演算精度監視部３１６から演算精度拡張指示に基づいて、各小区間の演算処理を適応フィルタ８ビット処理部１１４及び適応フィルタ追加精度処理部３１７に割り振るものである。通常時は、８ビット変数を用いた適応フィルタ８ビット処理部１１４のみの演算処理によりエコーレプリカＥＲ８を求め、それらの総和からエコーレプリカＥＲを形成している。また、一定量のオーバーフローが発生したことを演算精度監視部３１６が発見し、演算精度監視部３１６から演算精度拡張指示があった場合には、適応フィルタ追加精度処理部３１７に、オーバーフローした小区間を割り振るものである。
【００８６】
（Ｃ−２）第３の実施形態の効果
以上、第３の実施形態のエコーキャンセラ装置によれば、エコーパスの伝達特性に対して所定の小区間に分け、その小区間の演算を比較的に演算処理が軽量な演算処理手段により演算処理を行ない、比較的に演算処理が軽量な追加的演算処理手段を設けることにより、オーバーフローが発生した区間について当該追加的演算処理手段を用いて拡張して演算処理を行なうことで、装置全体として高精度な演算処理を行なうことができるので、エコーパスの伝達特性に対しての各小区間毎の演算量を過不足なく演算処理をして最適化が図られ、全体の演算量を削減出来るので、より少ない計算量、メモリーを実現できる。
【００８７】
かくなるにつき、装置全体の演算処理に係る演算量の低減ができることから、より多くのタップ係数に対しても演算処理ができるので、より長大なエコーパスにも対応でき、エコーキャンセラ装置のエコー消去性能を改善できる。
【００８８】
（Ｄ）その他の実施形態
上述した第１〜第３実施形態において、適応フィルタ部１０２の演算処理が重い演算処理であるか又は軽い演算処理であるかの判断手段として、各適応フィルタ処理部１１２、１１４のエコーパスの伝達特性（インパルス応答）を用いたが、適応フィルタ部１０２の演算処理程度が判断できるものであればよく、エコーパスの伝達特性（インパルス応答）に限られるものではない。
【００８９】
また、適応フィルタ処理部１１２及び１１４は、それぞれ、１６ビット変数又は８ビット変数を用いたが、演算処理能力は、限定されるものではない。従って、適応フィルタ３２ビット処理部を適応フィルタ部１０２に設けても良い。ただし、装置全体の演算処理に関する演算処理負荷が大きくなることにより、長いエコーパスに対応するためには、適応フィルタのタップ係数の数が増大するために、装置全体の演算処理負荷も増大してしまう。
【００９０】
また、上述した第１〜第３実施形態において、適応アルゴリズムとして学習同定法を採用したが、これに限定されるものではなく、他のＬＭＳ法（最小２乗法）、ＲＬＳ法（再帰的最小２乗法）、カルマンフィルタ法などを採用しているエコーキャンセラ装置に対しても、本発明を適用することができる。
【００９１】
また、本発明は、スピーカからマイクロホンに回り込んだエコー成分を除去するエコーキャンセラ装置だけでなく、２線４線変換するハイブリッド回路で生じるエコー成分を除去するエコーキャンセラ装置に対しても適用することができる。
【００９２】
さらに、上記各実施形態の説明では、図１、図４、図５に示したエコーキャンセラ装置がハードウェアで構成されているイメージで説明したが、ソフトウェア処理を主体とするエコーキャンセラ装置に対しても本発明を適用することは勿論である。
【００９３】
【発明の効果】
以上、本発明のエコーキャンセラ装置によれば、エコーパスの伝達特性に対して所定の小区間を設け、各小区間におけるタップ係数の自乗和に応じて、演算処理能力の異なる複数の演算処理手段に振り分けて、各小区間毎に演算処理を行なうことにより、装置全体の演算量の最適化を図ることができ、計算量及びその演算に係るメモリなどの低減ができる。
【００９４】
また、通常時の演算処理を比較的軽量な演算処理手段のみによって行ない、オーバーフローを発生させた場合にのみ、高精度の演算処理手段を用いて演算処理することにより、演算処理に係る演算処理機構を有効に活用することができる。
【００９５】
その結果として、適応フィルタのタップ係数の数が増加しても、同じ演算処理負荷で演算処理をすることができるので、長大なエコーパスにも対応できる。
【図面の簡単な説明】
【図１】第１実施形態に係るエコーキャンセラ装置の全体構成を示したブロック図である。
【図２】エコーパスの伝達特性（インパルス応答）と所定小区間に区分したタップ係数のパワとの関係を示した関係図である。
【図３】エコーパスの伝達特性（インパルス応答）と適応フィルタの処理配分との関係を示した関係図である。
【図４】第２実施形態に係るエコーキャンセラ装置の全体構成を示したブロック図である。
【図５】第３実施形態に係るエコーキャンセラ装置の全体構成を示したブロック図である。
【符号の説明】
１０１…遠端入力端子、１０３…遠端出力端子、
１０５…近端入力端子、１１０…近端出力端子、
１０２…適応フィルタ部、１０４…エコーパス、１０６…エコーパス加算器、
１０７…エコー打消し加算器、１０８…エコーキャンセラ、
１１１…ブロック分割制御部、１１２…適応フィルタ１６ビット処理部、
１１４…適応フィルタ８ビット処理部、１１３…スケール変換部、
１１５…総和用加算器、
２１６…オーバーフロー監視部、３１６…演算精度監視部、
３１７…適応フィルタ追加精度処理部。
【図１】
0004310926.tif 000002
【図２】
0004310926.tif 000003
【図３】
0004310926.tif 000004
【図４】
0004310926.tif 000005
【図５】
0004310926.tif 000006