(57)【要約】【課題】高速な処理で原信号を推定する。【解決手段】観測信号を予め定められたフレーム毎に分割することで、フレーム分割信号を生成し（２００、Ｓ２）、観測信号中の雑音区間から雑音分散値を推定し（Ｓ４、１００）、固定基底行列を記憶し（３０５）、固定基底行列とフレーム分割信号とを用いて、対角行列である分散対角行列を生成し（３２５、Ｓ５０）、前記雑音分散値と前記分散対角行列とを用いて、重み対角行列を計算し（４００、Ｓ６）、前記固定基底行列と前記重み対角行列とを用いて、推定行列を計算し（５００、Ｓ８）、前記フレーム分割信号に前記推定行列を畳み込むことで、フレーム推定信号を生成し（６００、Ｓ１０）、前記フレーム推定信号を重畳加算することで、前記原信号の推定信号を生成する（８００、Ｓ１４）。【選択図】図２
2009098203.tif 000002
【特許請求の範囲】
【請求項１】
原信号と雑音信号を含む観測信号から当該原信号を推定する信号推定装置であって、
前記観測信号を予め定められたフレーム毎に分割することで、フレーム分割信号を生成するフレーム分割部と、
前記観測信号中の雑音区間から雑音分散値を推定する雑音分散推定部と、
固定基底行列を記憶する固定基底行列記憶部と、
前記固定基底行列と前記フレーム分割信号とを用いて、対角行列である分散対角行列を生成する分散対角行列生成部と、
前記雑音分散値と前記分散対角行列とを用いて、重み対角行列を計算する対角成分計算部と、
前記固定基底行列と前記重み対角行列とを用いて、推定行列を計算する推定行列計算部と、
前記フレーム分割信号に前記推定行列を畳み込むことで、フレーム推定信号を生成するフレーム推定信号生成部と、
前記フレーム推定信号を重畳加算することで、前記原信号の推定信号を生成する重畳加算演算部と、
を備えることを特徴とする信号推定装置。
【請求項２】
請求項１記載の信号推定装置であって、
前記固定基底行列は、コサイン基底行列であることを特徴とする信号推定装置。
【請求項３】
請求項１または２記載の信号推定装置であって、
前記分散対角行列生成部は、
前記フレーム分割信号から当該フレーム分割信号の相関行列を計算する相関行列計算手段と、
前記相関行列と前記固定基底行列を用いて、前記分散対角行列を計算する相関行列対角化手段と、
を備えるものであることを特徴とする信号推定装置。
【請求項４】
請求項１または２記載の信号推定装置であって、
前記分散対角行列生成部は、
前記フレーム分割信号から前記観測信号の自己相関関数を計算する自己相関関数計算手段と、
前記観測信号の相関行列をトープリッツ行列に近似することで前記固定基底行列から求まる対角化行列を記憶する対角化行列記憶手段と、
前記自己相関関数と前記対角化行列とから前記分散対角行列を計算する対角化相関行列計算手段と、を備えるものであることを特徴とする信号推定装置。
【請求項５】
請求項１〜４何れかに記載の信号推定装置であって、
更に、
前記観測信号から当該観測信号の雑音区間を検出する雑音区間検出部と、
前記雑音区間から白色化フィルタを推定する白色化フィルタ推定部と、
前記フレーム分割信号に前記白色化フィルタを畳み込むことで、白色化フレーム分割信号を生成する白色化フィルタ処理部と、
現在の観測信号のフレームが、雑音区間であると、雑音分散値を更新する雑音分散更新部と、を備え、
前記フレーム推定信号生成部は、前記フレーム白色化フレーム分割信号に前記推定行列を畳み込むことで、前記フレーム推定信号を生成するものであり、
前記対角成分計算部は、前記更新された雑音分散値と前記分散対角行列とを用いて、重み対角行列を計算するものであることを特徴とする信号推定装置。
【請求項６】
観測信号を予め定められたフレーム毎に分割することで、フレーム分割信号を生成するフレーム分割部と、
前記観測信号から当該観測信号の雑音区間を検出する雑音区間検出部と、
前記雑音区間から白色化フィルタを推定する白色化フィルタ推定部と、
前記雑音区間についての雑音分散値を推定する雑音分散推定部と、
現在の観測信号のフレームが雑音区間であると、雑音分散値を更新する雑音分散更新部と、
前記フレーム分割信号に前記白色化フィルタを畳み込むことで、白色化フレーム分割信号を生成する白色化フィルタ処理部と、
前記白色化フレーム分割信号と前記雑音分散値を用いて、重み対角行列を計算する対角成分計算部と、
前記重み対角行列を用いて、推定行列を推定行列を推定する推定行列計算部と、
前記白色化フレーム分割信号に前記推定信号を畳み込むことで、フレーム推定信号を生成するフレーム推定信号生成部と、
前記フレーム推定信号を重畳加算することで、前記原信号の推定信号を生成する重畳加算演算部と、
を備えることを特徴とする信号推定装置。
【請求項７】
原信号と雑音信号を含む観測信号から当該原信号を推定する信号推定方法であって、
前記観測信号を予め定められたフレーム毎に分割することで、フレーム分割信号を生成する過程と、
前記観測信号中の雑音区間から雑音分散値を推定する過程と、
固定基底行列を記憶する過程と、
予め記憶されている固定基底行列と前記フレーム分割信号とを用いて、対角行列である分散対角行列を生成する過程と、
前記雑音分散値と前記分散対角行列とを用いて、重み対角行列を計算する過程と、
前記固定基底行列と前記重み対角行列とを用いて、推定行列を計算する過程と、
前記フレーム分割信号に前記推定行列を畳み込むことで、フレーム推定信号を生成する過程と、
前記フレーム推定信号を重畳加算することで、前記原信号の推定信号を生成する過程と、
を有することを特徴とする信号推定方法。
【請求項８】
観測信号を予め定められたフレーム毎に分割することで、フレーム分割信号を生成する過程と、
前記観測信号から当該観測信号の雑音区間を検出する過程と、
前記雑音区間から白色化フィルタを推定する過程と、
前記雑音区間についての雑音分散値を推定する過程と、
現在の観測信号のフレームが雑音区間であると、雑音分散値を更新する過程と、
前記フレーム分割信号に前記白色化フィルタを畳み込むことで、白色化フレーム分割信号を生成する過程と、
前記白色化フレーム分割信号と前記雑音分散値を用いて、重み対角行列を計算する過程と、
前記重み対角行列を用いて、推定行列を推定行列を推定する過程と、
前記白色化フレーム分割信号に前記推定信号を畳み込むことで、フレーム推定信号を生成する過程と、
前記フレーム推定信号を重畳加算することで、前記原信号の推定信号を生成する過程と、
を有することを特徴とする信号推定方法。
【請求項９】
請求項１〜６の何れかに記載される信号推定装置の各部としてコンピュータを機能させるための信号推定プログラム。
【請求項１０】
請求項９記載の信号推定プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば音声信号等の原信号に雑音が重畳した観測信号から当該原信号を推定する信号推定装置、その方法、そのプログラム、その記録媒体に関する。
【背景技術】
【０００２】
例えば、音声信号などのディジタル信号を伝送および蓄積する際には、外部から重畳する様々な雑音により品質が劣化する。重畳する雑音の性質が完全に推定可能であれば、雑音信号が重畳した信号（以下、「観測信号」という）から推定した雑音信号を引き去ることにより、原信号を推定し、品質を向上させることができる。観測信号とはその他、映像信号などである。観測信号から原信号を推定する手法として、部分空間法が提案されている（特許文献１参照）。
【０００３】
部分空間法は、観測信号を表現するベクトル空間において、原信号を表現する信号部分空間と、雑音信号を表現する雑音部分空間を推定する。その上で、信号部分空間に含まれる雑音成分が最小になるような推定行列を推定し、観測信号に当該推定行列を畳み込むことで原信号を高精度に推定する手法である。信号部分空間と雑音部分空間の推定は、観測信号に対するＫＬ変換（Karhunen-Loeve変換）を用いて行う。ＫＬ変換は、非特許文献１に詳細に記載されている。
【０００４】
図１に、従来の部分空間法を用いた信号推定装置２を示す。信号推定装置２は、雑音分散推定部１００、フレーム分割部２００、ＫＬ変換部２９０、フレーム推定信号生成部６００、推定行列計算部５００、対角成分計算部４００、窓関数演算部７００、重畳加算演算部８００、により構成されている。また、以下で説明する観測信号とは、ディジタル信号であり、ｚ（ｎ）と表す。ただし、ｎは離散時刻とする。
【０００５】
まず、雑音分散推定部１００は、観測信号ｚ（ｎ）の雑音分散値σを求める。雑音分散値σの求めかたの詳細は後ほど述べる。フレーム分割部２００は、観測信号ｚ（ｎ）を一定時間長（以下、「フレーム」という。）の信号に分割することで、フレーム分割信号ｚｉ（ｎ）を生成する。ただし、ｉはフレーム番号を表す。フレーム分割信号ｚｉ（ｎ）はＫＬ変換部２９０に入力される。
【０００６】
ＫＬ変換部２９０は、上記ＫＬ変換を行うことにより、主成分行列Ｖと主成分分散行列Ｓを求める。ＫＬ変換部２９０は、相関行列計算手段３００と主成分分析計算手段３２０により構成される。以下、主成分行列Ｖと主成分分散行列Ｓの求め方の詳細を述べる。
【０００７】
相関行列計算手段３００は、フレーム分割信号から当該フレーム分割信号の相関行列Ｒを生成する。また、相関行列Ｒとしてトープリッツ（Ｔｏｅｐｌｉｔｚ）行列ＲＴを生成しても良い。トープリッツ行列ＲＴを利用すると、以降の処理の代入や乗算などの演算回数を大幅に減らすことができ、高速に相関行列を近似計算できる。相関行列Ｒ、トープリッツ行列ＲＴの具体的な求め方は後ほど詳細に説明する。
【０００８】
主成分分析計算手段３２０は、相関行列Ｒを固有値分解することにより、以下の式（１）を満たす主成分行列Ｖと主成分分散行列Ｓを計算する。ここで、Ｖの各列は正規直交基底ベクトルからなる。またＳは対角行列である。
【０００９】
Ｓ＝ＶＣＲＶ
Ｓ＝ｄｉａｇ（ｓ［１］，ｓ［２］，．．．，ｓ［Ｎ］）    （１）
ただし、Ｎはフレーム長であり、ＶＣは行列Ｖの転置を示し、ｄｉａｇ（Ａ１，Ａ２，．．．，ＡＮ）は、Ａ１，Ａ２，．．．，ＡＮを対角要素とする対角行列を生成する関数である。
固有値分解は、特異値分解などのアルゴリズムを用いて、実行できる。詳細は非特許文献２に記載されている。
【００１０】
ところで、ＫＬ変換は直交変換の一種である。観測信号から、なるべく少数の基底で観測信号全体を表現できるような直交基底の組を求め、これを用いて観測信号を直交変換する。この直交基底が主成分（主成分行列Ｖに対応）である。主成分は、既に求めた他の主成分と直交することを制約条件とした上で、分散値（主成分分散行列Ｓに対応）を最大化する方向ベクトルを計算することで逐次的に求めることができる。主成分の計算をＬａｇｒａｎｇｅの未定乗数法などにより定式化すると、観測信号から求まる相関行列の固有ベクトルが主成分に各固有ベクトルに対応する固有値が主成分方向の分散値に対応するという結果を得る。従って、観測信号をＫＬ変換する処理は、観測信号から求まる相関行列を固有値分解することで、実現できる。詳細は非特許文献３に記載されている。
【００１１】
対角成分計算部４００は、主成分分析計算手段３２０よりの主成分分散行列Ｓの要素ｓ（ｋ）と雑音分散推定部１００よりの雑音分散値σを用いて、各主成分に対応する重みを計算して重み対角行列Ｑを生成する。重み対角行列Ｑの各要素ｑ（ｋ）は、例えば、以下の式（２）により求められる。
ｓ（ｋ）＞σの場合      ｑ（ｋ）＝ｓ（ｋ）／（ｓ（ｋ）＋μσ）
ｓ（ｋ）≦σの場合      ｑ（ｋ）＝０      （２）
そして、Ｑ＝ｄｉａｇ（ｑ（０），ｑ（１），．．．，ｑ（Ｎ−１））である。ただし、μはＬａｇｒａｎｇｅの乗数である。
【００１２】
次に、重み対角行列Ｑの求め方の概念を説明する。この重み対角行列Ｑの求め方の詳細は非特許文献１に記載されている。観測信号に重畳している雑音信号のレベルを閾値以下に抑えるという制約条件の下で、推定行列Ｈを作用させて得られる推定信号ｙ＾（フレーム推定信号生成部６００の出力）と観測信号ｚの差のパワーを最小化するような推定行列Ｈを直交基底により対角化して得られた行列が、重み対角行列Ｑに対応する。以下に、重み対角行列Ｑの求め方の詳細を述べる。
【００１３】
観測信号ｚの行列に対して推定行列Ｈを作用させて得られる推定信号ｙ＾は以下の式（３）で求められる。
ｙ＾＝Ｈｚ      （３）
原信号ｙと推定信号ｙ＾の誤差信号ｒは以下の式（４）により求められる
ｒ＝ｙ＾−ｙ
＝（Ｈ−Ｉ）ｙ＋Ｈω
＝ｒｙ＋ｒω      （４）
ここで、Ｉは単位行列であり、ωは観測信号ｚと同じサイズの白色雑音のベクトルであり、ｒｙは信号歪であり、ｒωは雑音信号の残差信号である。信号歪のパワーεｙ２と残差信号のパワーεω２は以下の式（５）により表すことができる。
εｙ２＝ｔｒＥ｛ｒｙｒｙＣ｝＝ｔｒ｛（Ｈ−Ｉ）Ｒｙ（Ｈ−Ｉ）Ｃ｝
εω２＝ｔｒＥ｛ｒωｒωＣ｝＝σｔｒ｛ＨＨＣ｝      （５）
ただし、Ｅ｛｝は期待値であり、ｔｒは固有和であり、Ｒｙは原信号の相関関数である。
従って、推定行列Ｈは次の式（６）で表される制約付最適化問題の解となる。
【００１４】
【数１】
2009098203.tif 000003
【００１５】
この制約付最適化問題をＬａｇｒａｎｇｅの未定係数法で解いた解は以下の式（７）のようになる。
Ｈ＝Ｒｙ（Ｒｙ＋μσＩ）−１    （７）
ただし、μはＬａｇｒａｎｇｅ乗数である。Ｈを求める際に、聴覚重みなどの制約を雑音の閾値に掛けるなどの手法により、Ｈの要素を変化させ、聴感を向上させることも可能である。詳細は非特許文献４に記載されている。
【００１６】
次に、信号部分空間と雑音部分空間を利用した推定行列Ｈについて述べる。主成分の計算において、最初の方に求まる主成分方向の分散値は大きく、後になるに従って、主成分方向の分散値は小さくなり、ほぼ「０」になる。この主成分方向の成分については、直交変換により得られる成分を捨てて、代わりに、平均値で代用しても、元の信号との誤差は最小となる。
【００１７】
音声信号のように周期性のある信号は、ベクトル空間中で偏りを持つ分布を形成するために、ＫＬ変換により直交変換を行うと、分散が大きな主成分とほぼ「０」になる主成分に分かれる。一方、白色雑音のように、周期性のない信号はベクトル空間中の偏りが少ない分布になり、全ての主成分方向の分散に大きな違いが生じない。
【００１８】
そして、原信号に白色の加法性雑音が重畳した観測信号を考える。ここでは、重畳する雑音として白色雑音を仮定して議論するが、事前に白色化フィルタを適用することにより有色性雑音を白色化することが可能であるため、一般性を失わない（非特許文献１参照）。観測信号ｚ（ｎ）をＫＬ変換する場合、主成分は観測信号の相関行列の固有ベクトルと一致する。観測信号ｚの相関行列は、原信号の相関行列と白色雑音の相関行列との和をとったものである。
【００１９】
原信号をＫＬ変換することにより求めた主成分を列ベクトルとして、横に並べてできる行列（主成分行列）で対角化すると特定の主成分方向にパワーが集中し、その他の主成分方向ではパワーがほぼ「０」になる。一方、白色雑音の相関行列は、各要素の値に雑音分散値σをもつ単位行列になる。ここで、相関行列は、非負定値対称行列であるので、固有値は全て非負になる。観測信号から求まる相関行列は式（４）で示したとおり、原信号の相関行列と雑音の相関行列の和となるので、観測信号から得られる相関行列を対角化して得られる対角行列は雑音分散値にほぼ等しい要素と、雑音分散値を越える要素をもつ行列となる。
【００２０】
従って、観測信号から求めた相関行列を対角化して得た対角行列の要素のうち、雑音分散値以下の要素に対応する主成分は雑音を表現する主成分となり、雑音の分散を超える要素に対応する主成分は原信号を表現する主成分となる。
【００２１】
以上をまとめると観測信号をＫＬ変換することにより求めた主成分行列を用いて、観測信号から求めた相関行列を対角化し、得られた対角行列の要素のうち、雑音分散値σより小さいものに対応する主成分を雑音部分空間の基底とし、そのほかの主成分を信号部分空間の基底とすることにより、観測信号ｚを表現するベクトル空間を信号部分空間と雑音部分空間に分離する。
【００２２】
ここで、推定行列Ｈはフレーム長をＮとすると、Ｎ×Ｎの大きさの正方行列である。フレーム分割信号を縦に並べてできるベクトルに対して、推定行列Ｈを左から掛けることにより得られる信号が、フレーム毎に推定された原信号（つまり、フレーム推定信号）になる。この推定行列Ｈを原信号の相関行列Ｒｙを固有値分解して得た直交行列により対角化すると、直交行列と対角行列の積により以下の式（８）のように表現できる。
【００２３】
【数２】
2009098203.tif 000004
【００２４】
ここで、Ｖは相関行列Ｒｙを固有値分解して得られる直交行列を表し、Ｇμは対角行列を表す。Ｇｕの各要素は次式で表される。
【００２５】
Ｇｕ＝ｄｉａｇ（ｇ（１），ｇ（２），．．．，ｇ（Ｍ））
ｇ（ｋ）＝λ（ｋ）／（λ（ｋ）＋μσ）    （９）  
ここで、λ（ｋ）は原信号ｙの相関行列の固有値であり、Ｍは信号部分空間の
次元である。以上をまとめると、推定行列Ｈを対角化して得られる行列Ｑは以下の式（１０）のようになる。
ｓ（ｋ）＞σの場合      ｑ（ｋ）＝ｓ（ｋ）／（ｓ（ｋ）＋μσ）
ｓ（ｋ）≦σの場合      ｑ（ｋ）＝０      （１０）
そして、Ｑ＝ｄｉａｇ（ｑ（０），ｑ（１），．．．，ｑ（Ｎ−１））である。なお、非特許文献１では、周波数領域における制約条件をもとに線形予測子を求める手法についても言及しているが、これを用いて求めた行列Ｑを用いても本発明と同様の効果を得られる。
【００２６】
推定行列計算部５００は、対角成分計算部４００より得た重み対角行列Ｑと主成分分析計算手段３２０より得た主成分行列Ｖとを用いて、推定行列Ｈを計算する。推定行列Ｈの求め方の詳細は後ほど説明する。
【００２７】
フレーム推定信号生成部６００は、フレーム分割部２００よりのフレーム分割信号ｚｉ（ｎ）に、推定行列計算部５００よりの推定行列Ｈを畳み込むことで、フレーム推定信号ｙｉ＾（ｎ）を生成する。
【００２８】
窓関数演算部７００は、以下の式（１１）のように、フレーム推定信号生成部６００よりのフレーム推定信号ｙｉ＾（ｎ）に対して、ハニング窓やハミング窓などの窓関数ｗを掛けることで、窓かけ推定信号ｙｗｉを生成する。
【００２９】
ｙｗｉ（ｎ）＝ｗ・ｙｉ＾（ｎ）    （１１）
重畳加算演算部８００は、窓関数演算部７００よりの窓かけ推定信号ｙｗｉとフレーム時間長Ｎの半分の時間長Ｎ／２づつ重ねて足し合わせることにより、フレーム分割前の原信号を推定する処理を行う。窓関数を掛けて重畳加算を行うことにより、推定信号がフレーム間境界において不連続となり、異音が生じる事を防ぐ。
【非特許文献１】Yariv Ephraim, Harry L.Van Trees,"A Signal Subspace Approach for Speech Enhancement", IEEE Trans.on Speech And Audio Processing, Vol.3,No.4,July 1995,pp251-266
【非特許文献２】William H.Press,Saul A.Teukolsky 他,"Numerical Recipes in C"、技術評論社
【非特許文献３】Aapo Hyvarinen,Juha Karhunen, Erkki Oja,"詳解独立成分分析"東京電機大学出版
【非特許文献４】Yi Hu, Philipos C.Loizou,"A Perceptually Motivated Subspace Approach for Speech Enhancement",ICSLP-2002,pp1797-1800
【発明の開示】
【発明が解決しようとする課題】
【００３０】
部分空間法を用いた観測信号に対する原信号の推定では、フレーム中の観測信号に対してＫＬ変換を行い、フレーム中の観測信号の主成分行列Ｖと主成分分散行列Ｓを求める必要がある。主成分行列Ｖと主成分分散行列Ｓを計算するためには、相関行列に対して特異値分解などの固有値計算アルゴリズム（特許文献２の記載）を実行するか、制約条件付の分散最大化アルゴリズムなどの手法を用いる必要があった。しかし、何れの手法を用いても膨大な演算量が必要であるため、部分空間法を用いて現実的な時間内に原信号の推定を行うことは困難という問題点がある。
【課題を解決するための手段】
【００３１】
この発明の信号推定装置は原信号と雑音信号を含む観測信号から当該原信号を推定するものであり、フレーム分割部と固定基底行列記憶部と分散対角行列生成部と対角成分計算部と推定行列計算部とフレーム推定信号生成部と重畳加算演算部とを備える。フレーム分割部は、観測信号を予め定められたフレーム毎に分割することで、フレーム分割信号を生成する。雑音分散推定部は、観測信号中の雑音区間から雑音分散値を推定する。固定基底行列記憶部は、固定基底行列を記憶する。分散対角行列生成部は、固定基底行列とフレーム分割信号とを用いて、対角行列である分散対角行列を生成する。対角成分計算部は、雑音分散値と分散対角行列とを用いて、重み対角行列を計算する。推定行列計算部は、固定基底行列と重み対角行列とを用いて、推定行列を計算する。フレーム推定信号生成部は、フレーム分割信号に推定行列を畳み込むことで、フレーム推定信号を生成する。重畳加算演算部は、フレーム推定信号を重畳加算することで、原信号の推定信号を生成する。
【００３２】
また、前記固定基底行列は、コサイン基底行列としてもよい。
【００３３】
また、前記分散対角行列生成部は、相関行列計算手段と、相関行列対角化手段と、で構成してもよい。相関行列計算手段は、フレーム分割信号から当該フレーム分割信号の相関行列を計算する。相関行列対角化手段は、相関行列と固定基底行列を用いて、分散対角行列を計算する。
【００３４】
また、前記分散対角行列生成部は、自己相関関数計算手段と、対角化行列記憶手段と、対角化行列計算手段と、で構成してもよい。自己相関関数計算手段は、フレーム分割信号から観測信号の自己相関関数ベクトルを計算する。対角化行列記憶手段は、観測信号の相関行列をトープリッツ行列に近似することで固定基底行列から求まる対角化行列を記憶する。対角化相関行列計算手段は、自己相関関数ベクトルと対角化行列とから分散対角行列を計算する。
【発明の効果】
【００３５】
上記の構成により、相関行列の対角化を行うために演算量が膨大である固有値分解などの処理を行う必要がない。従って、現実的な時間内に処理することが極めて困難な部分空間法に基づく原信号の推定を高速に行うことができる。
【発明を実施するための最良の形態】
【００３６】
以下に、発明を実施するための最良の形態を示す。なお、同じ機能を持つ構成部や同じ処理を行う過程には同じ番号を付し、重複説明を省略する。
【実施例１】
【００３７】
図２に実施例１の信号推定装置５０−１の機能構成例を示し、図３に信号推定装置５０−１の主な処理の流れを示す。信号推定装置５０−１は、ＫＬ変換部２９０が分散対角行列生成部３２５−１、固定基底行列記憶部３０５に代替されている点で従来の信号推定装置２（図１参照）と異なる。分散対角行列生成部３２５−１は、相関行列計算手段３００と相関行列対角化手段３３０とで構成されている。また、以下の説明での観測信号とは、例えば音声信号や映像信号などである。以下の説明では、観測信号を音声信号とし、観測信号は、推定すべき原信号と雑音信号とが含まれているものである。
【００３８】
まず、ディジタル信号である観測信号ｚ（ｎ）は、フレーム分割部２００と雑音分散推定部１００に入力される。ただし、ｎは離散時刻である。フレーム分割部２００は、観測信号ｚ（ｎ）を予め定められたフレーム毎に分割することで、フレーム分割信号ｚｉ（ｎ）を生成する（ステップＳ２）。ｉはフレーム番号である。また、ディジタル信号は一定の時間間隔（サンプリング間隔）毎に連続時間信号の値を取り出すことにより得られる。１秒間に行うサンプリング回数をサンプリング周波数という（例えば、１６ｋＨｚ）。予め定められたフレームｂを１０ｍｓとすると、フレーム長Ｎは、１６０サンプルになる。観測信号をフレーム毎に切り出す際に、各フレームは図４に示すように、直線のフレームとフレーム長の半分の時間長Ｎ／２だけ重なりを持って切り出される。
【００３９】
一方、雑音分散推定部１００は、観測信号ｚ（ｎ）中の雑音区間から雑音分散値σを推定する（ステップＳ４）。観測信号の入力開始からＢｍｓ（例えばＢ＝５０ｍｓ）の間の雑音分散値σを推定する場合には、例えば、以下の式（２０）を演算する。
【００４０】
【数３】
2009098203.tif 000005
【００４１】
相関行列計算手段３００は、フレーム分割信号ｚｉ（ｎ）から当該フレーム分割信号の相関行列Ｒを計算する（ステップＳ５２）。以下に、相関行列Ｒの生成処理を詳細に説明する。まず相関行列Ｒを計算するフレームに隣接する複数のサンプルを並べた以下の様な行列Ｘを生成する。相関行列Ｒを計算するフレームの１番目のサンプルをｚ（ｔ）とする。前後Ｔフレーム、合計２Ｔ+１フレーム分の観測信号を利用して行列Ｘを生成する。
【００４２】
【数４】
2009098203.tif 000006
【００４３】
この行列Ｘを用いて、相関行列Ｒを以下の式（２１）で求める。
Ｒ＝ＸＸＣ／２ＴＮ    （２１）
ここで、相関行列Ｒとして、トープリッツ行列ＲＴを用いることもできる。トープリッツ行列ＲＴは、観測信号の自己相関関数の値を用いて生成される。トープリッツ行列ＲＴを用いると以後の処理で行われる代入、乗算などの演算回数を大幅に減らすことができ、高速に相関行列Ｒを近似計算できる。以下、トープリッツ行列ＲＴの計算方法を述べる。
【００４４】
トープリッツ行列ＲＴは、フレーム中の観測信号から自己相関関数を求め、正方行列に代入することで、生成される。自己相関関数ｒ（τ）の定義は、以下の式（２２）で表すことができる。
ｒ（τ）＝（１／Ｎ）・ΣＮ−１−τｎ＝１ｚ（ｎ）ｚ（ｎ＋τ）    （２２）
（τ＝１，２，．．．，Ｎ）
しかし、自己相関関数を式（２２）の通りに計算すると膨大な時間がかかる場合がある。そこで、例えば、高速フーリエ変換を用いた計算の方が高速であることが知られている。従って、高速フーリエ変換を利用した以下の式（２３）で自己相関関数ｒ（ｍ）を求める。
ｒ（ｍ）＝（１／Ｎ）・ＦＦＴ−１［│Ｚ（ｋ）│２］    （２３）
ただし、ＦＦＴ−１［］は、逆フーリエ変換を示し、Ｚ（ｋ）は観測信号ｚ（ｎ）のフーリエ級数を表す。
【００４５】
次に、自己相関関数ｒ（ｍ）を以下の正方行列に代入することで、トープリッツ行列ＲＴが生成される。
【００４６】
【数５】
2009098203.tif 000007
【００４７】
以上のように相関行列に、トープリッツ行列を仮定することにより、高速フーリエ変換を利用した高速な自己相関関数の計算と行列への相関値の代入のみで相関行列の近似計算を高速に実現できる。
【００４８】
固定基底行列記憶部３０５は、固定基底行列を記憶する。固定基底行列は、以下で説明する相関行列対角化手段３３０による相関行列Ｒの対角化に用いられる。ここで、相関行列Ｒの対角化に用いられる基底として、コサイン基底、サイン基底、複素正弦波、ウェーブレットなどがある。そして、経験的に相関行列Ｒの対角化に用いられる基底として、コサイン基底を用いると、聴感が比較的良くなることが分かっている。以後の説明では、固定基底行列として、コサイン基底行列を用いる場合を説明する。
【００４９】
コサイン基底行列Ｕは、コサイン基底を縦ベクトルとして、これらを横に並べて構成される。コサイン基底行列Ｕのｉ行ｊ列の要素ｕｉｊは、例えば、以下の式（２４）で与えられる。
【００５０】
【数６】
2009098203.tif 000008
【００５１】
相関行列対角化手段３３０は、相関行列Ｒと固定基底行列Ｕを用いて、相関行列Ｒの対角化を行うことで、分散対角行列Ｄ１を計算する（ステップＳ５４）。分散対角行列Ｄ１は、以下の式（２５）により、相関行列ｒの対角化を近似することにより生成される。
Ｄ１＝ＵＣＲＵ    （２５）
なお、この式（２５）は、相関行列ｒに対する２次元離散コサイン変換に等しい。同様に、例えば、固定基底行列に複素正弦波を用いれば、相関行列の２次元フーリエ変換により相関行列Ｒの対角化を実現できる。ここで、式（２５）中のＲＵのように、Ｒに直交行列Ｕを右から掛けることは、Ｒの各行を離散コサイン変換して、結果の離散コサイン係数を各行に並べる処理に相当する。離散コサイン変換は、離散フーリエ変換同様、高速化アルゴリズムが存在するので、これを利用して、さらに高速化することも可能である。離散コサイン変換の高速化アルゴリズムは「W.Chen, C.H.Smith, S.C.Fralic, "A Fast computational algorithm for the discrete cosine transform",IEEE Trans. Commun., vol.COM-28, pp.1004-1009, 1979」に記載されている。
【００５２】
さらに、ＲＵの左からＵの転置行列を掛けた結果、得られる行列として対角行列を仮定しているので、対角成分のみを計算すれば十分である。従って、以下のような、アルゴリズムにより、行列の対角化を高速化できる。まず、Ｊ＝ＲＵを計算する。また、Ｊの求め方のもう一つの方法として、Ｒの各行に対して高速離散コサイン変換を行うことでこの処理を実行し、結果の離散コサイン変換を各行に並べて行列Ｊとすることも可能である。Ｊが求まると、以下の式（２６）により、分散対角行列Ｄ１を求めることができる。
Ｄ１＝ｄｉａｇ（ｕ１Ｃｊ１，ｕ２Ｃｊ２，．．．，ｕＮＣｊＮ）    （２６）
ただし、ｊｍは行列Ｊのｍ列を取り出してできるベクトルであり、ｕｎは、行列Ｕのｎ列目を取り出してできるベクトルである。このように、コサイン基底のような固定の直行基底を用いた相関行列の対角化では、求まる対角行列の非対角成分が完全に「０」にならないが、変換長が長くなるにつれて対角成分に対する非対角成分の値が「０」に近づきＫＬ変換による対角化に漸近することが知られている。従来技術の信号推定装置２による相関行列の対角化では、相関行列の固有値分解が必要であるが、この実施例１の信号推定装置５０−１であれば、式（２５）のような行列同士の積のみで、相関行列の対角化が可能となり、結果として、高速な処理が実現できる。
【００５３】
対角成分計算部４００は、相関行列対角化手段３３０よりの分散対角行列Ｄ１と雑音分散推定部１００よりの雑音分散値σとを用いて、重み対角行列Ｑを求める（ステップＳ６）。重み対角行列Ｑの各要素ｑ（ｋ）は、例えば、以下の式（２７）により求められる。
ｓ（ｋ）＞σの場合      ｑ（ｋ）＝ｓ（ｋ）／（ｓ（ｋ）＋μσ）
ｓ（ｋ）≦σの場合      ｑ（ｋ）＝０      （２７）
そして、Ｑ＝ｄｉａｇ（ｑ（０），ｑ（１），．．．，ｑ（Ｎ−１））である。ただし、Ｎは上述のようにフレーム長である。
【００５４】
推定行列計算部５００は、コサイン基底行列Ｕと重み対角行列Ｑとを用いて、推定行列Ｈを計算する（ステップＳ８）。推定行列Ｈは、以下の式（２８）により求められる。
Ｈ＝ＵＱＵＣ    （２８）
フレーム推定信号生成部６００は、フレーム分割信号ｚｉ（ｎ）に推定行列Ｈを畳み込むことで、フレーム推定信号ｙｉ＾（ｎ）を生成する（ステップＳ１０）。具体的には以下の式（２９）により生成される。
Ｙ＾ｉ＝ＨＺｉ    （２９）
ここで、Ｙ＾ｉ＝（ｙｉ＾（１），ｙｉ＾（２），．．．，ｙｉ＾（Ｎ））Ｃであり、
Ｚｉ＝（ｚｉ（１），ｚｉ（２），．．．，ｚｉ（Ｎ））Ｃである。
【００５５】
窓関数演算部７００は、フレーム推定信号Ｙ＾ｉに対して、ハニング窓やハミング窓などの窓関数ｗを掛ける（ステップＳ１２）。窓の長さはフレーム長と同じ長さであり、以下の式（３０）により窓関数演算を行うことで、窓掛け推定信号ｙｗｉ（ｎ）を生成する。
【００５６】
ｙｗｉ（ｎ）＝ｗｙｉ＾（ｎ）    （３０）
そして、窓掛け推定信号ｙｗｉ（ｎ）がフレーム推定信号として、重畳加算演算部８００に入力される。また、窓関数演算部７００はなくてもよく、フレーム推定信号生成部６００よりのフレーム推定信号ｙ＾ｉ（ｎ）を直接、重畳加算演算部８００に入力させてもよい。
【００５７】
重畳加算演算部８００は、フレーム推定信号を重畳加算することで、原信号の推定信号ｙ＾（ｎ）を生成する（ステップＳ１４）。例えば、図４に示すように、直前フレームの窓掛け推定信号ｙｗｉ（ｎ）もしくは直前フレームのフレーム推定信号ｙ＾ｉ（ｎ）と、フレーム時間長Ｎの半分の時間長Ｎ／２づつ重ねて足し合わせていくことにより、フレーム分割前の原信号の推定信号を生成する。窓関数演算部７００で窓関数ｗを掛けて重畳加算を行うことにより、推定信号がフレーム間境界において不連続となることで生じる異音を防ぐことができる。
【００５８】
このように、コサイン基底のような固定の直行基底を用いた相関行列の対角化では、求まる対角行列の非対角成分が完全に「０」にならないが、変換長が長くなるにつれて対角成分に対する非対角成分の値が「０」に近づきＫＬ変換による対角化に漸近することが知られている。上述のように、信号推定装置５０−１は、固定基底行列記憶部３０５に予め記憶させた固定基底行列と、相関行列を用いて、分散対角行列Ｄ１を生成する。従って、信号推定装置５０−１では、相関行列の対角化において、相関行列の固有値分解処理の必要がなく、式（２５）に示す行列同士の積のみで、相関行列の対角化処理が可能であり、結果として高精度に原信号を推定可能とし、かつ、高速な処理を実現できる。
【実施例２】
【００５９】
図５に実施例２の信号推定装置５０−２の機能構成例を示し、図６に信号推定装置５０−２の主な処理の流れを示す。信号推定装置５０−２の分散対角行列生成部３２５−２は、自己相関関数計算手段３４０と、対角化行列記憶手段３６０と、対角化相関行列計算手段３５０と、で構成されている点で、信号推定装置５０−１と異なる。
【００６０】
フレーム分割部２００よりのフレーム分割信号ｚｉ（ｎ）は、自己相関関数計算手段３４０に入力される。自己相関関数計算手段３４０は、フレーム分割信号ｚｉ（ｎ）から観測信号ｚ（ｎ）の自己相関関数ベクトルを計算する（ステップＳ６２）。具体的には、まず以下の式（３１）により計算する。
ｒ（ｍ）＝（１／Ｎ）・ＦＦＴ−１［│Ｚ（ｋ）│２］    （３１）
ただし、ＦＦＴ−１［］は、逆フーリエ変換を示し、Ｚ（ｋ）は観測信号ｚ（ｎ）のフーリエ級数を表す。そして、自己相関の値ｒ（ｍ）を以下の式（３２）のように縦に並べて自己相関関数ベクトルγを生成する。
γ＝（ｒ（１）、ｒ（２），．．．、ｒ（Ｎ））Ｃ    （３２）
一方、観測信号ｚ（ｎ）の相関行列Ｒをトープリッツ行列ＲＴに近似することで固定基底行列から求まる対角化行列を記憶する。実施例１同様、固定基底行列をコサイン基底行列とする。以下に、対角化行列の求め方について述べる。
【００６１】
上述のように、従来の信号推定装置２による部分空間法がフレーム中の観測信号から相関行列を計算するのに対し、この実施例２の信号推定装置５０−２では観測信号から計算した相関行列をトープリッツ行列に近似する。コサイン基底行列を用いて、トープリッツ行列を対角化すると、求まる対角行列の対角成分の各要素は以下の式（３３）で表すことができる。
【００６２】
【数７】
2009098203.tif 000009
【００６３】
この結果を利用すると、対角行列の対角成分のみを取り出してできるベクトルｄはｄ＝（Ｓ（１、１）、Ｓ（２、２），．．．，Ｓ（Ｎ、Ｎ））Ｃになり、以下の式（３５）で定義される対角化行列Ｗを用いて、ｄは式（３６）のように定義される。
【００６４】
【数８】
2009098203.tif 000010
【００６５】
ｄ＝Ｗγ      （３６）
対角化行列Ｗは予め計算されており、対角化行列記憶手段３６０に記憶される。
【００６６】
対角化相関行列計算手段３５０は、自己相関関数ベクトルγと対角化行列Ｗとから分散対角行列Ｄ２を計算する（ステップＳ６４）。まず、式（３６）のように、対角化行列Ｗと自己相関関数ベクトルγの積を演算することで、分散対角行列Ｄ２はベクトルｄを用いて以下の式（３７）により求められる。
Ｄ２＝ｄｉａｇ（ｄ（１），ｄ（２），．．．，ｄ（Ｎ））    （３７）
ただし、ｄ（ｋ）はベクトルｄのｋ番目の要素を示す。それ以降の処理は、実施例１と同様なので省略する。
【００６７】
この信号推定装置５０−２のように、予め対角化行列Ｗを計算して求めておき、対角化行列記憶手段３６０に記憶させておく。そうすることで、分散対角行列Ｄ２を求めるための演算（相関関数の対角化）が、自己相関関数ベクトルγを求める演算（自己相関関数計算手段３４０の処理）と、対角化相関行列計算手段３５０による１回の行列の掛け算（対角化相関行列計算手段３５９の処理、式（３６）参照）のみで可能であるため、結果として部分空間法を実施例１よりも更に早く実行できる。
【実施例３】
【００６８】
実施例１、２では、重畳される雑音が、白色雑音であることを前提として、説明した。この実施例３の信号推定装置５０−３は、重畳される雑音が白色雑音以外である場合であっても、原信号を推定できる。図７に実施例３の信号推定装置５０−３の機能構成例を示す。信号推定装置５０−３は、雑音区間検出部１１０、白色化フィルタ推定部１３０、白色化フィルタ処理部１４０、雑音分散更新部１２０、が付加されている点で信号推定装置５０−１と異なる。
【００６９】
雑音区間検出部１１０は、観測信号ｚ（ｎ）から当該観測信号の雑音区間を検出する。この雑音区間の検出処理の詳細は、「afshin Rezayee,Saeed Gazor,"An Adaptive KLT Approach for Speech Enhancement",IEEE Trans.on Speech And Audio Processing,Vol.9,No.2,Feb,2001.」に記載されている。
【００７０】
雑音分散推定部１００は、雑音区間検出部１１０で検出された雑音区間についての雑音分散値σを推定する。
【００７１】
一方、白色化フィルタ推定部１３０は、雑音区間検出部１１０で検出された雑音区間についての白色化フィルタを推定する。白色化フィルタの推定の詳細は、上記非特許文献１に記載されている。そして、白色化フィルタ処理部１４０は、フレーム分割信号に推定された白色化フィルタを畳み込んで、観測信号を白色化する。
【００７２】
また、雑音分散更新部１２０は、雑音区間検出部１１０において現在のフレームが雑音区間であると判断された場合、過去の雑音分散値σｔ−１を現在の雑音分散値σに更新する。また、現在のフレームが雑音区間でないと判断された場合には、雑音分散値σｔ−１は更新しない。
【００７３】
この信号推定装置５０−３のような構成にすることで、雑音が白色化されていない場合であっても、原信号を推定することができる。
［変形例１］
雑音区間検出部１１０、白色化フィルタ推定部１３０、白色化フィルタ処理部１４０、雑音分散更新部１２０は、信号推定装置５０−１、５０−２だけでなく、信号推定装置２にも付加できる。図７に信号推定装置５０−３の変形例１の信号推定装置５０−４の機能構成例を示す。こうすることで、白色化されていない雑音が重畳している場合であっても原信号を推定できる。
【図面の簡単な説明】
【００７４】
【図１】従来の信号推定装置の機能構成例を示す図。
【図２】実施例１の信号推定装置の機能構成例を示す図。
【図３】実施例１の信号推定装置の主な処理の流れを示す図。
【図４】観測信号とフレーム分割信号との関係を示した図。
【図５】実施例２の信号推定装置の機能構成例を示す図。
【図６】実施例２の信号推定装置の主な処理の流れを示す図。
【図７】実施例３の信号推定装置の機能構成例を示す図。
【図８】変形例１の信号推定装置の機能構成例を示す図。
【図１】
2009098203.tif 000011
【図２】
2009098203.tif 000012
【図３】
2009098203.tif 000013
【図４】
2009098203.tif 000014
【図５】
2009098203.tif 000015
【図６】
2009098203.tif 000016
【図７】
2009098203.tif 000017
【図８】
2009098203.tif 000018