音声強調
音声強調(おんせいきょうちょう、speech enhancement)は、様々なアルゴリズムを用いて音声信号の質を改善するための技術である。改善の対象としては音声の明瞭度や音質など様々なものがある。
SN比を改善する雑音抑制の技術は最も重要なもので、携帯電話、VoIP、電話会議などの通信の分野や、音声認識、補聴器での応用など多くの分野で利用されている。
ハンズフリー通話や、野外での携帯電話の使用など、音声アプリケーションを雑音や反響音の多い環境で使うケースは多い。雑音や反響音で歪んだ音声信号に対して音声強調を行うことで、音声の明瞭度の向上、聞く人の疲労の軽減などの効果が期待できる。
また、携帯電話や衛星電話などで使用されている低ビットレートの音声符号化や、音声認識の処理では、音声を何らかのモデルに当てはめパラメータ化を行うため、音声信号に雑音が含まれるとパラメータ化がうまく行えない。音声符号化では音質の劣化、音声認識では認識率の低下に繋がる。このような分野でも音声強調の技術はよく使われている。
音声強調では、音声と雑音などそれ以外の成分との統計的な性質の違いなどを利用し、信号に含まれる本来の音声や雑音などを様々なアルゴリズムを用いて推定し、雑音などを抑制する。
音声成分や雑音成分の推定は一般に難しく、それらの性質は時間の経過やアプリケーション、環境の違いにより大幅に変わるため、音声強調のアルゴリズムは異なった実環境での評価が必要になる。また、音声の評価についても様々な指標があり、アプリケーションや目的ごとに異なる。
一般に、音声の音質と明瞭度との両立は難しく、例えば雑音の多い周波数をフィルターでカットすると音声の明瞭度は向上するが音質はカットされた分だけ悪化する。
音声強調で使われる代表的な雑音抑制の方法としては以下のものがある。大きく分けて、1つの入力のみを扱う単一チャンネルの手法と、複数のマイクロフォンなどを用いたマルチチャネルの方法がある。
スペクトルサブトラクション法(spectral subtraction method)
ウィーナーフィルタリング法(Wiener filtering)
信号部分空間法(signal subspace approach、SSA)
MMSE-STSA法(minimum mean-square-error short-time spectral amplitude estimator)
マルチチャネル(マイクロフォンアレー)
音声信号に対する雑音や歪みの抑制を行う技術の歴史は古く、1960年代にはアナログ技術を用いた雑音抑制の特許がベル研究所の M.R.Schroeder により取得されている
。
。その後のデジタル信号処理の発展に伴い、1979年にデジタル処理によるスペクトルサブトラクション法が再発明された。同じ年に Jae Lim と Alan Oppenheim はそれまで知られていた雑音抑制の手法を形式化してまとめ、
音声強調の分野が注目されるきっかけとなった。その後、MMSE-STSA法(1984)などの主要な手法が発表され、コンピュータの小型化・高性能化に伴い、携帯電話、電話会議システム、DSP内蔵の補聴器など多くの機器で使用されるようになった。
フィルタリングによる雑音抑制は最も古典的な方法で、何らかのフィルターにより雑音成分を取り除く方法である。
雑音を含んだ入力信号 x(t) が元の音声信号 s(t) と雑音信号 n(t) との和で表される「加法性雑音」を考えると、信号の関係は以下のようになる。
x \left(t \right) = s(t) + n(t)   (t は時間を表す)
これを周波数領域で考えると、各信号のスペクトルは以下のように表現することができる。
X \left(\omega \right) = S(\omega) + N(\omega)   (ω は周波数を表す)
フィルタリングによる雑音抑制は、入力信号に何らかのフィルターであるゲイン関数 G(ω) を適用し、雑音を含んだ入力信号から元の音声信号 \hat S(\omega) を
\hat S(\omega) = G(\omega)X(\omega)
のように復元する方法である。
スペクトルサブトラクション法(spectral subtraction method)は、雑音のパワースペクトルの平均値を推定し、雑音を含んだ入力信号のパワースペクトルから引くことで雑音の低減を行う方法である。デジタル処理を用いた方法は1979年に Boll が発表した
。処理が単純な割には比較的良い結果が得られるため、現在でもよく使われている。
周波数領域での復元された音声信号スペクトルを \hat S(\omega)、 雑音の推定スペクトルの平均値を \hat N(\omega) としたとき、以下の近似を用いて元の音声信号のパワースペクトルを求める。
| \hat S(\omega) |^2 = | X(\omega) |^2 - | \hat N(\omega) |^2
パワースペクトルではなく振幅スペクトルが使われるケースもある。
| \hat S(\omega) | = | X(\omega) | - | \hat N(\omega) |
予測した雑音が信号より大きくなり右辺の値がマイナスになる場合は、雑音スペクトルに何らかの係数を掛けたり、マイナスの振幅は全て 0 と見なすことで調整する。
実際の信号では振幅だけでなく位相も復元する必要がある。人間の聴覚は位相に敏感ではないことを利用し、位相は入力信号のものをそのまま利用する。入力信号の位相スペクトルを \angle X(\omega) と表せば、
\hat S(\omega) = | \hat S(\omega) | \cdot \exp \{ j \angle X(\omega) \}
スペクトルサブトラクション法は、周波数ごとの入力信号と推定した雑音の比(推定したSN比)によって特性が変化する一種のフィルターと見なすことができる。入力信号との比で推定雑音が大きい周波数は大きく減衰させ、そうでない周波数は減衰を少なくする。
フィルターにあたるゲイン関数 G(ω) は、パワースペクトル、振幅スペクトルの場合についてそれぞれ以下のようになる。
G(\omega)  = \sqrt{1 - \frac〔\hat N(\omega)|^2}〔X(\omega)|^2}
G(\omega)  = \left( 1 - \frac \right)
雑音の振幅スペクトルの平均値の推定には様々な方法が提案されている。最も単純には、雑音が時間的に変化しないと仮定して無音時の信号から雑音の振幅スペクトルを求め、これを雑音の推定スペクトルと見なして処理を行う。
スペクトルサブトラクション法は入力信号と推定雑音のレベルがほぼ同じになる周波数で信号の減衰が急に大きくなるので、雑音の推定レベルの誤差により特定の周波数で信号が現れたり消えたりする現象が起き、ミュージカルノイズ(musical noise)と呼ばれるトーン性の雑音が発生する問題がある。
ウィーナーフィルタリング法(Wiener filtering)は、ウィーナーが提案したウィーナーフィルターを使って雑音抑制を行う方法である。音声と雑音の相関が無いという前提で、本来の音声信号と推定した音声信号の平均二乗誤差(mean-square-error)を最小にするような線形フィルターを形成し、雑音を含んだ入力信号から元の音声信号を得る。
時間領域、周波数領域のいずれでもウィーナーフィルターを作ることができ、時間領域では時系列のデータの平均二乗誤差が最小のものを、周波数領域ではスペクトルの平均二乗誤差が最小のものになる。いずれの領域でもSN比が改善されることは理論的に証明されている
。一般的によく使われる周波数領域のウィーナーフィルターは、スペクトルサブトラクション法と同様、入力信号の振幅成分の雑音にのみ影響を与え、位相成分には影響を与えない。
周波数領域のウィーナーフィルターでのゲイン関数 G(ω) は以下のようになる。
G(\omega)  = \frac〔\hat S(\omega)|^2}〔\hat S(\omega)|^2 + |\hat N(\omega)|^2}
あるいは、推定したSN比 ξ(ω) を用いると以下の式になる。
G(\omega)  = \frac{\xi(\omega)}{1 + \xi(\omega)}
ここで、ξ(ω) (事前SNR、a priori Signal-to-Noise Ratio)は以下の式で表され、それぞれの周波数で予想されるSN比の推定値にあたる。
\xi(\omega) = \frac〔\hat S(\omega)|^2}〔\hat N(\omega)|^2}
ウィーナーフィルターはスペクトルサブトラクション法と比較しミュージカルノイズは発生しにくい。ただし雑音抑制の効果が大きくなるほど元の音声の成分も抑制され、必ず明瞭度や音質が向上するとは限らない。
信号部分空間法(signal subspace approach、SSA)は、明瞭度の低下を最小化しながら雑音を含んだ入力信号の質の向上を行うことを目指した手法で
、
雑音を含んだ入力信号を、音声と雑音からなる「信号空間」と雑音のみからなる「雑音空間」に分離して処理を行うことに特徴がある。音声と雑音との相関が無く、雑音がホワイトノイズであることを前提とし、信号の空間へのマッピングには直交変換の一種であるカルーネン・レーヴェ変換(Karhunen-Loève transform)を用いる。信号部分空間法は1995年に Ephraim と Van Trees が発表した。
大まかな処理は以下のようになる。
入力信号ベクトルにカルーネン・レーヴェ変換を行う
逆カルーネン・レーヴェ変換を行い信号ベクトルに戻す
本来の音声成分の推定では、残留雑音エネルギーを特定の閾値以下に抑えながら信号歪みを最小化し、雑音抑制と明瞭度低下とをバランスさせる。
カルーネン・レーヴェ変換はフーリエ変換などに近い変換で、この方式は入力信号を高速フーリエ変換で周波数スペクトルに変換した後に雑音成分の削除を行うスペクトルサブトラクション法を拡張・整理したものととらえることもできる。
雑音抑制は、周波数領域で考えると本来の信号スペクトルを推定し復元する問題ととらえられる。ベイズ推定などの一般的な推定理論の枠組みを利用することで、様々なアプローチが可能である。代表的な手法として最小二乗誤差(MMSE)推定を行うMMSE-STSA法がある。
MMSE-STSA法(minimum mean-square-error short-time spectral amplitude estimator)は、 本来の音声信号と推定した音声信号の短時間振幅スペクトルの平均二乗誤差を最小にする方式である。1984年に Ephraim と Malah が発表した
。スペクトルの平均二乗誤差を最小にするという点でウィーナーフィルタリング法と似ているが、パワースペクトルではなく振幅スペクトルが対象になる。音声と雑音とは相関が無く、スペクトルは平均が 0 のガウス分布であることを前提として推定を行う。同様の条件で信号の位相についても解析が行われており、元の入力信号の位相が最適な推定値となることが分かっている。ウィーナーフィルタリング法と同様、ミュージカルノイズは発生しにくい。
MMSE-STSA法では、入力信号の振幅スペクトルと雑音推定スペクトルの平均値とから周波数ごとのSN比を推定しながら、平均二乗誤差を最小にするような短時間振幅スペクトルを復元する。位相は入力信号のものを最適な推定値としてそのまま利用する。
MMSE-STSA法は携帯電話などの機器で広く用いられている。
最小二乗誤差(MMSE)推定以外に、最尤法(maximum-likelihood estimation、ML)や最大事後確率(maximum a posteriori、MAP)推定を用いて信号スペクトルを推定する方法が知られている。これらの推定方法は多くの望ましい特徴を持つため、広く検討されている。
通常のオーディオ信号と異なり、音声は固有の特性を持つ。人間の声は、音源である声帯の音の特性と、咽喉と口腔、鼻腔、舌、唇などの調音器官(声道)の共鳴による周波数選択特性で特徴づけられ、その変化にも何らかの規則性がある。音声に対し何らかのモデル化を行い他の方法と組み合わせることで、より優れた雑音抑制を行うことが期待できる。以下のようなモデル化が知られている。
調波モデル(harmonic model)
線形予測モデル(linear prediction model)
隠れマルコフモデル(hidden Markov model)
調波モデル(harmonic model)では、音声を特定の周波数の整数倍の音の組み合わせとしてモデル化する方法である。人間の有声音が声帯の基本周波数(ピッチ周波数)の音とその倍音の組み合わせからなることに着目した手法で、特定の周波数の倍音のみを通過させるくし型フィルターにより音声と雑音とを分離する。無声音はこの方法ではうまくモデル化できず歪みが発生するため、調波と雑音の組み合わせでモデル化する方法などが提案されている。一般的に、この方法は他の雑音抑制の手法と比べ音声の歪みが多くなることが多い。
線形予測モデル(linear prediction model)は音声を線形予測によりモデル化する方法で、人間の声道の特性が線形予測係数による全極フィルターでうまく表現できることを利用している。雑音抑制は線形予測係数の推定の問題として形式化できる。
線形予測モデルはウィーナーフィルタリング法など他の方式と組み合わせて使用されることも多い。
隠れマルコフモデル(hidden Markov model)は、音声の時間的・スペクトル的変化を状態遷移の統計モデルである隠れマルコフモデルとして扱う方法である。多くの場合、最初にあらかじめ雑音を含まない音声と雑音とを用意してそれぞれの隠れマルコフモデルを作成し、次にそれらのパラメータを用いて雑音を含む音声から元の音声を推定する。
単一チャンネルでの音声強調は、音声と雑音などとの性質の違い(音声は時間・周波数での変動が激しいが雑音は変動が少ない、音声には無声期間がある、など)のみを利用して分離を行う必要があり、変動の大きい雑音など音声と似た性質の音に対してはうまく対応できない。
複数のマイクロフォンなどによるマルチチャネル化は、複数の異なった入力信号を用いることで、より効果的な音声強調を行う方法である。
以下のような様々なアプローチがある。
単一チャンネルでの雑音抑制のマルチチャネル化(ウィーナーフィルタリング法、MMSE-STSA法など)
以下のようなマルチチャネル固有の技術を応用、あるいは単一チャンネル手法と組み合わせ
マイクロフォンアレーによるビームフォーミング(microphone-array beamforming)
ブラインド信号分離(blind source separation)