(57)【要約】【課題】入力音に含まれる周期雑音を抑圧すること。【解決手段】雑音抑圧プログラムは、入力音を取得し、入力音に含まれる非音声区間におけるパワー変化の周期を検出し、周期に基づいて、入力音に含まれる音声区間に適用する周期的に変化する補正量を算出し、補正量に基づいて少なくとも音声区間のパワーを補正する、処理をコンピュータに実行させる。【選択図】図１
2020085975.tif 000002
【特許請求の範囲】
【請求項１】
入力音を取得し、
前記入力音に含まれる非音声区間におけるパワー変化の周期を検出し、
前記周期に基づいて、前記入力音に含まれる音声区間に適用する周期的に変化する補正量を算出し、
前記補正量に基づいて少なくとも前記音声区間のパワーを補正する、
処理をコンピュータに実行させることを特徴とする雑音抑圧プログラム。
【請求項２】
前記検出する処理は、前記非音声区間における時間波形の包絡線の波形から得られるパワースペクトルに基づいて前記パワー変化の周期を検出することを特徴とする請求項１に記載の雑音抑圧プログラム。
【請求項３】
前記算出する処理は、前記非音声区間で検出された前記周期に基づいて算出する前記補正量の位相を、前記非音声区間に隣接する前記音声区間に対応する位相に補正することを特徴とする請求項１または２に記載の雑音抑圧プログラム。
【請求項４】
入力音を取得し、
前記入力音に含まれる非音声区間におけるパワー変化の周期を検出し、
前記周期に基づいて、前記入力音に含まれる音声区間に適用する周期的に変化する補正量を算出し、
前記補正量に基づいて少なくとも前記音声区間のパワーを補正する、
処理をコンピュータが実行することを特徴とする雑音抑圧方法。
【請求項５】
入力音を取得する取得部と、
前記入力音に含まれる非音声区間におけるパワー変化の周期を検出する検出部と、
前記周期に基づいて、前記入力音に含まれる音声区間に適用する周期的に変化する補正量を算出する算出部と、
前記補正量に基づいて少なくとも前記音声区間のパワーを補正する補正部と、
を有することを特徴とする雑音抑圧装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、雑音抑圧プログラム、雑音抑圧方法及び雑音抑圧装置に関する。
【背景技術】
【０００２】
音声テキスト変換、いわゆるディクテーションを始め、スマートフォンやスマートスピーカに搭載される音声アシスタント、音声翻訳などの多方面で音声認識が活用される。例えば、音声認識が行われる場合、入力音に含まれる雑音が認識率の低下の一因となることがある。
【０００３】
このような雑音を抑圧する技術の一例として、次のような雑音除去システムがある。この雑音除去システムでは、入力信号から切り出されたフレーム信号をフーリエ変換することによって短時間スペクトルを計算する。そして、雑音除去システムでは、無音声区間において、短時間スペクトルから雑音スペクトルを推定する。その上で、雑音除去システムでは、音声の始点が検出された後、最後の無音声区間で推定した雑音スペクトルにスペクトル減算係数をかけて短時間スペクトルから差し引くことで、雑音除去を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１７０９８８号公報
【特許文献２】特開２０１５−１７７４４７号公報
【特許文献３】特開平８−２２１０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の技術では、パワーが周期的に変化する周期雑音を抑圧するのが困難である。
【０００６】
１つの側面では、本発明は、入力音に含まれる周期雑音を抑圧できる雑音抑圧プログラム、雑音抑圧方法及び雑音抑圧装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一態様では、雑音抑圧プログラムは、入力音を取得し、前記入力音に含まれる非音声区間におけるパワー変化の周期を検出し、前記周期に基づいて、前記入力音に含まれる音声区間に適用する周期的に変化する補正量を算出し、前記補正量に基づいて少なくとも前記音声区間のパワーを補正する、処理をコンピュータに実行させる。
【発明の効果】
【０００８】
入力音に含まれる周期雑音を抑圧できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る雑音抑圧装置の機能的構成の一例を示すブロック図である。
【図２Ａ】図２Ａは、定常雑音のスペクトルの一例を示す図である。
【図２Ｂ】図２Ｂは、周期雑音のスペクトルの一例を示す図である。
【図３Ａ】図３Ａは、入力音の時間波形の一例を示す図である。
【図３Ｂ】図３Ｂは、出力音の時間波形の一例を示す図である。
【図４】図４は、入力音の時間波形の一例を示す図である。
【図５】図５は、出力音の時間波形の一例を示す図である。
【図６Ａ】図６Ａは、音声の時間波形の一例を示す図である。
【図６Ｂ】図６Ｂは、周期雑音および音声を含む時間波形の一例を示す図である。
【図６Ｃ】図６Ｃは、周期雑音の抑圧後の出力音の時間波形の一例を示す図である。
【図７】図７は、周期雑音判定部の機能的構成の一例を示す図である。
【図８Ａ】図８Ａは、特定の周波数バンドにおける時間波形の一例を示す図である。
【図８Ｂ】図８Ｂは、包絡線の時間波形の一例を示す図である。
【図８Ｃ】図８Ｃは、パワースペクトルの一例を示す図である。
【図９】図９は、周期雑音推定部の機能的構成の一例を示す図である。
【図１０】図１０は、位相の補正方法の一例を示す図である。
【図１１】図１１は、位相の補正方法の一例を示す図である。
【図１２】図１２は、実施例１に係る雑音抑圧処理の手順を示すフローチャートである。
【図１３】図１３は、実施例１に係る周期雑音判定処理の手順を示すフローチャートである。
【図１４】図１４は、実施例１に係る周期雑音推定処理の手順を示すフローチャートである。
【図１５】図１５は、実施例１及び実施例２に係る雑音抑圧プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して本願に係る雑音抑圧プログラム、雑音抑圧方法及び雑音抑圧装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１１】
図１は、実施例１に係る雑音抑圧装置の機能的構成の一例を示すブロック図である。図１に示す雑音抑圧装置１０は、入力音に含まれる雑音を抑圧する雑音抑圧機能を実現するものである。この雑音抑圧機能の一環として、雑音抑圧装置１０は、入力音に含まれる雑音の中でもパワーが周期的に変化する周期雑音を抑圧する。
【００１２】
［定常雑音と周期雑音］
音声には、パワーのレベルに変化がない「定常雑音」が重畳する場合がある。例えば、定常雑音の例として、ファンやモータの回転音、機械のハムノイズなどといった音が挙げられる。このような定常雑音の他にも、パワーが周期的に変化する「周期雑音」が音声に重畳する場合がある。例えば、周期雑音には、音声信号が分割されるフレーム長よりも周期が長い雑音、例えばエアコンの作動音などが対応する。
【００１３】
これら定常雑音及び周期雑音の類似点および相違点について説明する。図２Ａは、定常雑音のスペクトルの一例を示す図である。図２Ｂは、周期雑音のスペクトルの一例を示す図である。これら図２Ａ及び図２Ｂのグラフの縦軸は、周波数を指し、グラフの横軸は、時間を指す。また、図２Ａ及び図２Ｂのグラフにおける濃淡のグラデーションは、パワーの大きさを指し、ここでは、明るいほどパワーが大きいことを表している。
【００１４】
図２Ａのグラフ及び図２Ｂのグラフに示すように、定常雑音のスペクトル及び周期雑音のスペクトルの概形は類似する一方で、その細部が異なる。例えば、図２Ｂのグラフには、周期雑音のスペクトルのうち１ｋＨｚ付近の部分が抜粋された上でその拡大図が示されている。拡大図に示すように、濃淡のグラデーションが時系列に明、暗、明、暗、明の順に変化している。これは、パワーが時系列に大、小、大、小、大の順に変化していること意味する。なお、ここでは拡大図を省略しているが、定常雑音のスペクトルのうち１ｋＨｚ付近の部分では濃淡のグラデーションは明のまま一定であり、パワーも変化しない。このように、周期雑音のスペクトルには、定常雑音のスペクトルと異なり、パワーが周期的に変化する周波数帯域が含まれる。
【００１５】
［課題の一側面］
上記の背景技術の欄で説明した通り、上記の雑音除去システムでは、上記の周期雑音そのものが想定されておらず、その対策としての抑圧にも想定がない。このため、上記の雑音除去システムでは、音声区間において雑音のパワーが一定であるという仮定の下で雑音を推定する。それ故、入力信号に上記の周期雑音が含まれる場合、パワーが一定と推定された雑音と、パワーが周期的に変化する周期雑音との間で誤差が生じる。このように雑音の推定に誤差が生じる場合、抑圧過多によって音声に歪みが発生したり、あるいは抑圧不足によって雑音の残留が発生したりする。
【００１６】
図３Ａは、入力音の時間波形の一例を示す図である。図３Ａに示すグラフの縦軸は、パワーを指し、また、グラフの横軸は、時間を指す。図３Ａには、音声区間の検出結果が時間ｔ１を境界に雑音区間（非音声区間）から音声区間へ切り替わる入力音が示されている。さらに、図３Ａには、入力音のうち周期雑音３１Ａ及び定常雑音３２Ａが含まれる周波数帯域に対応する信号成分の時間波形が抜粋して示されている。さらに、図３Ａには、上記の雑音除去システムで推定される推定雑音の波形が実線で示される一方で、入力音に含まれる周期雑音３１Ａ及び定常雑音３２Ａの成分に対応する波形が破線で示されている。なお、図３Ａの例では、入力音の音声区間に含まれる音声のパワーが一定であることとして説明を行う。
【００１７】
図３Ａに破線で示された通り、周期雑音３１Ａのパワーの大きさは周期的に変化している。その一方で、図３Ａに実線で示された通り、上記の雑音除去システムの推定雑音は、上記の仮定にしたがってパワーが一定と推定されている。これら周期雑音３１Ａおよび推定雑音のパワーのずれが推定誤差として現れる。
【００１８】
図３Ｂは、出力音の時間波形の一例を示す図である。図３Ｂに示すグラフにおいても、縦軸はパワーを指し、また、グラフの横軸は時間を指す。図３Ｂにおいても、出力音のうち周期雑音３１Ｂおよび定常雑音３２Ｂが含まれる周波数帯域に対応する信号成分の時間波形が抜粋して示されている。さらに、図３Ｂには、図３Ａに実線で示された推定雑音に従って図３Ａに破線で示された入力音から雑音の抑圧が行われた出力音が示されている。さらに、図３Ｂには、出力音の波形が実線で示される一方で、入力音に含まれていた音声（正解）の成分に対応する波形が破線で示されている。
【００１９】
図３Ｂに破線で示された通り、音声区間における音声のパワーは一定である。その一方で、図３Ｂに実線で示された通り、上記の雑音除去システムの推定雑音により雑音の抑圧が行われる場合、サブトラクト係数に基づくスペクトルサブトラクションの処理によって推定騒音スペクトルが差し引かれる。この結果、雑音区間では、周期雑音３１Ｂおよび定常雑音３２Ｂのパワーのレベルが下側にシフトする。また、音声区間では、出力音に抑圧不足や抑圧過多が生じる。例えば、推定雑音のパワーが周期雑音のパワーよりも小さい箇所で出力音のパワーが抑圧不足となる。また、推定雑音のパワーが周期雑音のパワーよりも大きい箇所で出力音のパワーが抑圧過多となる。これら抑圧不足や抑圧過多によって出力音に歪みが生じてしまう。
【００２０】
このように、上記の雑音除去システムでは、周期雑音の推定誤差によって出力音に歪みが生じるので、入力音に重畳する周期雑音を抑圧できない場合がある。
【００２１】
［課題解決のアプローチの一側面］
そこで、本実施例に係る雑音抑圧装置１０は、音声区間において雑音のパワーが一定であるという仮定に基づいて雑音を推定するアプローチは採用しない。すなわち、本実施例に係る雑音抑圧装置１０は、入力音から音声区間が検出される前の雑音区間におけるパワー変化の周期に基づいて当該音声区間における周期雑音を推定し、入力音に含まれる周期雑音を抑圧する。
【００２２】
図４は、入力音の時間波形の一例を示す図である。図４に示すグラフの縦軸は、パワーを指し、グラフの横軸は、時間を指す。図４には、音声区間の検出結果が時間ｔ２を境界に雑音区間（非音声区間）から音声区間へ切り替わる入力音が示されている。さらに、図４には、入力音のうち周期雑音が含まれる周波数帯域に対応する信号成分の時間波形が抜粋して示されている。さらに、図４には、入力音に含まれる雑音区間における周期雑音の成分に対応する波形が実線で示されると共に、雑音区間におけるパワー変化の周期に基づいて推定された音声区間における周期雑音が破線で示されている。
【００２３】
図４に示すように、時間ｔ２になるまで入力音のフレームから音声区間は検出されない。その後、時間ｔ２以降の入力音のフレームで音声区間が検出される。このとき、本実施例に係る雑音抑圧装置１０では、入力音から音声区間が検出される前の雑音区間、すなわち図４の実線で示された時間波形におけるパワー変化の周期が音声区間における周期雑音の推定に用いられる。このため、本実施例に係る雑音抑圧装置１０では、上記の雑音除去システムのように、推定される雑音のパワーが一定に固定されない。さらに、本実施例に係る雑音抑圧装置１０では、直前の雑音区間におけるパワー変化の周期と相関がある周期雑音、すなわち図４に破線で示された時間波形が推定される。このように、本実施例に係る雑音抑圧装置１０では、上記の雑音除去システムでは推定が困難である周期雑音を推定できる。
【００２４】
したがって、本実施例に係る雑音抑圧装置１０によれば、入力音に含まれる周期雑音を抑圧できる。
【００２５】
例えば、本実施例に係る雑音抑圧装置１０では、図３Ａに示された入力音に含まれる周期雑音を抑圧できる。図５は、出力音の時間波形の一例を示す図である。図５に示すグラフにおいても、縦軸はパワーを指し、また、グラフの横軸は時間を指す。図５においても、出力音のうち周期雑音が含まれる周波数帯域に対応する信号成分の時間波形が抜粋して示されている。さらに、図５には、図３Ａに破線で示された入力音の時間波形のうち雑音区間におけるパワー変化の周期から推定された音声区間における周期雑音に基づいて雑音の抑圧が行われた出力音が示されている。さらに、図５には、出力音の波形が実線で示される一方で、入力音に含まれる音声（正解）の成分に対応する波形が破線で示されている。図５に実線で示された出力音の波形と、図５に破線で示された音声の波形とがほぼ一致する。このため、図３Ｂに示された雑音除去システムの例のように、出力音に抑圧不足や抑圧過多が発生しないことがわかる。このように、図３Ａに示された入力音に含まれる周期雑音を抑圧できる。
【００２６】
また、図３〜図５では、入力音や出力音の時間波形が模式的に示された例を挙げたが、上記の雑音抑圧機能により得られる効果は理論上の実証に留まらず、実践上のものであることは言うまでもない。図６Ａ〜図６Ｃを用いて、周期雑音の抑圧効果の一例を説明する。図６Ａは、音声の時間波形の一例を示す図である。図６Ｂは、周期雑音および音声を含む時間波形の一例を示す図である。図６Ｃは、周期雑音の抑圧後の出力音の時間波形の一例を示す図である。これら図６Ａ〜図６Ｃの各グラフの縦軸は、振幅を指し、各グラフの横軸は、サンプリング時間を指す。さらに、図６Ａの上段のグラフには、音声の時間波形が示されている。図６Ａに示された音声の時間波形に音声と重なる１ｋＨｚの帯域に周期雑音が重畳された場合、図６Ｂに示された時間波形となる。図６Ｂに示された通り、あくまで一例として、全てのサンプリング時間にわたってパワーが周期的に変化する周期雑音が音声に重畳していることが明らかである。図６Ｂに示された音声および周期雑音を含む時間波形に対し、入力音の雑音区間におけるパワー変化の周期から推定された音声区間における周期雑音に基づいて雑音の抑圧が行われた場合、図６Ｃに示す出力音の時間波形が得られる。図６Ｃに示された通り、全てのサンプリング時間にわたって周期雑音が抑圧された結果、図６Ａに示された音声の時間波形と同等の波形が得られていることがわかる。このように、出力音からは、雑音区間においても、さらには、音声区間においても、図６Ａに示された音声の時間波形と差がない。このようなことから、上記の雑音抑圧機能を適用することで、入力音声から周期雑音を抑圧できることが実践上明らかであると言うことができる。
【００２７】
［機能的構成の一例］
図１に示すように、雑音抑圧装置１０は、取得部１１と、変換部１２Ａと、逆変換部１２Ｂと、音声区間検出部１３と、パワー算出部１４とを有する。さらに、雑音抑圧装置１０は、定常騒音推定部１５と、周期雑音判定部１６と、周期雑音推定部１７と、ゲイン算出部１８と、抑圧部１９とを有する。なお、雑音抑圧装置１０は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部を有することとしてもかまわない。例えば、音声認識を始め、音声アシスタントや音声翻訳などアプリケーションプログラムを実行する機能部などが含まれていてもかまわない。
【００２８】
図１に示す各ブロックに対応する機能部は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などのハードウェアプロセッサにより仮想的に実現される。例えば、プロセッサは、図示しない記憶装置、例えばＨＤＤ（Hard  Disk  Drive）、光ディスクやＳＳＤ（Solid  State  Drive）などの記憶装置からＯＳ（Operating  System）の他、上記の雑音抑圧機能を実現する雑音抑圧プログラムを読み出す。その上で、プロセッサは、雑音抑圧プログラムを実行することにより、ＲＡＭ（Random  Access  Memory）等のメモリ上に上記の機能部に対応するプロセスを展開する。この結果、上記の機能部がプロセスとして仮想的に実現される。
【００２９】
ここでは、あくまで１つの側面として、上記の雑音抑圧プログラムが実行される例を挙げたが、これに限定されない。例えば、上記の雑音抑圧プログラムは、音声認識や音声認識ＡＩアシスタント、音声翻訳などのサービスに対応する機能とパッケージ化されたパッケージソフトとして実行されることとしてもかまわない。
【００３０】
また、ここでは、プロセッサの一例として、ＣＰＵやＭＰＵを例示したが、汎用型および特化型を問わず、任意のプロセッサにより上記の機能部が実現されることとしてもかまわない。この他、上記の機能部は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによって実現されることとしてもかまわない。
【００３１】
取得部１１は、入力音を取得する処理部である。
【００３２】
あくまで一例として、取得部１１は、図示しないマイクロフォンにより音波から変換された信号を入力音として取得する。ここで、取得部１１が入力音を取得するソースは任意であってよく、マイクロフォンに限定されない。例えば、取得部１１は、音データを蓄積するハードディスクや光ディスクなどの補助記憶装置またはメモリカードやＵＳＢ（Universal  Serial  Bus）メモリなどのリムーバブルメディアから読み出すことにより入力音を取得することもできる。この他、取得部１１は、外部装置からネットワークを介して受信することによって音声のストリームデータを入力音として取得することもできる。
【００３３】
変換部１２Ａは、入力音のフレームを時間領域から周波数領域へ変換する処理部である。
【００３４】
一実施形態として、変換部１２Ａは、取得部１１により入力音のフレームが取得される度に、当該入力音のフレームにＦＦＴ（Fast  Fourier  Transform）に代表されるフーリエ変換を適用することにより、所定の周波数刻みのＦＦＴ係数が得られる。あくまで一例として、入力音のサンプリング周波数が１６ｋＨｚであるとしたとき、ＦＦＴの解析に用いるフレーム長は、５１２サンプル程度とすることができる。
【００３５】
音声区間検出部１３は、音声区間を検出する処理部である。
【００３６】
１つの側面として、音声区間検出部１３は、図示しないユーザインタフェースを介して期間の指定を手動で受け付けることにより、音声区間を検出することができる。このユーザインタフェースは、物理スイッチなどのハードウェアにより実現されることとしてもよいし、あるいはタッチパネル等の表示を介してソフトウェアにより実現されることとしてもかまわない。例えば、ボタンの押下操作が継続されている期間に取得部１１から入力された入力音のフレームを音声区間として識別することができる。この他、音声区間の開始および終了のタイミングで押下操作が行われた期間に取得部１１から入力された入力音のフレームを音声区間として識別することができる。
【００３７】
他の側面として、音声区間検出部１３は、入力音から音声区間を推定することもできる。例えば、音声区間検出部１３は、入力音の波形の振幅および零交差に基づいて音声区間の開始および終了を検出することとしてもよいし、入力音のフレームごとにＧＭＭ（Gaussian  Mixture  Model）にしたがって音声の尤度および非音声の尤度を算出してこれらの尤度の比から音声区間を検出することもできる。この他、特開平8-221092などの技術を用いて音声区間を検出することもできる。
【００３８】
これらの音声区間の検出によって、入力音のフレームごとに当該フレームが音声区間または非音声区間にラベリングされる。以下では、入力音の時間波形のうち音声区間でないと識別された非音声区間のことを「雑音区間」と記載する場合がある。
【００３９】
パワー算出部１４は、入力音のフレームのパワーを算出する処理部である。
【００４０】
一実施形態として、パワー算出部１４は、変換部１２ＡによりＦＦＴが実行されたフレームの周波数解析結果に基づいて当該フレームのパワーを周波数バンドごとに算出する。例えば、現フレームを「ｆ」とし、周波数バンドを「ｂ」としたとき、パワー算出部１４は、当該周波数バンドｂに含まれるＦＦＴ係数が持つ実数部および虚数部の自乗和を計算することにより、現フレームｆのパワーＩ２［ｆ，ｂ］を算出することができる。なお、周波数バンドのバンド幅には、あくまで一例として、１００Ｈｚ程度を設定することができる。
【００４１】
定常雑音推定部１５は、入力音の定常雑音を推定する処理部である。
【００４２】
一実施形態として、定常雑音推定部１５は、雑音区間のパワーから入力音のフレームの定常雑音を周波数バンドごとに推定することができる。例えば、定常雑音推定部１５は、下記の式（１）および下記の式（２）にしたがって現フレームｆの周波数バンドｂにおける定常雑音のパワーＮｔ２［ｆ，ｂ］を算出することができる。このとき、現フレームが「雑音区間」である場合、定常雑音推定部１５は、下記の式（１）に従って定常雑音のパワーＮｔ２［ｆ，ｂ］を算出する。その一方で、現フレームが「音声区間」である場合、定常雑音推定部１５は、下記の式（２）に従って定常雑音のパワーＮｔ２［ｆ，ｂ］を算出する。
【００４３】
Ｎｔ２［ｆ，ｂ］＝ａ×Ｎｔ２［ｆ−１，ｂ］＋（１−ａ）Ｉ２［ｆ，ｂ］・・・（１）
Ｎｔ２［ｆ，ｂ］＝Ｎｔ２［ｆ−１，ｂ］・・・（２）
【００４４】
上記の式（１）における「Ｎｔ２［ｆ−１，ｂ］」は、現フレームｆよりも１つ前のフレームｆ−１における定常雑音を指す。また、上記の式（１）における「ａ」は、定常雑音の急峻な変化を吸収するために用いる係数を指す。
【００４５】
周期雑音判定部１６は、入力音のフレームに周期雑音が含まれるか否かを判定する処理部である。ここで、入力音のフレームが音声区間である場合、入力音には、音声および周期雑音の両方が重畳している可能性がある。このため、音声区間に属するフレームでは、雑音区間に属するフレームよりも周囲雑音の有無を判定することが困難である場合がある。このような側面から、音声区間に属するフレームでは、当該音声区間の直前の雑音区間で判定された周期雑音の有無の判定結果が引き継がれることとする。
【００４６】
図７は、周期雑音判定部１６の機能的構成の一例を示す図である。図７に示すように、周期雑音判定部１６は、逆変換部１６Ａと、包絡線抽出部１６Ｂと、変換部１６Ｃと、判定部１６Ｄとを有する。
【００４７】
逆変換部１６Ａは、周波数バンドごとに入力音のフレームの周波数解析結果を周波数領域から時間領域へ逆変換する処理部である。
【００４８】
一実施形態として、逆変換部１６Ａは、周波数バンドｂのＦＦＴ係数にＩＦＦＴ（Inverse  Fast  Fourier  Transform）を適用することにより、入力音のフレームｆの信号のうち周波数バンドｂに対応する成分の信号が得られる。このように周波数バンドｂごとに得られる信号の時間波形は、現フレームｆのみならず、所定の期間前まで遡って図示しないワークエリアに保存されることとする。例えば、１Ｈｚ程度の周期を持つ周期雑音を検出能の範疇に収める側面から、現フレームｆから遡って１秒間の時間長の信号が周波数バンドｂごとに蓄積される。
【００４９】
包絡線抽出部１６Ｂは、包絡線を抽出する処理部である。
【００５０】
一実施形態として、包絡線抽出部１６Ｂは、周波数バンドｂごとに次のような処理を実行する。図８Ａは、特定の周波数バンドにおける時間波形の一例を示す図である。図８Ａには、ある周波数バンドｂにおける過去１秒間の信号の時間波形が示されている。例えば、図８Ａに示すように、包絡線抽出部１６Ｂは、周波数バンドｂにおける過去１秒間の信号の時間波形が持つ曲線群の包絡線、すなわち図８Ａに太線部分を抽出する。なお、包絡線は、既知の任意の手法、例えばヒルベルト変換や包絡線検波などを用いて抽出することができる。
【００５１】
変換部１６Ｃは、周波数バンドごとに包絡線を時間領域から周波数領域へ変換する処理部である。
【００５２】
一実施形態として、変換部１６Ｃは、周波数バンドｂごとに次のような処理を実行する。例えば、変換部１６Ｃは、包絡線抽出部１６Ｂにより抽出された周波数バンドｂの包絡線の時間波形にハイパスフィルタ等を適用する。図８Ｂは、包絡線の時間波形の一例を示す図である。例えば、図８Ａに太線部分で示された包絡線の時間波形をハイパスフィルタ等に入力することにより、図８Ｂに示すように、ＤＣ（Direct  Current）成分がカットされた包絡線の時間波形が得られる。その後、変換部１６Ｃは、ＤＣ成分がカットされた包絡線の時間波形にＦＦＴを適用する。これによって、所定の周波数刻みのＦＦＴ係数が包絡線の時間波形の周波数解析結果として得られる。
【００５３】
判定部１６Ｄは、所定の閾値を超える周期成分が存在するか否かを判定する処理部である。判定部１６Ｄは、検出部の一例に対応する。
【００５４】
一実施形態として、判定部１６Ｄは、周波数バンドｂごとに次のような処理を実行する。例えば、判定部１６Ｄは、変換部１６Ｃにより得られた周波数バンドｂにおける包絡線の時間波形の周波数解析結果のうちピークで計測されるパワーが所定の閾値を超えるか否かを判定する。図８Ｃは、パワースペクトルの一例を示す図である。図８Ｃには、図８Ｂに示された包絡線の時間波形のＦＦＴの出力結果がパワースペクトルに変換されたものが示されている。図８Ｃのグラフの縦軸は、パワーを指し、グラフの横軸、周波数（１／周期）を指す。例えば、図８Ｃに示されたパワースペクトルでピークを計測するパワーが所定の閾値ｔｈを超えるか否かを判定する。このような閾値ｔｈは、１つの側面として、変換部１２ＡがＦＦＴに用いる解析長、包絡線の抽出対象とする信号の時間長および周波数バンドのバンド幅などに応じて設定することができる。ここで、パワースペクトルのピークのパワーが閾値ｔｈを超える場合、判定部１６Ｄは、入力音のフレームの周波数バンドｂに周期雑音が含まれると識別する。この場合、判定部１６Ｄは、当該周波数バンドｂにおける周期雑音有りの判定結果と共にパワースペクトルでパワーが閾値ｔｈを超える周波数もしくはその周波数から求めた周期を周期成分として周期雑音推定部１７へ出力する。一方、パワースペクトルのピークのパワーが閾値ｔｈを超えない場合、判定部１６Ｄは、入力音のフレームに周期雑音が含まれないと識別する。
【００５５】
図１の説明に戻り、周期雑音推定部１７は、周期雑音を推定する処理部である。例えば、周期雑音推定部１７は、周期雑音判定部１６によりフレームｆの周波数バンドｂに周期雑音有りと判定された場合、周期雑音を推定する。周期雑音推定部１７は、算出部の一例に対応する。
【００５６】
図９は、周期雑音推定部１７の機能的構成の一例を示す図である。図９に示すように、位相算出部１７Ａと、パワー算出部１７Ｂと、補正部１７Ｃと、合成部１７Ｄとを有する。
【００５７】
位相算出部１７Ａは、周期雑音の位相を算出する処理部である。
【００５８】
一実施形態として、位相算出部１７Ａは、入力音のフレームが雑音区間である場合に動作する。例えば、位相算出部１７Ａは、判定部１６Ｄにより周期雑音有りと判定されたフレームｆの周波数バンドｂに含まれる周波数のうち包絡線のパワースペクトルでパワーが閾値ｔｈを超えると判定された周波数に対応するＦＦＴ係数を下記の式（３）に代入する。これによって、ｐｈａｓｅ［ｆ，ｂ］を算出する。このｐｈａｓｅ［ｆ，ｂ］は、下記の式（３）により０〜２π［ｒａｄ］の範囲で算出される。このように算出された周波数バンドｂのｐｈａｓｅ［ｆ，ｂ］は、雑音区間に属するフレームのうち最新のフレームから所定数Ｎ個までのフレームまで図示しないワークエリアに保存される。
【００５９】
ｐｈａｓｅ［ｆ，ｂ］＝ａｒｃｔａｎ（ｒｅａｌ［ｆ，ｂ］／ｉｍａｇ［ｆ，ｂ］）・・・（３）
【００６０】
パワー算出部１７Ｂは、周期雑音のパワーを算出する処理部である。
【００６１】
一実施形態として、パワー算出部１７Ｂは、入力音のフレームが雑音区間である場合に動作する。例えば、パワー算出部１７Ｂは、判定部１６Ｄにより周期雑音有りと判定されたフレームｆの周波数バンドｂに含まれる周波数のうち包絡線のパワースペクトルでパワーが閾値ｔｈを超えると判定された周波数に対応するＦＦＴ係数を下記の式（４）に代入する。これによって、ｐｏｗｅｒ［ｆ，ｂ］を算出する。このように算出された周波数バンドｂのｐｏｗｅｒ［ｆ，ｂ］は、雑音区間に属するフレームのうち最新のフレームから所定数Ｎ個までのフレームまで図示しないワークエリアに保存される。
【００６２】
ｐｏｗｅｒ［ｆ，ｂ］＝（ｒｅａｌ［ｆ，ｂ］×ｒｅａｌ［ｆ，ｂ］）＋（ｉｍａｇ［ｆ，ｂ］×ｉｍａｇ［ｆ，ｂ］）・・・（４）
【００６３】
補正部１７Ｃは、周期雑音の位相を補正する処理部である。
【００６４】
一実施形態として、補正部１７Ｃは、入力音のフレームが音声区間である場合に動作する。例えば、補正部１７Ｃは、当該音声区間の直前の雑音区間の位相を線形予測によって現フレームｆの周期雑音の位相に補正する。図１０及び図１１は、位相の補正方法の一例を示す図である。図１０及び図１１に示すグラフの縦軸は、パワーを指し、グラフの横軸は、時間を指す。さらに、図１０には、直前の雑音区間の位相のままで周期雑音の波形が音声区間で複製される場合の例が示される。その一方で、図１１には、直前の雑音区間の位相から上記の線形予測によって音声区間の開始時点における位相に補正してから周期雑音の波形が音声区間で複製される場合の例が示されている。図１０に示すように、直前の雑音区間の位相のままで周期雑音が複製される場合、フレームの始点終点と波形の周期が合致していないため、位相のずれが発生する。すなわち、音声区間の直前の雑音区間のフレームが終了する時点の位相は、複製に用いる直前の雑音区間のフレームの開始時点の位相とは必ずしも合致しない。このため、雑音区間および音声区間の間で連続性がある周期雑音を予測できない場合がある。一方、図１１に示すように、上記の線形予測によって音声区間の開始時点における位相に補正してから周期雑音が複製される場合、雑音区間および音声区間の時間差によるずれを補正によってキャンセルすることができる。
【００６５】
より具体的には、図示しないワークエリアには、雑音区間に属するフレームのうち最新のフレームから所定数Ｎ個までのフレームまでの位相が保存されている。例えば、音声区間の１つ前のフレームからＮ個前までのフレームが雑音区間であるとしたとき、ワークエリアには、ｐｈａｓｅ［ｆ−１，ｂ］〜ｐｈａｓｅ［ｆ−Ｎ＋１，ｂ］が保存される。このような直前の雑音区間の位相を下記の式（５）に代入することにより、補正部１７Ｃは、現フレームｆの周波数バンドｂにおける周期雑音の位相を算出する。なお、下記の式（５）では、直前の雑音区間の２つのフレームの位相を用いたが、Ｎ個のフレームの位相を用いて補正を行うこともできる。例えば、直前の雑音区間のフレームから音声区間の現フレームｆまでの経過フレーム数に合わせて２項目で差分が算出されるフレームの間隔を帰ることができる。
【００６６】
ｐｈａｓｅ［ｆ，ｂ］＝ｐｈａｓｅ［ｆ−１，ｂ］＋（ｐｈａｓｅ［ｆ−１，ｂ］−ｐｈａｓｅ［ｆ−２，ｂ］・・・（５）
【００６７】
合成部１７Ｄは、周期雑音の位相およびパワーを合成する処理部である。
【００６８】
一実施形態として、合成部１７Ｄは、下記の式（６）に従って推定の周期雑音の実数成分ｐｒｅａｌ［ｆ，ｂ］を算出すると共に、下記の式（７）に従って推定の周期雑音の虚数成分ｐｉｍａｇ［ｆ，ｂ］を算出する。このとき、現フレームｆが雑音区間である場合、位相算出部１７Ａにより現フレームｆで算出されたｐｈａｓｅ［ｆ，ｂ］およびパワー算出部１７Ｂにより現フレームｆで算出されたｐｏｗｅｒ［ｆ，ｂ］が用いられる。その一方で、現フレームｆが雑音区間である場合、補正部１７Ｃにより直前の雑音区間の位相から補正された位相が現フレームｆのｐｈａｓｅ［ｆ，ｂ］として用いられると共に、ワークエリアに保存された直前の雑音区間のフレームのパワーが現フレームのｐｏｗｅｒ［ｆ，ｂ］として用いられる。その上で、合成部１７Ｄは、下記の式（８）に従って推定の周期雑音の実数成分ｐｒｅａｌ［ｆ，ｂ］および推定の周期雑音の虚数成分ｐｉｍａｇ［ｆ，ｂ］から推定の周期雑音のパワーＮｓ２を算出する。
【００６９】
ｐｒｅａｌ［ｆ，ｂ］＝√ｐｏｗｅｒ［ｆ，ｂ］×ｃｏｓ（ｐｈａｓｅ［ｆ，ｂ］）・・・（６）
ｐｉｍａｇ［ｆ，ｂ］＝√ｐｏｗｅｒ［ｆ，ｂ］×ｓｉｎ（ｐｈａｓｅ［ｆ，ｂ］）・・・（７）
Ｎｓ２＝ＩＦＦ（ｐｒｅａｌ［ｆ，ｂ］，ｐｉｍａｇ［ｆ，ｂ］）・・・（８）
【００７０】
ゲイン算出部１８は、入力音のフレームに乗じるゲインを算出する処理部である。
【００７１】
ここで、ゲイン算出及び雑音の抑圧には様々な方法があるが、以下では、あくまで一例として、スペクトルサブトラクション法と呼ばれる方法を用いる場合を例に挙げる。例えば、入力音のパワーをＩ２［ｆ，ｂ］とし、入力音に含まれる音声のパワーをＳ２［ｆ，ｂ］とし、入力音に含まれる雑音をＮ２［ｆ，ｂ］としたとき、下記の式（９）が成立すると仮定する。さらに、下記の式（１０）に示すｇａｉｎ［ｆ，ｂ］を入力音に乗算すると仮定する。これらの仮定の下では、ｇａｉｎ［ｆ，ｂ］を下記の式（１１）で求めることができる。ただし、周波数バンドｂに周期雑音が含まれる場合、Ｎ［ｆ，ｂ］には周期雑音Ｎｓ［ｆ，ｂ］を適用する一方で、周波数バンドｂに周期雑音が含まれない場合、Ｎ［ｆ，ｂ］には定常雑音Ｎｔ［ｆ，ｂ］を適用する。なお、ここでは、あくまで一例として、周波数バンドｂに周期雑音が含まれる場合、周期雑音Ｎｓ［ｆ，ｂ］のみを用いる例を挙げたが、定常雑音Ｎｔ［ｆ，ｂ］及び周期雑音Ｎｓ［ｆ，ｂ］の間で周期雑音の周期の大きさに応じて重み付け加算を行うこともできる。なお、下記の式（１１）における「sqrt｛｝」は、平方根を指す。
【００７２】
Ｉ２［ｆ，ｂ］＝Ｓ２［ｆ，ｂ］＋Ｎ２［ｆ，ｂ］・・・（９）
Ｓ［ｆ，ｂ］＝ｇａｉｎ［ｆ，ｂ］×Ｉ［ｆ，ｂ］・・・（１０）
ｇａｉｎ［ｆ，ｂ］＝sqrt｛（１−Ｎ２［ｆ，ｂ］）／（Ｉ２［ｆ，ｂ］）｝・・・（１１）
【００７３】
抑圧部１９は、雑音を抑圧する処理部である。抑圧部１９は、補正部の一例に対応する。
【００７４】
一実施形態として、抑圧部１９は、下記の式（１２）に従って入力音のフレームｆの周波数バンドｂのＦＦＴ係数にゲイン算出部１８により算出されたゲインｇａｉｎ［ｆ，ｂ］を乗算することにより、出力音Ｏ［ｆ，ｂ］を算出する。
【００７５】
Ｏ［ｆ，ｂ］＝ｇａｉｎ［ｆ，ｂ］×Ｉ［ｆ，ｂ］・・・（１２）
【００７６】
逆変換部１２Ｂは、ゲイン乗算後の周波数成分ごとの周波数解析結果を周波数領域から時間領域に逆変換する処理部である。
【００７７】
一実施形態として、逆変換部１２Ｂは、抑圧部１９により周波数バンドｂごとに入力音Ｉ［ｆ，ｂ］にゲインｇａｉｎ［ｆ，ｂ］が乗算された各周波数バンドｂの出力音のＦＦＴ係数にＩＦＦＴを適用する。これによって、雑音の抑圧により音声が強調された出力音の時間波形が得られる。
【００７８】
［処理の流れ］
図１２は、実施例１に係る雑音抑圧処理の手順を示すフローチャートである。この処理は、一例として、取得部１１により入力音のフレームが取得された場合に実行される。図１２に示すように、取得部１１は、入力音のフレームを取得する（ステップＳ１０１）。このように入力音のフレームが取得されると、音声区間検出部１３は、ステップＳ１０１で取得された入力音のフレームが音声区間または雑音区間であるかを検出する（ステップＳ１０２）。
【００７９】
また、変換部１２Ａは、ステップＳ１０１で取得された入力音のフレームにＦＦＴに代表されるフーリエ変換を適用する（ステップＳ１０３）。このステップＳ１０３の処理により、所定の周波数刻みのＦＦＴ係数が得られる。
【００８０】
その後、図１２に示すステップＳ１０４からステップＳ１１０までの処理が周波数バンドｂの単位で実行される。図１２に示すステップＳ１０４からステップＳ１１０までの処理は、周波数バンドｂごとに並列して実行される場合も、周波数バンドｂが所定の順番で実行される場合も処理内容に変わりない。
【００８１】
例えば、ステップＳ１０４では、ステップＳ１０１で取得された入力音のフレームのうち処理対象とする周波数バンドｂに含まれるＦＦＴ係数が持つ実数部および虚数部の自乗和を計算することにより、現フレームｆのパワーＩ２［ｆ，ｂ］を算出する（ステップＳ１０４）。
【００８２】
続いて、周期雑音判定部１６は、入力音のフレームに周期雑音が含まれるか否かを判定する「周期雑音判定処理」を実行する（ステップＳ１０５）。この「周期雑音判定処理」の処理内容の詳細を図１３に示す。
【００８３】
図１３は、実施例１に係る周期雑音判定処理の手順を示すフローチャートである。この処理は、図１２に示されたステップＳ１０４の処理の後に実行される。図１３に示すように、下記のステップＳ３０１からステップＳ３０６までの処理が周波数バンドｂごとに実行される。
【００８４】
入力音のフレームが「雑音区間」である場合（ステップＳ３０１Ｎｏ）、逆変換部１６Ａは、周波数バンドｂのＦＦＴ係数にＩＦＦＴを適用する（ステップＳ３０２）。このステップＳ３０２の処理により、入力音のフレームｆの信号のうち周波数バンドｂに対応する成分の信号が得られる。
【００８５】
続いて、包絡線抽出部１６Ｂは、周波数バンドｂにおける過去の所定期間、例えば１秒間の信号の時間波形が持つ曲線群の包絡線を抽出する（ステップＳ３０３）。その上で、変換部１６Ｃは、ステップＳ３０３で抽出された包絡線の時間波形にＦＦＴを適用する（ステップＳ３０４）。これによって、所定の周波数刻みのＦＦＴ係数が包絡線の時間波形の周波数解析結果として得られる。
【００８６】
その後、判定部１６Ｄは、ステップＳ３０４で得られた周波数バンドｂにおける包絡線のＦＦＴ係数から求まるパワースペクトルのうちピークで計測されるパワーが所定の閾値、例えば図８Ｃに示された閾値ｔｈを超えるか否かを判定する。これによって、ステップＳ３０４で得られた周波数バンドｂに周期雑音が含まれるか否かを判定し（ステップＳ３０５）、処理を終了する。
【００８７】
一方、入力音のフレームが「音声区間」である場合（ステップＳ３０１Ｙｅｓ）、判定部１６Ｄは、当該音声区間の直前の雑音区間で判定された周期雑音の有無の判定結果を参照し（ステップＳ３０６）、処理を終了する。
【００８８】
図１２のフローチャートに戻り、周波数バンドｂに周期雑音が含まれる場合（ステップＳ１０６Ｙｅｓ）、周期雑音推定部１７は、周期雑音を推定する「周期雑音推定処理」を実行する（ステップＳ１０７）。なお、周波数バンドｂに周期雑音が含まれない場合（ステップＳ１０６Ｎｏ）、ステップＳ１０７の処理をスキップし、ステップＳ１０８へ移行する。
【００８９】
この「周期雑音推定処理」の処理内容の詳細を図１４に示す。図１４は、実施例１に係る周期雑音推定処理の手順を示すフローチャートである。この処理は、図１２に示されたステップＳ１０６Ｙｅｓの分岐に進む場合に実行される。図１４に示すように、下記のステップＳ５０１からステップＳ５０５までの処理が周波数バンドｂごとに実行される。
【００９０】
入力音のフレームが「雑音区間」である場合（ステップＳ５０１Ｎｏ）、位相算出部１７Ａは、周期雑音有りと判定されたフレームｆの周波数バンドｂに含まれる周波数のうち包絡線のパワースペクトルでパワーが閾値を超えると判定された周波数に対応するＦＦＴ係数を上記の式（３）に代入することにより、位相ｐｈａｓｅ［ｆ，ｂ］を算出する（ステップＳ５０２）。
【００９１】
続いて、パワー算出部１７Ｂは、周期雑音有りと判定されたフレームｆの周波数バンドｂに含まれる周波数のうち包絡線のパワースペクトルでパワーが閾値を超えると判定された周波数に対応するＦＦＴ係数を上記の式（４）に代入することにより、パワーｐｏｗｅｒ［ｆ，ｂ］を算出する（ステップＳ５０３）。
【００９２】
その上で、合成部１７Ｄは、ステップＳ５０２及びステップＳ５０３で算出された位相および周期に基づいて推定の周期雑音のパワーＮｓ２を算出し（ステップＳ５０４）、処理を終了する。
【００９３】
一方、入力音のフレームが「音声区間」である場合（ステップＳ５０１Ｙｅｓ）、補正部１７Ｃは、当該音声区間の直前の雑音区間の位相を線形予測によって現フレームｆの周期雑音の位相に補正する（ステップＳ５０５）。
【００９４】
その上で、合成部１７Ｄは、ステップＳ５０５で直前の雑音区間の位相から補正された位相と、ワークエリアに保存された直前の雑音区間のフレームのパワーとに基づいて推定の周期雑音のパワーＮｓ２を算出し（ステップＳ５０４）、処理を終了する。
【００９５】
図１２のフローチャートに戻り、定常雑音推定部１５は、現フレームｆが音声区間または雑音区間のいずれに該当するかにより上記の式（１）または上記の式（２）のいずれを使用するかを切り替えて、現フレームｆの周波数バンドｂにおける定常雑音のパワーＮｔ２［ｆ，ｂ］を算出する（ステップＳ１０８）。
【００９６】
続いて、ゲイン算出部１８は、周波数バンドｂに周期雑音が含まれるか否かにより周期雑音Ｎｓ［ｆ，ｂ］または定常雑音Ｎｔ［ｆ，ｂ］のいずれをＮ［ｆ，ｂ］として用いるかを切り替えて、入力音に乗算するゲインｇａｉｎ［ｆ，ｂ］を上記の式（１１）にしたがって算出する（ステップＳ１０９）。
【００９７】
その後、抑圧部１９は、上記の式（１２）に従って入力音のフレームｆの周波数バンドｂのＦＦＴ係数にステップＳ１０９で算出されたゲインｇａｉｎ［ｆ，ｂ］を乗算することにより、出力音Ｏ［ｆ，ｂ］を算出する（ステップＳ１１０）。
【００９８】
これらステップＳ１０４からステップＳ１１０までの処理が全ての周波数バンドｂについて実行された後、逆変換部１２Ｂは、周波数バンドｂごとに入力音Ｉ［ｆ，ｂ］にゲインｇａｉｎ［ｆ，ｂ］が乗算された各周波数バンドｂの出力音のＦＦＴ係数にＩＦＦＴを適用し（ステップＳ１１１）、処理を終了する。
【００９９】
このステップＳ１１１の処理によって、雑音の抑圧により音声が強調された出力音の時間波形が得られる。
【０１００】
［効果の一側面］
上述してきたように、本実施例に係る雑音抑圧装置１０は、入力音から音声区間が検出される前の雑音区間におけるパワー変化の周期に基づいて当該音声区間における周期雑音を推定し、入力音に含まれる周期雑音を抑圧する。
【０１０１】
このとき、本実施例に係る雑音抑圧装置１０では、入力音から音声区間が検出される前の雑音区間におけるパワー変化の周期が音声区間における周期雑音の推定に用いられる。このため、本実施例に係る雑音抑圧装置１０では、上記の雑音除去システムのように、推定される雑音のパワーが一定に固定されない。さらに、本実施例に係る雑音抑圧装置１０では、直前の雑音区間におけるパワー変化の周期と相関がある周期雑音が推定される。このように、本実施例に係る雑音抑圧装置１０では、上記の雑音除去システムでは推定が困難である周期雑音を推定できる。
【０１０２】
したがって、本実施例に係る雑音抑圧装置１０によれば、入力音に含まれる周期雑音を抑圧することが可能である。
【実施例２】
【０１０３】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１０４】
［実装例］
上記の実施例１で説明した雑音抑圧機能は、スマートフォンに代表される携帯端末装置、ウェアラブル端末、スマートスピーカ、コミュニケーションロボットなどの各種のデバイスに組み込むことができる。この場合、デバイスが有するマイクロフォンへ入力された入力音を取得して図１２〜図１４に示した処理を実行し、雑音抑圧後の出力音の時間波形をデバイス上で動作するアプリケーションの他、バックエンドで実行されるアプリケーションへ出力することができる。また、上記の実施例１で説明した雑音抑圧機能は、雑音抑圧サービスとして提供されることとしてかまわない。例えば、上記の雑音抑圧機能を搭載するサーバ装置が任意のクライアント端末から入力音を取得して図１２〜図１４に示した処理を実行し、雑音抑圧後の出力音の時間波形をクライアント端末へ出力することができる。この場合にも、雑音抑圧サービスに留まらず、音声翻訳サービスや音声アシスタントサービスとしてパッケージ化して提供することができる。
【０１０５】
［変形例］
上記の実施例１では、補正部１７Ｃによる線形予測の補正を雑音区間から音声区間への遷移時に実行される例を挙げたが、補正部１７Ｃによる線形予測の補正を音声区間から雑音区間へ遷移する場合にも実行することができる。
【０１０６】
また、上記の実施例１では、周期雑音が定常的に発生している例、例えば図６Ｂの例で言えば全てのサンプリング時間で周期雑音が発生している例を挙げたが、周期雑音は必ずしも定常的に発生しておらずともかまわない。例えば、周期雑音が音声区間の途中で途切れた場合、例えば図６Ｂに示す時間波形のサンプル１３０００以降には周期雑音が検出されなかった場合、図１２のステップＳ１０７を省略することもできる。また、音声区間の途中から周期雑音が発生した場合、例えば雑音区間では図６Ｂに示す時間波形のサンプル１３０００以降にのみ周期雑音が検出された場合、次のように周期雑音を抑圧することもできる。すなわち、サンプル１３０００以降のフレームで算出された周期雑音のパワーおよび位相に基づいて音声区間の途中から発生した周期雑音を抑圧できる。この場合、パワーおよび位相の算出に用いたフレームの始点と、音声区間で周期雑音の抑圧を開始するフレームの始点とで位相がずれるので、補正部１７Ｃによる線形予測で位相のずれを補正することができる。
【０１０７】
また、上記の実施例１では、入力音の信号をリアルタイムで処理する側面から、音声区間の直前の雑音区間のパワー変化の周期から推定された周期雑音に基づいて音声区間における雑音が抑圧される例を挙げたがこれに限定されない。例えば、入力音の信号は必ずしもリアルタイムで処理されずともかまわない。この場合、ステップＳ１０６の処理で周期雑音が検出されたフレームよりも後で発生する周期雑音の抑圧を行うこともできるし、当該フレームよりも前で発生する周期雑音の抑圧を行うことができる。例えば、音声区間の途中から周期雑音が発生した場合、図６Ｂに示す時間波形のサンプル８０００以降にのみ周期雑音が検出された場合、次のように周期雑音を抑圧することができる。すなわち、サンプル８０００以降、例えば雑音区間に対応するサンプル１４０００以降のパワー変化の周期から推定された周期雑音に基づいてサンプル１４０００以前のフレーム、例えばサンプル８０００〜サンプル１３５００の音声区間およびその他の雑音区間の区別を問わず、任意のフレームの周期雑音を抑圧することができる。
【０１０８】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、取得部１１、変換部１２Ａ、逆変換部１２Ｂ、音声区間検出部１３、パワー算出部１４、定常騒音推定部１５、周期雑音判定部１６、周期雑音推定部１７、ゲイン算出部１８または抑圧部１９を雑音抑圧装置１０の外部装置としてネットワーク経由で接続するようにしてもよい。また、取得部１１、変換部１２Ａ、逆変換部１２Ｂ、音声区間検出部１３、パワー算出部１４、定常騒音推定部１５、周期雑音判定部１６、周期雑音推定部１７、ゲイン算出部１８または抑圧部１９を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の雑音抑圧装置１０の機能を実現するようにしてもよい。
【０１０９】
［雑音抑圧プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１５を用いて、上記の実施例と同様の機能を有する雑音抑圧プログラムを実行するコンピュータの一例について説明する。
【０１１０】
図１５は、実施例１及び実施例２に係る雑音抑圧プログラムを実行するコンピュータのハードウェア構成例を示す図である。図１５に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、マイク１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１１１】
ＨＤＤ１７０には、図１５に示すように、上記の実施例１で示した取得部１１、変換部１２Ａ、逆変換部１２Ｂ、音声区間検出部１３、パワー算出部１４、定常騒音推定部１５、周期雑音判定部１６、周期雑音推定部１７、ゲイン算出部１８及び抑圧部１９と同様の機能を発揮する雑音抑圧プログラム１７０ａが記憶される。この雑音抑圧プログラム１７０ａは、図１に示した取得部１１、変換部１２Ａ、逆変換部１２Ｂ、音声区間検出部１３、パワー算出部１４、定常騒音推定部１５、周期雑音判定部１６、周期雑音推定部１７、ゲイン算出部１８及び抑圧部１９の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。
【０１１２】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０から雑音抑圧プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、雑音抑圧プログラム１７０ａは、図１５に示すように、雑音抑圧プロセス１８０ａとして機能する。この雑音抑圧プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうち雑音抑圧プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、雑音抑圧プロセス１８０ａが実行する処理の一例として、図１２〜図１４に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【０１１３】
なお、上記の雑音抑圧プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に雑音抑圧プログラム１７０ａを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から雑音抑圧プログラム１７０ａを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに雑音抑圧プログラム１７０ａを記憶させておき、コンピュータ１００がこれらから雑音抑圧プログラム１７０ａを取得して実行するようにしてもよい。
【０１１４】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１５】
（付記１）入力音を取得し、
前記入力音に含まれる非音声区間におけるパワー変化の周期を検出し、
前記周期に基づいて、前記入力音に含まれる音声区間に適用する周期的に変化する補正量を算出し、
前記補正量に基づいて少なくとも前記音声区間のパワーを補正する、
処理をコンピュータに実行させることを特徴とする雑音抑圧プログラム。
【０１１６】
（付記２）前記検出する処理は、前記非音声区間における時間波形の包絡線の波形から得られるパワースペクトルに基づいて前記パワー変化の周期を検出することを特徴とする付記１に記載の雑音抑圧プログラム。
【０１１７】
（付記３）前記算出する処理は、前記非音声区間で検出された前記周期に基づいて算出する前記補正量の位相を、前記非音声区間に隣接する前記音声区間に対応する位相に補正することを特徴とする付記１に記載の雑音抑圧プログラム。
【０１１８】
（付記４）入力音を取得し、
前記入力音に含まれる非音声区間におけるパワー変化の周期を検出し、
前記周期に基づいて、前記入力音に含まれる音声区間に適用する周期的に変化する補正量を算出し、
前記補正量に基づいて少なくとも前記音声区間のパワーを補正する、
処理をコンピュータが実行することを特徴とする雑音抑圧方法。
【０１１９】
（付記５）前記検出する処理は、前記非音声区間における時間波形の包絡線の波形から得られるパワースペクトルに基づいて前記パワー変化の周期を検出することを特徴とする付記４に記載の雑音抑圧方法。
【０１２０】
（付記６）前記算出する処理は、前記非音声区間で検出された前記周期に基づいて算出する前記補正量の位相を、前記非音声区間に隣接する前記音声区間に対応する位相に補正することを特徴とする付記４に記載の雑音抑圧方法。
【０１２１】
（付記７）入力音を取得する取得部と、
前記入力音に含まれる非音声区間におけるパワー変化の周期を検出する検出部と、
前記周期に基づいて、前記入力音に含まれる音声区間に適用する周期的に変化する補正量を算出する算出部と、
前記補正量に基づいて少なくとも前記音声区間のパワーを補正する補正部と、
を有することを特徴とする雑音抑圧装置。
【０１２２】
（付記８）前記検出部は、前記非音声区間における時間波形の包絡線の波形から得られるパワースペクトルに基づいて前記パワー変化の周期を検出することを特徴とする付記７に記載の雑音抑圧装置。
【０１２３】
（付記９）前記算出部は、前記非音声区間で検出された前記周期に基づいて算出する前記補正量の位相を、前記非音声区間に隣接する前記音声区間に対応する位相に補正することを特徴とする付記７に記載の雑音抑圧装置。
【符号の説明】
【０１２４】
１０    雑音抑圧装置
１１    取得部
１２Ａ  変換部
１２Ｂ  逆変換部
１３    音声区間検出部
１４    パワー算出部
１５    定常雑音推定部
１６    周期雑音推定部
１６Ａ  逆変換部
１６Ｂ  包絡線抽出部
１６Ｃ  変換部
１６Ｄ  判定部
１７    周期雑音推定部
１７Ａ  位相算出部
１７Ｂ  パワー算出部
１７Ｃ  補正部
１７Ｄ  合成部
１８    ゲイン算出部
１９    抑圧部
【図１】
2020085975.tif 000003
【図２Ａ】
2020085975.tif 000004
【図２Ｂ】
2020085975.tif 000005
【図３Ａ】
2020085975.tif 000006
【図３Ｂ】
2020085975.tif 000007
【図４】
2020085975.tif 000008
【図５】
2020085975.tif 000009
【図６Ａ】
2020085975.tif 000010
【図６Ｂ】
2020085975.tif 000011
【図６Ｃ】
2020085975.tif 000012
【図７】
2020085975.tif 000013
【図８Ａ】
2020085975.tif 000014
【図８Ｂ】
2020085975.tif 000015
【図８Ｃ】
2020085975.tif 000016
【図９】
2020085975.tif 000017
【図１０】
2020085975.tif 000018
【図１１】
2020085975.tif 000019
【図１２】
2020085975.tif 000020
【図１３】
2020085975.tif 000021
【図１４】
2020085975.tif 000022
【図１５】
2020085975.tif 000023