音声入力装置
【課題】一般的な周波数領域ICAに適用するSBEと比較してわずかな計算量増加で済み、拡散性の雑音を除去できる音声入力装置を提供すること。
【解決手段】目的音声と非目的音とが混在する音響を複数のマイクロフォン10-1〜10-nで検知して目的音声信号と非目的音信号とが混在する複数の音響信号を取得し、その音響信号から少なくとも一つの目的音声信号を分離するフィルタを学習の繰り返しによって取得する独立成分解析法を実行する音声入力装置において、音響周波数帯域を帯域分割過程30で複数の周波数分割帯域に分割し、フィルタ学習過程40において、学習によって得られるフィルタの目的音声分離性能を評価する識別レベルを評価過程50で周波数分割帯域ごとに算出し、該識別レベルに基づいて周波数分割帯域の中から学習計算を行う周波数分割帯域を決定過程60で決定することを特徴とする音声入力装置を構成する。
【解決手段】目的音声と非目的音とが混在する音響を複数のマイクロフォン10-1〜10-nで検知して目的音声信号と非目的音信号とが混在する複数の音響信号を取得し、その音響信号から少なくとも一つの目的音声信号を分離するフィルタを学習の繰り返しによって取得する独立成分解析法を実行する音声入力装置において、音響周波数帯域を帯域分割過程30で複数の周波数分割帯域に分割し、フィルタ学習過程40において、学習によって得られるフィルタの目的音声分離性能を評価する識別レベルを評価過程50で周波数分割帯域ごとに算出し、該識別レベルに基づいて周波数分割帯域の中から学習計算を行う周波数分割帯域を決定過程60で決定することを特徴とする音声入力装置を構成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は音声入力装置に関する。
【背景技術】
【0002】
近年、車室内における音声入力系は、音声認識による車載機器操作およびハンドフリー電話などに広く用いられている。これらの技術の実現を阻害する要因として、車室内における、音声入力使用者以外の音源からの音の存在があげられる。音声入力使用者からの音声を他の音源からの音から分離する方法として、複数の音響センサからそれぞれの音信号を取得し、取得した複数の音信号のみを用いて、その音信号から目的とする音声信号を分離するフィルタを学習によって得る方法として、独立成分解析法(Independent Component Analysis、以下ICAと記す)が開発されている。
【0003】
【特許文献1】特開2003−271166号公報
【非特許文献1】「アレー信号処理を用いたブラインド音源分離の基礎」Technical report of IEICE,EA2001-7。
【非特許文献2】「独立成分解析とは」Computer Today,pp.38-43,1998.9,No.87、「fMRI画像解析への応用」Computer Today,pp.60-67,2001.1 No.95。
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記ICAに基づく目的信号分離の処理における問題点としては、以下が挙げられる。
【0005】
まず、信号源から送出される信号同士の統計的な独立性を利用するが、実環境では信号の伝達特性・背景ノイズ等によりその統計量を精度よく推定することが困難であり、それによって、分離精度が劣化する。
【0006】
また、拡散性の信号源は、それを一信号源と見なすことが困難であることより、分離が非常に困難となる。
【0007】
上記の問題に対し、上記特許文献1においては、ICAの計算過程で拡散性の信号源の影響を除去する手法が提案されている。この手法においては、ICAの計算過程において周波数毎に計算されるコスト関数の大きさによって音源分離処理の精度を予測し、音源分離処理の精度が低い周波数ではフィルタの応答を小さくする処理を行う(以下、SBE(Sub-Band Eliminate)と記す)。SBEでは周波数毎に音源分離処理の精度が閾値を超えているか否かの判定処理を行うため、一般的な周波数領域ICAと比較して、計算量が大きくなる。
【0008】
本発明の目的は、この点を改良し、一般的な周波数領域ICAに適用するSBEと比較してわずかな計算量増加で済み、拡散性の雑音を除去できる音声入力装置を提供することである。
【課題を解決するための手段】
【0009】
上記の、複数の音響センサからそれぞれの音信号を取得し、取得した複数の音信号のみを用いて、その音信号から目的とする音声信号を分離するフィルタを学習によって得る独立成分解析法を実行する音声入力装置において、音響周波数帯域を複数の周波数分割帯域に分割し、該学習の繰り返し過程において、該学習によって得られる該フィルタの目的音声分離性能を評価する識別レベルを該周波数分割帯域ごとに算出し、該識別レベルに基づいて、該周波数分割帯域の中から該学習を実行する周波数分割帯域を決定することを特徴とする音声入力装置を構成する。
【発明の効果】
【0010】
本発明の実施により、学習成果の上がらない周波数分割帯域における学習の実行回数を減らし、一般的な周波数領域ICAに適用するSBEと比較してわずかな計算量増加で済み、拡散性の雑音を除去できる音声入力装置を提供することが可能となる。
【発明を実施するための最良の形態】
【0011】
以下に、本発明に係る音声入力装置が特徴とする、フィルタを得るための学習方法を、ICAの一例に適用した場合を説明する。
【0012】
例えば、信号源として、音信号をK個のマイク(センサ)で音を受信することに加え、各音源から到来する、音信号同士が統計的に独立であることを利用することでマイクと同じK個もしくはK個以下の音源を分離することができる。当初、ICAを用いた音源分離法は、各音源からの到来音の時間差が考慮されていなかったため、マイクアレーに適用することは困難であった。しかし近年では、時間差を考慮し、マイクアレーを用いて複数の音信号を観測し、周波数領域にて混合過程の逆変換を求める手法が多数提案されている。
【0013】
一般に、L個の複数音源から到来する音信号が線形に混合されてK個のマイクにて観測されている場合、観測された音信号は、ある周波数fにおいて以下のように書くことができる。
【0014】
X(f) = A(f)S(f) (1)
ここで、S(f)は各音源から送出される音信号ベクトル、X(f)は受音点であるマイクアレーで観測された観測信号ベクトル、A(f)は各音源と受音点との空間的な音響系に関する混合行列であり、それぞれ以下のように書くことができる。
【0015】
S(f) = [S1(f),...,SL(f)]T (2)
X(f) = [X1(f),...,XL(f)]T (3)
【0016】
【数1】
ここで上添字Tはベクトルの転置を表す。このとき、混合行列A(f)が既知であれば、受音点での観測信号ベクトルX(f)を用いて、
S(f) = A(f)−X(f) (5)
(ただし、A(f)−は行列A(f)の一般逆行列を表す)のようにA(f)の一般逆行列A(f)−を計算することで音源から送出される音信号S(f)を計算することができる。しかし一般にA(f)は未知であり、X(f)だけを利用することで音信号S(f)を求めなければならない。
【0017】
この問題を解くためには、音信号S(f)が確率的に発生し、更に、S(f)の各成分が全て互いに独立であると仮定する。このとき観測信号X(f)は混合された信号であるためX(f)の各成分の分布は独立ではない。そこで、観測信号 に含まれる独立な成分をICAによって探索することを考える。すなわち、観測信号X(f)を独立な成分に変換する行列W(f)(以下、逆混合行列)を計算し、観測信号X(f)に逆混合行列W(f)を適用(行列乗算)することで、音源から送出される音信号S(f)に対して近似的な信号を求める。
【0018】
ICAによる混合過程の逆変換を求める処理には時間領域で分析する手法と、周波数領域で分析する手法が提案されている。ここでは周波数領域で計算する手法を例にして説明する。
【0019】
図1を用いて、本発明に係る音声入力装置が特徴とする、フィルタを得るための学習方法を説明する。図に示すように、目的音声と非目的音とが混在する音響を複数の音響センサであるマイクロフォン10-1〜10-nを検知する(検知過程20)。検知過程20によって得られた目的音声信号と非目的音信号とが混在する複数の音響信号は、帯域分割過程30において複数の周波数分割帯域に分割され、フィルタを学習の繰り返しによって取得するフィルタ学習過程40に投入される。本発明に係る音声入力装置が特徴とする、フィルタを得るための学習方法においては、該学習の繰り返し過程において、繰り返しの途中におけるフィルタの目的音声分離性能を評価する識別レベルを評価過程50において周波数分割帯域ごとに算出し、算出された識別レベルに基づいて、周波数分割帯域の中から学習を実行する周波数分割帯域を決定過程60において決定する。その決定結果はフィルタ学習過程40にフィードバックされ、その決定結果に従った学習が実行される。識別レベルとその算出法の実例については後述する。
【0020】
最初に、各マイクロフォンにて観測された信号を適切な直交変換を用いて短時間フレーム分析を行う。このとき、1つのマイクロフォン入力における、特定の周波数ビンでの複素スペクトル値をプロットすることにより、それを時系列として考える。ここで、周波数ビンとは、たとえば、短時間離散フーリエ変換によって周波数変換された信号ベクトルにおける個別の複素成分を示す。同様に、他のマイクロフォン入力に対しても同じ操作を行う。ここで得られた、時間‐周波数信号系列は、
X(f,t) = [X1(f,t),...,XK(f,t)]T (6)
と記述できる。次に、逆混合行列W(f)を用いて信号分離を行う。この処理は以下のように示される。
【0021】
Y(f,t) = [Y1(f,t),...,YL(f,t)]T = W(f)X(f,t) (7)
ここで、逆混合行列W(f)は、L個の時系列の出力Y(f,t)が互いに独立になるように最適化される。これらの処理を全ての周波数ビンについて行う。最後に、分離した時系列Y(f,t)に逆直交変換を適用して、音源信号時間波形の再構成を行う。
【0022】
独立性の評価および逆混合行列の最適化方法としては、Kullback-Leibler divergenceの最小化に基づく教師無し学習アルゴリズムや、2次または高次の相関を無相関化するアルゴリズムが提案されている(上記非特許文献1参照)。
【0023】
なお、ICAは音信号処理だけではなく、例えば、移動体通信などで話が混線して到達した信号を、其々に分離する、或いは脳の内部の各所で生ずる信号を脳電計や脳磁計、fMRI(Functional Magnetic Resonance Imaging;磁気共鳴機能画像)などを用いて外部から測定した場合に、測定信号の中から目的の信号を分離抽出すること等に用いられている(上記非特許文献2参照)。
【0024】
以下では、本発明に係る音声入力装置が特徴とする、フィルタを得るための学習方法における識別レベルとその算出法の実例について説明する。
【0025】
ICAを用いても信号の分離が困難である周波数帯域においては、数十回の学習を経ても識別レベルすなわち分離精度(例えばコサイン距離)の値が改善しない場合が多い。このような帯域における学習のための演算は冗長であるため、識別レベルすなわち分離精度の変化が少ない帯域を検出して、周波数領域ICAの計算を終了すればよい。
【0026】
以下では、周波数領域ICAの計算終了の判断を行う判定関数を導入する。
【0027】
はじめに、各マイクロフォンにて集音され短時間フレーム分析された時間‐周波数信号系列をX(f,t) = [X1(f,t),...,XK(f,t)]Tと記述する。次に、ICAによって最適化された逆混合行列W(f)を用いて信号分離を行う。この処理は上記式(7)のように示される。ここで、Y(f,t)は音源分離が為された分離信号である。このとき、W(f)はL行K列のマトリクスであり、複数の音響信号から目的音声信号を分離するフィルタの減衰特性を表している。
【0028】
複数の音響信号から目的音声信号を分離するフィルタの分離精度の変化が少ない帯域の検出方法としては、ICAによる学習終了後に、フィルタの目的音声分離性能を評価する識別レベルとして、分離信号間の独立性を評価するコスト関数を定義し、このコスト関数の変化率に基づいて分離精度の変化が少ない帯域の決定を行う。本コスト関数については、例えば、分離信号間の高次相関値やコサイン距離などを使用すればよい。特にコサイン距離は演算量も少なく効率的である。以下では、2音源のコサイン距離に基づくコスト関数を示す。
【0029】
【数2】
ここで、記号〈
〉tは局所時間区間、たとえば、時刻t-200msから時刻tまでの時間区間において時間に関する平均をとることを表し、記号*は複素共役を表す。式(8)の右辺は、二つの分離信号Y1(f,t)、Y2(f,t)のその局所時間区間における相関係数を表し、これがこの場合の識別レベルとなっている。式(8)の左辺のtは、上記のt、すなわち、局所時間区間の上端(時間が左から右に流れるとしたときの右端)を表していて、右辺におけるtとは意味が異なる。
【0030】
実際の応用に際しては、短時間フレーム分析における時間切り出し位置などに上記の識別レベルの値は左右されるため、周波数間において著しい不連続を生じることがある。そのようなコスト関数の周波数間不連続現象例を図9中の変化の激しい線で示す。これを回避するため、一例として、式(8)のコスト関数を、ある周波数帯域幅で移動平均をとることによって得られる平滑化されたコスト関数すなわち平滑化識別レベルを使用することが考えられる。これは以下で書くことができる(図9変化が少ない実線参照)。
【0031】
【数3】
ここでBは平滑化幅を与えるパラメタである。すなわち、この場合の平滑化は、局所周波数区間において平均しておこなわれる。この平滑化されたコスト関数JS(f,t)は、分離された信号が独立なものであれば値は小さくなり、非独立なものであれば値は大きくなる。また、その最大値は1である。
【0032】
更に、該コスト関数の変化率ΔJを利用することにより、分離精度が向上しない帯域を検出することができる。このΔJは、請求項1に記載の識別レベル間の変化率に該当する。例えば、時刻t、一つの周波数分割帯域における変化率ΔJS(f,t)は、時刻tにおける該周波数分割帯域のコスト関数JS(f,t)および、m>0として、時刻t-mにおける該コスト関数JS(f,t-m)を用いて、
ΔJS(f,t) = ‖JS(f,t)−JS(f,t-m)‖ (10)
で表現することができる。式(10)の右辺は、二つの平滑化識別レベル間の差ベクトルJS(f,t)−JS(f,t-m)のノルム、たとえば、JS(f,t)−JS(f,t-m)の2乗をこの周波数分割帯域において周波数に関して平均したものである。式(10)の左辺におけるfはこの周波数分割帯域を表示するための周波数、たとえば、この周波数分割帯域の中心周波数であり、右辺におけるfとは意味が異なる。
【0033】
このとき、判定関数B(f)は、
【0034】
【数4】
と与えることができる。ただし、JTは判定のために予め設定された閾値である。B(f)=1ならば、fで表示される周波数分割帯域における学習計算を行い、B(f)=0ならば、その学習計算を行わないと決定する。
【0035】
式(11)により、事前に音源に関する情報を用いることなく、分離精度の向上の可能性がある帯域の自動検出が可能となる。なお、ΔJS(f,t)はJS(f,t)のようにスムージングをすることで複数の帯域の影響を考慮しても、また、JS(f,t)に代えて、J(f,t)をそのまま用いても良い。
【0036】
以上の説明は、2音源の場合についての説明であったが、音源の個数が3以上になった場合にも、各音源間について、上記の手法を適用することによって、本発明の効果が得られる。
【0037】
以下に、本発明の構成を、実施の形態例によって説明する。
【0038】
(実施の形態1)
図1は第1の実施の形態におけるフィルタ更新処理過程のブロック図である。図中、10-1〜10-nは、目的音声と非目的音とが混在する音響を検知し、目的音声信号と非目的音信号とが混在する複数の音響信号として出力する複数の音響センサであるマイクロフォンであり、20は、マイクロフォン10-1〜10-nの出力である音響信号を検知して離散信号に変換する検知過程であり、30は、その離散信号を周波数に分解し、かつ、周波数分割帯域に分割する帯域分割過程である。信号を周波数に分解する変換は、FFTが一般的であるが、ウェーブレット、Z変換など、直交変換系であればいずれでもよい。
【0039】
フィルタ学習過程40は、周波数分割帯域に分割された複数の音響信号から少なくとも一つの該目的音声信号を分離するフィルタを学習の繰り返しによって取得する過程である。この過程としては、周波数ごとに学習する手法であればいずれでも良いが、本実施形態では周波数領域ICAを用いる。
【0040】
評価過程50は、フィルタ学習過程40で取得されたフィルタの、目的音声分離性能を評価する識別レベルを周波数分割帯域ごとに算出する過程である。決定過程60は、評価過程50において算出された識別レベルに基づいて、学習計算を行う周波数分割帯域を決定する過程であり、その決定結果はフィルタ学習過程40にフィードバックされる。なお、評価過程50と決定過程60とは、フィルタ学習過程40における学習の繰り返しの度に実行される必要は無い。例えば、学習10回に1回動作しても良いし、学習開始時には毎回動作し、大半の周波数分割帯域の学習が終了した場合は、10回に1回の動作でも良い。
【0041】
学習計算を行う周波数分割帯域を決定する具体的な方法としては、たとえば、時刻tに計算された識別レベルと、m>0として、時刻t-mに計算された識別レベルとの間の変化率が予め設定された閾値を超えない周波数分割帯域においては、時刻t以降学習の繰り返しにおける学習計算を行わないと決定する方法がある。このとき、時刻tに計算された識別レベルと時刻t-mに計算された識別レベルとの間の変化率が予め設定された閾値よりも大きい周波数分割帯域においては、時刻t以降学習計算を行う周波数分割帯域の決定が改めて行われる場合には時刻tから該決定が行われるまでの間、学習の繰り返しにおける学習計算を行うと決定され、時刻t以降学習計算を行う周波数分割帯域の決定が行われずに学習の繰り返し過程が終了する場合には時刻tから該終了時まで学習の繰り返しにおける学習計算を行うと決定される。
【0042】
学習終了後、フィルタ学習過程40において取得されたフィルタは、図2における減衰過程45の内容として用いられる。
【0043】
上記のようにして、周波数分割帯域ごとの適応学習において、無駄な計算を省くことにより、フィルタ学習時における計算量を削減することができる。
【0044】
上記の識別レベルとして、たとえば、式(8)で示されるJ(f,t)を用いることができ、識別レベル間の変化率としては、たとえば、式(10)で示されるΔJS(f,t)を用いることができる。
【0045】
図2はフィルタ処理過程のブロック図である。マイクロフォン10-1〜10-nの出力である、目的音声信号と非目的音信号とが混在する音響信号は、検知過程20において離散信号に変換され、フィルタ学習過程40で取得されたフィルタを内容とする減衰過程45を経て、目的音声信号(信号R100)として出力される。減衰過程45は、入力された音響信号から目的音声信号を抽出するか、または、非目的音信号を抑圧する。
【0046】
図3はフィルタ更新システムのブロック図である。マイクロフォン110-1〜110-nとしては、一般的なマイクロフォンが使用できる。検知手段120は、図5におけるフィルタ(アンチエリアシングフィルタ)220、AD変換器230、演算装置240に対応し、CPU、MPU、DSP、FPGAなど、一般的な動作回路を組合わせて構成される。帯域分割手段130は図5における演算装置240および記憶装置250に対応する。フィルタ学習手段140は図5における演算装置240および記憶装置250に対応する。評価手段150は図5における演算装置240および記憶装置250に対応する。決定手段160は図5における演算装置240および記憶装置250に対応する。
【0047】
図4はフィルタ処理システムのブロック図である。マイクロフォン110-1〜110-nおよび検知手段120は、図3に示したものと同じである。減衰手段145は図5における演算装置240および記憶装置250に対応する。記憶手段170は、図5における記憶装置250に対応し、キャッシュメモリ、メインメモリ、HDD、CD、MD、DVD、光ディスク、FDDなど、一般的な記憶媒体などによって構成されている。
【0048】
図5はシステム構成の一例を示すブロック図である。マイクロフォン210-1〜210-nの出力である音響信号はフィルタ220を経てAD変換器230に入力され、AD変換された後、演算装置240に入力され、演算処理される。フィルタ220は、上記音響信号に含まれるノイズを除去することに用いられる。
【0049】
図6はフィルタ学習手順のフロー図である。S100〜S170は個々のステップを表す。
【0050】
S100でシステムの初期化、メモリへの読込作業を行う。
【0051】
S110で音入力を検知する。検知したらS120へ進む。
【0052】
S120で、入力信号の帯域分割処理を行う。周波数ビンごとの帯域幅は固定でも可変でも良い。
【0053】
S130で、フィルタの学習、更新作業を行う。例えば、周波数領域ICAを用いる。
【0054】
S150で、時刻tの音源分離精度すなわち識別レベルJtを計算し、更に、Jtと時刻t-m(m>0)の識別レベルJt-mとの間の変化率ΔJを計算する。時刻tの識別レベルJtは保存しておく。
【0055】
S160で、更新フラグの判定を行いフラグを設定する。すなわち、ΔJ≦閾値となったら、その分割帯域のフラグをオフにする。
【0056】
S170で、更新フラグをチェックする。すべての更新フラグがOFFであれば学習終了、ONのフラグがあればS140へ戻る。
【0057】
学習が終了したら、完成したフィルタを図2の減衰過程45のフィルタにする。
【0058】
図7はフィルタ学習手順のフロー図(S150、S160の内容)である。
【0059】
S151で、時刻tにおける識別レベルJt(例えば2音源以上の信号のコサイン距離)を計算する。
【0060】
S152で、分割帯域ωにおける時刻t-m(m>0)と時刻tの識別レベルJt-mから識別レベルの変化率ΔJを計算する。
【0061】
S161で、分割帯域ωにおいてΔJ≦閾値となったらS163へ進み、ならない場合はS162へ進む。
【0062】
S162で、分割帯域ωを更新し、S164へ進む。
【0063】
S163で、更新フラグをOFFにする。
【0064】
S164で、分割帯域ωが存在しない場合はこのフローを終了し、存在する場合はS152へ戻る。
【0065】
上記のフローにおいて、時刻tに計算された識別レベルJtと時刻t-mに計算された識別レベルJt-mとの間の変化率ΔJが予め設定された閾値を超えない周波数分割帯域においては、時刻t以降学習の繰り返しにおける学習計算を行わないと決定される。
【0066】
さらに、上記のフローにおいて、時刻tに計算された識別レベルJtと、時刻t-mに計算された識別レベルJt-mとの間の変化率ΔJが予め設定された閾値よりも大きい周波数分割帯域においては、時刻t以降学習計算を行う周波数分割帯域の決定が改めて行われる場合には時刻tから該決定が行われるまでの間学習の繰り返しにおける学習計算を行うと決定され、時刻t以降学習計算を行う周波数分割帯域の決定が行われずに学習の繰り返し過程が終了する場合には時刻tから該終了時まで学習の繰り返しにおける学習計算を行うと決定される。
【0067】
図8は入力信号に対するフィルタ処理手順のフロー図である。
【0068】
S100で、システムの初期化、メモリへフィルタの読み込み作業を行う。
【0069】
S110で、音入力を検知する。検知したらS180へ進む。
【0070】
S180で、入力信号に対しフィルタ処理を行い、結果である目的音声信号を送出する。
【0071】
図9は識別レベルの一例であるコスト関数の計算結果例(コサイン距離)を示す図である。図の横軸は周波数、縦軸はコスト関数(例えばコサイン距離)である。変化の激しい線(点線)がコスト関数の計算値、他の線(実線)がコスト関数の計算値をスムージング(平滑化)した後の値である。数10回〜数100回の学習を経て得られる。コスト関数の値が1に近いほど分離がうまくいかない可能性が高い。例えば100Hz未満または3500Hz以上の周波数分割帯域ではコスト関数の値が高いため分離精度の低下が予測される。初期値はすべての周波数分割帯域において1に近い値を示し、学習を経るに従い、コスト関数の値が低下していく。
【0072】
図10はコスト関数と学習回数の関係の概念図である。横軸は周波数、縦軸はコスト関数(例えばコサイン距離)である。L110は周波数領域ICAを10回学習した場合のコスト関数の値、L120は周波数領域ICAを20回学習した場合のコスト関数の値を概念的に示したものである。1kHz付近はL110からL120への変化率が大きく、100Hzzおよび3kHz付近はL110からL120への変化率が小さい。
【0073】
図11は、ΔJが閾値JTを超えない場合に学習を終了したときのコスト関数Jの変移に関する概念図である。L210(破線)は10回学習したときの周波数毎のJの値であり、L220(点線)は20回学習したときの周波数毎のJの値であり、L230(実線)は30回学習したときの周波数毎のJの値である。L210からL220への変移の際の変化率ΔJ(20回)が閾値JTを超えない周波数分割帯域すなわちΔJ(20回)≦JTである周波数分割帯域(100Hz未満と3kHz以上)は20回で学習を終了し、以降は学習計算を行わない。L220からL230への変移の際の変化率ΔJ(30回)が閾値JTを超えない周波数分割帯域すなわちΔJ(30回)≦JTである周波数分割帯域(500Hz未満と2kHz以上)は学習を終了し、以降は学習計算を行わない。
【0074】
このように、本発明においては、学習効果の上がらない周波数分割帯域については、適宜、学習計算を行わないことを決定し、フィルタ学習時における計算量を削減することができる。
【0075】
(実施の形態2)
図1の評価過程50を実行する具体例としては、以下のような場合がある。
【0076】
(場合1)
学習の繰り返しの度に評価過程50を実行する。すなわち、学習の繰り返しの度に識別レベルを算出し、今回と前回の識別レベルの間の変化率を算出して評価を実行する。最も精密に学習帯域を決定できるが、計算量が多くなる。CPU速度が十分高くなれば実用的に実行可能である。
【0077】
(場合2)
評価過程50を、学習の繰り返しの10回に1回実行する。すなわち、学習の繰り返しの1回分の時間の長さをuとし、i=10uとしたときに、時刻tに実行された評価過程50は、時刻t+iに再び実行されるようにする。場合1に比べて、大幅に計算量を削減することができる。評価過程50を、学習の繰り返しの何回に1回実行するか、すなわち、iをuの何倍にするかは、環境と許容される計算量とを勘案して決定してよい。
【0078】
(場合3)
上記時間mを学習の繰り返しの5回分の長さ5uとする。m=uとすると、誤って学習効果がある周波数分割帯域の学習動作をとめてしまう場合もありうるが、時間mをこのように長くするとそのような誤りが少なくなる。すなわち、微小変化に対してロバストな(影響を受けにくい)計算が可能となる。
【0079】
(場合4)
学習停止時刻を数回後の学習タイミングに設定する。閾値JTの設定が不適切であると、学習の繰り返しが多数回行われてしまうことがある。これを防ぐために、学習の繰り返しのフロー中に学習停止時刻を設定する手順を挿入する。これにより、評価/決定に関する計算量が削減できる。最も単純には、学習の繰り返し回数が規定の値になったときに学習動作を終了することにすればよい。この場合には、図12に示したように、ステップS170に最大学習回数に到達したときに学習を終了することを含め、図13に示したように、学習を終了するための停止過程80を設ける。
【0080】
(場合5)
Jt、Jt-mの値として、学習の繰り返しの今回、1回目前、2回目前の値の合計または平均を採用する。このようにすることによって、微小変化に対してロバストな(影響を受けにくい)計算が可能となる。
【0081】
(場合6)
場合1〜4において、Jt、Jt-mとして式(9)で表されるJS(j,t)、JS(j,t-m)を用い、ΔJとして式(10)で表されるΔJS(j,t)を用いるか、または、Jt、Jt-mとして式(8)で表されるJ(j,t)、J(j,t-m)を用い、ΔJとして下式で表されるΔJ(j,t)を用いる。
【0082】
ΔJ(f,t) = ‖J(f,t)−J(f,t-m)‖ (12)
ここに、右辺の表式の意味は式(10)におけるものと同じである。
【0083】
(実施の形態3)
周波数分割帯域を複数のブロックに組分けし、学習の繰り返しにおける学習計算を行わないと決定された周波数分割帯域を含むブロックに属するすべての周波数分割帯域において、学習の繰り返しにおける学習計算を行わないと決定する。その一例を図14に示す。図において、周波数分割帯域(図示せず)はB1からB5までの5ブロックに組分けされ、周波数分割帯域数≧ブロック数である。B1およびB5は10回の学習で終了し、B2およびB4は20回の学習で終了し、B3は30回まで学習が進んでいる。このようなブロック分けによって、評価/決定に関する計算量を削減できる。
【図面の簡単な説明】
【0084】
【図1】本発明に係る音声入力装置におけるフィルタを得るための学習方法を説明する図である。
【図2】本発明に係る音声入力装置におけるフィルタ処理過程のブロック図である。
【図3】本発明に係る音声入力装置におけるフィルタ更新システムのブロック図である。
【図4】本発明に係る音声入力装置におけるフィルタ処理システムのブロック図である。
【図5】本発明に係る音声入力装置の一構成例を示す図である。
【図6】本発明に係る音声入力装置におけるフィルタ更新のフロー図である。
【図7】本発明に係る音声入力装置におけるフィルタ更新の詳細フロー図である。
【図8】本発明に係る音声入力装置におけるフィルタ処理のフロー図である。
【図9】音声入力装置におけるコスト関数の計算結果例を示す図である。
【図10】音声入力装置におけるコスト関数と学習回数の関係の概念図である。
【図11】本発明に係る音声入力装置におけるコスト関数と学習回数の関係の概念図である。
【図12】本発明に係る音声入力装置における、学習回数に制限を設けた場合のフィルタ更新のフロー図である。
【図13】本発明に係る音声入力装置における、学習回数に制限を設けた場合のフィルタを得るための学習方法を説明する図である。
【図14】本発明に係る音声入力装置における、ブロック分けを行った場合のコスト関数と学習回数の関係の概念図である。
【符号の説明】
【0085】
10-1〜10-n:マイクロフォン、20:検知過程、30:帯域分割過程、40:フィルタ学習過程、45:減衰過程、50:評価過程、60:決定過程、80:停止過程、110-1〜110-n:マイクロフォン、120:検知手段、130:帯域分割手段、140:フィルタ学習手段、145:減衰手段、150:評価手段、160:決定手段、170:記憶手段、210-1〜210-n:マイクロフォン、220:フィルタ、230:AD変換器、240:演算装置、250:記憶装置。
【技術分野】
【0001】
本発明は音声入力装置に関する。
【背景技術】
【0002】
近年、車室内における音声入力系は、音声認識による車載機器操作およびハンドフリー電話などに広く用いられている。これらの技術の実現を阻害する要因として、車室内における、音声入力使用者以外の音源からの音の存在があげられる。音声入力使用者からの音声を他の音源からの音から分離する方法として、複数の音響センサからそれぞれの音信号を取得し、取得した複数の音信号のみを用いて、その音信号から目的とする音声信号を分離するフィルタを学習によって得る方法として、独立成分解析法(Independent Component Analysis、以下ICAと記す)が開発されている。
【0003】
【特許文献1】特開2003−271166号公報
【非特許文献1】「アレー信号処理を用いたブラインド音源分離の基礎」Technical report of IEICE,EA2001-7。
【非特許文献2】「独立成分解析とは」Computer Today,pp.38-43,1998.9,No.87、「fMRI画像解析への応用」Computer Today,pp.60-67,2001.1 No.95。
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記ICAに基づく目的信号分離の処理における問題点としては、以下が挙げられる。
【0005】
まず、信号源から送出される信号同士の統計的な独立性を利用するが、実環境では信号の伝達特性・背景ノイズ等によりその統計量を精度よく推定することが困難であり、それによって、分離精度が劣化する。
【0006】
また、拡散性の信号源は、それを一信号源と見なすことが困難であることより、分離が非常に困難となる。
【0007】
上記の問題に対し、上記特許文献1においては、ICAの計算過程で拡散性の信号源の影響を除去する手法が提案されている。この手法においては、ICAの計算過程において周波数毎に計算されるコスト関数の大きさによって音源分離処理の精度を予測し、音源分離処理の精度が低い周波数ではフィルタの応答を小さくする処理を行う(以下、SBE(Sub-Band Eliminate)と記す)。SBEでは周波数毎に音源分離処理の精度が閾値を超えているか否かの判定処理を行うため、一般的な周波数領域ICAと比較して、計算量が大きくなる。
【0008】
本発明の目的は、この点を改良し、一般的な周波数領域ICAに適用するSBEと比較してわずかな計算量増加で済み、拡散性の雑音を除去できる音声入力装置を提供することである。
【課題を解決するための手段】
【0009】
上記の、複数の音響センサからそれぞれの音信号を取得し、取得した複数の音信号のみを用いて、その音信号から目的とする音声信号を分離するフィルタを学習によって得る独立成分解析法を実行する音声入力装置において、音響周波数帯域を複数の周波数分割帯域に分割し、該学習の繰り返し過程において、該学習によって得られる該フィルタの目的音声分離性能を評価する識別レベルを該周波数分割帯域ごとに算出し、該識別レベルに基づいて、該周波数分割帯域の中から該学習を実行する周波数分割帯域を決定することを特徴とする音声入力装置を構成する。
【発明の効果】
【0010】
本発明の実施により、学習成果の上がらない周波数分割帯域における学習の実行回数を減らし、一般的な周波数領域ICAに適用するSBEと比較してわずかな計算量増加で済み、拡散性の雑音を除去できる音声入力装置を提供することが可能となる。
【発明を実施するための最良の形態】
【0011】
以下に、本発明に係る音声入力装置が特徴とする、フィルタを得るための学習方法を、ICAの一例に適用した場合を説明する。
【0012】
例えば、信号源として、音信号をK個のマイク(センサ)で音を受信することに加え、各音源から到来する、音信号同士が統計的に独立であることを利用することでマイクと同じK個もしくはK個以下の音源を分離することができる。当初、ICAを用いた音源分離法は、各音源からの到来音の時間差が考慮されていなかったため、マイクアレーに適用することは困難であった。しかし近年では、時間差を考慮し、マイクアレーを用いて複数の音信号を観測し、周波数領域にて混合過程の逆変換を求める手法が多数提案されている。
【0013】
一般に、L個の複数音源から到来する音信号が線形に混合されてK個のマイクにて観測されている場合、観測された音信号は、ある周波数fにおいて以下のように書くことができる。
【0014】
X(f) = A(f)S(f) (1)
ここで、S(f)は各音源から送出される音信号ベクトル、X(f)は受音点であるマイクアレーで観測された観測信号ベクトル、A(f)は各音源と受音点との空間的な音響系に関する混合行列であり、それぞれ以下のように書くことができる。
【0015】
S(f) = [S1(f),...,SL(f)]T (2)
X(f) = [X1(f),...,XL(f)]T (3)
【0016】
【数1】
ここで上添字Tはベクトルの転置を表す。このとき、混合行列A(f)が既知であれば、受音点での観測信号ベクトルX(f)を用いて、
S(f) = A(f)−X(f) (5)
(ただし、A(f)−は行列A(f)の一般逆行列を表す)のようにA(f)の一般逆行列A(f)−を計算することで音源から送出される音信号S(f)を計算することができる。しかし一般にA(f)は未知であり、X(f)だけを利用することで音信号S(f)を求めなければならない。
【0017】
この問題を解くためには、音信号S(f)が確率的に発生し、更に、S(f)の各成分が全て互いに独立であると仮定する。このとき観測信号X(f)は混合された信号であるためX(f)の各成分の分布は独立ではない。そこで、観測信号 に含まれる独立な成分をICAによって探索することを考える。すなわち、観測信号X(f)を独立な成分に変換する行列W(f)(以下、逆混合行列)を計算し、観測信号X(f)に逆混合行列W(f)を適用(行列乗算)することで、音源から送出される音信号S(f)に対して近似的な信号を求める。
【0018】
ICAによる混合過程の逆変換を求める処理には時間領域で分析する手法と、周波数領域で分析する手法が提案されている。ここでは周波数領域で計算する手法を例にして説明する。
【0019】
図1を用いて、本発明に係る音声入力装置が特徴とする、フィルタを得るための学習方法を説明する。図に示すように、目的音声と非目的音とが混在する音響を複数の音響センサであるマイクロフォン10-1〜10-nを検知する(検知過程20)。検知過程20によって得られた目的音声信号と非目的音信号とが混在する複数の音響信号は、帯域分割過程30において複数の周波数分割帯域に分割され、フィルタを学習の繰り返しによって取得するフィルタ学習過程40に投入される。本発明に係る音声入力装置が特徴とする、フィルタを得るための学習方法においては、該学習の繰り返し過程において、繰り返しの途中におけるフィルタの目的音声分離性能を評価する識別レベルを評価過程50において周波数分割帯域ごとに算出し、算出された識別レベルに基づいて、周波数分割帯域の中から学習を実行する周波数分割帯域を決定過程60において決定する。その決定結果はフィルタ学習過程40にフィードバックされ、その決定結果に従った学習が実行される。識別レベルとその算出法の実例については後述する。
【0020】
最初に、各マイクロフォンにて観測された信号を適切な直交変換を用いて短時間フレーム分析を行う。このとき、1つのマイクロフォン入力における、特定の周波数ビンでの複素スペクトル値をプロットすることにより、それを時系列として考える。ここで、周波数ビンとは、たとえば、短時間離散フーリエ変換によって周波数変換された信号ベクトルにおける個別の複素成分を示す。同様に、他のマイクロフォン入力に対しても同じ操作を行う。ここで得られた、時間‐周波数信号系列は、
X(f,t) = [X1(f,t),...,XK(f,t)]T (6)
と記述できる。次に、逆混合行列W(f)を用いて信号分離を行う。この処理は以下のように示される。
【0021】
Y(f,t) = [Y1(f,t),...,YL(f,t)]T = W(f)X(f,t) (7)
ここで、逆混合行列W(f)は、L個の時系列の出力Y(f,t)が互いに独立になるように最適化される。これらの処理を全ての周波数ビンについて行う。最後に、分離した時系列Y(f,t)に逆直交変換を適用して、音源信号時間波形の再構成を行う。
【0022】
独立性の評価および逆混合行列の最適化方法としては、Kullback-Leibler divergenceの最小化に基づく教師無し学習アルゴリズムや、2次または高次の相関を無相関化するアルゴリズムが提案されている(上記非特許文献1参照)。
【0023】
なお、ICAは音信号処理だけではなく、例えば、移動体通信などで話が混線して到達した信号を、其々に分離する、或いは脳の内部の各所で生ずる信号を脳電計や脳磁計、fMRI(Functional Magnetic Resonance Imaging;磁気共鳴機能画像)などを用いて外部から測定した場合に、測定信号の中から目的の信号を分離抽出すること等に用いられている(上記非特許文献2参照)。
【0024】
以下では、本発明に係る音声入力装置が特徴とする、フィルタを得るための学習方法における識別レベルとその算出法の実例について説明する。
【0025】
ICAを用いても信号の分離が困難である周波数帯域においては、数十回の学習を経ても識別レベルすなわち分離精度(例えばコサイン距離)の値が改善しない場合が多い。このような帯域における学習のための演算は冗長であるため、識別レベルすなわち分離精度の変化が少ない帯域を検出して、周波数領域ICAの計算を終了すればよい。
【0026】
以下では、周波数領域ICAの計算終了の判断を行う判定関数を導入する。
【0027】
はじめに、各マイクロフォンにて集音され短時間フレーム分析された時間‐周波数信号系列をX(f,t) = [X1(f,t),...,XK(f,t)]Tと記述する。次に、ICAによって最適化された逆混合行列W(f)を用いて信号分離を行う。この処理は上記式(7)のように示される。ここで、Y(f,t)は音源分離が為された分離信号である。このとき、W(f)はL行K列のマトリクスであり、複数の音響信号から目的音声信号を分離するフィルタの減衰特性を表している。
【0028】
複数の音響信号から目的音声信号を分離するフィルタの分離精度の変化が少ない帯域の検出方法としては、ICAによる学習終了後に、フィルタの目的音声分離性能を評価する識別レベルとして、分離信号間の独立性を評価するコスト関数を定義し、このコスト関数の変化率に基づいて分離精度の変化が少ない帯域の決定を行う。本コスト関数については、例えば、分離信号間の高次相関値やコサイン距離などを使用すればよい。特にコサイン距離は演算量も少なく効率的である。以下では、2音源のコサイン距離に基づくコスト関数を示す。
【0029】
【数2】
ここで、記号〈
〉tは局所時間区間、たとえば、時刻t-200msから時刻tまでの時間区間において時間に関する平均をとることを表し、記号*は複素共役を表す。式(8)の右辺は、二つの分離信号Y1(f,t)、Y2(f,t)のその局所時間区間における相関係数を表し、これがこの場合の識別レベルとなっている。式(8)の左辺のtは、上記のt、すなわち、局所時間区間の上端(時間が左から右に流れるとしたときの右端)を表していて、右辺におけるtとは意味が異なる。
【0030】
実際の応用に際しては、短時間フレーム分析における時間切り出し位置などに上記の識別レベルの値は左右されるため、周波数間において著しい不連続を生じることがある。そのようなコスト関数の周波数間不連続現象例を図9中の変化の激しい線で示す。これを回避するため、一例として、式(8)のコスト関数を、ある周波数帯域幅で移動平均をとることによって得られる平滑化されたコスト関数すなわち平滑化識別レベルを使用することが考えられる。これは以下で書くことができる(図9変化が少ない実線参照)。
【0031】
【数3】
ここでBは平滑化幅を与えるパラメタである。すなわち、この場合の平滑化は、局所周波数区間において平均しておこなわれる。この平滑化されたコスト関数JS(f,t)は、分離された信号が独立なものであれば値は小さくなり、非独立なものであれば値は大きくなる。また、その最大値は1である。
【0032】
更に、該コスト関数の変化率ΔJを利用することにより、分離精度が向上しない帯域を検出することができる。このΔJは、請求項1に記載の識別レベル間の変化率に該当する。例えば、時刻t、一つの周波数分割帯域における変化率ΔJS(f,t)は、時刻tにおける該周波数分割帯域のコスト関数JS(f,t)および、m>0として、時刻t-mにおける該コスト関数JS(f,t-m)を用いて、
ΔJS(f,t) = ‖JS(f,t)−JS(f,t-m)‖ (10)
で表現することができる。式(10)の右辺は、二つの平滑化識別レベル間の差ベクトルJS(f,t)−JS(f,t-m)のノルム、たとえば、JS(f,t)−JS(f,t-m)の2乗をこの周波数分割帯域において周波数に関して平均したものである。式(10)の左辺におけるfはこの周波数分割帯域を表示するための周波数、たとえば、この周波数分割帯域の中心周波数であり、右辺におけるfとは意味が異なる。
【0033】
このとき、判定関数B(f)は、
【0034】
【数4】
と与えることができる。ただし、JTは判定のために予め設定された閾値である。B(f)=1ならば、fで表示される周波数分割帯域における学習計算を行い、B(f)=0ならば、その学習計算を行わないと決定する。
【0035】
式(11)により、事前に音源に関する情報を用いることなく、分離精度の向上の可能性がある帯域の自動検出が可能となる。なお、ΔJS(f,t)はJS(f,t)のようにスムージングをすることで複数の帯域の影響を考慮しても、また、JS(f,t)に代えて、J(f,t)をそのまま用いても良い。
【0036】
以上の説明は、2音源の場合についての説明であったが、音源の個数が3以上になった場合にも、各音源間について、上記の手法を適用することによって、本発明の効果が得られる。
【0037】
以下に、本発明の構成を、実施の形態例によって説明する。
【0038】
(実施の形態1)
図1は第1の実施の形態におけるフィルタ更新処理過程のブロック図である。図中、10-1〜10-nは、目的音声と非目的音とが混在する音響を検知し、目的音声信号と非目的音信号とが混在する複数の音響信号として出力する複数の音響センサであるマイクロフォンであり、20は、マイクロフォン10-1〜10-nの出力である音響信号を検知して離散信号に変換する検知過程であり、30は、その離散信号を周波数に分解し、かつ、周波数分割帯域に分割する帯域分割過程である。信号を周波数に分解する変換は、FFTが一般的であるが、ウェーブレット、Z変換など、直交変換系であればいずれでもよい。
【0039】
フィルタ学習過程40は、周波数分割帯域に分割された複数の音響信号から少なくとも一つの該目的音声信号を分離するフィルタを学習の繰り返しによって取得する過程である。この過程としては、周波数ごとに学習する手法であればいずれでも良いが、本実施形態では周波数領域ICAを用いる。
【0040】
評価過程50は、フィルタ学習過程40で取得されたフィルタの、目的音声分離性能を評価する識別レベルを周波数分割帯域ごとに算出する過程である。決定過程60は、評価過程50において算出された識別レベルに基づいて、学習計算を行う周波数分割帯域を決定する過程であり、その決定結果はフィルタ学習過程40にフィードバックされる。なお、評価過程50と決定過程60とは、フィルタ学習過程40における学習の繰り返しの度に実行される必要は無い。例えば、学習10回に1回動作しても良いし、学習開始時には毎回動作し、大半の周波数分割帯域の学習が終了した場合は、10回に1回の動作でも良い。
【0041】
学習計算を行う周波数分割帯域を決定する具体的な方法としては、たとえば、時刻tに計算された識別レベルと、m>0として、時刻t-mに計算された識別レベルとの間の変化率が予め設定された閾値を超えない周波数分割帯域においては、時刻t以降学習の繰り返しにおける学習計算を行わないと決定する方法がある。このとき、時刻tに計算された識別レベルと時刻t-mに計算された識別レベルとの間の変化率が予め設定された閾値よりも大きい周波数分割帯域においては、時刻t以降学習計算を行う周波数分割帯域の決定が改めて行われる場合には時刻tから該決定が行われるまでの間、学習の繰り返しにおける学習計算を行うと決定され、時刻t以降学習計算を行う周波数分割帯域の決定が行われずに学習の繰り返し過程が終了する場合には時刻tから該終了時まで学習の繰り返しにおける学習計算を行うと決定される。
【0042】
学習終了後、フィルタ学習過程40において取得されたフィルタは、図2における減衰過程45の内容として用いられる。
【0043】
上記のようにして、周波数分割帯域ごとの適応学習において、無駄な計算を省くことにより、フィルタ学習時における計算量を削減することができる。
【0044】
上記の識別レベルとして、たとえば、式(8)で示されるJ(f,t)を用いることができ、識別レベル間の変化率としては、たとえば、式(10)で示されるΔJS(f,t)を用いることができる。
【0045】
図2はフィルタ処理過程のブロック図である。マイクロフォン10-1〜10-nの出力である、目的音声信号と非目的音信号とが混在する音響信号は、検知過程20において離散信号に変換され、フィルタ学習過程40で取得されたフィルタを内容とする減衰過程45を経て、目的音声信号(信号R100)として出力される。減衰過程45は、入力された音響信号から目的音声信号を抽出するか、または、非目的音信号を抑圧する。
【0046】
図3はフィルタ更新システムのブロック図である。マイクロフォン110-1〜110-nとしては、一般的なマイクロフォンが使用できる。検知手段120は、図5におけるフィルタ(アンチエリアシングフィルタ)220、AD変換器230、演算装置240に対応し、CPU、MPU、DSP、FPGAなど、一般的な動作回路を組合わせて構成される。帯域分割手段130は図5における演算装置240および記憶装置250に対応する。フィルタ学習手段140は図5における演算装置240および記憶装置250に対応する。評価手段150は図5における演算装置240および記憶装置250に対応する。決定手段160は図5における演算装置240および記憶装置250に対応する。
【0047】
図4はフィルタ処理システムのブロック図である。マイクロフォン110-1〜110-nおよび検知手段120は、図3に示したものと同じである。減衰手段145は図5における演算装置240および記憶装置250に対応する。記憶手段170は、図5における記憶装置250に対応し、キャッシュメモリ、メインメモリ、HDD、CD、MD、DVD、光ディスク、FDDなど、一般的な記憶媒体などによって構成されている。
【0048】
図5はシステム構成の一例を示すブロック図である。マイクロフォン210-1〜210-nの出力である音響信号はフィルタ220を経てAD変換器230に入力され、AD変換された後、演算装置240に入力され、演算処理される。フィルタ220は、上記音響信号に含まれるノイズを除去することに用いられる。
【0049】
図6はフィルタ学習手順のフロー図である。S100〜S170は個々のステップを表す。
【0050】
S100でシステムの初期化、メモリへの読込作業を行う。
【0051】
S110で音入力を検知する。検知したらS120へ進む。
【0052】
S120で、入力信号の帯域分割処理を行う。周波数ビンごとの帯域幅は固定でも可変でも良い。
【0053】
S130で、フィルタの学習、更新作業を行う。例えば、周波数領域ICAを用いる。
【0054】
S150で、時刻tの音源分離精度すなわち識別レベルJtを計算し、更に、Jtと時刻t-m(m>0)の識別レベルJt-mとの間の変化率ΔJを計算する。時刻tの識別レベルJtは保存しておく。
【0055】
S160で、更新フラグの判定を行いフラグを設定する。すなわち、ΔJ≦閾値となったら、その分割帯域のフラグをオフにする。
【0056】
S170で、更新フラグをチェックする。すべての更新フラグがOFFであれば学習終了、ONのフラグがあればS140へ戻る。
【0057】
学習が終了したら、完成したフィルタを図2の減衰過程45のフィルタにする。
【0058】
図7はフィルタ学習手順のフロー図(S150、S160の内容)である。
【0059】
S151で、時刻tにおける識別レベルJt(例えば2音源以上の信号のコサイン距離)を計算する。
【0060】
S152で、分割帯域ωにおける時刻t-m(m>0)と時刻tの識別レベルJt-mから識別レベルの変化率ΔJを計算する。
【0061】
S161で、分割帯域ωにおいてΔJ≦閾値となったらS163へ進み、ならない場合はS162へ進む。
【0062】
S162で、分割帯域ωを更新し、S164へ進む。
【0063】
S163で、更新フラグをOFFにする。
【0064】
S164で、分割帯域ωが存在しない場合はこのフローを終了し、存在する場合はS152へ戻る。
【0065】
上記のフローにおいて、時刻tに計算された識別レベルJtと時刻t-mに計算された識別レベルJt-mとの間の変化率ΔJが予め設定された閾値を超えない周波数分割帯域においては、時刻t以降学習の繰り返しにおける学習計算を行わないと決定される。
【0066】
さらに、上記のフローにおいて、時刻tに計算された識別レベルJtと、時刻t-mに計算された識別レベルJt-mとの間の変化率ΔJが予め設定された閾値よりも大きい周波数分割帯域においては、時刻t以降学習計算を行う周波数分割帯域の決定が改めて行われる場合には時刻tから該決定が行われるまでの間学習の繰り返しにおける学習計算を行うと決定され、時刻t以降学習計算を行う周波数分割帯域の決定が行われずに学習の繰り返し過程が終了する場合には時刻tから該終了時まで学習の繰り返しにおける学習計算を行うと決定される。
【0067】
図8は入力信号に対するフィルタ処理手順のフロー図である。
【0068】
S100で、システムの初期化、メモリへフィルタの読み込み作業を行う。
【0069】
S110で、音入力を検知する。検知したらS180へ進む。
【0070】
S180で、入力信号に対しフィルタ処理を行い、結果である目的音声信号を送出する。
【0071】
図9は識別レベルの一例であるコスト関数の計算結果例(コサイン距離)を示す図である。図の横軸は周波数、縦軸はコスト関数(例えばコサイン距離)である。変化の激しい線(点線)がコスト関数の計算値、他の線(実線)がコスト関数の計算値をスムージング(平滑化)した後の値である。数10回〜数100回の学習を経て得られる。コスト関数の値が1に近いほど分離がうまくいかない可能性が高い。例えば100Hz未満または3500Hz以上の周波数分割帯域ではコスト関数の値が高いため分離精度の低下が予測される。初期値はすべての周波数分割帯域において1に近い値を示し、学習を経るに従い、コスト関数の値が低下していく。
【0072】
図10はコスト関数と学習回数の関係の概念図である。横軸は周波数、縦軸はコスト関数(例えばコサイン距離)である。L110は周波数領域ICAを10回学習した場合のコスト関数の値、L120は周波数領域ICAを20回学習した場合のコスト関数の値を概念的に示したものである。1kHz付近はL110からL120への変化率が大きく、100Hzzおよび3kHz付近はL110からL120への変化率が小さい。
【0073】
図11は、ΔJが閾値JTを超えない場合に学習を終了したときのコスト関数Jの変移に関する概念図である。L210(破線)は10回学習したときの周波数毎のJの値であり、L220(点線)は20回学習したときの周波数毎のJの値であり、L230(実線)は30回学習したときの周波数毎のJの値である。L210からL220への変移の際の変化率ΔJ(20回)が閾値JTを超えない周波数分割帯域すなわちΔJ(20回)≦JTである周波数分割帯域(100Hz未満と3kHz以上)は20回で学習を終了し、以降は学習計算を行わない。L220からL230への変移の際の変化率ΔJ(30回)が閾値JTを超えない周波数分割帯域すなわちΔJ(30回)≦JTである周波数分割帯域(500Hz未満と2kHz以上)は学習を終了し、以降は学習計算を行わない。
【0074】
このように、本発明においては、学習効果の上がらない周波数分割帯域については、適宜、学習計算を行わないことを決定し、フィルタ学習時における計算量を削減することができる。
【0075】
(実施の形態2)
図1の評価過程50を実行する具体例としては、以下のような場合がある。
【0076】
(場合1)
学習の繰り返しの度に評価過程50を実行する。すなわち、学習の繰り返しの度に識別レベルを算出し、今回と前回の識別レベルの間の変化率を算出して評価を実行する。最も精密に学習帯域を決定できるが、計算量が多くなる。CPU速度が十分高くなれば実用的に実行可能である。
【0077】
(場合2)
評価過程50を、学習の繰り返しの10回に1回実行する。すなわち、学習の繰り返しの1回分の時間の長さをuとし、i=10uとしたときに、時刻tに実行された評価過程50は、時刻t+iに再び実行されるようにする。場合1に比べて、大幅に計算量を削減することができる。評価過程50を、学習の繰り返しの何回に1回実行するか、すなわち、iをuの何倍にするかは、環境と許容される計算量とを勘案して決定してよい。
【0078】
(場合3)
上記時間mを学習の繰り返しの5回分の長さ5uとする。m=uとすると、誤って学習効果がある周波数分割帯域の学習動作をとめてしまう場合もありうるが、時間mをこのように長くするとそのような誤りが少なくなる。すなわち、微小変化に対してロバストな(影響を受けにくい)計算が可能となる。
【0079】
(場合4)
学習停止時刻を数回後の学習タイミングに設定する。閾値JTの設定が不適切であると、学習の繰り返しが多数回行われてしまうことがある。これを防ぐために、学習の繰り返しのフロー中に学習停止時刻を設定する手順を挿入する。これにより、評価/決定に関する計算量が削減できる。最も単純には、学習の繰り返し回数が規定の値になったときに学習動作を終了することにすればよい。この場合には、図12に示したように、ステップS170に最大学習回数に到達したときに学習を終了することを含め、図13に示したように、学習を終了するための停止過程80を設ける。
【0080】
(場合5)
Jt、Jt-mの値として、学習の繰り返しの今回、1回目前、2回目前の値の合計または平均を採用する。このようにすることによって、微小変化に対してロバストな(影響を受けにくい)計算が可能となる。
【0081】
(場合6)
場合1〜4において、Jt、Jt-mとして式(9)で表されるJS(j,t)、JS(j,t-m)を用い、ΔJとして式(10)で表されるΔJS(j,t)を用いるか、または、Jt、Jt-mとして式(8)で表されるJ(j,t)、J(j,t-m)を用い、ΔJとして下式で表されるΔJ(j,t)を用いる。
【0082】
ΔJ(f,t) = ‖J(f,t)−J(f,t-m)‖ (12)
ここに、右辺の表式の意味は式(10)におけるものと同じである。
【0083】
(実施の形態3)
周波数分割帯域を複数のブロックに組分けし、学習の繰り返しにおける学習計算を行わないと決定された周波数分割帯域を含むブロックに属するすべての周波数分割帯域において、学習の繰り返しにおける学習計算を行わないと決定する。その一例を図14に示す。図において、周波数分割帯域(図示せず)はB1からB5までの5ブロックに組分けされ、周波数分割帯域数≧ブロック数である。B1およびB5は10回の学習で終了し、B2およびB4は20回の学習で終了し、B3は30回まで学習が進んでいる。このようなブロック分けによって、評価/決定に関する計算量を削減できる。
【図面の簡単な説明】
【0084】
【図1】本発明に係る音声入力装置におけるフィルタを得るための学習方法を説明する図である。
【図2】本発明に係る音声入力装置におけるフィルタ処理過程のブロック図である。
【図3】本発明に係る音声入力装置におけるフィルタ更新システムのブロック図である。
【図4】本発明に係る音声入力装置におけるフィルタ処理システムのブロック図である。
【図5】本発明に係る音声入力装置の一構成例を示す図である。
【図6】本発明に係る音声入力装置におけるフィルタ更新のフロー図である。
【図7】本発明に係る音声入力装置におけるフィルタ更新の詳細フロー図である。
【図8】本発明に係る音声入力装置におけるフィルタ処理のフロー図である。
【図9】音声入力装置におけるコスト関数の計算結果例を示す図である。
【図10】音声入力装置におけるコスト関数と学習回数の関係の概念図である。
【図11】本発明に係る音声入力装置におけるコスト関数と学習回数の関係の概念図である。
【図12】本発明に係る音声入力装置における、学習回数に制限を設けた場合のフィルタ更新のフロー図である。
【図13】本発明に係る音声入力装置における、学習回数に制限を設けた場合のフィルタを得るための学習方法を説明する図である。
【図14】本発明に係る音声入力装置における、ブロック分けを行った場合のコスト関数と学習回数の関係の概念図である。
【符号の説明】
【0085】
10-1〜10-n:マイクロフォン、20:検知過程、30:帯域分割過程、40:フィルタ学習過程、45:減衰過程、50:評価過程、60:決定過程、80:停止過程、110-1〜110-n:マイクロフォン、120:検知手段、130:帯域分割手段、140:フィルタ学習手段、145:減衰手段、150:評価手段、160:決定手段、170:記憶手段、210-1〜210-n:マイクロフォン、220:フィルタ、230:AD変換器、240:演算装置、250:記憶装置。
【特許請求の範囲】
【請求項1】
目的音声と非目的音とが混在する音響を複数の音響センサで検知することによって目的音声信号と非目的音信号とが混在する複数の音響信号を取得し、該複数の音響信号から少なくとも一つの該目的音声信号を分離するフィルタを学習の繰り返しによって取得する独立成分解析法を実行する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割し、該学習の過程において、該学習によって得られる該フィルタの目的音声分離性能を評価する識別レベルを該周波数分割帯域ごとに算出し、該識別レベルに基づいて該周波数分割帯域の中から学習計算を行う周波数分割帯域を決定することを特徴とする音声入力装置。
【請求項2】
前記学習計算を行う周波数分割帯域を決定する過程において、時刻tに計算された前記識別レベルと、m>0として、時刻t-mに計算された前記識別レベルとの間の変化率が予め設定された閾値を超えない周波数分割帯域においては、時刻t以降前記学習の繰り返しにおける学習計算を行わないと決定することを特徴とする請求項1に記載の音声入力装置。
【請求項3】
時刻tに実行された前記学習計算を行う周波数分割帯域の決定は、i>0として、時刻t+iに再び実行されることを特徴とする請求項1または2に記載の音声入力装置。
【請求項4】
前記学習計算を行う周波数分割帯域を決定する過程において、時刻tに計算された前記識別レベルと、m>0として、時刻t-mに計算された識別レベルとの間の変化率が予め設定された閾値よりも大きい周波数分割帯域においては、時刻t以降前記学習計算を行う周波数分割帯域の決定が改めて行われる場合には時刻tから該決定が行われるまでの間前記学習の繰り返しにおける学習計算を行うと決定し、時刻t以降前記学習計算を行う周波数分割帯域の決定が行われずに前記学習の繰り返し過程が終了する場合には時刻tから該終了時まで前記学習の繰り返しにおける学習計算を行うと決定することを特徴とする請求項1、2または3に記載の音声入力装置。
【請求項5】
前記学習の繰り返し回数が規定の値になったときに学習動作を終了することを特徴とする請求項1ないし4のいずれかに記載の音声入力装置。
【請求項6】
前記識別レベルは、前記複数の音響信号に前記フィルタによるフィルタ処理を施して得られる分離信号二つの間の局所時間区間における相関係数であり、前記識別レベル二つの間の変化率は、該二つの識別レベル間の差ベクトルのノルムであることを特徴とする請求項1ないし5のいずれかに記載の音声入力装置。
【請求項7】
前記識別レベルは、前記複数の音響信号に前記フィルタによるフィルタ処理を施して得られる分離信号二つの間の局所時間区間における相関係数であり、前記識別レベル二つの間の変化率は、該二つの識別レベルをそれぞれ局所周波数区間において平均して二つの平滑化識別レベルとし、該二つの平滑化識別レベル間の差ベクトルのノルムであることを特徴とする請求項1ないし5のいずれかに記載の音声入力装置。
【請求項8】
前記周波数分割帯域を複数のブロックに組分けし、前記学習の繰り返しにおける学習計算を行わないと決定された周波数分割帯域を含むブロックに属するすべての周波数分割帯域において、前記学習の繰り返しにおける学習計算を行わないと決定することを特徴とする請求項1、2または3に記載の音声入力装置。
【請求項1】
目的音声と非目的音とが混在する音響を複数の音響センサで検知することによって目的音声信号と非目的音信号とが混在する複数の音響信号を取得し、該複数の音響信号から少なくとも一つの該目的音声信号を分離するフィルタを学習の繰り返しによって取得する独立成分解析法を実行する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割し、該学習の過程において、該学習によって得られる該フィルタの目的音声分離性能を評価する識別レベルを該周波数分割帯域ごとに算出し、該識別レベルに基づいて該周波数分割帯域の中から学習計算を行う周波数分割帯域を決定することを特徴とする音声入力装置。
【請求項2】
前記学習計算を行う周波数分割帯域を決定する過程において、時刻tに計算された前記識別レベルと、m>0として、時刻t-mに計算された前記識別レベルとの間の変化率が予め設定された閾値を超えない周波数分割帯域においては、時刻t以降前記学習の繰り返しにおける学習計算を行わないと決定することを特徴とする請求項1に記載の音声入力装置。
【請求項3】
時刻tに実行された前記学習計算を行う周波数分割帯域の決定は、i>0として、時刻t+iに再び実行されることを特徴とする請求項1または2に記載の音声入力装置。
【請求項4】
前記学習計算を行う周波数分割帯域を決定する過程において、時刻tに計算された前記識別レベルと、m>0として、時刻t-mに計算された識別レベルとの間の変化率が予め設定された閾値よりも大きい周波数分割帯域においては、時刻t以降前記学習計算を行う周波数分割帯域の決定が改めて行われる場合には時刻tから該決定が行われるまでの間前記学習の繰り返しにおける学習計算を行うと決定し、時刻t以降前記学習計算を行う周波数分割帯域の決定が行われずに前記学習の繰り返し過程が終了する場合には時刻tから該終了時まで前記学習の繰り返しにおける学習計算を行うと決定することを特徴とする請求項1、2または3に記載の音声入力装置。
【請求項5】
前記学習の繰り返し回数が規定の値になったときに学習動作を終了することを特徴とする請求項1ないし4のいずれかに記載の音声入力装置。
【請求項6】
前記識別レベルは、前記複数の音響信号に前記フィルタによるフィルタ処理を施して得られる分離信号二つの間の局所時間区間における相関係数であり、前記識別レベル二つの間の変化率は、該二つの識別レベル間の差ベクトルのノルムであることを特徴とする請求項1ないし5のいずれかに記載の音声入力装置。
【請求項7】
前記識別レベルは、前記複数の音響信号に前記フィルタによるフィルタ処理を施して得られる分離信号二つの間の局所時間区間における相関係数であり、前記識別レベル二つの間の変化率は、該二つの識別レベルをそれぞれ局所周波数区間において平均して二つの平滑化識別レベルとし、該二つの平滑化識別レベル間の差ベクトルのノルムであることを特徴とする請求項1ないし5のいずれかに記載の音声入力装置。
【請求項8】
前記周波数分割帯域を複数のブロックに組分けし、前記学習の繰り返しにおける学習計算を行わないと決定された周波数分割帯域を含むブロックに属するすべての周波数分割帯域において、前記学習の繰り返しにおける学習計算を行わないと決定することを特徴とする請求項1、2または3に記載の音声入力装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2006−84898(P2006−84898A)
【公開日】平成18年3月30日(2006.3.30)
【国際特許分類】
【出願番号】特願2004−270772(P2004−270772)
【出願日】平成16年9月17日(2004.9.17)
【出願人】(000003997)日産自動車株式会社 (16,386)
【Fターム(参考)】
【公開日】平成18年3月30日(2006.3.30)
【国際特許分類】
【出願日】平成16年9月17日(2004.9.17)
【出願人】(000003997)日産自動車株式会社 (16,386)
【Fターム(参考)】
[ Back to top ]