(57)【特許請求の範囲】
【請求項１】
遠端話者信号をフレーム単位で蓄積する第１のバッファ手段と、
近端話者信号をフレーム単位で蓄積する第２のバッファ手段と、
上記第１のバッファ手段に蓄積された遠端話者信号にフィルタ係数を乗算して擬似エコー信号を生成するフィルタ手段と、
上記第２のバッファ手段に蓄積された近端話者信号から上記フィルタ手段によって生成された擬似エコー信号を差し引くことで上記近端話者信号に含まれるエコー成分を除去する減算手段と、
上記フィルタ係数を所定のアルゴリズムに基づき更新するフィルタ係数更新手段と、
上記減算手段によって得られる残差エコー信号をフレーム単位で蓄積する第３のバッファ手段と、
上記第３のバッファ手段に蓄積された残差エコー信号を読み込み、この残差信号を複数のブロックに分けてブロック毎のパワーの変化から近端話者信号の立ち上りを検出する立ち上り検出手段と、
この第３のバッファ手段に１フレーム分の残差エコー信号が蓄積されたことに応じ、この残差エコー信号と前記第１のバッファ手段に蓄積された遠端話者信号との関係が第１のダブルトーク判定基準または前記立ち上り検出手段によって立ち上がりが検出されたことに応じて設定される前記第１のダブルトーク判定基準よりもダブルトークを検出しやすい第２のダブルトーク判定基準を満たすことでダブルトークを検出し、上記フィルタ係数更新手段による上記フィルタ係数の更新を中断させるダブルトーク検出手段と
を具備したことを特徴とするエコーキャンセラ。
【請求項２】
上記減算手段は、上記近端話者信号、上記擬似エコー信号および上記残差エコー信号を蓄積するための各バッファエリアのアドレスポインタを処理毎に一定量増加させて減算処理を行うことを特徴とする請求項１記載のエコーキャンセラ。
【請求項３】
上記フィルタ手段は係数用バッファエリアを有し、この係数用バッファエリアにはアドレスの低い方から次数の高いフィルタ係数が順に配置されることを特徴とする請求項１記載のエコーキャンセラ。
【請求項４】
遠端話者信号を復号化処理して受信し、近端話者信号を符号化処理して送信するための音声符復号化器と、上記近端話者信号に含まれるエコー成分を除去するためのエコーキャンセラとを備えた音声通信装置において、
上記エコーキャンセラは、
遠端話者信号をフレーム単位で蓄積する第１のバッファ手段と、
近端話者信号をフレーム単位で蓄積する第２のバッファ手段と、
上記第１のバッファ手段に蓄積された遠端話者信号にフィルタ係数を乗算して擬似エコー信号を生成するフィルタ手段と、
上記第２のバッファ手段に蓄積された近端話者信号から上記フィルタ手段によって生成された擬似エコー信号を差し引くことで上記近端話者信号に含まれるエコー成分を除去する減算手段と、
上記フィルタ係数を所定のアルゴリズムに基づき更新するフィルタ係数更新手段と、
上記減算手段によって得られる残差エコー信号をフレーム単位で蓄積する第３のバッファ手段と、
上記第３のバッファ手段に蓄積された残差エコー信号を読み込み、この残差信号を複数のブロックに分けてブロック毎のパワーの変化から近端話者信号の立ち上りを検出する立ち上り検出手段と、
上記第３のバッファ手段に１フレーム分の残差エコー信号が蓄積されたことに応じ、この残差エコー信号と前記第１のバッファ手段に蓄積された遠端話者信号との関係が第１のダブルトーク判定基準または前記立ち上り検出手段によって立ち上がりが検出されたことに応じて設定される前記第１のダブルトーク判定基準よりもダブルトークと判定しやすい第２のダブルトーク判定基準を満たすことでダブルトークを検出し、上記フィルタ係数更新手段による上記フィルタ係数の更新を中断させるダブルトーク検出手段と
を具備して構成されることを特徴とする音声通信装置。
【請求項５】
遠端話者信号、近端話者信号および残差エコー信号をフレーム単位で蓄積するバッファ手段を有し、上記バッファ手段に蓄積された遠端話者信号を復号化処理して受信すると共に、上記バッファ手段に蓄積された近端話者信号を符号化処理して送信するための音声符号化器と、上記近端話者信号の含まれるエコー成分を除去するためのエコーキャンセラとを備えた音声通信装置において、
上記エコーキャンセラは、
上記バッファ手段に蓄積された遠端話者信号にフィルタ係数を乗算して擬似エコー信号を生成するフィルタ手段と、
上記バッファ手段に蓄積された近端話者信号から上記フィルタ手段によって生成された擬似エコー信号を差し引くことで上記近端話者信号に含まれるエコー成分を除去する減算手段と、
上記フィルタ係数を所定のアルゴリズムに基づき更新するフィルタ係数更新手段と、
上記バッファ手段に蓄積された残差エコー信号を読み込み、この残差エコー信号を複数のブロックに分けてブロック毎のパワーの変化から近端話者信号の立ち上りを検出する立ち上り検出手段と、
上記バッファ手段に１フレーム分の残差エコー信号が蓄積されたことに応じ、この残差エコー信号と遠端話者信号との関係が第１のダブルトーク判定基準または前記立ち上り検出手段によって立ち上りが検出されたことに応じて設定される前記第１のダブルトーク判定基準よりもダブルトークと判定しやすい第２のダブルトーク判定基準を満たすことでダブルトークを検出し、上記フィルタ係数更新手段による上記フィルタ係数の更新を中断させるダブルトーク検出手段と
を具備して構成されることを特徴とする音声通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、回線数を多く確保するために音声信号を圧縮して送るディジタル自動車電話等の携帯端末であって、特に電話機を持たなくても通話が可能である所謂ハンズフリーホンタイプの携帯端末で発生するエコーによる通話の劣化を抑えるためのエコーキャンセラ及びこのエコーキャンセラを備えた音声通信装置に関する。
【０００２】
【従来の技術】
近年、コンピュータや通信の分野では、ディジタル信号処理（ＤＳＰ）が注目され、多種類の分野に応用されている。このディジタル信号処理は、アナログ処理では困難であった特性定数の任意変更や適応処理等の複雑な処理を容易に実現することができるため、特に、音声処理や画像処理の分野において汎用的な技術として用いられている。
【０００３】
例えば、自動車電話等で使用されるハンズフリータイプの電話機では、ハンズフリー通話中には、スピーカからの受話音声がマイクロホンに回り込み、これが相手方に送られて音響エコーが発生することがある。このような受話音声の回り込みによる音響エコーを打ち消して通話品質を保つために、一般にエコーキャンセラと呼ばれるエコー消去装置が使用される。
【０００４】
このエコーキャンセラでは、上述したディジタル信号処理によって擬似エコー信号を生成し、マイクロホンから入力された通話者の送話信号から上記擬似エコー信号を差し引くことによって、送話信号に含まれるエコー成分を除去している。
【０００５】
また、無線携帯電話装置では、通信チャネル数を増加させるために、音声信号のパラメータを検出して、そのパラメータだけを送る音声符号化装置により低ビットレートの伝送が行われている。
【０００６】
図３は従来のエコーキャンセラを備えた音声通信装置の構成を示すブロック図である。
【０００７】
無線携帯電話装置等で用いられている音声通信装置は、図３に示すように、スピーカ１０１、マイクロホン１０２、Ｄ／Ａ変換器１０３、Ａ／Ｄ変換器１０４、音声復号化器（ＤＥＣＯＤＥＲ）１０９、音声符号化器（ＣＯＤＥＲ）１１０およびエコーキャンセラ１００を備えている。
【０００８】
スピーカ１０１は遠端話者（通話相手）の音声を出力し、マイクロホン１０２は近端話者の音声を入力するためのものである。Ｄ／Ａ変換器１０３は、音声復号化器１０９からの遠端話者信号Ｘｓをディジタル／アナログ変換してスピーカ１０１に出力する。Ａ／Ｄ変換器１０４は、マイクロホン１０２から入力された音声をアナログ／ディジタル変換して、ディジタル化された近端話者信号Ｙｓを生成する。音声復号化器１０９は、図示せぬ受信回路にて受信されたパラメータだけの信号から音声信号へと復号処理を行って、遠端話者信号Ｘｓを生成する。音声符号化器１１０は、エコーキャンセラ１００にてエコー成分が消去された送信音声信号のパラメータを検出してそのパラメータだけを符号化して図示せぬ送信回路に送る。
【０００９】
このような構成において、図示せぬ受信回路にて受信されたパラメータだけの受話信号は音声復号化器１０９で復号化処理が施され、さらにＤ／Ａ変換器１０３でアナログ通話信号に戻された後、スピーカ１０６から話者に向けて音声出力される。
【００１０】
一方、話者の送話音声は、マイクロホン１０２により集音されて送話信号に変換された後、Ａ／Ｄ変換器１０４に入力され、ここで先ず所定のサンプリング周期でデジタル化される。そして、このデジタル化された送話信号つまり近端話者信号Ｙｓは、エコーキャンセラ１００にてエコー成分が除去された後、音声符号化器１１０に入力され、ここで符号化処理されて図示せぬ送信回路に供給される。
【００１１】
ここで、エコーキャンセラ１００は、ディジタルフィルタ（ＦＩＲ）１０５、減算器１０６、フィルタ係数更新部（ＡＤＰ）１０７、ダブルトーク検出器（ＤＴＤ）１０８から構成される。
【００１２】
ディジタルフィルタ１０５は、遠端話者信号Ｘｓにフィルタ係数を掛け合わせて疑似エコー信号Ｙｓｓを生成するものである。この疑似エコー信号Ｙｓｓは演算器１０６に供給される。減算器１０６は、Ａ／Ｄ変換器１０４の出力である近端話者信号Ｙｓから疑似エコー信号Ｙｓｓを減算してエコー成分を打ち消した残差エコー信号Ｅｓを生成する。
【００１３】
また、フィルタ係数更新部１０７は、ディジタルフィルタ１０５のフィルタ係数を更新する。ここでは、上記減算器１０６で消去されずに通過する残差信号を最小にするために、フィルタ係数（タップ係数とも呼ばれる）を更新するための演算処理が行われる。このフィルタ係数更新（学習）により、ディジタルフィルタ１０５の伝達関数はエコーパスの伝達関数に次第に近づき、両伝達関数が等しくなると残差信号レベルは略零になる。
【００１４】
このフィルタ係数更新部１０７によるフィルタ係数の更新は、双方向で同時に会話する状態の時、所謂ダブルトークの最中に行うことができない。これは、ダブルトーク中にフィルタ係数の更新を行うと、フィルタ係数が収束せずに、送話信号に含まれるエコー成分を正確に消去できなくなるからである。そこで、一般にはダブルトーク検出器１０８が備えられ、通信時におけるダブルトーク期間を検出して、エコーキャンセラ１００の発散を防止している。
【００１５】
ところで、上述した従来のエコーキャンセラ１００では、ＡＤ変換器１０４の出力信号毎に処理を行うような構成、つまり、サンプル形式で構成されており、サンプル毎に上記ダブルトーク期間の判定処理を行っている。
【００１６】
また、ＤＳＰ(Digital Signal Processor)でエコー消去処理と音声符号化／復号化処理の両方を行う場合に、音声符復号化処理は一般的にフレーム処理であるのに対し、エコー消去処理はサンプル処理であるため、音声符号化／復号化処理の最中に割り込みとしてエコー消去処理が入って来る。このため、割り込みのためのレジスタ待避などの処理が余計にかかってしまう。
【００１７】
【発明が解決しようとする課題】
上述したように、従来、音声符復号化器とエコーキャンセラは独立の構成を採っていたために（音声符復号化器はフレーム処理、エコーキャンセラはサンプル処理）、１つのＤＳＰで処理しようとした場合には、割り込み処理などが必要であった。この場合、ダブルトーク結果にハングオーバ処理が加わっていた場合には、サンプル処理では、ハングオーバのカウンタ値の変更やカウンタ値の判定をするためだけに割り込み処理を行わなくてはいけないために、処理量が非常に多くなる問題があった。
【００１８】
また、ダブルトークの判定は、通常、音声の立ち上がりを検出することで行われるが、サンプル処理では、サンプル毎の判定となるため、音声の立ち上がりなど、信号の状態を検出しづらいといった問題があった。
【００１９】
本発明は上記のような点に鑑みなされたもので、割り込み処理等の複雑な演算処理を必要とせずに効率的にエコー成分を消去することのできるエコーキャンセラ及びこのエコーキャンセラを備えた音声通信装置を提供することを目的とする。
【００２０】
【課題を解決するための手段】
本発明のエコーキャンセラは、遠端話者信号をフレーム単位で蓄積する第１のバッファ手段と、近端話者信号をフレーム単位で蓄積する第２のバッファ手段と、上記第１のバッファ手段に蓄積された遠端話者信号にフィルタ係数を乗算して擬似エコー信号を生成するフィルタ手段と、上記第２のバッファ手段に蓄積された近端話者信号から上記フィルタ手段によって生成された擬似エコー信号を差し引くことで上記近端話者信号に含まれるエコー成分を除去する減算手段と、上記フィルタ係数を所定のアルゴリズムに基づき更新するフィルタ係数更新手段と、上記減算手段によって得られる残差エコー信号をフレーム単位で蓄積する第３のバッファ手段と、上記第３のバッファ手段に蓄積された残差エコー信号を読み込み、この残差信号を複数のブロックに分けてブロック毎のパワーの変化から近端話者信号の立ち上りを検出する立ち上り検出手段と、この第３のバッファ手段に１フレーム分の残差エコー信号が蓄積されたことに応じ、この残差エコー信号と前記第１のバッファ手段に蓄積された遠端話者信号との関係が第１のダブルトーク判定基準または前記立ち上り検出手段によって立ち上がりが検出されたことに応じて設定される前記第１のダブルトーク判定基準よりもダブルトークを検出しやすい第２のダブルトーク判定基準を満たすことでダブルトークを検出し、上記フィルタ係数更新手段による上記フィルタ係数の更新を中断させるダブルトーク検出手段とを具備したことを特徴とする。
【００２１】
このような構成によれば、ダブルトークの検出がしづらい音声の立ち上り時でも、立ち上り検出手段が音声の立ち上りを検出した場合は、ダブルトーク検出手段が、よりダブルトークと判定しやすい判定基準を用いてダブルトークの検出を行うため、シングルトークと誤判定されにくくすることができる。
【００２３】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態を説明する。
【００２４】
図１は本発明のエコーキャンセラを備えた音声通信装置の構成を示すブロック図である。
【００２５】
本実施形態におる音声通信装置は、例えば自動車電話等の無線携帯電話装置に適用されるものであり、図１に示すように、本装置は、スピーカ２０１、マイクロホン２０２、Ｄ／Ａ変換器２０３、Ａ／Ｄ変換器２０４、音声復号化器（ＤＥＣＯＤＥＲ）２０９、音声符号化器（ＣＯＤＥＲ）２１０およびエコーキャンセラ２００を備えている。
【００２６】
スピーカ２０１は遠端話者（通話相手）の音声を出力し、マイクロホン２０２は近端話者の音声を入力するためのものである。Ｄ／Ａ変換器２０３は、音声復号化器２０９からの遠端話者信号Ｘｓをディジタル／アナログ変換してスピーカ２０１に出力する。Ａ／Ｄ変換器２０４は、マイクロホン２０２から入力された音声をアナログ／ディジタル変換して、ディジタル化された近端話者信号Ｙｓを生成する。音声復号化器２０９は、図示せぬ受信回路にて受信されたパラメータだけの信号から音声信号へと復号処理を行って、時系列の遠端話者信号Ｘｓを生成する。音声符号化器２１０は、エコーキャンセラ２００にてエコー成分が消去された送信音声信号のパラメータを検出して、そのパラメータだけを符号化する。
【００２７】
ここで、エコーキャンセラ２００は、ディジタルフィルタ（ＦＩＲ）２０５、減算器２０６、フィルタ係数更新部（ＡＤＰ）２０７、ダブルトーク検出器（ＤＴＤ）２０８から構成される。さらに、本実施形態では、このエコーキャンセラ２００におけるエコー消去処理をフレーム形式で行うために、フレームバッファ（ＢＵＦＦ）２１１〜２１４を備えると共に、アドレス発生器２１５および立ち上がり検出器２１６を備えている。
【００２８】
ディジタルフィルタ２０５は、遠端話者信号Ｘｓの信号系列にそれぞれフィルタ係数を掛け合わせて疑似エコー信号Ｙｓｓを生成するものである。この疑似エコー信号Ｙｓｓは演算器２０６に供給される。減算器２０６は、Ａ／Ｄ変換器２０４の出力である近端話者信号Ｙｓから疑似エコー信号Ｙｓｓを減算してエコー成分を打ち消し、その残り成分である残差エコー信号Ｅｓを生成する。
【００２９】
フィルタ係数更新部２０７は、所定のアルゴリズムに基づきディジタルフィルタ２０５のフィルタ係数を更新する。このフィルタ係数更新部２０７にて、上記減算器２０６で消去されずに通過する残差信号を最小にするためのフィルタ係数（タップ係数とも呼ばれる）の更新処理が行われる。
【００３０】
なお、フィルタ係数の更新アルゴリズムとしては、例えば最小二乗平均法（ＬＭＳ）を正規化した学習同定法（ＮＬＭＳ）が用いられる。この学習同定法によるアルゴリズムは、演算量が比較的少なくて済み、しかも良好な特性を示すという利点を有する。このフィルタ係数更新（学習）により、ディジタルフィルタ２０５の伝達関数はエコーパスの伝達関数に次第に近づき、両伝達関数が等しくなると残差信号レベルは略零になる。
【００３１】
ダブルトーク検出器２０８は、ダブルトーク期間を検出して、エコーキャンセラ２００の発散を防止する。
【００３２】
また、各フレームバッファ（ＢＵＦＦ）２１１〜２１４は、フレーム単位で各信号をそれぞれ所定時間蓄積するためのものである。なお、フレームの長さは、音声復号化器２０９および音声符号化器２１０における信号の処理単位に対応している。
【００３３】
フレームバッファ２１１は、近端話者信号用のフレームバッファである。このフレームバッファ２１１は減算器２０６の前段に設けられ、Ａ／Ｄ変換器２０４の出力である近端話者信号Ｙｓを１フレーム分一時的に蓄積する。フレームバッファ２１２は、疑似エコー信号用のフレームバッファである。このフレームバッファ２１２は減算器２０６の前段に設けられ、ディジタルフィルタ２０５の出力である疑似エコー信号Ｙｓｓを１フレーム分一時的に蓄積する。フレームバッファ２１３は、残差エコー信号用のフレームバッファである。このフレームバッファ２１３は減算器２０６の後段に設けられ、減算器２０６の出力である残差エコー信号Ｅｓを１フレーム分一時的に蓄積する。フレームバッファ２１４は、遠端話者信号用のフレームバッファである。このフレームバッファ２１４は音声復号化器２０９の後段に設けられ、音声復号化器２０９の出力である遠端話者信号Ｘｓを１フレーム分一時的に蓄積する。
【００３４】
アドレス発生器２１５は、減算器２０６での減算処理に用いられる近端話者信号用フレームバッファ２１１、疑似エコー信号用フレームバッファ２１２、残差エコー信号用フレームバッファ２１３に対する各アドレスポインタを自動的にインクリメントするためのものである。このアドレス発生器２１５によってインクリメントされるアドレスポインタに従って近端話者信号Ｙｓおよび疑似エコー信号Ｙｓｓが１フレーム分ずつフレームバッファ２１１およびフレームバッファ２１２の所定のエリアにそれぞれ取り込まれ、その減算結果として得られる残差エコー信号Ｅｓが減算器２０６の出力バッファつまりフレームバッファ２１３の所定のエリアに取り込まれる。
【００３５】
また、立ち上がり検出器２１６は、近端話者信号Ｙｓの立ち上がりを検出する。この立ち上がり検出器２１６は、後述するように立ち上がり検出に用いるバッファエリアを複数に分割し、その分割した各エリア毎にダブルトーク検出に使用する信号のパラメータを算出し、各パラメータが小さい順に並ぶ場合に音声信号の立ち上がりであると判定する。この立ち上がり検出の結果はダブルトーク検出器２０８に反映される。
【００３６】
次に、本装置の処理動作について説明する。
【００３７】
図示せぬ受信回路にて受信されたパラメータだけの受話信号は音声復号化器２０９で復号化処理され、時系列の遠端話者信号Ｘｓに変換される。この遠端話者信号ＸｓはＤ／Ａ変換器２０３にてアナログ通話信号に戻された後、スピーカ２０６に与えられる。これにより、スピーカ２０１から近端話者に向けて遠端話者（通話相手の）の音声が出力される。
【００３８】
一方、近端話者の音声は、マイクロホン２０２により集音されて送話音声信号に変換された後、Ａ／Ｄ変換器２０４に入力され、ここで先ず所定のサンプリング周期でデジタル化される。そして、このデジタル化された送話信号つまり近端話者信号Ｙｓは、エコーキャンセラ２００にてエコー成分が除去された後、音声符号化器２１０に入力され、ここで符号化処理されて図示せぬ送信回路に供給される。
【００３９】
ここで、エコーキャンセラ２００は、フレーム型のエコーキャンセラとして構成されており、エコーキャンセル処理に必要な各信号を音声復号化器２０９および音声符号化器２１０の処理単位であるフレーム単位で各フレームバッファ２１４〜２１１に蓄えながら処理を行う。
【００４０】
すなわち、Ａ／Ｄ変換器２０４の出力である近端話者信号Ｙｓとディジタルフィルタ２０５の出力である疑似エコー信号Ｙｓｓは、それぞれフレームバッファ２１１とフレームバッファ２１２に１フレーム分蓄えられた後、減算器２０６にて減算処理される。この減算器２０６の減算処理により、近端話者信号Ｙｓに含まれるエコー成分が除去される。また、減算結果として得られた残差エコー信号Ｅｓはフレームバッファ２１３に蓄えられる。この残差エコー信号Ｅｓはフィルタ係数更新部２０７に与えられ、ここでフィルタ係数の更新処理（学習処理）が所定のアルゴリズムに基づいて行われる。
【００４１】
このようなエコーキャンル処理が繰り返し行われる。この場合、従来のようなサンプル処理と違って、時系列で得られる音声信号をフレーム単位でまとめて処理することができるため、ＤＳＰの演算量を大幅に削減できるといったメリットがある。
【００４２】
また、既に説明したように、通話時には双方向で同時に会話することがあるため、所謂ダブルトークが発生する。ダブルトークの期間にフィルタ係数の更新を行うと、フィルタ係数が収束せずに、エコーキャンセル処理を正確に行えなくなる。そこで、ダブルトーク検出器２０８によりダブルトークが検出されたときには、フィルタ係数の更新を中断する必要がある。
【００４３】
ここで、ダブルトーク検出器２０８では、上述した各バッファに蓄積された信号の特性を利用してダブルトーク検出に使用する。ここでは、ダブルトーク検出に使用する信号のバッファエリアを２つ以上に分割し、その分割したエリア毎にダブルトーク検出に使用するパラメータを算出し、音声の立ち上がりかどうかを判定し、音声の立ち上がりの場合にはダブルトークの判定に上記の立ち上がり検出結果を反映させている。
【００４４】
例えば、遠端話者信号用フレームバッファ２１４に格納された遠端話者信号Ｘｓのフレームパワー特性（パワー値またはピーク値）と、残差エコー信号用フレームバッファ２１３に格納された残差エコー信号Ｅｓのフレームパワー特性（パワー値またはピーク値）に基づいてダブルトーク判定を行う場合には、以下のような式で判定を行う。
【００４５】
ｌｏｇＸ＋ｔｈ＜ｌｏｇＥ            …（１）
ここで、ｌｏｇＸは遠端話者信号Ｘｓのフレームパワーの対数値、ｌｏｇＥは残差エコー信号Ｅｓのフレームパワーの対数値である。また、ｔｈは可変閾値であり、これは残差エコー信号Ｅｓがフィルタ係数の収束に伴い小さくなっていくため、その変化を補うためのものである。
【００４６】
上記（１）式において、残差エコー信号Ｅｓのエリアつまり残差エコー信号用フレームバッファ２１３を４つに分割し、その４つの分割されたエリア内の信号のパワーをそれぞれＥｐ１、Ｅｐ２、Ｅｐ３、Ｅｐ４とした場合に、Ｅｐ１からＥｐ４の値が、
Ｅｐ１＜Ｅｐ２＜Ｅｐ３＜Ｅｐ４      …（２）
となっている場合には、近端話者信号Ｙｓの音声信号が立ち上がりになっていると判断して、上記（１）式を以下のようにする。
【００４７】
ｌｏｇＸ＋ｔｈ＜ｌｏｇＥ＋ｔｈ２    ・・・  （３）
ｔｈ２は正の可変閾値であり、この可変閾値ｔｈ２を加えることでＥの値で音声の立ち上りのパワーが比較的小さい時にシングルトークと誤判定することを防ぐことができる。つまり、音声の立ち上り時には比較的パワーが低いため、ダブルトークの検出がしづらい。そこで、残差エコー信号Ｅｓの方に可変閾値ｔｈ２を加えることで、ダブルトークを検出しやすくしている。これは、フレーム処理独特の方法であり、従来のおうなサンプリング処理ではできない。
【００４８】
なお、上記（３）時では、右辺の式に閾値ｔｈ２を加えるようにしているが、以下の（４）式に示すように、左辺の式から閾値ｔｈ２を引くことでも同じある。要は、音声立ち上がり時に、音声信号のパワーが低いことを考慮した演算を行えば良い。
【００４９】
ｌｏｇＸ＋ｔｈ−ｔｈ２＜ｌｏｇＥ  ・・・  （４）
図１に示す立ち上り検出器２１６は、残差エコー信号用フレームバッファ２１３を上述にしたように複数のエリアに分割し、各エリア内の信号のパワーを比較することで、上記（２）式の条件を満たす場合に近端話者信号Ｙｓの音声信号が立ち上がりになっているものと判定し、その結果をダブルトーク検出器２０８に知らせている。ダブルトーク検出器２０８では、遠端話者信号用フレームバッファ２１４に格納された遠端話者信号Ｘｓと、残差エコー信号用フレームバッファ２１３に格納された残差エコー信号Ｅｓの各信号のパワー特性を比較することで、上記（１）式の条件を満たす場合にダブルトーク中であると判定する。その際、立ち上り検出器２１６から音声の立ち上りであることが検出されると、ダブルトーク検出器２０８は上記（１）式を上記（３）または（４）式のように置き換えてダブルトークの判定を行う。
【００５０】
このように、ダブルトーク検出処理に音声立ち上がりの検出結果を反映させることで、音声立ち上がり時（信号のパワーが低いとき）であってもダブルトークの期間を正確に検出できるようになる。これにより、フィルタ係数更新部２０７でのフィルタ係数の更新動作を制御して、エコーキャンセル処理を正しく行うことができる。
【００５１】
なお、上記実施形態では、所定時間蓄積された遠端話者信号Ｘｓと近端話者信号Ｙｓから疑似エコー信号Ｙｓｓを差し引いた残差エコー信号Ｅｓのパワー特性を検出することでダブルトーク期間を検出するようにしたが、別の方法として、所定時間蓄積された近端話者信号Ｙｓと遠端話者信号Ｘｓを対象として、それらの音声信号のパワー特性を検出することでも上記同様にダブルトーク期間を検出することが可能である。
【００５２】
また、上記ディジタルフィルタ２０５はフレーム型になっており、音声復号化器２０９内の出力バッファに格納された１フレーム分の遠端話者信号Ｘｓとフィルタ係数更新部２０７によって更新されるフィルタ係数とを用いて、フレームの長さ分一度に処理をしてフレーム長さ分の疑似エコー信号Ｙｓｓを発生させている。このため、ディジタルフィルタ２０５の入力及び出力バッファのアドレスは一定の値を足し引きを繰り返すだけで済み、それに伴い演算量、特にアドレス設定の処理を削減することができる。
【００５３】
また、ディジタルフィルタ２０５におけるフィルタ係数のバッファエリアの並び順をアドレスの低い方から係数の次数の高いものを並べるようにする。
【００５４】
例えば、係数エリアの先頭アドレスを１０ｈ番地とした場合には、係数エリアの１０ｈ番地に係数の一番次数の高い値、つまり、フィルタ次数が２０次であるとすると、１０ｈ番地に２０次番目のデータを配置する。そして、１１ｈ番地には１９次番目のデータ、１２ｈ番地には１８次番目のデータ、１３ｈ番地には１７次番目のデータ…といったように、アドレスの低い方から係数の次数の高い順に配置する。
【００５５】
このように配置することで、フレーム処理する場合に、フィルタ係数も遠端話者信号Ｘｓのためのバッファエリアも１ステップのインクリメント処理をフィルタ次数分行って、その後に上記２つのバッファをフィルタ次数分だけもとに戻してから、遠端話者信号のバッファエリアのみ１ステップインクリメントさせれば良い。これにより、ディジタルフィルタ２０５の２入力のバッファエリアのアドレスポインタがほぼ同様の動きになるために、そのためのアドレス発生器を簡略化することができる。
【００５６】
なお、上記実施形態では、エコーキャンセラ２００内に各フレームバッファ２１１〜２１４を設けたが、これらのフレームバッファ２１１〜２１４を新たに設けなくとも、以下に説明するように音声復号化器２０９および音声符号化器２１０ではフレーム処理のためのバッファが既にあるため、このバッファを利用することもできる。
【００５７】
図２に音声符号化器２１０の一般的な構成を示す。
【００５８】
図２は主にＣＥＬＰ(code excited linear prediction)の符号化部を示したものである。ｃｏｄｅｒへの入力信号はハイパスフィルタ（ＨＰＦ）３０１を通して直流成分が取り除かれる。ハイパスフィルタ３０１の出力はそれぞれ短期相関検出器３０２（例えばＬＰＣまたはＬＳＰパラメータ検出器で構成される）により周波数の包絡特性のパラメータを検出し、一般にその検出したパラメータを量子化したものを多重化部３０６へと渡す。
【００５９】
また、長期相関検出器３０３（例えばピッチ検出器で構成される）によりピッチ成分を検出して、その量子化した値を多重化部３０６へと渡す。さらに、励起信号検出器（例えば雑音コードブック検出器で構成される）３０４により上記長期相関器３０３および短期相関器３０２で求められたフィルタ係数の入力となる励起信号を求め、上記雑音コードブックの番号を多重化部３０６に渡し、多重化部３０６で束ねられた信号を送信する。
【００６０】
上述した音声符号化器２１０の処理、特に短期相関器の処理はある時間分の音声データが必要なためにバッファ３０７が必要となる。このバッファ３０７を上述したエコーキャンセラ２００のためのフレームバッファ２１１〜２１４として利用すれば、必要以上のスタティックなメモリ領域を新たに追加することなく、従来よりもステップ数の少ない音声通信装置を実現することができる。
【００６１】
なお、音声復号化器２０９ついても同様であり、その復号化処理に用いられるバッファを利用することが可能である。
【００６２】
このように、音声符号化／復号化装置とエコーキャンセラとを組み合わせた音声通信装置において、エコーキャンセラでのエコー消去処理を音声符号化／復号化装置に合わせたフレーム形式とすることで、各信号に対する処理をまとめて行うことができるため、割り込み処理等の複雑な演算処理を必要とせずに効率的にエコーを消去することができる。
【００６３】
さらに、音声符号化／復号化装置が有するバッファを利用することで、エコーキャンセラでのエコー消去処理に必要なメモリの容量を削減でき、従来よりもステップ数の少ない演算を行うことができる。
【００６４】
【発明の効果】
以上のように本発明によれば、シングルトークと誤判定されやすい音声の立ち上り時でも、音声の立ち上りが検出されたときはよりダブルトークと判定しやすい判定基準を用いてダブルトーク検出を行うため、シングルトークと誤検出されにくくすることができる。
【図面の簡単な説明】
【図１】本発明のエコーキャンセラを備えた音声通信装置の構成を示すブロック図。
【図２】上記音声通信装置に設けられた音声符号化器の構成を示すブロック図。
【図３】従来のエコーキャンセラを備えた音声通信装置の構成を示すブロック図。
【符号の説明】
２０１…スピーカ
２０２…マイクロホン
２０３…Ｄ／Ａ変換器
２０４…Ａ／Ｄ変換器
２０５…ディジタルフィルタ
２０６…減算器
２０７…フィルタ係数更新部
２０８…ダブルトーク検出器
２０９…音声復号化器
２１０…音声符号化器
２１１…近端話者信号用フレームバッファ
２１２…疑似エコー信号用フレームバッファ
２１３…残差エコー信号用フレームバッファ
２１４…遠端話者信号用フレームバッファ
２１５…アドレス発生器
２１６…立ち上がり検出器
３０１…ハイパスフィルタ
３０２…短期相関検出器
３０３…長期相関検出器
３０４…励起信号検出器
３０５…ゲイン検出器
３０６…多重化部
３０７…バッファ
【図１】
0003727800.tif 000002
【図２】
0003727800.tif 000003
【図３】
0003727800.tif 000004