特許第6970422号(P6970422)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 地方独立行政法人東京都立産業技術研究センターの特許一覧

特許6970422音響信号処理装置、音響信号処理方法、及び、音響信号処理プログラム
<>
  • 特許6970422-音響信号処理装置、音響信号処理方法、及び、音響信号処理プログラム 図000014
  • 特許6970422-音響信号処理装置、音響信号処理方法、及び、音響信号処理プログラム 図000015
  • 特許6970422-音響信号処理装置、音響信号処理方法、及び、音響信号処理プログラム 図000016
  • 特許6970422-音響信号処理装置、音響信号処理方法、及び、音響信号処理プログラム 図000017
  • 特許6970422-音響信号処理装置、音響信号処理方法、及び、音響信号処理プログラム 図000018
  • 特許6970422-音響信号処理装置、音響信号処理方法、及び、音響信号処理プログラム 図000019
  • 特許6970422-音響信号処理装置、音響信号処理方法、及び、音響信号処理プログラム 図000020
  • 特許6970422-音響信号処理装置、音響信号処理方法、及び、音響信号処理プログラム 図000021
  • 特許6970422-音響信号処理装置、音響信号処理方法、及び、音響信号処理プログラム 図000022
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6970422
(24)【登録日】2021年11月2日
(45)【発行日】2021年11月24日
(54)【発明の名称】音響信号処理装置、音響信号処理方法、及び、音響信号処理プログラム
(51)【国際特許分類】
   H04B 3/23 20060101AFI20211111BHJP
   H04R 3/02 20060101ALI20211111BHJP
   H04R 3/00 20060101ALI20211111BHJP
   G10L 21/0232 20130101ALI20211111BHJP
   G10L 15/20 20060101ALI20211111BHJP
   H04M 1/60 20060101ALI20211111BHJP
【FI】
   H04B3/23
   H04R3/02
   H04R3/00 320
   G10L21/0232
   G10L15/20 370F
   H04M1/60 C
【請求項の数】7
【全頁数】18
(21)【出願番号】特願2017-108148(P2017-108148)
(22)【出願日】2017年5月31日
(65)【公開番号】特開2018-207221(P2018-207221A)
(43)【公開日】2018年12月27日
【審査請求日】2020年5月28日
(73)【特許権者】
【識別番号】506209422
【氏名又は名称】地方独立行政法人東京都立産業技術研究センター
(74)【代理人】
【識別番号】100200229
【弁理士】
【氏名又は名称】矢作 徹夫
(72)【発明者】
【氏名】鈴木 薫
(72)【発明者】
【氏名】武田 有志
【審査官】 鴨川 学
(56)【参考文献】
【文献】 特開2008−259032(JP,A)
【文献】 特開2005−020428(JP,A)
【文献】 特開2010−135936(JP,A)
【文献】 国際公開第2013/054448(WO,A1)
【文献】 特表2012−513699(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 3/23
H04R 3/02
H04R 3/00
G10L 21/0232
G10L 15/20
H04M 1/60
(57)【特許請求の範囲】
【請求項1】
スピーカから出力される前の音声信号を第1のスペクトルデータに変換する第1の変換部と、
マイクから入力された音声信号を第2のスペクトルデータに変換する第2の変換部と、
前記第1のスペクトルデータ及び前記第2のスペクトルデータに基づいて非エコー音声の有無を判定する非エコー音声有無判定部と、
前記第1のスペクトルデータ及び前記第2のスペクトルデータを入力し、エコーを消去するための適応フィルタを用いて誤差出力を計算するエコー消去部と、
を備え、
前記エコー消去部は、
前記非エコー音声が有る場合、前記適応フィルタの学習の強さを示す係数を、前記非エコー音声が無い場合に比べ、低くし、
前記非エコー音声有無判定部は、
前記第2のスペクトルデータのエコー成分を抑圧するエコー抑圧部と、前記エコー抑圧部の出力結果から時間領域の音声信号を生成する生成部と、前記時間領域の音声信号から前記非エコー音声の有無を判定する判定部と、を有する音響信号処理装置。
【請求項2】
前記判定部は、
前記生成部が生成した音声信号の波形データの振幅が所定の閾値以上のデータ数を計算し、
前記データ数が所定の閾値以上の場合に、前記非エコー音声が有ると判定する請求項に記載の音響信号処理装置。
【請求項3】
前記適応フィルタの学習の強さを示す係数はステップサイズである請求項1に記載の音響信号処理装置。
【請求項4】
前記エコー消去部の後段に、残留エコー抑圧部をさらに備える請求項1に記載の音響信号処理装置。
【請求項5】
他のマイクから入力された環境雑音信号を第3のスペクトルデータに変換する第3の変換部と、
前記第3のスペクトルデータを抑圧する環境雑音抑圧部と、をさらに備える請求項1に記載の音響信号処理装置。
【請求項6】
スピーカから出力される前の音声信号を第1のスペクトルデータに変換する第1の変換ステップと、
マイクから入力された音声信号を第2のスペクトルデータに変換する第2の変換ステップと、
前記第1のスペクトルデータ及び前記第2のスペクトルデータに基づいて非エコー音声の有無を判定する非エコー音声有無判定ステップと、
前記第1のスペクトルデータ及び前記第2のスペクトルデータを入力し、エコーを消去するための適応フィルタを用いて誤差出力を計算するエコー消去ステップと、
を備え、
前記エコー消去ステップは、
前記非エコー音声が有る場合、前記適応フィルタの学習の強さを示す係数を、前記非エコー音声が無い場合に比べ、低くし、
前記非エコー音声有無判定ステップは、
前記第2のスペクトルデータのエコー成分を抑圧するエコー抑圧ステップと、前記エコー抑圧ステップの出力結果から時間領域の音声信号を生成する生成ステップと、前記時間領域の音声信号から前記非エコー音声の有無を判定する判定ステップと、を有する音響信号処理方法。
【請求項7】
スピーカから出力される前の音声信号を第1のスペクトルデータに変換する第1の変換ステップと、
マイクから入力された音声信号を第2のスペクトルデータに変換する第2の変換ステップと、
前記第1のスペクトルデータ及び前記第2のスペクトルデータに基づいて非エコー音声の有無を判定する非エコー音声有無判定ステップと、
前記第1のスペクトルデータ及び前記第2のスペクトルデータを入力し、エコーを消去するための適応フィルタを用いて誤差出力を計算するエコー消去ステップと、
をコンピュータに実行可能な音響信号処理プログラムであって、
前記エコー消去ステップは、
前記非エコー音声が有る場合、前記適応フィルタの学習の強さを示す係数を、前記非エコー音声が無い場合に比べ、低くし、
前記非エコー音声有無判定ステップは、
前記第2のスペクトルデータのエコー成分を抑圧するエコー抑圧ステップと、前記エコー抑圧ステップの出力結果から時間領域の音声信号を生成する生成ステップと、前記時間領域の音声信号から前記非エコー音声の有無を判定する判定ステップと、を有する音響信号処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音響的なエコーを除去する装置、方法及びプログラムに関する。
する。
【背景技術】
【0002】
利用者の音声をマイクロホンで受音し、かつ所定のシステム音声をスピーカから拡声出力する装置においては、スピーカから拡声出力されたシステム音声が空気などを伝播してマイクロホンに拾われる現象がしばしば発生する。このとき、マイクロホンに拾われるシステム音声由来の音はシステム音声のエコーと呼ばれる。
【0003】
例えば、利用者の音声を認識してサービスを提供するロボットでは、ロボットの発したシステム音声がエコーとなって自身のマイクロホンに拾われてしまい、利用者が発話していないにも関わらず、このエコーを利用者の音声であると誤ってロボットが認識し、何らかの応答を開始してしまう問題が発生する。
【0004】
したがって、このような誤応答が起こらないよう、マイクロホン入力に混入したシステム音声のエコーを除去する必要がある。このとき、スピーカから拡声出力されるロボットのシステム音声がどのような音声であるかは既知であるから、一般にエコー消去器と呼ばれる機能によってマイクロホン入力からシステム音声のエコーを消去することが可能である。
【0005】
エコー消去器は、学習同定法(Normalized Least Mean Square アルゴリズム)などを用いてシステム音声の伝播経路(以下、エコーパスと呼ぶ)の伝達関数を適応フィルタに学習させ、このフィルタ係数にシステム音声を掛けることでエコーを模擬した音声(以下、エコーレプリカと呼ぶ)を生成し、このエコーレプリカをマイクロホン入力から差し引くことによって、エコーを消去した出力音声(以下、誤差出力と呼ぶ)を生成する。このような適応フィルタの学習がうまく進めば、出力音声にはエコーを含まない音声が残るはずである。
【0006】
しかしながら、エコーとともに非エコー音声(利用者の音声や環境雑音など)がマイクロホンから入力されている状況(非エコー音声有りの状態)では適応フィルタの学習がうまく進まず、エコーの消え残りや利用者音声の歪みをもたらすことがある。これを回避するために、非エコー音声有りの状態を検出する検出器を設け、非エコー音声有りの状態が検出されると適応フィルタの学習を止めたり遅らせたりする制御を加える。
【0007】
特許文献1には、拡声出力された音声とエコーレプリカとマイクロホン入力のレベルや相関から通話状態(非エコー音声の有無など)を判定する通話判定装置が開示されている。この通話判定装置では、通話を行うそれぞれの局で独立して通話状態を判定すると誤る可能性があるため、両局でそれぞれ行った判定結果を突き合わせて通話状態を判定する必要がある。
【0008】
また、特許文献2では、信号適応処理装置及びエコー抑圧装置における、学習同定法などによる適応フィルタの学習に際して、エコー消去後の出力音声パワーに従って適応フィルタの学習をON/OFF制御する技術が開示されている。この技術は、マイクロホン入力からエコー成分を消去した後の音声レベルが所定閾値を超えるなら、マイクロホン入力にはエコー以外の音声が含まれているとして非エコー音声有りの状態を検出するものである。
【0009】
この技術の場合、エコー消去後の出力音声に依存して適応フィルタの学習がON/OFFされるため、適応フィルタの正しい学習がある程度進んだ段階では正しいON/OFF制御が可能である。
【0010】
しかしながら、フィルタが十分に適応していない学習の初期段階では、このON/OFF制御に誤りが生じ、その結果として誤ったフィルタが学習されるなど、学習が遅くなる可能性がある。これは非エコー音声検出と適応フィルタ学習が鶏と卵のように相互に依存し合っているためである。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2008−060938号公報
【特許文献2】特開平08−065214号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
本発明は、このような課題に着目して鋭意研究され完成されたものであり、その目的は、非エコー音声検出と適応フィルタ学習の相互依存性を排除しつつ、エコーを含まない(あるいはエコーを弱められた)音声に基づいて、マイク入力にエコー以外の音声(利用者の音声等)が含まれているか否かを速やかに正しく判定することにある。
【課題を解決するための手段】
【0013】
上記課題を解決するために、本発明は、スピーカから出力される前の音声信号を第1のスペクトルデータに変換する第1の変換部と、マイクから入力された音声信号を第2のスペクトルデータに変換する第2の変換部と、前記第1のスペクトルデータ及び前記第2のスペクトルデータに基づいて非エコー音声の有無を判定する判定部と、前記第1のスペクトルデータ及び前記第2のスペクトルデータを入力し、適応フィルタを用いてエコーを消去するエコー消去部と、を備え、前記エコー消去部は、前記非エコー音声が有る場合、前記適応フィルタの学習の強さを示す係数を、前記非エコー音声が無い場合に比べ、低くする音響信号処理装置である。
【発明の効果】
【0014】
本発明によれば、マイク入力にエコー以外の音声(利用者の音声等)が含まれているか否かを速やかに正しく判定することができる。
【図面の簡単な説明】
【0015】
図1】本発明の実施例1に係る音響信号処理装置の機能ブロック図である。
図2】本発明の実施例1に係るエコー消去部6の機能ブロック図である。
図3】本発明の実施例1に係る非エコー音声有無判定部9の機能ブロック図である。
図4】本発明の実施例1に係る音響信号処理装置の処理の流れを示すフローチャートである。
図5】本発明の実施例1に係る音響信号処理装置のハードウェア構成図である。
図6】本発明の実施例1に係る音響信号処理装置による処理の結果を示す図である。
図7】本発明の実施例2に係る音響信号処理装置の機能ブロック図である。
図8】本発明の実施例2に係る音響信号処理装置の処理の流れを示すフローチャートである。
図9】本発明の実施例2に係る音響信号処理装置による処理の結果を示す図である。
【発明を実施するための形態】
【0016】
図面を参照しながら本発明の実施の形態を説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明は省略する。
【実施例1】
【0017】
図1は、本発明の実施例1に係る音響信号処理装置の機能ブロック図である。この実施例では、利用者の音声を認識してサービスを提供するロボットに適用される音響信号処理装置について説明する。ここでの、システム音声とは、ロボットが発した音声をいう。
【0018】
(構成)
スピーカ1は、システム音声の信号x(t)を拡声出力する。マイク2は、利用者の音声などを音声信号m(t)として入力するためのマイクロホンである。エコー3は、スピーカ1から拡声出力されたシステム音声のエコーを示す。
【0019】
エコーの伝搬経路Hは、システム音声のエコー3がマイク2に届く伝搬経路(エコーパス)を示す。ここで、tは音声信号のサンプリング周期における時刻を表すインデックスである。
【0020】
第1の周波数分解部4は、システム音声の時間領域の音声信号x(t)をFFT(Fast Fourier Transform)処理によって、周波数領域のスペクトルデータx(ω,f)に変換する。すなわち、周波数分解部4は、スピーカ1から出力される前の音声信号x(t)を第1のスペクトルデータx(ω,f)に変換する第1の変換部といえる。
【0021】
ここで、ωはFFT出力の周波数ビン番号を表すインデックスである。FFT処理では、所定サンプル数(フレーム長FL)の解析窓を所定サンプル数(フレームシフト量FS)ずつずらしながら、解析窓内の時間領域信号を周波数領域のスペクトルデータに変換する。これがFFTの処理単位(フレーム)である。fはFFTの処理単位で数えた時刻(フレーム番号)を表すインデックスである。時刻fに複素数として得られた第1のスペクトルデータx(ω,f)は実部のスカラ値と虚部のスカラ値から成る2次元のベクトルデータである。そのベクトルの長さと向きがωで表される周波数成分の振幅と位相を表している。
【0022】
同様に、マイク2から入力された音声信号m(t)も、第2の周波数分解部5によって周波数領域のスペクトルデータm(ω,f)に変換される。すなわち、周波数分解部5は、マイク2から入力された音声信号m(t)を第2のスペクトルデータm(ω,f)に変換する第2の変換部といえる。
【0023】
図2は、本発明の実施例1に係るエコー消去部6の機能ブロック図である。エコー消去部6は、適応フィルタ11と減算器12とからなり、マイク入力である第2のスペクトルデータm(ω,f)と、システム音声である第1のスペクトルデータx(ω,f)とを入力とし、誤差出力e(ω,f)を式(1)から計算することによって、第2のスペクトルデータm(ω,f)からエコー成分を消去する機能ブロックである。ここで、y(ω,f)はエコーレプリカであり、第1のスペクトルデータx(ω,f)にフィルタ係数w(ω,f)を掛けることで計算される。
【数1】
【0024】
式(1)のフィルタ係数w(ω,f)は、式(2)に示す学習同定法(Normalized Least Mean Squaresアルゴリズム)によりエコーパスHの伝達特性を学習する。ここで、*(アスタリスク)は複素共役を表し、μは学習速度を制御するステップサイズである。
【数2】
【0025】
学習同定法(NLMSアルゴリズム)は平均二乗誤差最小化規範の確率勾配アルゴリズムであるため、これを用いたフィルタ係数w(ω,f)の学習は、常に誤差出力e(ω,f)に含まれる第1のスペクトルデータx(ω,f)と相関のある成分のパワーを最小化するフィルタ係数w(ω,f)を求めるように進行する。そのため、第2のスペクトルデータm(ω,f)が利用者音声などのエコー以外の成分を含んでいると、その利用者音声の一部(第1のスペクトルデータx(ω,f)に含まれる周波数成分)までも消し去るようにフィルタを学習させてしまう。
【0026】
しかしながら、このようにして学習される適応フィルタ11は決して正しい値ではないため、エコーの消え残りや利用者音声の歪みの原因となる。それゆえ、第2のスペクトルデータm(ω,f)がエコー以外の音声を含んでいる状況(非エコー音声有り状態)を検出して適応フィルタ11の学習を止めたり弱めたりする制御が必要になる。
【0027】
これを実現するため、エコー消去部6は、ステップサイズμの値を後述するDT(f)が0(非エコー音声無し状態)か1(非エコー音声有り状態)かに応じて制御する。すなわち、μは非エコー音声有り状態には非エコー音声無し状態よりも減じられ、その結果、適応フィルタ11の学習の強さ(学習速度とも言う)はこの間低く抑えられる。つまり、ステップサイズμは、適応フィルタ11の学習の強さを示す係数である。
【0028】
非エコー音声有無判定部9は、エコー消去部6が適応フィルタ11の学習を止めたり弱めたりする制御を行うために、マイク入力にエコー以外の音声(利用者の音声等)が含まれているか否かを判定する機能ブロックである。詳細については後述するが、この判定をより速やかに正しく行うことで、エコー消去部6の性能が向上するという効果を有する。
【0029】
しかしながら、このようなエコー消去部6を用いても、残留エコーが残る場合がある。残留エコーは、例えばエコー消去後の音声を認識する場合に、その精度に悪影響を及ぼす可能性がある。そこで、本実施例では、エコー消去部6の後段に残留エコー抑圧部7を設けることにする。ただし、残留エコーの影響は音声認識処理などの後段処理の要求によって変わるため、残留エコー抑圧部7は本実施例に必須の構成ではない点に留意していただきたい。
【0030】
図1に示す残留エコー抑圧部7は、誤差出力e(ω,f)と第1のスペクトルデータx(ω,f)を入力とし、式(3)に従って誤差出力e(ω,f)に残留するエコー成分を抑圧した音声o2(ω,f)を生成する。
【数3】
【0031】
式(4)に示すように、o1(ω,f)はe(ω,f)の振幅をG倍した音声である。このGは誤差出力e(ω,f)に含まれる残留エコーの大きさの比率を近似した係数である。Gの数値は実験的に求めておく。また、DS(ω,f)は抑圧係数の瞬時値であり、gain(ω,f)は忘却係数により近似的に計算されるDS(ω,f)の移動平均値である。また、gsは抑圧の強さを与えるための係数である。
【数4】
【0032】
図1に示す波形生成部8は、残留エコー抑圧部7による音声o2(ω,f)を逆FFT処理することで時間領域の波形信号O(t)を生成する。このO(t)が本実施例での最終的な出力音声信号である。
【0033】
次に、図1に示す非エコー音声有無判定部9について説明する。図3は、本発明の実施例1に係る非エコー音声有無判定部9の機能ブロック図である。非エコー音声有無判定部9は、エコー抑圧部21と、波形生成部22と、判定部23とを備える。
【0034】
エコー抑圧部21は、第2のスペクトルデータm(ω,f)と第1のスペクトルデータx(ω,f)を入力とし、式(5)に従って第2のスペクトルデータm(ω,f)に含まれるエコー成分を抑圧した音声s(ω,f)を求める。
【数5】
【0035】
ここで、式(5)のgain(ω,f)は下記の式(6)で計算される抑圧係数である。
【数6】
【0036】
式(6)のMR(ω,f)はスピーカ1からマイク2までの利得の移動平均値を表し、EL(ω,f)はMR(ω,f)から推定したエコーの大きさである。NL(ω,f)はEL(ω,f)から計算した現在の非エコー音声の大きさであり、gsは抑圧の強さを与えるための係数である。FL(ω,f)はNL(ω,f)の下限値を与える量であり、第2のスペクトルデータm(ω,f)から決定される。以上の結果、現在の非エコー音声の大きさとしてNL(ω,f)をFL(ω,f)でフロアリングしたXX(ω,f)が算出される。そして、gain(ω,f)が第2のスペクトルデータm(ω,f)に対する非エコー音声の大きさXX(ω,f)の比として計算される。
【0037】
式(5)により計算されたs(ω,f)は次段の波形生成部22により時間領域の音声信号s(t)に変換される。
【0038】
続く判定部23では、式(7)に示すように、最新のフレームシフト量分のs(t)の中で振幅絶対値|s(t)|が閾値th2以上となるサンプルの個数Sが計算される。この計算結果Sが閾値th1以上となったとき、当該フレームfは非エコー音声有り状態であると判断され、DT(f)=1が出力される。また、それ以外の場合には、非エコー音声無し状態であるとして、DT(f)=0が出力される。
【数7】
【0039】
このように、第2のスペクトルデータm(ω,f)にエコー抑圧処理を掛けることで、s(ω,f)に含まれるエコーを適応フィルタ11で除去するよりも速く抑圧することができる。
【0040】
また、s(ω,f)を一度時間領域の波形s(t)に変換し、その波形中で閾値th2以上となる振幅値を数えて閾値処理することによって、振幅が大きくても長続きしない抑圧初期のエコーや突発的なエコー以外の雑音に対して頑健にすることができる。
【0041】
このように、非エコー音声有無判定部9内のエコー抑圧部21がエコーを速く抑圧できるのは、式(5)のgain(ω,f)が速やかに求められることによる。gain(ω,f)は実数であるから、エコー抑圧部21は第2のスペクトルデータm(ω,f)の位相を変えずに振幅だけを変える。これは精度的に十分ではないが、非エコー音声の有無を振幅に基づいて判定するには十分である。要するに、エコー抑圧部21は、精度よりも速さに重点を置いて第2のスペクトルデータm(ω,f)に含まれるエコーを抑圧する。これに対し、エコー消去部6は精度に重点を置いて第2のスペクトルデータm(ω,f)に含まれるエコーを消去する手段である。式(1)のy(ω,f)も、w(ω,f)も複素数であるから、エコー消去部6は第2のスペクトルデータm(ω,f)の振幅と位相を制御して高精度のエコー消去を行う。しかしながら、エコーの消えるw(ω,f)が求まるまでには式(2)の計算を数多く繰り返さなければならないので時間を要する。
【0042】
図4は、本発明の実施例1に係る音響信号処理装置の処理の流れを示すフローチャートである。本実施例の音響信号処理装置を起動すると、まず初期化処理ステップS1が実行される。この処理で時刻インデックスtとフレーム番号fが0に初期化される。
【0043】
続くFSサンプル入力処理ステップS2では、m(t)、x(t)の各音声信号がフレームシフト量FSサンプル分だけ入力される。
【0044】
次にFLサンプル蓄積判定処理ステップS3では、これまでに入力されたm(t)、x(t)の各音声信号のサンプル数がFFT解析窓の長さであるフレーム長FL以上か否かを判定する。もし、これまでに入力されたm(t)、x(t)の各音声信号のサンプル数がフレーム長FLに満たない場合は以降のFFT処理を行えないので、図中左(No)に分岐してダミー出力生成処理ステップS9を実行する。一方、そうでない場合は図中下(Yes)に分岐して周波数分解処理ステップS4を実行する。
【0045】
ダミー出力生成処理ステップS9では、例えば出力音声信号O(t)=m(t)として、マイク入力信号をそのまま出力するか、または無音を出力する。
【0046】
周波数分解処理ステップS4は第1の周波数分解部4と第2の周波数分解部5に対応した処理ステップであり、入力されたx(t)、m(t)の各音声信号を第1のスペクトルデータx(ω,f)、第2のスペクトルデータm(ω,f)に変換する。
【0047】
非エコー音声検出処理ステップS5は、非エコー音声有無判定部9に対応した処理ステップであり、式(5)、式(6)、及び、式(7)の計算により、第2のスペクトルデータm(ω,f)と第1のスペクトルデータx(ω,f)からDT(f)の値を決定する。
【0048】
エコー消去処理ステップS6はエコー消去部6に対応した処理ステップであり、式(1)及び式(2)の計算により、e(ω,f)を計算するとともに、DT(f)に基づくステップサイズμの制御によりフィルタ係数w(ω,f)を更新する。
【0049】
残留エコー抑圧処理ステップS7は、残留エコー抑圧部7に対応した処理ステップであり、式(3)及び式(4)の計算により、e(ω,f)から残留エコーを抑圧した音声o2(ω,f)を計算する。
【0050】
出力生成処理ステップS8は、波形生成部8に対応した処理ステップであり、o2(ω,f)から逆FFT処理により出力音声信号O(t)を計算する。なお、ダミー出力生成処理ステップS9と出力生成処理ステップS8を実行すると、処理はFSサンプル入力処理ステップS2に戻る。その際、時刻インデックスtはFSだけ増加され、フレーム番号fは1だけ増加される。
【0051】
図5は、本発明の実施例1に係る音響信号処理装置のハードウェア構成図である。本実施例は、図1から図3の機能ブロックによって示される音響信号処理装置や、図4のフローチャートによって示される音響信号処理方法に限定されない。例えば、コンピュータを図1の音響信号処理装置として機能させたり、図4の音響信号処理方法の処理手順を実行させるプログラムとして実施したりすることも可能である。
【0052】
具体的には、本実施例は図5に示すようにコンピュータを使って実施することが可能である。CPU(Central Processing Unit)103には、RAM(Random Access Memory)104、ROM(Read Only Memory)105、HDD(Hard Disk Drive)106、LAN(Local Area Network)107、マウス/キーボード108及びディスプレイ109が接続される。これらはコンピュータを構成する一般的な要素である。
【0053】
その他ストレージ110は、外部から記憶メディアを介してプログラムやデータをコンピュータに供給するためのドライブ類、具体的には光学ディスクドライブ、磁気ディスクドライブ、CF(Compact Flash)/SD(Secure Digital)カードスロットやUSB(Universal Serial Bus)メモリなどである。
【0054】
マイクロホン101及びスピーカ112は、図1に示したマイク2及びスピーカ1に対応している。また、マイクロホン113は、後述の実施例2で説明する雑音入力用のマイクに対応している。
【0055】
マイクロホン101及びマイクロホン113によって音波が電気的な信号に変換され、A/D変換器102及びA/D変換器114によってデジタルデータに変換される。A/D変換器102及びA/D変換器114からのデジタルデータは、プログラム命令を実行する過程でCPU103によって処理される。
【0056】
図5に示すコンピュータ装置では、図4に示した処理ステップを実行する音響信号処理プログラムをHDD106に記憶し、これをRAM104に読み出してCPU103で実行する。その際、利用者音声を含む音声信号m(t)の入力にマイクロホン101とA/D変換器102を使い、システム音声x(t)の拡声出力にD/A変換器111とスピーカ112を使い、さらに、後述の実施例2で説明する雑音信号n(t)の入力にマイクロホン113とA/D変換器114を使う。そして、これらm(t)とx(t)、あるいはm(t)とx(t)とn(t)をCPU103で処理することで出力音声O(t)を生成して出力する。
【0057】
この結果、図5に示すコンピュータ装置は本実施例に係る音響信号処理装置として機能する。また、このコンピュータ装置は、その他ストレージ110に挿入される記録媒体やLAN107を介して接続される他の装置から音響信号処理プログラムの供給を受けるようにすることが可能である。
【0058】
なお、このコンピュータ装置は、マウス/キーボード108やディスプレイ109を介して、利用者の操作入力を受け付けたり、利用者への情報呈示を行ったりすることも可能である。また、このコンピュータ装置が、音響信号処理装置だけでなく、利用者の音声を認識してサービスを提供するロボットにも適用される場合、マウス/キーボード108など、サービス提供時に不要な要素はコンピュータ装置から取り外し可能である。
【0059】
図6は、本発明の実施例1に係る音響信号処理装置による処理の結果を示す図である。図中(a)のマイク入力信号m(t)は、第2の周波数分解部5により第2のスペクトルデータm(ω,f)に変換される。
【0060】
このマイク入力信号m(t)には利用者音声とシステム音声エコーとが混ざりこんでいる。システム音声x(t)も第1の周波数分解部4により第1のスペクトルデータx(ω,f)に変換される。FFT及び逆FFTにはCooley−Tukey DFT Algorithmを使い、フレーム長FLを512サンプル、フレームシフト量FSを160サンプル、窓掛けにハニング窓を使用して、FFT及び逆FFT実行している。
【0061】
図中(b)は出力音声信号O(t)である。エコー消去部6と残留エコー抑圧部7を経て得られた出力o2(ω,f)は、波形生成部8により時間領域信号O(t)となって出力される。これが本実施例の音響信号処理装置の出力音声である。
【0062】
出力音声O(t)には利用者音声のみが強く残る。このとき、図中(c)に示す非エコー音声有無判定部9の出力DT(f)のグラフも利用者音声の存在する期間で立ち上がっている。
【0063】
図中(d)に示すm(t)/O(t)はERLE(Echo Return Loss Enhancement)と呼ばれる評価量を表している。ERLEは下記の式(8)で定義される量であり、入力パワーに対して出力パワーがどれくらい小さくなったかをdB値で表し、値が大きいほど消去性能が高いことを表す。式中のE[*]はnサンプル毎に平均値を計算することを表す。
【数8】
【0064】
エコー消去性能を求めたい場合、ERLEはシステム音声エコーだけが存在する期間で計算されなければならない。そこで、そのような期間をグラフより3か所選抜して図中のR1、R2、R3とする。これらの期間は全てシステム音声エコーだけが存在する期間である。よって、DT(f)は立ち上がっていない(非エコー音声無し状態を示す)のが正解であり、図中(c)からその通りになっていることがわかる。学習の初期(R1)、中期(R2)、終期(R3)のそれぞれでERLEの平均値を拾い出すと、67.7dB、85.9dB、102.6dBと高い値であることがわかる。
【0065】
(効果)
本実施例によれば、非エコー音声有無判定部9は第2のスペクトルデータm(ω,f)がエコー以外の音声を含んでいる状況(非エコー音声有り状態)を検出して適応フィルタ11の学習を止めたり弱めたりする制御を行うため、マイク入力にエコー以外の音声(利用者の音声等)が含まれているか否かを速やかに正しく判定することができるという効果を有する。
【0066】
非エコー音声有無判定部9内のエコー抑圧部21が、エコー消去部6よりも速くエコー抑圧量を上げられるエコー抑圧処理を実行することによって、適応フィルタ11をその学習初期から速く正しく学習させることができるという高速化、高精度化の効果を有する。これは、特に移動することでエコーの状態が頻繁に変わる移動ロボットに好適である。
【0067】
また、本実施例を利用者と音声で対話するシステムに適用した場合、システムが自分の声を誤って認識してしまうことがなくなるので、無駄な音声認識処理を減らすことができるという省CPU化、クラウドサーバ上の音声認識を使う場合には通信量削減の効果を有する。
【0068】
また、声の小さな利用者のためにマイク感度を上げるなど、システムのスピーカ音量とマイク感度の許容範囲を広げることができるというシステム運用条件拡大の効果を有する。
【0069】
さらに、利用者とシステムが同時にしゃべっても、利用者の声だけを取り出して認識できるので、利用者が自由なタイミングでシステムに話しかけることができるというシステム使用感向上の効果を有する。
【実施例2】
【0070】
実施例2では、環境雑音に対応した音響信号処理装置について説明する。図7は、本発明の実施例2に係る音響信号処理装置の機能ブロック図である。図中の符号1〜9は実施例1と同じ機能ブロックであるため、説明を省略する。実施例2は、実施例1に機能ブロック31、32、33、34を加えた構成となっている。以下、これら追加された機能ブロックを中心に説明する。
【0071】
マイク31は、マイク2と比べて、スピーカ1並びに利用者からより遠い位置に配置されたマイクロホンである。この配置は、マイク31にシステム音声や利用者音声が微弱にしか受音されないように配慮したものである。この結果、マイク31には専ら周囲の環境雑音が受音され雑音信号n(t)として入力される。雑音信号n(t)は第3の周波数分解部32によって周波数領域データn(ω,f)に変換される。すなわち、第3の周波数分解部32は、雑音信号n(t)を第3のスペクトルデータn(ω,f)に変換する第3の変換部といえる。
【0072】
一方、環境雑音は電車の音など比較的遠距離から到来するので、マイク2の入力信号m(t)にもマイク31と同程度のレベルで混入する。このm(t)に混入した環境雑音はシステム音声x(t)と相関がないので、エコー消去部6と残留エコー抑圧部7の処理によっても消し去ることができない。
【0073】
図7の33は、この環境雑音を抑圧するための環境雑音抑圧部である。環境雑音抑圧部33は、残留エコー抑圧部7の出力o2(ω,f)と雑音データである第3のスペクトルデータn(ω,f)を入力とし、式(9)に従ってo2(ω,f)に含まれる雑音成分を抑圧した音声o3(ω,f)を計算する。
【数9】
【0074】
ここで、式(9)のgain(ω,f)は下記の式(10)で計算される抑圧係数である。これは式(6)からフロアリング処理をなくした計算である。
【数10】
【0075】
図7の34は微小周波数成分抑圧部である。微小周波数成分抑圧部34は、環境雑音抑圧部33の出力o3(ω,f)を入力とし、式(11)に従ってo3(ω,f)に含まれる所定閾値未満の振幅を持つ微小な周波数成分を抑圧した音声o4(ω,f)を計算する。
【数11】
【0076】
ここで、式(11)のgain(ω,f)は下記の式(12)で計算される抑圧係数である。なお、式中の0.01は抑圧効果を与える1.0より小さい非負の値であり、例えば0.0や0.02などの他の数値でも良い。
【数12】
【0077】
本実施例の音声信号処理装置では、波形生成部8は、微小周波数成分抑圧部34の出力音声o4(ω,f)を逆FFT処理することで時間領域の出力信号O(t)を生成する。このO(t)が本実施例の音声信号処理装置の出力音声信号である。
【0078】
図8は、本発明の実施例2に係る音響信号処理装置の処理の流れを示すフローチャートである。本実施例の音響信号処理装置を起動すると、まず初期化処理ステップS21が実行される。この処理で時刻インデックスtとフレーム番号fが0に初期化される。
【0079】
続くFSサンプル入力処理ステップS22では、m(t)、x(t)、n(t)の各音声信号がフレームシフト量FSサンプル分だけ入力される。
【0080】
次にFLサンプル蓄積判定処理ステップS23では、これまでに入力されたm(t)、x(t)、n(t)の各音声信号のサンプル数がFFT解析窓の長さであるフレーム長FL以上か否かを判定する。もし、これまでに入力されたm(t)、X(t)、n(t)の各音声信号のサンプル数がフレーム長FLに満たない場合は以降のFFT処理を行えないので、図中左(No)に分岐してダミー出力生成処理ステップS29を実行する。一方、そうでない場合は図中下(Yes)に分岐して周波数分解処理ステップS24を実行する。
【0081】
ダミー出力生成処理ステップS29では、例えば出力音声信号O(t)=m(t)として、マイクロホン入力信号をそのまま出力するか、あるいは無音を出力する。
【0082】
周波数分解処理ステップS24は第1の周波数分解部4、第2の周波数分解部5、第3の周波数分解部32に対応した処理ステップであり、入力されたx(t)、m(t)、n(t)の各音声信号を第1のスペクトルデータx(ω,f)、第2のスペクトルデータm(ω,f)、第3のスペクトルデータn(ω,f)に変換する。
【0083】
非エコー音声検出処理ステップS25は非エコー音声有無判定部9に対応した処理ステップであり、式(5)、式(6)、及び、式(7)の計算により第2のスペクトルデータm(ω,f)と第1のスペクトルデータx(ω,f)からDT(f)の値を決定する。
【0084】
エコー消去処理ステップS26はエコー消去部6に対応した処理ステップであり、式(1)及び式(2)の計算によりe(ω,f)を計算するとともに、DT(f)に基づくステップサイズμの制御によりフィルタ係数w(ω,f)を更新する。
【0085】
残留エコー抑圧処理ステップS27は残留エコー抑圧部7に対応した処理ステップであり、式(3)及び式(4)の計算により、e(ω,f)から残留エコーを抑圧した音声o2(ω,f)を計算する。
【0086】
環境雑音抑圧処理ステップS30は環境雑音抑圧部33に対応した処理ステップであり、式(9)及び式(10)の計算により、o2(ω,f)から雑音成分を抑圧した音声o3(ω,f)を計算する。
【0087】
微小周波数成分抑圧処理ステップS31は、微小周波数成分抑圧部34に対応した処理ステップであり、式(11)及び式(12)の計算により、o3(ω,f)から微小な周波数成分を抑圧した音声o4(ω,f)を計算する。
【0088】
出力生成処理ステップS28は、波形生成部8に対応した処理ステップであり、o4(ω,f)から逆FFT処理により出力音声信号O(t)を計算する。
【0089】
なお、ダミー出力生成処理ステップS29と出力生成処理ステップS28を実行すると、処理はFSサンプル入力処理ステップS22に戻る。その際、時刻インデックスtはFSだけ増加され、フレーム番号fは1だけ増加される。
【0090】
実施例2に係る音響信号処理装置のハードウェア構成については、図5で説明した実施例1のハードウェア構成と同様であるため、省略する。
【0091】
図9は、本発明の実施例2に係る音響信号処理装置による処理の結果を示す図である。図中(a)のマイク入力信号m(t)は、第2の周波数分解部5により第2のスペクトルデータm(ω,f)に変換される。この音声には利用者音声とシステム音声エコーと環境雑音とが混ざりこんでいる。システム音声x(t)も第1の周波数分解部4により第1のスペクトルデータx(ω,f)に変換される。また、環境雑音n(t)も第3の周波数分解部32により第3のスペクトルデータn(ω,f)に変換される。実施例2でも、実施例1と同様、Cooley−Tukey DFT Algorithmを使い、フレーム長FLを512サンプル、フレームシフト量FSを160サンプル、窓掛けにハニング窓を使用して、FFT及び逆FFTを実行している。
【0092】
図中(b)は出力音声信号O(t)である。エコー消去部6、残留エコー抑圧部7、環境雑音抑圧部33、微小周波数成分抑圧部34を経て得られた出力音声o4(ω,f)は波形生成部8により時間領域信号O(t)に変換される。これが本実施例の出力音声である。出力音声O(t)には利用者音声のみが強く残る。このとき、図中(c)に示す非エコー音声有無判定部9の出力DT(f)のグラフは環境雑音のため全域で非エコー音声有り状態を示しているが、これは正しい応答である。
【0093】
図中(d)に示すm(t)/O(t)はERLEの値の推移を示している。ただし、ERLEはシステム音声エコーのみが存在する期間で計算すべきであるが、今回は利用者音声がなく、システム音声エコーと環境雑音を合わせた妨害音だけが存在する期間で、これら妨害音に対する消去性能を求める意味で計算した。グラフより、学習の初期(図中R1)、中期(図中R2)、終期(図中R3)の3か所のそれぞれ平均値を拾い出すと、133.5dB、109.4dB、150.0dBと高い値を記録していることがわかる。この消去性能はエコーの消去と抑圧効果に加えて環境雑音と微小周波数成分の抑圧効果を含んだ数値である。
【0094】
(効果)
本実施例によれば、実施例1で説明した効果はもちろん得られ、さらに、周囲が騒がしい場所(例えば、展示会場)でもシステム運用が可能になるというシステム運用条件拡大の効果を有する。
【0095】
以上、本発明の実施例(変形例を含む)について説明してきたが、これらのうち、2つ以上の実施例を組み合わせて実施しても構わない。あるいは、これらのうち、1つの実施例を部分的に実施しても構わない。さらには、これらのうち、2つ以上の実施例を部分的に組み合わせて実施しても構わない。
【0096】
本発明は、上記発明の実施例の説明に何ら限定されるものではない。特許請求の範囲の記載を逸脱せず、当業者が容易に想到できる範囲で種々の変形態様もこの発明に含まれる。例えば、本発明の音声信号処理装置は、他の音声会話機能を有する案内型ロボットのフロントエンド処理としても適用可能である。
【符号の説明】
【0097】
1 スピーカ
2、31 マイク
3 エコー
4 第1の周波数分解部(第1の変換部)
5 第2の周波数分解部(第2の変換部)
6 エコー消去部
7 残留エコー抑圧部
8 波形生成部
9 非エコー音声有無判定部
11 適応フィルタ
12 減算器
21 エコー抑圧部
22 波形生成部
23 判定部
32 第3の周波数分解部(第3の変換部)
33 環境雑音抑圧部
34 微小周波数成分抑圧部

図1
図2
図3
図4
図5
図6
図7
図8
図9