【文献】
坂野秀樹他,短時間位相の効率的表現方法,電子情報通信学会技術研究報告,1997年 7月17日,Vol.97, No.177,p.15-20
【文献】
坂野秀樹他,時間領域平滑化群遅延による位相情報圧縮方式の評価,日本音響学会平成9年度秋季研究発表会講演論文集,1997年 9月17日,p.209-210
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。なお、以下の説明中における「音声信号」とは、音声その他の音響に従って生ずる直接的の電気的変化であって、音声その他の音響を伝送するためのものをいい、音声に限定されない。
【0013】
[第1実施形態]
本発明の第1実施形態としての信号処理装置100について、
図1を用いて説明する。信号処理装置100は、入力信号急変を検出するための装置である。
図1に示すように、信号処理装置100は、変換部101と第1算出部102と第2算出部103と重み付け部105と信号急変判定部104とを含む。
【0014】
変換部101は、入力信号110を、周波数領域における位相成分信号120および振幅成分信号130に変換する。第1算出部102は、位相成分信号120の複数の周波数において、周波数に対する位相の傾きを第1の傾き150として算出する。第1の傾きは、例えば、位相の周波数による微分によって算出してもよいし、他の方法で算出してもよい。重み付け部105は、第1の傾き150を振幅成分信号130で重み付けして、重み付き第1の傾き140を算出する。重み付け部105は、例えば、振幅成分信号130として、振幅絶対値を用いてもよいし、振幅2乗値(パワー)を用いてもよい。また、重み付け部105は、例えば、重み付けは、単純な両者の積を求めてもよいし、それ以外の関数あるいは多項式で表される形で実現されてもよい。すなわち、なんらかの形で、振幅成分信号130の大きさが第1の傾きに反映される限り、関数あるいは多項式の形は問わない。重み付き演算の目的は、振幅が大きい周波数の第1位相傾きが、第2算出部の演算において、より大きな貢献をするように前処理することにある。第2算出部103は、重み付き第1の傾き140を用いて第2の傾き160を算出する。第2の傾きとして、重み付き第1の傾きの平均を用いることができる。また、第2の傾きとして、重み付き第1の傾きの平均を求め、この平均と大きく異なったものを除外した集団の平均、すなわち重み付き第一の傾きの部分平均を用いることもできる。信号急変部の周波数に対する位相傾きは、理想的には周波数によらず一定となるため、平均傾きと大きく異なる値は信頼性が低い。例えば、信号急変を構成する信号以外の雑音や妨害信号を含む可能性が高い。このため、これらの平均から大きく異なる値を除外した部分平均を計算して第2の傾きとすることで、高精度な平均値、すなわち第2の傾きを得ることができる。
【0015】
第2算出部103は、第2の傾きとして、重み付き第1の傾きの平均を求める際に、音声が支配的である周波数を除外した集団の平均、すなわち重み付き第一の傾きの部分平均を用いることもできる。このために、第2算出部103は振幅成分信号130を用いて、音声が支配的であるか否かを各周波数で判定する。音声が支配的であるか否かに関しては、様々な方法を適用して評価することができる。まず、振幅またはパワーが大きい周波数を音声が支配的であるとすることができる。音声、特にその特徴を表すフォルマント周波数では、他の周波数よりも振幅およびパワーが著しく大きいことが知られている。また、複数の周波数における平均振幅または平均パワーを求め、この値よりも大きいときに音声が支配的であるとすることもできる。さらに、音声が支配的である周波数の判定を音声の存在する可能性が高い低周波帯域に限定してもよい。このように部分平均を用いることによって、信号急変を検出しようとする信号成分以外の音声による平均結果への悪影響を低減することができ、高精度な平均値、すなわち第2の傾きを得ることができる。
【0016】
第2算出部103は、第2の傾きとして、重み付き第1の傾きの平均を求める際に、振幅またはパワーが背景雑音の推定振幅または推定パワーより十分に大きい周波数における重み付き第1の傾きの平均、すなわち第一の傾きの部分平均を用いることもできる。これは、検出対象となる信号急変部の振幅またはパワーが背景雑音の振幅またはパワーよりも十分に大きいことが多いからである。背景雑音の振幅またはパワーの推定は、非特許文献1や非特許文献2に記載の方法など様々な方法を利用することができる。検出対象の信号と背景雑音以外の信号が存在する場合には、同様にその信号を推定して、背景雑音と同様に取り扱うことができる。また、検出対象の信号と背景雑音以外の信号の振幅特性またはパワー特性があらかじめわかっている場合には、その情報を利用してもよい。このように部分平均を用いることによって、信号急変を検出しようとする信号成分以外の信号成分による平均結果への悪影響を低減することができ、高精度な平均値、すなわち第2の傾きを得ることができる。
【0017】
さらに、第2算出部103は、第2の傾きとして、重み付き第1の傾きの平均を求める際に、音声が支配的ではなく、かつ振幅またはパワーが背景雑音の推定振幅または推定パワーより十分に大きい周波数における第1の傾きの平均用いることもできる。これは、前記2つの算出における限定条件を同時に適用した例である。
【0018】
信号急変判定部104は、第1算出部102によって算出された第1の傾き150と第2算出部103によって算出された第2の傾き160に基づいて入力信号の急変を判定する。第1の傾きと第2の傾きの差が小さい周波数は、信号の急変が存在する確率が高いと判断する。
【0019】
以上の構成により、周波数領域における位相成分信号の第1の傾きと第2の傾きとの一致程度を用いて、入力信号の急変、特に理想的なパルスとは異なる急変を効果的に検出することができる。
【0020】
[第2実施形態]
《全体構成》
本発明の第2実施形態としての雑音抑圧装置について
図2乃至
図11を用いて説明する本実施形態の雑音抑圧装置は、例えばデジタルカメラ、ノートパソコン、携帯電話、キーボード、ゲーム機のコントローラ、携帯電話の押しボタンなどの雑音抑圧に適用できる。すなわち、音声、音楽、環境音などの目的とする音声信号を、これらに重畳された信号(ノイズまたは妨害信号)に対して強調することができる。ただし、本発明はこれに限定されるものではなく、入力信号からの信号急変検出を要求されるあらゆる信号処理装置に適用可能である。なお、本実施形態では、信号の急変の一例として、衝撃音を検出して抑圧する雑音抑圧装置について説明する。本実施形態としての雑音抑圧装置は、例えば、マイクの近くでボタン押下などの操作がなされるような形態において、かかるボタン操作により発生する衝撃音を適切に抑圧する。簡単に説明すると、衝撃音を含む時間領域信号を周波数領域信号に変換し、周波数空間における位相成分の傾きを算出する。また、求めた傾きを振幅で重み付けした値を用いて、傾きの理論値、すなわち正しい傾きを推定する。そして、それら2種類の位相の傾き(傾きとその理論値)の一致程度に応じて、衝撃音の存在を判定する。
【0021】
図2は、雑音抑圧装置200の全体構成を示すブロック図である。入力端子206には、劣化信号(所望信号と雑音の混在する信号)が、サンプル値系列として供給される。入力端子206に供給された劣化信号は、変換部201においてフーリエ変換などの変換を施されて複数の周波数成分に分割される。複数の周波数成分は周波数ごとに独立して処理される。ここでは、特定の周波数成分に注目して説明を続ける。周波数成分のうち振幅スペクトル(振幅成分)230は雑音抑圧部205へ供給され、位相スペクトル(位相成分)220は位相制御部202および算出部281に供給される。なお、ここでは変換部201が雑音抑圧部205に劣化信号振幅スペクトル230を供給しているが、本発明はこれに限定されるものではなく、振幅スペクトルの二乗に相当するパワースペクトルを雑音抑圧部205に供給してもよい。
【0022】
雑音抑圧部205は、変換部201から供給される劣化信号振幅スペクトル230を用いて、雑音を推定し、推定雑音スペクトルを生成する。また、雑音抑圧部205は、変換部201から供給された劣化信号振幅スペクトル230と、生成した推定雑音スペクトルとを用いて雑音を抑圧し、雑音抑圧結果としての強調信号振幅スペクトルを振幅制御部203に伝達する。さらに雑音抑圧部205は、急変判定部209から判定結果を入力し、信号の急変の有無またはその程度に応じて、雑音の抑圧の程度を変更する。雑音抑圧部205は、所望信号の検出を行って所望信号成分を周波数ごとに保護する一方、信号急変が存在し、所望信号成分が検出されないときには、振幅を推定背景音に置換してもよい。
【0023】
位相制御部202は、変換部201から供給された劣化信号位相スペクトル220を回転(シフト)させ、強調信号位相スペクトル240として逆変換部204へ供給する。また、位相の回転量(シフト量)を、振幅制御部203へ伝達する。振幅制御部203は、位相制御部202から位相の回転量(シフト量)を受け取って振幅補正量を算出し、その振幅補正量を用いて、強調信号振幅スペクトルを各周波数で補正し、補正振幅スペクトル250を逆変換部204へ供給する。逆変換部204は、位相制御部202から供給された強調信号位相スペクトル240と、振幅制御部203から供給された補正振幅スペクトル250とを合成して逆変換を行い、強調信号として、出力端子207に供給する。
【0024】
算出部281は、変換部201から供給された位相成分信号220を周波数で微分することにより、各周波数での位相の傾き(変化)を算出する。また、算出部281は、隣接周波数における位相の差を求めることで、周波数による位相の傾きを近似計算することもできる。重み付け部285は、第1の傾きを振幅成分信号230で重み付けして、重み付き第1の傾きを算出する。振幅成分信号230は、振幅絶対値を用いてもよいし、振幅2乗値(パワー)を用いてもよい。また、重み付けは、単純な両者の積を求めてもよいし、それ以外の関数あるいは多項式で表される形で実現されてもよい。すなわち、なんらかの形で、振幅成分信号230の大きさが第1の傾きに反映される限り、関数あるいは多項式の形は問わない。重み付き演算の目的は、振幅が大きい周波数の第1位相傾きが、第2算出部の演算において、より大きな貢献をするように前処理することにある。
【0025】
一方、算出部283は、重み付け部285から供給された各周波数での重み付き位相の傾きを平均化して平均値を算出し、平均された重み付き位相の傾きを算出する。急変判定部209は、算出部281、283から提供された位相の傾きとその重み付き平均値を比較し、それらの類似度に基づいて、信号の急変がどの程度存在するか(存在可能性)を周波数点ごとに判定する。
【0026】
ここで、傾きの類似度は、時間領域信号から求めた傾きと周波数領域信号から求めた傾きの差分絶対値を用いることができるが、これに限定されない。これら2つの傾きの比の値と1との距離や、両者の和をどちらかの傾きの2倍で正規化した値と1との距離などを用いてもよい。類似度に基づく存在可能性は、例えば、次のようにして求めることができる。まず、正の値を閾値として定める。差分絶対値がこの閾値よりも大きいとき、存在可能性を0とする。また、差分絶対値が0に等しいとき、存在可能性を1とする。存在可能性の一般値は、差分絶対値の関数として定義する。このような関数の最も簡単なものは、直線である。存在可能性として、差分絶対値に比例した値が定められる。直線の傾きとy切片(前記差分絶対値がゼロのときの関数値)は、前述の差分絶対値が0および1に等しいときの境界条件を満足するように定める。関数としては、任意の線形または非線形関数や多項式などを用いてもよい。
【0027】
《変換部の構成》
図3は、変換部201の構成を示すブロック図である。
図3に示すように、変換部201はフレーム分割部301、窓がけ処理部(windowing unit)302、およびフーリエ変換部303を含む。劣化信号サンプルは、フレーム分割部301に供給され、K/2サンプルごとのフレームに分割される。ここで、Kは偶数とする。フレームに分割された劣化信号サンプル270は、窓がけ処理部302に供給され、窓がけ処理部302では窓関数(window function)であるw(t)との乗算が行なわれる。第nフレームの入力信号yn(t) (t=0, 1, ..., K/2-1) に対するw(t)で窓がけ(windowing)された信号は、次式(1)で与えられる。
【数1】
また、連続する2フレームの一部を重ね合わせ(オーバラップ)して窓がけしてもよい。
【0028】
オーバラップ長としてフレーム長の50%を仮定すれば、t=0, 1, ..., K/2-1 に対して、以下の式(2)で得られる左辺が、窓がけ処理部302の出力となる。
【数2】
【0029】
実数信号に対しては、左右対称窓関数が用いられる。また、窓関数は、変換部201の出力を逆変換部204に直接供給したときの入力信号と出力信号が計算誤差を除いて一致するように設計される。これは、w
2(t)+w
2 (t+K/2)=1 となることを意味する。
【0030】
以後、連続する2フレームの50%をオーバラップして窓がけする場合を例として説明を続ける。w(t)としては、例えば、次式(3)に示すハニング窓を用いることができる。
【数3】
【0031】
このほかにも、ハミング窓、三角窓など、様々な窓関数が知られている。窓がけされた出力はフーリエ変換部303に供給され、劣化信号スペクトルYn(k)に変換される。劣化信号スペクトルYn(k)は位相と振幅に分離され、劣化信号位相スペクトル arg Yn(k)は、位相制御部202と算出部281に、劣化信号振幅スペクトル|Yn(k)|は、雑音抑圧部205に供給される。既に説明したように、振幅スペクトルの代わりにパワースペクトルを利用することもできる。
【0032】
《逆変換部の構成》
図4は、逆変換部204の構成を示すブロック図である。
図4に示すように、逆変換部204は逆フーリエ変換部401、窓がけ処理部402およびフレーム合成部403を含む。逆フーリエ変換部401は、振幅制御部203から供給された強調信号振幅スペクトル250と位相制御部202から供給された強調信号位相スペクトル240(arg Xn(k))とを乗算して、強調信号(以下の式(4)の左辺)を求める。
【数4】
【0033】
得られた強調信号に逆フーリエ変換を施し、1フレームがKサンプルを含む時間領域サンプル値系列xn(t) (t=0, 1, ..., K-1)として、窓がけ処理部402に供給され、窓関数w(t)との乗算が行なわれる。第nフレームの入力信号xn(t) (t=0, 1, ..., K/2-1)に対してw(t)で窓がけされた信号は、次式(5)の左辺で与えられる。
【数5】
また、連続する2フレームの一部を重ね合わせ(オーバラップ)して窓がけしてもよい。
【0034】
フレーム長の50%をオーバラップ長として仮定すれば、t=0, 1, ..., K/2-1 に対して、以下の式の左辺が、窓がけ処理部402の出力となり、フレーム合成部403に伝達される。
【数6】
【0035】
フレーム合成部403は、窓がけ処理部402からの隣接する2フレームの出力を、K/2サンプルずつ取り出して重ね合わせ、以下の式(7)によって、t=0, 1, ..., K-1における出力信号(式(7)の左辺)を得る。得られた強調信号260は、フレーム合成部403から出力端子207に伝達される。
【数7】
【0036】
なお、
図3と
図4において変換部と逆変換部における変換をフーリエ変換として説明したが、フーリエ変換に代えて、アダマール変換、ハール変換、ウェーブレット変換など、他の変換を用いることもできる。ハール変換は、乗算が不要となり、LSI化したときの面積を小さくすることができる。ウェーブレット変換は、周波数によって時間解像度を異なったものに変更できるために、雑音抑圧効果の向上が期待できる。
【0037】
また、変換部201において得られる周波数成分を複数統合してから、雑音抑圧部205で実際の抑圧を行うこともできる。統合後の周波数成分の数は、統合前の周波数成分の数よりも小さくなる。具体的には、周波数成分の統合によって得られる統合周波数成分に対して共通の抑圧度を求め、その抑圧度を同一統合周波数成分に属する個別の周波数成分に対して共通に用いる。その際、聴覚特性の弁別能力が高い低周波領域から、能力が低い高周波領域に向かって、よりたくさんの周波数成分を統合することによって、高い音質を達成することができる。このように、複数の周波数成分を統合してから雑音抑圧を実行すると、雑音抑圧を適用する周波数成分の数が少なくなり、全体の演算量を削減することができる。
【0038】
《雑音抑圧部の構成》
雑音抑圧部205は、変換部201から供給される劣化信号振幅スペクトルを用いて雑音を推定し、推定雑音スペクトルを生成する。そして、変換部201からの劣化信号振幅スペクトルと生成した推定雑音スペクトルとを用いて抑圧係数を求め、劣化信号振幅スペクトルに乗じ、強調信号振幅スペクトルとして、振幅制御部203へ供給する。また、急変判定部209から急変判定結果(信号の急変が存在するか否かの情報)を受けて、急変と判定されたときには、劣化信号振幅スペクトルと推定雑音スペクトルのうち小さい方を、強調信号振幅スペクトルとして、振幅制御部203へ供給する。このとき、雑音抑圧部205は、所望信号の検出を行って所望信号成分を周波数ごとに保護してもよい。
【0039】
また、急変判定部209から、急変がどの程度存在するかの情報(信号の急変が存在する確からしさ、存在可能性)を受けて、信号の急変が存在する可能性に応じて、雑音抑圧の程度を変更することもできる。さらに、信号の急変が存在する可能性を周波数成分、周数帯域(任意の数の連続する周波数成分を統合したもの)、あるいはフレーム単位で判定し、その急変を抑圧すべく、前記周波数成分、周波数帯域、あるいはフレーム単位で異なった信号処理を施すことができる。
【0040】
雑音の推定には、非特許文献1や非特許文献2に記載の方法など、様々な推定方法が利用できる。
【0041】
例えば、非特許文献1には、推定雑音スペクトルを、所望信号が発生していないフレームの劣化信号振幅スペクトルの平均値とする方法が開示されている。この方法では所望信号の存在を検出する必要がある。所望信号の存在する区間は、強調信号のパワーで判断することができる。
【0042】
理想的な動作状態として、強調信号は雑音以外の所望信号となっている。また、所望信号や雑音のレベルは、隣接フレーム間で大きく変化しない。これらのことから、1フレーム過去の強調信号レベルを雑音区間判定の指標とする。1フレーム過去の強調信号パワーが一定値以下の時には、現フレームを雑音区間と判定する。雑音スペクトルは、雑音区間と判定されたフレームの劣化信号振幅スペクトルを平均化することで推定できる。
【0043】
また、非特許文献1には、推定雑音スペクトルを、劣化信号振幅スペクトルが供給され始めた推定初期の平均値とする方法も開示されている。この場合、推定が開始された直後には所望信号が含まれないという条件を満たす必要がある。条件が満たされる場合、推定初期の劣化信号振幅スペクトルを推定雑音スペクトルとすることができる。
【0044】
さらに、非特許文献2には、推定雑音スペクトルを、統計的な劣化信号振幅スペクトルの最小値から求める方法が開示されている。この方法では、統計的に一定時間における劣化信号振幅スペクトルの最小値を保持し、その最小値から雑音スペクトルを推定する。劣化信号振幅スペクトルの最小値は、雑音スペクトルのスペクトル形状と似ているため、雑音スペクトル形状の推定値として用いることができる。しかし、最小値では、本来の雑音レベルより小さくなる。そのため、最小値を適切に増幅させたものを推定雑音スペクトルとして用いる。
【0045】
雑音抑圧部205においては、様々な抑圧を行うことが可能であるが、代表的なものとして、SS(Spectrum Subtraction:スペクトル減算)法とMMSE STSA(Minimum Mean-Square Error Short-Time Spectral Amplitude Estimator:最小二乗平均誤差短時間振幅スペクトル推定)法とが挙げられる。SS法の場合は、変換部201から供給された劣化信号振幅スペクトルから推定雑音スペクトルを減算する。MMSE STSA法の場合は、変換部201から供給された劣化信号振幅スペクトルと生成した推定雑音スペクトルとを用いて、抑圧係数を計算し、この抑圧係数を劣化信号振幅スペクトルに乗算する。この抑圧係数は、強調信号の平均二乗パワーを最小化するように決定される。
【0046】
また、雑音抑圧部205は、急変判定部209から急変判定結果(信号の急変が存在するか否かの情報)を入力し、信号の急変の有無またはその程度に応じて、雑音抑圧の程度を変更する。例えば、信号急変のあった周波数成分、周波数帯域、あるいはフレーム単位で、その急変を抑圧すべく信号処理を施すことができる。
【0047】
急変判定部209で急変と判定されたときには、劣化信号振幅スペクトルと推定雑音スペクトルのうち小さい方を、強調信号振幅スペクトルとして、振幅制御部203へ供給する。すなわち、劣化信号振幅スペクトルが推定雑音スペクトルより小さいときには劣化信振幅スペクトルをそのまま出力し、それ以外のときには入力信号を推定雑音スペクトルで置き換えて出力することもできる。
【0048】
さらに、この置き換えに先立って、重要な劣化信号振幅スペクトル成分を検出して、検出された重要な劣化信号振幅スペクトル成分を推定雑音スペクトルによる置き換えの対象から除外することもできる。重要な劣化信号振幅スペクトル成分を検出する際の重要度の指標としては、劣化信号振幅スペクトルの大きさを用いることができる。振幅が大きな成分は目的とする信号の成分である確率が高く、これを保持することは目的とする信号の音質劣化を防止することにつながる。
【0049】
また、重要度の指標として、劣化信号振幅スペクトルのピーク性を用いることもできる。ピーク、すなわち周波数軸に沿って周辺よりも大きな値を有する劣化信号振幅は、目的とする信号の成分である確率が高く、これを保持することは目的とする信号の音質劣化を防止することにつながる。特に、顕著なピーク、すなわち周辺の振幅値よりも著しく大きな振幅値はその重要度が高いので、確実に保護することで目的とする信号の音質をさらに高めることができる。
【0050】
ピークの検出は、例えば、非特許文献3の純音成分検出方法や、 非特許文献4に、その方法が開示されている。さらに、検出されたピークを所定の条件に従って評価し、条件を満たさないピークは除外してもよい。例えば、前記推定雑音よりも小さな値をとるピークは、目的とする信号である可能性は低い。すなわち、推定雑音を基準として、それよりも十分に大きいものだけをピークとして残し、それ以外を除外することができる。十分に大きいかどうかは推定雑音の定数倍と比較することで、判定できる。このように、検出されたピークが所定の条件を満たすかどうかを評価してから最終的なピーク成分を選択することによって、誤ったピークの検出を低減し、信号急変部の抑圧効果を高くすることができる。
【0051】
また、急変存在の確からしさに応じて、振幅制御部203へ供給する信号を変化させることもできる。その置き換えを行った結果と劣化信号振幅スペクトルを、急変存在の確からしさに対応して混合したものを、強調信号振幅スペクトルとして出力する。急変存在の確からしさが高いほど、その置き換えを行った結果に大きな重みをつけて、混合処理を実行する。
【0052】
雑音抑圧部205は、信号の急変の存在可能性に応じて、抑圧度0、抑圧度1、抑圧度2というように多段で抑圧を行なってもよい。あるいは急変判定部の判定結果(例えば0〜1の数値)に応じて無段階に抑圧の程度を変えてもよい。
【0053】
《位相制御部および振幅制御部の構成》
図5は位相制御部202および振幅制御部203の構成を示すブロック図である。
図5に示すように、位相制御部202は位相回転部501と回転量生成部502とを含み、振幅制御部203は、補正量算出部503と振幅補正部504とを含む。
【0054】
回転量生成部502は、急変判定部209から「信号の急変が存在する」と判定された周波数成分について、劣化信号位相スペクトルの回転量を生成し、位相回転部501と補正量算出部503に供給する。位相回転部501では、回転量生成部502から回転量が供給されると、変換部201から供給された劣化信号位相スペクトル220を、供給された回転量だけ回転(シフト)させ、強調信号位相スペクトル240として逆変換部204へ供給する。
【0055】
補正量算出部503では、回転量生成部502から供給される回転量に基づいて、振幅の補正係数を決定し、振幅補正部504に供給する。
【0056】
回転量生成部502は、例えば乱数によって回転量を生成する。乱数により、劣化信号位相スペクトルを各周波数で回転させると、劣化信号位相スペクトル220の形状が変化する。この形状の変化により、衝撃音などの信号急変部の特徴を弱めることができる。
【0057】
乱数には、その発生確率が一様な一様乱数や、発生確率が正規分布を示す正規乱数などがあるが、まず、一様乱数による回転量の生成法を説明する。一様乱数は線形合同法などで発生させることができる。例えば、線形合同法で発生させた一様乱数は、0〜(2^M)−1の範囲に一様に分布する。ここで、Mは任意の整数であり、^はべき乗を表している。位相の回転量φは、0〜2πの範囲に分布させる必要がある。そこで、発生させた一様乱数を変換する。変換は、以下の式(8)で行う。ここで、Rは一様乱数であり、Rmaxはその一様乱数が発生しうる最大の値である。前述した線形合同法で発生させる場合には、Rmax=(2^M)-1となる。
【数8】
【0058】
計算の簡単化のために、Rの値をそのまま回転量とすることもできる。回転量であるので2πはちょうど一回転を表す。位相を2π回転させた場合は回転させていない場合と同一である。よって、2π+αという回転量は、回転量がαの場合と同じになる。ここでは、線形合同法により一様乱数を発生させた場合を説明したが、それ以外の方法で一様乱数を発生させた場合でも、式(8)により回転量φを求めればよい。急変判定部209の判定結果に応じて、いつどのくらい乱数化を行なうのかを決定してもよい。
【0059】
位相回転部501は、回転量生成部502から回転量を受け取り、劣化信号位相スペクトルを回転させる。もし、劣化信号位相スペクトルが角度で表現されている場合には、その角度に回転量φの値を加算することで回転させることができる。劣化信号位相スペクトルが複素数の正規ベクトルで表現されている場合には、回転量φの正規ベクトルを求め、劣化信号位相スペクトルに乗算することで回転させることができる。
【0060】
回転量φの正規ベクトルは、式(9)で求められる。ここで、Φは回転ベクトルであり、jはsqrt(-1)を示す。なお、sqrtは二乗根を表している。
【数9】
【0061】
補正量算出部503による、補正係数算出方法について説明する。まず、位相の回転により出力レベルの低下が生じることを、
図6および
図7を用いて説明する。
図6および
図7は、劣化信号が
図2に示すブロック図で処理された場合の信号を示している。
図6と
図7の違いは位相回転の有無である。
図6は位相回転を行わない場合の信号を、
図7は位相回転をフレーム3から行った場合の信号を示している。
【0062】
まず、位相を回転しない場合の信号について
図6を用いて説明する。
図6の最上部に描かれているのは、劣化信号である。劣化信号はフレーム分割部301においてフレーム分割される。点線で区切られた、上から2番目の信号が、フレーム分割後の信号である。ここでは、連続した4フレーム分の信号を図示した。また、フレームのオーバラップ率は50%としている。
【0063】
フレームに分割された信号は窓掛け処理部302によって窓掛けが行われる。点線で区切られた、上から3番目の信号が窓掛け処理後の信号である。
図6では位相回転による影響を明確に示すため、矩形窓による重み付けをしている。
【0064】
次に、フーリエ変換部303によって、周波数領域の信号に変換されるが、
図6では周波数領域での信号は省略した。位相回転の点線より下部は、逆変換部204の逆フーリエ変換部401により、時間領域へ変換された信号を図示している。点線で区切られた、上から4番目の信号が位相回転後の信号である。ただし、
図6では位相回転を行っていないため、窓掛け処理後の信号から変化していない。
【0065】
逆変換部204の逆フーリエ変換部401から出力された強調信号は、窓掛け処理を再度実施される。
図6では、矩形窓による重み付けを実施した場合を示している。窓掛け処理された信号は、フレーム合成部403において合成される。この時、フレーム間の時間を揃える必要がある。フレームのオーバラップ率が50%であるので、ちょうど半分ずつフレームが重なる。位相の回転を実施していない場合、
図6のように入力信号と出力信号は一致する。
【0066】
一方、位相を回転する場合の信号について
図7を用いて説明する。
図7に示したのは位相回転をフレーム3から実施した場合の信号である。最上部に描かれているのは、
図6と同じ劣化信号である。フレーム分割後および窓掛け処理後の信号も
図6と同様である。
【0067】
図7では、フレーム3から一定の位相回転を実施した場合を描いている。位相回転処理の点線下部に示した右向き三角形の区間に注目する。位相回転処理により、フレーム3および4の信号が時間方向にシフトしている。位相回転を施した信号を再度窓掛け処理し、フレーム合成する。このとき、フレーム2とフレーム3が重なるiiの区間で、フレーム2とフレーム3の信号に違いが生じる。これにより、フレーム合成後の出力信号レベルがiiの区間において小さくなる。つまり、位相の回転を実施する場合、
図7のiiの区間で出力信号レベルが低下する。
【0068】
この位相回転による出力信号レベルの低下は、時間領域における加算を周波数領域の加算に置き換え、周波数領域のベクトル合成でも説明できる。
【0069】
図8に、フレーム分割および窓掛け処理後の連続した2フレームの劣化信号を、x1[n]およびx2[m]として示す。なお、オーバラップ率は50%としている。ここで、nはx1の離散時間を、mはx2の離散時間を表しており、オーバラップ率が50%の場合には、以下の式(10)が成立する。
【数10】
【0070】
また、x1とx2の関係は、以下の式(11)のようになる。
【数11】
【0071】
まず、時間領域信号から周波数領域信号への変換および逆変換の式を示す。周波数領域信号X[k]は、時間領域信号x[n]のフーリエ変換によって、以下の式(12)のように表現される。ここで、kは離散周波数を表し、Lはフレーム長である。
【数12】
【0072】
また、周波数領域信号X[k]を逆変換により、時間領域信号x[n]に戻すと、以下の式(13)のように表現される。
【数13】
【0073】
これに基づいて、時間領域信号x1[n],x2[m]を、周波数領域信号X1[k]、X2[k] に変換すると、以下の式(14)、式(15)のように表現される。
【数14】
【数15】
【0074】
周波数領域信号X1[k],X2[k]を、逆変換によってそれぞれ時間領域信号x1[n],x2[m]に戻すと、式(13)より、以下の式(16)、式(17)のように表現される。
【数16】
【数17】
【0075】
逆変換部は、フーリエ変換により周波数領域信号を時間領域信号に変換する。その後、フレーム合成部により、前フレームと現フレームの強調信号をオーバラップ加算する。例えば、図示した例のオーバラップ率50%では、離散時間m=L/2〜L-1の区間で隣接フレームの加算が行われる。この加算区間m=L/2〜L-1を考える。
【0076】
時間領域の加算に、式(16)および式(17)を代入すると、以下の式(18)のように表現される。
【数18】
【0077】
さらに、式(18)中の周波数領域信号X1[k],X2[k]に式(14),式(15)を代入すると、以下の式(19)のように表現される。
【数19】
【0078】
さらに、式(19)を展開すると、以下の式(20)のように表現される。
【数20】
【0079】
ここで、式(20)の各項に含まれる総和演算を考える。任意の整数gを導入し、以下の式(21)が成立する。
【数21】
【0080】
デルタ関数δ[g]のフーリエ逆変換式は、式(22)で示される。
【数22】
【0081】
ここで、デルタ関数δ[g]は、以下の式(23)で示される。
【数23】
【0082】
式(22)より、式(21)は、以下の式(24)に変形できる。
【数24】
【0083】
式(24)の関係から、式(20)は、以下の式(25)で表わされる。
【数25】
【0084】
よって、式(20)は、以下の式(26)となる。
【数26】
【0085】
さて、ここで周波数領域信号X2[k]に対し、位相回転を行った場合を考える。このときの時間領域信号は、
図9のようになる。
【0086】
X2[k]の位相スペクトルを、φ[k]回転させたとき、その逆変換は以下の式(27)となる。
【数27】
【0087】
これを、式(18)に代入すると、以下の式(28)が成立する。
【数28】
【0088】
これを展開すると、以下の式(29)が成立する。
【数29】
【0089】
ここで、オーバラップ率50%と仮定し、オーバラップ区間のn=L/2〜L-1について考える。オーバラップ区間では、式(11)より、以下の式(30)のように展開できる。
【数30】
【0090】
ここで、それぞれの項にある括弧内の
【数31】
の項は、ベクトル合成であるから、特定の周波数kに注目すると、
図10のように描ける。もし、位相回転が行われていないとき、つまりφ[k]=0の場合は、
図11のようになる。
【0091】
式(31)の絶対値を求めると、以下の式(32)となる。
【数32】
【0092】
よって、式(31)の絶対値が最大になる条件は、φ[k]=0の場合であり、その値は2である。つまり、位相回転が行われると、出力信号の大きさが小さくなることがわかる。この出力信号レベルの低下量を補正するように、補正量算出部503において強調信号振幅スペクトルの振幅補正量を決定する。
【0093】
ここでは、位相回転量が一様乱数によって決定されると仮定し、補正量の算出方法を具体的に説明する。ここでは、問題簡単化のため、位相の回転による大きさの変動に着目し、それぞれの周波数成分が単位ベクトルに正規化されているものとする。
【0094】
まず、位相回転を行わない場合を考える。連続するフレーム間で位相が同じ場合の合成ベクトルは、
図11に示されるSのようになり、そのベクトルの大きさ|S|は、以下の式(33)で表わされる。
【数33】
【0095】
一方、一様乱数により位相回転を行う場合、連続するフレーム間位相差φは、-πから+πまでの範囲に一様に分布する。この連続するフレーム間で位相が異なる場合の合成ベクトルは、
図10に示されるベクトルS′のようになる。そのベクトルの大きさ|S′|は、以下の式(34)で表わされる。
【数34】
【0096】
さて、ここで、期待値E(|S′|^2)を求めると、以下の式(35)のようになる。
【数35】
【0097】
ここで、φが-πから+πまで一様分布することから、以下の式(36)のようになる。
【数36】
【0098】
このため、|S'|^2の期待値は、以下の式(37)で表わされる。
【数37】
【0099】
さて、位相の回転をしない場合の、期待値E(|S|^2)は、式(33)より以下の式(38)で表わされる。
【数38】
【0100】
式(37)と式(38)の比を取ると、以下の式(39)が成立する。
【数39】
【0101】
つまり、位相を一様乱数で回転させる場合、出力信号のパワー平均値は入力と比較して、1/2だけ小さくなる。振幅補正部504では振幅値に対し補正を行うので、補正量算出部503は補正係数をsqrt(2)とし、振幅補正部504に伝達する。
【0102】
以上、一様乱数による回転量生成の場合を例に挙げて説明したが、正規乱数などでもその分散と平均値が決まれば、補正係数を一意に定めることができる。正規乱数を使う場合の補正係数の導出を以下に説明する。
【0103】
正規乱数の場合φの発生確率が正規分布により決定される。そのため、正規乱数による位相回転を実施した場合のパワー期待値を求めるには、φの発生確率に基づいて、重み付けを行う必要がある。
【0104】
具体的には、φの発生確率に基づいた、重み関数f(φ)を導入する。その重み関数f(φ)により、cos(φ)を重みづけする。さらに、重み付け関数f(φ)の積分値で正規化することにより、パワー期待値を求めることができる。
【0105】
正規乱数による位相回転を行った場合の出力パワー期待値E(S"^2)は、一様乱数の出力パワー期待値である式(35)に、重み付け関数f(φ)およびその積分値を導入し、以下の式(40)のように表現できる。
【数40】
【0106】
重み関数f(φ)は、正規分布により表現できるので、以下の式(41)が成立する。
【数41】
ここで、σは分散をμは平均を表している。
【0107】
例えば、平均値μ=0,分散σ=1の標準正規分布では、以下の式(42)となるので、となるので、これを式(40)に代入すると、式(43)のようになる。
【数42】
【数43】
【0108】
ここで、式(43)の右辺、第2項を数値計算すると、式(44)が成立するので、位相の回転をしない場合の、E(|S^2|)との比は、式(45)で表わされる。
【数44】
【数45】
【0109】
補正量算出部503は、位相を標準正規分布の正規乱数で回転させる場合、振幅補正部504に補正係数をsqrt(1/0.805)として、伝達する。位相回転はフレーム内の全ての周波数に対して行ってもよいが、信号の急変を検出した一部の周波数に対して行っても構わない。振幅補正は位相回転を行った周波数、つまり信号急変を検出した周波数に対して行う。よって、位相回転を行わない周波数の補正係数は、1.0とする。位相回転を行った周波数の補正係数のみ、上記で導出した値とする。
【0110】
このように振幅制御部203では、位相制御部202から伝達された位相の回転量を用いて振幅補正係数を算出し、雑音抑圧部205から供給された強調信号振幅スペクトルに乗じ、逆変換部204に供給する。これにより、劣化信号位相スペクトルを回転させ、強調信号位相スペクトルを得た場合の出力レベル低下を解消することができる。
【0111】
なお、算出した振幅補正量が無視できる(補正係数が1.0に近い)とき、補正量算出と振幅補正の演算量を削減したいときなど、必要と認めるときには、振幅補正自体を省略することも可能である。そのときには、位相回転部501における位相回転だけを実施する。
【0112】
また、これまでは乱数を用いて位相を回転する例について説明したが、厳密な意味での乱数を用いない構成でも同様な効果を得ることができる。入力された劣化信号の位相特性に存在する特有のパターンをなくする、あるいは弱くすることが位相回転の目的であるので、その目的を達成することができる数列は何でも位相回転に利用することができる。例えば、フレーム長の半分(振幅およびパワースペクトルが独立な周波数成分の数)より周期が長く、一周期内で相関の小さい数列の利用は有効である。
【0113】
《算出部および急変判定部の構成》
図12は、急変判定部209の内部構成について説明するための図である。
図12に示すように、急変判定部209は、平行度算出部1206および平行度判定部1207を備える。
【0114】
平行度算出部1206は、算出部281から提供された傾き1240と算出部283から提供された重み付き傾きの平均値1250とを、周波数ごとに比較してその傾きの類似度を算出する。つまり、周波数領域における位相成分信号の、「算出部283が算出した直線」に対する「算出部281が算出した直線」の平行度を各周波数で算出する。平行度判定部1207では、そのような平行度が一定値を越えていれば、信号の急変がその周波数に存在すると判定する。
【0115】
ここで、周波数ごとではなく周波数帯域(サブバンド)またはフレームごとに判定すると、より大局的な判定によって、信号急変成分以外の位相成分による判定誤りを低減することができる。さらに、周波数帯域ごとまたはフレームごとの判定結果を用いて、周波数ごとの判定結果を修正してもよい。例えば、ある周波数帯域の判定結果が「信号急変が存在する」であるときに、その周波数帯域内の全周波数の判定結果を強制的に「信号急変が存在する」に設定することで、他の信号成分の妨害による判定誤りを低減することができる。その反対に、ある周波数帯域の判定結果が「信号急変が存在しない」であるときに、その周波数帯域内の全周波数の判定結果を強制的に「信号急変が存在しない」に設定することで、他の信号成分の妨害による判定誤りを低減することもできる。あるいは、前記帯域内の各周波数で、判定の容易さ(閾値)を「存在」と判定しやすい方向へ修正して、各周波数独自に判定を行うという構成自体は維持してもよい。周波数ごとまたは周波数帯域ごとに判定結果を求めると、周波数ごとまたは周波数帯域ごとに急変を抑圧することができ、より精度の高い信号急変の抑圧を行なうことが可能となる。
【0116】
急変判定部209は判定結果1230として、信号急変あり(1)または信号急変無し(0)を出力する。ただし、平行度判定部1207が平行度と対応させた、0と1の間の値を急変の存在可能性として出力するときには、判定結果1230は急変の存在可能性を表す0と1の間の値となる。その場合、信号急変が含まれている尤もらしさ(急変の存在可能性)を得ることが可能となる。存在可能性は、例えば、次のようにして求めることができる。まず、逆正接関数(arctangent)を用いて、算出部281から提供された傾き1240と重み付き傾きの平均値1250を傾きに対応した角度に変換する。角度の範囲は、-90度から90度とする。これら2角度の差の絶対値が0に近いほど、信号急変の存在可能性が高い。また、2角度の差の絶対値は、180度がその最大値となる。そこで、正の値を閾値として定める。2角度の差が閾値を超えるとき、信号急変の存在可能性を0とする。また、角度の差が0になるとき、存在可能性を1とする。存在可能性の一般値は、角度の差の関数として定義する。このような関数の最も簡単なものは、直線である。存在可能性として、2角度の差に比例した値が定められる。直線の傾きとy切片(前記2角度の差が0のときの関数値)は、角度の差が0および1に等しいときの境界条件を満足するように定める。関数としては、任意の線形または非線形関数や多項式などを用いてもよい。
【0117】
図13は、位相およびその変化量をグラフに示したものである。周波数領域において、周波数軸に沿って、グラフ1301のように位相が変化する場合、その位相変化量は、周波数領域において、周波数軸に沿って、グラフ1302に示すように変化する。
【0118】
一方、グラフ1301上の点の回帰直線として、周波数領域で直線1303として示される位相を算出できる。これは、グラフ1301上の各点における傾きを平均化して、得られた平均値を傾きとして有する直線を直線1303とすることに相当する。
【0119】
本実施形態では、位相成分信号1301と直線1303とが平行になる部分がどの程度あるかに応じて、信号急変の存在を判定する。
【0120】
位相の傾きを縦軸にとり、周波数を横軸にとると、直線1303の傾きに近似する範囲は、範囲1304で示される。したがって、範囲1304とグラフ1302との重なる部分1305が所定の閾値よりも大きい場合に、急変判定部209は、信号の急変が存在すると判定する。
【0121】
図14は、本実施形態にかかる雑音抑圧装置200をソフトウェアを用いて実現する場合のハードウェア構成について説明する図である。
【0122】
雑音抑圧装置200は、プロセッサ1410、ROM(Read Only Memory)1420、RAM(Random Access Memory)1440、ストレージ1450、入出力インタフェース1460、操作部1461、入力部1462、および出力部1463を備えている。雑音抑圧装置200は、カメラ1464を備えていてもよい。プロセッサ1410は中央処理部であって、様々なプログラムを実行することにより雑音抑圧装置200全体を制御する。
【0123】
ROM1420は、プロセッサ1410が最初に実行すべきブートプログラムの他、各種パラメータ等を記憶している。RAM1440は、不図示のプログラムロード領域の他に、入力信号210、位相成分信号220、振幅成分信号230、強調信号260を記憶する領域を有している。さらに、RAM1440は、判定結果1230および位相の傾き1240、1250等を記憶する領域を有している。
【0124】
また、ストレージ1450は、雑音抑圧プログラム1451を格納している。雑音抑圧プログラム1451は、変換モジュール、位相制御モジュール、振幅制御モジュール、逆変換モジュール、雑音抑圧モジュール、位相傾き算出モジュール、および急変判定モジュールを含んでいる。雑音抑圧プログラム1451に含まれる各モジュールをプロセッサ1410が実行することにより、
図2の変換部201、位相制御部202、振幅制御部203、逆変換部204、雑音抑圧部205、算出部281、283、重み付け部285、急変判定部209の各機能を実現できる。なお、ストレージ1450はノイズデータベースを格納してもよい。
【0125】
プロセッサ1410が実行した雑音抑圧プログラム1451に関する出力である強調信号は、入出力インタフェース1460を介して出力部1463から出力される。これにより、例えば、入力部1462から入力した操作部1461の操作音などを抑圧することができる。また、入力部1462から入力した入力信号に信号急変が含まれたことを検出してカメラ1464による撮影を開始するなどといった適用法も可能である。
【0126】
図15Aは、上記雑音抑圧プログラム1451による信号急変判定処理の流れを説明するためのフローチャートである。ステップS1501では、算出部281において、周波数領域での位相の傾き算出処理を実行する。ステップS1503では、重み付け部285において、周波数領域での位相の傾きを振幅で重み付けする重み付け処理を実行する。次に、ステップS1505では、算出部283において、重み付けられた周波数領域での位相の傾きの平均値算出処理を実行する。
【0127】
次にステップS1507において、算出した傾きを周波数ごとに比較する。ステップS1509において、傾きの差分絶対値が所定の閾値N以下か否かを判定し、N以下であれば、ステップS1511に進み、その周波数kについて、フラグを立てる(I(k)=1とする)。一方、N以下でない場合、ステップS1514においてI(k)=0とする。ステップS1515ではk=F(Fはフレーム全体の周波数成分数)を判定し、k=Fでなければ、ステップS1517に進み、k=k+1としてステップS1507に戻り、フレーム全体にわたって周波数ごとに傾き比較を行なう。最終的には、ステップS1519において、I(k)=1となったkの周波数で信号の急変ありと判定し、判定結果を、雑音抑圧部205および位相制御部202に供給する。なお、ステップS1519に変えて、フレーム内でI(k)を積算し、I(k)の積算値が所定の閾値を超えた場合に、急変判定部209は信号の急変を含むフレームと判定してもよい。また、この際、急変判定結果を次の周波数帯域にハングオーバして積算してもよい。
【0128】
また、ハングオーバの作用として、続くフレームにおける閾値Nを小さく設定することができる。このように続くフレームの閾値を設定することによって、信号急変(衝撃音)の検出を容易にし、検出漏れを低減することができる。
【0129】
図15Bは、算出部281が行なう傾き算出処理の流れを説明するためのフローチャートである。ステップS1551で信号を入力するとステップS1553に進み、フレーム分割、窓処理を経てフーリエ変換により、周波数領域での位相成分信号を抽出する。次にステップS1555で、周波数のステップkを1に設定すると、ステップS1557では、位相P(k)を微分して傾きΔP(k)を算出し、ステップS1559において、その傾きをバッファリングする。ステップS1561では、k=F(Fはフレーム全体の周波数成分数)を判定し、k=Fでなければ、ステップS1563に進み、k=k+1としてステップS1557に戻り、フレーム全体にわたって周波数ごとに傾き算出を行なう。
【0130】
図15Cは、算出部283が行なう重み付られた傾きの平均値算出処理の流れを説明するためのフローチャートである。まず、ステップS1521で重み付られた位相の傾きを入力すると、ステップS1531において、重み付られた位相の傾きの平均値を計算し、ステップS1533で位相の傾きと重み付られた位相の傾きの平均値をバッファリングする。
【0131】
以上の処理により、信号の急変をより正確に検出することができ、適宜、その急変部を適切に抑圧することが可能となる。なお、本実施形態では位相の傾きを微分値で求めたが、単位ベクトルの回転量など別の指標を求めて、判定に用いてもよい。
【0132】
[第3実施形態]
次に本発明の第3実施形態に係る雑音抑圧装置1600について、
図16を用いて説明する。
図16は、本実施形態に係る雑音抑圧装置1600の機能構成を説明するための図である。本実施形態に係る雑音抑圧装置1600は、上記第2実施形態と比べると、振幅平坦度算出部1601を追加的に備えている点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【0133】
振幅平坦度算出部1601は、周波数軸に沿った振幅変化を算出して、急変判定部1609に供給する。隣接する周波数間で振幅の変化が小さい周波数が信号急変を表す。振幅変化は、帯域ごと、あるいは全周波数のいずれかに対して、一つの平坦度を求めてもよい。具体的には、以下の式(46)のように、平坦度を表わすFM(Flatness Measure)を求める。x(n)は周波数nにおける振幅またはパワースペクトル、Nは平坦度算出区間に含まれる周波数成分の数である。
【数46】
FMは0.0から1.0の値をとる。完全に平坦な場合、FMは1.0である。平坦度については、非特許文献3に開示がある。
【0134】
平坦度はまた、別の指標を用いて表すこともできる。例えば、帯域ごと、あるいは全周波数のいずれかに対してx(n)の平均を求め、各周波数成分nにおけるx(n)とその平均値との差分二乗値総和を帯域ごと、あるいは全周波数の平坦度とすることができる。
【0135】
全周波数の代わりに、単一あるいは複数の周波数帯域において前記差分二乗値総和を一つ求め、これを平坦度とすることもできる。このようにして求めた平坦度は、完全に平坦な場合に0.0、平坦度が低下するに従って大きな値をとる。
【0136】
別の平坦度の指標として、滑らかさを用いてもよい。滑らかさは、周波数軸に沿った隣接サンプル間の差分絶対値総和で表現することができる。凹凸の多い(滑らかでない)波形で滑らかさは大きな値を、少ない(滑らかな)波形で小さな値をとる。この指標は、全変動量(TV: Total Variation)として知られている。
【0137】
これまで、平坦度として周波数軸に沿った平坦度を用いてきたが、時間軸に沿った平坦度を利用することもできる。信号急変部では急激に振幅およびパワーが増加するので、この性質を用いると、時間軸に沿った平坦度が低いときに、信号急変が存在すると判定することができる。具体的には、現フレームと直前フレームの振幅またはパワーの差が一定値以上となるときに、平坦度が低い、すなわち信号急変が存在すると判定する。また、数フレーム過去のフレームから現在のフレームまでの複数フレームに対して隣接フレーム間の振幅またはパワーの差を求め、これらを線形または非線形結合した結果を平坦度として定義することもできる。過去のフレームの情報を用いることで、低域成分を含むなまった信号急変部を検出しやすくなり、その抑圧性能が向上する。なお、隣接フレームの振幅またはパワー差を計算する際には、これを周波数成分ごと、帯域ごと、あるいは全周波数のいずれかに対して計算してもよい。さらに、単一または複数の帯域に対して前記振幅またはパワー差を計算することもできる。例えば、単一の帯域、特に高周波域で前記振幅またはパワー差を計算することによって、音声やその他の信号の影響を低減することができ、より正確に信号急変部を検出することが可能となる。
【0138】
これまで説明した2つの平坦度、すなわち周波数軸に沿った平坦度と時間軸に沿った平坦度は、それぞれを単独で用いることもできるし、両方を組み合わせて用いることもできる。組合せの例としては、2つの平坦度の線形または非線形結合に基づく信号急変部の検出や、それぞれの平坦度に基づいた検出結果の組合せなどがある。周波数方向の平坦度は大きいときに、時間方向の平坦度は小さいときに信号急変の検出と判定するので、組合せの際にどちらかを逆数にしてから組み合わせるなどの工夫が必要となる。
【0139】
振幅平坦度算出部1601の本質的な機能は、振幅の情報を用いて、信号急変の存在可能性を求めることであるから、その他の方法で代替してもよい。振幅情報を用いて信号急変を検出する技術は、非特許文献6、非特許文献7、非特許文献8などに開示されている。
【0140】
急変判定部1609は、傾きの類似度(平行度)と振幅平坦度の2つの指標を考慮して、信号の急変を判定する。振幅が周波数軸に沿って平坦である(バラツキが小さい)とき、信号急変部である可能性が高いと考えられるからである。これは、信号急変がパルス性(短時間に振幅が増加して、減少する)であることと、インパルスのフーリエ変換が白色信号(全周波数で振幅およびパワーが等しい)となることから自明である。判定の方法としては例えば以下のいずれかを選択することができる。
【0141】
(1)平行度と振幅平坦度が共にそれぞれの条件を満たす場合(例えば傾きの差分値がN=0.1以下で、振幅平坦度FMがМ=0.8以上の場合)、信号の急変があると判定
(2)平行度と振幅平坦度を単独で用いたときの判定結果の論理和。信号急変の存在可能性を算出するときは、平行度による存在可能性と振幅平坦度による存在可能性のうち、大きい方(または小さい方)に基づく判定
(3)平行度と振幅平坦度の両方の平均が条件を満たす場合(例えば傾きの差分値PXと、振幅平坦度FMと1.0との差分値QX=(1.0−FM)との平均AV1=(PX+QX)/2が0.1以下)に、信号の急変があると判定
(4)傾きの差分値と振幅平坦度とに対して重み付けを行ないつつ両方を合わせた複合的な条件を満たす場合(例えば傾きの差分値PXと、振幅平坦度FMと1.0との差分値QX=(1.0−FM)との重み付け平均AV2=(0.8×PX+0.2×QX)が0.1以下)に、信号の急変があると判定
(5)傾きの差分値と振幅平坦度とを、線形または非線形関数を用いて組み合わせ、組み合わせた結果が一定値より大きいときに信号の急変があると判定。時間方向の振幅平坦度が含まれるときには、その逆数を代わりに用いる。
(6)傾きの差分値と振幅平坦度との中でいずれか理想値により近い方(差分値は小さい方、平坦度は大きい方)のみを用いて、その理想値により近い方が条件を満たす場合に信号の急変があると判定。時間方向の振幅平坦度が含まれるときには、その逆数を代わりに用いる。
(7)事前に検出しようとする急変信号の振幅またはパワースペクトルに関する情報が得られて、振幅またはパワースペクトルが平坦であれば、傾きの差分値の重みを小さくする。
(8)事前に検出しようとする急変信号の振幅またはパワースペクトルに関する情報が得られて、振幅またはパワースペクトルの最小値よりも入力された劣化信号の振幅またはパワースペクトルが小さいときは、信号急変を検出するための閾値を一時的に大きく変更して、検出されにくくする。
【0142】
特定の信号を処理する場合、例えばノイズが小さくてインパルスに近い衝撃音を検出・抑圧する場合、振幅またはパワーに関する情報の方が位相情報よりも信頼できるときがある。例えば、静かな環境でピストルの発砲音を検出する際には、振幅のみを用いて検出してもよい。一方、ノイズの振幅またはパワーが大きく変化する場合、例えば、空港の警備での発砲音の検出の場合、静かな(ノイズが小さい)状況と、ノイズが大きい状況とで、振幅と位相の重み付けを変えることが効果的である。この場合、振幅と位相の重み付けを、ノイズの有無や時間帯に応じて変化させてもよい。例えば、管制塔からフライトスケジュールの最新情報を入手することができれば、飛行機の離着陸時刻が分かるため、飛行機が来るタイミング(ノイズが多いタイミング)では位相の重み付けを大きくして発砲音の検出に用いることができる。発砲音(検出対象の衝撃音)以外の信号が混在するときには、位相情報を用いた衝撃音の検出が振幅を用いた検出よりも効果的だからである。
【0143】
一方、ノイズが小さい状況では、入力された劣化信号の周波数領域ベクトルの絶対値、つまり振幅値を重視して判定する方が効果的に衝撃音を検出できる。もちろんここでも振スペクトルの代わりにパワースペクトルの値を用いてもよい。また、信号の種類によって、衝撃音の振幅が平坦でない場合がある。その場合は、位相平坦度の重みを大きくして検出を行なうことにより高精度で信号の急変を検出できる。さらに、衝撃音の振幅またはパワースペクトルに関する情報が事前に得られるときには、得られた情報を用いて振幅が平坦なときと同じ結果が得られるように、振幅平坦度の計算結果を補正することもできる。具体的には、振幅スペクトル230を衝撃音の振幅またはパワースペクトル形状の逆数を各周波数成分で乗じた後に、振幅平坦度を算出する。
【0144】
以上説明したとおり本実施形態によれば、振幅平坦度を併せて用いて信号急変部を検出することができる。これにより、信号急変(衝撃音)をより正確に検出することができ、適宜、その信号急変(衝撃音)を適切に抑圧することが可能となる。
【0145】
[第4実施形態]
なお、上記実施形態では、信号急変部を抑圧することを目的とした雑音抑圧装置に信号急変検出方法を適用した場合について説明したが、本発明はこれに限定されるものではない。衝撃音(急激に立ち上がってすぐにたち下がる信号)の検出を目的とした様々な装置、システムおよび状況で利用することができる。また、信号が急激に立ち上がって(またはたち下がって)そのままとなる場合であっても、急変部として検出できる。
【0146】
例えば、現在のオーディオ符号化方式(例えばMPEG AACの符号化部)において、いわゆるアタックと呼ばれる信号急変部では、通常とは異なった情報圧縮方式が採用されているが、その際の信号急変部の検出にも適用することができる。信号急変部では、分析窓長を変更して、プリエコーと呼ばれる先行雑音の抑圧を行うので、検出が必要となる。振幅やエントロピーの変化などを用いて検出する方法に比べて精度良く急変を検出し、効果的に情報圧縮を行なうことができる。
【0147】
また、
図17に示すように車両1700にマイク1701と算出部281、283と重み付け部285と急変判定部209と映像記録部1702とを搭載する適用例も考えられる。映像記録部1702が衝撃音の検出をトリガーにしてカメラによる撮影画像の上書き保存禁止を行なえば事故状況の記録を残すことができる。その際に、衝撃音検出から一定時間の遅延の後に、上書き保存禁止を行ってもよい。衝撃そのものをトリガーにした場合と異なり、衝撃が小さい場合や、他の車両が事故にあった場合にも事故状況の自動記録を行なえるという利点がある。
【0148】
また、
図18に示すように、心電計1800に算出部281、283と重み付け部285と急変判定部209とアラーム部1801とを接続する適用例も考える。心電図の異常心拍の検出をより正確かつ効果的に行なうことができる。特に雑音の多い場合に有効である。同様に、胎児のエコーのモニターにも適用できる。雑音による妨害で正しく心音がとれない場合があるが、そのようなときにも本技術は有効である。すなわち生体信号の急変検出に広く適用できる。
【0149】
同様に
図19に示すように、ハードディスクドライブ1900の異常検知のために、本発明の衝撃音検出を利用してもよいし、
図20に示すように、例えば空港など騒音が大きい状況での発砲音や爆発音の検出に、本願発明を利用してもよい。
【0150】
[他の実施形態]
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
【0151】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する信号処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、本発明の範疇に含まれる。
【0152】
[実施形態の他の表現]
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
入力信号を、周波数領域における位相成分信号に変換する変換手段と、
前記位相成分信号の複数の周波数において、周波数に対する位相の傾きを第1位相傾きとして算出する第1算出手段と、
前記複数の周波数における前記第1位相傾きを該周波数の振幅またはパワーで重み付けして重み付き第1位相傾きを算出する重み付け手段と、
前記重み付き第1位相傾きに基づいて第2位相傾きを算出する第2算出手段と、
前記第1位相傾きおよび前記第2位相傾きに基づいて前記入力信号の急変に関する存在可能性を判定する判定手段と、
を備えた信号処理装置。
(付記2)
前記判定手段は、
前記第1位相傾きと前記第2位相傾きとの類似度に基づいて、前記入力信号の急変に関する存在可能性を判定する付記1に記載の信号処理装置。
(付記3)
前記第2算出手段は、
前記重み付き第1位相傾きの平均値を求めて第2位相傾きとする付記1または2に記載の信号処理装置。
(付記4)
前記第2算出手段は、音声が支配的ではない周波数における前記重み付き第1位相傾きの平均値を求めて第2位相傾きとする付記1または2に記載の信号処理装置。
(付記5)
前記第2算出手段は、音声が支配的ではなく振幅またはパワーが背景雑音より大きい周波数における前記重み付き第1位相傾きの平均値を求めて第2位相傾きとする付記1または2に記載の信号処理装置。
(付記6)
前記変換手段はさらに前記入力信号の周波数領域における振幅成分信号を算出し、前記振幅成分信号の平坦度を算出する算出手段をさらに備え、
前記判定手段は、さらに前記振幅成分信号の平坦度を考慮して前記入力信号の急変の存在可能性を判定する付記1乃至5のいずれか1項に記載の信号処理装置。
(付記7)
前記判定手段は、前記第1位相傾きと前記第2位相傾きとの類似度、および前記振幅成分信号の平坦度を、それぞれ重み付けして得た値に基づいて前記信号の急変の存在可能性の判定を行なう付記6に記載の信号処理装置。
(付記8)
前記判定手段で求めた前記急変の存在可能性に対応した程度で、振幅の抑圧を行なう振幅制御手段をさらに備えた付記1乃至7のいずれか1項に記載の信号処理装置。
(付記9)
入力信号を、周波数領域における位相成分信号に変換し、
前記位相成分信号の複数の周波数において、周波数に対する第1位相傾きを算出し、
前記複数の周波数における前記第1位相傾きを該周波数の振幅またはパワーで重み付けして重み付き第1位相傾きを算出し、
前記重み付き第1位相傾きを用いて第2位相傾きを算出し、
前記第1位相傾きと前記第2位相傾きとに基づいて前記入力信号の急変の存在可能性を判定する、
各ステップを含む信号処理方法。
(付記10)
入力信号を、周波数領域における位相成分信号に変換し、
前記位相成分信号の複数の周波数において、周波数に対する第1位相傾きを算出し、
前記複数の周波数における前記第1位相傾きを該周波数の振幅またはパワーで重み付けして重み付き第1位相傾きを算出し、
前記重み付き第1位相傾きを用いて第2位相傾きを算出し、
前記第1位相傾きと前記第2位相傾きとに基づいて前記入力信号の急変の存在可能性を判定する、
各ステップをコンピュータに実行させる信号処理プログラム。
【0153】
この出願は、2013年8月30日に出願された日本出願特願2013−180735を基礎とする優先権を主張し、その開示の全てをここに取り込む。