音声入力装置
【課題】一般的な周波数領域ICAに適用するSBEと比較して少ない計算量で済み、拡散性の雑音を除去できる音声入力装置を提供すること。
【解決手段】目的音と非目的音とが混在する音響をマイクロフォン10-1〜10-nで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、該検知信号から少なくとも一つの該目的信号を分離する音声信号分離フィルタを学習の繰り返しによって取得する音声入力装置において、音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段103を有し、各周波数分割帯域における前記学習の反復回数を、それぞれの周波数分割帯域において検知信号に含まれる目的信号の強さに正比例するように決定する反復回数決定手段104を有することを特徴とする音声入力装置を構成する。
【解決手段】目的音と非目的音とが混在する音響をマイクロフォン10-1〜10-nで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、該検知信号から少なくとも一つの該目的信号を分離する音声信号分離フィルタを学習の繰り返しによって取得する音声入力装置において、音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段103を有し、各周波数分割帯域における前記学習の反復回数を、それぞれの周波数分割帯域において検知信号に含まれる目的信号の強さに正比例するように決定する反復回数決定手段104を有することを特徴とする音声入力装置を構成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は音声入力装置に関する。
【背景技術】
【0002】
近年、車室内における音声入力系は、音声認識による車載機器操作及びハンドフリー電話などに広く用いられている。これらの技術の実現を阻害する要因として、車室内における、音声入力使用者以外の音源からの音の存在があげられる。音声入力使用者からの音声を他の音源からの音から分離する方法として、複数の音響センサからそれぞれの音信号を取得し、取得した複数の音信号のみを用いて、その音信号から目的とする音信号を分離する手法はブラインド音源分離(BSS)と呼ばれる。そして信号を分離する分離フィルタを学習によって得る方法として、独立成分分析法(Independent Component Analysis、以下ICAと記す)が提案されている。
【0003】
【非特許文献1】N.Murata and S.Ikeda,"An on-line algorithm for blind source separation on speech signals",Proceeding of 1998 International Symposium on Nonlinear Theory and its Application((NOLTA'98),vol.3,pp.923-926,Sep.1998.
【非特許文献2】「アレー信号処理を用いたブラインド音源分離の基礎」Technical report of IEICE,EA2001-7。
【非特許文献3】「独立成分解析とは」Computer Today,pp.38-43,1998.9,No.87、「fMRI画像解析への応用」Computer Today,pp.60-67,2001.1 No.95。
【非特許文献4】S.Amari,A.Chichocki,and H.H.Yang,"A new learning algorithm for blind signal separation",In:D.S.Touretzky,M.C.Mozer and M.E.Hasselmoeds.,Advanced in Neural Information Processing System 8,pp.753-763,MIT Press,Cambridge MA,1996.
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記ICAに基づく音源分離手法を実環境にて用いる場合、観測信号の残響が問題となる。すなわち、音源から到来する信号には、その音源を観測する環境に起因する残響成分が畳み込まれることとなる。この場合、混合過程は畳み込み混合という複雑な問題となるため、分離フィルタを直接求めることは難しい。そこで、観測信号を周波数領域に変換し、各周波数帯域(周波数ビン)について、分離信号の独立性を最大化するように分離フィルタを学習生成する、周波数領域ICA(FDICA)が提案されている。この手法によれば、複雑な畳み込み混合問題を各周波数における瞬時混合問題として表現でき、残響のある実環境においても、分離フィルタを求めることが可能であることが示されている。(非特許文献1参照)
しかしながら、上記FDICAに基づく目的信号分離の処理における問題点としては、以下が挙げられる。
【0005】
すなわち、各周波数帯域毎にICAの処理を行うため、計算量が非常に大きくなる。
【0006】
また、拡散性の信号原は、それを一信号源とみなすことが困難であることより、学習を繰り返しても分離精度が上がらない、あるいは学習をつづけることで、分離フィルタが最適な状態から分離精度が低下した状態へと移行してしまう可能性がある。
【0007】
本発明の目的は、この点を改良し、一般的な周波数領域ICAと比較して少ない計算量で済み、目的信号と非目的信号が混合された観測信号から目的信号を抽出できる音声入力装置を提供することである。
【課題を解決するための手段】
【0008】
目的信号と非目的信号とが混在する検知信号から少なくとも一つの目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、各周波数分割帯域における学習の反復回数を、それぞれの周波数分割帯域において検知信号に含まれる目的信号の平均強さに正比例するように決定する反復回数決定手段とを有する音声入力装置を構成する。
【発明の効果】
【0009】
本発明の実施により、大きな学習効果が期待できない周波数帯域における学習の反復回数を減らして、一般的な周波数領域ICAと比較して少ない計算量で済み、目的信号と非目的信号が混合された観測信号から目的信号を抽出できる音声入力装置を提供することが可能となる。
【発明を実施するための最良の形態】
【0010】
以下に、本発明に係る音声入力装置が特徴とする、分離フィルタを得るための学習方法を、ICAの一例に適用した場合を説明する。
【0011】
例えば、信号源として、音信号をK個のマイクロフォン(センサ)で音を受信することに加え、各音源から到来する、音信号同士が統計的に独立であることを利用することでマイクロフォンと同じK個もしくはK個以下の音源を分離することができる。当初、ICAを用いた音源分離法は、各音源からの到来音の時間差が考慮されていなかったため、マイクロフォンアレーに適用することは困難であった。しかし近年では、時間差を考慮し、マイクロフォンアレーを用いて複数の音信号を観測し、周波数領域にて混合過程の逆変換を求める手法が多数提案されている。
【0012】
一般に、L個の複数音源から到来する音信号が線形に混合されてK個のマイクロフォンにて観測されている場合、観測された音信号は、ある周波数fにおいて以下のように書くことができる。
【0013】
X(f) = A(f)S(f) (1)
ここで、S(f)は各音源から送出される音信号ベクトル、X(f)は受音点であるマイクロフォンアレーで観測された観測信号ベクトル、A(f)は各音源と受音点との空間的な音響系に関する混合行列であり、それぞれ以下のように書くことができる。
【0014】
S(f) = [S1(f),...,SL(f)]T (2)
X(f) = [X1(f),...,XL(f)]T (3)
【0015】
【数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)を求めなければならない。
【0016】
この問題を解くためには、音信号S(f)が確率的に発生し、更に、S(f)の各成分が全て互いに独立であると仮定する。このとき観測信号X(f)は混合された信号であるためX(f)の各成分の分布は独立ではない。そこで、観測信号 に含まれる独立な成分をICAによって探索することを考える。すなわち、観測信号X(f)を独立な成分に変換する行列W(f)(以下、逆混合行列)を計算し、観測信号X(f)に逆混合行列W(f)を適用(行列乗算)することで、音源から送出される音信号S(f)に対して近似的な信号を求める。
【0017】
ICAによる混合過程の逆変換を求める処理には時間領域で分析する手法と、周波数領域で分析する手法が提案されている。ここでは周波数領域で計算する手法を例にして説明する。
【0018】
最初に、各マイクロフォンにて観測された信号を適切な直交変換を用いて短時間フレーム分析を行う。このとき、1つのマイクロフォン入力における、特定の周波数ビンでの複素スペクトル値をプロットすることにより、それを時系列として考える。ここで、周波数ビンとは、例えば、短時間離散フーリエ変換によって周波数変換された信号ベクトルにおける個別の複素成分を示す。同様に、他のマイクロフォン入力に対しても同じ操作を行う。ここで得られた、時間‐周波数信号系列は、
X(f,t) = [X1(f,t),...,XK(f,t)]T (6)
と記述できる。次に、逆混合行列W(f)を用いて信号分離を行う。この処理は以下のように示される。
【0019】
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)に逆直交変換を適用して、音源信号時間波形の再構成を行う。
【0020】
独立性の評価及び逆混合行列の最適化方法としては、Kullback-Leibler divergenceの最小化に基づく教師無し学習アルゴリズムや、2次または高次の相関を無相関化するアルゴリズムが提案されている(上記非特許文献2参照)。
【0021】
なお、ICAは音信号処理だけではなく、例えば、複数の画像の混合画像から各々の画像を分離抽出する、移動体通信などで話が混線して到達した信号を、其々に分離する、或いは脳の内部の各所で生ずる信号を脳電計や脳磁計、fMRI(Functional Magnetic Resonance Imaging;磁気共鳴機能画像)などを用いて外部から測定した場合に、測定信号の中から目的の信号を分離抽出することなどに用いられている(上記非特許文献3参照)。
【0022】
以下では、複数のマイクロフォンによる音源分離問題を例にとり、音源分離フィルタの学習アルゴリズムに周波数領域ICAを用いた場合の本発明の原理を説明する。
【0023】
ICAを用いても、拡散性の音源が存在する場合等、信号の分離が困難である周波数帯域がある場合においては、該帯域において数十回の学習を経ても分離精度(例えばコサイン距離)の値が改善しない場合が多い。このような帯域における学習のための演算をつづけると、分離フィルタの分離性能が最適な状態から分離精度を低下させる状態へと移行させてしまう場合がある。このような学習を避けるため、本発明では帯域ごとに学習速度を変化させることを提案する。
【0024】
はじめに、各マイクロフォンにて集音され短時間フレーム分析された時間‐周波数信号系列を、上式(6)と同じく、X(f,t) = [X1(f,t),...,XK(f,t)]Tと記述する。次に、ICAによって最適化された逆混合行列を用いて音源分離を行う。この処理は下式のように示される。
【0025】
Y(f,t) = [Y1(f,t),...,YL(f,t)]T = W(f)X(f,t) (7)(再記)
ここで、Y(f,t)はは音源分離が為された分離信号である。ここで、i+1回目に学習される逆混合行列(音源分離フィルタ)Wi+1(f)は、i回目に学習された逆混合行列Wi(f)から、下記式(8)によって計算することが、Amariらによって提案されている(上記非特許文献4)。
【0026】
Wi+1(f) =
η(diag(<Φ(Y(f,t))YH(f,t)>)-<Φ(Y(f,t))YH(f,t)>)Wi(f)+Wi(f) (8)
ここで、ηは更新係数、diag( )は対角行列、< >は時間に関する平均、Hはエルミート転置を表す。Φ( )は、一般に音声信号のような非ガウス性の振幅分布に従う信号を扱う場合にはsigmoid関数によって近似する手法が提案されている(上記非特許文献1、4参照)。
【0027】
本発明に係る音声入力装置においては、学習の反復回数の決定に際して、2つ以上の相異なる反復回数を決定し、大きな学習効果が期待できない周波数帯域における学習の反復回数を減らして、一般的な周波数領域ICAと比較して少ない計算量で同等の効果が得られるようにする。
【0028】
以下に、本発明の構成を、実施の形態例によって説明する。
【0029】
(第1実施形態)
本実施形態は本発明の基本的な構成を示したものであり、図1に示したように構成される。その動作は図3のフローチャートに示した通りである。この処理構成に従い、目的信号と非目的信号を分離する分離フィルタを学習し、得られた分離フィルタで目的信号の抽出を行う。なお、車室内という環境で本手法の適用を考える場合、目的信号は音声信号、非目的信号とは車両で発生する様々な雑音と捉えることができる。
【0030】
図1は第1の実施形態の基本構成を示したブロック図である。図中、101-1〜101-nは、目的音と非目的音とが混在する音響を検知し、目的信号と非目的信号とが混在する複数の検知信号として出力する複数の音響センサであるマイクロフォンであり、一般的なマイクロフォンによって実現され、図2におけるマイクロフォン201-1〜201-nに対応する。102は、マイクロフォン101-1〜101-nの出力である検知信号を検知して離散信号に変換する検知手段であり、図2におけるフィルタ(アンチエリアシングフィルタ)202、AD変換部203、演算装置204に対応する。103は離散信号に変換された検知信号(時間領域の信号系列)を周波数領域に変換し、更に、音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段であり、図2における演算装置204、記憶装置205に対応する。信号を周波数に分解するための変換としては、直交変換であればいずれを用いてもよい。また、周波数分割における帯域幅は、固定でも可変でもよい。
【0031】
104は、例えば図10における分析手段307によって分析された、周波数分割帯域ごとの目的信号と非目的信号との強さの情報に基づき、分離フィルタ計算手段105における学習の反復回数を周波数分割帯域ごとに決定する反復回数決定手段であり、図2における演算装置204、記憶装置205に対応する。反復回数決定は、より具体的には、目的信号(に類似した参照信号)と非目的信号との周波数ごとのスペクトルパワーの差(比)を導出し、目的信号エネルギーの小さい(S/Nが低い)帯域について、学習回数を小さく設定する。
【0032】
105は、反復回数決定手段104の決定した学習回数に基づき、分離フィルタの学習を行い、学習処理終了後の分離フィルタを更新後分離フィルタとしてフィルタ手段106へ上書きする分離フィルタ計算手段であり、図2における演算装置204、記憶装置205に対応する。分離フィルタ学習のアルゴリズムとしては、例えば周波数領域ICA(FDICA)を用いる。
【0033】
106は、保持している分離フィルタ(目的信号を分離するフィルタ)を検知信号に適用し、検知信号に含まれる目的信号を分離、抽出する分離フィルタ手段であり、図2における演算装置204、記憶装置205に対応する。
【0034】
図2は、本実施形態を実現するシステム構成の一例を示す図である。図においてマイクロフォン201-1〜201-nの出力である検知信号はフィルタ202を経てAD変換部203に入力され、AD変換された後、記憶装置205と連結した演算装置204に入力され、演算処理される。フィルタ202は、上記検知信号に含まれるノイズを除去することに用いられる。演算装置204は、CPU、MPU、DSP、FPGAなどと、一般的な動作回路を組み合わせることによって構成され、記憶装置205は、キャッシュメモリ、メインメモリ、HDD、CD、MD、DVD、光ディスク、FDDなど、一般的な記憶媒体によって構成される。
【0035】
本実施形態においては、周波数分割帯域ごとに検知信号を分析して、その信号から目的信号を抽出する(雑音混じりの音声から音声を抽出する)手法における、計算量削減方法が可能となる。全周波数帯域において、規定回数学習する従来手法に対し、目的信号と非目的信号(例えば雑音)の含まれる成分に関する情報に基づき学習回数を周波数分割帯域ごとに決定する。これによって、従来手法に比べて、計算量の削減が可能となる。すなわち、目的信号の帯域ごとの内容に関する情報を利用し、目的信号情報が少ない帯域では分離フィルタ過程の学習に費やす計算量を削減することで、分離フィルタ計算過程における計算量を削減できる。
【0036】
学習回数を周波数分割帯域ごとに決定する方法としては、それぞれの周波数分割帯域において、
(方法1)検知信号に含まれる目的信号の平均強さに正比例するように決定する、
(方法2)検知信号に含まれる非目的信号の平均強さに反比例するように決定する、
(方法3)検知信号に含まれる非目的信号の強さに対する目的信号の強さの比(目的信号の強さ/非目的信号の強さ)の周波数分割帯域ごとの平均値に正比例するように決定する、
(方法4)周波数分割帯域の任意の2つを帯域1、帯域2としたときに、帯域1における上記の比の平均値が帯域2における上記の比の平均値以上であれば必ず帯域1における学習の反復回数が帯域2における学習の反復回数よりも小とはならず、周波数分割帯域の2つ以上における学習の反復回数は相異なるように、各周波数分割帯域における前記学習の反復回数を決定する、
(方法5)予め個別に、周波数分割帯域の2つ以上における学習の反復回数は相異なるように決定された反復回数とする、などの方法がある。
【0037】
ここで、上記「平均」は、各周波数分割帯域における周波数についての平均を意味し、これは以下においても同じである。
【0038】
上記いずれの方法においても、目的信号情報が非目的信号(例えば雑音成分)と比べて少ない帯域では分離フィルタ過程の学習に費やす計算量を削減することで、分離フィルタ(目的信号を分離するフィルタ)の計算過程における計算量を削減できる。
【0039】
なお、(方法1)〜(方法4)の方法において、比例計算によって得られた回数の値は整数化する(丸めを行う)ものとする。また、(方法5)の方法においては、予め、それぞれの周波数分割帯域において、複数の学習回数を決定しておき、その中から、適宜、環境に適合する学習回数を選び出して用いてもよい。この場合に、反復回数を予め保持している記憶手段が音声入力装置に具備されていて、環境に適合する学習回数がその記憶手段から読みだされることが望ましい。なお、この(方法5)の方法においては、反復回数決定手段104が音声入力装置に具備されていなくてもよい。
【0040】
図3は、本実施形態の処理の流れを示したフローチャートである。図中、S101〜S116は各ステップを表す。このことは、図12、13、14、16、17においても同じである。
S101で、システムの初期化、メモリへの読込作業を行う。
S102で、音入力を検知する。検知したらS103へ進む。
S103で、検知信号(雑音の混合した音声信号)の帯域分割処理を行う。周波数ビンごとの帯域幅は固定でも可変でも良い。ここで周波数ビンの帯域幅をstep(ω)とする。
S104で、帯域ごとの反復回数Iter(ω)を取得する。決定方法は図5及び図6に示す。
S105で、更新フラグRenew(ω)をすべての帯域ωに対してTrueに初期化する。
S106で、更新回数フラグを0に初期化する(Iteration=0)。
S107で、帯域フラグを1に初期化する(ω=1)。
S108で、更新フラグRenew(ω)=TrueであればS109へ進み、FalseであればS110へ進む。
S109で、帯域ωについて、分離フィルタの計算を行う。分離フィルタの計算手法としては、周波数領域ICAなどを適用する。
S110で、帯域フラグを加算する(ω=ω+step(ω)、step(ω):周波数ビンの帯域幅)。
S111で、帯域フラグωの値が帯域の最大値Max(ω)に等しいときはS112へ進み、等しくないときはS108へもどる。帯域の最大値Max(ω)は例えばシステムのナイキスト周波数とする。
S112で、更新回数フラグを加算する(Iteration=Iteration+1)。
S113で、更新回数Iterationが、更新フラグRenew(ω)に等しいときはS114へ進み、等しくないときはS115へ進む。
S114で、帯域ωについて、更新フラグRenew(ω)=Falseとする。次回の更新よりこの帯域は更新処理が行われない。
S115で、全帯域ωについて、更新フラグ Renew(ω)=FalseならばS116へ進み、そうでない場合はS107へ戻る。
S116で、更新処理の結果生成された分離フィルタW(ω)を検知信号に適用して分離信号を得る。
【0041】
図1における反復回数決定手段104(図3中のステップS104)の反復回数決定手法としては、例えば音声信号と雑音成分の帯域ごとの信号対雑音比(S/N)を用いることができる。図4〜6にその原理と決定手法を示す。
【0042】
図4は、雑音成分と参照信号の比較を示した図である。この図は、予め取得した目的信号(音声信号)と非目的信号(車両雑音信号)の各周波数帯域におけるエネルギーを比較したものである。図中、(A)は目的信号(音声信号)と非目的信号(雑音信号)のパワースペクトルの一例を示している。点線が目的信号、実線が非目的信号である。(B)は(A)から信号対雑音比(S/N)(ここでは目的信号の強さ/非目的信号の強さ(単位はdB))を求めた結果である。この値をsnr(ω)と置く。ただし、ここでωは分割周波数帯域中の代表周波数周波数(周波数分割帯域が1Hzであれば周波数そのもの)あるいは該代表周波数のインデックスをあらわし、snr(ω)は分割周波数帯域中の各周波数でのS/N比の平均とする。
【0043】
この結果によれば、周波数帯によって、snr(ω)が高い帯域と低い帯域とがあることがわかる。例えば図4の例では、0〜500Hzの帯域(縦長点線楕円で囲った部分)、及び4000Hz以上の帯域(横長点線楕円で囲った部分)において、S/Nが低い。こうしたS/Nが低い帯域は信号全体に占める音声信号情報の比率が低く、音源分離処理においては、分離が困難な帯域といえる。したがって、学習を反復しても分離性能の向上は難しいため、あえて多くの学習をする必要は無いと考えられる。そこで、こうした帯域を選択して学習回数を減らすことで、同様の分離性能の分離フィルタをより少ない計算負荷で導出できる。
【0044】
図5は第1実施形態の反復回数の決定手法(その1)を示した図である。図5に示すように、snr(ω)に対し、所定の閾値Thを与え、snr(ω)がこの閾値Th以上である帯域(周波数分割帯域の1つ)ついては更新回数Iter(ω)としてIter(Hi)を与え、snr(ω)がこの閾値Thより小である帯域についてはIter(ω)としてIter(Lo)を与えることする。Iter(Hi)は更新回数の多い方の設定値、Iter(Lo)は少ないほうの設定値である。
【0045】
分離フィルタ計算手段は、この周波数分割帯域ごとの反復回数に基づき分離フィルタの学習を行う。ここで、分離フィルタの初期値としては、例えば所定の方位に死角を向けたビームフォーマなどとすることが好ましい。この分離フィルタを初期値として、周波数ごとに分離フィルタを学習する。なお、例えばIter(Lo)を0回に設定すれば、snr(ω)<Thとなる帯域は学習を行わず、初期値がそのまま最終的な分離フィルタに反映されることとなる。例えば周波数領域ICAでは、音声に対し雑音が極度に大きい帯域や、雑音も音声も微量しか観測できない帯域などにおいて、学習処理が適切に行えず、不安定な分離フィルタとなる可能性がある。こうした場合に、該帯域を学習しないように設定すれば、分離フィルタが不安定になる可能性を低くできる。この方法は上記(方法4)に含まれる。
【0046】
図6は第1実施形態の反復回数決定方法(その2)を示した図であり、図5に示した手法を拡張し、snr(ω)の値から帯域ごとの反復回数をより細分化して決定する手法を示している。図6下部の数式は具体的な反復回数の計算手法を示している。この数式において、*は乗算を表し、max(snr(ω))はsnr(ω)の最大値を表し、min(snr(ω))はsnr(ω)の最小値を表し、Iter(Max)は反復回数の最大値を表し、Iter(Min)は反復回数の最小値を表し、stepは反復回数のステップサイズ(10とすれば、10、20、30、のように更新回数が決まる)を表し、R(・)は最近傍整数への丸めを表している。すなわち、snr(ω)の最大値max(snr(ω))、最小値min(snr(ω))が、反復回数の最大値Iter(Max)、最小値Iter(Min)に対応し、この範囲内でエネルギー比snr(ω)(このsnr(ω)は、正確には、それぞれの周波数分割帯域におけるsnr(ω)の平均値を表している)に基づき反復回数が割り当てられる。例えば、最小反復回数10回、最大100回、ステップサイズ10とすれば、snr(ω)に応じて、10、20、30、…、100という反復回数が決定される。なお、snr(ω)がωの連続関数であるとすれば、中間値の定理によって、snr(ω)の周波数分割帯域における平均値=snr(ωm)を満足するωmがその周波数分割帯域に存在するので、式の右辺におけるsnr(ω)中のωがωmに等しいとすれば、右辺におけるωの値が確定したものとなる。また、式の左辺におけるωは、その周波数分割帯域におけるωの代表値を表しているので、そのωもωmに等しいとすれば、両辺のωが同一なものとなる。
【0047】
上記の反復回数の決定方法は上記(方法4)に含まれ、(方法3)を含んでいる。
【0048】
上述した実施形態では、目的信号と非目的信号との双方を用いてそのエネルギー比から反復回数を導出したが、エネルギーの差を用いても良いし、目的信号、非目的信号の何れかのみを用い、そのエネルギーの強さなどから反復回数を決定するようにしてもよい(上記(方法1)〜(方法5)参照)。
【0049】
また、上記説明では、予め取得した車室内の音声及び雑音を目的信号、非目的信号とし、事前にIter(ω)を決定し、これを適用する手法について説明したが、検知手段にて実際に検出される目的信号(実際には目的信号に近い観測信号、雑音の極めて少ない時に観測された音声等を指す)あるいは非目的信号を用いて、動的にIter(ω)を求めることも可能であり、この場合も上述と同様の反復回数決定手法を用いることができる。このうち、非目的信号として実際に検知された信号を用いる例については、第3実施形態で詳しく述べる。
【0050】
(第2実施形態)
本実施例は第1実施形態と基本的な構成を同じくする。すなわち、ブロック図は図1と同一であり、フローチャート図は図3は同一である。異なるのは、反復回数決定手法において、目的信号と非目的信号から適応的に生成したFIRフィルタ(下記音声帯域通過フィルタ)を反復回数決定用フィルタとして用いる点である。この部分について説明する。
【0051】
図7は、本実施形態における適応処理手段の基本的な構成を示した図である。適応処理は目的信号S1と入力信号(目的信号に非目的信号が混合した信号)X1を用いて、X1にフィルタH(ω)を適用した結果の出力信号Y1と目的信号S1との差である誤差信号eが小さくなるように、フィルタH(ω)を学習する処理である。適応処理の結果、入力信号に含まれる雑音成分が強い帯域ほど強く抑圧するようなフィルタが生成される。つまり、適応処理により生成されるフィルタの周波数応答が大きい帯域ほど音声が十分観測される帯域であり、周波数応答の小さい帯域程、雑音が強く音声が十分に観測できない帯域であると捉えることができる。よって、該フィルタの周波数応答を用いれば、学習しても分離性能が向上しない帯域を推定することができ、第1実施形態同様学習回数の削減が可能である。本実施形態では、この周波数応答に基づき、反復回数Iter(ω)を決定する。本実施形態では、フィルタの適応処理のために、予め取得した目的信号S1(音声信号)と非目的信号N1(雑音信号)を用いる。すなわち、目的信号をS1、入力信号X1をX1=S1+N1として適応処理を行う。
【0052】
図8は、本実施形態の適応処理手段によって生成したフィルタの周波数応答を示した図である。図の(A)は、適応処理に用いる目的信号と非目的信号のパワースペクトルの一例を示している。ここで、点線が目的信号、実線が非目的信号である。適応処理の結果得られるフィルタの一例を図8の(B)に示す。例えば、図8の例では、0〜500Hzの帯域(縦長点線楕円で囲った部分)、及び3000Hz以上の帯域(横長点線楕円で囲った部分)において、周波数応答が小さい。以降、このフィルタを、音声スペクトルの大きい帯域を保持し、雑音スペクトルの大きい帯域を抑圧する特徴を有することから、音声帯域通過フィルタと呼ぶ。生成された音声帯域通過フィルタの周波数応答をresp(ω)とする。ただし、ここでωは分割周波数帯域中の代表周波数周波数(周波数分割帯域が1Hzであれば周波数そのもの)あるいは該代表周波数のインデックスをあらわし、resp(ω)は分割周波数帯域中の各周波数での音声帯域通フィルタの周波数応答の平均とする。このresp(ω)を用いて反復回数を決定する。
【0053】
図9にresp(ω)を用いた反復回数の決定手法の一例を示す。この手法では、周波数応答の最大値max(resp(ω))、最小値min(resp(ω))をそれぞれ反復回数の最大値Iter(Max)、最小値Iter(Min)に対応させ、その間については、周波数応答の強さに応じて、反復回数が決定される。この場合の計算手法は、図下部の式で示したように、第1実施形態に示した計算手法(図6)と同様である。すなわち、図9下部の数式において、*は乗算を表し、max(resp(ω))はresp(ω)の最大値を表し、min(resp(ω))はresp(ω)の最小値を表し、Iter(Max)は反復回数の最大値を表し、Iter(Min)は反復回数の最小値を表し、stepは反復回数のステップサイズ(10とすれば、10、20、30、のように更新回数が決まる)を表し、R(・)は最近傍整数への丸めを表している。すなわち、resp(ω)の最大値max(resp(ω))、最小値min(resp(ω))が、反復回数の最大値Iter(Max)、最小値Iter(Min)に対応し、この範囲内で音声帯域通フィルタの周波数応答resp(ω)に基づき反復回数が割り当てられる。例えば、最小反復回数10回、最大100回、ステップサイズ10とすれば、resp(ω)に応じて、10、20、30、…、100という反復回数が決定される。なお、resp(ω)がωの連続関数であるとすれば、中間値の定理によって、resp(ω)の周波数分割帯域における平均値=resp(ωm)を満足するωmがその周波数分割帯域に存在するので、式の右辺におけるresp(ω)中のωがωmに等しいとすれば、右辺におけるωの値が確定したものとなる。また、式の左辺におけるωは、その周波数分割帯域におけるωの代表値を表しているので、そのωもωmに等しいとすれば、両辺のωが同一なものとなる。
【0054】
上記の反復回数の決定方法は、各該周波数分割帯域における学習の反復回数を、それぞれの周波数分割帯域において音声帯域通過フィルタの通過率の平均値に正比例するように決定する方法を含んでいる。
【0055】
上記の方法を一般化して、周波数分割帯域の任意の2つを帯域1、帯域2としたときに、帯域1におけるresp(ω)の平均値が帯域2におけるresp(ω)の平均値以上であれば必ず帯域1における学習の反復回数が帯域2における学習の反復回数よりも小とはならず、周波数分割帯域の2つ以上における学習の反復回数は相異なるように、各周波数分割帯域における前記学習の反復回数を決定する方法を用いてもよい。
【0056】
また、上記説明では予め車室内にて得られる目的信号(実際には目的信号に近い観測信号、雑音の極めて少ない時に観測された音声等を指す)と非目的信号を用いて、事前にIter(ω)を決定し、これを適用する手法について説明したが、検知手段にて実際に検出される目的信号あるいは非目的信号を用いて、動的にIter(ω)を求めることも可能であり、この場合も上述と同様の反復回数決定手法を用いることができる。このうち、非目的信号として実際に検知された信号を用いる例について、第3実施形態で詳しく述べる。
【0057】
(第3実施形態)
第3実施形態として、第1及び第2実施形態の基本構成を用い、特に車両内での音声入力方法として具体化した一実施形態について説明する。
【0058】
図10は、第3実施形態の基本構成を示したブロック図である。この基本構成は、保持する分離フィルタを用いた音源分離処理と、音環境の変化に応じて分離フィルタを更新する更新処理と、更に音声を高S/Nで検出したときにこれを収録する処理との3系統から構成される。
【0059】
図10中、301-1〜301-nは、目的音と非目的音とが混在する音響を検知し、目的信号と非目的信号とが混在する複数の検知信号として出力する複数の音響センサであるマイクロフォンであり、一般的なマイクロフォンによって実現され、図11におけるマイクロフォン401-1〜401-nに対応する。302は、マイクロフォン301-1〜301-nの出力である検知信号を検知して離散信号に変換する検知手段であり、図11におけるフィルタ(アンチエリアシングフィルタ)402、AD変換部403、演算装置404に対応する。
【0060】
303は図11における情報収集部406に対応するスイッチ手段であり、車両に配置されている各種スイッチの情報を取り入れる。空調機スイッチ、窓開閉スイッチ、ワイパースイッチ、PTT(Push to Talk)スイッチなどで実現され、スイッチ情報に変化が生じた場合に、音環境の変化として検出し、分離フィルタの更新処理を行う。すなわち帯域分割手段以降の処理を開始する。
【0061】
304は図11における情報収集部406に対応するセンサ手段であり、車両に配置されている各種センサの情報を取り入れる。速度センサ、エンジン回転数センサ、着座センサ、車室内カメラなどで実現される。センサ手段304の取得する情報に変化が生じた場合に、それを音環境の変化として検出し、分離フィルタの更新処理を行う。スイッチ手段303、センサ手段304からの情報の変化を「音環境の変化」として捉え、分離フィルタの更新処理を行う。例えば、空調機の強さが変化した、速度が上がったなどの情報を音環境の変化として捉える。
【0062】
305は図11における演算装置404及び記憶装置405に対応する判断手段であり、音環境変化及び音声信号の有無について監視、判断を行う。ここで、音環境とは、検知信号(観測された検知信号)を構成する目的信号(音声)と非目的信号(雑音)のスペクトル、パワースペクトルなどの特徴のことである。音環境判断及び音声信号有無の判断のために、上記各種スイッチ手段、センサ手段の情報、あるいは検知信号のスペクトルなどを用いることができる。判断は以下の3通りである。
1:音環境(目的信号、非目的信号の特徴)に変化無し。そのときは、現在保持する分離フィルタ(逆混合フィルタ)をそのまま保持し続ける。この状態で、音声が入力された場合は、保持する分離フィルタを用いて観測信号から音声を抽出する。
2:音環境に変化あり。こにときは、フィルタの更新を行う。現在の観測信号を用いて、帯域分割、分析、反復過程決定を行い、決定された学習回数に基づき分離フィルタを再学習、更新する。
3:高S/N音声が検出されたとき:アイドリング中など、非目的信号(雑音)が目的信号(音声)に対して十分無視できるほど小さい環境において、目的信号(音声)が検出された場合に、該信号を参照信号として収録し、記憶手段へ記憶する。
【0063】
306は図11における演算装置404及び記憶装置405に対応する帯域分割手段であり、検知手段302によって離散信号に変換された検知信号(時間領域の信号系列)を周波数領域に変換し、更に、音響周波数帯域を複数の周波数分割帯域に分割する。分解するための変換としては、直交変換であればいずれを用いてもよい。
【0064】
307は図11における演算装置404及び記憶装置405に対応する分析手段であり、検知信号(観測信号)を周波数ごとに分析し、含まれる目的信号と非目的信号である不要信号それぞれの強さを比較する。ただし、目的信号は記憶手段308に事前に記憶する音声信号とし、非目的信号は音声が検出されていないときの検知信号とする。分析対象としては、第1、第2実施形態のように、帯域ごとのS/Nや、適応処理により生成した分離フィルタの周波数応答などとする。
【0065】
演算装置404は、CPU、MPU、DSP、FPGAなどと、一般的な動作回路を組み合わせることによって構成される。
【0066】
記憶装置405は、キャッシュメモリ、メインメモリ、HDD、CD、MD、DVD、光ディスク、FDDなど、一般的な記憶媒体を用いて構成される。
【0067】
308は図11における演算装置404及び記憶装置405に対応する記憶手段であり、目的信号を記憶する。高S/N音声(極低雑音環境下で取得された音声)が収録された場合にこれを記憶する。初期値としては、例えば複数の人の音声を重ね合わせた信号である会話音声類似雑音(Human Speech Like Noise、HSLN、梶田将司・小林 大祐・武田一哉・板倉文忠、「ヒューマンスピーチライク雑音に含まれる音声的特徴の分析、日本音響学会誌,vol.53,No.5,pp.337-345,1997参照))などが好ましい。高S/N音声が収録された場合に、初期値として記憶された信号を置き換える、あるいは上記初期値信号に加算するなどとする。これにより、目的信号が、実際の使用者の音声に近いものとなる。
【0068】
309は図11における演算装置404及び記憶装置405に対応する反復回数決定手段であり、分析手段307において分析した結果(目的信号と非目的信号のS/Nや該信号を用いて適応生成した分離フィルタの周波数応答)に基づき、学習処理における反復回数を決定する。決定手法としては第1、第2実施形態に示した手法などを用いる。
【0069】
310は図11における演算装置404及び記憶装置405に対応するフィルタ計算手段であり、反復回数決定手段309の決定した学習回数に基づき、分離フィルタの学習を行う。学習処理終了後のフィルタを更新後分離フィルタとしてフィルタ手段311へ上書きする。分離フィルタ学習のアルゴリズムとしては、例えば周波数ICAを用いる。
【0070】
311は図11における演算装置404及び記憶装置405に対応するフィルタ手段であり、保持している分離フィルタを検知信号(雑音の混合された音声信号)に適用し、検知信号に含まれる目的信号(音声信号)を抽出し、出力信号として出力する。
【0071】
図11は、本実施形態を実現するシステム構成の一例を示した図であり、情報収集部406以外は、図2に示した構成と同様の構成を示している。
【0072】
本実施形態では、非目的信号として実際に検知手段により検知された信号を用いる。非目的信号は車両の走行条件などにより変化するものと考えられるため、この変化に適応して反復回数を動的決定する。また、目的信号も話者の交代などにより変化することが考えられるため、使用者の音声が高S/N環境下で検出されたときにはこれを目的信号として蓄積する機構も備えた。
【0073】
更に本実施形態では、処理負荷の高い分離フィルタ更新処理を削減するために、分離フィルタの更新処理と分離フィルタを用いた音源分離処理を別系統の処理とし、分離フィルタ更新処理は音環境の変化が検出されたときだけおこなう構成とする。
【0074】
本実施形態は、第1実施形態の構成に、車両に配置された各種スイッチ手段と、各種センサ手段と、検知信号、スイッチ情報、センサ情報に基づき音環境の変化の有無を判断する判断手段と、該検知信号から現在の目的信号及び非目的信号の情報量を推定する分析手段と、記憶手段と音声区間検出手段を加えた構成となっている。
【0075】
また、本実施形態においては、目的信号と非目的信号を同時間に独立して取得することは困難であるため、(目的信号と非目的信号が混合された信号が観測される状況において、目的信号を抽出する方法が本発明の主旨であるため)非目的信号を雑音のみが存在する時の検知信号、目的信号を、非目的信号のエネルギーが低いときに発話された話者の音声信号として別時刻にそれぞれ取得する構成とし、これらの信号を用いて現在の目的信号及び非目的信号の情報量を推定する。
【0076】
尚、音声信号の有無は、検知信号のスペクトルの分析結果や、PTT(Push to Talk)スイッチなどのスイッチ手段、車室内カメラなどのセンサ手段を用いて検出できる。また音環境の変化は、話者の交代による目的信号の周波数特徴の変化、及び車両の速度、空調機レベルに基づく非目的信号の変化に相当するが、これについても、検知信号のスペクトル分析結果や、車室内の各種スイッチ手段の情報、車両の各所に配置されたセンサ手段などの情報を用いて検出することができる。
【0077】
本処理の全体の流れを図12に、音環境を判断する処理について図13に示し、分離フィルタ更新処理について図14に表記する。図13に示す判断処理において、音環境に変化があるか否か、音声信号が低S/Nで検出されたかなどを判断し、この結果に基づき図12における音源分離処理、音声収録処理、分離フィルタ更新処理の何れかを行う。分離フィルタ更新処理では、個々に取得した目的信号と非目的信号を用いて帯域ごとの更新回数を決定し、これに基づきフィルタ学習を行う。更新回数決定方法やフィルタ更新方法については、第1、第2実施形態に述べた手法を適用する。
【0078】
本実施形態によれば、音環境が変化したときに、該音環境に適した反復回数を用いて分離フィルタを更新することができるため、演算量を削減し、分離性能の高い分離フィルタを得ることが可能である。
【0079】
図12はシステム全体の動作フローを示している。
S201でシステムの初期化、メモリへの読込作業を行う。
S202で音入力を検知する。検知したらS203へ進む。
S203で目的信号(音声)の有無、音環境変化の有無、非目的信号の有無を判断する(詳細は図13のフロー図に示す)。
S204で目的信号フラグ(検知信号に音声が含まれているか否かを示すフラグ)がFalseであればS205へ、TrueであればS207へ進む。
S205で音環境フラグがTrueであればS206の分離フィルタ更新処理へ進み、Falseであれば処理を終了する。
S206で分離フィルタの学習、更新作業を行う(詳細は図14のフロー図に示す)。
S207で非目的信号微小フラグ(検知信号に含まれる不用信号が目的信号に比べて十分小さいか否かを示すフラグ)がTrueであればS208へ、FalseであればS210へ進む。
S208で音声区間を検出する。区間検出には検知信号のエネルギーの変化、スペクトルの変化、及びPTTスイッチの情報や車室内カメラの情報を用いることができる。
S209で検出された音声区間を新規参照信号として記憶手段308へ記憶する。検出される度に、話者や性別ごとに分類して加算平均することが好ましい。初期値としてはHSLNなどを用いることができる。
S210で現在保持する分離フィルタWを検知信号へ適用して目的信号の抽出を行う。
【0080】
図13は判断手段(図10の305)の判断処理フローを示している。
S301で下記のフラグを初期化する(Falseで初期化)する。各フラグは以下のことを表す。目的信号フラグ:Voice-act 検知信号に音声が含まれているか否か、非目的信号微小フラグ:Noise-small 検知信号に含まれる非目的信号が目的信号に比べて十分小さいか否か、音環境変化フラグ:Env-change 音環境が変化したか否か。
S302で時刻T-mにおける音環境情報を取得する。mは処理間隔時間である。音環境情報は、検知信号パワー、検知信号スペクトル、各種スイッチ情報、各種センサ情報などの何れか、あるいは複数を組み合わせたデータから生成され、これらデータに基づき、複数の音環境に分類されるものとする。分類は、該信号スペクトルや、速度、空調機レベルなどの状態と雑音成分特性を対応させたデータベースを参照するなどして行う。
S303で時刻T(現在)における音環境情報を取得する。
S304で時刻TとT-mにおける音環境情報を比較し、検知信号に目的信号(音声)が含まれるかを判定する。音声が含まれると判断した場合はS305へ、含まれないと判断された場合はS306へ進む。音声信号の有無は、検知信号のパワー変化、スペクトル変化、PTTスイッチの押下情報、車室内カメラの検出結果などを用いて判断できる。
S305で目的信号フラグを立てる(Voice-act=True)。
S306で非目的信号(雑音)のエネルギーが閾値より小さいか否かを判定する。閾値より小さい場合はS307へ、閾値以上の場合はS308へ進む。閾値は例えば目的信号(参照信号として用いる音声信号)と非目的信号(雑音信号)とのS/Nが10dB以上となる時の検知信号のエネルギーとする。
S307で非目的信号微小フラグを立てる(Noise-small=True)。
S308で時刻Tの音環境情報と、時刻T-mの音環境情報を比較する。比較結果音環境情報が異なる場合はS309へ進み、同一の場合は処理を終了する。
S309で音環境フラグを立てる(Env-change=True)。
【0081】
図14は分離フィルタ更新処理(図10の帯域分割手段306〜フィルタ計算手段310)の処理フローを示している。
S401で検知信号の帯域分割処理を行う。周波数ビンごとの帯域幅は固定でも可変でも良い。
S402で検知信号と参照信号の分析処理を行う。第1実施形態ではパワーの比較を行う(図4)。第2実施形態では適応フィルタ手法により反復回数決定用フィルタである音声帯域通過フィルタを生成する(図7)。
S403で分析処理の結果に基づき反復回数Iter(ω)を決定する。決定方法は第1実施形態に示した手法(図5、図6)、及び第2実施形態に示した手法(図9)などを用いればよい。
S404で更新フラグRenew(ω)をすべての帯域ωに大してTrueに初期化する。
S405で更新回数フラグを0に初期化する(Iteration=0)。
S406で帯域フラグを1に初期化する(ω=1)。
S407で更新フラグRenew(ω)=TrueであればS408へFalseであればS409へ進む。
S408で帯域ωについて、分離フィルタの計算を行う。分離フィルタの計算手法としては、周波数領域ICAなどを適用する。
S409で帯域フラグを加算する(ω=ω+step(ω)(step(ω):周波数ビンの帯域幅))。
S410で帯域フラグωの値が帯域の最大値Max(ω)に等しいときはS411へ、等しくないときはS411へ進む。帯域の最大値Max(ω)は例えばシステムのナイキスト周波数とする。
S411で更新回数フラグを加算する(Iteration=Iteration+1)。
S412で更新回数Iterationが更新フラグRenew(ω)に等しいときはS413へ、等しくないときはS414へ進む。
S413で帯域ωについて、更新フラグRenew(ω)=Falseとする。次回の更新よりこの帯域は更新処理が行われない。
S414で全帯域ωについて、更新フラグRenew(ω)=Falseならば処理終了。そうでない場合はS406へ戻る。
【0082】
(第4実施形態)
本実施例は各種スイッチ手段、センサ手段の情報の組み合わせと、該組み合わせが検出されるときの音環境を事前に分析、分類したデータ、及び該音環境における分離フィルタ更新処理時の最適な反復回数Iter(ω)を対応させたデータをそれぞれ記憶する手法である。
【0083】
その構成を図15に示す。図において、図10における同じ名称、機能については説明を省略する。
【0084】
図中、505は図11における演算装置404及び記憶装置に対応する判断手段であり、音環境変化及び音声信号の有無について監視、判断を行う。本実施形態では、スイッチ手段503及びセンサ504の情報と音環境を事前に対応させて記憶手段506にテーブルとして記憶している。したがって、スイッチ、センサ手段の情報から、逐次テーブルを参照することで音環境を取得し、この音環境の変化に基づき、フィルタ更新処理を行う。
【0085】
506は図11における記憶装置405に対応する記憶手段1であり、各種スイッチ手段、センサ手段が出力する情報と、その時の音環境を予め分類記憶したテーブルを記憶する。
【0086】
508は図11における記憶装置405に対応する記憶手段2であり、ここには、記憶手段1に分類記録されている音環境と、該音環境において最適な分離フィルタ学習時の更新回数Iter(ω)が対応して記憶されている。
【0087】
図16は本実施形態の全体動作を示したフローチャートである。
S501でシステムの初期化、メモリへの読込作業を行う。
S502で音入力を検知する。検知したらS503へ進む。
S503で音声信号を検知する。検知したらS504へ、検知しない場合はS502へ進む。
S504でスイッチ手段(図15の503)、センサ手段(図15の504)の情報と、記憶手段1(図15の506)のデータテーブルを参照し、現在の音環境を取得する。
S505で、S504で取得した音環境がそれまで保持していた音環境と異なる場合はS506へ、そうでなければS502へ進む。
S506で分離フィルタ更新処理を行う。詳細は図17のフローチャートに示す。
S507で検知信号に対して分離フィルタW(ω)を適用して音源分離(音声抽出)を行う。
【0088】
図17は本実施形態の分離フィルタ更新処理の流れを示したフローチャートである。
S601でシステムの初期化、メモリへの読込作業を行う。
S602で現在の音環境に対応するフィルタ更新処理の反復回数(Iter(ω))を取得する。
S603で検知信号の帯域分割処理を行う。周波数ビンごとの帯域幅は固定でも可変でも良い。
S604で更新フラグRenew(ω)をすべての帯域ωに対してTrueに初期化する。
S605で更新回数フラグを0に初期化する(Iteration=0)。
S606で帯域フラグを1に初期化する(ω=1)。
S607で更新フラグRenew(ω)=TrueであればS109へ、FalseであればS110へ進む。
S608で帯域ωについて、分離フィルタの計算を行う。分離フィルタの計算手法としては、周波数領域ICAなどを適用する。
S609で帯域フラグを加算する(ω=ω+step(ω)(step(ω):各周波数帯の帯域幅))。
S610で帯域フラグωの値が帯域の最大値Max(ω)に等しいときはS611へ進み、等しくないときはS607へ戻る。帯域の最大値Max(ω)は例えばシステムのナイキスト周波数とする。
S611で更新回数フラグを加算する(Iteration=Iteration+1)。
S612で更新回数Iterationが更新フラグRenew(ω)に等しいときはS613へ、等しくないときはS614へ進む。
S613で帯域ωについて、更新フラグRenew(ω)=Falseとする。次回の更新よりこの帯域は更新処理が行われない。
S614で全帯域ωについて、更新フラグRenew(ω)=FalseならばS615へ進み、そうでない場合はS606へ戻る。
S615で更新処理の結果生成された分離フィルタW(ω)をフィルタ手段へとコピーする。
【0089】
図18に、各種センサ情報と、それに対応する音環境のデータテーブルを記憶した例を示す。この例では、速度域、空調機レベル、エンジン回転数から音環境を分類し、対応させて記憶している。
【0090】
図19に、各音環境と、該音環境下での最適な反復回数を対応させたデータテーブルを記憶した例を示す。更新回数のテーブル作成にあたっては、第1、第2実施形態のように、各音環境における目的信号、非目的信号を用いて、第1、第2実施形態に示すような手法で、予め最適な学習回数を決定しておく。
【0091】
判断手段505は前記センサ情報と音環境を対応させたデータテーブルを参照して、現在の音環境を判断し、反復回数決定手段507は、該音環境と反復回数を対応させたデータテーブルを参照して現在の音環境に適する反復回数を決定する。すなわち、判断手段505によって判断され決定された音環境に対応する前記学習の反復回数を記憶手段508から読み出し、該反復回数だけ前記分離フィルタを取得するための学習を反復することができる。
【0092】
本手法によれば、車室内において検出されるセンサ情報の変化に応じて最適な反復回数が決定され、この反復回数に基づき分離フィルタが更新されるため、分離フィルタの計算量を削減することが可能である。
【0093】
従来の周波数領域ICA手法においては、全ての周波数帯域について、帯域毎にICAによる分離フィルタの計算が行われる構成となっていたため、計算量が大きくなる。
【0094】
上記第1乃至第4実施形態によって詳細に説明したように、本発明では、この点を改良し、ICAによる分離フィルタ学習の前に、周波数ごとに入力信号に含まれる目的信号と非目的信号との強さを比較する手段を設け、目的信号が非目的信号より小さいと判断された帯域は、目的信号が非目的信号より大きいと判断された帯域より学習回数を小さくすることによって、一般的な周波数領域ICAと比較してわずかな計算量で済む処理過程及びシステムを提供する。このように、本発明においては、分離フィルタ学習する周波数帯域を適応的に判断できるため、すべての帯域において分離フィルタ学習行う従来の周波数領域ICA手法と比較して少ない計算量で済む。
【図面の簡単な説明】
【0095】
【図1】第1実施形態の基本構成を示したブロック図である。
【図2】第1実施形態を実現するシステム構成の一例を示す図である。
【図3】第1実施形態の処理の流れを示したフローチャートである。
【図4】雑音成分と参照信号の比較を示した図である。
【図5】第1実施形態の反復回数決定方法(その1)を示した図である。
【図6】第1実施形態の反復回数決定方法(その2)を示した図である。
【図7】第2実施形態における適応処理手段の基本的な構成を示した図である。
【図8】第2実施形態の適応処理によって生成した分離フィルタの周波数応答を示した図である。
【図9】第2実施形態の反復回数決定方法を示した図である。
【図10】第3実施形態の基本構成を示したブロック図である。
【図11】第3実施形態を実現するシステム構成の一例を示した図である。
【図12】第3実施形態の処理の流れを示したフローチャートである。
【図13】第3実施形態の判断手段の処理の流れを示したフローチャートである。
【図14】第3実施形態の分離フィルタ更新処理の流れを示したフローチャートである。
【図15】第4実施形態の基本構成を示したブロック図である。
【図16】第4実施形態の処理の流れを示したフローチャートである。
【図17】第4実施形態の分離フィルタ更新処理の流れを示したフローチャートである。
【図18】第4実施形態のセンサ情報と音環境を対応させたデータテーブルを示した図である。
【図19】第4実施形態の音環境と反復回数を対応させたデータテーブルを示した図である。
【符号の説明】
【0096】
101-1、101-n:マイクロフォン、102:検知手段、103:帯域分割手段、104:反復回数決定手段、105:フィルタ計算手段、106:フィルタ手段、201-1、201-n:マイクロフォン、202:フィルタ、203:AD変換部、204:演算装置、205:記憶装置、301-1〜301-n:マイクロフォン、302:検知手段、303:スイッチ手段、304:センサ手段、305:判断手段、306:帯域分割手段、307:分析手段、308:記憶手段、309:反復回数決定手段、310:フィルタ計算手段、311:フィルタ手段、401-1〜401-n:マイクロフォン、402:フィルタ、403:AD変換部、404:演算装置、405:記憶装置、406:情報収集部、501-1〜501-n:マイクロフォン、502:検知手段、503:スイッチ手段、504:センサ手段、505:判断手段、506:記憶手段1、507:反復過程決定手段、508:記憶手段2、509:帯域分割手段、510:フィルタ計算手段、511:フィルタ手段。
【技術分野】
【0001】
本発明は音声入力装置に関する。
【背景技術】
【0002】
近年、車室内における音声入力系は、音声認識による車載機器操作及びハンドフリー電話などに広く用いられている。これらの技術の実現を阻害する要因として、車室内における、音声入力使用者以外の音源からの音の存在があげられる。音声入力使用者からの音声を他の音源からの音から分離する方法として、複数の音響センサからそれぞれの音信号を取得し、取得した複数の音信号のみを用いて、その音信号から目的とする音信号を分離する手法はブラインド音源分離(BSS)と呼ばれる。そして信号を分離する分離フィルタを学習によって得る方法として、独立成分分析法(Independent Component Analysis、以下ICAと記す)が提案されている。
【0003】
【非特許文献1】N.Murata and S.Ikeda,"An on-line algorithm for blind source separation on speech signals",Proceeding of 1998 International Symposium on Nonlinear Theory and its Application((NOLTA'98),vol.3,pp.923-926,Sep.1998.
【非特許文献2】「アレー信号処理を用いたブラインド音源分離の基礎」Technical report of IEICE,EA2001-7。
【非特許文献3】「独立成分解析とは」Computer Today,pp.38-43,1998.9,No.87、「fMRI画像解析への応用」Computer Today,pp.60-67,2001.1 No.95。
【非特許文献4】S.Amari,A.Chichocki,and H.H.Yang,"A new learning algorithm for blind signal separation",In:D.S.Touretzky,M.C.Mozer and M.E.Hasselmoeds.,Advanced in Neural Information Processing System 8,pp.753-763,MIT Press,Cambridge MA,1996.
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記ICAに基づく音源分離手法を実環境にて用いる場合、観測信号の残響が問題となる。すなわち、音源から到来する信号には、その音源を観測する環境に起因する残響成分が畳み込まれることとなる。この場合、混合過程は畳み込み混合という複雑な問題となるため、分離フィルタを直接求めることは難しい。そこで、観測信号を周波数領域に変換し、各周波数帯域(周波数ビン)について、分離信号の独立性を最大化するように分離フィルタを学習生成する、周波数領域ICA(FDICA)が提案されている。この手法によれば、複雑な畳み込み混合問題を各周波数における瞬時混合問題として表現でき、残響のある実環境においても、分離フィルタを求めることが可能であることが示されている。(非特許文献1参照)
しかしながら、上記FDICAに基づく目的信号分離の処理における問題点としては、以下が挙げられる。
【0005】
すなわち、各周波数帯域毎にICAの処理を行うため、計算量が非常に大きくなる。
【0006】
また、拡散性の信号原は、それを一信号源とみなすことが困難であることより、学習を繰り返しても分離精度が上がらない、あるいは学習をつづけることで、分離フィルタが最適な状態から分離精度が低下した状態へと移行してしまう可能性がある。
【0007】
本発明の目的は、この点を改良し、一般的な周波数領域ICAと比較して少ない計算量で済み、目的信号と非目的信号が混合された観測信号から目的信号を抽出できる音声入力装置を提供することである。
【課題を解決するための手段】
【0008】
目的信号と非目的信号とが混在する検知信号から少なくとも一つの目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、各周波数分割帯域における学習の反復回数を、それぞれの周波数分割帯域において検知信号に含まれる目的信号の平均強さに正比例するように決定する反復回数決定手段とを有する音声入力装置を構成する。
【発明の効果】
【0009】
本発明の実施により、大きな学習効果が期待できない周波数帯域における学習の反復回数を減らして、一般的な周波数領域ICAと比較して少ない計算量で済み、目的信号と非目的信号が混合された観測信号から目的信号を抽出できる音声入力装置を提供することが可能となる。
【発明を実施するための最良の形態】
【0010】
以下に、本発明に係る音声入力装置が特徴とする、分離フィルタを得るための学習方法を、ICAの一例に適用した場合を説明する。
【0011】
例えば、信号源として、音信号をK個のマイクロフォン(センサ)で音を受信することに加え、各音源から到来する、音信号同士が統計的に独立であることを利用することでマイクロフォンと同じK個もしくはK個以下の音源を分離することができる。当初、ICAを用いた音源分離法は、各音源からの到来音の時間差が考慮されていなかったため、マイクロフォンアレーに適用することは困難であった。しかし近年では、時間差を考慮し、マイクロフォンアレーを用いて複数の音信号を観測し、周波数領域にて混合過程の逆変換を求める手法が多数提案されている。
【0012】
一般に、L個の複数音源から到来する音信号が線形に混合されてK個のマイクロフォンにて観測されている場合、観測された音信号は、ある周波数fにおいて以下のように書くことができる。
【0013】
X(f) = A(f)S(f) (1)
ここで、S(f)は各音源から送出される音信号ベクトル、X(f)は受音点であるマイクロフォンアレーで観測された観測信号ベクトル、A(f)は各音源と受音点との空間的な音響系に関する混合行列であり、それぞれ以下のように書くことができる。
【0014】
S(f) = [S1(f),...,SL(f)]T (2)
X(f) = [X1(f),...,XL(f)]T (3)
【0015】
【数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)を求めなければならない。
【0016】
この問題を解くためには、音信号S(f)が確率的に発生し、更に、S(f)の各成分が全て互いに独立であると仮定する。このとき観測信号X(f)は混合された信号であるためX(f)の各成分の分布は独立ではない。そこで、観測信号 に含まれる独立な成分をICAによって探索することを考える。すなわち、観測信号X(f)を独立な成分に変換する行列W(f)(以下、逆混合行列)を計算し、観測信号X(f)に逆混合行列W(f)を適用(行列乗算)することで、音源から送出される音信号S(f)に対して近似的な信号を求める。
【0017】
ICAによる混合過程の逆変換を求める処理には時間領域で分析する手法と、周波数領域で分析する手法が提案されている。ここでは周波数領域で計算する手法を例にして説明する。
【0018】
最初に、各マイクロフォンにて観測された信号を適切な直交変換を用いて短時間フレーム分析を行う。このとき、1つのマイクロフォン入力における、特定の周波数ビンでの複素スペクトル値をプロットすることにより、それを時系列として考える。ここで、周波数ビンとは、例えば、短時間離散フーリエ変換によって周波数変換された信号ベクトルにおける個別の複素成分を示す。同様に、他のマイクロフォン入力に対しても同じ操作を行う。ここで得られた、時間‐周波数信号系列は、
X(f,t) = [X1(f,t),...,XK(f,t)]T (6)
と記述できる。次に、逆混合行列W(f)を用いて信号分離を行う。この処理は以下のように示される。
【0019】
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)に逆直交変換を適用して、音源信号時間波形の再構成を行う。
【0020】
独立性の評価及び逆混合行列の最適化方法としては、Kullback-Leibler divergenceの最小化に基づく教師無し学習アルゴリズムや、2次または高次の相関を無相関化するアルゴリズムが提案されている(上記非特許文献2参照)。
【0021】
なお、ICAは音信号処理だけではなく、例えば、複数の画像の混合画像から各々の画像を分離抽出する、移動体通信などで話が混線して到達した信号を、其々に分離する、或いは脳の内部の各所で生ずる信号を脳電計や脳磁計、fMRI(Functional Magnetic Resonance Imaging;磁気共鳴機能画像)などを用いて外部から測定した場合に、測定信号の中から目的の信号を分離抽出することなどに用いられている(上記非特許文献3参照)。
【0022】
以下では、複数のマイクロフォンによる音源分離問題を例にとり、音源分離フィルタの学習アルゴリズムに周波数領域ICAを用いた場合の本発明の原理を説明する。
【0023】
ICAを用いても、拡散性の音源が存在する場合等、信号の分離が困難である周波数帯域がある場合においては、該帯域において数十回の学習を経ても分離精度(例えばコサイン距離)の値が改善しない場合が多い。このような帯域における学習のための演算をつづけると、分離フィルタの分離性能が最適な状態から分離精度を低下させる状態へと移行させてしまう場合がある。このような学習を避けるため、本発明では帯域ごとに学習速度を変化させることを提案する。
【0024】
はじめに、各マイクロフォンにて集音され短時間フレーム分析された時間‐周波数信号系列を、上式(6)と同じく、X(f,t) = [X1(f,t),...,XK(f,t)]Tと記述する。次に、ICAによって最適化された逆混合行列を用いて音源分離を行う。この処理は下式のように示される。
【0025】
Y(f,t) = [Y1(f,t),...,YL(f,t)]T = W(f)X(f,t) (7)(再記)
ここで、Y(f,t)はは音源分離が為された分離信号である。ここで、i+1回目に学習される逆混合行列(音源分離フィルタ)Wi+1(f)は、i回目に学習された逆混合行列Wi(f)から、下記式(8)によって計算することが、Amariらによって提案されている(上記非特許文献4)。
【0026】
Wi+1(f) =
η(diag(<Φ(Y(f,t))YH(f,t)>)-<Φ(Y(f,t))YH(f,t)>)Wi(f)+Wi(f) (8)
ここで、ηは更新係数、diag( )は対角行列、< >は時間に関する平均、Hはエルミート転置を表す。Φ( )は、一般に音声信号のような非ガウス性の振幅分布に従う信号を扱う場合にはsigmoid関数によって近似する手法が提案されている(上記非特許文献1、4参照)。
【0027】
本発明に係る音声入力装置においては、学習の反復回数の決定に際して、2つ以上の相異なる反復回数を決定し、大きな学習効果が期待できない周波数帯域における学習の反復回数を減らして、一般的な周波数領域ICAと比較して少ない計算量で同等の効果が得られるようにする。
【0028】
以下に、本発明の構成を、実施の形態例によって説明する。
【0029】
(第1実施形態)
本実施形態は本発明の基本的な構成を示したものであり、図1に示したように構成される。その動作は図3のフローチャートに示した通りである。この処理構成に従い、目的信号と非目的信号を分離する分離フィルタを学習し、得られた分離フィルタで目的信号の抽出を行う。なお、車室内という環境で本手法の適用を考える場合、目的信号は音声信号、非目的信号とは車両で発生する様々な雑音と捉えることができる。
【0030】
図1は第1の実施形態の基本構成を示したブロック図である。図中、101-1〜101-nは、目的音と非目的音とが混在する音響を検知し、目的信号と非目的信号とが混在する複数の検知信号として出力する複数の音響センサであるマイクロフォンであり、一般的なマイクロフォンによって実現され、図2におけるマイクロフォン201-1〜201-nに対応する。102は、マイクロフォン101-1〜101-nの出力である検知信号を検知して離散信号に変換する検知手段であり、図2におけるフィルタ(アンチエリアシングフィルタ)202、AD変換部203、演算装置204に対応する。103は離散信号に変換された検知信号(時間領域の信号系列)を周波数領域に変換し、更に、音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段であり、図2における演算装置204、記憶装置205に対応する。信号を周波数に分解するための変換としては、直交変換であればいずれを用いてもよい。また、周波数分割における帯域幅は、固定でも可変でもよい。
【0031】
104は、例えば図10における分析手段307によって分析された、周波数分割帯域ごとの目的信号と非目的信号との強さの情報に基づき、分離フィルタ計算手段105における学習の反復回数を周波数分割帯域ごとに決定する反復回数決定手段であり、図2における演算装置204、記憶装置205に対応する。反復回数決定は、より具体的には、目的信号(に類似した参照信号)と非目的信号との周波数ごとのスペクトルパワーの差(比)を導出し、目的信号エネルギーの小さい(S/Nが低い)帯域について、学習回数を小さく設定する。
【0032】
105は、反復回数決定手段104の決定した学習回数に基づき、分離フィルタの学習を行い、学習処理終了後の分離フィルタを更新後分離フィルタとしてフィルタ手段106へ上書きする分離フィルタ計算手段であり、図2における演算装置204、記憶装置205に対応する。分離フィルタ学習のアルゴリズムとしては、例えば周波数領域ICA(FDICA)を用いる。
【0033】
106は、保持している分離フィルタ(目的信号を分離するフィルタ)を検知信号に適用し、検知信号に含まれる目的信号を分離、抽出する分離フィルタ手段であり、図2における演算装置204、記憶装置205に対応する。
【0034】
図2は、本実施形態を実現するシステム構成の一例を示す図である。図においてマイクロフォン201-1〜201-nの出力である検知信号はフィルタ202を経てAD変換部203に入力され、AD変換された後、記憶装置205と連結した演算装置204に入力され、演算処理される。フィルタ202は、上記検知信号に含まれるノイズを除去することに用いられる。演算装置204は、CPU、MPU、DSP、FPGAなどと、一般的な動作回路を組み合わせることによって構成され、記憶装置205は、キャッシュメモリ、メインメモリ、HDD、CD、MD、DVD、光ディスク、FDDなど、一般的な記憶媒体によって構成される。
【0035】
本実施形態においては、周波数分割帯域ごとに検知信号を分析して、その信号から目的信号を抽出する(雑音混じりの音声から音声を抽出する)手法における、計算量削減方法が可能となる。全周波数帯域において、規定回数学習する従来手法に対し、目的信号と非目的信号(例えば雑音)の含まれる成分に関する情報に基づき学習回数を周波数分割帯域ごとに決定する。これによって、従来手法に比べて、計算量の削減が可能となる。すなわち、目的信号の帯域ごとの内容に関する情報を利用し、目的信号情報が少ない帯域では分離フィルタ過程の学習に費やす計算量を削減することで、分離フィルタ計算過程における計算量を削減できる。
【0036】
学習回数を周波数分割帯域ごとに決定する方法としては、それぞれの周波数分割帯域において、
(方法1)検知信号に含まれる目的信号の平均強さに正比例するように決定する、
(方法2)検知信号に含まれる非目的信号の平均強さに反比例するように決定する、
(方法3)検知信号に含まれる非目的信号の強さに対する目的信号の強さの比(目的信号の強さ/非目的信号の強さ)の周波数分割帯域ごとの平均値に正比例するように決定する、
(方法4)周波数分割帯域の任意の2つを帯域1、帯域2としたときに、帯域1における上記の比の平均値が帯域2における上記の比の平均値以上であれば必ず帯域1における学習の反復回数が帯域2における学習の反復回数よりも小とはならず、周波数分割帯域の2つ以上における学習の反復回数は相異なるように、各周波数分割帯域における前記学習の反復回数を決定する、
(方法5)予め個別に、周波数分割帯域の2つ以上における学習の反復回数は相異なるように決定された反復回数とする、などの方法がある。
【0037】
ここで、上記「平均」は、各周波数分割帯域における周波数についての平均を意味し、これは以下においても同じである。
【0038】
上記いずれの方法においても、目的信号情報が非目的信号(例えば雑音成分)と比べて少ない帯域では分離フィルタ過程の学習に費やす計算量を削減することで、分離フィルタ(目的信号を分離するフィルタ)の計算過程における計算量を削減できる。
【0039】
なお、(方法1)〜(方法4)の方法において、比例計算によって得られた回数の値は整数化する(丸めを行う)ものとする。また、(方法5)の方法においては、予め、それぞれの周波数分割帯域において、複数の学習回数を決定しておき、その中から、適宜、環境に適合する学習回数を選び出して用いてもよい。この場合に、反復回数を予め保持している記憶手段が音声入力装置に具備されていて、環境に適合する学習回数がその記憶手段から読みだされることが望ましい。なお、この(方法5)の方法においては、反復回数決定手段104が音声入力装置に具備されていなくてもよい。
【0040】
図3は、本実施形態の処理の流れを示したフローチャートである。図中、S101〜S116は各ステップを表す。このことは、図12、13、14、16、17においても同じである。
S101で、システムの初期化、メモリへの読込作業を行う。
S102で、音入力を検知する。検知したらS103へ進む。
S103で、検知信号(雑音の混合した音声信号)の帯域分割処理を行う。周波数ビンごとの帯域幅は固定でも可変でも良い。ここで周波数ビンの帯域幅をstep(ω)とする。
S104で、帯域ごとの反復回数Iter(ω)を取得する。決定方法は図5及び図6に示す。
S105で、更新フラグRenew(ω)をすべての帯域ωに対してTrueに初期化する。
S106で、更新回数フラグを0に初期化する(Iteration=0)。
S107で、帯域フラグを1に初期化する(ω=1)。
S108で、更新フラグRenew(ω)=TrueであればS109へ進み、FalseであればS110へ進む。
S109で、帯域ωについて、分離フィルタの計算を行う。分離フィルタの計算手法としては、周波数領域ICAなどを適用する。
S110で、帯域フラグを加算する(ω=ω+step(ω)、step(ω):周波数ビンの帯域幅)。
S111で、帯域フラグωの値が帯域の最大値Max(ω)に等しいときはS112へ進み、等しくないときはS108へもどる。帯域の最大値Max(ω)は例えばシステムのナイキスト周波数とする。
S112で、更新回数フラグを加算する(Iteration=Iteration+1)。
S113で、更新回数Iterationが、更新フラグRenew(ω)に等しいときはS114へ進み、等しくないときはS115へ進む。
S114で、帯域ωについて、更新フラグRenew(ω)=Falseとする。次回の更新よりこの帯域は更新処理が行われない。
S115で、全帯域ωについて、更新フラグ Renew(ω)=FalseならばS116へ進み、そうでない場合はS107へ戻る。
S116で、更新処理の結果生成された分離フィルタW(ω)を検知信号に適用して分離信号を得る。
【0041】
図1における反復回数決定手段104(図3中のステップS104)の反復回数決定手法としては、例えば音声信号と雑音成分の帯域ごとの信号対雑音比(S/N)を用いることができる。図4〜6にその原理と決定手法を示す。
【0042】
図4は、雑音成分と参照信号の比較を示した図である。この図は、予め取得した目的信号(音声信号)と非目的信号(車両雑音信号)の各周波数帯域におけるエネルギーを比較したものである。図中、(A)は目的信号(音声信号)と非目的信号(雑音信号)のパワースペクトルの一例を示している。点線が目的信号、実線が非目的信号である。(B)は(A)から信号対雑音比(S/N)(ここでは目的信号の強さ/非目的信号の強さ(単位はdB))を求めた結果である。この値をsnr(ω)と置く。ただし、ここでωは分割周波数帯域中の代表周波数周波数(周波数分割帯域が1Hzであれば周波数そのもの)あるいは該代表周波数のインデックスをあらわし、snr(ω)は分割周波数帯域中の各周波数でのS/N比の平均とする。
【0043】
この結果によれば、周波数帯によって、snr(ω)が高い帯域と低い帯域とがあることがわかる。例えば図4の例では、0〜500Hzの帯域(縦長点線楕円で囲った部分)、及び4000Hz以上の帯域(横長点線楕円で囲った部分)において、S/Nが低い。こうしたS/Nが低い帯域は信号全体に占める音声信号情報の比率が低く、音源分離処理においては、分離が困難な帯域といえる。したがって、学習を反復しても分離性能の向上は難しいため、あえて多くの学習をする必要は無いと考えられる。そこで、こうした帯域を選択して学習回数を減らすことで、同様の分離性能の分離フィルタをより少ない計算負荷で導出できる。
【0044】
図5は第1実施形態の反復回数の決定手法(その1)を示した図である。図5に示すように、snr(ω)に対し、所定の閾値Thを与え、snr(ω)がこの閾値Th以上である帯域(周波数分割帯域の1つ)ついては更新回数Iter(ω)としてIter(Hi)を与え、snr(ω)がこの閾値Thより小である帯域についてはIter(ω)としてIter(Lo)を与えることする。Iter(Hi)は更新回数の多い方の設定値、Iter(Lo)は少ないほうの設定値である。
【0045】
分離フィルタ計算手段は、この周波数分割帯域ごとの反復回数に基づき分離フィルタの学習を行う。ここで、分離フィルタの初期値としては、例えば所定の方位に死角を向けたビームフォーマなどとすることが好ましい。この分離フィルタを初期値として、周波数ごとに分離フィルタを学習する。なお、例えばIter(Lo)を0回に設定すれば、snr(ω)<Thとなる帯域は学習を行わず、初期値がそのまま最終的な分離フィルタに反映されることとなる。例えば周波数領域ICAでは、音声に対し雑音が極度に大きい帯域や、雑音も音声も微量しか観測できない帯域などにおいて、学習処理が適切に行えず、不安定な分離フィルタとなる可能性がある。こうした場合に、該帯域を学習しないように設定すれば、分離フィルタが不安定になる可能性を低くできる。この方法は上記(方法4)に含まれる。
【0046】
図6は第1実施形態の反復回数決定方法(その2)を示した図であり、図5に示した手法を拡張し、snr(ω)の値から帯域ごとの反復回数をより細分化して決定する手法を示している。図6下部の数式は具体的な反復回数の計算手法を示している。この数式において、*は乗算を表し、max(snr(ω))はsnr(ω)の最大値を表し、min(snr(ω))はsnr(ω)の最小値を表し、Iter(Max)は反復回数の最大値を表し、Iter(Min)は反復回数の最小値を表し、stepは反復回数のステップサイズ(10とすれば、10、20、30、のように更新回数が決まる)を表し、R(・)は最近傍整数への丸めを表している。すなわち、snr(ω)の最大値max(snr(ω))、最小値min(snr(ω))が、反復回数の最大値Iter(Max)、最小値Iter(Min)に対応し、この範囲内でエネルギー比snr(ω)(このsnr(ω)は、正確には、それぞれの周波数分割帯域におけるsnr(ω)の平均値を表している)に基づき反復回数が割り当てられる。例えば、最小反復回数10回、最大100回、ステップサイズ10とすれば、snr(ω)に応じて、10、20、30、…、100という反復回数が決定される。なお、snr(ω)がωの連続関数であるとすれば、中間値の定理によって、snr(ω)の周波数分割帯域における平均値=snr(ωm)を満足するωmがその周波数分割帯域に存在するので、式の右辺におけるsnr(ω)中のωがωmに等しいとすれば、右辺におけるωの値が確定したものとなる。また、式の左辺におけるωは、その周波数分割帯域におけるωの代表値を表しているので、そのωもωmに等しいとすれば、両辺のωが同一なものとなる。
【0047】
上記の反復回数の決定方法は上記(方法4)に含まれ、(方法3)を含んでいる。
【0048】
上述した実施形態では、目的信号と非目的信号との双方を用いてそのエネルギー比から反復回数を導出したが、エネルギーの差を用いても良いし、目的信号、非目的信号の何れかのみを用い、そのエネルギーの強さなどから反復回数を決定するようにしてもよい(上記(方法1)〜(方法5)参照)。
【0049】
また、上記説明では、予め取得した車室内の音声及び雑音を目的信号、非目的信号とし、事前にIter(ω)を決定し、これを適用する手法について説明したが、検知手段にて実際に検出される目的信号(実際には目的信号に近い観測信号、雑音の極めて少ない時に観測された音声等を指す)あるいは非目的信号を用いて、動的にIter(ω)を求めることも可能であり、この場合も上述と同様の反復回数決定手法を用いることができる。このうち、非目的信号として実際に検知された信号を用いる例については、第3実施形態で詳しく述べる。
【0050】
(第2実施形態)
本実施例は第1実施形態と基本的な構成を同じくする。すなわち、ブロック図は図1と同一であり、フローチャート図は図3は同一である。異なるのは、反復回数決定手法において、目的信号と非目的信号から適応的に生成したFIRフィルタ(下記音声帯域通過フィルタ)を反復回数決定用フィルタとして用いる点である。この部分について説明する。
【0051】
図7は、本実施形態における適応処理手段の基本的な構成を示した図である。適応処理は目的信号S1と入力信号(目的信号に非目的信号が混合した信号)X1を用いて、X1にフィルタH(ω)を適用した結果の出力信号Y1と目的信号S1との差である誤差信号eが小さくなるように、フィルタH(ω)を学習する処理である。適応処理の結果、入力信号に含まれる雑音成分が強い帯域ほど強く抑圧するようなフィルタが生成される。つまり、適応処理により生成されるフィルタの周波数応答が大きい帯域ほど音声が十分観測される帯域であり、周波数応答の小さい帯域程、雑音が強く音声が十分に観測できない帯域であると捉えることができる。よって、該フィルタの周波数応答を用いれば、学習しても分離性能が向上しない帯域を推定することができ、第1実施形態同様学習回数の削減が可能である。本実施形態では、この周波数応答に基づき、反復回数Iter(ω)を決定する。本実施形態では、フィルタの適応処理のために、予め取得した目的信号S1(音声信号)と非目的信号N1(雑音信号)を用いる。すなわち、目的信号をS1、入力信号X1をX1=S1+N1として適応処理を行う。
【0052】
図8は、本実施形態の適応処理手段によって生成したフィルタの周波数応答を示した図である。図の(A)は、適応処理に用いる目的信号と非目的信号のパワースペクトルの一例を示している。ここで、点線が目的信号、実線が非目的信号である。適応処理の結果得られるフィルタの一例を図8の(B)に示す。例えば、図8の例では、0〜500Hzの帯域(縦長点線楕円で囲った部分)、及び3000Hz以上の帯域(横長点線楕円で囲った部分)において、周波数応答が小さい。以降、このフィルタを、音声スペクトルの大きい帯域を保持し、雑音スペクトルの大きい帯域を抑圧する特徴を有することから、音声帯域通過フィルタと呼ぶ。生成された音声帯域通過フィルタの周波数応答をresp(ω)とする。ただし、ここでωは分割周波数帯域中の代表周波数周波数(周波数分割帯域が1Hzであれば周波数そのもの)あるいは該代表周波数のインデックスをあらわし、resp(ω)は分割周波数帯域中の各周波数での音声帯域通フィルタの周波数応答の平均とする。このresp(ω)を用いて反復回数を決定する。
【0053】
図9にresp(ω)を用いた反復回数の決定手法の一例を示す。この手法では、周波数応答の最大値max(resp(ω))、最小値min(resp(ω))をそれぞれ反復回数の最大値Iter(Max)、最小値Iter(Min)に対応させ、その間については、周波数応答の強さに応じて、反復回数が決定される。この場合の計算手法は、図下部の式で示したように、第1実施形態に示した計算手法(図6)と同様である。すなわち、図9下部の数式において、*は乗算を表し、max(resp(ω))はresp(ω)の最大値を表し、min(resp(ω))はresp(ω)の最小値を表し、Iter(Max)は反復回数の最大値を表し、Iter(Min)は反復回数の最小値を表し、stepは反復回数のステップサイズ(10とすれば、10、20、30、のように更新回数が決まる)を表し、R(・)は最近傍整数への丸めを表している。すなわち、resp(ω)の最大値max(resp(ω))、最小値min(resp(ω))が、反復回数の最大値Iter(Max)、最小値Iter(Min)に対応し、この範囲内で音声帯域通フィルタの周波数応答resp(ω)に基づき反復回数が割り当てられる。例えば、最小反復回数10回、最大100回、ステップサイズ10とすれば、resp(ω)に応じて、10、20、30、…、100という反復回数が決定される。なお、resp(ω)がωの連続関数であるとすれば、中間値の定理によって、resp(ω)の周波数分割帯域における平均値=resp(ωm)を満足するωmがその周波数分割帯域に存在するので、式の右辺におけるresp(ω)中のωがωmに等しいとすれば、右辺におけるωの値が確定したものとなる。また、式の左辺におけるωは、その周波数分割帯域におけるωの代表値を表しているので、そのωもωmに等しいとすれば、両辺のωが同一なものとなる。
【0054】
上記の反復回数の決定方法は、各該周波数分割帯域における学習の反復回数を、それぞれの周波数分割帯域において音声帯域通過フィルタの通過率の平均値に正比例するように決定する方法を含んでいる。
【0055】
上記の方法を一般化して、周波数分割帯域の任意の2つを帯域1、帯域2としたときに、帯域1におけるresp(ω)の平均値が帯域2におけるresp(ω)の平均値以上であれば必ず帯域1における学習の反復回数が帯域2における学習の反復回数よりも小とはならず、周波数分割帯域の2つ以上における学習の反復回数は相異なるように、各周波数分割帯域における前記学習の反復回数を決定する方法を用いてもよい。
【0056】
また、上記説明では予め車室内にて得られる目的信号(実際には目的信号に近い観測信号、雑音の極めて少ない時に観測された音声等を指す)と非目的信号を用いて、事前にIter(ω)を決定し、これを適用する手法について説明したが、検知手段にて実際に検出される目的信号あるいは非目的信号を用いて、動的にIter(ω)を求めることも可能であり、この場合も上述と同様の反復回数決定手法を用いることができる。このうち、非目的信号として実際に検知された信号を用いる例について、第3実施形態で詳しく述べる。
【0057】
(第3実施形態)
第3実施形態として、第1及び第2実施形態の基本構成を用い、特に車両内での音声入力方法として具体化した一実施形態について説明する。
【0058】
図10は、第3実施形態の基本構成を示したブロック図である。この基本構成は、保持する分離フィルタを用いた音源分離処理と、音環境の変化に応じて分離フィルタを更新する更新処理と、更に音声を高S/Nで検出したときにこれを収録する処理との3系統から構成される。
【0059】
図10中、301-1〜301-nは、目的音と非目的音とが混在する音響を検知し、目的信号と非目的信号とが混在する複数の検知信号として出力する複数の音響センサであるマイクロフォンであり、一般的なマイクロフォンによって実現され、図11におけるマイクロフォン401-1〜401-nに対応する。302は、マイクロフォン301-1〜301-nの出力である検知信号を検知して離散信号に変換する検知手段であり、図11におけるフィルタ(アンチエリアシングフィルタ)402、AD変換部403、演算装置404に対応する。
【0060】
303は図11における情報収集部406に対応するスイッチ手段であり、車両に配置されている各種スイッチの情報を取り入れる。空調機スイッチ、窓開閉スイッチ、ワイパースイッチ、PTT(Push to Talk)スイッチなどで実現され、スイッチ情報に変化が生じた場合に、音環境の変化として検出し、分離フィルタの更新処理を行う。すなわち帯域分割手段以降の処理を開始する。
【0061】
304は図11における情報収集部406に対応するセンサ手段であり、車両に配置されている各種センサの情報を取り入れる。速度センサ、エンジン回転数センサ、着座センサ、車室内カメラなどで実現される。センサ手段304の取得する情報に変化が生じた場合に、それを音環境の変化として検出し、分離フィルタの更新処理を行う。スイッチ手段303、センサ手段304からの情報の変化を「音環境の変化」として捉え、分離フィルタの更新処理を行う。例えば、空調機の強さが変化した、速度が上がったなどの情報を音環境の変化として捉える。
【0062】
305は図11における演算装置404及び記憶装置405に対応する判断手段であり、音環境変化及び音声信号の有無について監視、判断を行う。ここで、音環境とは、検知信号(観測された検知信号)を構成する目的信号(音声)と非目的信号(雑音)のスペクトル、パワースペクトルなどの特徴のことである。音環境判断及び音声信号有無の判断のために、上記各種スイッチ手段、センサ手段の情報、あるいは検知信号のスペクトルなどを用いることができる。判断は以下の3通りである。
1:音環境(目的信号、非目的信号の特徴)に変化無し。そのときは、現在保持する分離フィルタ(逆混合フィルタ)をそのまま保持し続ける。この状態で、音声が入力された場合は、保持する分離フィルタを用いて観測信号から音声を抽出する。
2:音環境に変化あり。こにときは、フィルタの更新を行う。現在の観測信号を用いて、帯域分割、分析、反復過程決定を行い、決定された学習回数に基づき分離フィルタを再学習、更新する。
3:高S/N音声が検出されたとき:アイドリング中など、非目的信号(雑音)が目的信号(音声)に対して十分無視できるほど小さい環境において、目的信号(音声)が検出された場合に、該信号を参照信号として収録し、記憶手段へ記憶する。
【0063】
306は図11における演算装置404及び記憶装置405に対応する帯域分割手段であり、検知手段302によって離散信号に変換された検知信号(時間領域の信号系列)を周波数領域に変換し、更に、音響周波数帯域を複数の周波数分割帯域に分割する。分解するための変換としては、直交変換であればいずれを用いてもよい。
【0064】
307は図11における演算装置404及び記憶装置405に対応する分析手段であり、検知信号(観測信号)を周波数ごとに分析し、含まれる目的信号と非目的信号である不要信号それぞれの強さを比較する。ただし、目的信号は記憶手段308に事前に記憶する音声信号とし、非目的信号は音声が検出されていないときの検知信号とする。分析対象としては、第1、第2実施形態のように、帯域ごとのS/Nや、適応処理により生成した分離フィルタの周波数応答などとする。
【0065】
演算装置404は、CPU、MPU、DSP、FPGAなどと、一般的な動作回路を組み合わせることによって構成される。
【0066】
記憶装置405は、キャッシュメモリ、メインメモリ、HDD、CD、MD、DVD、光ディスク、FDDなど、一般的な記憶媒体を用いて構成される。
【0067】
308は図11における演算装置404及び記憶装置405に対応する記憶手段であり、目的信号を記憶する。高S/N音声(極低雑音環境下で取得された音声)が収録された場合にこれを記憶する。初期値としては、例えば複数の人の音声を重ね合わせた信号である会話音声類似雑音(Human Speech Like Noise、HSLN、梶田将司・小林 大祐・武田一哉・板倉文忠、「ヒューマンスピーチライク雑音に含まれる音声的特徴の分析、日本音響学会誌,vol.53,No.5,pp.337-345,1997参照))などが好ましい。高S/N音声が収録された場合に、初期値として記憶された信号を置き換える、あるいは上記初期値信号に加算するなどとする。これにより、目的信号が、実際の使用者の音声に近いものとなる。
【0068】
309は図11における演算装置404及び記憶装置405に対応する反復回数決定手段であり、分析手段307において分析した結果(目的信号と非目的信号のS/Nや該信号を用いて適応生成した分離フィルタの周波数応答)に基づき、学習処理における反復回数を決定する。決定手法としては第1、第2実施形態に示した手法などを用いる。
【0069】
310は図11における演算装置404及び記憶装置405に対応するフィルタ計算手段であり、反復回数決定手段309の決定した学習回数に基づき、分離フィルタの学習を行う。学習処理終了後のフィルタを更新後分離フィルタとしてフィルタ手段311へ上書きする。分離フィルタ学習のアルゴリズムとしては、例えば周波数ICAを用いる。
【0070】
311は図11における演算装置404及び記憶装置405に対応するフィルタ手段であり、保持している分離フィルタを検知信号(雑音の混合された音声信号)に適用し、検知信号に含まれる目的信号(音声信号)を抽出し、出力信号として出力する。
【0071】
図11は、本実施形態を実現するシステム構成の一例を示した図であり、情報収集部406以外は、図2に示した構成と同様の構成を示している。
【0072】
本実施形態では、非目的信号として実際に検知手段により検知された信号を用いる。非目的信号は車両の走行条件などにより変化するものと考えられるため、この変化に適応して反復回数を動的決定する。また、目的信号も話者の交代などにより変化することが考えられるため、使用者の音声が高S/N環境下で検出されたときにはこれを目的信号として蓄積する機構も備えた。
【0073】
更に本実施形態では、処理負荷の高い分離フィルタ更新処理を削減するために、分離フィルタの更新処理と分離フィルタを用いた音源分離処理を別系統の処理とし、分離フィルタ更新処理は音環境の変化が検出されたときだけおこなう構成とする。
【0074】
本実施形態は、第1実施形態の構成に、車両に配置された各種スイッチ手段と、各種センサ手段と、検知信号、スイッチ情報、センサ情報に基づき音環境の変化の有無を判断する判断手段と、該検知信号から現在の目的信号及び非目的信号の情報量を推定する分析手段と、記憶手段と音声区間検出手段を加えた構成となっている。
【0075】
また、本実施形態においては、目的信号と非目的信号を同時間に独立して取得することは困難であるため、(目的信号と非目的信号が混合された信号が観測される状況において、目的信号を抽出する方法が本発明の主旨であるため)非目的信号を雑音のみが存在する時の検知信号、目的信号を、非目的信号のエネルギーが低いときに発話された話者の音声信号として別時刻にそれぞれ取得する構成とし、これらの信号を用いて現在の目的信号及び非目的信号の情報量を推定する。
【0076】
尚、音声信号の有無は、検知信号のスペクトルの分析結果や、PTT(Push to Talk)スイッチなどのスイッチ手段、車室内カメラなどのセンサ手段を用いて検出できる。また音環境の変化は、話者の交代による目的信号の周波数特徴の変化、及び車両の速度、空調機レベルに基づく非目的信号の変化に相当するが、これについても、検知信号のスペクトル分析結果や、車室内の各種スイッチ手段の情報、車両の各所に配置されたセンサ手段などの情報を用いて検出することができる。
【0077】
本処理の全体の流れを図12に、音環境を判断する処理について図13に示し、分離フィルタ更新処理について図14に表記する。図13に示す判断処理において、音環境に変化があるか否か、音声信号が低S/Nで検出されたかなどを判断し、この結果に基づき図12における音源分離処理、音声収録処理、分離フィルタ更新処理の何れかを行う。分離フィルタ更新処理では、個々に取得した目的信号と非目的信号を用いて帯域ごとの更新回数を決定し、これに基づきフィルタ学習を行う。更新回数決定方法やフィルタ更新方法については、第1、第2実施形態に述べた手法を適用する。
【0078】
本実施形態によれば、音環境が変化したときに、該音環境に適した反復回数を用いて分離フィルタを更新することができるため、演算量を削減し、分離性能の高い分離フィルタを得ることが可能である。
【0079】
図12はシステム全体の動作フローを示している。
S201でシステムの初期化、メモリへの読込作業を行う。
S202で音入力を検知する。検知したらS203へ進む。
S203で目的信号(音声)の有無、音環境変化の有無、非目的信号の有無を判断する(詳細は図13のフロー図に示す)。
S204で目的信号フラグ(検知信号に音声が含まれているか否かを示すフラグ)がFalseであればS205へ、TrueであればS207へ進む。
S205で音環境フラグがTrueであればS206の分離フィルタ更新処理へ進み、Falseであれば処理を終了する。
S206で分離フィルタの学習、更新作業を行う(詳細は図14のフロー図に示す)。
S207で非目的信号微小フラグ(検知信号に含まれる不用信号が目的信号に比べて十分小さいか否かを示すフラグ)がTrueであればS208へ、FalseであればS210へ進む。
S208で音声区間を検出する。区間検出には検知信号のエネルギーの変化、スペクトルの変化、及びPTTスイッチの情報や車室内カメラの情報を用いることができる。
S209で検出された音声区間を新規参照信号として記憶手段308へ記憶する。検出される度に、話者や性別ごとに分類して加算平均することが好ましい。初期値としてはHSLNなどを用いることができる。
S210で現在保持する分離フィルタWを検知信号へ適用して目的信号の抽出を行う。
【0080】
図13は判断手段(図10の305)の判断処理フローを示している。
S301で下記のフラグを初期化する(Falseで初期化)する。各フラグは以下のことを表す。目的信号フラグ:Voice-act 検知信号に音声が含まれているか否か、非目的信号微小フラグ:Noise-small 検知信号に含まれる非目的信号が目的信号に比べて十分小さいか否か、音環境変化フラグ:Env-change 音環境が変化したか否か。
S302で時刻T-mにおける音環境情報を取得する。mは処理間隔時間である。音環境情報は、検知信号パワー、検知信号スペクトル、各種スイッチ情報、各種センサ情報などの何れか、あるいは複数を組み合わせたデータから生成され、これらデータに基づき、複数の音環境に分類されるものとする。分類は、該信号スペクトルや、速度、空調機レベルなどの状態と雑音成分特性を対応させたデータベースを参照するなどして行う。
S303で時刻T(現在)における音環境情報を取得する。
S304で時刻TとT-mにおける音環境情報を比較し、検知信号に目的信号(音声)が含まれるかを判定する。音声が含まれると判断した場合はS305へ、含まれないと判断された場合はS306へ進む。音声信号の有無は、検知信号のパワー変化、スペクトル変化、PTTスイッチの押下情報、車室内カメラの検出結果などを用いて判断できる。
S305で目的信号フラグを立てる(Voice-act=True)。
S306で非目的信号(雑音)のエネルギーが閾値より小さいか否かを判定する。閾値より小さい場合はS307へ、閾値以上の場合はS308へ進む。閾値は例えば目的信号(参照信号として用いる音声信号)と非目的信号(雑音信号)とのS/Nが10dB以上となる時の検知信号のエネルギーとする。
S307で非目的信号微小フラグを立てる(Noise-small=True)。
S308で時刻Tの音環境情報と、時刻T-mの音環境情報を比較する。比較結果音環境情報が異なる場合はS309へ進み、同一の場合は処理を終了する。
S309で音環境フラグを立てる(Env-change=True)。
【0081】
図14は分離フィルタ更新処理(図10の帯域分割手段306〜フィルタ計算手段310)の処理フローを示している。
S401で検知信号の帯域分割処理を行う。周波数ビンごとの帯域幅は固定でも可変でも良い。
S402で検知信号と参照信号の分析処理を行う。第1実施形態ではパワーの比較を行う(図4)。第2実施形態では適応フィルタ手法により反復回数決定用フィルタである音声帯域通過フィルタを生成する(図7)。
S403で分析処理の結果に基づき反復回数Iter(ω)を決定する。決定方法は第1実施形態に示した手法(図5、図6)、及び第2実施形態に示した手法(図9)などを用いればよい。
S404で更新フラグRenew(ω)をすべての帯域ωに大してTrueに初期化する。
S405で更新回数フラグを0に初期化する(Iteration=0)。
S406で帯域フラグを1に初期化する(ω=1)。
S407で更新フラグRenew(ω)=TrueであればS408へFalseであればS409へ進む。
S408で帯域ωについて、分離フィルタの計算を行う。分離フィルタの計算手法としては、周波数領域ICAなどを適用する。
S409で帯域フラグを加算する(ω=ω+step(ω)(step(ω):周波数ビンの帯域幅))。
S410で帯域フラグωの値が帯域の最大値Max(ω)に等しいときはS411へ、等しくないときはS411へ進む。帯域の最大値Max(ω)は例えばシステムのナイキスト周波数とする。
S411で更新回数フラグを加算する(Iteration=Iteration+1)。
S412で更新回数Iterationが更新フラグRenew(ω)に等しいときはS413へ、等しくないときはS414へ進む。
S413で帯域ωについて、更新フラグRenew(ω)=Falseとする。次回の更新よりこの帯域は更新処理が行われない。
S414で全帯域ωについて、更新フラグRenew(ω)=Falseならば処理終了。そうでない場合はS406へ戻る。
【0082】
(第4実施形態)
本実施例は各種スイッチ手段、センサ手段の情報の組み合わせと、該組み合わせが検出されるときの音環境を事前に分析、分類したデータ、及び該音環境における分離フィルタ更新処理時の最適な反復回数Iter(ω)を対応させたデータをそれぞれ記憶する手法である。
【0083】
その構成を図15に示す。図において、図10における同じ名称、機能については説明を省略する。
【0084】
図中、505は図11における演算装置404及び記憶装置に対応する判断手段であり、音環境変化及び音声信号の有無について監視、判断を行う。本実施形態では、スイッチ手段503及びセンサ504の情報と音環境を事前に対応させて記憶手段506にテーブルとして記憶している。したがって、スイッチ、センサ手段の情報から、逐次テーブルを参照することで音環境を取得し、この音環境の変化に基づき、フィルタ更新処理を行う。
【0085】
506は図11における記憶装置405に対応する記憶手段1であり、各種スイッチ手段、センサ手段が出力する情報と、その時の音環境を予め分類記憶したテーブルを記憶する。
【0086】
508は図11における記憶装置405に対応する記憶手段2であり、ここには、記憶手段1に分類記録されている音環境と、該音環境において最適な分離フィルタ学習時の更新回数Iter(ω)が対応して記憶されている。
【0087】
図16は本実施形態の全体動作を示したフローチャートである。
S501でシステムの初期化、メモリへの読込作業を行う。
S502で音入力を検知する。検知したらS503へ進む。
S503で音声信号を検知する。検知したらS504へ、検知しない場合はS502へ進む。
S504でスイッチ手段(図15の503)、センサ手段(図15の504)の情報と、記憶手段1(図15の506)のデータテーブルを参照し、現在の音環境を取得する。
S505で、S504で取得した音環境がそれまで保持していた音環境と異なる場合はS506へ、そうでなければS502へ進む。
S506で分離フィルタ更新処理を行う。詳細は図17のフローチャートに示す。
S507で検知信号に対して分離フィルタW(ω)を適用して音源分離(音声抽出)を行う。
【0088】
図17は本実施形態の分離フィルタ更新処理の流れを示したフローチャートである。
S601でシステムの初期化、メモリへの読込作業を行う。
S602で現在の音環境に対応するフィルタ更新処理の反復回数(Iter(ω))を取得する。
S603で検知信号の帯域分割処理を行う。周波数ビンごとの帯域幅は固定でも可変でも良い。
S604で更新フラグRenew(ω)をすべての帯域ωに対してTrueに初期化する。
S605で更新回数フラグを0に初期化する(Iteration=0)。
S606で帯域フラグを1に初期化する(ω=1)。
S607で更新フラグRenew(ω)=TrueであればS109へ、FalseであればS110へ進む。
S608で帯域ωについて、分離フィルタの計算を行う。分離フィルタの計算手法としては、周波数領域ICAなどを適用する。
S609で帯域フラグを加算する(ω=ω+step(ω)(step(ω):各周波数帯の帯域幅))。
S610で帯域フラグωの値が帯域の最大値Max(ω)に等しいときはS611へ進み、等しくないときはS607へ戻る。帯域の最大値Max(ω)は例えばシステムのナイキスト周波数とする。
S611で更新回数フラグを加算する(Iteration=Iteration+1)。
S612で更新回数Iterationが更新フラグRenew(ω)に等しいときはS613へ、等しくないときはS614へ進む。
S613で帯域ωについて、更新フラグRenew(ω)=Falseとする。次回の更新よりこの帯域は更新処理が行われない。
S614で全帯域ωについて、更新フラグRenew(ω)=FalseならばS615へ進み、そうでない場合はS606へ戻る。
S615で更新処理の結果生成された分離フィルタW(ω)をフィルタ手段へとコピーする。
【0089】
図18に、各種センサ情報と、それに対応する音環境のデータテーブルを記憶した例を示す。この例では、速度域、空調機レベル、エンジン回転数から音環境を分類し、対応させて記憶している。
【0090】
図19に、各音環境と、該音環境下での最適な反復回数を対応させたデータテーブルを記憶した例を示す。更新回数のテーブル作成にあたっては、第1、第2実施形態のように、各音環境における目的信号、非目的信号を用いて、第1、第2実施形態に示すような手法で、予め最適な学習回数を決定しておく。
【0091】
判断手段505は前記センサ情報と音環境を対応させたデータテーブルを参照して、現在の音環境を判断し、反復回数決定手段507は、該音環境と反復回数を対応させたデータテーブルを参照して現在の音環境に適する反復回数を決定する。すなわち、判断手段505によって判断され決定された音環境に対応する前記学習の反復回数を記憶手段508から読み出し、該反復回数だけ前記分離フィルタを取得するための学習を反復することができる。
【0092】
本手法によれば、車室内において検出されるセンサ情報の変化に応じて最適な反復回数が決定され、この反復回数に基づき分離フィルタが更新されるため、分離フィルタの計算量を削減することが可能である。
【0093】
従来の周波数領域ICA手法においては、全ての周波数帯域について、帯域毎にICAによる分離フィルタの計算が行われる構成となっていたため、計算量が大きくなる。
【0094】
上記第1乃至第4実施形態によって詳細に説明したように、本発明では、この点を改良し、ICAによる分離フィルタ学習の前に、周波数ごとに入力信号に含まれる目的信号と非目的信号との強さを比較する手段を設け、目的信号が非目的信号より小さいと判断された帯域は、目的信号が非目的信号より大きいと判断された帯域より学習回数を小さくすることによって、一般的な周波数領域ICAと比較してわずかな計算量で済む処理過程及びシステムを提供する。このように、本発明においては、分離フィルタ学習する周波数帯域を適応的に判断できるため、すべての帯域において分離フィルタ学習行う従来の周波数領域ICA手法と比較して少ない計算量で済む。
【図面の簡単な説明】
【0095】
【図1】第1実施形態の基本構成を示したブロック図である。
【図2】第1実施形態を実現するシステム構成の一例を示す図である。
【図3】第1実施形態の処理の流れを示したフローチャートである。
【図4】雑音成分と参照信号の比較を示した図である。
【図5】第1実施形態の反復回数決定方法(その1)を示した図である。
【図6】第1実施形態の反復回数決定方法(その2)を示した図である。
【図7】第2実施形態における適応処理手段の基本的な構成を示した図である。
【図8】第2実施形態の適応処理によって生成した分離フィルタの周波数応答を示した図である。
【図9】第2実施形態の反復回数決定方法を示した図である。
【図10】第3実施形態の基本構成を示したブロック図である。
【図11】第3実施形態を実現するシステム構成の一例を示した図である。
【図12】第3実施形態の処理の流れを示したフローチャートである。
【図13】第3実施形態の判断手段の処理の流れを示したフローチャートである。
【図14】第3実施形態の分離フィルタ更新処理の流れを示したフローチャートである。
【図15】第4実施形態の基本構成を示したブロック図である。
【図16】第4実施形態の処理の流れを示したフローチャートである。
【図17】第4実施形態の分離フィルタ更新処理の流れを示したフローチャートである。
【図18】第4実施形態のセンサ情報と音環境を対応させたデータテーブルを示した図である。
【図19】第4実施形態の音環境と反復回数を対応させたデータテーブルを示した図である。
【符号の説明】
【0096】
101-1、101-n:マイクロフォン、102:検知手段、103:帯域分割手段、104:反復回数決定手段、105:フィルタ計算手段、106:フィルタ手段、201-1、201-n:マイクロフォン、202:フィルタ、203:AD変換部、204:演算装置、205:記憶装置、301-1〜301-n:マイクロフォン、302:検知手段、303:スイッチ手段、304:センサ手段、305:判断手段、306:帯域分割手段、307:分析手段、308:記憶手段、309:反復回数決定手段、310:フィルタ計算手段、311:フィルタ手段、401-1〜401-n:マイクロフォン、402:フィルタ、403:AD変換部、404:演算装置、405:記憶装置、406:情報収集部、501-1〜501-n:マイクロフォン、502:検知手段、503:スイッチ手段、504:センサ手段、505:判断手段、506:記憶手段1、507:反復過程決定手段、508:記憶手段2、509:帯域分割手段、510:フィルタ計算手段、511:フィルタ手段。
【特許請求の範囲】
【請求項1】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、各該周波数分割帯域における前記学習の反復回数を、それぞれの周波数分割帯域において前記検知信号に含まれる前記目的信号の平均強さに正比例するように決定する反復回数決定手段とを有することを特徴とする音声入力装置。
【請求項2】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、各該周波数分割帯域における前記学習の反復回数を、それぞれの周波数分割帯域において前記検知信号に含まれる前記非目的信号の平均強さに反比例するように決定する反復回数決定手段とを有することを特徴とする音声入力装置。
【請求項3】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、各該周波数分割帯域において前記検知信号に含まれる前記非目的信号の強さに対する前記目的信号の強さの比を求め、該周波数分割帯域の任意の2つを帯域1、帯域2としたときに、帯域1における該比の平均値が帯域2における該比の平均値以上であれば必ず帯域1における前記学習の反復回数が帯域2における前記学習の反復回数よりも小とはならず、該周波数分割帯域の2つ以上における前記学習の反復回数は相異なるように、各該周波数分割帯域における前記学習の反復回数を決定する反復回数決定手段とを有することを特徴とする音声入力装置。
【請求項4】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、各該周波数分割帯域における前記学習の反復回数を、それぞれの周波数分割帯域において前記検知信号に含まれる前記非目的信号の強さに対する前記目的信号の強さの比の平均値に正比例するように決定する反復回数決定手段とを有することを特徴とする音声入力装置。
【請求項5】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割し、各該周波数分割帯域における前記学習を、それぞれの周波数分割帯域において、該周波数分割帯域の2つ以上における前記学習の反復回数は相異なるように予め決定された反復回数だけ反復することを特徴とする音声入力装置。
【請求項6】
前記検知信号に含まれる前記非目的信号の強さに対する前記目的信号の強さの比を分析する分析手段を有し、前記反復回数決定手段が、各前記周波数分割帯域における前記学習の反復回数を、それぞれの周波数分割帯域において該分析手段によって得られた該比の平均値によって決定することを特徴とする請求項3または4に記載の音声入力装置。
【請求項7】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、前記検知信号に含まれる前記非目的信号が大きい帯域ほど強く抑圧するような帯域通過フィルタを生成する適応処理手段と、該周波数分割帯域の任意の2つを帯域1、帯域2としたときに、帯域1における該帯域通過フィルタの通過率の平均値が帯域2における該帯域通過フィルタの通過率の平均値以上であれば必ず帯域1における前記学習の反復回数が帯域2における前記学習の反復回数よりも小とはならず、該周波数分割帯域の2つ以上における前記学習の反復回数は相異なるように、各前記周波数分割帯域における前記学習の反復回数を決定する反復回数決定手段とを有することを特徴とする音声入力装置。
【請求項8】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、前記検知信号に含まれる前記非目的信号が大きい帯域ほど強く抑圧するような音声帯域通過フィルタを生成する適応処理手段と、各該周波数分割帯域における前記学習の反復回数を、それぞれの周波数分割帯域において該音声帯域通過フィルタの通過率の平均値に正比例するように決定する反復回数決定手段とを有することを特徴とする音声入力装置。
【請求項9】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、前記検知信号に含まれる音環境の内容を判断し決定する判断手段と、該音環境に対応する前記学習の反復回数を記憶する記憶手段とを有し、各該周波数分割帯域において、該判断手段によって判断され決定された音環境に対応する前記学習の反復回数を該記憶手段から読み出し、該読み出した反復回数だけ前記分離フィルタを取得するための学習を反復することを特徴とする音声入力装置。
【請求項1】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、各該周波数分割帯域における前記学習の反復回数を、それぞれの周波数分割帯域において前記検知信号に含まれる前記目的信号の平均強さに正比例するように決定する反復回数決定手段とを有することを特徴とする音声入力装置。
【請求項2】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、各該周波数分割帯域における前記学習の反復回数を、それぞれの周波数分割帯域において前記検知信号に含まれる前記非目的信号の平均強さに反比例するように決定する反復回数決定手段とを有することを特徴とする音声入力装置。
【請求項3】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、各該周波数分割帯域において前記検知信号に含まれる前記非目的信号の強さに対する前記目的信号の強さの比を求め、該周波数分割帯域の任意の2つを帯域1、帯域2としたときに、帯域1における該比の平均値が帯域2における該比の平均値以上であれば必ず帯域1における前記学習の反復回数が帯域2における前記学習の反復回数よりも小とはならず、該周波数分割帯域の2つ以上における前記学習の反復回数は相異なるように、各該周波数分割帯域における前記学習の反復回数を決定する反復回数決定手段とを有することを特徴とする音声入力装置。
【請求項4】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、各該周波数分割帯域における前記学習の反復回数を、それぞれの周波数分割帯域において前記検知信号に含まれる前記非目的信号の強さに対する前記目的信号の強さの比の平均値に正比例するように決定する反復回数決定手段とを有することを特徴とする音声入力装置。
【請求項5】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割し、各該周波数分割帯域における前記学習を、それぞれの周波数分割帯域において、該周波数分割帯域の2つ以上における前記学習の反復回数は相異なるように予め決定された反復回数だけ反復することを特徴とする音声入力装置。
【請求項6】
前記検知信号に含まれる前記非目的信号の強さに対する前記目的信号の強さの比を分析する分析手段を有し、前記反復回数決定手段が、各前記周波数分割帯域における前記学習の反復回数を、それぞれの周波数分割帯域において該分析手段によって得られた該比の平均値によって決定することを特徴とする請求項3または4に記載の音声入力装置。
【請求項7】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、前記検知信号に含まれる前記非目的信号が大きい帯域ほど強く抑圧するような帯域通過フィルタを生成する適応処理手段と、該周波数分割帯域の任意の2つを帯域1、帯域2としたときに、帯域1における該帯域通過フィルタの通過率の平均値が帯域2における該帯域通過フィルタの通過率の平均値以上であれば必ず帯域1における前記学習の反復回数が帯域2における前記学習の反復回数よりも小とはならず、該周波数分割帯域の2つ以上における前記学習の反復回数は相異なるように、各前記周波数分割帯域における前記学習の反復回数を決定する反復回数決定手段とを有することを特徴とする音声入力装置。
【請求項8】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、前記検知信号に含まれる前記非目的信号が大きい帯域ほど強く抑圧するような音声帯域通過フィルタを生成する適応処理手段と、各該周波数分割帯域における前記学習の反復回数を、それぞれの周波数分割帯域において該音声帯域通過フィルタの通過率の平均値に正比例するように決定する反復回数決定手段とを有することを特徴とする音声入力装置。
【請求項9】
目的音と非目的音とが混在する音響を音響センサで検知することによって目的信号と非目的信号とが混在する検知信号を取得し、各該検知信号から少なくとも一つの該目的信号を分離する分離フィルタを学習の反復によって取得する音声入力装置において、
音響周波数帯域を複数の周波数分割帯域に分割する帯域分割手段と、前記検知信号に含まれる音環境の内容を判断し決定する判断手段と、該音環境に対応する前記学習の反復回数を記憶する記憶手段とを有し、各該周波数分割帯域において、該判断手段によって判断され決定された音環境に対応する前記学習の反復回数を該記憶手段から読み出し、該読み出した反復回数だけ前記分離フィルタを取得するための学習を反復することを特徴とする音声入力装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2006−84974(P2006−84974A)
【公開日】平成18年3月30日(2006.3.30)
【国際特許分類】
【出願番号】特願2004−271584(P2004−271584)
【出願日】平成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 ]