(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-04
(45)【発行日】2024-01-15
(54)【発明の名称】ノイズフロア推定およびノイズ低減
(51)【国際特許分類】
G10L 21/0216 20130101AFI20240105BHJP
【FI】
G10L21/0216
(21)【出願番号】P 2022543055
(86)(22)【出願日】2021-01-18
(86)【国際出願番号】 EP2021050921
(87)【国際公開番号】W WO2021148342
(87)【国際公開日】2021-07-29
【審査請求日】2022-07-14
(32)【優先日】2020-01-21
(33)【優先権主張国・地域又は機関】ES
(32)【優先日】2020-03-26
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-11-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】510185767
【氏名又は名称】ドルビー・インターナショナル・アーベー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェンガーレ,ジュリオ
(72)【発明者】
【氏名】マテオス ソレ,アントニオ
(72)【発明者】
【氏名】スカイニ,ダヴィデ
【審査官】大野 弘
(56)【参考文献】
【文献】特開2019-003087(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 21/0216
(57)【特許請求の範囲】
【請求項1】
オーディオ信号のノイズフロアを推定する方法であって、
1つまたは複数のプロセッサを使用して、オーディオ信号を取得することと、
前記1つまたは複数のプロセッサを使用して、前記オーディオ信号を複数のバッファに分割することと、
前記1つまたは複数のプロセッサを使用して、前記オーディオ信号の各バッファについて時間-周波数サンプルを決定することと、
各バッファおよび各周波数について、前記1つまたは複数のプロセッサを使用して、前記バッファ中の前記サンプルと、一緒になって前記オーディオ信号の指定された時間範囲にまたがる隣接バッファ中のサンプルとに基づいて、エネルギーの変動量の尺度および中央値または平均値を決定することと、
前記1つまたは複数のプロセッサを使用して、前記変動量の前記尺度および前記中央値または平均値をコスト関数に組み合わせることと、
各周波数について、
前記1つまたは複数のプロセッサを使用して、前記コスト関数の最小値に対応する前記オーディオ信号の特定のバッファの信号エネルギーを決定することと、
前記1つまたは複数のプロセッサを使用して、前記オーディオ信号の前記推定ノイズフロアとして前記信号エネルギーを選択することと、
前記1つまたは複数のプロセッサおよび前記推定ノイズフロアを使用して、前記オーディオ信号中のノイズを低減することと
を含む方法。
【請求項2】
前記エネルギーの変動量の前記尺度および中央値または平均値は、0.0から1.0の間にスケーリングされる、請求項1に記載の方法。
【請求項3】
前記コスト関数は、中央値または平均値の増加に伴って増加し、前記エネルギーの変動量の尺度の増加に伴って増加する、請求項1または2に記載の方法。
【請求項4】
前記コスト関数が非線形である、請求項1または2に記載の方法。
【請求項5】
前記コスト関数は、前記変動量の前記尺度および平均値または中央値において対称である、請求項1または2に記載の方法。
【請求項6】
前記コスト関数は非対称であり、前記エネルギーの変動量の前記尺度は、前記エネルギーの変動量の前記尺度が所定のしきい値よりも小さいとき、前記平均値または中央値よりも小さく重み付けされる、請求項1または2に記載の方法。
【請求項7】
前記エネルギーの変動量の前記尺度は、
標準偏差、または
前記指定された時間範囲内の前記バッファにわたる前記エネルギーの最大値と、前記指定された時間範囲内の前記バッファにわたる前記エネルギーの最小値との間の差
である、請求項1または2に記載の方法。
【請求項8】
前記変動量の前記尺度と平均値または中央値との前記組み合わせが、それらの値の和に、それらの積と1との和の逆数を足したものである、請求項7に記載の方法。
【請求項9】
前記変動量の前記尺度と前記中央値または平均値との前記組み合わせが、それらの二乗値の和である、請求項7に記載の方法。
【請求項10】
前記エネルギー
の変動量の前記尺度と中央値または平均値との前記組み合わせが、前記中央値または平均値の二乗および前記変動量の前記尺度のシグモイドである、請求項7に記載の方法。
【請求項11】
前記変動量の前記尺度と中央値または平均値との前記組み合わせが、前記中央値または平均値と前記変動量の前記尺度のシグモイドとの和である、請求項7に記載の方法。
【請求項12】
前記オーディオ信号のチャンクに対して計算された前記変動量の前記尺度および前記中央値または平均値を有するバッファは、全体的な信号エネルギーが所定のしきい値未満である少なくとも1つのバッファを含み、前記少なくとも1つのバッファは、前記オーディオ信号の前記ノイズフロアを推定する際に使用されない、請求項7から11のいずれか一項に記載の方法。
【請求項13】
前記所定のしきい値は、前記オーディオ信号の最大レベルに対して決定される、請求項12に記載の方法。
【請求項14】
前記所定のしきい値は、前記オーディオ信号の平均レベルに対して決定される、請求項12に記載の方法。
【請求項15】
前記1つまたは複数のプロセッサを使用して、各周波数において前記ノイズフロアが推定されるもとになる前記オーディオ信号のチャンクの分布を分析することと、
チャンクkおよび周波数fを選択することと、
増加したコストが第2の所定のしきい値よりも小さい場合、前記周波数fにおける推定ノイズをチャンクkから計算された値に置き換えることと
をさらに含む、請求項7から14のいずれか一項に記載の方法。
【請求項16】
前
記バッファにおける前記変動量の前記尺度の値から信頼値を決定すること
をさらに含む、請求項1から15のいずれか一項に記載の方法。
【請求項17】
前記信頼値が周波数にわたって平滑化される、請求項16に記載の方法。
【請求項18】
前記オーディオ信号内のノイズを低減することは、
各周波数において、その周波数における前記信頼値の関数として低減される利得低減を適用すること
をさらに含む、請求項16または17に記載の方法。
【請求項19】
前記1つまたは複数のプロセッサを使用して、周波数f
1を選択することと、
前記1つまたは複数のプロセッサを使用して、前記選択された周波数f
1より上のあらかじめ定められたサイズのすべての間隔について、所定のサイズのブロック内
の周波数スペクトルの離散導関数の平均を計算することと、
前記1つまたは複数のプロセッサを使用して、最大の負の導関数を有するブロックを、かかる負の値が所定の値よりも小さい場合、カットオフ周波数f
cとして選択することと、
前記1つまたは複数のプロセッサを使用して、前記カットオフ周波数より上の前記周波数スペクトルの値を、前記カットオフ周波数に隣接する上限境界を有する所定の長さの周波数帯域における前記周波数スペクトルの平均に置き換えることと
をさらに含む、請求項1から18のいずれか一項に記載の方法。
【請求項20】
システムであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1から19のいずれか一項に記載の方法の動作を実行させる
プログラムを記憶する非一時的コンピュータ可読媒体と
を備えるシステム。
【請求項21】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1から19のいずれか一項に記載の方法の動作を実行させる
プログラムを記憶する非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本出願は、2020年1月21日に出願されたES出願P202030040(参照:D19149ES)、2020年3月26日に出願された米国仮出願第63/000,223号(参照:D19149USP1)および2020年11月23日に出願された米国仮出願第63/117,313号(参照:D19149USP2)の優先権出願の優先権を主張し、これらは参照により本明細書に組み込まれる。
【0002】
[技術分野]
本開示は一般に、オーディオ信号処理に関する。
【背景技術】
【0003】
プロフェッショナルなシナリオとは異なり、バックグラウンドノイズは、使用される機器の制限や録音が行われる制御されていない音響環境により、ユーザ生成オーディオコンテンツ(UGC)において潜在的な問題である。そのようなバックグラウンドノイズは、わずらわしいだけでなく、かなりの量のダイナミックレンジ圧縮および等化をオーディオコンテンツに適用する処理ツールによってさらに大きくなる可能性がある。したがって、ノイズ低減は、バックグラウンドノイズを低減するためのオーディオ処理チェーンの重要な要素である。ノイズ低減は、ノイズフロアの良好な測定に依存し、ノイズフロアは、バックグラウンドノイズのみを含む録音のフラグメントのパワースペクトルを分析することによって得られ得る。そのようなフラグメントは、ユーザによって手動で識別され得るか、自動的に見つけられ得るか、または録音の最初の数秒の間、演奏者/話者に静かにする求めることによって取得され得る。しかしながら、ノイズのみを含むオーディオコンテンツのフラグメントが利用可能でないシナリオがある。
【0004】
オーディオの静かなフラグメントを(手動または自動のいずれかで)見つけることに基づく既存の手法は、例えば、信号が異なる時間に異なる周波数で存在するためにそのようなフラグメントが存在しない場合、失敗する。他の手法は、オーディオ周波数スペクトルを、最小値を通過する滑らかな曲線を用いてフィッティングすることに基づく。このような方法は、通常、電気ハムのようなノイズの狭帯域トーン成分を破棄する。各周波数におけるレベルの分布を計算し、分布の低いパーセンタイル(例えば、10%パーセンタイル)をノイズとして選択することに基づく他の方法は、例えば、信号のフェードインおよびフェードアウトに対してロバストではない。最後に、他の方法は、信号の性質に関する仮定(例えば、信号がスピーチであるとする仮定)に依存し、したがって、すべてのタイプのオーディオ信号に一般化されない。
【発明の概要】
【0005】
ノイズフロア推定およびノイズ低減のための実装形態が開示される。
【0006】
一実施形態では、方法は、オーディオ信号を取得することと、オーディオ信号を複数のバッファに分割することと、オーディオ信号の各バッファについて時間-周波数サンプルを決定することと、各バッファおよび各周波数について、バッファ中のサンプルと、一緒になってオーディオ信号の指定された時間範囲にまたがる隣接バッファ中のサンプルとに基づいて、エネルギーの変動量の尺度および中央値を決定することと、エネルギーの変動量の尺度および中央値をコスト関数に組み合わせることと、各周波数について、コスト関数の最小値に対応するオーディオ信号の特定のバッファの信号エネルギーを決定することと、オーディオ信号の推定ノイズフロアとして信号エネルギーを選択することと、推定ノイズフロアを使用して、オーディオ信号中のノイズを低減することとを含む。
【0007】
一実施形態では、中央値の代わりに平均値が決定される。
【0008】
一実施形態では、変動量の尺度および中央値または平均値は、0.0と1.0との間にスケーリングされる。
【0009】
一実施形態では、変動量と平均値または中央値との組み合わせは、それらの値の和に、それらの積と1との和の逆数を足したものである。
【0010】
一実施形態では、変動量と中央値または平均値との組み合わせは、それらの二乗値の和である。
【0011】
一実施形態では、変動量と中央値または平均値との組み合わせは、中央値または平均値の二乗とエネルギーの分散のシグモイドとの和である。
【0012】
一実施形態では、変動量と中央値または平均値との組み合わせは、中央値または平均値と分散のシグモイドとの和である。
【0013】
一実施形態では、変動量は、指定された時間範囲内の諸バッファにわたるエネルギーの最大値と、指定された時間範囲内の諸バッファにわたるエネルギーの最小値との間の差に置き換えられる。
【0014】
一実施形態では、オーディオ信号のチャンクに対して計算された分散および中央値または平均値を有するバッファは、全体的な信号エネルギーが所定のしきい値未満である少なくとも1つのバッファを含み、少なくとも1つのバッファは、オーディオ信号のノイズフロアを推定する際に使用されない。
【0015】
一実施形態では、所定のしきい値は、オーディオ信号の最大レベルに対して決定される。
【0016】
一実施形態では、所定のしきい値は、オーディオ信号の平均レベルに対して決定される。
【0017】
一実施形態では、方法は、1つまたは複数のプロセッサを使用して、各周波数においてノイズフロアが推定されるもとになるオーディオ信号のチャンクの分布を分析することと、チャンクkおよび周波数fを選択することと、増加したコストが第2の所定のしきい値よりも小さい場合、周波数fにおける推定ノイズをチャンクkから計算された値に置き換えることとをさらに含む。
【0018】
一実施形態では、方法は、選択されたバッファにおけるエネルギーの変動量の値から信頼値を決定することをさらに含む。
【0019】
一実施形態では、信頼値が周波数にわたって平滑化される。
【0020】
一実施形態では、オーディオ信号内のノイズを低減することは、各周波数において、その周波数における信頼値の関数として低減される利得低減を適用することをさらに含む。
【0021】
一実施形態では、方法は、1つまたは複数のプロセッサを使用して、周波数f1を選択することと、1つまたは複数のプロセッサを使用して、選択された周波数f1より上のあらかじめ定められたサイズのすべての間隔について、所定のサイズのブロック内の周波数スペクトルの離散導関数の平均を計算することと、1つまたは複数のプロセッサを使用して、最大の負の導関数を有するブロックを、かかる負の値が所定の値よりも小さい場合、カットオフ周波数fcとして選択することと、1つまたは複数のプロセッサを使用して、カットオフ周波数より上の周波数スペクトルの値を、カットオフ周波数に隣接する上限境界を有する所定の長さの周波数帯域における周波数スペクトルの平均に置き換えることとをさらに含む。
【0022】
一実施形態では、コスト関数は、中央値または平均値の増加に伴って増加し、エネルギーの変動量の尺度の増加に伴って増加する。
【0023】
一実施形態では、コスト関数が非線形である。
【0024】
一実施形態では、コスト関数は、エネルギーの変動量の尺度および平均値または中央値において対称である。
【0025】
一実施形態では、コスト関数は非対称であり、エネルギーの変動量の尺度は、エネルギーの変動量の尺度が所定のしきい値よりも小さいとき、平均値または中央値よりも小さく重み付けされる。
【0026】
一実施形態では、システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、上で説明した方法のうちのいずれか1つの方法の動作を実行させる命令を記憶する非一時的コンピュータ可読媒体とを備える。
【0027】
一実施形態では、非一時的コンピュータ可読媒体は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、上で説明した方法のうちのいずれか1つの方法の動作を実行させる命令を記憶する。
【0028】
本明細書で開示される他の実装形態は、システム、装置、およびコンピュータ可読媒体を対象とする。開示された実装形態の詳細は、添付の図面および以下の説明に記載される。他の特徴、目的および利点は、説明、図面および特許請求の範囲から明らかである。
【0029】
本明細書で開示される特定の実装形態は、以下の利点のうちの1つまたは複数を提供する。オーディオ信号のノイズフロアの信頼できる推定値が利用可能でない場合(例えば、バックグラウンドノイズのフラグメントのみの場合)に、開示されるシステムおよび方法を使用して、ノイズフロアを推定することができる。既存のソリューションとは異なり、開示されるシステムおよび方法は、オーディオ信号の狭帯域トーン成分(例えば、電気ハム)を破棄せず、例えば、オーディオ信号のフェードインおよびフェードアウトに対してロバストである。また、オーディオ信号の性質の仮定は必要とされず、開示されたシステムおよび方法がすべてのタイプのオーディオ信号に適用されることを可能にする。
【図面の簡単な説明】
【0030】
図面では、説明を容易にするために、デバイス、ユニット、命令ブロック、およびデータ要素を表すものなど、概略要素の特定の配置または順序付けが示されている。しかしながら、図面における概略的な要素の特定の順序または配置は、処理の特定の順序もしくはシーケンス、または処理の分離が必要とされることを暗示することを意味しないことが、当業者によって理解されるべきである。さらに、図面に概略的な要素を含めることは、そのような要素がすべての実施形態において必要とされること、またはそのような要素によって表される特徴が、いくつかの実装形態において他の要素に含まれないか、もしくは他の要素と組み合わせられない場合があることを暗示することを意味するものではない。
【0031】
さらに、図面において、実線または破線または矢印などの接続要素が、2つ以上の他の概略的な要素の間の接続、関係、または関連付けを示すために使用される場合、そのような接続要素が存在しないことは、接続、関係、または関連付けが存在し得ないことを暗示することを意味しない。言い換えれば、本開示を不明瞭にしないように、要素間のいくつかの接続、関係、または関連付けは図面に示されていない。さらに、説明を容易にするために、単一の接続要素を使用して、要素間の複数の接続、関係、または関連付けを表す。例えば、接続要素が信号、データ、または命令の通信を表す場合、そのような要素は、通信に影響を及ぼすために、必要に応じて、1つまたは複数の信号経路を表すことが当業者によって理解されるべきである。
【
図1】一実施形態による、ノイズフロア推定およびノイズ低減のためのシステムのブロック図である。
【
図2A】一実施形態による、特定の周波数における諸バッファにわたる信号エネルギーを示すプロットである。
【
図2B】一実施形態による、特定の周波数における諸バッファにわたる中央値(μ)を示すプロットである。
【
図2C】一実施形態による、特定の周波数における諸バッファにわたる標準偏差(σ)を示すプロットである。
【
図3】一実施形態による、μおよびσのコスト関数を示す。
【
図4A】一実施形態による、最小コスト関数J(i,f)に対応するバッファを強調表示した、所与の周波数fにおけるバッファiごとの例示的なエネルギーレベルを示す。
【
図4B】一実施形態による、
図4Aのバッファiおよび周波数fについての例示的な中央値(μ)をdB単位で示す。
【
図4C】一実施形態による、
図4Aのバッファiおよび周波数fについての例示的な標準偏差(σ)をdB単位で示す。
【
図4D】一実施形態による、argmin
i{J(i,f)}に対応するバッファを強調表示した、バッファiおよび周波数fについてのコスト関数J(i,f)の例示的な最小値を示す。
【
図5A】一実施形態による、周波数fの関数としての例示的な推定ノイズレベル(dB)を示す。
【
図5B】一実施形態による、各周波数fにおいて、所与の周波数において最低コスト関数を有するバッファに対応する推定ノイズについての例示的な標準偏差を示す。
【
図5C】一実施形態による、
図5Bに示す標準偏差σに基づく
図5Aのノイズ推定における信頼度を示す。
【
図6】一実施形態による、ノイズ低減の利得曲線(伝達関数)を示す。
【
図7A】一実施形態による、ノイズフロアが高周波数において大きく低下する場合を示す。
【
図7B】一実施形態による、周波数f
1より上の
図7Aに示すノイズスペクトルをLポイントの長さおよびあらかじめ定義された重複のブロックに分割することと、各ブロック中の点の平均導関数を、それらの対応するブロックの周波数が増加する順に計算することとを示す。
【
図7C】一実施形態による、所定の負の値よりも大きい値を有する最初の平均導関数を求めることを示す。
【
図7D】一実施形態による、カットオフ周波数f
cより前の小領域におけるノイズスペクトルの平均を計算することと、f
cより上のノイズスペクトルの値をノイズスペクトルの前記平均に置き換えることとを示す。
【
図8】一実施形態による、ノイズフロア推定およびノイズ低減のためのプロセスのフロー図である。
【
図9】一実施形態による、
図1~
図8を参照して説明した特徴およびプロセスを実装するための例示的なシステムのブロック図を示す。
【0032】
様々な図面で使用される同じ参照記号は、同様の要素を示す。
【発明を実施するための形態】
【0033】
以下の詳細な説明では、説明される様々な実施形態の完全な理解を提供するために、多数の特定の詳細が示される。説明される様々な実装形態は、これらの特定の詳細なしに実施され得ることが、当業者には明らかであろう。他の事例では、実施形態の態様を不必要に不明瞭にしないように、周知の方法、手順、構成要素、および回路は詳細に説明されない。それぞれ互いに独立して、または他の特徴の任意の組み合わせと共に使用することができるいくつかの特徴を以下に説明する。
【0034】
用語解説
本明細書で使用される場合、「~を含む(includes)」という用語およびその変形は、「~を含むが、それに限定されない」ことを意味するオープンエンドの用語と解釈されるものとする。「または」という用語は、文脈が別の意味であることを明らかに示さない限り、「および/または」と解釈されるものとする。「~に基づいて」という用語は、「~に少なくとも部分的に基づいて」と解釈されるものとする。「例示的な一実装形態」および「例示的な実装形態」という用語は、「少なくとも1つの例示的な実装形態」と解釈されるものとする。「別の実装形態」という用語は、「少なくとも1つの他の実装形態」と解釈されるものとする。「決定された」、「決定する」、または「決定すること」という用語は、取得すること、受信すること、計算すること、算出すること、推定すること、予測すること、または導出することと解釈されるものとする。加えて、以下の説明および特許請求の範囲では、別段の定義がない限り、本明細書で使用されるすべての技術用語および科学用語は、本開示が属する技術分野の当業者によって一般に理解されるものと同じ意味を有する。
【0035】
システムの概要
開示される実施形態は、オーディオ信号(例えば、オーディオファイルまたはストリーム)のすべての周波数について、エネルギーがオーディオ録音の他のフラグメントよりも小さく、エネルギーの分散がかかるフラグメント内で適度に小さいオーディオ録音のフラグメントを見つける。関心のある周波数におけるそのようなフラグメントのエネルギーは、この周波数における定常ノイズのレベルと考えられる。各周波数において、適切なフラグメントの選択は、最小化問題として構成され、ここでは、低エネルギーおよび低分散を有するフラグメントが好まれるため、2つの独立変数間の最良の妥協点を見いだす。特定の周波数において、ノイズフロアとして識別されたレベルが比較的高い分散に対応する場合、そのような周波数には小さな信頼度が関連付けられる。信頼度の値は、後続のノイズ低減ユニットに知らせるために使用され、それにより、ノイズを抑制するために適用される利得減衰が信頼値にしたがって低減され、潜在的に不正確なノイズ推定がノイズ低減の出力の品質に悪影響を及ぼさない保守的な手法を可能にする。ノイズフロアが(例えば、典型的には、損失コーデックにおける帯域制限に起因して)高周波数で大きく低下する場合、フォールオフ前の推定ノイズの値は、フォールオフ領域周辺の周波数にわたる平滑化による減衰利得の低減を回避するために、スペクトルの終わりまで保たれる。
【0036】
図1は、一実施形態による、ノイズフロア推定およびノイズ低減のためのシステム100のブロック図である。システム100は、スペクトル生成ユニット101と、バッファ102と、二乗平均平方根(RMS)計算器103と、統計分析ユニット104(「STATS」)と、コスト関数ユニット105と、オプションの平滑化ユニット106と、ノイズ低減ユニット107と、分割ユニット108とを含む。
【0037】
一実施形態では、入力オーディオ信号x(t)(例えば、オーディオファイルまたはストリーム)は、分割ユニット108によって複数のバッファ102に分割され、各バッファは、ZkHzサンプリングレート(例えば、48kHz)において隣接バッファとYパーセント重複(例えば、50%重複)するN個のサンプル(例えば、4096個のサンプル)を含む。スペクトル生成ユニット101は、複数のバッファ102のコンテンツに周波数変換を適用して、ZkHzサンプリングレート(例えば、48kHz)においてM個の周波数ビン(例えば、4096個のサンプル)のバッファを含む時間-周波数表現X(n,f)を得る。例えば、4096個のサンプル、50%重複、および48kHzサンプリングレートでは、各バッファに対して約12Hzの周波数分解能となる。いくつかの実施形態では、周波数変換は、時間-周波数データ(例えば、時間-周波数タイル)を出力する、短時間フーリエ変換(STFT)である。
【0038】
各バッファiについて、RMS計算器103は、時間領域におけるバッファについてのRMSレベルを計算し、最大RMSに対する無音しきい値(例えば、最大RMSの-80dB下)を定義する。無音しきい値は、オーディオ信号全体を分析することによって計算されるので、「オフライン」ユースケースに限定される。代替的に、無音しきい値は、固定数(例えば、-100dBFS)、または入力オーディオファイル/ストリームのビット深度に依存する固定数(例えば、16ビット信号については-90dBFS、24ビット信号については-140dBFS)として定義される。無音バッファは、無音しきい値未満のRMSレベルを有するバッファである。
【0039】
各周波数fおよび各バッファiについて、統計分析ユニット104は、j個のバッファ内のサンプルのエネルギーの変動量の尺度(例えば、標準偏差、分散、範囲(最大-最小)、四分位間範囲)および中央値を計算し、ここで、j個のバッファは、バッファiを中心とするオーディオ信号x(t)のチャンク(例えば、1秒のオーディオ)に属する。式[1]および[2]は、以下のように、j個のバッファ内のサンプルのエネルギーの標準偏差σおよび中央値μを使用して、統計分析ユニット104の動作を説明する:
【数1】
【数2】
【0040】
(無音しきい値によって決定されるような)1つまたは複数の無音バッファを含むオーディオ信号のチャンクは、中央値および標準偏差の算出において使用されない。いくつかの実施形態では、計算コストを低減するために、中央値を平均値に置き換えることができる。
【0041】
図2A~
図2Cは、一実施形態による、特定の周波数における諸バッファにわたる信号エネルギー、中央値μ、および標準偏差σを(上から下に)示すプロットである。目標は、各周波数において、オーディオ信号のノイズフロアを最もよく表すオーディオ信号のチャンク、すなわち、中間/平均値μおよび標準偏差σが小さいチャンクを見つけることである。コスト関数ユニット105は、しきい値を導入するのではなく、区間[0.0,1.0]に適合するようにμおよびσを再スケーリングした後、すなわち正規化された後に、コスト関数J(μ(i,f),σ(i,f))の数値的な共同最小化(numerical joint minimization)を計算する:
【数3】
【0042】
argmin
i{J(i,f)}に対応するバッファk(f)が決定されると、オーディオファイル/ストリームのノイズフロアは、バッファkの中央値/平均値に等しくなる:
【数4】
【0043】
バッファkに対応するオーディオのチャンクは、バッファkのいくつかの隣接バッファを含み、周波数fにおける選択されたチャンクと呼ばれる。
図3は、式[3]によるμおよびσのコスト関数を示す。
【0044】
μおよびσを事後的に再スケーリングするには、オーディオファイル全体についてそれらの値を取得することが必要とされることに留意されたい。ファイルが録音または処理されている間にノイズ推定がオンラインで行われる場合、再スケーリングは、以前の経験的観察に基づいて両方の変数に対して固定範囲[μ
max,μ
min]および[σ
max,σ
min]を導入することによって行うことができるため、再スケーリングされた変数は以下のようになる:
【数5】
【数6】
【数7】
【0045】
σの再スケーリングは、式[5]~[7]を使用し、μをσに置き換えて、同様の方法で行われ得る。
【0046】
いくつかの実施形態では、コスト関数に対する以下の変更が考慮される(μおよびσが、それらの最大値および最小値に基づいて事後的に、または推測された最大値および最小値に基づいてオンラインで、[0,1]に再スケーリングされると仮定することに変わりはない)。コスト関数は、以下の二次項で表すことができる:
【数8】
【0047】
μおよびσのそれぞれの役割および重要性を変えることができるため、コスト関数の対称性を破ることができる。1つの手法は、σが特定のしきい値未満であるときに小さなコストを与え、しきい値を超えるときに大きなコストを与え、その間に滑らかな遷移を与えるようにσを変換することである。この定式化により、σの小さな値に対してJ(i,f)が最小化されるであろう。可能な実装形態は、以下の式[9]に示すシグモイド関数を使用することである:
【数9】
ここで、α=10は、シグモイド関数に対するスケール係数の良い例である。
【0048】
いくつかの実施形態では、二次項μ2(i,f)を線形項μ(i,f)に置き換えて、レベルの小さいチャンクにより少ない重みを与え、潜在的な過小評価を回避することができる。
【0049】
オーディオの同じチャンクから選択されることとなる隣接周波数のノイズ推定を優先することで、他の部分は非常に滑らかなノイズ曲線において、時折過小評価される外れ値を回避することが有益であり得る。これを達成するための一実施形態は、例えば、オーディオファイル内の選択されたチャンクの位置のヒストグラムを視覚化することによって、周波数にわたる選択されたチャンクk(f)の分布を調べることによるものである。特定のチャンク
【数10】
上に大きなクラスタを見つけ、偶発的な外れ値がわずかな数しか見つからなかった場合、チャンク
【数11】
は大部分がバックグラウンドノイズであると仮定され得、同じチャンク上の外れ値周波数の推定が強制され得る。対応するチャンクが
【数12】
である周波数について、コスト
【数13】
を計算し、コスト増加が特定のしきい値よりも小さい場合、すなわち
【数14】
である場合、
【数15】
に置き換えることができる。この規則のわずかな差異は、コスト差がJ
Thより小さい限り、
【数16】
の周りのn
k個のバッファの範囲で最小コストに対応するノイズ推定値を選択することである。
【0050】
図4Aは、所与のバッファiおよび周波数fについてのコスト関数J(i,f)の最小値に対応する例示的なノイズレベルを示す。
図4Bは、バッファiおよび周波数fについての例示的な中央値/平均値(μ)をdB単位で示す。
図4Cは、バッファiおよび周波数fについての例示的な標準偏差(σ)をdB単位で示す。
図4Dは、バッファiおよび周波数fについての例示的なコスト関数J(i,f)と、それが最小値に達するバッファargmin
i{J(i,f)}とを示す。
【0051】
一実施形態では、オプションの平滑化ユニット106は、オーディオ信号の異なるチャンクから隣接ビンを推定することに起因する変動を回避するために、推定ノイズフロアに平滑化を適用する。平滑化ユニット106は、ノイズ(f)の各値を、fの周りの帯域における値の平均に置き換える。このような帯域の形状は、矩形、三角形などであり得る。いくつかの実施形態では、帯域の境界において0の値に達する平滑関数を使用することができる。知覚的な理由から、帯域の幅は指数関数的であり、オクターブの一定の割合に相当する。いくつかの実施形態では、一定の割合は1/100であり、これは、ノイズ成分を正確に測定するのに十分な分解能を維持するための非常に狭い帯域幅である。
【0052】
推定の信頼度を表す信頼値c(f)は、分散の値が高い周波数に小さい信頼度を、分散の値が低い周波数に大きい信頼度を関連付けることによって、σ(k)の値から取得され得る:
【数17】
【数18】
【数19】
【0053】
経験的に決定された例示的な値は、σH=14およびσL=7.5である。この信頼度を使用して、ノイズフロア推定の精度についてノイズ低減ユニット107に知らせ、したがって、推定が正確であるとみなされない周波数における望ましくないアーチファクトを回避するためにノイズ低減を改善することができる。
【0054】
図5Aは、周波数fの関数としての例示的な推定ノイズレベル(dB)を示す。
図5Bは、コスト関数が所与の周波数fにおいて最も低い値を有する場合のバッファの標準偏差である、
図5Aに示す推定ノイズに対する例示的な標準偏差を示す。
図5Cは、
図5Bに示す標準偏差σに基づく
図5Aのノイズ推定の信頼度を示す。σがσ
L未満であるとき、式[12]にしたがって信頼度は1であり、σがσ
Lとσ
Hとの間であるとき、式[11]にしたがって信頼度は
【数20】
によって求められ、σがσ
Hより大きいとき、式[10]にしたがって信頼度は0であることに留意されたい。
【0055】
一実施形態では、ノイズ低減ユニット107は、周波数帯域ベースまたはFFTベースのエキスパンダである。任意の所与のフレームにおいて、エネルギーが推定ノイズフロアに近い周波数ビンは、ノイズフロアへのそれらの近接度にいくらか比例する利得で減衰される。いくつかの実施形態では、利得減衰G(n,f)は、以下で説明される
図6に示すものと同様の曲線を使用してL(n,f)によって決定される。
【0056】
具体的には、N(f)をdB単位のノイズのエネルギーレベルとし、S(n,f)をフレームnおよび周波数fにおけるオーディオコンテンツのエネルギーレベルとする。いくつかの実施形態では、デシベル単位のしきい値Thが定義され、しきい値を上回るレベルの量は、以下のように計算される:
【数21】
【0057】
図6を参照すると、利得曲線601(「ノイズ低減曲線」とも呼ばれる)およびバイパス曲線602が示されている。所与の入力レベル(dB)において、利得減衰は、入力レベル(x軸)と所望の出力レベル(dB)(y軸)との間の差である。利得曲線601は、しきい値603より上では1の勾配、しきい値点603より下では選択された比(例えば、通常5以上)に対応する勾配、およびしきい値点603の周囲では滑らかなまたは急な遷移を有する。信頼度c(f)がコスト関数ユニット106によって提供されるとき、信頼度c(f)は、ノイズ低減ユニット107によって使用されて、この信頼度でデシベル単位の利得低減をスケーリングすることによって、信頼度が小さい周波数におけるノイズ低減の効果を低減する:
【数22】
【0058】
いくつかの実施形態では、信頼度はまた、平滑化ユニット105によって平滑化され得、したがって、信頼度が高い帯域における完全なノイズ低減と、信頼度が低い帯域におけるノイズ低減なしとの間の連続的な遷移を保証する。
【0059】
図7Aに示すように、ノイズフロアが(例えば、典型的には損失コーデックにおける帯域制限に起因して)高周波数において大きく低下する場合、フォールオフの前の推定ノイズの値が、スペクトルの終わりまで保たれる。これは、フォールオフ領域周辺の周波数にわたる平滑化による減衰利得の低減を回避するためである。
【0060】
いくつかの実施形態では、フォールオフの周波数は、以下によって決定される:1)
図7Aに示すように、それより上でカットオフ周波数f
cが推定される第1の周波数f
1を選択すること、2)
図7Bに示すように、f
1より上のノイズスペクトルを長さLポイントおよび所定の重複(例えば、50%)のブロックに分割すること、3)
図7Cに示すように、各ブロックにおいて、対応するブロックの周波数が増加する順に平均導関数を計算し、所定の負の値(例えば、-20dB)よりも小さい値を有する最初の導関数を求めること、ならびに4)
図7Dに示すように、f
cより前の小領域におけるノイズスペクトルn
cの平均を計算し、f
cより上のノイズスペクトルの値をn
cに置き換えること。ステップ(3)は、スペクトル上の著しいフォールオフとして解釈され、対応するブロックの周波数は、カットオフ周波数f
cとみなされることに留意されたい。
【0061】
例示的なプロセス
図8は、一実施形態による、ノイズフロア推定およびノイズ低減のためのプロセス800のフロー図である。プロセス800は、
図8に示すデバイスアーキテクチャを使用して実施され得る。
【0062】
プロセス800は、
図1~
図7を参照して説明したように、1つまたは複数のプロセッサを使用して、オーディオ信号(例えば、ファイル、ストリーム)を取得すること(801)と、オーディオ信号を複数のバッファに分割すること(802)と、オーディオ信号の各バッファについて時間-周波数サンプルを生成すること(803)とから開始する。
【0063】
プロセス800は、続けて、
図1~
図7を参照して説明したように、各バッファおよび各周波数について、バッファ中のサンプルと、一緒になってオーディオ信号の指定された時間範囲にまたがる隣接バッファ中のサンプル中のエネルギーとに基づいて、エネルギーの標準偏差および中央値(または平均値)を決定し(804)、標準偏差および中央値をコスト関数に組み合わせる(805)。
【0064】
プロセス800は、続けて、
図1~
図7を参照して説明したように、各周波数について、コスト関数の最小値に対応するオーディオ信号の特定のバッファの信号エネルギーとしてオーディオ信号のノイズフロアを推定し(806)、推定ノイズフロアを使用して、オーディオ信号中のノイズを低減する(807)。
【0065】
例示的なシステムアーキテクチャ
図9は、一実施形態による、
図1~
図8を参照して説明した特徴およびプロセスを実装するための例示的なシステムのブロック図を示す。システム900は、オーディオを再生することが可能な任意のデバイスを含み、これには、スマートフォン、タブレットコンピュータ、ウェアラブルコンピュータ、車両コンピュータ、ゲームコンソール、サラウンドシステム、キオスクが含まれるが、それらに限定されない。
【0066】
示すように、システム900は、例えば、読取り専用メモリ(ROM)902に記憶されたプログラムまたは例えば記憶ユニット908からランダムアクセスメモリ(RAM)903にロードされたプログラムにしたがって様々なプロセスを実行することができる中央処理装置(CPU)901を含む。RAM903には、必要に応じて、CPU901が様々なプロセスを行う際に必要なデータも記憶される。CPU901、ROM902、およびRAM903は、バス909を介して相互に接続される。入力/出力(I/O)インターフェース905もバス904に接続される。
【0067】
以下の構成要素もI/Oインターフェース905に接続される:キーボード、マウスなどを含み得る入力ユニット906と、液晶ディスプレイ(LCD)などのディスプレイおよび1つまたは複数のスピーカを含み得る出力ユニット907と、ハードディスクまたは別の適切な記憶デバイスを含む記憶ユニット908と、ネットワークカード(例えば、有線またはワイヤレス)などのネットワークインターフェースカードを含む通信ユニット909。
【0068】
いくつかの実装形態では、入力ユニット906は、様々なフォーマット(例えば、モノラル、ステレオ、空間、没入型、および他の適切なフォーマット)でオーディオ信号のキャプチャを可能にする、(ホストデバイスに応じて)異なる位置にある1つまたは複数のマイクロフォンを含む。
【0069】
いくつかの実装形態では、出力ユニット907は、様々な数のスピーカを有するシステムを含む。
図9に示すように、出力ユニット907は(ホストデバイスの能力に応じて)、様々なフォーマット(例えば、モノラル、ステレオ、没入型、バイノーラル、および他の適切なフォーマット)でオーディオ信号をレンダリングすることができる。
【0070】
通信ユニット909は、(例えば、ネットワークを介して)他のデバイスと通信するように構成される。I/Oインターフェース905には、必要に応じて、ドライブ910も接続される。ドライブ910には、磁気ディスク、光ディスク、光磁気ディスク、フラッシュドライブまたは別の適切なリムーバブルメディアなどのリムーバブルメディア911が装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、記憶ユニット908にインストールされる。システム900は上述の構成要素を含むものとして説明されているが、当業者であれば、実際の適用において、これらの構成要素の一部を追加、除去、および/または置換することが可能であり、これらの修正または変更はすべて本開示の範囲内に入ることを理解するであろう。
【0071】
本開示の例示的な実施形態によれば、上で説明したプロセスは、コンピュータソフトウェアプログラムとして、またはコンピュータ可読記憶媒体上に実装され得る。例えば、本開示の実施形態は、機械可読媒体上に有形に具現化されたコンピュータプログラムを含むコンピュータプログラム製品を含み、コンピュータプログラムは、方法を実行するためのプログラムコードを含む。そのような実施形態では、コンピュータプログラムは、
図9に示すように、通信ユニット909を介してネットワークからダウンロードされて実装されてもよく、および/またはリムーバブルメディア911からインストールされてもよい。
【0072】
一般に、本開示の様々な例示的な実施形態は、ハードウェアもしくは専用回路(例えば、制御回路)、ソフトウェア、ロジック、またはそれらの任意の組み合わせで実装され得る。例えば、上述したユニットは、制御回路(例えば、
図9の他の構成要素と組み合わせたCPU)によって実行され得、したがって、制御回路は、本開示で説明されたアクションを実行していることがある。いくつかの態様はハードウェアで実装され得、他の態様は、コントローラ、マイクロプロセッサ、または他のコンピューティングデバイス(例えば、制御回路)によって実行され得るファームウェアまたはソフトウェアで実装され得る。本開示の例示的な実施形態の様々な態様が、ブロック図、フローチャートとして、または何らかの他の図的表現を使用して図示され説明されているが、本明細書で説明されるブロック、装置、システム、技法、または方法は、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、専用回路もしくはロジック、汎用ハードウェアもしくはコントローラ、または他のコンピューティングデバイス、またはそれらの何らかの組み合わせで実装され得ることが理解されよう。
【0073】
追加的に、フローチャートに示す様々なブロックは、方法ステップとして、および/またはコンピュータプログラムコードの動作から生じる動作として、および/または関連する機能(複数可)を実行するように構築された複数の結合された論理回路要素として見なされ得る。例えば、本開示の実施形態は、機械可読媒体上に有形に具現化されたコンピュータプログラムを含むコンピュータプログラム製品を含み、コンピュータプログラムは、上で説明した方法を実行するように構成されたプログラムコードを含む。
【0074】
本開示のコンテキストでは、機械可読媒体は、命令実行システム、装置、もしくはデバイスによって、またはそれらに関連して使用するためのプログラムを含むか、または記憶し得る任意の有形の媒体であり得る。機械可読媒体は、機械可読信号媒体または機械可読記憶媒体であってもよい。機械可読媒体は、非一時的であってもよく、電子、磁気、光学、電磁気、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、または前述のものの任意の適切な組み合わせを含み得るが、それらに限定されない。機械可読記憶媒体のより具体的な例には、1つまたは複数のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読取り専用メモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、または前述のものの任意の適切な組み合わせが含まれるであろう。
【0075】
本開示の方法を実行するためのコンピュータプログラムコードは、1つまたは複数のプログラミング言語の任意の組み合わせで書かれ得る。これらのコンピュータプログラムコードは、汎用コンピュータ、専用コンピュータ、または制御回路を有する他のプログラマブルデータ処理装置のプロセッサに提供され得、その結果、プログラムコードは、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサによって実行されると、フローチャートおよび/またはブロック図に指定された機能/動作を実施させる。プログラムコードは、完全にコンピュータ上で、部分的にコンピュータ上で、スタンドアロンソフトウェアパッケージとして、一部がコンピュータ上一部がリモートコンピュータ上で、または完全にリモートコンピュータもしくはサーバ上で、または1つもしくは複数のリモートコンピュータおよび/もしくはサーバにわたって分散して実行し得る。
【0076】
本文書は多くの特定の実施詳細を含むが、これらは、特許請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ、特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書で説明されている特定の特徴は、単一の実施形態において組み合わせて実装されることも可能である。逆に、単一の実施形態の文脈において説明された様々な特徴は、複数の実施形態で別々に、または任意の適切なサブコンビネーションで実装されることも可能である。さらに、特徴は、特定の組み合わせで作用するものとして上で説明され、最初にそのように請求され得るが、請求される組み合わせからの1つまたは複数の特徴は、場合によっては、組み合わせから削除され得、請求される組み合わせは、サブコンビネーションまたはサブコンビネーションの変形形態を対象とし得る。図に示される論理フローは、所望の結果を達成するために、示された特定の順序または連続的な順序を必要としない。加えて、他のステップが提供されてもよく、または説明されるフローからステップが排除されてもよく、他の構成要素が説明されるシステムに追加されてもよく、または説明されるシステムから除去されてもよい。したがって、他の実装形態は、以下の特許請求の範囲内にある。