(57)【要約】【課題】音声信号の信号レベルが変動しても、この変動の影響を受けず、適切に送話状態であるか否かを判定することが可能な送話状態判定方法を提供。【解決手段】演算部44は、演算部44に供給される受話信号時系列r(n)と送話信号時系列s(n)とから、一定間隔のフレーム時刻毎に、その時刻から過去の一定数の信号サンプルから成る分析フレームを切り出し、各分析フレームに線形予測分析とLSP（Line Spectrum Pair）変換とを行ない、LSP係数を求める。さらに演算部44は、これらLSP係数から誤差パワーを算出する。送話状態判定部48は、誤差パワーを所定の閾値と比較し、この比較の結果に応じて、現フレーム時刻において近端が送話状態であるか否かを判定し、判定部48が送話状態でないと判定した場合、エコーキャンセル部50はエコーキャンセル処理を行なう。【選択図】図１
2011103679.tif 000002
【特許請求の範囲】
【請求項１】
演算手段では送受話手段に到来する受話信号時系列と該送受話手段から発せられる送話信号時系列とをそれぞれ、一定間隔のフレーム時刻間にわたる一定の信号サンプル数から成るフレームに分割する分割工程と、
前記受話信号時系列を分割した各フレームと、前記送話信号時系列を分割した各フレームとから、それぞれ、受話信号フレームパワー時系列と、送話信号フレームパワー時系列とを求めるフレームパワー演算工程と、
前記受話信号フレームパワー時系列に含まれる一定個数の受話信号フレームパワーを要素とする受話信号パワーブロックベクトルと、前記送話信号フレームパワー時系列における、前記一定個数の送話信号フレームパワーを要素とする１つ以上の送話信号パワーブロックベクトルの各々とから、１つ以上の相関係数を演算する相関係数演算工程と、
判定手段で前記１つ以上の相関係数のうち最大の、現フレーム時刻についての最大相関係数が所定の閾値以上であり、かつ、現フレーム時刻についての最大相関係数をもたらす送話信号パワーブロックベクトルの番号と現フレーム時刻から任意の過去のフレーム時刻までのそれぞれについての最大相関係数をもたらす送話信号パワーブロックベクトルの各番号の加算平均値との差の絶対値を所定の値と比較することによって、現フレーム時刻において前記送受話手段が送話状態であるか否かを判定する判定工程とを含むことを特徴とする送話状態判定方法。
【請求項２】
請求項１に記載の方法において、
前記判定工程では、前記絶対値が前記所定の値以下である場合に、現フレーム時刻において前記送受話手段が送話状態でないと判定することを特徴とする送話状態判定方法。
【請求項３】
演算手段では送受話手段に到来する受話信号時系列と該送受話手段から発せられる送話信号時系列とをそれぞれ、一定間隔のフレーム時刻間にわたる一定の信号サンプル数から成るフレームに分割する分割工程と、
前記受話信号時系列を分割した各フレームと、前記送話信号時系列を分割した各フレームとから、それぞれ、受話信号フレームパワー時系列と、送話信号フレームパワー時系列とを求めるフレームパワー演算工程と、
前記受話信号フレームパワー時系列から、フレーム毎に、有音無音のいずれかを判定する受話信号有音無音判定フラグ時系列を算出する第１のフラグ算出工程と、
前記送話信号フレームパワー時系列から、フレーム毎に、有音無音のいずれかを判定する送話信号有音無音判定フラグ時系列を算出する第２のフラグ算出工程と、
前記受話信号有音無音判定フラグ時系列に含まれる一定個数の受話信号有音無音判定フラグを要素とする受話信号ブロック有音無音判定ベクトルと、前記送話信号有音無音判定フラグ時系列における、前記一定個数の送話信号有音無音判定フラグを要素とする１つ以上の送話信号ブロック有音無音判定ベクトルの各々とから、１つ以上の相関係数を演算する相関係数演算工程と、
判定手段で前記１つ以上の相関係数のうち最大の、現フレーム時刻についての最大相関係数が所定の閾値以上であり、かつ、現フレーム時刻についての最大相関係数をもたらす送話信号ブロック有音無音判定ベクトルの番号と現フレーム時刻から任意の過去のフレーム時刻までのそれぞれについての最大相関係数をもたらす送話信号ブロック有音無音判定ベクトルの各番号の加算平均値との差の絶対値を所定の値と比較することによって、現フレーム時刻において前記送受話手段が送話状態であるか否かを判定する判定工程とを含むことを特徴とする送話状態判定方法。
【請求項４】
請求項３に記載の方法において、
前記判定工程では、前記絶対値が前記所定の値以下である場合に、現フレーム時刻において前記送受話手段が送話状態でないと判定することを特徴とする送話状態判定方法。
【請求項５】
演算手段では送受話手段に到来する受話信号時系列と該送受話手段から発せられる送話信号時系列とをそれぞれ、一定間隔のフレーム時刻間にわたる一定の信号サンプル数から成るフレームに分割する分割工程と、
前記受話信号時系列を分割した各フレームと、前記送話信号時系列を分割した各フレームとから、それぞれ、受話信号フレームパワー時系列と、送話信号フレームパワー時系列とを求めるフレームパワー演算工程と、
前記受話信号フレームパワー時系列から、フレーム毎に、受話信号のレベル変動の有無いずれかを判定する受話信号レベル変動フラグ時系列を算出する第１のフラグ算出工程と、
前記送話信号フレームパワー時系列から、フレーム毎に、送話信号のレベル変動の有無いずれかを判定する送話信号レベル変動フラグ時系列を算出する第２のフラグ算出工程と、
前記受話信号レベル変動フラグ時系列に含まれる一定個数の受話信号レベル変動フラグを要素とする受話信号ブロックレベル変動ベクトルと、前記送話信号レベル変動フラグ時系列における、前記一定個数の送話信号レベル変動フラグを要素とする１つ以上の送話信号ブロックレベル変動ベクトルの各々とから、１つ以上の相関係数を演算する相関係数演算工程と、
判定手段で前記１つ以上の相関係数のうち最大の、現フレーム時刻についての最大相関係数が所定の閾値以上であり、かつ、現フレーム時刻についての最大相関係数をもたらす送話信号ブロックレベル変動ベクトルの番号と現フレーム時刻から任意の過去のフレーム時刻までのそれぞれについての最大相関係数をもたらす送話信号ブロックレベル変動ベクトルの各番号の加算平均値との差の絶対値を所定の値と比較することによって、現フレーム時刻において前記送受話手段が送話状態であるか否かを判定する判定工程とを含むことを特徴とする送話状態判定方法。
【請求項６】
請求項５に記載の方法において、
前記判定工程では、前記絶対値が前記所定の値以下である場合に、現フレーム時刻において前記送受話手段が送話状態でないと判定することを特徴とする送話状態判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送話者が音声を発しているか否かを判定する送話状態判定方法に関するものである。
【背景技術】
【０００２】
近年、インターネットなどのネットワークを利用したパケット通信による音声通信が盛んになっている。しかし、それらのネットワークはベストエフォート型サービスであるため、パケット通信による音声通話中に遅延が発生する場合がある。このため送話者の音声が受話側の装置から逆流して送話者に聞こえる、いわゆるエコーが生じる。
【０００３】
エコーを消去する手法としては、エコーキャンセラが用いられることが多い。エコーキャンセラは学習同定法をベースとしたものが一般的であり、遠端から発せられる音声の音声信号を学習することによって、近端で発生するエコーのエコー経路を推定し、エコーを消去する。これにより、遠端へエコーが届くことが回避される。
【０００４】
しかし、近端で発生するエコーと、近端話者から発せられる音声の音声信号との両方が遠端へ供給される場合、エコーキャンセラによってエコーを消去してしまうと、近端話者から発せられる音声の音声信号も同時に消去されてしまう。このように近端話者が送話状態のときにエコーキャンセラが動作してしまうと、近端話者の音声も消去されてしまうことになるため、エコーキャンセラには通常、近端話者が送話中か否かを判定する送話状態判定機能を併用するのが一般的である。
【０００５】
エコーキャンセラは、通常、ITU-T（International Telecommunication Union Telecommunication standardization sector）勧告G.165、G.168等に準拠した性能を有するように設計され、一般的に図２に示すように利用される。図２はエコーキャンセラへの音声信号の入出力を示す図である。近端送話信号の有無の判定は、受話音声入力端子Rin、受話音声出力端子Rout、送話音声入力端子Sin、送話音声出力端子Soutの信号レベルの絶対値もしくは各信号間のレベル差を利用して行なうことが多い。また、遠端32と近端34とは遠端話者と近端話者とが有する送受話器である。図２では概念的な構成を示すため、A/D変換器等は省略している。
【０００６】
図２において受話音声入力端子Rinと送話音声入力端子Sinとはエコーキャンセラ30への入力信号を示し、受話音声出力端子Routと送話音声出力端子Soutとはエコーキャンセラ30からの出力信号を示す。矢印20はエコーを示す。
【０００７】
例えば近端34からの送話音声入力端子Sinの信号レベルが著しく低いとき、近端話者は音声を発していない、もしくは送話信号Sinはエコーであると判定することができる。あるいは、受話音声入力端子Rinと送話音声入力端子Sinとの信号レベルの差をとり、その差の絶対値が一定値以上である場合、近端話者は音声を発していない、もしくは送話信号Sinはエコーであると判定することができる。
【０００８】
一方、特許文献１のエコーキャンセラで用いられている送話状態判定方法は、自己相関関数を利用する。この方法は、送話者が発する音声信号が周期性を有していて、その周期と一致した自己相関関数の値が非常に大きくなることを利用している。これに対して、雑音は一般的に周期性がなくランダムであるため、自己相関関数の値も小さくなる。このように特許文献１で用いられている送話状態判定方法は、音声信号の周期性に着目した方法である。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平６−１３９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、実際の送話状態判定機能を有するエコーキャンセラが適用される場合、エコーキャンセラ外部で信号レベルが操作される場合がある。
【００１１】
例えば、遠端から供給される受話音声入力端子Rinの信号レベルが外部装置により10dB減衰してエコーキャンセラ30に入力され、さらに、エコーキャンセラ30から出力される受話音声出力端子Routの信号レベルが外部装置により、10dB増幅して近端に供給される場合がある。そして、エコーキャンセラ30が有する送話状態判定機能の判定方法が、受話音声入力端子Rinと送話音声入力端子Sinとの信号レベルの差が一定値以上の正の値の場合に近端話者は送話状態ではないと判定する方法である場合、受話音声入力端子Rinの信号レベルは本来の音声信号の信号レベルより10dB低いため、受話音声入力端子Rinと送話音声入力端子Sinとの信号レベル差は本来の信号レベル差より小さくなり、このため近端話者が送話状態であると誤判定してしまう場合が考えられる。あるいは、エコーキャンセラ30が有する送話状態判定機能の判定方法が、エコーキャンセラ30に供給される信号Sinの信号レベルが一定値以下の場合に近端話者は送話状態ではないと判定する方法の場合、受話音声出力端子Routの信号レベルが非常に大きいと、近端で発生するエコー20も大きくなり、送話音声入力端子Sinの信号レベルが大きくなってしまう。その送話音声入力端子Sinの信号レベルが一定値より大きい場合、送話信号Sinをエコーと判定せずに近端話者の音声信号と誤判定してしまう場合が考えられる。
【００１２】
このように、従来技術による送話状態判定機能では誤判定を起こしてしまい、近端話者の音声が遠端まで届かない、あるいはエコーを正しく判定できないという問題があった。
【００１３】
また、特許文献１で用いられている送話状態判定方法では、音声信号には周期性があり、雑音には周期性が一般にはなく、ランダムであることを前提としているため、周期性のある雑音が入力された場合には送話状態であると誤判定してしまう問題があった。
【００１４】
本発明はこのような課題に鑑み、音声信号の信号レベルが変動しても、この変動の影響を受けず、適切に送話状態であるか否かを判定することが可能な送話状態判定方法を提供することを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明に係る送話状態判定方法は上述の課題を解決するために、演算手段では送受話手段に到来する受話信号時系列と該送受話手段から発せられる送話信号時系列とをそれぞれ、一定間隔のフレーム時刻間にわたる一定の信号サンプル数から成るフレームに分割する分割工程と、受話信号時系列を分割した各フレームと、送話信号時系列を分割した各フレームとから、それぞれ、受話信号フレームパワー時系列と、送話信号フレームパワー時系列とを求めるフレームパワー演算工程と、受話信号フレームパワー時系列に含まれる一定個数の受話信号フレームパワーを要素とする受話信号パワーブロックベクトルと、送話信号フレームパワー時系列における、一定個数の送話信号フレームパワーを要素とする１つ以上の送話信号パワーブロックベクトルの各々とから、１つ以上の相関係数を演算する相関係数演算工程と、判定手段で１つ以上の相関係数のうち最大の、現フレーム時刻についての最大相関係数が所定の閾値以上であり、かつ、現フレーム時刻についての最大相関係数をもたらす送話信号パワーブロックベクトルの番号と現フレーム時刻から任意の過去のフレーム時刻までのそれぞれについての最大相関係数をもたらす送話信号パワーブロックベクトルの各番号の加算平均値との差の絶対値を所定の値と比較することによって、現フレーム時刻において送受話手段が送話状態であるか否かを判定する判定工程とを含むことを特徴とする。
【００１６】
また、本発明に係る送話状態判定方法は上述の課題を解決するために、演算手段では送受話手段に到来する受話信号時系列とこの送受話手段から発せられる送話信号時系列とをそれぞれ、一定間隔のフレーム時刻間にわたる一定の信号サンプル数から成るフレームに分割する分割工程と、受話信号時系列を分割した各フレームと、送話信号時系列を分割した各フレームとから、それぞれ、受話信号フレームパワー時系列と、送話信号フレームパワー時系列とを求めるフレームパワー演算工程と、受話信号フレームパワー時系列から、フレーム毎に、有音無音のいずれかを判定する受話信号有音無音判定フラグ時系列を算出する第１のフラグ算出工程と、送話信号フレームパワー時系列から、フレーム毎に、有音無音のいずれかを判定する送話信号有音無音判定フラグ時系列を算出する第２のフラグ算出工程と、受話信号有音無音判定フラグ時系列に含まれる一定個数の受話信号有音無音判定フラグを要素とする受話信号ブロック有音無音判定ベクトルと、送話信号有音無音判定フラグ時系列における、一定個数の送話信号有音無音判定フラグを要素とする１つ以上の送話信号ブロック有音無音判定ベクトルの各々とから、１つ以上の相関係数を演算する相関係数演算工程と、判定手段で１つ以上の相関係数のうち最大の、現フレーム時刻についての最大相関係数が所定の閾値以上であり、かつ、現フレーム時刻についての最大相関係数をもたらす送話信号ブロック有音無音判定ベクトルの番号と現フレーム時刻から任意の過去のフレーム時刻までのそれぞれについての最大相関係数をもたらす送話信号ブロック有音無音判定ベクトルの各番号の加算平均値との差の絶対値を所定の値と比較することによって、現フレーム時刻において送受話手段が送話状態であるか否かを判定する判定工程とを含むことを特徴とする。
【００１７】
さらに、本発明に係る送話状態判定方法は上述の課題を解決するために、演算手段では送受話手段に到来する受話信号時系列とこの送受話手段から発せられる送話信号時系列とをそれぞれ、一定間隔のフレーム時刻間にわたる一定の信号サンプル数から成るフレームに分割する分割工程と、受話信号時系列を分割した各フレームと、送話信号時系列を分割した各フレームとから、それぞれ、受話信号フレームパワー時系列と、送話信号フレームパワー時系列とを求めるフレームパワー演算工程と、受話信号フレームパワー時系列から、フレーム毎に、受話信号のレベル変動の有無いずれかを判定する受話信号レベル変動フラグ時系列を算出する第１のフラグ算出工程と、送話信号フレームパワー時系列から、フレーム毎に、送話信号のレベル変動の有無いずれかを判定する送話信号レベル変動フラグ時系列を算出する第２のフラグ算出工程と、受話信号レベル変動フラグ時系列に含まれる一定個数の受話信号レベル変動フラグを要素とする受話信号ブロックレベル変動ベクトルと、送話信号レベル変動フラグ時系列における、一定個数の送話信号レベル変動フラグを要素とする１つ以上の送話信号ブロックレベル変動ベクトルの各々とから、１つ以上の相関係数を演算する相関係数演算工程と、判定手段で１つ以上の相関係数のうち最大の、現フレーム時刻についての最大相関係数が所定の閾値以上であり、かつ、現フレーム時刻についての最大相関係数をもたらす送話信号ブロックレベル変動ベクトルの番号と現フレーム時刻から任意の過去のフレーム時刻までのそれぞれについての最大相関係数をもたらす送話信号ブロックレベル変動ベクトルの各番号の加算平均値との差の絶対値を所定の値と比較することによって、現フレーム時刻において送受話手段が送話状態であるか否かを判定する判定工程とを含むことを特徴とする。
【発明の効果】
【００１８】
本発明に係る送話状態判定方法によれば、各信号のパワー変動の相互相関関係を利用するため、各信号のレベルに影響されずに送話状態か否かが判定可能となる。
【００１９】
また、本発明に係る送話状態判定方法によれば、各信号のパワー変動の相互相関関係を利用することに加えて有音無音判定フラグを用いるため、各信号のレベルに影響されず、また演算量についても、有音無音判定フラグを用いない場合に比較して少ない演算量で、送話状態か否かが判定可能となる。
【００２０】
さらに、本発明に係る送話状態判定方法によれば、各信号のパワー変動の相互相関関係を利用することに加えて、レベル変動フラグを用いるため、各信号のレベルに影響されず、また演算量についても、有音無音判定フラグを用いる場合に比較して少ない演算量で、送話状態か否かが判定可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明を適用するエコーキャンセラのブロック図である。
【図２】図１のエコーキャンセラへの音声信号の入出力を示す図である。
【図３】図５に示す本発明の第１の実施例において、受話信号時系列もしくは送話信号時系列から切り出される分析フレームとフレーム時刻との関係を示した概念図である。
【図４】図５に示す本発明の第１の実施例において、受話信号時系列と送話信号時系列とから誤差パワーを求める場合の概念図である。
【図５】本発明による送話状態判定方法の第１の実施例を示すフローチャートである。
【図６】本発明の第１ないし第４の実施例に共通の、エコーキャンセル部が行なうエコーキャンセル処理を示すフローチャートである。
【図７】本発明による送話状態判定方法の第２の実施例を示すフローチャートである。
【図８】図７に示す本発明の第２の実施例において、受話信号時系列と送話信号時系列とから求められるフレームパワーとパワーブロックベクトルの関係を示す概念図である。
【図９】本発明による送話状態判定方法の第３の実施例を示すフローチャートである。
【図１０】図９に示す本発明の第３の実施例において、受話信号時系列と送話信号時系列とから求められるフレームパワーより求められる有音無音判定フラグとブロック有音無音判定ベクトルとの関係を示す概念図である。
【図１１】本発明による送話状態判定時方法の第４の実施例を示すフローチャートである
【図１２】図11に示す本発明の第４の実施例において、受話信号時系列と送話信号時系列とから求められるフレームパワーより求められるレベル変動フラグとブロックレベル変動ベクトルとの関係を示す概念図である。
【発明を実施するための形態】
【００２２】
次に添付図面を参照して本発明による送話状態判定方法の実施例を詳細に説明する。図１を参照すると、本発明による送話状態判定方法の実施例は、エコーキャンセラ40に適用した場合である。エコーキャンセラ40は、近端34の話者が送話中であるか否かを判定する装置である。
【００２３】
ここで、遠端32と近端34とは遠端話者と近端話者とが有する送受話器である。
【００２４】
エコーキャンセラ40は、演算部44でこの送受話器に到来する受話信号時系列r(n)とこの送受話手段から発せられる送話信号時系列s(n)とをそれぞれ、一定間隔のフレーム時刻間にわたる一定の信号サンプル数から成るフレームに分割し、受話信号時系列を分割した各フレームと、送話信号時系列を分割した各フレームとから、それぞれ、受話信号フレームパワー時系列と、送話信号フレームパワー時系列とを求め、受話信号フレームパワー時系列に含まれる一定個数の受話信号フレームパワーを要素とする受話信号パワーブロックベクトルと、送話信号フレームパワー時系列における、一定個数の送話信号フレームパワーを要素とする１つ以上の送話信号パワーブロックベクトルの各々とから、１つ以上の相関係数を演算する。送話状態判定部48では、１つ以上の相関係数のうち最大の、現フレーム時刻についての最大相関係数が所定の閾値以上であり、かつ、現フレーム時刻についての最大相関係数をもたらす送話信号パワーブロックベクトルの番号と現フレーム時刻から任意の過去のフレーム時刻までのそれぞれについての最大相関係数をもたらす送話信号パワーブロックベクトルの各番号の加算平均値との差の絶対値を所定の値と比較することによって、現フレーム時刻において送受話器が送話状態であるか否かを判定することにより各信号のパワー変動の相互相関関係を利用していることから、各信号のレベルに影響されずに送話状態か否かが判定可能となる。
【００２５】
図１の各端子Rin、Rout、SinおよびSoutに対しては、発声元である遠端32および近端34でアナログ音声信号に標本化処理、量子化処理および符号化処理を施したデジタル音声信号が入出力される。標本化処理は、アナログ音声信号の時間的に連続な波形を、離散的な時点ごとの値の系列で表現する処理である。量子化処理は、時間的に離散化された標本化信号の振幅を、段階的で不連続な有限個の値のいずれかで近似して表現する処理である。量子化処理によって、時間的に離散化された標本化信号は、さらに振幅についても有限個のいずれかの値に量子化され、ある値に量子化された標本化信号の振幅は、すべて同じ振幅値とみなされることとなる。符号化処理は、標本化処理と量子化処理とを施した信号を２進数によって表現する処理である。これらの処理によって、アナログ音声信号は２進数によって表現されるデジタル音声信号になる。
【００２６】
エコーキャンセラ40は、近端話者が送話中であるか否かを判定する。この判定と、判定に応じたエコーキャンセルとを実行するため、エコーキャンセラは、音声検出器42・46、演算部44、送話状態判定部48およびエコーキャンセル部50を含む。
【００２７】
音声検出器42は、遠端32から供給され受話信号Rinをそのまま受話音声出力端子Routに出力して近端34に供給するとともに、受話信号Rinを複製し、受話信号時系列r(n)として演算部44に供給する。
【００２８】
音声検出器46は、近端34から供給される送話信号Sinをそのまま信号線54を介してエコーキャンセル部50に供給するとともに、送話信号Sinを複製し、送話信号時系列s(n)として演算部44に供給する。
【００２９】
演算部44は、音声検出器42から供給される受話信号時系列r(n)、音声検出器46から供給される送話信号時系列s(n)に対して、後述する演算処理を行ない、演算結果を信号線58を介して送話状態判定部48に供給する。nは０以上の整数である。
【００３０】
送話状態判定部48は、演算部44から信号線58を介して供給される演算結果を用いて、後述する送話状態判定方法により、近端が送話状態であるか否かを判定する装置である。送話状態判定部48は、後述する送話状態判定方法により、近端が送話状態でないと判定した場合、判定フラグ０を信号線60を介してエコーキャンセル部50に供給する。また、送話状態判定部48は、後述する送話状態判定方法により、近端が送話状態であると判定した場合、判定フラグ１を信号線60を介してエコーキャンセル部50に供給する。
【００３１】
エコーキャンセル部50は、送話状態判定部48から信号線60を介して供給される判定フラグが０、すなわち近端34が送話状態でない場合、音声検出器46から供給される音声信号54をエコーとみなして消去する。一方、エコーキャンセル部50は、上記の判定フラグが１、すなわち近端34が送話状態である場合、音声検出器46から供給される音声信号54を消去せず、そのまま、送話信号Soutとして遠端32に供給する。
【００３２】
以上のように構成されたエコーキャンセラに適用する、本発明による送話状態判定方法の実施例の動作について、以下、説明する。
【実施例１】
【００３３】
本発明による送話状態判定方法の第１の実施例における演算処理、送話状態判定方法およびエコーキャンセル処理を、図１、図３、図４、図５および図６を用いて、以下、詳細に説明する。なお、図中、同様の要素や同様の処理工程は、同一の符号で示すこととする。
【００３４】
図５は図１の演算部44と送話状態判定部48とが行なう演算処理と送話状態判定方法とを示すフローチャートである。ステップS10において、演算部44には音声検出器42から受話信号Rinの時系列r(n)が、音声検出器46からは送話信号Sinの時系列s(n)がそれぞれ入力され、ステップS12へ進む。
【００３５】
演算部44は、入力されたr(n)とs(n)とをそれぞれ、Ａ個の信号サンプル（Ａは１以上の整数）から成るフレームに分割し、フレーム毎に以下の演算処理を施す。なお、フレーム毎（Ａ個の信号サンプル毎）の時刻をフレーム時刻と呼ぶ。
【００３６】
演算部44は、フレーム時刻ｋにおいてr(n)とs(n)とからそれぞれ過去の信号をＬ個の信号サンプルずつ分析フレームとして切り出す。図３は、本発明の第１の実施例における、受話信号時系列r(n)もしくは送話信号時系列s(n)から分析フレームの切り出しを示す概念図である。図３において、受話信号時系列r(n)もしくは送話信号時系列s(n)を構成するマス目が個々の信号サンプルである。
【００３７】
図３の範囲100は、フレーム時刻ｋにおけるＬ個の信号サンプルから成る分析フレームを示している。フレーム時刻ｋにおいてＬ個の信号サンプルから成る分析フレームを切り出すと、この範囲100で示されている部分が切り出されることになる。
【００３８】
範囲102は、フレーム時刻ｋ-1におけるＬ個の信号サンプルから成る分析フレームを示している。フレーム時刻ｋ-1においてＬ個の信号サンプルから成る分析フレームを切り出すと、この範囲102で示されている部分が切り出されることになる。
【００３９】
範囲104は、Ａ個の信号サンプルの長さを示している。この長さ分の時刻が１フレーム時刻である。
【００４０】
上述の切り出しの後、演算部44はステップS14に進み、r(n)とs(n)とから切り出されたＬ個の信号サンプルから成る分析フレームから、Ｍ次線形予測分析方法（Ｍは任意の正の偶数）を用いてLPC（Linear Predictive Coding：線形予測分析法）係数を求める。LPC係数の求め方は以下の通りである。
【００４１】
r(n)から切り出されたＬ個の信号サンプルから成る分析フレームから、以下の式より自己相関数列を求める。
【００４２】
【数１】
2011103679.tif 000003
これより、自己相関数列、
【００４３】
【数２】
2011103679.tif 000004
が求まる。この自己相関数列を用いて、レビンソン・ダービンの算法により、以下の線形方程式を解くことによってLPC係数を求める。
【００４４】
【数３】
2011103679.tif 000005
これより、LPC係数
【００４５】
【数４】
2011103679.tif 000006
が求められる。同様にして、Ｌ個の信号サンプルから成る分析フレームs(n)から自己相関数列を求め、線形方程式を解くことによってLPC係数
【００４６】
【数５】
2011103679.tif 000007
を求める。
【００４７】
演算部44は、以上のようにして求めたLPC係数を以下のようにしてLSP(Line Spectrum Pair)係数に変換する。r(n)から切り出された分析フレームより求められたLPC係数
【００４８】
【数６】
2011103679.tif 000008
を用いると、Ｍ次の線形予測多項式A(z)は
【００４９】
【数７】
2011103679.tif 000009
で与えられ、PACOR係数を用いた漸化式
【００５０】
【数８】
2011103679.tif 000010
【００５１】
【数９】
2011103679.tif 000011
を満足する。ただし、初期条件は次の通りである。
【００５２】
【数１０】
2011103679.tif 000012
Ｍ次の線形予測多項式AM(z)が与えられたとき、k(M+1)を１および−１としたときのAM+1(z)をそれぞれP(z)とQ(z)とで表すと、
【００５３】
【数１１】
2011103679.tif 000013
【００５４】
【数１２】
2011103679.tif 000014
となる。ここで、Ｍは任意の正の偶数であるため、P(z)とQ(z)とは次のように因数分解される。
【００５５】
【数１３】
2011103679.tif 000015
【００５６】
【数１４】
2011103679.tif 000016
ただし、ωi(1≦i≦M)は次の関係を満たすように順序付けられている。
【００５７】
【数１５】
2011103679.tif 000017
この因数分解に現れるωiが求めるLSP係数であり、受話信号LSP係数Rlsp(i)である。同様にして、s(n)から切り出された分析フレームより求められたLPC係数
【００５８】
【数１６】
2011103679.tif 000018
を用いて送話信号LSP係数Slsp(i)を求める。
【００５９】
演算部44は、以上のようにして求められたRlsp(i)とSlsp(i)とから、以下の式より誤差パワーD(k)を求める。
【００６０】
【数１７】
2011103679.tif 000019
上記の式の通り、周波数RlspとSlspとの差の２乗をＭ個足すことによって誤差パワーを算出する。受話信号時系列r(n)と送話信号時系列s(n)とが似ている音声なら、受話信号LSP係数Rlspと送話信号LSP係数Slspとも類似の値が得られ、誤差パワーは小さくなり、信号レベルの絶対値もしくは信号間のレベル差に関係なく誤差を算出することが可能である。
【００６１】
演算部44は、以上のような演算処理によって得られた誤差パワーD(k)を信号線58を介して送話状態判定部48に出力し、ステップS16に進む。
【００６２】
送話状態判定部48は、ステップS16において、演算部44から供給される誤差パワーD(k)と送話状態判定部48が有する閾値Ｑとを比較する。閾値Ｑは正の実数であり、経験上自由に定めてよい。比較した結果がD(k)<Ｑを満たすならステップS18へ、満たさないならステップS20へそれぞれ進む。
【００６３】
送話状態判定部48は、ステップS18において、近端はフレーム時刻ｋにおいて送話状態でないと判断し、判定フラグ０を信号線60を介してエコーキャンセル部50に出力し、図６のステップS22に進む。
【００６４】
送話状態判定部48は、ステップS20において、近端はフレーム時刻ｋにおいて送話状態であると判断し、判定フラグ１を信号線60を介してエコーキャンセル部50に出力し、図６のステップS22に進む。
【００６５】
図６は、エコーキャンセル部50が行なうエコーキャンセル処理を示すフローチャートである。
【００６６】
エコーキャンセル部50は、ステップS22において、信号線60を介して送話状態判定部48から供給される判定フラグが１か０かを判断し、判定フラグが１の場合はステップS24へ、判定フラグが０の場合はステップS26へとそれぞれ進む。
【００６７】
エコーキャンセル部50は、S24において、音声信号54を近端話者の音声を含むものと判断し、音声信号54を送話音声出力端子Soutに出力する。
【００６８】
エコーキャンセル部50は、ステップS26において、音声信号54を近端34で発生したエコーと判断し、音声信号54を消去する。
【００６９】
図４は、本発明による第１の実施例において、誤差パワーD(k)を求める上述の式で、分析次数Ｍを６とした場合の各LSP係数を示すグラフである。左のグラフは受話信号時系列r(n)を示し、右のグラフは送話信号時系列s(n)を示す。グラフの縦軸は信号の強さを表し、横軸は周波数を表す。左のグラフにおいて、時系列r(n)からは受話信号LSP係数、Rlsp(1),…,Rlsp(6)が得られる。右図において、時系列s(n)からは送話信号LSP係数、Slsp(1),…,Slsp(6)が得られる。これらの値から演算部44は、以下の式のように演算処理を行なうことによって、誤差パワーD(k)を得る。
【００７０】
【数１８】
2011103679.tif 000020
この式によれば、対応するLSP係数RlspとSlspとの差が大きくなればなるほど誤差パワーD(k)も大きくなる。対応するLSP係数RlspとSlspとの差が小さければ、時系列r(n)とs(n)は類似した信号であり、誤差パワーD(k)の値も小さくなる。つまり時系列s(n)は時系列r(n)のエコーとみなすことができる。LSP係数RlspとSlspとの差が大きいということは、時系列r(n)とs(n)とは異なった信号であり、誤差パワーD(k)の値も大きくなる。つまり時系列s(n)は時系列r(n)のエコーだけではなく、近端話者の話し声も混ざっているとみなすことができる。
【実施例２】
【００７１】
本発明による送話状態判定方法の第２の実施例における演算処理、送話状態判定方法およびエコーキャンセル処理を、図１、図６、図７および図８を用いて、以下、詳細に説明する。
【００７２】
図７は本発明の第２の実施例による演算処理と送話状態判定方法とを示すフローチャートである。図７のステップS10は図５におけるステップS10と同様の処理工程であり、ここでは、図１の演算部44に音声検出器42から受話信号時系列r(n)を入力し、音声検出器46から送話信号時系列s(n)を入力し、ステップS30へ進む。
【００７３】
図８は本発明の第２の実施例において演算部44が図７のステップS30、S32、S34で算出する各種の値の関係を示す概念図である。演算部44は、ステップS30において、入力された信号時系列r(n)・s(n)をそれぞれ、Ｎ個の信号サンプル（Ｎは１以上の整数）から成るフレームに分割する。これは図８の中段の図「r(n) or s(n)」に示す通りである。図８の範囲202、204、206はそれぞれ、受話信号時系列r(n)もしくは送話信号時系列s(n)を構成するＮ個の信号サンプルであり、各々１つのフレームとして扱われる。演算部44が行なうステップS32以降の演算処理は、フレーム毎に施す。なお、フレーム毎（Ｎ個の信号サンプル毎）の時刻をフレーム時刻と呼ぶ。
【００７４】
演算部44は、ステップS32において、フレーム時刻ｋにおける受話信号時系列r(n)の受話信号フレームパワー時系列Pr(k)と、フレーム時刻ｋにおける送話信号時系列s(n)の送話信号フレームパワー時系列Ps(k)とを以下の式により求める。
【００７５】
【数１９】
2011103679.tif 000021
【００７６】
【数２０】
2011103679.tif 000022
このように、フレームパワーPr(k)・Ps(k)は、音声信号時系列r(n)・s(n)を信号サンプル毎に二乗したものをＮ個加算することによって求められる。図８は上の２つの式を概念的に示していて、図８の上段および下段の図「Pr(k)」「Ps(k)」を構成するマス目が個々のフレームパワーPr(k)・Ps(k)を示す。例えば上段の図「Pr(k)」を構成する１つのマス目は、中段の図「r(n) or s(n)」のＮ個の信号サンプル202、204、206をそれぞれ加算したものであることを示している。
【００７７】
次に演算部44は、ステップS34において、まずＨ個のフレームパワー（Ｈは１以上の任意の整数）を１ブロックとして以下のように定義される受話信号パワーブロックベクトルVRと送話信号パワーブロックベクトルVs(j)とを求める。
【００７８】
【数２１】
2011103679.tif 000023
【００７９】
【数２２】
2011103679.tif 000024
ただし、
【００８０】
【数２３】
2011103679.tif 000025
であり、L’は０以上の任意の整数である。
【００８１】
受話信号パワーブロックベクトルVRは、図８の上段の図「Pr(k)」に示す通り、Ｈ個の受話信号フレームパワーから成る。この上段の図では１つのフレームパワーを１つのマス目で示していて、個々のフレームパワーは、既に述べた通り、中段の図「r(n) or s(n)」に示す受話信号時系列r(n)のＮ個の信号サンプルを、信号サンプル毎に二乗して加算することによって求められる。
【００８２】
一方、送話信号パワーブロックベクトルVs(j)は、図８の下段の図「Ps(k)」に示す通り、これもＨ個のフレームパワーから成る。下段の図でも１つのフレームパワーを１つのマス目で示していて、個々のフレームパワーは、既に述べた通り、中段の図「r(n) or s(n)」に示す送話信号時系列s(n)のＮ個の信号サンプルを、信号サンプル毎に二乗して加算することによって求められる。そして、番号jは送話信号パワーブロック番号と呼ぶ。j=0の場合、すなわちVs(0)の場合、番号jは、図８の下段に示すように、フレーム時刻ｋから過去のＨ個のフレームパワーから成るブロックを示し、番号j=1の場合、すなわちVs(1)の場合、フレーム時刻k-1から過去のＨ個のフレームパワーから成るブロックを示す。
【００８３】
図８の下段は、送話信号パワーブロックベクトルVs(j)がＨ個の送話信号フレームパワーから成ることを示している。送話信号パワーブロックベクトルVs(0)は、現フレーム時刻を含むブロックのパワーブロックベクトルである。送話信号パワーブロックベクトルVs(1)は、現フレーム時刻から１フレーム時刻過去のブロックのパワーブロックベクトルである。
【００８４】
演算部44は、ステップS34において、続いて、以上のように定義されるVRとVs(j)とを用いて、相関係数R(j)を以下のように求める。相関係数R(j)は、VRとVs(j)との類似度を示す係数である。
【００８５】
【数２４】
2011103679.tif 000026
ただし、
【００８６】
【数２５】
2011103679.tif 000027
相関係数R(j)はvrとvsとの差が大きい場合には小さくなり、差が小さい場合には大きくなる。
【００８７】
次に演算部44は、ステップS36において、R(j)が最大となる送話信号パワーブロック番号jを最大相関番号J(k)とし、そのときのR(j)を最大相関係数C(k)として以下の式より最大相関番号平均値A(k)を求める。A(k)はフレーム時刻ｋを含めた任意個の過去のフレームの最大相関番号の平均値である。
【００８８】
【数２６】
2011103679.tif 000028
ただし、Ｗは２以上の任意の整数である。演算部44は、以上の演算処理によって得られた各値J(k)、A(k)およびC(k)を信号線58を介して送話状態判定部48に供給する。
【００８９】
送話状態判定部48は、ステップS38において、演算部44から信号線58を介して供給される各値J(k)、A(k)およびC(k)を用い、以下の条件により、送話状態の判定を行なう。
【００９０】
【数２７】
2011103679.tif 000029
かつ
【００９１】
【数２８】
2011103679.tif 000030
ただし、Ｅは正の実数であり、Ｇは0.5以上の実数であり、送話状態判定部48は値Ｅ、Ｇを予め保持している。
【００９２】
上記の条件が満たされている場合は、最大相関番号J(k)と最大相関番号平均値A(k)との差が|E|の範囲内であり、かつ、最大相関係数C(k)が閾値Ｇ以上である。上記の条件が満たされていない場合は、最大相関番号J(k)と最大相関番号平均値A(k)との差が|E|の範囲外であるか、あるいは最大相関係数C(k)が閾値Ｇ未満であるか、あるいはそれらの両方である。
【００９３】
値J(k)と値A(k)との差が|E|の範囲内ということは、フレーム時刻ｋを含めた過去のフレームにおける最大相関番号平均値が値J(k)と同一もしくはこれに近い値であることを意味する。値C(k)が閾値Ｇ以上であるということは、j＝J(k)においてVRとVs(j)とが類似していることを意味する。つまり、条件が満たされていれば、同一もしくは近い相関番号でのVRとVsとが類似しているため、エコーとみなすことができる。条件が満たされている場合はステップS40に進み、条件が満たされていない場合はステップS42に進む。
【００９４】
送話状態判定部48は、ステップS40において、近端がフレーム時刻ｋにおいて送話状態ではないと判断し、判定フラグ０を信号線60を介してエコーキャンセル部50に供給し、図６のステップS22に進む。
【００９５】
送話状態判定部48は、ステップS42では、近端がフレーム時刻ｋにおいて送話状態であると判断し、判定フラグ１を信号線60を介してエコーキャンセル部50に供給し、図６のステップS22に進む。
【００９６】
図６において、第２の実施例におけるエコーキャンセル部50が行なうエコーキャンセル処理は第１の実施例で説明したものと同様である。
【実施例３】
【００９７】
本発明による送話状態判定方法の第３の実施例における演算処理、送話状態判定方法およびエコーキャンセル処理を、図１、図６、図９および図10を用いて、以下、詳細に説明する。
【００９８】
図９は本発明による第３の実施例における演算処理と送話状態判定方法とを示すフローチャートである。ただし、ステップS10・S30・S32は、図７の第２の実施例で説明したものと同様である。
【００９９】
演算部44は、ステップS50において、受話信号フレームパワー時系列Pr(k)を用いて、以下のように受話信号有音無音判定フラグFr(k)を求める。
【０１００】
Pr(k)＞Tr(k)・Brの場合、Fr(k)=1
Pr(k)≦Tr(k)・Brの場合、Fr(k)=0
ただし、値Brは後述する値Tr(k)の更新によって値Tr(k+1)とフレームパワーPr(k+1)とのレベル差が大きくなってしまう場合を是正するための値であり、値Brの大きさに応じてフラグFr(k)の値が１もしくは０のどちらかに偏るようなものではなく、１より大きい実数の中から経験上任意に定めてよい値である。値Tr(k)は背景ノイズレベルであり、初期値は必ずFr(k)=0となるような十分に大きな値である。
【０１０１】
演算部44は、受話信号有音無音判定フラグFr(k)を求めた後、次のフレームのために背景ノイズレベルTr(k)を以下のように更新する。
【０１０２】
【数２９】
2011103679.tif 000031
ただし、値ErはフレームパワーPr(k+1)が大きなノイズの音声信号から成るフレームパワーである場合、背景ノイズレベルを上げるための値であり、１より大きい実数の中から経験上任意に定めてよい値である。さらに、演算部44は以下の処理を実行する。
Pr(k)＜Tr(k+1) の場合、Tr(k+1)=Pr(k)とする。
Pr(k)≧Tr(k+1) の場合、Tr(k+1)=Tr(k+1)とする。
【０１０３】
次に演算部44は、ステップS52において、送話信号フレームパワー時系列Ps(k)を用いて、以下のように送話信号有音無音判定フラグFs(k)を求める。
Ps(k)＞Ts(k)・Bsの場合、Fs(k)=1
Ps(k)≦Ts(k)・Bsの場合、Fs(k)=0
ただし、値Bsは後述するTs(k)の更新によって値Ts(k+1)とフレームパワーPs(k+1)とのレベル差が大きくなってしまう場合を是正するための値であり、値Bsの大きさに応じてフラグFs(k)の値が１もしくは０のどちらかに偏るようなものではなく、１より大きい実数の中から経験上任意に定めてよい値である。値Ts(k)は背景ノイズレベルであり、初期値は必ずFs(k)=0となるような十分に大きな値である。
【０１０４】
演算部44は、送話信号有音無音判定フラグFs(k)を求めた後、次のフレームのために背景ノイズレベルTs(k)を以下のように更新する。
【０１０５】
【数３０】
2011103679.tif 000032
ただし、値EsはフレームパワーPs(k+1)が大きなノイズの音声信号から成るフレームパワーである場合、背景ノイズレベルを上げるための値であり、１より大きい実数の中から経験上任意に定めてよい値である。さらに、演算部44は以下の処理を実行する。
Ps(k)＜Ts(k+1) の場合、Ts(k+1)=Ps(k)とする。
Ps(k)≧Ts(k+1) の場合、Ts(k+1)=Ts(k+1)とする。
【０１０６】
次に演算部44は、ステップS54において、まずフレーム数Ｈ（Ｈは１以上の任意の整数）を１ブロックとして以下のように定義される受話信号ブロック有音無音判定ベクトルURと送話信号ブロック有音無音判定ベクトルUs(j’)とを求める。
【０１０７】
【数３１】
2011103679.tif 000033
【０１０８】
【数３２】
2011103679.tif 000034
ただし、
【０１０９】
【数３３】
2011103679.tif 000035
であり、L’は０以上の任意の整数である。また、値j’は送話信号フレーム有音無音判定値ブロック番号を示す。j’=0ならば、フレーム時刻ｋから過去のＨ個のフレームパワーから成るブロックを示し、j’=1ならば、フレーム時刻k-1から過去のＨ個のフレームパワーから成るブロックを示す。
【０１１０】
受話信号有音無音判定ベクトルURは、図10の上段の図「Fr(k)」に示す通り、Ｈ個の受話信号有音無音判定フラグFrから成る。この上段の図では１つの受話信号有音無音判定フラグを１つのマス目で示していて、Ｈ個の有音無音判定フラグは１つのブロックとして扱われる。
【０１１１】
図10の範囲302、304、306はそれぞれ、受話信号時系列r(n)もしくは送話信号時系列s(n)を構成するＮ個の信号サンプルであり、Ｎ個の信号サンプルは１つのフレームとして扱われ、r(n)・s(n)はＮ個の信号サンプル毎にフレームとして分割される。
【０１１２】
一方、送話信号有音無音判定ベクトルUs(j’)は、図10の下段の図「Fs(k)」に示す通り、これもＨ個の受話信号有音無音判定フラグFsから成る。下段の図でも１つの受話信号有音無音判定フラグを１つのマス目で示していて、Ｈ個の有音無音判定フラグは１つのブロックとして扱われる。
【０１１３】
図10に示す送話信号ブロック有音無音判定ベクトルUs(0)、Us(1)は、送話信号フレーム有音無音判定値ブロック番号がそれぞれj’=0、j’=1の場合であり、それぞれ、Ｈ個の送話信号有音無音判定フラグFsから成る。Ｈ個の有音無音判定フラグは１つのブロックとして扱われる。
【０１１４】
以上のように定義されるベクトルUR、Us(j’)を用いて、相関係数R’(j’)は以下のように求める。相関係数R’(j’)は、ベクトルURとベクトルUs(j’)との類似度を示す係数である。
【０１１５】
【数３４】
2011103679.tif 000036
相関係数R’(j’)は値urとusとの差が大きい場合には小さくなり、差が小さい場合には大きくなる。
【０１１６】
次に演算部44は、ステップS54において、R’(j’)が最大となる送話信号フレーム有音無音判定値ブロック番号jを最大相関番号J’(k)とし、そのときのR’(j’)を最大相関係数C’(k)として以下の式より最大相関番号平均値A’(k)を求める。A’(k)はフレーム時刻ｋを含めた任意個の過去のフレームの最大相関番号の平均値である。
【０１１７】
【数３５】
2011103679.tif 000037
ただし、Ｗは２以上の任意の整数である。演算部44は、以上の演算処理によって得られた各値J’(k)、A’(k)およびC’(k)を信号線58を介して送話状態判定部48に供給する。
【０１１８】
送話状態判定部48は、ステップS56において、演算部44から信号線58を介して供給される各値J’(k)、A’(k)およびC’(k)を用い、以下の条件により、送話状態の判定を行なう。
【０１１９】
【数３６】
2011103679.tif 000038
かつ
【０１２０】
【数３７】
2011103679.tif 000039
ただし、Ｅは正の実数であり、Ｇ’はH/2以上の実数であり、送話状態判定部48は値Ｅ、Ｇ’を予め保持している。
【０１２１】
上記の条件が満たされている場合は、最大相関番号J’(k)と最大相関番号平均値A’(k)との差が|E|の範囲内であり、かつ、最大相関係数C’(k)が閾値Ｇ’以上である。上記の条件が満たされていない場合は、最大相関番号J’(k)と最大相関番号平均値A’(k)との差が|E|の範囲外であるか、あるいは最大相関係数C’(k)が閾値Ｇ’未満であるか、あるいはそれらの両方である。
【０１２２】
値J’(k)と値A’(k)との差が|E|の範囲内ということは、フレーム時刻ｋを含めた過去のフレームにおける最大相関番号平均値がJ’(k)と同一もしくはこれに近い相関番号であることを意味する。値C’(k)が閾値Ｇ’以上であるということは、j’=J’(k)においてURとUs(j’)とが類似していることを意味する。つまり、条件が満たされていれば、同一もしくは近い相関番号でURとUsとが類似しているため、エコーとみなすことができる。条件が満たされている場合はステップS58に進み、条件が満たされていない場合はステップS60に進む。
【０１２３】
送話状態判定部48は、ステップS58において、近端がフレーム時刻ｋにおいて送話状態ではないと判断し、判定フラグ０を信号線60を介してエコーキャンセル部50に供給し、図６のステップS22に進む。
【０１２４】
送話状態判定部48は、ステップS60では、近端がフレーム時刻ｋにおいて送話状態であると判断し、判定フラグ１を信号線60を介してエコーキャンセル部50に供給し、図６のステップS22に進む。
【０１２５】
図６において、第３の実施例におけるエコーキャンセル部50が行なうエコーキャンセル処理は第１の実施例で説明したものと同様である。
【実施例４】
【０１２６】
本発明による送話状態判定方法の第４の実施例における演算処理、送話状態判定方法およびエコーキャンセル処理を、図１、図６、図11および図12を用いて、以下、詳細に説明する。
【０１２７】
図11は本発明の第４の実施例における演算処理と送話状態判定方法とを示すフローチャートである。ただし、ステップS10・S30・S32は、図７の第２の実施例で説明したものと同様である。
【０１２８】
演算部44は、ステップS70において、受話信号フレームパワー時系列Pr(k)を用いて、以下のように受話信号レベル変動フラグLr(k)を求める。
Pr(k)＞Pr(k-1)・Grの場合、Lr(k)=1
Pr(k)≦Pr(k-1)・Grの場合、Lr(k)=0
ただし、値Grは、受話信号フレームパワー時系列Pr(k)とPr(k-1)との差が大きくなってしまう場合を是正するための値であり、１より大きい実数の中から経験上任意に定めてよい値である。
【０１２９】
演算部44は、受話信号レベル変動フラグLr(k)を求めた後、送話信号フレームパワー時系列Ps(k)を用いて、以下のように有音無音判定フラグLs(k)を求める。
Ps(k)＞Ps(k-1)・Gsの場合、Ls(k)=1
Ps(k)≦Ps(k-1)・Gsの場合、Ls(k)=0
ただし、値Gsは、送話信号フレームパワー時系列Ps(k)とPs(k-1)との差が大きくなってしまう場合を是正するための値であり、１より大きい実数の中から経験上任意に定めてよい値である。
【０１３０】
次に演算部44は、ステップS72において、まずフレーム数Ｈ（Ｈは１以上の任意の整数）を１つのブロックとして以下のように定義される受話信号ブロックレベル変動ベクトルTRと送話信号ブロックレベル変動ベクトルTs(j’’)とを求める。
【０１３１】
【数３８】
2011103679.tif 000040
【０１３２】
【数３９】
2011103679.tif 000041
ただし、
【０１３３】
【数４０】
2011103679.tif 000042
であり、値L’は０以上の任意の整数である。また、値j’’は送話信号フレームレベル変動判定値ブロック番号を示す。j’’=0ならば、フレーム時刻ｋから過去のＨ個のフレームパワーから成るブロックを示し、j’’=1ならば、フレーム時刻k-1から過去のＨ個のフレームパワーから成るブロックを示す。
【０１３４】
受話信号ブロックレベル変動ベクトルTRは、図12の上段の図「Lr(k)」に示す通り、Ｈ個の受話信号レベル変動フラグLrから成る。この上段の図では１つの受話信号レベル変動フラグを１つのマス目で示していて、Ｈ個の受話信号レベル変動フラグは１つのブロックとして扱われる。
【０１３５】
図12の範囲402、404、406はそれぞれ、受話信号時系列r(n)もしくは送話信号時系列s(n)を構成するＮ個の信号サンプルであり、Ｎ個の信号サンプルは１つのフレームとして扱われ、r(n)・s(n)はＮ個の信号サンプル毎にフレームとして分割される。
【０１３６】
一方、送話信号ブロックレベル変動ベクトルTs(j’’)は、図12の下段の図「Ls(k)」に示すとおり、これもＨ個の有音無音判定フラグLsから成る。下段の図でも１つの有音無音判定フラグを１つのマス目で示していて、Ｈ個の有音無音判定フラグは１つのブロックとして扱われる。
【０１３７】
図12に示す送話信号ブロックレベル変動ベクトルTs(0)、Ts(1)は、送話信号フレームレベル変動判定値ブロック番号がそれぞれj’’=0、j’’=1の場合であり、それぞれ、Ｈ個の有音無音判定フラグLsから成る。Ｈ個の有音無音判定フラグは１つのブロックとして扱われる。
【０１３８】
以上のように定義されるベクトルTRとTs(j’’)と用いて、相関係数R’’(j’’)を以下のように求める。
【０１３９】
【数４１】
2011103679.tif 000043
相関係数R’’(j’’)は、値trとtsとの差が大きい場合には小さくなり、差が小さい場合には大きくなる。
【０１４０】
次に演算部44は、ステップS72において、R’’(j’’)が最大となる送話信号フレームレベル変動判定値ブロック番号j’’を最大相関番号J’’(k)とし、そのときのR’’(j’’)を最大相関係数C’’(k)として以下の式より最大相関番号平均値A’’(k)を求める。A’’(k)はフレーム時刻ｋを含めた任意の過去のフレームの最大相関番号の平均値である。
【０１４１】
【数４２】
2011103679.tif 000044
ただし、Ｗは２以上の任意の整数である。演算部44は、以上の演算処理によって得られた各値J’’(k)、A’’(k)およびC’’(k)を信号線58を介して送話状態判定部48に供給する。
【０１４２】
送話状態判定部48は、ステップS74において、演算部44から信号線58を介して供給される各値J’’(k)、A’’(k)およびC’’(k)を用い、以下の条件により、送話状態の判定を行なう。
【０１４３】
【数４３】
2011103679.tif 000045
かつ
【０１４４】
【数４４】
2011103679.tif 000046
ただし、Ｅは正の実数であり、Ｇ’’はH/2以上の実数である。送話状態判定部48は値Ｅ、Ｇ’’を予め保持している。
【０１４５】
上記の条件が満たされている場合は、最大相関番号J’’(k)と最大相関番号平均値A’’(k)との差が|E|の範囲内であり、かつ、最大相関係数C’’(k)が閾値Ｇ’’以上である。上記の条件が満たされていない場合は、最大相関番号J’’(k)と最大相関番号平均値A’’(k)との差が|E|の範囲外であるか、あるいは最大相関係数C’’(k)が閾値Ｇ’’未満であるか、あるいはそれらの両方の場合である。
【０１４６】
値J’’(k)と値A’’(k)との差が|E|の範囲内ということは、フレーム時刻ｋを含めた過去のフレームにおける最大相関番号平均値がJ’’(k)と同一もしくはこれに近い相関番号であることを意味している。値C’’(k)が閾値Ｇ’’以上であるということは、j’’=J’’(k)においてTRとTs(j’’)とが類似していることを意味している。つまり、条件が満たされていれば、同一もしくは近い相関番号でTRとTs(j’’)とが類似しているため、エコーとみなすことができる。条件が満たされている場合はステップS76に進み、条件が満たされていない場合はステップS78に進む。
【０１４７】
送話状態判定部48は、ステップS76において、近端がフレーム時刻ｋにおいて送話状態ではないと判断し、判定フラグ０を信号線60を介してエコーキャンセル部50に供給し、図６のステップS22に進む。
【０１４８】
送話状態判定部48は、ステップS78では、近端がフレーム時刻ｋにおいて送話状態であると判断し、判定フラグ１を信号線60を介してエコーキャンセル部50に供給し、図６のステップS22に進む。
【０１４９】
図６において、第４の実施例におけるエコーキャンセル部50が行なうエコーキャンセル処理は第１の実施例で説明したものと同様である。
【符号の説明】
【０１５０】
40  エコーキャンセラ
42、46  音声検出器
44  演算部
48  送話状態判定部
50  エコーキャンセル部
【図１】
2011103679.tif 000047
【図２】
2011103679.tif 000048
【図３】
2011103679.tif 000049
【図４】
2011103679.tif 000050
【図５】
2011103679.tif 000051
【図６】
2011103679.tif 000052
【図７】
2011103679.tif 000053
【図８】
2011103679.tif 000054
【図９】
2011103679.tif 000055
【図１０】
2011103679.tif 000056
【図１１】
2011103679.tif 000057
【図１２】
2011103679.tif 000058