(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
フラットパネルディスプレイ及びモバイルデバイスの出現は、貧弱な低音(低い周波数)性能が知られている小型ラウドスピーカの広い利用を加速している。この特性は、聴取者の音質の全体の印象は低音性能により強く影響されるので普通はそれらを不利益な位置に置く。そのために、特に小型ラウドスピーカを組み込むデバイスに関して、認識される(perceive)低音性能を向上することが高く望まれる。
【0003】
低音性能をブーストするための従来の方法はオーディオスペクトラムの低周波数部分を単純に増幅し、低音部をより大きくすることである。しかし、低周波数にて電気エネルギーを音響エネルギーへ変換する場合に小型スピーカは普通は低い効率を有するために、この方法の有効性はいちじるしく制限され、バッテリが空になったり加熱等の問題を引き起こす。潜在的なさらに大きな問題は、低周波数での増幅はスピーカコイルの過度な変位を生じさせ、歪を導き、ある場合にはラウドスピーカを損傷する。
【0004】
他の方法は「仮想ピッチ(virtual pitch)」の音響心理的(psychoacoustic)影響を利用することである。この影響を説明するための簡単な例について、100Hzの基本周波数(fundamental frequency)F0を持つピッチ(pitch)を考える。100Hzの純音、楽器及び人の声帯を鳴らすことにより人の耳に生成される100Hzピッチの感覚は、100Hz、200Hz、300Hzのような複雑な調和構造(complex harmonic structure)を伴うトーンのセットを使用して生成でき、より十分の(そして区別される)音質を提供することができる。より興味深いことは基本周波数100Hzにおけるトーンは、人が100Hzピッチを聞く感覚を持つ必要がない。たとえ100Hzのトーンが無くても、200Hz、300Hz、400Hzなどの高調波トーン(harmonic tone)のセットは100Hzピッチの感覚を生み出す。人の耳は明らかに高調波トーンだけからピッチを推定することができる。この現象は仮想ピッチ(virtual pitch)と呼ばれる。
【0005】
仮想ピッチの概念の一つの結果は、基本周波数F0のピッチの感覚を生むために周波数F0でのトーンを物理的に作る必要がないことである。小型ラウドスピーカの低音部の強化を適用する場合、このことは、小型ラウドスピーカが効率的ではない低い周波数でエネルギーを消耗する必要がないことを意味する。かわりに我々は、ラウドスピーカが生成するときにより効率的である、より高い周波数トーンを使うことにより低音に類似した印象を作ることができる。適切な調和構造が提供される限り、仮想ピッチの効果は強い低音感覚を生じるのに十分に強くできる。この方法はここでは仮想低音と呼ぶ。
【0006】
初期の仮想低音技術は時間ドメイン(time domain)で動作し、概略次のステップを含む。
1.低音信号を形成するために帯域通過フィルタを使って入力オーディオ信号から低周波数成分を取り出す。
2.低音信号を非線形デバイスへ供給することにより高次高調波(higher-order harmonics)を発生する。
3.帯域通過フィルタを使って高次高調波(仮想ピッチ)の一部分を選択する。
4.選択された高次高調波を元の信号へ戻して加える。
しかし、本願発明者は、この方法が音質をいちじるしく損なう、非線形デバイスによる相互変調歪(inter modulation distortion)の導入を含む問題があることを認めた。
【0007】
より最近の技術はフェーズボコーダを使う周波数ドメインにおいて動作し、例えば以下である。
1.入力オーディオ信号を離散フーリエ変換(DFT)ドメインへ変換するために短時間フーリエ変換(STFT)を使用する。
2.低周波数高調波トーンの周波数を、ラウドスピーカが効率的に音を発生できる周波数へ線形的にスケールアップする。
3.時間ドメインの仮想低音信号を合成するための正弦波の和シンセサイザ(sum-of-sinusoids synthesizer)を駆動するためにスケールアップされた高調波を使用する。
4.仮想低音信号を元の信号へ戻して加える。
しかし、本願発明者はこの方法がスケールアップされた高調波トーンの間に周波数差を生じ、得られた仮想ピッチ周波数があるべき周波数よりも高いという、少なくとも一つの問題を認めた。言い換えれば、得られた仮想低音部は元の信号の低音部よりも高いピッチを有するとして認識されるだろう。さらに悪いことに、多くのケースでは、特に音楽が含まれる場合、認識されるピッチにおける前述のシフトは認識される低音部をオーディオ信号の他の部分と衝突させて音質のさらに多くの重大な低下を生じる。
【発明を実施するための形態】
【0014】
参照しやすくするために、この開示はセクションに分割される。それぞれのセクションのおおよその主題はセクションの見出しに示される。しかし、この見出しは単に読みやすさを向上する目的のために含まれており、いかなる方法においても発明の範囲を限定することは全く意図していない。
【0015】
周波数ドメインにおける仮想低音部の付加
本実施形態の第1の実施形態は、主として周波数ドメインで動作し、
図1を参照して論じられる。以下で詳細に論じられるように、
図1は、元の信号10よりも少ない実際の低音部の中身を有し、しかし、例えば低音を作成するのに非常に良くないスピーカや他の出力デバイスについて、より適切にする仮想低音が付加された出力オーディオ信号40を作成するために、元の入力オーディオ信号10(典型的にはデジタル形式、すなわち時間において離散的又はサンプルされ、値において離散的又は量子化された)を処理するためのシステム5を説明する図である。
【0016】
図1を参照すると、最初にフォワード変換モジュール12が入力信号を時間ドメインの表現から周波数ドメイン(例えばDFT)の表現へ変換する。従来のSTFT又は他の従来の周波数変換技術がモジュール12で使用され得る。以下の説明では、DFT表現をもたらすSTFTが一般に使用されるものとするが、一般化の損失は意図されておらず、ここでの特定の参照は、例えば先行のより一般的な用語と置き換え可能である。
【0017】
変換された結果の信号は低音部抽出器(bass extractor)14へ提供(すなわち結合)され、オプションでハイパスフィルタへ提供される。低音部抽出器14は、
【0019】
の通過帯域(例えば、スペクトラムの主部が減衰が3dB以下。)を有する帯域通過フィルタを使用して、DFT(又は他の周波数)係数から入力信号10の低周波数部分16を抽出する。
ここで、f
lbは下端カットオフ(−3dB)周波数、f
hbは上端カットオフ周波数、及び前記範囲は、望ましくは低音部が強くなると期待され、しかし意図されたラウドスピーカ又は他の最終の出力デバイス42が音を効率的に発生できないところに中心が置かれる。さらに、低音部抽出器14の帯域幅は、次に示す目的のためにオーディオ信号源から適切な調和構造(harmonic structure)を抽出するために、望ましくは十分なオクターブ(例えば、少なくとも1、2以上)にわたる。このような通過帯域の代表的な例は[40、160]Hzである。より一般的には、好適にはf
lbは10、15、20又は30Hz、f
hbは100−200Hzである。
【0020】
典型的には低音部抽出器14は、例えば、所望のフィルタ特性を持つ窓関数をフォワードSTFTモジュール12により提供される周波数係数へ直接適用することにより入力信号10のより高い周波数成分を抑圧する(そして好適には、例えば人の聴覚の範囲より下の非常に低い周波数成分も抑圧する。)。好適な実施形態では、低音部抽出器14の目的は仮想低音(例えば、人が聞く範囲以下であるいずれの非常に低い周波数エネルギーを除外して。)として再生されることが望まれる低音信号(その基本周波数及び少なくともその調和構造の一部分を含む)を出力することである。
【0021】
図1に示されるように、抽出された低音信号16は、生成される仮想低音信号25が対応することを意図される、低音信号16(すなわち仮想低音信号25が置き換えられることを意図される低音サウンド)内の低音サウンド(又はピッチ)の基本周波数F0を推定するのに使用されるF0推定器24へ提供される。なお、ここでの説明において基本周波数はF0又はF
0と取り換えて呼ぶことができる。任意のF0検出アルゴリズムが基本周波数F0の推定に提供されてよいが、本実施形態においてDFT(又は他の周波数)スペクトラムの利用性のために周波数ドメインでの方法が好ましい。典型的には、このような技術の暗示は、基本周波数が判定されるために処理されるオーディオ信号の中でのプリンシパル音(principal sound)又はピッチ(この場合、プリンシパルバスサウンド又はピッチ)の証明である。この点について、本願発明者はいずれの特定の期間においてシングルバスサウンド又はピッチの感覚の成果は良好な音質を提供することができることを発見した。現在、好適な方法が、Xuejing Sun, “A Pitch Determination Algorithm Based on Subharmonic-to-HarmonicRatio”, The 6th International Conference of Spoken Language Processing, 2000,pp. 676-679 及び/又は XuejingSun, “Pitch Determination and Voice Quality Analysis Using Subharmonic-to-HarmonicRatio”,2002 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol.1, pp.I-333-I-336, 13-17 May2002に記載されている。
【0022】
スムージング手法がオーディオフレーム間の円滑な推移(すなわちフレームからフレームへのF0における円滑な変化)を保証するために選択的に使用されてもよい。一つの実施形態は次の無限インパルス応答(IIR)フィルタを使用する。
【0024】
nはフレーム番号、^F
0(F
0に^)は円滑化されたF0
、αはフィルタ係数でありサンプリング周波数f
s及び時定数τに関係する。
【0026】
低音部はいつもオーディオ信号に存在するのではない。それがオーディオのフレームにない場合には、仮想低音強化メカニズムは必要に応じて無効にすることができる。このように仮想低音部メカニズムをオン及びオフとに変えることは、多くの場合より強くより望ましい低音部のコントラストを生成する。この目的のために、ほとんどのF0検出アルゴリズムは各オーディオフレームについて、典型的にはフレームのピッチ調和構造(pitch harmonic structure)の強さを示すF0顕著性値(salience value)を生成する。例えば、調和振幅(SH)の合計及び上記参照されたSunの論文において言及されるサブハーモニック対ハーモニック比(SHR)はF0検出アルゴリズムが使用される場合に顕著性関数(salience function)として使用される。SHの場合、調和構造がより強いと、顕著性値もより強い。一方、SHRは、SHRがより高いと、調和構造はより弱いとする逆の関係を提供する。
【0027】
いずれにしても、選択されたF0顕著性値は、このオン/オフメカニズムを実行するために容易に使用することができる。例えば、ある実施形態においては、所定のフレームのF0顕著性値が規定された閾値(例えば、固定又は動的に設定される)より低い(又はより高い場合。先行するパラグラフに示されるように顕著性値の性質に依存する)場合(又はそうでなければ規定の基準を満たさない場合、例えば規定された閾値に関係がある)、仮想低音メカニズムはオフにされる(例えば、仮想低音信号25は、そのフレームについて0に設定又は強制される)。上記のように、異なる顕著性値を生成する多くの潜在的な顕著性関数がある。典型的にはこのような顕著性関数のそれぞれは調整可能な多くのパラメータを有しており、好適に使用される所定の顕著性値に対する適切な閾値(仮想低音機能をオン及びオフに調整するための)は実験的に決定される。例えば、閾値は個々の評価者のテストグループからの主観的な品質評価に基づいてよい。あるいは、ある意味で「最適」であると判断された固定の閾値を使用するよりもむしろ、ユーザ30は、例えば彼や彼女の個人的な好みや現在演奏されている特定のサウンドの性質(又はサウンドのタイプ)に基づく値をユーザ30に調整することができるようにするためのユーザインタフェースを提供されてもよい。さらなる実施形態では、これらの方法の組み合わせが使用される(例えば、希望すればユーザ30に値を調整することを許容し及び前回のユーザ設定に基づいて機械学習アルゴリズムを使用し、このような場合にはユーザ30は設定を指定しない。)。
【0028】
F0推定値は推定器24から変換計算器(translation calculator)26へ供給され、周波数変換器28が後に低音信号16を変換(例えば、出力デバイス42が音を効率的に生成する周波数へ)するために使用する周波数変換を計算する。低音信号の調和構造を適切に維持するために、変換された調和トーンの周波数は基本周波数F0の整数倍であり、周波数変換の値は好適には、
【0030】
ここで、kは正の整数、以下、周波数変換乗数(frequency translation multiplier)と呼ぶ。
この周波数変換乗数を使い、低音調和周波数(bass harmonic frequency)のセット、
F
0,2F
0,3F
0,・・・
は、変換器28においてターゲット調和周波数のセット
F
0+kF
0,2F
0+kF
0,3F
0+kF
0,・・・へ変換される。
このように、ターゲット調和周波数の差はF0のままであり、それぞれの調和周波数はF0の整数倍のままである。したがって、この調和周波数のセットは欠けている仮想ピッチの感じを生成する。さらに、同じ量(Δ)によるF
0の周囲の周波数の変換は多くの場合、認識することの観点から元の低音の品質を保つことができる。
【0031】
周波数変換乗算器は好ましくはラウドスピーカが効率的に音を生成することができる周波数へ低音信号がシフトされることを保証する。この点については、f
ltがラウドスピーカが能率的に音を生成することができる最も低い周波数を意味する場合、式1により与えられる通過帯域を持つ低音信号に対する周波数変換乗数は次のようである。
【0035】
は天井(ceiling)関数であり、xより大きい又は等しい最も小さい整数を返す。式1により与えられる抽出された低音信号16(F0を含むと想定される)の範囲に対して、変換されたF0(周波数がシフトされた)の対応する範囲はしたがって、
【0037】
推定されたF0が式1で与えられた範囲の上端である場合、上に定義した乗数kは低音信号を非常に高い周波数範囲へ変換し、望ましくない低音の認識にする。この問題は代わりに次の乗数を使うことにより軽減される。
【0039】
この乗数は推定されたF0の関数であり、それゆえに、推定されたF0が変化するにつれてフレームからフレームで変化する。推定されたF0が、f
lt/F
0が整数であることを導く値の周囲で変化する場合に、非連続性の効果を制限するために、好適には式1において与えられた範囲の上部に1オクターブのF0範囲が許可されたF0推定に対する範囲として設定され、すなわちF0推定は(次の)範囲内に規制される。
【0041】
任意のF0推定はそれのオクターブを上げることによりこの範囲へシフトされる。したがって、変換乗数は次のように得られる。
【0043】
これは一定値である。この変更されたF0推定が式5で規定される範囲に制限されるので、変換(シフト)されたF0の対応する範囲は、
【0045】
であり、これは式3により定義される範囲よりかなり小さい。
【0046】
式6に記載されているように乗数kを定義することの有利な点は、ほとんどのF0検出アルゴリズムについてよくある問題である、オクターブエラーの不適切な問題をレンダリング(render)することである。この点について、F0検出アルゴリズムは実際よりも1オクターブ以上高いか低い推定をする傾向にあることに注意したい。式2又は4が使用される場合、このようなエラーは劇的に違う周波数へ低音信号を変換する。推定されるF0は式5の範囲へ変換されるので、式6を使用するときにはこの問題は無関係である。
【0047】
変換計算器26は、低音信号16の調和構造を変化しないで残すことを保証しながら、全ての取り出された低音信号16を、一定周波数の増加分Δ(例えば、ラウドスピーカ又は他の出力デバイス42が効率的に音を作り出すことができる周波数へ)だけ変換(又はシフト)する周波数変換器28へ変換情報(Δのみ又はF0と一緒にk)を提供する。n番目のSTFTフレームの仮想低音信号V(f,n)の周波数表現は低音信号16の周波数表現B(f,n)から得られ、。
【0049】
ここで、MはSTFTのブロックサイズである。上記に示される位相調整は連続するSTFTフレームの間で円滑な位相の推移を保証することが望まれる。例えば、J. Laroche及び M. Dolson, “New phase-vocoder techniques for real-time pitch shifting, chorusing, harmonizing, and other exotic audio modifications,” Journalof the Audio EngineeringSociety,47.11(1999): pp. 928-936、を参照されたい。
【0050】
この好適な実施形態では、F0は変換(transform)周波数(例えばDFT)ビン(bin)に相当する周波数に規制され、よって、Δは周波数ビンの幅の整数倍である。この目的のために、この規制の採用は、質におけるどんな本質的な低下を生じることなしに要求される処理を著しく平易にすることが見いだされた。しかし、小部分のケース(fractional case)を適応させることが可能であり、そのようにするシステムやプロセスは本発明の範囲内に含まれることが意図される。前の段落のLaroche及びDolsonによる論文はこれらの線に沿った方法を論じている。
【0051】
人のラウドネスの認識は低い周波数では感度が低いので、欠けていることの調整、つまりシステム5において追加される仮想低音信号25(より高い周波数のセットで構成される)は、典型的には元の信号10に有る実際の低音信号よりずっと大きく響く(有ることが認識される)だろう。しかし、認識されるラウドネスバランスが維持されるように、付加される仮想低音は元の低音と同じ音の大きさ(loud)に作ることが好ましい。この目的に向かって、ラウドネスコントロールモジュール29の主要な目的は、入力信号10における元の低音と比べて、仮想低音信号25の認識されるラウドネスレベルにおける変化を推定し、その後、2つをイコライズ(equalize)することが意図されるスケール係数を生成するためにその情報を使用することである。すなわち、仮想低音が元のオーディオ信号とよくブレンドするように仮想低音信号に対する最適なボリューム調整を推定する。さらにある実施形態では、システム5はユーザ30が、ユーザ30の好み(例えば、低音の感じを増大又は減少する)に合わせるためにこのスケール係数を修正する設定を調整できるようにするユーザインタフェースを提供する。
【0052】
好適には、ラウドネスコントロールモジュール29は最初に音圧レベル(SPL)又は抽出された低音信号16の電力を推定する。これを行う一つの方法は次のパスバンドにわたる電力の平均を計算することである。例えば、
【0054】
ここでXnはn番目のDFT係数、L及びHはそれぞれ最も低い及び高い低音信号16内のDFTビン番号。さらにラウドネスコントロールモジュール29は望ましくは抽出された低音信号内の代表的又は公称(nominal)周波数を明らかにする。幾何平均(geometric mean)は元の低音信号16に対するこの代表的又は公称周波数を計算するために使用される。例えば、
【0056】
ここでf
nはn番目のDFTビンの周波数。この代表的又は公称周波数及び電力は、元の低音信号16のラウドネスレベルL
Nを取得するためにISO226:2003の式(2)へ差し込む(plug)ことができる。
【0057】
同様に、対応する仮想低音信号25に対する代表的又は公称周波数は次のように計算される。
【0059】
代表的又は公称周波数f
V及びラウドネスレベルL
Nは、ターゲットSPL,L
PVを取得するためにISO226:2003の式(1)に差し込まれ(plug)、L
PVはターゲットスケールファクタsへ変換することができる。
【0061】
このスケールファクタsは、ユーザ30による修正を受け又は受けずに(例えば、上記に説明のとおり)、所望のボリューム調整がされた仮想バス信号25’を生成するために、仮想低音信号25と共に乗算器32へ提供される。ラウドネスコントロールモジュール29と乗算器32との組み合わせは総称して「ラウドネスコントローラ」又は「ラウドネスイコライザ」と呼ぶことができる。また、ここではISO226:2003が参照されたが、他のいかなる等ラウドネスレベルデータセット(例えば同様な)が代りに使用されてもよい。
【0062】
上記のように、入力信号10の周波数ドメインの変換されたバージョンはオプションのハイパスフィルタ15へ与えられてもよい。(もし与えられるなら)ハイパスフィルタ15の目的は、意図される出力デバイス42により効率的に再生がされないスペクトラムの全ての低い部分を抑制することである。例えば、規定された周波数(例えば50−200Hzの値を持つ)より低い周波数はハイパスフィルタ15によりフィルタして除かれてもよい。なお、特に低音部抽出器14がバスピッチの調和構造の少なくとも一部分を抽出することが望ましいので、低音信号16の周波数スペクトラムとハイパスフィルタ15を通過するスペクトラムの間にはオーバーラップがあってもよい。低音部抽出器14のように、ハイパスフィルタ15(もし備えられるならば)は典型的にはフィルタリング作用(すなわちこの場合は入力信号10の低い周波数成分を抑圧する)を実行する。例えば、所望のフィルタ特性を持つウインドウ関数を変換モジュール12により提供される周波数係数へ直接に適用する。先に示されたように、ハイパスフィルタ15はエネルギーの総量を減らすことができる。例えば、そうでなければ小型ラウドスピーカにおいて消費されるか他のネガティブな影響を生じる。しかし、本発明に拠れば、それは仮想低音システム、処理又は本発明の方法の本質的なあるいは必要な部分でもない。
【0063】
加算器35において、周波数ドメイン仮想低音信号25’は、周波数変換されかつ高域をフィルタされた場合、入力信号と加算される。最後に、モジュール36において、時間ドメインへコンポジット信号を戻す変換をするための逆変換(すなわちモジュール12において実行された変換の逆)が実行される。結果の出力信号40はスピーカや他の出力デバイス42へ供給される前に、追加の処理(例えば、デジタルアナログ変換、2015年9月13日に出願され本願に参照により組み込まれるUS特許出願14/852,576に説明されたラウドネス補正、及び/又は増幅)がされる。あるいはこのような追加の処理のいずれかあるいは全てが入力信号10がシステム5へ提供される前に入力信号10に実行されてもよい。
【0064】
時間ドメインにおける仮想低音の付加
前記時間ドメインにおいて全て動作する、本願の他の実施形態が
図2を参照して主に説明される。以下に詳しく説明されるように、
図2は、システム5について上記に論じられたような、元の信号10より実際は少ない低音の内容を有することができ、しかし、例えば、低音を生成するのに非常に良くないスピーカや他の出力デバイスに対してより適切にするための「仮想低音」が付加された出力オーディオ信号140を生成するために、元の入力オーディオ信号10(通常はデジタル形式)を処理するためのシステム105を説明する。
【0065】
図2を参照すると、最初に低音部抽出器114は、好適にはバンドパスフィルタを使って入力信号10の低周波数部分(例えば人の聴覚の範囲より下の非常に低い周波数部分以外)を抽出する。低音部抽出器14のように、低音部抽出器114の通過帯域は好適には式1で定義され、低音部抽出器114の特性は、低音部抽出器114が時間ドメインで動作する以外は低音部抽出器14の特性と同じである。従来の有限インパルス応答(FIR)又はIIRフィルタが低音部抽出器114に使用されてよい。抽出された低音信号116(又は低音部分)はF0推定器124へ提供される。
【0066】
任意のF0検出アルゴリズムが、追加の複雑さを回避するために基本周波数F0の推定を提供するためのF0推定器により使用することができるが、本実施形態では時間ドメインにおける方法が好ましい。好適なF0検出アルゴリズムは、好適には最小の予想されるF0の少なくとも2倍の期間に相当するサイズを持つ統合ウインドウ(integration window)と呼ばれる指定された数のオーディオサンプルを検査する。F0値が取得された後で、オーディオサンプルは、好ましくは統合ウインドウのその一部(すなわちより小さい)の大きさを持つ、フレームと呼ばれる、サンプルの数により前に進められる。F0推定が頻繁に更新される場合(すなわち、統合ウインドウに比べてフレームサイズが小さい)、ゼロ交差レート(ZCR(zero-crossing rate))法等のシンプルなF0検出方法がリーズナブルな計算負荷を維持するために使用される。他方で、F0推定がめったに更新されない場合は、Kawahara H. de Cheveign, “YIN, a fundamental frequency estimator for speech and music”, J AcoustSoc Am., Apr 2002, 111(4):1917-30によるYIN推定方法のようなより複雑な方法が、より信頼性のある正確なF0を提供するために使用できる。さらに、F0推定器24と同様に、好適にはF0推定器124はオーディオフレーム間のF0推定値の変動を円滑にするためのスムージングメカニズムを使用(同様に又は同じ)し、及び/又は顕著な測定推定及び個々のフレーム内で仮想低音メカニズムをオン及びオフするための対応する閾値(又は類似の又は基準に関連する)を使用する。
【0067】
推定器124により生成されるF0推定値は、好適には前記説明された変換計算器26と同様又は同一の変換計算器126へ提供され、同じ考察が一般的に適用される。変換計算器126の出力(例えばΔ単独又はF
0を伴ってkが)はそれから周波数変換器128及びラウドネスコントロールモジュール129へ提供される。
【0068】
周波数変換器128は、低音信号の調和構造が変更されないようにしながら、計算された正の周波数増分Δによりすべての抽出された低音信号116をラウドスピーカが効率的に音を生成することができる周波数へ変換する。周波数変換器128を実行する簡単な方法はダブルサイドバンド(DSB)変調を使うことである。例えば以下のようである。
【0070】
ここでそれぞれ、nはサンプルインデックス、f
cはキャリア周波数(例えばΔ)、b(n)は抽出された低音信号116、そしてv(n)は結果の仮想低音信号125である。フーリエ変換の変調定理を使用し、仮想低音信号V(f)のスペクトラムを得る。
【0072】
ここで、B(f)は抽出された低音信号116のスペクトラムである。上記のように、仮想低音スペクトラムは、2つのサイドバンド、又はキャリア周波数の両方のサイドバンドにおいて、低音スぺクトラムの周波数がひっくり返された又はミラーコピーされた下サイドバンドも持つ低音スペクトラムの周波数がシフトされたコピー(frequency-shifted copies)から構成される。キャリア周波数が推定されたF0の倍数に設定される場合、両方のサイドバンドは有効な調和構造を維持し、仮想低音スペクトラムB(f)は有効な仮想信号を構成する。
【0073】
キャリア周波数f
cを選択するための他のオプションがある。ひとつは下サイドバンドと上サイドバンドの両方が、ラウドスピーカが効率的に音を作る周波数範囲へ変換されるような値のキャリア周波数f
cを選択することである。この方法は、仮想低音信号125に、低音スペクトラムの2つの周波数がシフトされたコピーがあることをもたらす。下サイドバンドと上サイドバンドなので、仮想低音信号のティンバー(timber)が著しく変更される。別のオプションは、上サイドバンドのみがラウドスピーカが効率的に音を作る周波数範囲へ変換されるような値のキャリア周波数f
cを選択することである。基本低音周波数はF0であるから、好適にはこのようなキャリア周波数が選択される。
f
c=kf
0
これは下サイドバンドがラウドスピーカが効率的に音を作ることができる周波数より下になるようにし、ティンバー(timber)における下サイドバンドの影響を制限される。しかし、この下サイドバンドは過度な熱とコイルの変位とを生み出すので抑制されるべきである。
【0074】
下サイドバンドが抑圧される場合、周波数変換方法の結果はシングルサイドバンド(SSB)変調と呼ばれる。SSB変調への一つの方法は、下サイドバンドをフィルタして取り除くためにバンドパスフィルタを使用することである。このフィルタは好適には抽出された低音信号116のそれと同様又は同じ帯域幅を持つが、その中心周波数は好適には推定されたF0と共に変化する。中心周波数が変動するために、好適には次のような先端を切ったような形の理想バンドパスフィルタ等のFIRフィルタが使用される。
【0076】
ここでNはフィルタ長、M=N/2、f
lとf
hとはそれぞれパスバンドの下端及び上端に相当する周波数である。
【0077】
一般にSSB変調へのより好適なアプローチは、抽出された低音信号116から分析的な信号(analytic signal)を造るためのヒルベルト変換を使用し、その分析的な信号を希望の周波数へ変換し、その実部をとることである。この処理を能率的に実行するための一つのアルゴリズムは
図3に説明される。ヒルベルト変換はFIRフィルタにより近似でき、Parks-McClellanアルゴリズム(David Ernesto Troncoso Romero and Gordana Jovanovic Dolecek, “Digital FIR Hilbert Transformers: Fundamentals and Efficient Design Methods”, chapter 19 in“MATLAB - A Fundamental Tool for Scientific Computing and Engineering Applications- Volume 1”, Prof. Vasilios Katsikis(Ed.), Intech, ISBN:978-953-51-0750-7, InTech, DOI: 10.5772/46451, pp.445-482 (2012))を使って設計できる。IIRフィルタを使う実施については、Scott Wardle, “A Hilbert transformer frequency shifter for audio,”First Workshop on Digital Audio Effects DAFx, 1998を参照されたい。
【0078】
図2に示されるように、抽出された低音信号116と変換計算器126の出力(例えばΔのみ又はF0と一緒にkのいずれか一方)は、好適には前記説明されたラウドネスコントロールモジュール29と同様な機能を提供するが、時間ドメインで動作するラウドネスコントロールモジュール129へ供給される。例えば、本実施形態では、抽出された低音信号116内の電力値の移動平均(sliding average)は次のように計算される。
【0080】
ここで、x(n)は入力サンプル値、Nはブロックサイズ。シンプルな実施形態は低次IIRフィルタを使用することであり、例えば次のような1次IIRフィルタである。
【0082】
ここでαはフィルタ係数でありサンプリング周波数fsと時定数τに関連し、
【0084】
低音信号に対する代表的又は公称周波数は、例えば式1において与えられた制限の算術平均(arithmetic mean)又は次の幾何平均のいずれかを使って計算されてもよい。
【0086】
この代表的又は公称周波数及び計算された低音部の電力(例えば式7又は式8で与えられた)はラウドネスレベルL
Nを得るためにISO226:2003の式2へ差し込まれる(plugged into)。
【0089】
である。
したがって、仮想低音信号125に対する代表的又は公称周波数は上記の制限の算術平均又は幾何平均として計算でき、たとえば、
【0091】
この代表的又は公称の周波数及びラウドネスレベルL
Nは、SPL L
pvを得るためにISO226:2003の式1へ差し込まれ、さらにスケールファクタへ変換される。例えば、
【0093】
前の実施形態では、このスケールファクタは好ましくはユーザ30により修正され得る。この修正を伴っても伴わなくても、スケールファクタsは、所望のボリューム調整された仮想低音信号125’を作るために、仮想低音信号125に加えて乗算器132へ供給される。ラウドネスコントロールモジュール129と乗算器132の組み合わせは総称して「ラウドネスコントローラ」又は「ラウドネスイコライザ」と呼ぶことができる。
【0094】
入力信号10はオプションのハイパスフィルタ115へ供給されてもよい。ハイパスフィルタ15(もし備えられるなら)と同様に、フィルタ115は、好ましくは意図される出力デバイス42により効率的に再生できない入力オーディオ信号10のスペクトラムの全ての低い部分を抑制する。フィルタ115(備えられた場合)の好適な周波数特性はフィルタ15について上記提供されたものと同じである。しかし、フィルタ115(備えられた場合)は時間ドメインで動作する(例えばFIR又はIIRフィルタとして実行される)。
【0095】
フィルタ115(備えられた場合)に続いて、遅延要素134はフィルタされた場合に元のオーディオ信号を、合成された仮想低音信号125’と時間的な整合を取るために遅延する。その後、2つの信号は加算器135で合計される。結果の出力信号140は典型的にはスピーカ又は他の出力デバイス42へ提供される前に追加の処理(例えば、システム5に関して上記で説明されたように)の対象となる。代わりに、システム5と同様に、いずれかのあるいはすべての付加的な処理が入力信号がシステム105へ供給される前に入力信号10に実施されてもよい。
【0096】
システム環境
一般に別のやり方で明確に示された場合を除いて、ここに記載された全てのシステム、方法、機能、テクニックは1以上のプログラム可能な汎用コンピューティングデバイスで実行可能である。このようなデバイス(例えばここで言及されるいずれかの電子デバイス)は、例えば次の互いに、例えば共通バスで互いに結合された構成要素の少なくともいくつかを含むだろう:(1)1以上のセントラルプロセッシングユニット(CPU)、(2)読み出し専用メモリ(ROM)、(3)ランダムアクセスメモリ(RAM)、(4)他の統合された又は取り付けられる記憶デバイス、(5)入力/出力ソフトウェア及び他のデバイスとのインタフェースのための回路(例えば、シリアルポート、パラレルポート、USB接続、ファイアワイヤ接続などの有線接続を使用するもの、又は無線周波数識別(RFID)、任意の近距離無線通信(NFC)プロトコル、ブルートゥース又は802.11プロトコルなどのような無線プロトコルを使用するもの。)、(6)1以上のネットワークを接続するためのソフトウェア及び回路、例えばイーサネットカードなどの有線接続や符号分割多元接続(CDMA)、移動通信のためのグローバルシステム(GSM)、ブルートゥース、802.11プロトコル又は本発明の多くの実施形態におけるネットワークを次々とインターネットや他のネットワークへ接続する他のセルラーベース又はセルラーベースではないシステムなどの無線プロトコル、(7)表示(陰極線管、液晶ディスプレイ、有機発光ディスプレイ、高分子発光ディスプレイ又は他の薄膜ディスプレイなど)、(8)他の出力デバイス(1以上のスピーカ、ヘッドホンセット、レーザー又は他のライトプロジェクター及び/又はプリンタなど)、(9)1以上の入力デバイス(マウス、1以上の物理スイッチ又は可変コントロール、タッチパッド、タブレット、タッチセンシティブディスプレイ又は他のポインティングデバイス、キーボード、キーパッド、マイクロホン及び/又はカメラ又はスキャナなど)、(10)大容量記憶デバイス(ハードディスクドライブ又はソリッドステートドライブなど)、(11)リアルタイムクロック、(12)取り外し可能な読み出し/書き込み記憶デバイス(フラッシュドライブ、半導体メモリを使用する他の携帯ドライブ、磁気ディスク、磁気テープ、光磁気ディスク、光ディスク、またはそのようなものなど)、(13)モデム(例えば、ファックスを送るための、又はインターネット又は他のコンピュータネットワークへ接続するための)。実行中において、上記の方法や機能を実行するための処理ステップは汎用コンピュータによって実行される限りの範囲で、一般には最初に大容量記憶装置(例えば、ハードディスク又はソリッドステートドライブ)に記憶されていて、RAMにダウンロードされて、RAMの外のCPUによって実行される。しかし、ある場合には処理ステップは最初にRAM又はROMに記憶され及び/又は大容量記憶装置から直接実行される。
【0097】
本発明の実行に使用するための適切な汎用プログラマブルデバイスはさまざまなベンダーから取得することができる。さまざまな実施形態において、サイズや作業の複雑さに基づいて異なるタイプのデバイスが使用できる。このようなデバイスは、例えばメインフレームコンピュータ、マルチプロセッサコンピュータ、1以上のサーバボックス、ワークステーション、パーソナル(例えば、デスクトップ、ラップトップ、タブレット又はスレート型)コンピュータ及び/又は、パーソナルデジタルアシスタント(PDA)、ワイヤレス電話(例えばスマートホン)又は他のプログラム可能なアプライアンスやデバイスなどのようなさらにより小さいコンピュータ、スタンドアローン、ネットワークへ有線で接続又はネットワークへ無線で接続するものを含む。
【0098】
加えて、汎用プログラマブルデバイスは上記に記載されるが、別の実施形態において1以上の特殊用途プロセッサ又はコンピュータがかわりに(又はそれに加えて)使用される。一般に、注目すべきは、明確に別のやり方が示されている場合を除き、上記のいずれの機能もソフトウェア及び/又はファームウェアを実行する汎用プロセッサ、専用ハードウェア(論理ベースの)、又は既知の技術のトレードオフに基づいて選択された特定の実施を伴うこれらの方法の組み合わせにより実行することができる。さらに具体的にいうと、上記のいずれの処理及び/又は機能は、固定された、事前に決められた、及び/又は論理的な方法において実行され、プログラミング(ソフトウェア又はファームウェア)を実行するプロセッサ、ロジック構成要素(ハードウェア)の適切な配置、又は当業者により容易に理解できるこの2つの任意の組み合わせにより完遂される。言い換えれば、論理及び/又は計算操作を、プロセッサ内でこのような操作を行うための命令及び/又はこのような操作を行うための論理ゲートの構成へどう変更するかは十分に理解される。実際にコンパイラは一般に変換の両種類に対して利用可能である。
【0099】
本発明は、この発明の方法及び機能を実行するためのソフトウェア又はファームウェアのプログラム命令が記憶された機械可読な有体の(非一時的(non-transitory))媒体に関係することに注意すべきである。このような媒体は、例として磁気ディスク、磁気テープ、CD及びDVDなどの光可読媒体又はさまざまなタイプのメモリカード、USBフラッシュメモリデバイス、ソリッドステートドライブなどの半導体メモリなどを含む。いずれの場合も媒体はミニチュアディスクドライブ又はスモールディスク、ディスケット、カセット、カートリッジ、カード、スティックなどのような携行品の形態をとり得る、又は比較的に大きな又は可動性が少ないハードディスクドライブ、コンピュータ又は他の装置に備えられたROM又はRAMの形態をとり得る。明確に注意されていなければ、ここではコンピュータ可読又は機械可読媒体に記憶されたコンピュータが実行可能な処理ステップへの言及は、このような処理ステップが単一の媒体に記憶された状態と同様にこのような処理ステップが複数の媒体にわたって記憶された状態も包含することを意味する。
【0100】
前の説明は基本的に電子計算機及びデバイスを強調する。しかし、かわりに、基本的論理及び/又は数学的操作を実行可能な電子的な、工学的な、生物的な及び化学的な処理など、その他のコンピューティング又は他のタイプのデバイスが使用されてもよい。
【0101】
さらに明確に範囲を示す場合を除いて、プロセッサ、コンピュータ、サーバ、サーバデバイス、コンピュータ可読媒体又は他の記憶装置、クライアントデバイス、又は他のどんな種類の機械やデバイスへのこの開示の言及は、このようなプロセッサ、コンピュータ、サーバ、サーバデバイス、コンピュータ可読媒体又は他の記憶装置、クライアントデバイス、又は他のこのような機械やデバイスの複数の使用を包含することに注意すべきである。例えば、サーバは一般に単一のデバイス又は適切な負荷バランスを持つサーバデバイス群(特定の場所にある又は地理的に分散する)を使用して実行されるだろう。同様にサーバデバイス及びクライアントデバイスは、例えばそれぞれのデバイスがそれぞれそのような処理ステップの一部分を記憶する記憶装置とそれらの処理ステップを実行する自身のプロセッサを有し、全部の方法の処理ステップを実行するときにしばしば協力する。
【0102】
ここで、用語「結合する(coupled)」、又は単語のその他の形態は直接に接続又は1以上の他の要素又は処理ブロックを通して接続されることを意味することを意図する。それらの図面及び議論において、単一のステップ、モジュール又は処理ブロックはお互いに直接に接続されているとして示され及び/又は議論されるが、このような接続は、付加された要素及び/又は処理ブロックを含んでもよい結合として理解されることに注意されたい。別途明示し、反対に本明細書に特に記載のない限り、本明細書の信号への言及は処理又は未処理のバージョンを意味する。すなわち、説明され及び/又は請求される具体的な処理ステップは排他的であることを意図しない。むしろ、中間の処理が、明示的に説明され又は請求される2つの処理ステップの間に行われ得る。
【0103】
さらなる考慮
前の議論において、用語「操作者(operators)」、「操作(operations)」、「機能(functions)」及び類似の用語は、特定の実行/実施形態に基づいて、方法ステップ又はハードウェア構成要素に言及することができる。
【0104】
明らかに逆を示すのでなければ、「最適な(optimal)」、「最適化する(optimize)」、「最小限にする(minimize)」、「最善の(best)」などの単語は、類似の単語及び他の単語及び接尾辞が比較を示す単語と同様に上記の議論においてそれらの絶対的な意味では使用されない。かわりに、これらの用語はユーザ定義の制約条件、目的及びコストと処理の制約などの任意の他の潜在的な制約に照らして理解されることが意図される。
【0105】
処理ステップ、他のアクション、処理ステップ又はアクションの主体、任意の他の活動やデータをトリガすること、リミットすること、フィルタすること又はその他の影響することを意図する、「基準(criterion)」、「複数の基準」、「状態(condition)」、「複数の状態」又は類似の用語への言及は、単数または複数形が使用されたかどうかにかかわらず「1以上」を意味することを意図する。例えば、どんな基準や状態もアクション、イベント及び/又は事件(例えば、複数の基準や状態)のどんな組み合わせも含むことができる。
【0106】
同様に、上記で議論されたように、機能性は時には特定のモジュール又は構成要素に帰する。しかし、機能性は一般に希望通りに任意の異なるモジュール又は構成要素の間に再配分され得、特定の構成要素又はモジュールの必要を取り除き及び/又は新しい構成要素又はモジュールの追加を求める場合がある。機能性の正確な配分は、望ましくは、本発明の特定の実施形態に関連して、当業者により理解されるような既知の技術のトレードオフにしたがってなされる。
【0107】
上記に議論したように、、単語「含む(include)」、「含む(includes)」、「含んでいる」及びその単語の全ての形態は限定するものとして理解されるべきではなく、このような単語に続くどんな特定のものでも単に例示として理解されるべきである。
【0108】
本発明のいくつもの異なる実施形態が、それぞれのこのような実施形態が特定の特徴を含んでいるとして上記に説明される。しかし、任意の一つの実施形態の議論に関連して説明される特徴はその実施形態に限定されることは意図されておらず、当業者に理解されるように、なお他の実施形態のいずれかにおいてさまざまな組み合わせを含み及び/又は配置されてよい。
【0109】
したがって、本発明は、その例示的な実施形態に関して図面と共に詳細に説明されたが、本発明の趣旨と範囲から離れることなく当業者にはさまざまな翻案及び変更を成し遂げ得ることは明らかである。したがって、本発明は図に示されて上記に説明された実施形態そのものに限定されない。むしろ、本発明の意図から離れない全てのそのような変形はここに添付される請求項によってのみ限定されるものとしてその範囲内として考慮されることが意図される。