説明

残響抑圧装置、及び残響抑圧方法

【課題】精度良く残響抑圧を行える残響抑圧装置及び残響抑圧方法を提供することを課題としている。
【解決手段】音声信号を取得する音声取得部111と、取得された音声信号から残響データを演算する残響データ演算部112と、演算された残響データに基づき残響特性を推定する残響特性推定部と、推定された残響特性に基づき残響抑圧を行うフィルタのフィルタ長を推定するフィルタ長推定部116と、推定されたフィルタ長に基づき残響抑圧を行う残響抑圧部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、残響抑圧装置、及び残響抑圧方法に関する。
【背景技術】
【0002】
残響抑圧処理は,遠隔会議通話または補聴器における明瞭度の向上およびロボットの音声認識(ロボット聴覚)に用いられる自動音声認識の認識率の向上を目的として、自動音声認識の前処理として利用されている重要な技術である。残響抑圧処理において、所定のフレーム毎に、取得した音声信号から残響成分を算出し、取得した音声信号から算出した残響成分を除去することで残響を抑圧していた(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9―261133号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の従来技術では、所定のフレーム長さにおいて残響抑圧を行っていたため、フレーム長が長い場合は処理に時間がかかりすぎるという問題点があり、フレーム長が短すぎると十分な残響抑圧の効果が得られにくいという問題点があった。
【0005】
本発明は、上記の問題点に鑑みてなされたものであって、精度良く残響抑圧を行える残響抑圧装置及び残響抑圧方法を提供することを課題としている。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る残響抑圧装置は、音声信号を取得する音声取得部と、前記取得された音声信号から残響データを演算する残響データ演算部と、前記演算された残響データに基づき残響特性を推定する残響特性推定部と、前記推定された残響特性に基づき残響抑圧を行うフィルタのフィルタ長を推定するフィルタ長推定部と、前記推定されたフィルタ長に基づき残響抑圧を行う残響抑圧部とを備えることを特徴としている。
【0007】
また、本発明に係る残響抑圧装置において、前記残響特性推定部は、前記演算された残響データに基づき残響時間を推定し、前記フィルタ長推定部は、前記推定された残響時間に基づき前記フィルタ長を推定するようにしてもよい。
【0008】
また、本発明に係る残響抑圧装置において、前記フィルタ長推定部は、直接音と間接音との比率に基づき前記フィルタ長を推定するようにしてもよい。
【0009】
また、本発明に係る残響抑圧装置において、当該残響抑圧装置が設置されている位置が変化したことを検出する環境検出部を更に備え、残響データ演算部は、前記環境が変化したことを検出した場合に残響データを演算するようにしてもよい。
【0010】
また、本発明に係る残響抑圧装置において、前記環境検出部は、前記環境が変化したことを検出した場合に、前記残響抑圧部が残響抑圧に用いるパラメータ、あるいは、前記フィルタ長推定部がフィルタ長推定に用いるパラメータの少なくとも一方のパラメータを検出した環境に基づき切り替えるようにしてもよい。
【0011】
また、本発明に係る残響抑圧装置において、テスト音声信号を出力する音声出力部を更に備え、前記音声取得部は、前記出力されたテスト音声信号を取得し、残響データ演算部は、前記取得されたテスト音声信号から残響データを演算するようにしてもよい。
【0012】
上記目的を達成するため、本発明に係る残響抑圧装置における残響抑圧方法は、音声取得部は、音声信号を取得する音声取得工程と、残響データ演算部が、前記取得された音声信号から残響データを演算する残響データ演算工程と、残響特性推定部が、前記演算された残響データに基づき残響特性を推定する残響特性推定工程と、フィルタ長推定部が、前記推定された残響特性に基づき残響抑圧を行うフィルタのフィルタ長を推定するフィルタ長推定工程と、残響抑圧部が、前記推定されたフィルタ長に基づき残響抑圧を行う残響抑圧工程とを備えることを特徴としている。
【発明の効果】
【0013】
本発明によれば、取得された音声信号から残響データを演算して、演算された残響データに基づいて残響特性を推定して、推定された残響特性に基づいて残響抑圧を行うフィルタのフィルタ長を推定するため、残響特性に応じた残響抑圧を精度良く効率的に行ことが可能になる。
【0014】
本発明によれば、推定された残響特性の残響時間に基づいてフィルタ長を推定するようにしたので、さらに精度が良く効率の良い残響抑圧を行うことが可能になる。
【0015】
本発明によれば、直接音と反射音との比率に基づいてフィルタ長を推定するようにしたので、さらに精度が良く効率の良い残響抑圧を行うことが可能になる。
【0016】
本発明によれば、当該残響抑圧装置が設置されている位置が変化したか否かを検出し、設置位置が変化して設置されている環境が変化した場合、残響データの演算と残響特性の推定を行い、推定された残響特性に基づいて残響抑圧を行うフィルタのフィルタ長を推定するため、さらに精度が良く効率の良い残響抑圧を行うことが可能になる。
【0017】
本発明によれば、残響抑圧部が残響抑圧に用いるパラメータ、あるいは、フィルタ長を推定するためのパラメータの少なくともどちらか一方のパラメータを予め設定されている位置に関する情報に基づいて切り替えるため、さらに精度が良く効率の良い残響抑圧を行うことが可能になる。
【0018】
本発明によれば、音声出力部が残響データを演算するためのテスト音声信号を出力して、音声取得部が、出力されたテスト音声信号を取得して、取得された音声信号から残響データを演算して、演算された残響データに基づいて残響特性を推定して、推定された残響特性に基づいて残響抑圧を行うフィルタのフィルタ長を推定するため、さらに精度が良く効率の良い残響抑圧を行うことが可能になる。
【図面の簡単な説明】
【0019】
【図1】本実施形態に係る残響抑圧装置を組み込んだロボットが取得する音声信号の一例を説明する図である。
【図2】同実施形態に係る残響抑圧装置100のブロック図の一例を示す図である。
【図3】同実施形態に係るSTFT処理を説明する図である。
【図4】同実施形態に係るMCSB−ICA部114の内部構成を説明する図である。
【図5】同実施形態に係る残響強度を検出する処理手順を説明する図である。
【図6】同実施形態に係るロボットのみが発話してマイクから音声信号を取得している状態を説明する図である。
【図7】同実施形態に係る残響強度の一例を示す図である。
【図8】同実施形態に係るMCSB−IC処理の変化の一例を示す図である。
【図9】同実施形態に係る実験に用いたデータ及び残響抑圧装置の設定条件である。
【図10】同実施形態に係る音声認識の設定を説明する図である。
【図11】同実施形態に係る音声認識の設定を説明する図である。
【図12】同実施形態に係る推定されたフィルタ長を用いた音声認識率の一例を示す図である。
【図13】同実施形態に係るケースB(バージ・インの発生なし)且つ場所1の場合の音声認識率を示すグラフである。
【図14】同実施形態に係るケースB(バージ・インの発生なし)且つ場所2の場合の音声認識率を示すグラフである。
【図15】同実施形態に係るケースC(バージ・インの発生あり)且つ場所1の場合の音声認識率を示すグラフである。
【図16】同実施形態に係るケースC(バージ・インの発生あり)且つ場所2の場合の音声認識率を示すグラフである。
【図17】第2実施形態に係る残響抑圧装置100aのブロック図の一例を示す図である。
【発明を実施するための形態】
【0020】
以下、図1〜図17を用いて本発明の実施形態について詳細に説明する。なお、本発明は斯かる実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【0021】
[第1実施形態]
図1は、本実施形態における残響抑圧装置を組み込んだロボットが取得する音声信号の一例を説明する図である。ロボット1は、図1に示すように、基体部11と、基体部11にそれぞれ可動連結される頭部12(可動部)と、脚部13(可動部)と、腕部14(可動部)とを備えている。また、ロボット1は、背負う格好で基体部11に収納部15を装着している。なお、基体部11には、スピーカ20(音声出力部140)が収納され、頭部12にはマイク30が収納されている。なお、図1は、ロボット1を側面から見た図であり、マイク30およびスピーカ20はそれぞれ複数収納されている。
【0022】
まず、本実施形態の概略を説明する。
図1のように、ロボット1のスピーカ20から出力される音声信号を、ロボット1の発話Sとして説明する。
ロボット1が発話している時に、ヒト2が割り込んで発話することをバージ・イン(Barge−in)と呼ぶ。バージ・インが発生しているとき、ロボット1には、当該ロボット1の発話のために、割り込んできたヒト2の発話を聞き分けることが困難である。
そして、ヒト2およびロボット1が発話している場合、ロボット1のマイク30には、ヒト2の発話Sが空間を経由して伝達する残響音を含むヒト2の音声信号hと、ロボット1の発話Sが空間を経由して伝達する残響音を含むロボット1の音声信号hとが入力される。
【0023】
図1において、ロボット1のマイク30が集音する音声信号をモデル化すると、h+h=H・S+H・Sのように表せる。HとHは周波数領域の関数である。H・S+H・Sにおいて、Sはロボット1の発話のため、当該ロボット1にとって既知である。マイク30が集音した音声信号の中でH・Sには、ヒト2が発話してからロボット1に伝播する間に残響音(エコー)が付加されてしまっているため、H・Sを用いて音声認識するより、Sを用いて音声認識を行えれば認識率が高いことが予測される。また、Hは、ロボット1が単独でスピーカ20を介して発話し、発話した音声データを、マイク30を介して取得し、当該ロボット1がいる環境の残響特性を解析することで算出する。さらに、本実施形態では、ICA(independent component analysis;独立成分分析)をベースにしたMCSB−ICA(multi−channel semi−blind ICA)を用いて残響音をキャンセル、すなわち抑圧する。さらに、MCSB−ICAの分離フィルタのフレーム数を、算出した残響特性に基づいて推定することで、ロボット1がいる環境に合わせたフレーム数を算出する。そして、最終的には、算出されたフレーム数を用いて残響成分を抑圧することでヒト2の発話の音声信号Sを算出する。
【0024】
図2は、本実施形態における残響抑圧装置100のブロック図の一例を示す図である。図2のように、残響抑圧装置100にはマイク30、スピーカ20が接続され、マイク30は複数のマイク31、32・・・を備えている。また、残響抑圧装置100は、制御部101と、音声生成部102と、音声出力部103と、音声取得部111と、残響データ算出部112と、STFT部113と、MCSB−ICA部114と、記憶部115と、フィルタ長推定部116と、分離データ出力部117とを備えている。
【0025】
制御部101は、残響特性を測定するための音声を生成して出力する指示を音声生成部102に出力し、ロボット1が残響特性を測定するための発話中を示す信号を音声取得部111とMCSB−ICA部114に出力する。
【0026】
音声生成部102は、制御部101からの指示に基づき、残響特性測定用の音声信号(テスト信号)を生成し、生成した音声信号を音声出力部103に出力する。
【0027】
音声出力部103には、生成された音声信号が入力され、入力された音声信号を所定のレベルに増幅してスピーカ20に出力する。
【0028】
音声取得部111は、マイク30が集音した音声信号を取得し、取得した音声信号をSTFT部113に出力する。また、音声取得部111は、制御部101から残響特性を測定するための音声を生成して出力する指示が入力された時、残響特性を測定するための音声信号を取得し、取得した音声信号を残響データ算出部112に出力する。
【0029】
残響データ算出部(残響データ演算部)112には、取得された音声信号と生成された音声信号が入力され、取得された音声信号と生成された音声信号、および記憶部115に記憶されている演算式を用いて反響音キャンセル分離行列Wを算出する。また、残響データ算出部112には、算出した反響音キャンセル分離行列Wを記憶部115に書き込んで記憶させる。
【0030】
STFT(short−time Fourier transformation;短時間フーリエ解析)部113には、取得された音声信号と生成された音声信号が入力され、入力された各音声信号にハニング等の窓関数を音声信号に乗じて有限期間内で、解析位置をシフトしながら解析を行う。そして、STFT部113は、取得された音声信号を、フレームt毎にSTFT処理して時間−周波数領域の信号x(ω、t)に変換し、また、生成された音声信号を、フレームt毎にSTFT処理して時間−周波数領域の信号s(ω、t)に変換し、変換した信号x(ω、t)と信号s(ω、t)を周波数ωごとにMCSB−ICA部114に出力する。図3(a)と図3(b)は、STFT処理を説明する図である。図3(a)は、取得された音声信号の波形であり、図3は、この取得された音声信号に乗じられる窓関数である。図3(b)において、記号Uはシフト長であり、記号Tは解析を行う期間(窓長)を示している。
【0031】
MCSB−ICA部(残響抑圧部)114には、STFT部113から変換された信号x(ω、t)と信号s(ω、t)が周波数ωごとに入力され、制御部101からロボット1が残響特性を測定するための発話中を示す信号が入力され、フィルタ長推定部116から推定されたフィルタ長データが入力される。また、MCSB−ICA部113は、残響特性を測定するための発話中を示す信号が入力されていない場合、入力された信号x(ω、t)と信号s(ω、t)と記憶部114に記憶されている反響音キャンセル分離行列W、各モデル及び各係数を用いて、分離フィルタW1uとW2uを算出する。分離フィルタW1uとW2u算出後、マイク30が取得した音声信号からヒト2の直接発話信号を分離し、分離した直接発話信号を分離データ出力部117に出力する。
【0032】
図4は、MCSB−ICA部114の内部構成を説明する図である。図4のように、STFT部113から入力された信号x(ω、t)はバッファ201を介して強制空間球面化部211に入力され、STFT部113から入力された信号s(ω、t)はバッファ202を介して分散正規化部212に入力される。そして、ICA部221には、強制空間球面化部211から空間球面化された信号と、分散正規化部212から正規化された信号とが入力され、入力された信号を用いて繰り返しICA処理を行い、演算結果をスケーリング部231に出力し、スケーリングされた信号を直接発話分離部241に出力する。なお、スケーリング部231は、projection Back処理を用いてスケーリングを行い、直接発話分離部241は、入力された信号からパワーが最大のものを選択して出力する。
【0033】
記憶部115には、ロボット1がマイク30を介して取得する音声信号のモデル、解析するための分離モデル、解析するために必要なパラメータ等が予め書き込まれて記憶され、さらに、算出された反響音キャンセル分離行列W、分離フィルタW1u及び分離フィルタW2uが書き込まれて記憶されている。
【0034】
フィルタ長推定部(残響特性推定部、フィルタ長推定部)116は、記憶部115に記憶されている反響音キャンセル分離行列Wを読み出し、読み出した反響音キャンセル分離行列Wから後述する方法でフィルタ長を推定し、推定したフィルタ長データをMCSB−ICA部114に出力する。なお、フィルタ長とは、フレーム(窓)をサンプリングする数に関する値であり、フィルタ長が大きくなると時間方向に長い期間、サンプリングを行うことになる。
【0035】
分離データ出力部117には、MCSB−ICA部114から分離された直接発話信号が入力され、入力された直接発話信号を、例えば非図示の音声認識部に出力する。
【0036】
次に、ロボット1が取得した音声から必要な音声信号を分離するための分離モデルについて説明する。記憶部115には、ロボット1がマイク30を介して取得する音声信号は、式(1)ののFIR(finite impulse response;有限インパルス応答)のモデルのように定義する。
【0037】
【数1】

【0038】
式(1)において、記号x(t)・・・x(t)は、各マイク31〜32の各スペクル(Lはマイク番号)、x(t)はベクトルであり[x(t),x(t),・・・,x(t)]T、s(t)はヒト2の発話、s(t)は既知のロボット1のスペクトル、h(n)はヒト2の音声スペクトルのN次元のFIR係数ベクトル、h(m)は既知のロボット1のM次元のFIR係数ベクトルである。式(1)は、ロボット1がマイク30を介して取得する時刻tにおけるモデル化である。
【0039】
また、記憶部115には、ロボット1のマイク30が集音した音声信号について、式(2)のように残響成分を含んだベクトルX(t)としてモデル化され予め記憶されている。さらに、記憶部115には、ロボット1の発話の音声信号について、式(3)のように残響成分を含んだベクトルS(t)としてモデル化されて予め記憶されている。
【0040】
【数2】

【0041】
【数3】

【0042】
式(3)において、s(t)はロボット1が発話した音声信号であり、s(t−1)は空間を伝達されて「1」遅延して音声信号が届くことを表し、s(t−M)は「M」遅延して届く音声信号が届くことを表している。すなわち、ロボット1から離れている距離が大きく、遅延量が大きいほど残響成分が大きくなることを表している。
【0043】
次に、ICAを用いて既知の直接音S(t)とX(t−d)と、ヒト2の直接発話信号sとを独立となるように分離するため、記憶部115には、MCSB−ICAの分離モデルが次式(4)のように定義し、記憶部115に記憶されている。
【0044】
【数4】

【0045】
式(4)において、d(0より大きい)は、初期反射間隔であり、X(t−d)は、X(t)をd遅延させたベクトルであり、式(5)は、L次元の推定された信号ベクトルである。
【0046】
【数5】

【0047】
また、W1uは、L×Lのブラインド分離行列(分離フィルタ)、W2uは、L×L(N+1)のブラインド残響除去行列(分離フィルタ)、Wは、L×(M+1)の残響音キャンセルの分離行列(取得した残響特性に基づく残響要素)である。
また、IとIは、それぞれに対応した大きさの単位行列である。そして、式(5)には、ヒト2の発話の直接発話信号といくつかの反射音信号とを含んでいる。
【0048】
次に、式(4)を解くためのパラメータについて説明する。 式(4)において、分離パラメータのセットW={W1u、W2u、W}を、結合確率密度関数(probability density function)とs(t)、X(t−d)およびSr(t)の周辺確率密度関数(個々のパラメータの独立な確率分布を表わす周辺確率密度関数)の積との間の差の尺度としてKL(kullback−Leibler;カルバック・ライブラー)情報量を最小化するように推定する。また、周波数ωにおける分離行列の初期値W1u(ω)は、周波数ω+1において推定行列W1u(ω+1)にセットされている。
【0049】
MCSB−ICA部114は、分離パラメータのセットWを、KL情報量を自然勾配法により最小にするように各分離フィルタ次式(6)〜式(9)のルールに従い繰り返し更新することで推定を行う。また、式(6)〜式(9)は、記憶部115に予め書き込まれて記憶されている。
【0050】
【数6】

【0051】
【数7】

【0052】
【数8】

【0053】
【数9】

【0054】
なお、式(6)、式(8)〜式(9)において、上付きHは共役転置演算(エルミート転置)を表す。また、式(5)において、Λは非ホロノミック拘束行列、すなわち、式(10)の対角行列である。
【0055】
【数10】

【0056】
また、式(7)〜式(9)において、uは、ステップ・サイズのパラメータであり、φ(x)は、非線形関数ベクトル[φ(x)、・・・、φ(x)]であり、次式(11)のように表され、記憶部115に書き込まれて記憶されている。
【0057】
【数11】

【0058】
さらに、音源のPDFは、分散量σであるとした場合、雑音に強いPDFであるp(x)=exp(−|x|/σ)/(2σ)であり、φ(x)=x/(2σ|x|)であり、xはxの共役であると仮定する。この2つの関数は、連続領域である|x|>εにおいて定義される。
【0059】
次に、音声を分離する処理手順を、図5〜図8を用いて説明する。図5は、本実施形態における残響強度を検出する処理手順を説明する図である。なお、残響強度の検出は、ロボット1がいる環境が変わった場合、例えば、別の部屋に移動した後、室外に出た後毎に行う。また、ロボット1は、例えば、当該ロボット1に組み込まれている非図示のカメラで撮像された画像データを用いて、環境が変化したか否かを判定する。あるいは、ロボット1が水平方向または垂直方向に移動し、当該ロボット1がいた位置が変化した場合にも残響強度を検出する処理を行うようにしてもよい。
【0060】
[ステップS1;Emission of self spech]
まず、図6のように、ロボット1は、当該ロボット1が現在いる環境で、制御部101は、残響強度を測定するための所定の音声信号を生成する指示を音声生成部102に出力する。音声生成部102には、所定の音声信号を生成する指示が入力され、入力された生成指示に基づき所定の音声信号を生成し、生成した所定の音声信号を音声出力部103に出力する。音声出力部103には、生成された所定の音声信号が入力され、入力された所定の音声信号を所定のレベルに増幅してスピーカ20に出力する。なお、残響強度を測定するための所定の音声信号は、例えば、1つの母音または1つの子音であってもよい。図6は、ロボットのみが発話してマイクから音声信号を取得している状態を説明する図である。
【0061】
次に、音声取得部111には、マイク30が集音した音声信号が入力され、入力された音声信号を残響データ算出部112に出力する。マイク30が集音する音声信号は、音声生成部102が生成した音声信号Sに、スピーカ20から発せられた音声が壁、天井、床などで反響した残響成分を含む音声信号hである。
【0062】
次に、残響データ算出部112には、取得された音声信号が入力され、入力された音声信号を記憶部115に記憶されている式(9)を用いて反響音キャンセル分離行列Wを算出する。また、残響データ算出部112は、演算した残響特性データを記憶部115に書き込んで記憶させる。なお、式(9)を演算するとき、入力値はWのみなのでフィルタ長を1に設定する。
【0063】
[ステップS2;Calculation of echo intensities]
ステップS2では、ステップS1で算出されたWrを使って、フィルタ長を推定するための残響強度のグラフを生成する。
まず、フィルタ長推定部116は、記憶部115に記憶されている反響音キャンセル分離行列Wを読み出す。フィルタ長推定部116は、読み出した反響音キャンセル分離行列Wを、パラメータWを式(12)のような行列に置き直す。
【0064】
=[w(0)w(1)・・・w(M)] ・・・(12)
【0065】
なお、式(12)のWにおいて、w(m)は、L×1ベクトルであり式(13)のように表される。
【0066】
【数12】

【0067】
そして、周波数ωにおけるこのフィルタの正規化されたパワー関数は、次式(14)のように定義する。
【0068】
【数13】

【0069】
式(14)において、iはマイク30の番号(マイク31、32、・・・)であり、mはフィルタのインデックスである。式(14)のパワー関数は、残響強度を反映し、また、環境の残響時間に関係しているので、このパワー関数に基づいて残響時間を推定する。
次に、平均化された周波数のパワー関数と平均化されたマイクのパワー関数Pと、関数Pの対数値Lは、次式(15)と式(16)のように残響時間のための基準として定義する。
【0070】
【数14】

【0071】
【数15】

【0072】
式(15)において、Ωは周波数バンド・セットに基づく値である。フィルタ長推定部116は、この式(15)と式(16)を用いて、図7のように残響強度を仮想的にプロットする。図7において、縦軸は音声レベルであり、横軸は時間軸を表している。図7のように、生成された音声信号をスピーカ30から発した時(時刻0)の音声レベルが一番高くロボット1がいる環境の残響特性に応じて、音声レベルは下がっていく。
【0073】
[ステップS3;Estimation of dereverberation filter length]
ステップS3では、図7のプロットされた残響強度のグラフを用いて、フィルタ長Mを検定する。
まず、図7のように、フィルタ長推定部116は、フィルタ長の推定のため式(17)を用いて線形回帰解析を行う。
【0074】
y=a×m+b ・・・(17)
【0075】
式(17)において、aとbは係数であり、mはフィルタ長のインデックス、そしてyはL(m)と等価である。次に、図7のように、フィルタ長推定部116は、P(m)のピーク値からいくつかのサンプルを抽出し、最小二乗平均(LMS;least mean square)法を用いてaとbを推定する。
次に、フィルタ長推定部116は、残響除去のフィルタ長を、次式(18)において、mがL(m)=Lの値を満足するように算出し、算出した残響除去のフィルタ長をICA部221に出力する。
【0076】
【数16】

【0077】
一例として、図7において、RT20=240msec(RT20は残響時間)、そして線形回帰線251を式(17)により推定する。そして、推定されたフィルタ長は、式(18)においてL=−60(ライン252)との交点253の値、M=約13である。
【0078】
[ステップS4;Incremental separation poling notification]
ヒト2の発話が発声した場合、このステップS4を行い、式(4)を用いて式(5)を求めることで、マイク30から取得された音声信号からヒト2の残響成分除去した音声信号を算出する。
【0079】
音声取得部111には、マイク30が集音した音声信号が入力され、入力された音声信号をSTFT部113に出力する。また、音声生成部102は、音声を生成している場合、生成した音声信号をSTFT部113に出力する。
【0080】
次に、STFT部113には、マイク30が取得した音声信号と、音声生成部102が生成した音声信号とが入力され、取得された音声信号をフレームt毎にSTFT処理して時間−周波数領域の信号x(ω、t)に変換し、変換した信号x(ω、t)を周波数ωごとにMCSB−ICA部114に出力する。また、STFT部113は、生成された音声信号を、フレームt毎にSTFT処理して時間−周波数領域の信号s(ω、t)に変換し、変換した信号s(ω、t)を周波数ωごとにMCSB−ICA部114に出力する。
【0081】
MCSB−ICA部114の強制空間球面化部211には、変換された信号x(ω、t)が周波数ωごとに入力され、周波数ωをインデックスとして順次、次式(19)を用いて空間球面化を行い、z(t)を算出する。また、式(19)と式(21)は、式(5)を解く上で高速化を行うために用いている。
【0082】
【数17】

【0083】
ただし、Vは式(20)である。
【0084】
【数18】

【0085】
さらに、式(20)において、EとΛは、固有ベクトル行列であり、固有対角行列R=E|x(t)x(t)|である。
さらに、MCSB−ICA部114の分散正規化部212には、変換された信号s(ω,t)が周波数ωごとに入力され、周波数ωをインデックスとして順次、次式(21)を用いてスケールの正規化を行う。
【0086】
【数19】

【0087】
なお、スケーリングの正規化において、逆変換法(projection back method)を用い、逆分離行列の要素は、分離信号に従って乗算される。そして、式(22)のi番目の列、j番目の行の要素cは、式(5)のj番目の要素のスケーリングは、式(23)〜式(24)の式の関係に従って行う。
【0088】
【数20】

【0089】
【数21】

【0090】
【数22】

【0091】
強制空間球面化部211は、このように演算されたz(ω,t)をICA部221に出力し、分散正規化部212は、このように演算された式(21)の値をICA部221に出力する。
【0092】
次に、ICA部221には、演算されたz(ω,t)と式(21)の値とが入力され、さらに、記憶部115に記憶されている分離モデル(分離フィルター)を読み出す。
次に、ICA部221は、式(4)、式(6)〜式(9)のxに式(19)を代入し、sに式(21)を代入して、W1uとW2uを算出し、すでにステップS1で算出されたWを用いて、MCSB−ICA部114が式(5)のデータを算出する。
【0093】
図8は、MCSB−ICA処理の変化の一例を示す図である。通常の分離モードにおいて、MCSB−ICAのブロック幅増加分離を行う。ICAは、分離行列を安定して推測するために、所定の持続時間、データをバッファする。このようにバッファを使用するため、時間tの分離を行うため先行するブロックサイズIを利用する。図8においては、シフト量Iが増加する場合、遅れ時間も増加する。また、シフト量Iが減少する場合、算出処理が増加する。このように、本実施形態では、オーバーラップ・パラメータ係数Iを使用する。
【0094】
次に、本実施形態の残響抑圧装置を備えるロボット1で行った実験方法と実験結果の例を説明する。図9〜図12は、実験条件である。図9は、実験に用いたデータ及び残響抑圧装置の設定条件である。図9のように、インパルス応答は16KHzサンプル、残響時間は240msと670ms、ロボット1とヒト2との距離は1.5m、ロボット1とヒト2の角度は0度、45度、90度、−45度、−90度、使用したマイク30の本数は2本(ロボット1の頭部に設置)、STFT分析はハニング窓のサイズ32ms(512ポイント)かつシフト量12ms(192ポイント)、入力信号データは[−1.0 1.0]に正規化されたものである。
【0095】
図10は、音声認識の設定を説明する図である。図10のように、テスト・セットは200の文章(日本語)、訓練セットは200人(それぞれ150の文章))、音響モデルはPTM−triphone、3値のHMM(隠れマルコフモデル)、言語モデルは語彙サイズ20k、発話解析はハニング窓のサイズ32ms(512ポイント)、シフト量10ms、特徴量はMFCC(Mel−Frequency Cepstrm Coefficient;スペクトル包絡)は25次(12次+Δ12次+Δパワー)である。また、他のSTFT設定条件は、フレーム間隔係数d=2、反響キャンセルのフィルタ長Nと通常の分離モードの残響除去のフィルタ長Mは同じ値、適応ステップ・サイズのための係数は予め設定され、推定されたフィルタ係数は、Ω={5,6,・・・、200}かつL=−60、直線回帰のためのサンプル数は6に設定してある。また、音声認識エンジンは、公知のJulius(http://julius.sourceforge.jp/)を使用している。
【0096】
次に、実験結果を図11〜図16に示す 図11は、推定されたフィルタ長の設定を示した図である。図11のように、ノイズあり且つ残響時間が240msの場合、ノイズあり且つ残響時間670msの場合、ノイズなし且つ残響時間が240msの場合、ノイズなし且つ残響時間670msの場合、各々についてMmaxが20,30,50についての推定されたフィルタ長の平均値と偏差を示している。場所1(Env.I)は、通常の部屋(残響時間RT20=240ms)、場所2(Env.II)は、ホールのような部屋(残響時間RT20=670ms)である。
【0097】
図12は、推定されたフィルタ長を用いた音声認識率の一例を示す図である。図12のように、ケースBは、バージ・インが発生していない場合、ケースCは、バージ・インが発生している場合、各々について音声分離無しでの認識率(no proc)、ブロックサイズIが166(2秒)、208(2.5秒)、255(3秒)、残響時間240msと670msの各音声認識率を示している。また、シフト量Iは、ブロックサイズIの半分に設定されている。一例として、残響音がないクリーンな音声信号による認識率は、実験に用いた残響抑圧装置では約93%である。
【0098】
図12の結果をグラフにしたのが図13〜図16である。図13は、ケースB(バージ・インの発生なし)且つ場所1の場合の音声認識率を示すグラフであり、図14は、ケースB(バージ・インの発生なし)且つ場所2の場合の音声認識率を示すグラフである。図15は、ケースC(バージ・インの発生あり)且つ場所1の場合の音声認識率を示すグラフであり、図16は、ケースC(バージ・インの発生あり)且つ場所2の場合の音声認識率を示すグラフである。各グラフの横軸はフィルタ長(N)であり、縦軸は音声認識率(%)である。
図13のように、残響時間が短い部屋(場所1)且つバージ・インが発生していない場合、推定されたフィルタ長(N=14)301より不適切なフィルタ長(N=35)の方が認識率(正答率)は低くかつブロックサイズIを変えると認識率の差が大きくなる。ルタ長(N=35)302の場合はブロックサイズIにより認識率に差が生じている。一方、残響時間が長い部屋(場所2)且つバージ・インが発生していない場合、推定されたフィルタ長(N=35)で認識率は60%以上である。そして、図13と図14のように、残響時間が短い場合のフィルタ長はN=14で短く、残響時間が長い場合のフィルタ長はN=36で長い。このように、ロボット1が取得した環境の残響特性に基づき、適切なフィルタ長(フレーム長)を推定することで、音声認識率を改善できる。
図15のように、残響時間が短い部屋(場所1)且つバージ・インが発生している場合、推定されたフィルタ長(N=14)より不適切なフィルタ長(N=35)の方が認識率(正答率)は低くかつブロックサイズIを変えると認識率の差が大きくなる。一方、残響時間が長い部屋(場所2)且つバージ・インが発生している場合、推定されたフィルタ長(N=35)で認識率は40%以上である。
【0099】
以上のように、残響特性に応じて分離フィルタ長であるフレーム長を設定するようにしたので、音声認識率が向上し、さらに音声認識にかかる演算量も適切にすることが可能になる。
【0100】
また、本実施形態では、残響特性として残響時間を用いた例を説明したが、D値(音声の明瞭さを表す値であり、直接音が到達してから0〜50msecまでのパワーと、0〜音声が減衰するまでのパワーの比)を用いても良い。
【0101】
また、本実施形態では、残響特性の測定を制御部101から残響特性を測定するための音声を生成して出力する指示が入力された時、残響特性を測定するための音声信号を取得して残響特性を測定する例を説明したが、音声取得部111は、音声生成部102が出力する生成された音声信号と比較しながら取得し、取得中にバージ・インが発生しているか否かを判別して、バージ・インが発生していないときに残響特性の測定用の音声信号を取得するようにしてもよい。
【0102】
[第2実施形態]
次に、第2実施形態について、図17を用いて説明する。図17は、本実施形態における残響抑圧装置100aのブロック図の一例を示す図である。第1実施形態では、ロボット1は、環境が変った場合に、発話を行い、当該ロボット1がいる環境の残響特性を測定する例を説明した。残響特性の測定は、例えば、ロボット1が移動する部屋毎に例えばマークが設置され、設置されているマークをロボット1のカメラ40が撮像して公知の画像認識の手法を用いて、マークを検出して環境、例えば部屋を移動したことを検出した場合に行う。あるいは、ロボット1の記憶部114に予めマップを書き込んで記憶させておき、マップに基づき環境変化を検出した場合に行う。
【0103】
図17のように、本実施形態における残響抑圧装置100aは、画像取得部301と、環境変化検出部302とをさらに備えている。また、残響抑圧装置100aには、カメラ40が接続され、画像取得部301には、カメラにより撮像された画像信号が入力され、入力された画像信号を環境変化検出部302に出力する。環境変化検出部302は、入力された画像信号に基づき、残響抑圧装置100aが組み込まれているロボット1aがいる位置が変化したか否かを判定し、位置が変化したことを検出した場合、位置が変化したことを示す信号を制御部101aに出力する。制御部101aは、位置が変化したことを示す信号が入力された場合、音声生成部102に残響特性測定用の音声信号(テスト信号)を生成する指示を出力する。以下、第1実施形態と同様の処理を行う。
【0104】
また、各パラメータを環境毎に予め記憶部115aに書き込んで記憶させておき、マップ、マークとおのおの関連づけて記憶部115aに記憶させておく。
そして、ロボット1aが、環境が変ったことを検出した場合、制御部101aは、残響特性を測定するとともに、各パラメータのセットを記憶部114aから読み出して切り替えるようにしても良い。
【0105】
また、記憶部115aに残響データが記憶されていない環境で、残響測定を行い、測定された残響特性と関連付けて、その環境に基づくパラメータを算出して、算出したパラメータを関連づけて新たに記憶部115aに記憶させるようにしてもよい。
【0106】
また、例えば、各部屋にロボット1aへ位置に関する情報を送信する非図示の位置情報送信装置を設置し、ロボット1aはこの位置情報を受信した場合に環境が変化したと検出して、残響特性を測定するようにしてもよい。
【0107】
なお、第1、第2実施形態では、残響抑圧装置100及び残響抑圧装置100aをロボット1(1a)に組み込んだ例を説明したが、残響抑圧装置100及び残響抑圧装置100aは、例えば音声認識装置、音声認識装置を有する装置などに組み込んで用いることも可能である。
【0108】
なお、実施形態の図2及び図17の各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、USB(Universal Serial Bus) I/F(インタフェース)を介して接続されるUSBメモリー、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【0109】
1・・・ロボット
20・・・スピーカ
30、31、32・・・マイク
100・・・残響抑圧装置
101・・・制御部
102・・・音声生成部
111・・・音声取得部
112・・・残響データ演算部
113・・・STFT部
114・・・MCSB−ICA部
115・・・記憶部
116・・・フィルタ長推定部
117・・・分離データ出力部
302・・・環境変化検出部

【特許請求の範囲】
【請求項1】
音声信号を取得する音声取得部と、
前記取得された音声信号から残響データを演算する残響データ演算部と、
前記演算された残響データに基づき残響特性を推定する残響特性推定部と、
前記推定された残響特性に基づき残響抑圧を行うフィルタのフィルタ長を推定するフィルタ長推定部と、
前記推定されたフィルタ長に基づき残響抑圧を行う残響抑圧部と、
を備えることを特徴とする残響抑圧装置。
【請求項2】
前記残響特性推定部は、
前記演算された残響データに基づき残響時間を推定し、
前記フィルタ長推定部は、
前記推定された残響時間に基づき前記フィルタ長を推定する
ことを特徴とする請求項1に記載の残響抑圧装置。
【請求項3】
前記フィルタ長推定部は、
直接音と間接音との比率に基づき前記フィルタ長を推定する
ことを特徴とする請求項1に記載の残響抑圧装置。
【請求項4】
当該残響抑圧装置が設置されている位置が変化したことを検出する環境検出部、
を更に備え、
残響データ演算部は、
前記環境が変化したことを検出した場合に残響データを演算する
ことを特徴とする請求項1から請求項3のいずれか1項に記載の残響抑圧装置。
【請求項5】
前記環境検出部は、
前記環境が変化したことを検出した場合に、前記残響抑圧部が残響抑圧に用いるパラメータ、あるいは、前記フィルタ長推定部がフィルタ長推定に用いるパラメータの少なくとも一方のパラメータを前記検出した環境に基づき切り替える
ことを特徴とする請求項4に記載の残響抑圧装置。
【請求項6】
テスト音声信号を出力する音声出力部、
を更に備え、
前記音声取得部は、前記出力されたテスト音声信号を取得し、残響データ演算部は、前記取得されたテスト音声信号から残響データを演算する
ことを特徴とする請求項1から請求項5のいずれか1項に記載の残響抑圧装置。
【請求項7】
残響抑圧装置の残響抑圧方法において、
音声取得部は、音声信号を取得する音声取得工程と、
残響データ演算部が、前記取得された音声信号から残響データを演算する残響データ演算工程と、
残響特性推定部が、前記演算された残響データに基づき残響特性を推定する残響特性推定工程と、
フィルタ長推定部が、前記推定された残響特性に基づき残響抑圧を行うフィルタのフィルタ長を推定するフィルタ長推定工程と、
残響抑圧部が、前記推定されたフィルタ長に基づき残響抑圧を行う残響抑圧工程と、
を備えることを特徴とする残響抑圧方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−232691(P2011−232691A)
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2010−105369(P2010−105369)
【出願日】平成22年4月30日(2010.4.30)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】