JP2011517390A - 音声処理 - Google Patents
音声処理 Download PDFInfo
- Publication number
- JP2011517390A JP2011517390A JP2010550256A JP2010550256A JP2011517390A JP 2011517390 A JP2011517390 A JP 2011517390A JP 2010550256 A JP2010550256 A JP 2010550256A JP 2010550256 A JP2010550256 A JP 2010550256A JP 2011517390 A JP2011517390 A JP 2011517390A
- Authority
- JP
- Japan
- Prior art keywords
- filter
- frequency response
- frequency
- shelving
- gain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 title claims description 72
- 230000004044 response Effects 0.000 claims abstract description 467
- 238000000034 method Methods 0.000 claims abstract description 251
- 230000008569 process Effects 0.000 claims description 77
- 238000012546 transfer Methods 0.000 claims description 73
- 230000008859 change Effects 0.000 claims description 34
- 238000001914 filtration Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 13
- 230000007423 decrease Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 5
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 abstract 1
- 230000006870 function Effects 0.000 description 53
- 238000010586 diagram Methods 0.000 description 30
- 230000015654 memory Effects 0.000 description 29
- 230000000630 rising effect Effects 0.000 description 28
- 230000000694 effects Effects 0.000 description 21
- 230000005236 sound signal Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G3/00—Gain control in amplifiers or frequency changers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G5/00—Tone control or bandwidth control in amplifiers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G5/00—Tone control or bandwidth control in amplifiers
- H03G5/005—Tone control or bandwidth control in amplifiers of digital signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G5/00—Tone control or bandwidth control in amplifiers
- H03G5/02—Manually-operated control
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0294—Variable filters; Programmable filters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R3/00—Circuits for transducers, loudspeakers or microphones
- H04R3/04—Circuits for transducers, loudspeakers or microphones for correcting frequency response
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Tone Control, Compression And Expansion, Limiting Amplitude (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
低コーナ周波数U及び高コーナ周波数f2を有する、音声データ用の所望のシェルビングフィルタを生成する方法である。ここで、所望のシェルビングフィルタの周波数応答のf2におけるゲインとUにおけるゲインとの差は、ゼロでない所望の量に実質的に等しい。この方法は、第1の所定のタイプの第1のシェルビングフィルタについての次数を決定するステップであり、第1のシェルビングフィルタの低コーナ周波数がUであり、第1のシェルビングフィルタの高コーナ周波数がfΣであるステップと、第2の所定のタイプ及び所定の次数mの第2のシェルビングフィルタについて、第2のシェルビングフィルタの低コーナ周波数についての周波数fz及び前記第2のシェルビングフィルタの高コーナ周波数についての周波数Z4を決定するステップであり、hがfi以上であり、f4がf3を超え、f4がfi以下であるステップと、所望のシェルビングフィルタを第1のシェルビングフィルタ及び第2のシェルビングフィルタのフィルタ組合せとして形成するステップとを含み、フィルタ組合せの周波数応答のfeにおけるゲインとフィルタ組合せの周波数応答のfiにおけるゲインとの差が前記所望の量に実質的に等しいようにfz、f4及び第1のシェルビングフィルタの次数が決定される。
【選択図】 図3
【選択図】 図3
Description
本発明は、音声処理、並びに音声処理のための方法及び装置に関する。
音声データのイコライゼーションは、よく知られている。音声イコライザは一般に、3つのカテゴリ、(a)音質調整(ToneControls)、(b)パラメトリックイコライザ、及び(c)グラフィックイコライザのうちの1つに分類される。これらのカテゴリは、よく知られており、したがって以下では簡潔に述べるにとどめる。
音質調整は、非常に少量の処理を用いて、装置による処理から得られる音声周波数応答を上げ下げする。通常、周波数応答の増減は、2つ、場合によっては3つの非常に広い周波数帯域に制限され、これらは、典型的には「低音域(Bass)」、「中音域(Mid)」、及び「高音域(Treble)」と呼ばれる。音質調整は一般に、個々の聴き手が、基本的調整を用いて装置の周波数応答を制御して聴き手個人の好みに合わせることを可能にするために用意される。
パラメトリックイコライザは、しばしば録音及びミキシング中において、少量の処理を用いて単純なバンプ(bump)、ディップ(dip)、シェルフ(shelf)、ハイカットフィルタ、ローカットフィルタなどのエフェクトを生成し、音を修正する。これら個々のオーディオエフェクト(又は音声処理の周波数応答の修正)は、一般に、幾つかの連続的に可変な「パラメータ」によって制御可能である(したがって、その名が「パラメトリックイコライザ」である)。例えば、バンプエフェクトは、以下のパラメータによって制御可能となりやすい。つまり、(i)ゲイン、すなわち周波数応答の増減の量、(ii)中心周波数、すなわちバンプによる周波数応答の増減の大きさが最大となる周波数、(iii)帯域幅(「Q」としても知られるが、このQは帯域幅に反比例する)、すなわちバンプによって影響を受ける周波数の範囲である。パラメータの数が少ないので、パラメトリックイコライザは、一般に、手早く操作して特定の音源に対する所望のエフェクトを実現することができる。しかし、パラメトリックイコライザは、一般に、オーディオ帯域(又はスペクトル)全体にわたって緩やかな音声エフェクトを実現する際は効果的でなく、音場補正又はスピーカ補正のための詳細だが本質的には任意の音声エフェクトを実現する際にも効果的ではない。
グラフィック(又はグラフィカル)イコライザは、前述の音質調整及びパラメトリックイコライザより多くの処理を用いる。グラフィックイコライザは、音声スペクトルを、複数(通常31個又は61個)の公称的に独立し指数的に間隔をあけた所定の周波数帯域に効果的に分割する。次いで、ゲイン制御が、これらの周波数帯域の各々に対して行われる。これらの帯域に対するゲインが垂直フェーダによって制御され、これらのフェーダが、これらのフェーダによって制御される周波数が増加する順に左から右に配置されると、与えられる視覚的印象は、フェーダの位置が、グラフィックイコライザによって作り出される周波数応答をプロットするというものである。グラフィックイコライザは、スピーカ、音場、又は両者の問題などの音の最終的な音響送出の問題を補正するために最もよく用いられる。
グラフィックイコライザは、隣接する周波数帯域間の避けられない相互作用によって主に引き起こされる幾つかの問題を伴っている。例えば、幾つかの隣接するフェーダが、ある周波数範囲にわたって周波数応答を上げ下げするために用いられる場合、結果として得られる周波数応答の変化は、フェーダの位置によって実際に示される変化よりずっと大きい。このため、フェーダを操作するユーザによって意図されるエフェクトを超えた過剰なエフェクトがもたらされる。さらに、幾つかの隣接するフェーダが、このように共に用いられるとき、個々の周波数帯域は、フラットな(又は上げ下げされた)周波数応答を生み出すように滑らかに組み合わせることができない。代わりに、意図しない、主観的に煩わしい周波数応答のリップルが、これらの周波数帯域にわたって作り出される。この結果、広範囲の周波数にわたって問題を有する音場を補正するためにグラフィックイコライザを用いることが困難になる。
さらに(上記の問題とは対極的なことに)、グラフィックイコライザを用いて狭い周波数帯域の周波数応答を補正又は調整することは困難である。グラフィックイコライザを構成する個々のフィルタが、あらかじめ決まった周波数にあるためである。したがって、これら固定の周波数を、ユーザが補正したいと望む特定の周波数に変更することはできない。
さらに、音質調整及びパラメトリックイコライザと比較すると、(多数のフィルタの出力の組合せにより)グラフィックイコライザに固有の処理の量がかなり増加するので、グラフィックイコライザの位相応答は、通常、実際に望ましいものに比べて、ずっと変化が激しい。
したがって、これら問題に対処する改良した音声イコライゼーション及びフィルタリングを提供することが望まれている。
本発明の第1の態様によれば、音声データ用の所望のシェルビングフィルタを生成する方法であって、前記所望のシェルビングフィルタは低コーナ周波数f1及び高コーナ周波数f2を有しており、前記所望のシェルビングフィルタの周波数応答のf2におけるゲインと、前記所望のシェルビングフィルタの周波数応答のf1におけるゲインとの差が、ゼロでない所望の量に実質的に等しく、第1の所定のタイプの第1のシェルビングフィルタの次数を決定するステップであって、該第1のシェルビングフィルタの低コーナ周波数がf1であり、該第1のシェルビングフィルタの高コーナ周波数がf2である、ステップと、第2の所定のタイプ及び所定の次数mの第2のシェルビングフィルタについて、該第2のシェルビングフィルタの低コーナ周波数用の周波数f3、及び該第2のシェルビングフィルタの高コーナ周波数用の周波数f4を決定するステップであって、f3がf1以上であり、f4がf3を超え、f4がf2以下である、ステップと、前記所望のシェルビングフィルタを、前記第1のシェルビングフィルタ及び前記第2のシェルビングフィルタからなるフィルタ組合せとして形成するステップとを含み、前記フィルタ組合せの周波数応答のf2におけるゲインと、前記フィルタ組合せの周波数応答のf1におけるゲインとの差が、前記所望の量に実質的に等しいように、f3、f4、及び前記第1のシェルビングフィルタの前記次数が決定される方法が提供される。
この方法によれば、任意の低コーナ周波数及び任意の高コーナ周波数を有するシェルビングフィルタであって低コーナ周波数と高コーナ周波数の間で周波数応答ゲインに任意の差があるものを指定して生成することが可能になる。これは、次に、例えばそのようなシェルビングフィルタを幾つか組み合わせることによって任意の所望の周波数応答を生成するために有用なフィルタとなる。
本発明の幾つかの実施形態は、mを1に設定する。これにより、より簡単な実装が可能になるとともに、低コーナ周波数及び高コーナ周波数間で、より直線的な周波数応答曲線を得ることができる。
本発明の一実施形態では、前記第1のシェルビングフィルタの次数を決定する前記ステップが、前記第1のシェルビングフィルタの最大次数を決定するステップを含んでおり、ここで、前記第1のシェルビングフィルタに対する前記所望の量の大きさが、前記第1のシェルビングフィルタの周波数応答のf2におけるゲイン及び前記第1のシェルビングフィルタの周波数応答のf1におけるゲイン間の差の大きさを超えている。本発明の別の実施形態では、前記第1のシェルビングフィルタの次数を決定する前記ステップが、前記第1のシェルビングフィルタの最小次数を決定するステップを含んでおり、前記第1のシェルビングフィルタに対する前記所望の量の大きさが、前記第1のシェルビングフィルタの周波数応答のf2におけるゲイン及び前記第1のシェルビングフィルタの周波数応答のf1におけるゲイン間の差の大きさ未満である。これらの実施形態は、適切な第2のシェルビングフィルタを確実に決定できるようにするために役立つ。
本発明の実施形態では、前記所望の量が正である場合、前記第1のシェルビングフィルタの周波数応答のf2におけるゲインが前記第1のシェルビングフィルタの周波数応答のf1におけるゲインを超えるように前記第1のシェルビングフィルタが構成され、前記所望の量が負である場合、前記第1のシェルビングフィルタの周波数応答のf2におけるゲインが、前記第1のシェルビングフィルタの周波数応答のf1におけるゲイン未満となるように、前記第1のシェルビングフィルタが構成される。
本発明の一実施形態では、f3及びf4を決定する前記ステップは、前記第2のシェルビングフィルタの周波数応答のf4におけるゲイン及び前記第2のシェルビングフィルタの周波数応答のf3におけるゲイン間の差が、前記所望の量と、前記第1のシェルビングフィルタの周波数応答のf2におけるゲイン及び前記第1のシェルビングフィルタの周波数応答のf1におけるゲイン間の差との差に実質的に等しいように、f3及びf4を相対的に設定するステップを含む。この実施形態は、第1のシェルビングフィルタと第2のシェルビングフィルタを組み合わせて所望のシェルビングフィルタを形成するときに、所望のシェルビングフィルタが確実に生成されるようにするために役立つ。
低コーナ周波数及び高コーナ周波数並びにそれらの周辺においてコーナ効果(「ウォブル(wobble)」及び不要な曲線)を防ぐのを助けるために、本発明の幾つかの実施形態では、f3〜f4の周波数範囲がf1〜f2の周波数範囲内の実質的に中央に位置するようにf3及びf4が設定される。特に、f4+f3=f2+f1又はf4f3=f2f1であるようにf3及びf4が設定されてもよい。
m=1である一実施形態では、所望の量が正である場合、前記第1のシェルビングフィルタの伝達関数の各零点が、(a)前記第1の所定のタイプに対応するタイプの第1のローパスフィルタであって、カットオフ周波数がf1であり、次数n−1を有する該第1のローパスフィルタの伝達関数の対応する極の位置と、(b)該対応するタイプの第2のローパスフィルタであって、カットオフ周波数がf1であり、次数nを有する該第2のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、前記第1のシェルビングフィルタの伝達関数の各極が、(c)該対応するタイプの第3のローパスフィルタであって、カットオフ周波数がf2であり、次数n−1を有する該第3のローパスフィルタの伝達関数の対応する極の位置と、(d)該対応するタイプの第4のローパスフィルタであって、カットオフ周波数がf2であり、次数nを有する該第4のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する。このように形成されるシェルビングフィルタは、あるシェルビングフィルタから別のシェルビングフィルタに移行できることが望まれるときに、特に有用である。
m=1である一実施形態では、所望の量が負である場合、前記第1のシェルビングフィルタの伝達関数の各極が、(a)前記第1の所定のタイプに対応するタイプの第1のローパスフィルタであって、カットオフ周波数がf1であり、次数n−1を有する該第1のローパスフィルタの伝達関数の対応する極の位置と、(b)該対応するタイプの第2のローパスフィルタであって、カットオフ周波数がf1であり、次数nを有する該第2のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、前記第1のシェルビングフィルタの伝達関数の各零点が、(c)該対応するタイプの第3のローパスフィルタであって、カットオフ周波数がf2であり、次数n−1を有する該第3のローパスフィルタの伝達関数の対応する極の位置と、(d)該対応するタイプの第4のローパスフィルタであって、カットオフ周波数がf2であり、次数nを有する該第4のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する。
本発明の幾つかの実施形態では、ユーザが、f1、f2、及び前記所望の量を指定することができ、それにより、シェルビングフィルタをユーザが全面的に構成できるようになる。
本発明の幾つかの実施形態では、前記第1の所定のタイプ及び前記第2の所定のタイプは、それぞれ、バターワースローパスフィルタ、チェビシェフローパスフィルタ、及び楕円ローパスフィルタのうちの1つのフィルタの特性に基づくフィルタタイプである。この特性には、対応するフィルタタイプのローパスフィルタの伝達関数の零点の位置及び極の位置が含まれていてもよい。前記第1の所定のタイプが、前記第2の所定のタイプと同じであってもよい。
本発明の第2の態様によれば、音声データ用の所望のフィルタを生成する方法が提供される。この方法は、複数の周波数応答インジケータを指定して前記所望のフィルタの所望の周波数応答を定めるステップであって、各前記周波数応答インジケータが、ユーザ定義周波数と、前記所望の周波数応答の、該ユーザ定義周波数における、対応するユーザ定義ゲインとを指定する、ステップと、1つ以上のフィルタからなるフィルタセットを決定するステップであって、前記周波数応答インジケータの各々について、前記フィルタセット中の前記1つ以上のフィルタの組合せの周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインが、該周波数応答インジケータによって指定される前記ゲインに実質的に等しいように、前記フィルタセットを決定するステップとを含む。
このような方法によれば、柔軟性の高い音声イコライザをユーザの特定の要求に従って作成することができる。特に、ユーザは、従来のグラフィックイコライザのように所定の周波数帯域に制限されることはなく、また、幾つかの実施形態では周波数応答インジケータの個数をユーザが定義できるので、そのような所定の周波数帯域の個数に制限されることもない。
本発明の幾つかの実施形態は、ユーザが、前記複数の周波数応答インジケータのうちの1つ以上を定めるステップを含む。
本発明の一実施形態では、前記1つ以上のフィルタからなるフィルタセットを決定するステップが、隣接する周波数応答インジケータの対ごとに、対応するシェルビングフィルタを生成するステップを含んでおり、ここで、前記複数の周波数応答インジケータのいずれもが、ある周波数fAと、fAを超える周波数fBとの間の周波数を指定しない場合、fAを指定する周波数応答インジケータと、fBを指定する別の周波数応答インジケータとが隣接している。
特に、この方法は、各前記周波数応答インジケータについて、対応する目標ゲインを保持するステップを含んでいてもよく、周波数fAを指定する第1の周波数応答インジケータ及びfAを超える周波数fBを指定する、隣接する第2の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、前記シェルビングフィルタを生成するステップが、本発明の上記第1の態様の方法を実行するステップを含み、f1がfAに基づいており、f2がfBに基づいており、前記所望の量が、前記第2の周波数応答インジケータに対応する目標ゲインと前記第1の周波数応答インジケータに対応する目標ゲインとの差であるように設定される。この方法は、各目標ゲインを、対応する周波数応答インジケータによって指定されるゲインに初期化するステップを含んでいてもよい。
これらの実施形態において、この方法は、第1の周波数応答インジケータ及び隣接する第2の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップの前に、該シェルビングフィルタの次数が所定の最大閾値を超過するか否かを判断し、超過する場合は、前記第1の周波数応答インジケータに対応する前記目標ゲイン及び前記第2の周波数応答インジケータに対応する前記目標ゲインの一方又は両方を調整して、該シェルビングフィルタの前記次数を減少させるステップを含んでもよい。これは、生成されるシェルビングフィルタの次数が大きくなり過ぎず、それにより過度の電力消費、ハードウェア利用、処理時間、及び遅延が防止されることを確実にするために役立つ。
これらの実施形態の幾つかにおいて、周波数fAを指定する第1の周波数応答インジケータ及びfAを超える周波数fBを指定する、隣接する第2の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、本発明の第1の態様の方法を実行して該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップが、f1をfAに等しく設定するステップ、及びf2をfBに等しく設定するステップを含んでいる。
この他に、これらの実施形態の幾つかにおいて、この方法は、隣接する前記周波数応答インジケータの対ごとに、対応する周波数比例値を保持するステップを含み、周波数fAを指定する第1の周波数応答インジケータ及びfAを超える周波数fBを指定する、隣接する第2の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、本発明の上記第1の態様の方法を実行して該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップが、fA、fB、及び前記対応する周波数比例値に基づいて、f1及びf2を決定するステップを含む。特に、f1及びf2は、f2−f1=h(fB−fA)又はf2/f1=(fB/fA)hであってもよい。ここで、hは、該一対の隣接する周波数応答インジケータに対応する前記周波数比例値である。
この場合、f1〜f2の範囲は、fA〜fBの範囲の実質的に中央に位置していてもよく、例えば、f1及びf2は、f2+f1=fB+fA又はf2f1=fAfBであるように決定されてもよい。
本発明の幾つかの実施形態は、第1の周波数応答インジケータ及び隣接する第2の周波数応答インジケータからなる一対の隣接する周波数応答インジケータについて、該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップの前に、該シェルビングフィルタの次数が所定の最大閾値を超過するか否かを判断し、超過する場合は、該一対の隣接する周波数応答インジケータに対応する前記周波数比例値を増加させて、該シェルビングフィルタの前記次数を減少させるステップを含んでいてもよい。これらの実施形態の幾つかは、前記周波数比例値が、所定の最大周波数比例値を超えて増加することができないように構成されていてもよい。
各周波数比例値は、対応する初期値に初期化されてもよく、この対応する初期値は、好ましくは、約1/3〜約1/2の範囲内である。
次に、本発明の幾つかの実施形態は、前記1つ以上のフィルタからなるフィルタセットを生成する前記ステップの後に、1回以上の反復を実行するステップを含み、1つの該反復が、前記目標ゲインのうちの1つ以上を調整するステップと、調整した前記目標ゲインを用いて前記生成するステップを繰り返して、前記1つ以上のフィルタからなるフィルタセットを更新するステップとを含み、前記調整するステップは、前記所望の周波数応答と、更新された前記フィルタセットにおける前記1つ以上のフィルタの組合せの前記周波数応答との間の誤差が、前記所望の周波数応答と、更新される前の前記フィルタセットにおける前記1つ以上のフィルタの組合せの周波数応答との間の誤差未満であるように、前記目標ゲインのうちの1つ以上を調整するステップを含んでいてもよい。
このような実施形態は、所定の最大回数以下の反復を実行するステップを含んでいてもよい。これにより、所望のフィルタが限られた時間内に確実に生成されるようになる。これは、リアルタイムの音声処理用途に特に有用である。
これらの反復の各々は、前記所望の周波数応答と、前記フィルタセットにおける前記1つ以上のフィルタの組合せの前記周波数応答との間の誤差を決定するステップを含んでいてもよく、前記1回以上の反復を実行するステップは、決定した前記誤差が所定の誤差閾値未満である場合に終了する。これにより、やはり所望のフィルタが限られた時間内に確実に生成されるようになり(この場合は、生成されたフィルタセットが所望の周波数応答に十分に近い周波数応答を有するときである)、これは、リアルタイムの音声処理用途に特に有用である。前記誤差を決定するステップは、前記周波数応答インジケータごとに、前記所望の周波数応答のゲインと、前記フィルタセットにおける前記フィルタの組合せの周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインとの差を決定するステップと、決定された前記差に基づいて前記誤差を決定するステップとを含んでいてもよい。
本発明の幾つかの実施形態では、一つの前記周波数応答インジケータに対応する目標ゲインを調整する前記ステップが、前記フィルタセットにおける前記フィルタの組合せの周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインと該周波数応答インジケータによって指定される前記ゲインとの差を前記目標ゲインから減じるステップを含んでいる。
本発明の幾つかの実施形態は、ユーザが、ゲインスケールファクタを指定するステップと、前記周波数応答インジケータごとに、該周波数応答インジケータによって指定されるゲインを、指定された前記ゲインスケールファクタによってスケーリングするステップとを含んでいる。これは、ユーザが周波数応答インジケータを介して指定した所望の周波数応答の全体的な強度を容易に制御する機構をユーザに提供する。
本発明の第3の態様によれば、音声フィルタを実装する方法が提供される。ここで、前記音声フィルタの伝達関数は、2s個の複素数零点及び2s個の複素数極を有している。この方法は、s個の2次フィルタセクションを形成するステップであって、1≦i≦sの範囲内の各整数iについて、i番目の該2次フィルタセクションが、(a)前記音声フィルタの伝達関数の前記複素数零点であって、対応する複素共役零点と共に、単位円にi番目に近い、前記音声フィルタの伝達関数の複素数零点及び対応する複素共役零点の対をなす複素数零点と、(b)前記音声フィルタの伝達関数の前記複素数極であって、対応する複素共役極と共に、前記単位円に前記i番目に近い、前記音声フィルタの伝達関数の複素数極及び対応する複素共役極の対をなす複素数極とに基づくように、前記s個の2次フィルタセクションを形成するステップを含んでいる。
本発明の第4の態様によれば、第1の音声フィルタを用いた音声データのフィルタリングから第2の音声フィルタを用いた前記音声データのフィルタリングへ変更する方法が提供される。ここで、前記第1の音声フィルタの伝達関数は、2s個の複素数零点及び2s個の複素数極を有し、前記第2の音声フィルタの伝達関数は、2t個の複素数零点及び2t個の複素数極を有している。この方法は、s個の2次フィルタセクションを用いて第1のフィルタを形成するステップであって、1≦i≦sの範囲内の各整数iについて、i番目の該2次フィルタセクションが、(a)前記第1の音声フィルタの伝達関数の前記複素数零点であって、対応する複素共役零点と共に、単位円にi番目に近い、前記第1の音声フィルタの伝達関数の複素数零点及び対応する複素共役零点の対をなす複素数零点と、(b)前記第1の音声フィルタの伝達関数の前記複素数極であって、前記対応する複素共役極と共に、前記単位円にi番目に近い、前記第1の音声フィルタの伝達関数の複素数極及び対応する複素共役極の対をなす複素数極とに基づいている、ステップと、t個の2次フィルタセクションを用いて前記第2のフィルタを形成するステップであって、1≦j≦tの範囲内の各整数jについて、j番目の該2次フィルタセクションが、(c)前記第2の音声フィルタの伝達関数の前記複素数零点であって、対応する複素共役零点と共に、単位円にj番目に近い、前記第2の音声フィルタの伝達関数の複素数零点及び対応する複素共役零点の対をなす複素数零点と、(d)前記第2の音声フィルタの伝達関数の前記複素数極であって、前記対応する複素共役極と共に、前記単位円にj番目に近い、前記第2の音声フィルタの伝達関数の複素数極及び対応する複素共役極の対をなす複素数極とに基づいている、ステップと、1≦k≦minimum(s,t)の範囲内の各整数kについて、前記第2の音声フィルタのk番目の2次フィルタセクション用の状態変数の値を、前記第1の音声フィルタのk番目の2次フィルタセクション用の対応する状態変数の値に設定するステップとを含んでいる。
本発明の第3の態様により形成される音声フィルタを使用すると、本発明の第4の態様の方法を使用することが可能になる。あるフィルタから別なフィルタに移行するそのような構成は、フィルタ間の移行期中に導入され得る音声ノイズの量を最小限に抑えるために役立つ。
本発明の一実施形態において、この方法は、tがsより大きい場合に、s+1≦r≦tの範囲内の各整数rについて、前記第2の音声フィルタのr番目の2次フィルタセクション用の状態変数を値0に初期化するステップと、前記第1の音声フィルタを用いた前記音声データのフィルタリングから前記第2の音声フィルタを用いた前記音声データのフィルタリングへの変更が開始した後の所定の時間にわたって、音声入力を前記第2の音声フィルタのr番目の2次フィルタセクションに供給するステップと、前記所定の時間の後、前記第2の音声フィルタの前記r番目の2次フィルタセクションの使用を開始して、前記音声データをフィルタリングするステップと、を含んでいる。
本発明の第5の態様によれば、音声データを処理する方法であって、第1の所望のフィルタを前記音声データに適用することによって前記音声データをフィルタリングするステップを含み、前記第1の所望のフィルタが、所望のフィルタを生成する上記の方法に従った方法によって生成されるフィルタである、方法が提供される。この方法は、前記音声データのフィルタリングを、前記第1の所望のフィルタを前記音声データに適用することから、第2の所望のフィルタを前記音声データに適用することへ変更するステップを含んでいてもよく、ここで、前記第2の所望のフィルタは、フィルタを生成する上記の方法に従った方法によって生成されるフィルタである。
前記第1の所望のフィルタ及び前記第2の所望のフィルタが、複数の周波数応答インジケータを指定することに基づいた方法によって生成されるとき、この方法は、複数の周波数応答インジケータを指定して前記第1の所望のフィルタを生成するステップと、前記複数の周波数応答インジケータを更新するステップと、更新された前記複数の周波数応答インジケータに基づいて前記第2の所望のフィルタを生成するステップとを含んでいてもよい。
本発明の幾つかの実施形態では、前記変更するステップが、第1の音声フィルタを用いた音声データのフィルタリングから第2の音声フィルタを用いた音声データのフィルタリングへ変更する前述の本発明の第4の態様に係る方法を実行するステップを含んでいる。
本発明の第6の態様によれば、音声データを処理するプロセッサを構成する方法であって、フィルタを生成する上記の方法のいずれか1つに従った方法を実行することによって前記音声データ用の所望のフィルタを生成するステップと、生成した前記フィルタを用いて前記音声データを処理するように前記プロセッサを構成するステップとを含む方法が提供される。
本発明の第7の態様によれば、所望の音声フィルタを生成する装置であって、フィルタを生成する前述の方法のいずれか1つに従った方法を実行することによって音声データ用の所望のフィルタを生成するように構成されたプロセッサを備える装置が提供される。
本発明の第8の態様によれば、音声データを処理する装置であって、音声データを処理する上記の方法のいずれか1つを実行することによって音声データを処理するように構成されたプロセッサと、処理のために音声データを前記プロセッサに供給する手段とを備える装置が提供される。このプロセッサは、所望のフィルタ生成する上記の方法のいずれか1つ実行することによって、前記音声データを処理する所望のフィルタを生成するように構成されていてもよい。
本発明の第9の態様によれば、所望の音声フィルタを生成する上記の方法のいずれか1つによって生成される音声フィルタが提供される。
本発明の第10の態様によれば、コンピュータによって実行されると、上記の方法のいずれか1つに従った方法を実行するコンピュータプログラムが提供される。このコンピュータプログラムは、データ運搬媒体で運搬されてもよく、この媒体は、記憶媒体又は伝送媒体であってもよい。
以下では、本発明の実施形態を、あくまで例示として、添付図面を参照しながら説明する。
と、極p1・・・ps及びそれらの複素共役極
を示す概略図である。
以下の説明及び各図において、本発明のいくらかの実施形態を説明する。しかし、本発明は、説明される実施形態に限定されず、ある実施形態は、以下に説明する特徴の全てを含まなくてもよいことが理解されよう。しかし、添付の特許請求の範囲に記載の本発明の上位の範囲から逸脱することなく、本明細書において様々な修正及び変更がなされてもよいことは明らかであろう。
(1)システムの概要
図1は、本発明の一実施形態によるシステム100の概略図である。システム100は装置102を備えており、この装置102自体は、音声インタフェース104と、データインタフェース106と、ユーザ入力インタフェース108と、メモリ110と、グラフィカルインタフェース112と、プロセッサ114とを備えている。装置102は、音声処理を実行する任意のタイプの装置であってもよい。例えば、装置102は、標準的なパーソナルコンピュータであってもよい。この他に、装置102は、専用の音声処理装置であってもよい。
図1は、本発明の一実施形態によるシステム100の概略図である。システム100は装置102を備えており、この装置102自体は、音声インタフェース104と、データインタフェース106と、ユーザ入力インタフェース108と、メモリ110と、グラフィカルインタフェース112と、プロセッサ114とを備えている。装置102は、音声処理を実行する任意のタイプの装置であってもよい。例えば、装置102は、標準的なパーソナルコンピュータであってもよい。この他に、装置102は、専用の音声処理装置であってもよい。
プロセッサ114は、本発明の一実施形態による方法を実行するように構成されている(そのような方法は、後で詳細に説明する)。この構成を実現するために、プロセッサ114は、そのような方法を実行するために特に製造及び構成された1つ以上のフィールドプログラマブルゲートアレイ(FPGA:field−programmable−gate−array)、及び/又は特定用途向け集積回路(ASIC)などのハードウェア装置を備えていてもよい。プロセッサ114は、本発明の一実施形態による方法を実行するために特に構成されたデジタル信号プロセッサ(DSP)チップであってもよい。
この他に、本発明の一実施形態による方法を実行するために、プロセッサ114は、この方法を実行するためのプログラム命令を自ら含むコンピュータプログラムを実行することの可能な、より汎用のプロセッサであってもよい。このコンピュータプログラムは、本発明の一実施形態を実行する特定の自己完結型(self−contained)実行可能アプリケーションであってもよい。この他に、コンピュータプログラムは、より汎用の音声処理ソフトウェアアプリケーションのための(ダイナミックリンクライブラリ、すなわちDLLなどの)プラグインとして構成されてもよく、このプラグインは、その汎用の音声処理ソフトウェアアプリケーションに本発明の一実施形態に係る機能を追加する。プラグインを生成及び使用する方法は周知である。
メモリ110は、本発明の一実施形態を実行するときにプロセッサ114によって使用されるデータを記憶するための任意のタイプのメモリとすることができる。幾つかの実施形態では、メモリ110は、それ自体でプロセッサ114の一部を形成する。メモリ110は、リードオンリメモリであってもよく、その場合には、プロセッサ114は、メモリ110からデータを読み取ることができるが、メモリ110にデータを書き込むことができないように構成される。この他に、プロセッサ114を、メモリ110からのデータの読取りとメモリ110へのデータの書込みの両方が可能であるように構成して、メモリ110をランダムアクセスメモリとしてもよい。
メモリ110は、本発明の一実施形態による方法を実行するためのプログラム命令を含むコンピュータプログラムの全部又は一部を記憶することができ、この場合、プロセッサ114は、このコンピュータプログラムを読み取り、実行して本発明の一実施形態を実行するように構成される。メモリ110は、構成データ(例えば、後述するように、音声フィルタについての所望の周波数応答に関する情報)を記憶することができる。メモリ110は、プロセッサ114によって処理(フィルタリング又はイコライジング)される音声データを記憶することができる。プロセッサ114は、その処理の出力(例えば、プロセッサ114が生成したフィルタに関するフィルタ係数や、プロセッサ114が処理した音声データ)並びにプロセッサ114の処理から得られる中間データ及び結果の一方又は両方を記憶するためにメモリ110を用いることもできる。
データインタフェース106は、任意のインタフェースであってもよく、このインタフェース106を通じてプロセッサ114は、データを受信、及び/又はデータを出力/伝送することができる。例えば、データインタフェース106は、磁気記憶媒体(ハードディスクドライブなど)からデータを読み取り、及び/又は磁気記憶媒体にデータを書き込む磁気媒体リーダ及び/又はライタ、CD−ROM、DVD−ROM、若しくはBluRayディスクなどの光記憶媒体からデータを読み取り、及び/又はそれらにデータを書き込む光媒体リーダ及び/又はライタ、固体メモリデバイス(フラッシュメモリデバイスなど)からデータを読み取り、及び/又は固体メモリデバイスにデータを書き込む固体メモリデバイスインタフェース、並びにネットワーク(インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、都市規模ネットワークなど)を通じてコンピュータからデータを受信、及び/又はネットワークを通じてコンピュータにデータを伝送するためのネットワークインタフェースのうちの1つ以上を有していてもよい。このように、プロセッサ114は、1つ以上のソースからデジタルデータを受信することができると共に、デジタルデータを1つ以上の宛先に出力することができる。データインタフェース106を介して受信されるデータは、メモリ110に直接記憶されてもよく、或いは、まず、処理のためにプロセッサ114に渡され、及び/又は続いてメモリ110に記憶されてもよい。さらに、データインタフェース106は、記憶媒体に出力又は記憶するために、メモリ110から直接か、あるいはプロセッサ114からデータを受信してもよい。
プロセッサ114が、本発明の一実施形態による方法を実行するためのプログラム命令を含むコンピュータプログラムを使用する場合、プロセッサ114は、ソースからデータインタフェース106を介してコンピュータプログラムを受信してもよい。構成データ(例えば、後述するように、音声フィルタについての所望の周波数応答に関する情報)又は処理を実行するための指令は、データインタフェース106を介して受信することもできる。さらに、プロセッサ114によって処理(フィルタリング又はイコライジング)される音声データは、データインタフェース106を介して(例えば、1つ以上の音声データファイル又は音声データストリームとして)受信されてもよい。プロセッサ114は、記憶又は伝送のためにデータインタフェース106を介してプロセッサ114の処理の結果(プロセッサ114が生成したフィルタ係数や、プロセッサ114が作り出した音声データファイル又は音声データストリームなど)を出力してもよい。
プロセッサ114は、音声インタフェース104から音声データを受信するようにも構成される。音声インタフェース104は、音声信号(生録音又は予め録音された音声信号等、例えば、図1に示されていない1つ以上のマイクロフォン及び/又は1つ以上のオーディオ再生装置からの音声信号)を受信するように構成された任意のインタフェースであってもよい。これらの音声信号の一部は、デジタル形式で受信されてもよい。この他に、これらの音声信号の一部は、アナログ形式で受信されてもよく、その場合、プロセッサ114が、デジタル処理を実行するように構成されるのであれば、音声インタフェース104は、アナログ/デジタル変換を実行して対応するデジタル音声データを生成するように構成されてもよい。音声インタフェース104は、処理のために入力音声信号をプロセッサ114に単に渡すように構成されてもよく、又は音声インタフェース104は、記憶のために音声データをメモリ110に書き込むように構成されてもよく、それにより続いてプロセッサ114は、記憶した音声データを処理することができる。さらに、処理した音声データは、メモリ110又はプロセッサ114自体から音声インタフェース104を介して出力(例えば、図1に示されていないスピーカ又はオーディオ録音装置に出力)されてもよい。この場合、音声インタフェース104は、デジタル音声データをアナログ音声信号として、例えばスピーカに出力するために、デジタル/アナログ変換を実行するように構成されてもよい。
プロセッサ114は、ユーザインタフェース108を介してユーザから受信した入力に従って処理を実行してもよい。ユーザインタフェース108は、キーボード116及びマウス118などの1つ以上のユーザ入力装置から入力信号を受信するが、本技術分野でよく知られているような他の形態の入力装置が、用いられてもよいことが理解されよう。次いで、ユーザインタフェース108は、プロセッサ114にこれら入力信号を通知し、それにより次いで、プロセッサ114は、それに応じてユーザからの入力に応答することができる。
プロセッサ114は、グラフィカルインタフェース112にも通じており、このグラフィカルインタフェース112が、(スクリーン又はモニタなどの)ディスプレイ120を制御する。プロセッサ114は、グラフィカルインタフェース112を命令して、ディスプレイ120を介して視覚的表示を出力するように構成される。このことは、図3を参照して以下により詳細に説明することにする。次いで、グラフィカルインタフェース112は、それに応じて視覚的表示を出力する。さらに、ディスプレイ120は、タッチセンサー式であってもよく、或いは、ユーザがプロセッサ114に入力を与えることを可能にする他の手段を備えていてもよく、それにより、プロセッサ114が、ユーザインタフェース108に加えて、或いはユーザインタフェース108に代えて、ディスプレイ120を介して指令及び/又は構成データを受け取ることができるようになっていてもよい。
システム100は、上述の要素の全てを含む必要はなく、システム100の様々な要素は、特定の所望のシステム構成に従って設けられても省かれてもよいことが理解されよう。例えば、音声データが、データインタフェース106を介してのみ受信される場合、システム100は、音声インタフェース104を省いてもよく、その逆もある。さらなる一例としては、構成データ(処理のための所望の周波数応答など)が、ユーザ入力によってユーザインタフェース108を介して受信されることになる場合、システム100は、そのようなデータをデータインタフェース106又はディスプレイ120を介して受信しないように構成されてもよい。
さらに、システム100は、単一の装置102によって形成されてもよく、又はシステム100は、互いに接続された複数の別個の装置から形成されてもよく、各装置102は、システム100の特徴のうちの1つ以上に寄与することが理解されよう。例えば、以下の通りである。
(i)第1のシステム100aは、専用の音声処理装置から形成することができる。この装置は、音声インタフェース104aと、メモリ110aと、プロセッサ114a(例えば、DSPチップの形態のもの)とを備えていてもよい。プロセッサ114aは、音声インタフェース104aを介して受信された音声データを処理し、音声インタフェース104aを介して処理した音声を出力するように構成されていてもよい。音声データの処理は、本発明の一実施形態によりデータをフィルタリングすることを伴ってもよい(これについては後述する)。第1のシステム100aは、例えば、スタジアム、コンサートホール等においてそのような会場で音を処理するために設置されるシステムであり得る。システム100aは、システム100aが実行する音声処理の構成をユーザが変えることを可能にする手段又は機能を欠いていてもよい。
(ii)第2のシステム100bは、汎用コンピュータから形成することができる。このコンピュータが、ユーザの要求に従ってフィルタを決定すると共にフィルタ係数を決定する本発明の一実施形態を実行するように構成されてもよい(これについては、後でより詳細に説明する)。しかし、第2のシステム100bは、第2のシステム100bが生成したフィルタ及びフィルタ係数に従って音声データの処理を実行するように構成されても、されなくてもよい。
(iii)第3のシステム100cは、上記第1のシステム100aと上記第2のシステム100bを結合することによって形成することができる。このように、第2のシステム100bを使用してフィルタ係数を生成し、次いで、その生成したフィルタ係数を用いて第1のシステム100aを構成することができる。したがって、例えば、オーディオ技術者が、会場を訪問し、該会場で音声を処理するために第1のシステム100aを会場に設置してもよい。オーディオ技術者は、第2のシステム100b(例えば、ラップトップコンピュータ)を携帯し、それに応じて第2のシステム100bを用いて第1のシステム100aを構成してもよい。これが完了したら、第2のシステム100bを第1のシステム100aから切り離し、第1のシステム100aに与えられた構成に従って音声を処理するよう第1のシステム100aに委ねてもよい。したがって、この第3のシステム100cでは、様々な構成要素(メモリ110及びプロセッサ114など)は、複数の別個の構成要素(第1及び第2のシステムのそれぞれのメモリ及びプロセッサなど)から形成されてもよい。
(2)図1のシステムの処理の概要
図2は、本発明の一実施形態のプロセッサ114によって実行される処理200の概要を概略的に示すフローチャートである。
図2は、本発明の一実施形態のプロセッサ114によって実行される処理200の概要を概略的に示すフローチャートである。
処理200は、1つ以上の周波数応答インジケータのセットを利用する。周波数応答インジケータは、(i)ユーザ定義周波数と、(ii)所望の周波数応答の、該ユーザ定義周波数における、対応する所望のユーザ定義ゲイン(正、負又はゼロ)とを指定するデータである。ここで、所望の周波数応答は、指示され(又は定められ、又は指定され)てもよく、すなわち、周波数応答インジケータは、後続の音声処理のための所望の周波数応答を定める。
ステップS202では、周波数応答インジケータのセットが初期化される。これは、例えば、周波数応答インジケータのセットが初めに空であるように周波数応答インジケータがないように設定することであってもよい。この他に、プロセッサには、1つ以上の初期の周波数応答インジケータを指定する構成データが(上述のような方法で、例えば記憶媒体から、或いはネットワークを介して遠隔のコンピュータから)与えられていてもよい。ユーザが周波数応答インジケータを指定することを可能にするためのグラフィカルユーザインタフェースは、図3を参照して後で述べることにする。
次いで、ステップS204では、1つ以上のフィルタのセットが、以下のことを目指して決定される。すなわち、周波数応答インジケータのセットにおける各周波数応答インジケータについて、この決定されたフィルタセットにおけるフィルタの組合せから得られる周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインが、該周波数応答インジケータによって指定される、対応する所望のゲインと実質的に同じであることを目指す。フィルタのセットを決定する方法は、後で説明することにする。
次いで、プロセッサ114は、決定されたフィルタセット中のフィルタに対応するフィルタ係数を決定してもよい。プロセッサ114は、(例えば、以下に説明するステップS206で用いるために)メモリ110にこれらの係数を記憶し、且つ/又は、記憶媒体への記憶及び/又は別のコンピュータへの伝送のためにデータインタフェース106を介してこれらの係数を出力してもよい。
このとき、ステップS204で生成されたセットのフィルタの組合せは、音声データへの適用に適した無限インパルス応答フィルタである。
プロセッサ114は、図2の処理200中にステップS204で生成されたフィルタのセットを用いて音声データを処理するように構成されていてもよく、その場合、ユーザが周波数応答インジケータのセットを設定及び更新して、音声データに対するエフェクトを聴くことができる。これは、例えば、所望のエフェクトを生成するために周波数応答インジケータを試験するときや、生の音声供給を処理するときに用いてもよい。こうして、任意的なステップS206において、プロセッサ114は、ステップS204で生成されたフィルタのセットを音声データに適用する。フィルタを音声データに適用する方法は、よく知られており、本明細書ではより詳細に説明しないものとする。上述のように、フィルタが適用される音声データは、メモリ110にすでに記憶されていてもよく、或いは音声インタフェース104又はデータインタフェース106を介して受け取ったものでもよい。処理された音声データは、その後、メモリ110に記憶されてもよい。処理された音声データは、音声インタフェース104及び/又はデータインタフェース106を介して出力及び/又は記憶されてもよい。
ステップS208では、周波数応答インジケータのセットが、周波数応答インジケータの新しいセットを指定するように更新される。この更新は、例えば、ユーザが実行してもよい。この更新は、(i)周波数応答インジケータの個数の変更(例えば、1つ以上の新しい周波数応答インジケータの追加、及び/又は1つ以上の既存の周波数応答インジケータの削除によるもの)、及び/又は(ii)周波数応答インジケータのうちの1つ以上に対応する周波数値の変更、及び/又は(iii)周波数応答インジケータのうちの1つ以上に対応するゲイン値の変更を伴ってもよい。更新を行う方法についても、後でより詳細に説明する。
次いで、処理はステップS204に戻り、更新された周波数応答インジケータのセットに基づいてフィルタのセットが生成される。次いで、ステップS206で、プロセッサ114は、従前のフィルタのセットを音声データに適用することから、新たに生成したフィルタのセットを音声データに適用することに移行する。この移行を実行する方法は、後でより詳細に説明する。
(3)グラフィカルユーザインタフェース
図3は、本発明の一実施形態に従ってディスプレイ120上でプロセッサ114によってユーザに与えられる一例のグラフィカルユーザインタフェース(GUI)300の概略図である。このGUI300は、図2のステップS202において周波数応答インジケータを指定し、また、図2のステップS208において周波数応答インジケータを更新するために用いてもよい。
図3は、本発明の一実施形態に従ってディスプレイ120上でプロセッサ114によってユーザに与えられる一例のグラフィカルユーザインタフェース(GUI)300の概略図である。このGUI300は、図2のステップS202において周波数応答インジケータを指定し、また、図2のステップS208において周波数応答インジケータを更新するために用いてもよい。
本発明の他の実施形態は、図3に示すGUI300に表示される特徴の一部を省略、及び/又はGUI300に追加の特徴を包含してもよいことが理解されよう。
GUI300は、図2のステップS204で生成されたフィルタセットの周波数応答のグラフ301、すなわちプロットを表示する。グラフ301の横軸は、対数周波数を表し、グラフ301の縦軸は、デシベル単位で測定されたゲイン(或いは、生成されたフィルタセットの適用による音声信号の出力の変化の大きさ又は規模)を表す。しかしながら、他の測定単位を代わりに用いてもよいことは理解できるだろう。
GUI300は、ユーザが、複数の周波数応答インジケータ302のセットを定める、又は指定することを可能にする。各周波数応答インジケータ302は、ユーザ定義周波数と、所望の周波数応答の、該ユーザ定義周波数における、対応する所望のユーザ定義ゲインを指定する。言い換えれば、各周波数応答インジケータ302は、所望の周波数応答が通過することをユーザが望むグラフ301上の点を特定する。周波数応答インジケータ302は、ハンドル(handle)、又はポインタとしてGUI300上に表示される。
GUI300は、ユーザが、周波数応答インジケータ302を追加又は除去することを可能にする。したがって、用いられる周波数応答インジケータ302の個数は、ユーザが決定することができる。さらに、GUI300は、ユーザが、横(対数周波数)軸及び縦(ゲイン)軸のどちらに沿っても既存の周波数応答インジケータ302を移動させることを可能にする。したがって、周波数応答インジケータ302に関連した周波数とゲインは共に、ユーザが設定することができる。特に、周波数応答インジケータ302についての周波数は、所定の有限の周波数のセットからの周波数に制限されない。
ユーザは、幾つかの方式で周波数応答インジケータ302を追加、調整又は削除することができる。例えば、ユーザは、キーボード116及び/又はマウス118及び/又はタッチセンサー式ディスプレイ120を用いてグラフ301上の位置を選択し、それによって、グラフ301上の選択した位置の対応する周波数及びゲインを指定する新しい周波数応答インジケータ302を生成することができる。ユーザは、キーボード116及び/又はマウス118及び/又はタッチセンサー式ディスプレイ120を用いて既存の周波数応答インジケータ302を選択し、次いで該周波数応答インジケータ302をグラフ301上の新しい位置に移動/ドラッグして、それに応じて選択した周波数応答インジケータ302を調整することができる。
この他に、ユーザは、周波数入力ボックス306及びゲイン入力ボックス308を用いて、(数値を入力することにより)周波数及び所望のゲインをそれぞれ指定してもよい。したがって、ディスプレイ120の解像度は、ユーザが周波数応答インジケータ302を設定するときの精度を制限しない。その場合、ボタン310をGUI300上に設け、そのボタン310がユーザによって選択されると、周波数入力ボックス306及びゲイン入力ボックス308に打ち込まれた周波数及びゲインに基づいて新しい周波数応答インジケータ302を生成するようになっていてもよい。ユーザが、周波数応答インジケータ302を選択すると、GUI300は、周波数入力ボックス306及びゲイン入力ボックス308に、該選択した周波数応答インジケータ302についての対応する周波数及びゲインを表示させることができる。次いで、ユーザは、表示した周波数及び/又はゲインを変更し、次いで、該選択した周波数応答インジケータ302を設定(又は調整)するGUI300上に設けられたボタン312を用いることにより、その周波数及びゲインが、周波数入力ボックス306及びゲイン入力ボックス308に打ち込まれた周波数及びゲインであるようにすることができる。
周波数応答インジケータ302は、ユーザが、キーボード116及び/又はマウス118及び/又はタッチセンサー式ディスプレイ120を用いて該周波数応答インジケータ302を選択し、次いでキーボード116の削除キーを押し、又はGUI300上に設けられた削除ボタン314を選択することによって、削除することができる。
GUI300は、ユーザが、それら周波数応答インジケータ302を1つにグループ化するように複数の周波数応答インジケータ302を選択することを可能にすることもできる。この場合、複数の周波数応答インジケータ302からなるこの選択したグループは、その後、共に削除し、或いは(例えば、周波数を変更するために横方向、及び/又は対応するゲインを変更するために縦方向に、周波数応答インジケータ302の全てを1つのグループとして移動することによって)共に調整することが可能である。これにより、システム100の操作者による周波数応答インジケータ302のより簡単な操作が可能になる。
ユーザは、周波数応答インジケータ302(及び周波数応答インジケータ302の個数)を設定して、音声処理(フィルタリング又はイコライゼーション)のための所望の周波数応答を定める。上述のように、プロセッサ114は、(ステップS204で)周波数応答インジケータ302のセットに基づいてフィルタのセットを生成するように構成されている。これについては、後でより詳細に説明する。この後、プロセッサ114は、この生成したフィルタのセットから得られる周波数応答を求め、グラフ301上にこの周波数応答を曲線304としてプロットしてもよい。理想的には、この曲線304は、ユーザが望む周波数応答に適合し、したがって周波数応答インジケータ302を表す点を通過することになる。しかし、後で詳細に説明するように、計算した周波数応答曲線304は、周波数応答インジケータ302を表す点の1つ以上を外してしまう場合がある。
本発明の幾つかの実施形態では、ユーザが周波数応答インジケータ302を調整、追加又は削除するたびにステップS204でフィルタのセットが生成される。このように、ユーザには、現在指定されている周波数応答インジケータ302について生成されるフィルタのセットに対応する周波数応答を示す最新の曲線304が連続的に与えられる。さらに、プロセッサ114が、生成されたフィルタセットに基づいて音声データを処理している場合、この手法によれば、音声処理に用いられるフィルタセットを、ユーザが周波数応答インジケータ302のセットに行う各修正に従って変えることが可能になる。しかしながら、他の実施形態では、プロセッサ114は、更新された周波数応答曲線304をユーザ104に対して表示してもよいが、GUI300上に設けられた適用ボタン316をユーザが選択したら、ステップS206で、更新されたフィルタセットの使用を開始するだけのものであってもよい。この場合、ユーザは、周波数応答曲線304を視覚的に見ると共に、所望の曲線304が実現されるまで周波数応答インジケータ302を修正し、次いで、(聴くのに望ましくなかった可能性のある)中間のフィルタセットを音声データに適用する必要なく、対応するフィルタセットを音声データに適用することができる。
この他に、プロセッサ114は、ユーザが自ら指定及び/又は更新した周波数応答インジケータのセットに満足して、適用ボタン316を選択すると、ステップS204で新しいフィルタのセットの生成(すなわち、ステップS202からステップS204への移動)のみを行うように構成されていてもよい。この実施形態では、適用ボタン316を選択することで、プロセッサ114が、対応するフィルタセットをステップS204で決定又は生成し、次いで、対応する周波数応答曲線304を表示するようになっている。
本発明の実施形態は、周波数応答インジケータを指定及び受信する他の方法を利用してもよいことが理解されよう。したがって、幾つかの実施形態は、周波数応答インジケータを指定及び更新する追加の方法としてGUI300を用いてもよく、一方、他の実施形態は、GUI300を全く用いなくてもよい。例えば、周波数応答インジケータは、メモリ110や、データインタフェース106を介してプロセッサ114がアクセス可能な記憶媒体や、データインタフェース106を介してアクセス可能なリモートコンピュータに、構成データとして保存されてもよい。この構成データは、ただ1つの周波数応答インジケータのセットを指定してもよい。この他に、構成データは、対応する周波数応答インジケータの1セットが、後続の(或いは次の)周波数応答インジケータのセットに更新される時点を指定する、対応するタイミング情報を用いて、周波数応答インジケータの、順序づけられた複数のセットを指定してもよい。このように、周波数応答インジケータのセットは、プロセッサ114によって自動的に更新することができ、一方で、音声データを処理する。したがって、GUI300は、ユーザが、そのような周波数応答インジケータの構成データのソースを特定してアクセスすることを可能にするためのロードボタン318を提供してもよい。
さらに、GUI300は、ユーザが、現在の周波数応答インジケータセットをメモリ110又はデータインタフェース106を介して記憶媒体又はリモートコンピュータに保存又は出力することを可能にする保存ボタン320を提供してもよい。これに加えて、又はこの代わりに、保存ボタン320は、ユーザが、周波数応答インジケータ302の現在のセットに対してステップS204で生成されたフィルタの係数をメモリ110又はデータインタフェース106を介して記憶媒体又はリモートコンピュータに保存又は出力することを可能にしてもよい。
(4)シェルビングフィルタ
シェルビングフィルタ(或いはシェルフフィルタ)は、その周波数応答が以下のようなゲインを有するフィルタである。すなわち、(i)第1の周波数f1を下回る周波数に対しては第1のゲイン値g1に実質的に等しく、(ii)第2の周波数f2を上回る周波数に対しては第2のゲイン値g2(第1のゲイン値g1とは異なる)に実質的に等しく(ここで、f1<f2)、(iii)周波数がf1からf2まで変化するにつれてg1からg2まで連続的に(一般的には単調に、より一般的には狭義単調に)変化するゲインである。
シェルビングフィルタ(或いはシェルフフィルタ)は、その周波数応答が以下のようなゲインを有するフィルタである。すなわち、(i)第1の周波数f1を下回る周波数に対しては第1のゲイン値g1に実質的に等しく、(ii)第2の周波数f2を上回る周波数に対しては第2のゲイン値g2(第1のゲイン値g1とは異なる)に実質的に等しく(ここで、f1<f2)、(iii)周波数がf1からf2まで変化するにつれてg1からg2まで連続的に(一般的には単調に、より一般的には狭義単調に)変化するゲインである。
本説明では、f1は、「低コーナ周波数」と呼ばれるものとし、f2は、「高コーナ周波数」と呼ばれるものとする(ここで「低」及び「高」なる用語は、f1がf2未満であることを示し、g1がg2未満であることを意味しない)。周波数f1は、「下位コーナ周波数」とも呼ばれ得ると共に、周波数f2は、「上位コーナ周波数」とも呼ばれ得る。
g1>g2である場合、シェルビングフィルタは、いわゆる「下降シェルビングフィルタ(sinking shelving filter)」又は「立ち下がりシェルビングフィルタ」(falling shelving filter)である。g1<g2である場合、シェルビングフィルタは、いわゆる「立ち上がりシェルビングフィルタ」(rising shelving filter)である。もちろん、g1は、正、負又はゼロの値であり得る。同様に、g2は、g1から独立して正、負又はゼロの値であり得る。
図4aは、一例の立ち下がりシェルビングフィルタについての周波数応答のグラフを示し、図4bは、一例の立ち上がりシェルビングフィルタについての周波数応答のグラフを示す。本適用例では、(図4a及び図4bのグラフを含め)全ての周波数応答のグラフは、対数周波数を表す横軸、及びデシベル(dB)単位で測定されたゲインを表す縦軸を有する。
上述のように、シェルビングフィルタの周波数応答は、低コーナ周波数f1を下回る周波数についてg1に実質的に等しいゲインを有する。しかし、周波数応答ゲインは、f1を下回る全ての周波数についてg1に正確に等しい必要はなく、代わりにg1及びg2間の差と比べて小さな量だけg1から単に異なっていてもよいことが理解されよう。一方、同様に、シェルビングフィルタの周波数応答は、高コーナ周波数f2を上回る周波数についてg2に実質的に等しいゲインを有しており、周波数応答は、f2を上回る全ての周波数についてg2に正確に等しい必要はなく、代わりに、g1及びg2間の差と比べて小さな量だけg2から単に異なっていてもよいことが理解されよう。したがって、f1を下回る周波数応答及びf2を上回る周波数応答は、完璧に平らである必要はない。しかしながら、全体としては、周波数応答のゲインは、周波数がf1を下回って減少するにつれて漸近的にg1に向かい、かつ周波数応答のゲインは、周波数がf2を上回って増加するにつれて漸近的にg2に向かう。したがって、図4cは、図4aに基づく一例の立ち下がりシェルビングフィルタについての周波数応答のグラフを示すが、低コーナ周波数f1を下回る周波数及び高コーナ周波数f2を上回る周波数について周波数応答がどう変わり得るかを示す。同様に、図4dは、図4bに基づく一例の立ち上がりシェルビングフィルタについての周波数応答のグラフを示すが、低コーナ周波数f1を下回る周波数及び高コーナ周波数f2を上回る周波数について周波数応答がどう変わり得るかを示す。
本技術分野で知られているように、フィルタの次数nは、該フィルタについての伝達関数の分子及び分母の多項式次数を示すために本技術分野で用いられる用語である。したがって、n次フィルタについての伝達関数は、n個の零点及びn個の極を有する。当然、次数nは、負でない整数である。
シェルビングフィルタを生成する幾つかの方法を以下に説明する。別段述べる場合を除き、これら方法は、所定のタイプのローパスフィルタの特性に基づいている。この所定のタイプは、例えば、バターワースローパスフィルタ、楕円ローパスフィルタ、チェビシェフローパスフィルタ等であり得る。これらタイプのローパスフィルタは、本技術分野でよく知られているので、本明細書ではより詳細には説明しない。所定のタイプのローパスフィルタであり、その特性が用いられるローパスフィルタは、「基礎タイプ」のローパスフィルタと呼ぶことにする(このため、形成されるシェルビングフィルタの基礎はローパスフィルタが形成する)。したがって、この基礎タイプは、例えば、「バターワース」、「楕円」、「チェビシェフ」等であり得る。基礎タイプのローパスフィルタは、「ローパス基礎フィルタ」と呼ばれことにする。以下に説明する方法は、これら様々な異なる基礎タイプに等しく適用される。したがって、以降の説明は、基礎タイプのフィルタとしてバターワースフィルタを用いるが、説明する方法は、他の基礎タイプを用いても同様に適用できることが理解されよう。
これについても知られているが、基礎タイプBのn次ローパス基礎フィルタについては、周波数応答は、フィルタのカットオフ周波数を上回る周波数において、オクターブ当たり実質的に−rB×n dBであるゲイン変化率を有する。ここで、rBは、基礎タイプBに依存する正の値である。したがって、カットオフ周波数を上回る周波数fについては、周波数2fでのn次ローパス基礎フィルタの周波数応答は、周波数fでのゲイン未満の実質的にrB×n dBであるゲインを有し、すなわち、対数周波数対ゲインのグラフにプロットされる周波数応答曲線の傾きは、カットオフ周波数を上回る周波数について実質的に−rB×nである。バターワースフィルタについては、オクターブ当たりrバターワース=20log10(2)≒6.0dBである。
(4.1)方法A
n次シェルビングフィルタを設計する方法の一例は、「Parametric Recursive Higher−Order shelving filters」、Martin Holters及びUdo Zolzer、Audio Engineering Society、2006年5月において与えられる。この論文は、以下に述べるように、n次シェルビングフィルタが、n次ローパスバターワースフィルタに基づくものであり得ることを記載している。この論文は、チェビシェフフィルタ又は楕円フィルタが、バターワースローパスフィルタの代わりに用いられ得ることについても言及している。
n次シェルビングフィルタを設計する方法の一例は、「Parametric Recursive Higher−Order shelving filters」、Martin Holters及びUdo Zolzer、Audio Engineering Society、2006年5月において与えられる。この論文は、以下に述べるように、n次シェルビングフィルタが、n次ローパスバターワースフィルタに基づくものであり得ることを記載している。この論文は、チェビシェフフィルタ又は楕円フィルタが、バターワースローパスフィルタの代わりに用いられ得ることについても言及している。
図5aは、この方法により形成される一例の4次立ち下がりシェルビングフィルタのz平面極−零点図であり、一方、図5bは、この方法により形成される一例の4次立ち上がりシェルビングフィルタのz平面極−零点図である(図5bは、図5aにおいて極を零点に変更すると共に、零点を極に変更したものと同じである)。図5cは、この方法により形成される一例の5次立ち下がりシェルビングフィルタのz平面極−零点図であり、一方、図5dは、この方法により形成される一例の5次立ち上がりシェルビングフィルタのz平面極−零点図である(図5dは、図5cにおいて極を零点に変更すると共に、零点を極に変更したものと同じである)。通例のように、極は、ばつ印として示され、零点は、丸印として示され、また、単位円500が示されている。他の整数の次数の立ち下がりシェルビングフィルタ及び立ち上がりシェルビングフィルタについての極−零点図は、図5a〜図5dに示す極−零点図に類似している。
この方法により生成されるシェルビングフィルタに関して、このシェルビングフィルタの伝達関数の零点及び極の位置は、ローパス基礎フィルタの伝達関数の極に用いられる位置に従って決定される。
特に、低コーナ周波数f1及び高コーナ周波数f2を有するn次立ち下がりシェルビングフィルタについては、(i)このシェルビングフィルタの伝達関数のn個の極は、カットオフ周波数f1を有するn次ローパス基礎フィルタの極に用いられる位置に位置すると共に、(ii)このシェルビングフィルタの伝達関数のn個の零点は、カットオフ周波数f2を有するn次ローパス基礎フィルタの極に用いられる位置に位置する。
一方、低コーナ周波数f1及び高コーナ周波数f2を有するn次立ち上がりシェルビングフィルタについては、(i)このシェルビングフィルタの伝達関数のn個の極は、カットオフ周波数f2を有するn次ローパス基礎フィルタの極に用いられる位置に位置すると共に、(ii)このシェルビングフィルタの伝達関数のn個の零点は、カットオフ周波数f1を有するn次ローパス基礎フィルタの極に用いられる位置に位置する。
低コーナ周波数f1と高コーナ周波数f2の間の周波数応答の変化率(すなわち、図4a及び図4bに示す、f1とf2の間の周波数応答曲線の傾き)は、シェルビングフィルタの次数、及び基礎タイプについてのrBの値によって決定される。概して、n次立ち下がりシェルビングフィルタについては、周波数応答ゲインのこの変化率は、オクターブ当たり−rB×n dBに実質的に等しく、n次立ち上がりシェルビングフィルタについては、周波数応答ゲインのこの変化率は、オクターブ当たりrB×n dBに実質的に等しい。したがって、そのようなn次シェルビングフィルタを用いるときは、ゲイン値g2は、(i)立ち下がりシェルビングフィルタについてはg2=g1−nrBlog2(f2/f1)、及び(ii)立ち上がりシェルビングフィルタについてはg2=g1+nrBlog2(f2/f1)によって決定される。
したがって、ゲインg1及びg2は、相互依存的である。よく知られているように、ゲインg1及びg2は、(例えば、所望のゲインg1又は所望のゲインg2を得るために)伝達関数の適切なスケーリングによって共に調整することができる。
しかし、f1及びf2での任意の周波数応答ゲインがそれぞれg1及びg2である、任意の低コーナ周波数f1及び任意の高コーナ周波数f2を有するシェルビングフィルタが必要とされる場合、上記のようにg2が、f1、f2、g1、rB、及び次数nによって本質的に決定されるので、上記のように方法Aによって生成されるシェルビングフィルタを用いることは、必ずしも可能であるとは限らない。
したがって、以下に説明する本発明の実施形態が、この問題を克服し、任意の低コーナ周波数f1及び任意の高コーナ周波数f2を有するシェルビングフィルタであって、f1及びf2における任意の周波数応答ゲインがそれぞれg1及びg2であるシェルビングフィルタを提供する。g1、g2、f1、及びf2の値は、例えば、ユーザによって指定されてもよい。したがって、上記数式を用いて、そのようなシェルビングフィルタについての「有効次数」neは、
として定められることになる。ここで、neは非整数であってもよい。有効次数neを有するシェルビングフィルタに関して、低コーナ周波数と高コーナ周波数の間の周波数応答ゲインの変化率は、(i)立ち上がりシェルビングフィルタについてはオクターブ当たり実質的にnerB dBであり、或いは(ii)立ち下がりシェルビングフィルタについてはオクターブ当たり実質的に−nerB dBである。
として定められることになる。ここで、neは非整数であってもよい。有効次数neを有するシェルビングフィルタに関して、低コーナ周波数と高コーナ周波数の間の周波数応答ゲインの変化率は、(i)立ち上がりシェルビングフィルタについてはオクターブ当たり実質的にnerB dBであり、或いは(ii)立ち下がりシェルビングフィルタについてはオクターブ当たり実質的に−nerB dBである。
(4.2)方法B
本発明の一実施形態に係る第1の方法を以下に説明する。この方法は、任意の低コーナ周波数f1及び任意の高コーナ周波数f2を有し、(g2とg1との差が所望の量となりうるように)f1及びf2における任意の周波数応答ゲインがそれぞれg1及びg2であるシェルビングフィルタを生成する。
本発明の一実施形態に係る第1の方法を以下に説明する。この方法は、任意の低コーナ周波数f1及び任意の高コーナ周波数f2を有し、(g2とg1との差が所望の量となりうるように)f1及びf2における任意の周波数応答ゲインがそれぞれg1及びg2であるシェルビングフィルタを生成する。
所望のシェルビングフィルタは、2つの別個のシェルビングフィルタを組み合わせることによって生成される。ここで、
・これら2つのシェルビングフィルタの第1のものは、(i)f1で低コーナ周波数、及びf2で高コーナ周波数を有し、(ii)後述のように決定される次数nを有する。
・これら2つのシェルビングフィルタの第2のものは、(i)周波数f3で低コーナ周波数、及び周波数f4で高コーナ周波数を有しており(ここで、f1≦f3<f4≦f2(すなわち、f3〜f4の範囲は、f1〜f2の範囲の部分的範囲である))、(ii)1次シェルビングフィルタである。
・g1>g2である場合、第1及び第2のシェルビングフィルタは共に、立ち下がりシェルビングフィルタであり、g1<g2である場合、第1及び第2のシェルビングフィルタは共に、立ち上がりシェルビングフィルタである。
第1のシェルビングフィルタは、基礎タイプBに基づいて上記の方法Aにより形成されるシェルビングフィルタであってもよい。しかし、第1のシェルビングフィルタは、任意のタイプ(又は種類)のシェルビングフィルタであってもよいことが理解されよう。
第1のシェルビングフィルタについての次数nは、第1のシェルビングフィルタの周波数応答のf2におけるゲインと、第1のシェルビングフィルタの周波数応答のf1におけるゲインとの差dが|g2−g1|以下の大きさを有するように、第1のシェルビングフィルタに対する最大の整数nに決定される。
上記数式を基礎タイプBの方法Aのシェルビングフィルタに用いると、差dは、立ち下がりシェルビングフィルタについてはd=−nrBlog2(f2/f1)であり、立ち上がりシェルビングフィルタについてはd=nrBlog2(f2/f1)である。したがって、第1のシェルビングフィルタについての次数は、
により決定することができる。ここで、通例通り、
は、x以下の最大の整数を表す。
により決定することができる。ここで、通例通り、
は、x以下の最大の整数を表す。
第2のシェルビングフィルタについての低コーナ周波数f3及び高コーナ周波数f4は、第2のシェルビングフィルタのf4における周波数応答ゲインと第2のシェルビングフィルタのf3における周波数応答ゲインとの差がg2−g1−dであるように決定される。|d|≦|g2−g1|となるように第1のシェルビングフィルタについての最大の整数次数を第1のシェルビングフィルタについての次数nに選んだので、1次の第2のシェルビングフィルタに関するf3及びf4についてこのような値を得ることが可能である。
f3〜f4の範囲は、f1〜f2の範囲内のどこかであるように選ぶことができる。しかし、好ましい実施形態では、f3及びf4は、f3〜f4の範囲が、f1〜f2の範囲内の実質的に中央に位置するように選ばれる。これは、対数周波数の観点で中央に配置され、f1f2=f3f4となってもよいし、実際の周波数の観点で中央に配置され、f4+f3=f2+f1となってもよい。第1のシェルビングフィルタと第2のシェルビングフィルタの組合せから得られる周波数応答が、f3及びf4のそのような選択によってコーナ周波数f1及びf2でコーナをできる限り鋭く保持することになるので、f1〜f2の範囲内のf3〜f4の範囲のそうした中央配置は、音質の改善をもたらす。代わりに、例えばf3がf1の近くであるように選ばれる場合、第2のシェルビングフィルタは、得られるシェルビングフィルタの、低コーナ周波数f1を下回る周波数での周波数応答に、より大きな影響を及ぼす傾向が強く、このことは、意図された、得られるシェルビングフィルタにとって望ましくない。同様に、f4がf2の近くであるように選ばれる場合、第2のシェルビングフィルタは、得られるシェルビングフィルタの、高コーナ周波数f2を上回る周波数での周波数応答に、より大きな影響を及ぼす傾向が強く、このことは、意図された、得られるシェルビングフィルタにとって望ましくない。
第1のシェルビングフィルタと第2のシェルビングフィルタの組合せは、低コーナ周波数f1及び高コーナ周波数f2を有するシェルビングフィルタであり、このシェルビングフィルタについての周波数f1及びf2間の周波数応答ゲインの変化は、g2−g1に実質的に等しい。
得られるシェルビングフィルタについての実際のゲインは、第1及び第2のシェルビングフィルタについて選択されるゲインによって決定される。例えば、第1のシェルビングフィルタについてのゲインは、周波数f1でg1であるように設定することができ、第2のシェルビングフィルタについてのゲインは、周波数f3で0であるように設定することができ、それにより第1及び第2のシェルビングフィルタの組合せについてのゲインは、周波数f1で所望のゲインg1となる。しかし、これら2つのシェルビングフィルタの組合せが周波数f1で所望のゲインg1を生じさせ、それにより周波数f2で所望のゲインg2を生じさせるように、他のゲイン値を第1及び第2のシェルビングフィルタに用いてもよいことは理解されよう。
例えば、(i)基礎タイプは、バターワースフィルタ(したがってrB≒6.0)であり、(ii)f1=100Hz、(iii)f2=140Hz、(iv)g1=6dB、及び(v)g2=−3dBであると仮定する。その場合、
・第1及び第2のシェルビングフィルタは、立ち下がりシェルビングフィルタとなり(g1>g2なので)、
・第1のシェルビングフィルタが3次フィルタであり、第2のシェルビングフィルタが1次フィルタであることを意味する以下の式
が成立し、
・第1のシェルビングフィルタに起因するf1及びf2間の周波数応答の変化は、d=−nrBlog2(f2/f1)≒−8.7dBであり、周波数応答の変化g2−g1−d≒−0.3dBは第2のシェルビングフィルタから得られるようにし、したがって、
・以下の式
が成立し、それによりf4≒1.04f3となる。f1f2=f3f4である好ましい実施形態では、f3及びf4の値は、それぞれ約116Hz及び約121Hzである。
・第1及び第2のシェルビングフィルタは、立ち下がりシェルビングフィルタとなり(g1>g2なので)、
・第1のシェルビングフィルタが3次フィルタであり、第2のシェルビングフィルタが1次フィルタであることを意味する以下の式
が成立し、
・第1のシェルビングフィルタに起因するf1及びf2間の周波数応答の変化は、d=−nrBlog2(f2/f1)≒−8.7dBであり、周波数応答の変化g2−g1−d≒−0.3dBは第2のシェルビングフィルタから得られるようにし、したがって、
・以下の式
が成立し、それによりf4≒1.04f3となる。f1f2=f3f4である好ましい実施形態では、f3及びf4の値は、それぞれ約116Hz及び約121Hzである。
別の例として、(i)基礎タイプは、バターワースフィルタ(したがってrB≒6.0)であり、(ii)f1=1000Hz、(iii)f2=2100Hz、(iv)g1=−4dB、及び(v)g2=7dBであると仮定する。その場合、
・第1及び第2のシェルビングフィルタは、立ち上がりシェルビングフィルタとなり(g1<g2なので)、
・第1のシェルビングフィルタが1次フィルタであり、第2のシェルビングフィルタが1次フィルタであることを意味する以下の数式
が成立し、
・第1のシェルビングフィルタに起因するf1及びf2間の周波数応答の変化は、d=nrBlog2(f2/f1)≒6.4dBであり、周波数応答の変化g2−g1−d≒4.6dBは第2のシェルビングフィルタから得られるようにし、したがって、
・以下の式
が成立し、それによりf4≒1.70f3となる。f1f2=f3f4である好ましい実施形態では、f3及びf4の値は、それぞれ約1111Hz及び約1889Hzである。
・第1及び第2のシェルビングフィルタは、立ち上がりシェルビングフィルタとなり(g1<g2なので)、
・第1のシェルビングフィルタが1次フィルタであり、第2のシェルビングフィルタが1次フィルタであることを意味する以下の数式
が成立し、
・第1のシェルビングフィルタに起因するf1及びf2間の周波数応答の変化は、d=nrBlog2(f2/f1)≒6.4dBであり、周波数応答の変化g2−g1−d≒4.6dBは第2のシェルビングフィルタから得られるようにし、したがって、
・以下の式
が成立し、それによりf4≒1.70f3となる。f1f2=f3f4である好ましい実施形態では、f3及びf4の値は、それぞれ約1111Hz及び約1889Hzである。
(4.3)方法C
本発明の一実施形態に係る第2の方法を以下に説明する。この方法は、任意の低コーナ周波数f1及び任意の高コーナ周波数f2を有し、(g1とg2との差が所望の量となりうるように)f1及びf2における任意の周波数応答ゲインがそれぞれg1及びg2であるシェルビングフィルタを生成する。
本発明の一実施形態に係る第2の方法を以下に説明する。この方法は、任意の低コーナ周波数f1及び任意の高コーナ周波数f2を有し、(g1とg2との差が所望の量となりうるように)f1及びf2における任意の周波数応答ゲインがそれぞれg1及びg2であるシェルビングフィルタを生成する。
所望のシェルビングフィルタは、2つの別個のシェルビングフィルタを組み合わせることによって生成される。ここで、
・これら2つのシェルビングフィルタの第1のものは、(i)f1で低コーナ周波数、及びf2で高コーナ周波数を有し、(ii)後述のように決定される次数nを有する。
・これら2つのシェルビングフィルタの第2のものは、(i)周波数f3で低コーナ周波数、周波数f4で高コーナ周波数を有しており(ここで、f1≦f3<f4≦f2(すなわち、f3〜f4の範囲は、f1〜f2の範囲の部分的範囲である))、(ii)1次シェルビングフィルタである。
・g1>g2である場合、第1のシェルビングフィルタは、立ち下がりシェルビングフィルタであり、第2のシェルビングフィルタは、立ち上がりシェルビングフィルタであり、g1<g2である場合、第1のシェルビングフィルタは、立ち上がりシェルビングフィルタであり、第2のシェルビングフィルタは、立ち下がりシェルビングフィルタである。
第1のシェルビングフィルタは、基礎タイプBに基づく上記の方法Aにより形成されるシェルビングフィルタであってもよい。しかし、第1のシェルビングフィルタは、任意のタイプ(又は種類)のシェルビングフィルタであってもよいことが理解されよう。
第1のシェルビングフィルタについての次数nは、第1のシェルビングフィルタの周波数応答のf2におけるゲインと、第1のシェルビングフィルタの周波数応答のf1におけるゲインとの差dが|g2−g1|以上の大きさを有するように、第1のシェルビングフィルタに対する最小の整数nに決定される。
上記数式を基礎タイプBの方法Aのシェルビングフィルタに用いると、差dは、立ち下がりシェルビングフィルタについてはd=−nrBlog2(f2/f1)であり、及び立ち上がりシェルビングフィルタについてはd=nrBlog2(f2/f1)である。したがって、第1のシェルビングフィルタについての次数は、
により決定することができる。ここで、通例通り、
は、x以下の最大の整数を表す。
により決定することができる。ここで、通例通り、
は、x以下の最大の整数を表す。
第2のシェルビングフィルタについての低コーナ周波数f3及び高コーナ周波数f4は、第2のシェルビングフィルタのf4における周波数応答ゲインと第2のシェルビングフィルタのf3における周波数応答ゲインとの差がg2−g1−dであるように決定される。|d|≧|g2−g1|となるように第1のシェルビングフィルタについての最小の整数次数を第1のシェルビングフィルタについての次数nに選んだので、1次の第2のシェルビングフィルタに関するf3及びf4についてこのような値を得ることが可能である。
f3〜f4の範囲は、f1〜f2の範囲内のどこかであるように選ぶことができる。しかし、好ましい実施形態では、f3及びf4は、f3〜f4の範囲が、f1〜f2の範囲内の実質的に中央に位置するように選ばれる。これは、対数周波数の観点で中央に配置され、f1f2=f3f4となってもよいし、実際の周波数の観点で中央に配置され、f4+f3=f2+f1となってもよい。第1のシェルビングフィルタと第2のシェルビングフィルタの組合せから得られる周波数応答が、f3及びf4のそのような選択によってコーナ周波数f1及びf2でコーナをできる限り鋭く保持することになるので、f1〜f2の範囲内のf3〜f4の範囲のそうした中央配置は、音質の改善をもたらす。代わりに、例えばf3がf1の近くであるように選ばれる場合、第2のシェルビングフィルタは、得られるシェルビングフィルタの、低コーナ周波数f1を下回る周波数での周波数応答に、より大きな影響を及ぼす傾向が強く、このことは、意図された、得られるシェルビングフィルタにとって望ましくない。同様に、f4がf2の近くであるように選ばれる場合、第2のシェルビングフィルタは、得られるシェルビングフィルタの、高コーナ周波数f2を上回る周波数での周波数応答に、より大きな影響を及ぼす傾向が強く、このことは、意図された、得られるシェルビングフィルタにとって望ましくない。
第1のシェルビングフィルタと第2のシェルビングフィルタの組合せは、低コーナ周波数f1及び高コーナ周波数f2を有するシェルビングフィルタであり、このシェルビングフィルタについての周波数f1及びf2間の周波数応答ゲインの変化は、g2−g1に実質的に等しい。
得られるシェルビングフィルタについての実際のゲインは、第1及び第2のシェルビングフィルタについて選択されるゲインによって決定される。例えば、第1のシェルビングフィルタについてのゲインは、周波数f1でg1であるように設定することができ、第2のシェルビングフィルタについてのゲインは、周波数f3で0であるように設定することができ、それにより第1及び第2のシェルビングフィルタの組合せについてのゲインは、周波数f1で所望のゲインg1である。しかし、これら2つのシェルビングフィルタの組合せが周波数f1で所望のゲインg1を生じさせ、それにより周波数f2で所望のゲインg2を生じさせるように、他のゲイン値を第1及び第2のシェルビングフィルタに用いてもよいことは理解されよう。
例えば、(i)基礎タイプは、バターワースフィルタ(したがってrB≒6.0)であり、(ii)f1=100Hz、(iii)f2=140Hz、(iv)g1=6dB、及び(v)g2=−3dBであると仮定する。その場合、
・第1のシェルビングフィルタは、立ち下がりシェルビングフィルタとなり、第2のシェルビングフィルタは、立ち上がりシェルビングフィルタとなり(g1>g2なので)、
・第1のシェルビングフィルタが4次フィルタであり、第2のシェルビングフィルタが1次フィルタであることを意味する以下の式
が成立し、
・第1のシェルビングフィルタに起因するf1及びf2間の周波数応答の変化は、d=−nrBlog2(f2/f1)≒−11.7dBであり、周波数応答の変化g2−g1−d≒2.7dBは第2のシェルビングフィルタから得られるようにし、したがって、
・以下の式
が成立し、それによりf4≒1.37f3となる。f1f2=f3f4である好ましい実施形態では、f3及びf4についての値は、それぞれ約101Hz及び約138Hzである。
・第1のシェルビングフィルタは、立ち下がりシェルビングフィルタとなり、第2のシェルビングフィルタは、立ち上がりシェルビングフィルタとなり(g1>g2なので)、
・第1のシェルビングフィルタが4次フィルタであり、第2のシェルビングフィルタが1次フィルタであることを意味する以下の式
が成立し、
・第1のシェルビングフィルタに起因するf1及びf2間の周波数応答の変化は、d=−nrBlog2(f2/f1)≒−11.7dBであり、周波数応答の変化g2−g1−d≒2.7dBは第2のシェルビングフィルタから得られるようにし、したがって、
・以下の式
が成立し、それによりf4≒1.37f3となる。f1f2=f3f4である好ましい実施形態では、f3及びf4についての値は、それぞれ約101Hz及び約138Hzである。
別の例として、(i)基礎タイプは、バターワースフィルタ(したがってrB≒6.0)、(ii)f1=1000Hz、(iii)f2=2100Hz、(iv)g1=−4dB、及び(v)g2=7dBと仮定する。その場合、
・第1のシェルビングフィルタは、立ち上がりシェルビングフィルタとなり、第2のシェルビングフィルタは、立ち下がりシェルビングフィルタとなり(g1<g2なので)、
・第1のシェルビングフィルタが2次フィルタであり、第2のシェルビングフィルタが1次フィルタであることを意味する以下の式
が成立し、
・第1のシェルビングフィルタに起因するf1及びf2間の周波数応答の変化は、d=nrBlog2(f2/f1)≒12.8dBであり、周波数応答の変化g2−g1−d≒−1.8dBは第2のシェルビングフィルタから得られるようにし、したがって、
・以下の式
であり、それによりf4≒1.24f3となる。f1f2=f3f4である好ましい実施形態では、f3及びf4の値は、それぞれ約1307Hz及び約1607Hzである。
・第1のシェルビングフィルタは、立ち上がりシェルビングフィルタとなり、第2のシェルビングフィルタは、立ち下がりシェルビングフィルタとなり(g1<g2なので)、
・第1のシェルビングフィルタが2次フィルタであり、第2のシェルビングフィルタが1次フィルタであることを意味する以下の式
が成立し、
・第1のシェルビングフィルタに起因するf1及びf2間の周波数応答の変化は、d=nrBlog2(f2/f1)≒12.8dBであり、周波数応答の変化g2−g1−d≒−1.8dBは第2のシェルビングフィルタから得られるようにし、したがって、
・以下の式
であり、それによりf4≒1.24f3となる。f1f2=f3f4である好ましい実施形態では、f3及びf4の値は、それぞれ約1307Hz及び約1607Hzである。
(4.4)方法D
本発明の別の実施形態では、第2のシェルビングフィルタの次数が、異なる所定の次数mであり得るということを除いて、方法B又はCが用いられる。この場合、f3とf4との関係は、
により決定される。この場合、第2のシェルビングフィルタは、第1のシェルビングフィルタについてのものと同じ基礎タイプBに基づいて上記の方法Aにより形成されるシェルビングフィルタであってもよい。しかし、第2のシェルビングフィルタは、任意のタイプ(又は種類)のシェルビングフィルタであってもよいことが理解されよう。
本発明の別の実施形態では、第2のシェルビングフィルタの次数が、異なる所定の次数mであり得るということを除いて、方法B又はCが用いられる。この場合、f3とf4との関係は、
により決定される。この場合、第2のシェルビングフィルタは、第1のシェルビングフィルタについてのものと同じ基礎タイプBに基づいて上記の方法Aにより形成されるシェルビングフィルタであってもよい。しかし、第2のシェルビングフィルタは、任意のタイプ(又は種類)のシェルビングフィルタであってもよいことが理解されよう。
ここで、さらに、方法Dが方法Bに基づいている場合、第1のシェルビングフィルタについての次数nは、方法Bを用いて計算される次数未満であってもよい。例えば、第1のシェルビングフィルタについての次数nは、第1のシェルビングフィルタの周波数応答のf1におけるゲインと、第1のシェルビングフィルタの周波数応答のf2におけるゲインとの差d1が|g2−g1|以下の大きさを有するように、任意の整数nに決定されてもよい。
さらに、方法Dが方法Cに基づいている場合、第1のシェルビングフィルタについての次数nは、方法Bを用いて計算される次数を超えていてもよい。例えば、第1のシェルビングフィルタについての次数nは、第1のシェルビングフィルタの周波数応答のf1におけるゲインと第1のシェルビングフィルタの周波数応答のf2におけるゲインとの差dが|g2−g1|以上の大きさを有するように、任意の整数nに決定されてもよい。
(4.5)方法E
本発明の別の実施形態では、第2のシェルビングフィルタが、第1のシェルビングフィルタについての基礎タイプBとは異なる基礎タイプB’に基づくものであり得るということを除いて、方法Dが用いられる。f3とf4との関係を計算するための(すなわち、log2(f4/f3)を計算するための)上記数式は、rBとは対照的にrB’を用いることになる。
本発明の別の実施形態では、第2のシェルビングフィルタが、第1のシェルビングフィルタについての基礎タイプBとは異なる基礎タイプB’に基づくものであり得るということを除いて、方法Dが用いられる。f3とf4との関係を計算するための(すなわち、log2(f4/f3)を計算するための)上記数式は、rBとは対照的にrB’を用いることになる。
(4.6)方法F
図6a〜図6iは、任意の低コーナ周波数f1及び任意の高コーナ周波数f2を有し、(g2とg1との差が所望の量となりうるように)f1及びf2での任意の周波数応答ゲインがそれぞれg1及びg2であるシェルビングフィルタを生成する本発明の別の実施形態に係る例示のシェルビングフィルタのz平面極−零点図である。
図6a〜図6iは、任意の低コーナ周波数f1及び任意の高コーナ周波数f2を有し、(g2とg1との差が所望の量となりうるように)f1及びf2での任意の周波数応答ゲインがそれぞれg1及びg2であるシェルビングフィルタを生成する本発明の別の実施形態に係る例示のシェルビングフィルタのz平面極−零点図である。
所与のカットオフ周波数fについて、該カットオフ周波数fを有する次数nのローパス基礎フィルタは、n個の極を有する。nが1から無限大まで及ぶようなカットオフ周波数fを有するそのようなローパス基礎フィルタの全てについての極のセットは、該基礎タイプ及び該周波数fに対応するz平面内の曲線を定める。図6a〜図6iのそれぞれにおいて、右手の破線の曲線652は、選んだ基礎タイプに対応する、低コーナ周波数f1に等しいカットオフ周波数を有する曲線であり、一方、左手の破線の曲線650は、選んだ基礎タイプに対応する、高コーナ周波数f2に等しいカットオフ周波数を有する曲線である。単位円500は、記載を分かりやすくするために、図6a〜図6iには示されていない。
図6a〜図6iに示すシェルビングフィルタは、立ち下がりシェルビングフィルタである。類似の立ち上がりシェルビングフィルタは、極と零点を交換することによって得ることができる。
図6aは、有効次数neが0であるシェルビングフィルタについてのz平面極−零点図である。
このシェルビングフィルタは、曲線650と曲線652の中間の実軸654上の位置600に位置する、零点及び極の両方を与える1次フィルタセクションから形成される。
図6cは、有効次数neが1であるシェルビングフィルタについてのz平面極−零点図である。
このシェルビングフィルタは、低コーナ周波数f1及び高コーナ周波数f2を有する上記の方法Aにより形成される1次シェルビングフィルタについての零点及び極の位置で零点及び極を与える1次フィルタセクションから形成される。したがって、零点は、曲線650が実軸654と交差する実軸654上の位置602に位置し、極は、曲線652が実軸654と交差する実軸654上の位置604に位置する。
図6bは、有効次数ne=α(ただし、0<α<1)であるシェルビングフィルタについてのz平面極−零点図であり、低コーナ周波数f1と高コーナ周波数f2の間のゲインの変化率が、オクターブ当たり−nerB dBであるようになっている。
このシェルビングフィルタは、実軸654上に位置する零点及び極を与える1次フィルタセクションから形成される。位置600及び位置602間の距離(位置600及び位置604間の距離にも等しい)がD1である場合、零点は、位置600から実軸654に沿って位置602に向かって距離αD1であり、極は、位置600から実軸654に沿って位置604に向かって距離αD1である。
したがって、αが、0(図6aにおける構成)から1(図6cにおける構成)まで増加するにつれて、零点は、実軸654に沿って位置600から位置602まで移動し、極は、実軸654に沿って位置600から位置604まで移動する。
図6eは、有効次数neが2であるシェルビングフィルタについてのz平面極−零点図である。
このシェルビングフィルタは、以下のものから形成される。
(i)低コーナ周波数f1及び高コーナ周波数f2を有する上記の方法Aにより形成される2次シェルビングフィルタについての零点及び極の位置で2つの複素数零点及び2つの複素数極を与える2次フィルタセクション。零点は、曲線650上の位置606a及び606bに位置し、極は、曲線652上の位置608a及び608bに位置する。
(ii)曲線650と曲線652の中間の実軸654上の位置600に位置する、零点及び極の両方を与える1次フィルタセクション。したがって、この1次フィルタセクションは、結果として得られるシェルビングフィルタに実際的な効果を及ぼさない(そこで省略できる)。この1次フィルタセクションは、図6aにおける1次フィルタセクションと同じである。
図6dは、有効次数ne=1+α(ただし、0<α<1)であるシェルビングフィルタについてのz平面極−零点図であり、低コーナ周波数f1と高コーナ周波数f2の間のゲイン変化率が、オクターブ当たり−nerB dBであるようになっている。
このシェルビングフィルタは、以下のものから形成される。
(i)2つの複素数零点及び2つの複素数極を与える2次フィルタセクション。位置602と位置606aの間の曲線650に沿った距離がD2である場合、複素数零点の一方は、位置602から曲線650に沿って位置606aに向かって距離αD2に位置する。他方の複素数零点は、位置602から曲線650に沿って位置606bに向かって距離αD2に位置する。同様に、位置604と位置608aの間の曲線652に沿った距離がD3である場合、複素数極の一方は、位置604から曲線652に沿って位置608aに向かって距離αD3に位置する。他方の複素数極は、位置604から曲線652に沿って位置608bに向かって距離αD3に位置する。
(ii)実数値の零点及び実数値の極を与える1次フィルタセクションであって、実数値の零点が、位置604から実軸654に沿って位置600に向かって距離αD1にあり、実数値の極が、位置602から実軸654に沿って位置600に向かって距離αD1にある、1次フィルタセクション。
図6cの構成は、(結果として互いに相殺する)位置602にある追加の極及び零点と、(結果として互いに相殺する)位置604にある追加の極及び零点とを有するものとみなすことができる。したがって、αが、0(図6cにおける構成)から1(図6eにおける構成)まで増加するにつれて、実数値の零点は、位置604から位置600まで移動し、実数値の極は、位置602から位置600まで移動する。同様に、複素数零点は、曲線650に沿って位置602及び602から位置606a及び606bまで移動し、複素数極は、曲線652に沿って位置604から及び604から位置608a及び608bまで移動する。
図6gは、有効次数neが3であるシェルビングフィルタについてのz平面極−零点図である。
このシェルビングフィルタは、以下のものから形成される。
(i)低コーナ周波数f1及び高コーナ周波数f2を有する上記の方法Aにより形成される3次シェルビングフィルタについての複素数零点及び複素数極の位置で2つの複素数零点及び2つの複素数極を与える2次フィルタセクション。複素数零点は、曲線650上の位置610a及び610bに位置し、複素数極は、曲線652上の位置612a及び612bに位置する。
(ii)実軸654上の位置602に位置する実数値の零点、及び実軸654上の位置604に位置する実数値の極を与える1次フィルタセクション。この1次フィルタセクションは、図6cにおける1次フィルタセクションと同じである。
図6fは、有効次数ne=2+α(ただし、0<α<1)であるシェルビングフィルタについてのz平面極−零点図であり、低コーナ周波数f1と高コーナ周波数f2の間のゲイン変化率が、オクターブ当たり−nerB dBであるようになっている。
このシェルビングフィルタは、以下のものから形成される。
(i)2つの複素数零点及び2つの複素数極を有する2次フィルタセクション。位置606aと位置610aの間の曲線650に沿った距離がD4である場合、複素数零点の一方は、位置606aから曲線650に沿って位置610aに向かって距離αD4に位置する。他方の複素数零点は、位置606bから曲線650に沿って位置610bに向かって距離αD4に位置する。同様に、位置608aと位置612aの間の曲線652に沿った距離が、D5である場合、複素数極の一方は、位置608aから曲線652に沿って位置612aに向かって距離αD5に位置する。他方の複素数極は、位置608bから曲線652に沿って位置612bに向かって距離αD5に位置する。
(ii)実数値の零点及び実数値の極を与える1次フィルタセクションであって、実数値の零点が、位置600から実軸654に沿って位置602に向かって距離αD1にあり、実数値の極が、位置600から実軸654に沿って位置604に向かって距離αD1にある、1次フィルタセクション。これは、図6bにおける1次フィルタセクションと同じである。
したがって、αが、0(図6eにおける構成)から1(図6gにおける構成)まで増加するにつれて、実数値の零点は、位置600から位置602まで実軸654に沿って移動し、実数値の極は、位置600から位置604まで実軸654に沿って移動する。同様に、複素数零点は、曲線650に沿って位置606a及び606bから位置610a及び610bまでそれぞれ移動し、複素数極は、曲線652に沿って位置608a及び608bから位置612a及び612bまでそれぞれ移動する。
図6iは、有効次数neが4であるシェルビングフィルタについてのz平面極−零点図である。
このシェルビングフィルタは、以下のものから形成される。
(i)低コーナ周波数f1及び高コーナ周波数f2を有する上記の方法Aにより形成される4次シェルビングフィルタについての単位円500に最も近い2つの零点及び2つの極の位置で2つの複素数零点及び2つの複素数極を与える2次フィルタセクション。零点は、曲線650上の位置613a及び613bに位置し、極は、曲線652上の位置616a及び616bに位置する。
(ii)上記の方法Aにより形成される4次シェルビングフィルタについての他の2つの零点及び他の2つの極の位置で2つの複素数零点及び2つの複素数極を与える2次フィルタセクション。零点は、曲線650上の位置614a及び614bに位置し、極は、曲線652上の位置618a及び618bに位置する。
(iii)曲線650と曲線652の中間の実軸上の位置600に位置する、零点及び極の両方を与える1次フィルタセクション。したがって、この1次フィルタセクションは、結果として得られるシェルビングフィルタに実際的な効果を及ぼさない(そこで省略できる)。この1次フィルタセクションは、図6a及び図6eにおける1次フィルタセクションと同じである。
図6hは、有効次数ne=3+α(ただし、0<α<1)であるシェルビングフィルタについてのz平面極−零点図であり、低コーナ周波数f1と高コーナ周波数f2の間のゲイン変化率が、オクターブ当たり−nerB dBであるようになっている。
このシェルビングフィルタは、以下のものから形成される。
(i)2つの複素数零点及び2つの複素数極を与える2次フィルタセクション。位置610aと位置613aの間の曲線650に沿った距離が、D6である場合、複素数零点の一方は、位置610aから曲線650に沿って位置613aに向かって距離αD6に位置する。他方の複素数零点は、位置610bから曲線650に沿って位置613bに向かって距離αD6に位置する。同様に、位置612aと位置616aの間の曲線652に沿った距離が、D7である場合、複素数極の一方は、位置612aから曲線652に沿って位置616aに向かって距離αD7に位置する。他方の複素数極は、位置612bから曲線652に沿って位置616bに向かって距離αD7に位置する。
(i)2つの複素数零点及び2つの複素数極を与える2次フィルタセクション。位置602と位置614aの間の曲線650に沿った距離が、D8である場合、複素数零点の一方は、位置602から曲線650に沿って位置614aに向かって距離αD8に位置する。他方の複素数零点は、位置602から曲線650に沿って位置614bに向かって距離αD8に位置する。同様に、位置604と位置618aの間の曲線652に沿った距離が、D9である場合、複素数極の一方は、位置604から曲線652に沿って位置618aに向かって距離αD9に位置する。他方の複素数極は、位置604から曲線652に沿って位置618bに向かって距離αD9に位置する。
(ii)実数値の零点及び実数値の極を与える1次フィルタセクションであって、実数値の零点が、位置604から実軸654に沿って位置600に向かって距離αD1にあり、実数値の極が、位置602から実軸654に沿って位置600に向かって距離αD1にある、1次フィルタセクション。この1次フィルタセクションは、図6dにおける1次フィルタセクションと同じである。
図6gの構成は、(結果として互いに相殺する)位置602にある追加の極及び零点と、(結果として互いに相殺する)位置604にある追加の極及び零点とを有するものとみなすことができる。したがって、αが、0(図6gにおける構成)から1(図6iにおける構成)まで増加するにつれて、実数値の零点は、位置604から位置600まで実軸654に沿って移動し、実数値の極は、位置602から位置600まで実軸654に沿って移動する。同様に、複素数零点は、曲線650に沿って位置602、602、610a及び610bから、位置614a、614b、613a及び613bまでそれぞれ移動し、複素数極は、曲線652に沿って位置604、604、612a及び612bから、位置618a、618b、616a及び616bまでそれぞれ移動する。
この方法は、より高い有効フィルタ次数neに類似して拡張されてもよいことを当業者は理解できよう。
図6d以降のそれぞれで、以下の通りである。
・(1つ以上の)2次フィルタセクションは、第1のシェルビングフィルタを共にもたらし、各2次フィルタは、複素数零点(及びその複素共役)並びに複素数極(及びその複素共役)に対応する。
・用いられる1次フィルタセクションは、次数1の第2のシェルビングフィルタをもたらし、この1次フィルタは、実数値の零点及び実数値の極に対応する。
・第1のシェルビングフィルタについての低コーナ周波数はf1であり、第1のシェルビングフィルタについての高コーナ周波数はf2である。
・1次フィルタセクションからの実数値の極及び零点の位置は、第2のシェルビングフィルタについての低コーナ周波数f3及び高コーナ周波数f4を決定する。実数値の極及び零点は、曲線650と曲線652の間にいつもあるので、これによりf1≦f3≦f4≦f2になる。
・有効次数ne=w+α(ただし、0<α<1)であると共に、wが偶数の正の整数である場合、(i)立ち下がりシェルビングフィルタが作成されるときは、第1及び第2のシェルビングフィルタは共に、立ち下がりシェルビングフィルタであり、(ii)立ち上がりシェルビングフィルタが作成されるときは、第1及び第2のシェルビングフィルタは共に、立ち上がりシェルビングフィルタである。
・有効次数ne=w+α(ただし、0<α<1)であると共に、wが奇数の正の整数である場合、(i)立ち下がりシェルビングフィルタが作成されるときは、第1のシェルビングフィルタは、立ち下がりシェルビングフィルタであり、第2のシェルビングフィルタは、立ち上がりシェルビングフィルタであり、(ii)立ち上がりシェルビングフィルタが作成されるときは、第1のシェルビングフィルタは、立ち上がりシェルビングフィルタであり、第2のシェルビングフィルタは、立ち下がりシェルビングフィルタである。
概して、低コーナ周波数f1及び高コーナ周波数f2を有し、有効次数ne=w+α(ここで0<α<1であり、wは整数)である、方法Fシェルビングフィルタを生成するためには、
(i)このシェルビングフィルタについての複素数零点は、低コーナ周波数f1及び高コーナ周波数f2を有する、次数wの方法Aシェルビングフィルタについての零点と、低コーナ周波数f1及び高コーナ周波数f2を有する、次数w+1の方法Aシェルビングフィルタについての零点との間で補間される位置にあり、
(ii)このシェルビングフィルタについての複素数極は、低コーナ周波数f1及び高コーナ周波数f2を有する、次数wの方法Aシェルビングフィルタについての極と、低コーナ周波数f1及び高コーナ周波数f2を有する、次数w+1の方法Aシェルビングフィルタについての極との間で補間される位置にあり、
(iii)実数値の零点及び極は、曲線650と曲線652の間で、実軸上の補間された位置にある。これは、対数周波数領域中の実軸に沿った補間である。
(i)このシェルビングフィルタについての複素数零点は、低コーナ周波数f1及び高コーナ周波数f2を有する、次数wの方法Aシェルビングフィルタについての零点と、低コーナ周波数f1及び高コーナ周波数f2を有する、次数w+1の方法Aシェルビングフィルタについての零点との間で補間される位置にあり、
(ii)このシェルビングフィルタについての複素数極は、低コーナ周波数f1及び高コーナ周波数f2を有する、次数wの方法Aシェルビングフィルタについての極と、低コーナ周波数f1及び高コーナ周波数f2を有する、次数w+1の方法Aシェルビングフィルタについての極との間で補間される位置にあり、
(iii)実数値の零点及び極は、曲線650と曲線652の間で、実軸上の補間された位置にある。これは、対数周波数領域中の実軸に沿った補間である。
したがって、低コーナ周波数f1及び高コーナ周波数f2を有する立ち上がりシェルビングフィルタについては、
(i)第1のシェルビングフィルタの伝達関数の各零点は、(a)カットオフ周波数f1及びn−1の次数を有する第1のローパス基礎フィルタの伝達関数の対応する極の位置と、(b)カットオフ周波数f1及びnの次数を有する第2のローパス基礎フィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、
(ii)第1のシェルビングフィルタの伝達関数の各極は、(c)カットオフ周波数f2及びn−1の次数を有する第3のローパス基礎フィルタの伝達関数の対応する極の位置と、(d)カットオフ周波数f2及びnの次数を有する第4のローパス基礎フィルタについての伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する。
(i)第1のシェルビングフィルタの伝達関数の各零点は、(a)カットオフ周波数f1及びn−1の次数を有する第1のローパス基礎フィルタの伝達関数の対応する極の位置と、(b)カットオフ周波数f1及びnの次数を有する第2のローパス基礎フィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、
(ii)第1のシェルビングフィルタの伝達関数の各極は、(c)カットオフ周波数f2及びn−1の次数を有する第3のローパス基礎フィルタの伝達関数の対応する極の位置と、(d)カットオフ周波数f2及びnの次数を有する第4のローパス基礎フィルタについての伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する。
さらに、低コーナ周波数f1及び高コーナ周波数f2を有する立ち下がりシェルビングフィルタについては、
(i)第1のシェルビングフィルタの伝達関数の各極は、(a)カットオフ周波数f1及びn−1の次数を有する第1のローパス基礎フィルタの伝達関数の対応する極の位置と、(b)カットオフ周波数f1及びnの次数を有する第2のローパス基礎フィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、
(ii)第1のシェルビングフィルタの伝達関数の各零点は、(c)カットオフ周波数f2及びn−1の次数を有する第3のローパス基礎フィルタの伝達関数の対応する極の位置と、(d)カットオフ周波数f2及びnの次数を有する第4のローパス基礎フィルタについての伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する。
(i)第1のシェルビングフィルタの伝達関数の各極は、(a)カットオフ周波数f1及びn−1の次数を有する第1のローパス基礎フィルタの伝達関数の対応する極の位置と、(b)カットオフ周波数f1及びnの次数を有する第2のローパス基礎フィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、
(ii)第1のシェルビングフィルタの伝達関数の各零点は、(c)カットオフ周波数f2及びn−1の次数を有する第3のローパス基礎フィルタの伝達関数の対応する極の位置と、(d)カットオフ周波数f2及びnの次数を有する第4のローパス基礎フィルタについての伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する。
複素数極及び複素数零点の位置についての図6a〜図6iに関連した上記の補間は、曲線650又は652に沿っての補間である。しかし、別の実施形態では、この補間は、低コーナ周波数f1及び高コーナ周波数f2を有する次数wの方法Aシェルビングフィルタについての零点(又は極)と、低コーナ周波数f1及び高コーナ周波数f2を有する次数w+1の方法Aシェルビングフィルタについての零点(又は極)との間の直線に沿って実行される。
好ましい実施形態では、(例えば、図6h及び図6iにおいて)複数の2次フィルタセクションが用いられるとき、第1の2次フィルタセクションは、単位円500に最も近い2つの極及び2つの零点に基づいており、第2の2次フィルタセクションは、単位円500に次に近い2つの極及び2つの零点に基づいており、以下同様である。したがって、(s>1の場合)s個の2次フィルタセクションが用いられる場合、t番目の2次フィルタセクション(1≦t≦s)は、単位円500にt番目に近い複素数極である極(及びその複素共役)、及び単位円500にt番目に近い複素数零点である零点(及びその複素共役)に基づいている。
このことは、図9に概略的に示されており、図9は、零点z1・・・zs及びそれらの複素共役零点
と、シェルビングフィルタについての極p1・・・ps及びそれらの複素共役極
とを概略的に示し、i>jの場合、零点ziは、零点zjよりも単位円500に近く、i>jの場合、極piは、極pjよりも単位円500に近い。この好ましい実施形態における2次フィルタセクションは、ペアリング(pairing)
によって形成される本質的に個々のフィルタであり、各個々の伝達関数が
である。
と、シェルビングフィルタについての極p1・・・ps及びそれらの複素共役極
とを概略的に示し、i>jの場合、零点ziは、零点zjよりも単位円500に近く、i>jの場合、極piは、極pjよりも単位円500に近い。この好ましい実施形態における2次フィルタセクションは、ペアリング(pairing)
によって形成される本質的に個々のフィルタであり、各個々の伝達関数が
である。
2次フィルタセクションのそのような形成は、ステップS208が用いられた後に、ステップS206で生成したフィルタのあるセットから生成したフィルタの別のセットに移行するのに役立つ。これについては後でより詳細に説明する。
しかし、2次フィルタセクションは、この特定の方法で生成される必要はないことが理解されよう。
(5)フィルタのセットの決定
図7は、ステップS204でフィルタのセットを決定する、本発明の一実施形態による処理700を概略的に示すフローチャートである。複数のフィルタが、現在指定されている周波数応答インジケータのセットに基づいて決定されるものであり、この周波数応答インジケータのセットは、ステップS202で初期化されるような周波数応答インジケータのセットであっても、ステップS208で更新されるような周波数応答インジケータのセットであってもどちらでもよい。
図7は、ステップS204でフィルタのセットを決定する、本発明の一実施形態による処理700を概略的に示すフローチャートである。複数のフィルタが、現在指定されている周波数応答インジケータのセットに基づいて決定されるものであり、この周波数応答インジケータのセットは、ステップS202で初期化されるような周波数応答インジケータのセットであっても、ステップS208で更新されるような周波数応答インジケータのセットであってもどちらでもよい。
使用すべき複数の周波数応答インジケータ(すなわち、ステップS202で初期化される又は必要に応じてステップS208で更新される複数の周波数応答インジケータ)は、以下、セット{(Fn、Gn):n=1...N}と呼ばれるものとし、ここで、(i)N≧0であるN個の周波数応答インジケータがあり、(ii)n番目の周波数応答インジケータ(ただし、1≦n≦N)については、対応するユーザが定めた周波数がFnであり、ユーザが定めたゲインがGnであり、(iii)表記の便宜上、Fn<Fn+1(ただし1≦n<N)と仮定する。上記配列においてm=n+1又はn=m+1である場合、2つの周波数応答インジケータ(Fn、Gn)及び(Fm、Gm)は、隣接する周波数応答インジケータと呼ばれるものとし、すなわち、FnとFmの間の周波数を指定する周波数応答インジケータはない。
ステップS702では、Nが0に等しいか否か、すなわち周波数応答インジケータのセットが空であるか否かが判断される。Nが0に等しい場合、ステップS704で処理が続き、このステップS704では、使用すべきフィルタのセットが空であるように設定され(それにより、ステップS206では、音声データは、プロセッサ114によって影響を受けないことになる)、次いで、後述されることになるステップS724まで処理が続く。逆に、Nが0に等しくなく、したがって少なくとも1つの周波数応答インジケータが存在する場合、ステップS706で処理が続く。
ステップS706では、Nが1に等しいか否か、すなわち単一の周波数応答インジケータが指定されているか否かが判断される。Nが1に等しい場合、ステップS708で処理が続き、このステップS708では、G1に等しい一定のゲインを有する周波数応答を有するフィルタが生成され(この生成を行う方法は、本技術分野でよく知られている)、次いで、後述されることになるステップS724まで処理が続く。この他に、ステップS708での処理は、ステップS704での処理と同じであってもよく(すなわち、フィルタは、生成されない)、その場合、フィルタは、少なくとも2つの周波数応答インジケータが指定されたときに生成されるに過ぎないことになる。
Nが1に等しくなく、したがって複数の周波数応答インジケータが存在する場合、ステップS710で処理が続く。ステップS710で、値iが値1に初期化される。処理700は、フィルタのセットを決定するために1回以上の反復を利用してもよく、値iは、現在の反復の回数を表す反復カウンタである。
次に、ステップS712では、周波数応答インジケータ(Fk、Gk)ごとに、対応する目標ゲインTkが、ユーザ指定のゲインGkであるように初期化される。目標ゲインTkの目的は後で説明する。
次に、任意的なステップS714で、一対の隣接する周波数応答インジケータ(Fk、Gk)及び(Fk+1、Gk+1)ごとに、対応する周波数比率hkが、所定の初期値に初期化される。周波数比率hkの目的は後で説明する。値1/3は、以下により詳細に述べるように、周波数比率hkに適した所定の初期値であることが分かっている。
任意的なステップS716で、周波数比率hkが調整される。これについては後でより詳細に説明する。しかし、幾つかの実施形態では、ステップS716は省略される。
任意的なステップS718で、目標ゲインTkが、調整される。これについては後でより詳細に説明する。しかし、幾つかの実施形態では、ステップS718は省略される。
ステップS720で、シェルビングフィルタは、隣接する周波数応答インジケータの対(Fk、Gk)及び(Fk+1、Gk+1)ごとに決定される。本発明の幾つかの実施形態は、上記の方法A〜Fのうちの1つを用いて、隣接する周波数応答インジケータの対(Fk、Gk)及び(Fk+1、Gk+1)についてのシェルビングフィルタを生成する。
隣接する周波数応答インジケータの対(Fk、Gk)及び(Fk+1、Gk+1)については、対応するシェルビングフィルタは、次の通り決定される。
・周波数比率hkを利用しない一実施形態では、対応するシェルビングフィルタを生成するために使用すべき低コーナ周波数及び高コーナ周波数は、それぞれFk及びFk+1である。特に、上記の方法A〜Fのうちの1つが用いられる場合、f1=Fk及びf2=Fk+1である。
・周波数比率hkを利用する一実施形態では、対応するシェルビングフィルタを生成するために使用すべき低コーナ周波数f1及び高コーナ周波数f2は、それぞれ値hkにより調整される値Fk及びFk+1である。次いで、方法A〜Fを使用して、低コーナ周波数f1及び高コーナ周波数f2を用いてシェルビングフィルタを生成することができる。
特に、hkが1未満である場合、f1〜f2の範囲は、Fk〜Fk+1の範囲内にあり、それに対し、hkが1を超える場合、Fk〜Fk+1の範囲は、f1〜f2の範囲内にあり、hk=1の場合、f1=Fk及びf2=Fk+1である。
本発明の一実施形態では、f1及びf2は、f1〜f2の範囲のサイズがFk〜Fk+1の範囲のサイズのhk倍であるように選ばれ、それによりf2−f1=hk(Fk+1−Fk)である。好ましくは、このとき、hkが1未満である場合、f1〜f2の範囲は、Fk〜Fk+1の範囲内の実質的に中央にあり、それに対し、hkが1を超える場合、Fk〜Fk+1の範囲は、f1〜f2の範囲内の実質的に中央にある。したがって、このとき、好ましくは、f2+f1=Fk+1+Fkである。これら2つの数式から、f1〜f2の値を決定することができる。
本発明の別の実施形態では、f1及びf2は、logf1〜logf2の範囲のサイズがlogFk〜logFk+1の範囲のサイズのhk倍であるように選ばれ、それによりlogf2−logf1=hk(logFk+1−logFk)のhk倍であり、すなわち、
である。好ましくは、このとき、hkが1未満である場合、logf1〜logf2の範囲は、logFk〜logFk+1の範囲の実質的に中央にあり、それに対し、hkが1を超える場合、logFk〜logFk+1の範囲は、logf1〜logf2の範囲の実質的に中央にある。したがって、このとき、好ましくは、logf2+logf1=logFk+1+logFkであり、すなわちf2f1=Fk+1Fkである。これら2つの数式から、f1〜f2の値を決定することができる。
である。好ましくは、このとき、hkが1未満である場合、logf1〜logf2の範囲は、logFk〜logFk+1の範囲の実質的に中央にあり、それに対し、hkが1を超える場合、logFk〜logFk+1の範囲は、logf1〜logf2の範囲の実質的に中央にある。したがって、このとき、好ましくは、logf2+logf1=logFk+1+logFkであり、すなわちf2f1=Fk+1Fkである。これら2つの数式から、f1〜f2の値を決定することができる。
周波数比率を用いる目的は、後で説明する。
・シェルビングフィルタは、上記で定めた低コーナ周波数f1での目標ゲインTk、及び上記で定めた高コーナ周波数f2での目標ゲインTk+1を用いて生成される。
・k=1の場合、シェルビングフィルタは、周波数F1でゲインT1を有し、かつ周波数がF1からF2まで変化するときにゲインの変化T2−T1を有することを目指して生成される。k>1の場合、シェルビングフィルタは、周波数Fkでゲイン0を有し、かつ周波数がFkからFk+1まで変化するときにゲインの変化Tk+1−Tkを有することを目指して生成される。したがって、周波数インジケータにおいて実現される実際のゲインは、目標値Tkに十分に近いことになる。しかし、個々のシェルビングフィルタは、様々なゲインを用いて生成されてもよく、しかしそれでもなお、同じ効果のある組み合わせたゲインを有することが理解されよう。
シェルビングフィルタが、ステップS720で生成されたら、ステップS722では、反復カウンタiが現在、所定の反復の最大回数i_Maxであるか判断される。反復カウンタiが所定の反復の最大回数i_Maxに等しい場合、ステップS724で処理は終了し、そうでなければ、ステップS726で処理は続く。このように、ステップS204についてのフィルタのセットを決定する処理700について実行される反復数は、この所定の反復最大回数以下である。この所定の反復最大回数は、図7の処理700が、該所定の反復最大回数の後に、所望の周波数応答に十分近い周波数応答を有するフィルタのセットを獲得したと通常見込まれるような値であるように選ばれてもよく、すなわち、生成したフィルタのセットから得られる周波数応答と所望の周波数応答との差は、i_Max回の反復が実行された後は通常大きく変化しない。10まで若しくはさらにより高い値が用いられてもよいが、3回〜6回の範囲のi_Maxについての値が、通常、この基準には十分であることが分かっている。代替として、又は加えて、所定の反復の最大回数は、プロセッサ114の処理能力及び/又は反復の実行に許容される処理時間の量に基づいて選ばれてよい。特に、プロセッサ114の処理能力又は許容処理時間が比較的低い場合、i_Maxの値は、減少し得るのに対し、プロセッサ114の処理能力又は許容処理時間が比較的高い場合、i_Maxの値は、増加し得る。このように、処理700に関する反復の最大回数は、音声データを処理するために用いるフィルタセットの生成に過大な遅延を生じさせないように適切な値に設定することができるので、ステップS206での音声データのリアルタイム処理は、フィルタセットのリアルタイム生成によって実行することが可能である。
現在の反復が最後の反復である場合、処理は、ステップS722からステップS724へ進行したことになる。ステップS724では、生成したフィルタについての係数が、計算され得る(この計算を行う方法は、本技術分野でよく知られている)。さらに、セットのフィルタの組合せの周波数応答の視覚的表示(例えば、GUI301上の曲線304)が、表示されることになる場合、該周波数応答が、やはり計算され、次いで表示され得る(これを行う方法は、本技術分野でよく知られている)。
現在の反復が最後の反復でない場合、処理は、ステップS722からステップS726へ進行したことになる。ステップS726では、周波数応答インジケータに関連した周波数Fkごとに、プロセッサ114が、決定したセットのフィルタの組合せから得られる該周波数Fkでの、対応する周波数応答を決定する。この決定を行う方法は、周知であり、したがって本明細書では詳細に説明しない。以下の説明では、セットのフィルタの組合せから得られる周波数応答の周波数Fkにおけるゲインは、Akによって示される。
次いで、ステップS728では、周波数応答インジケータごとに誤差値ekが、決定され、ここでek=Ak−Gk、ただしk=1...Nである。
任意的なステップS730では、所望の周波数応答と、決定したセットのフィルタの組合せから得られる周波数応答との間の誤差(又は差)が、十分に小さいか判断される。この判断は、様々な方法で実現することができる。例えば、以下の方法のうちの1つ以上が、用いられてもよい。
各誤差値ekの大きさが所定の誤差閾値E未満である場合、所望の周波数応答と決定したセットのフィルタの組合せから得られる周波数応答との間の誤差(又は差)は十分に小さいとみなされ、そうでない場合は、誤差(又は差)は十分に小さくない。
(p=2など正の値のp、及び所定の誤差閾値Eに対して)の場合、所望の周波数応答と所定のフィルタのセットの組合せから得られる周波数応答との間の誤差(又は差)は十分に小さいとみなされ、そうでない場合は、誤差(又は差)は十分に小さくない。上記のこの例は、誤差値ekの特定の平均値を計算することを伴う。例えば、p=1の場合、誤差値ekの相加平均が用いられ、一方、p=2の場合、誤差値ekの平方自乗平均が用いられる。しかし、他の平均(最頻値(モード)、中央値(メディアン)など)を用いることも可能なことは理解されよう。
本発明の実施形態は、生成されたフィルタセットの組合せから得られる周波数応答と所望の周波数応答との差について、任意の他の尺度を用いてもよいことが理解されよう。
所望の周波数応答と決定されたセットのフィルタの組合せから得られる周波数応答との間の誤差(又は差)が十分に小さいと判断される場合、ステップS724で処理は終了し、そうでない場合は、ステップS732まで処理が続く。したがって、任意的なステップS730を用いる実施形態の場合、処理700は、所定のフィルタのセットの組合せが、所望の周波数応答に十分近い周波数応答を有するとき(すなわち、さらなる反復が、必要ないと考えられるとき)、最大回数i_Max回の反復を実行する必要なく終了でき、それによって処理時間を節約する。
比較的高い所定の誤差閾値Eが、フィルタのセットを生成するように求められ得る反復回数を減少させるために、上記の例において用いられてもよいが、その際には、そうでなければ追加の反復を用いて獲得可能であった可能性のあるものよりも所望の周波数応答とは異なっている周波数応答を潜在的に作り出す。対照的に、比較的低い所定の誤差閾値Eが、所望の周波数応答の近い周波数応答を獲得しようとするために、用いられてもよいが、その場合にはフィルタのセットを生成するように求められる反復回数を増加させるという犠牲が潜在的にある。約0.1dBの所定の誤差閾値Eは、このレベルを下回る周波数応答ゲインの差が聴き手によって通常認識されないので、これら目的のために用いられてもよい。
ステップS732で、反復カウンタiは、別の反復が実行されようとすることを反映させるために増加される。
次いで、ステップS734で、1つ以上の目標ゲインTkが、更新される。プロセッサ114は、対応する周波数Fkでの処理700の次の反復中のステップS720で生成されるフィルタのセットの組合せの周波数応答ゲインが、現在の生成されているフィルタのセットについてのものよりも所望のゲインGkに近いように、目標ゲインTkのうちの1つ以上を調整してもよい。言い換えれば、プロセッサは、処理700の次の反復中に、より小さい値の|ek|を作り出そうとするように、目標ゲインTkのうちの1つ以上を調整しようと試みる。
一実施形態では、各目標ゲインTk(ただし、k=1...N)は、各目標ゲインTkが、正の値αについて値Tk−αekをとるように調整される。α値は、所定の値であってもよい。しかし、本発明の他の実施形態では、α値は、現在の反復の回数に応じて変わってもよく、例えば、i番目の反復についてのα値は、値iに比例又は反比例であってもよい。本発明の実施形態では、α値は、値|ek|のうちの1つ以上の値に応じて変わってもよい。例えば、目標ゲインTkについてのα値は、値|ek|の関数であってもよい。
しかしながら、好ましい実施形態では、α値は、一定の1である。したがって、例えば、k番目のユーザ指定のゲインGkが6.0dBであり、生成したフィルタのセットの組合せによって対応する周波数Fkで実現されるゲインがAk=7.2dBである場合、k番目の誤差値は、ek=1.2dBである。したがって、第2の反復でAkを減少させて6.0dBまで下げようとする試み(すなわち、ユーザ指定のゲインGk)では、第1の反復の終わりで、目標ゲイン値Tkは、6.0Bから4.8dBまで下げるように調整されてもよい。第2の反復の終わりで、Ak=5.7dBである場合、目標ゲイン値Tkは、4.8dBから5.1dBまで上がるように調整されてもよい。このプロセスは、目標ゲインTkごとにこの方法で続く。
ステップS734で、目標ゲインTkが更新された後、処理は、処理700についての次の反復が実行できるようにステップS714に戻る。
図10a〜図10gは、周波数応答インジケータ302の所与のセットについての処理700中に7回連続する反復で生成されたセットのフィルタについての周波数応答曲線304の例のグラフ301である。図10aは、第1の反復後の周波数応答であり、図10bは、第2の反復後の周波数応答であり、図10cは、第3の反復後の周波数応答であり、図10dは、第4の反復後の周波数応答であり、図10eは、第5の反復後の周波数応答であり、図10fは、第6の反復後の周波数応答であり、図10gは、第7の反復後の周波数応答である。
見ることができるように、第1の反復後、周波数応答曲線304は、周波数応答インジケータ302の大部分を外している。しかし、第3の反復以降から、周波数応答曲線304は、周波数応答インジケータ302の全てを視覚的に正確に通過する。
本発明の幾つかの実施形態は、ステップS716で生成された各シェルビングフィルタの次数に上限を課し得ることが理解されよう。このことは、(例えば、DSPにおける)そのようなシェルビングフィルタを実施するために利用できるハードウェアの量への制限によるものであり得、又はより大きい次数のフィルタが本質的により長い処理の遅延になることによる音声処理に伴われる遅延を制限したいことによるものであり得、又は(フィルタの次数が大きくなるほど、該フィルタに加えるように求められる処理の量が大きくなる)必要とされる処理の量(したがって出力)への制限によるものであり得る。代替として、又は加えて、及び同じ理由から、本発明の幾つかの実施形態は、ステップS720で生成されるシェルビングフィルタの次数の全てに上限を課すことができる。ステップS720で生成されたフィルタの次数は、目標ゲインTk、並びにシェルビングフィルタに用いられる低コーナ周波数及び高コーナ周波数に依存するので、目標ゲイン並びに低コーナ周波数及び高コーナ周波数は、生成されるシェルビングフィルタが、前述の(1つ以上の)制約が与えられる適切なサイズの次数を有することを確かにしようとする試みにおいて調整することができる。このことは、任意的なステップS716及びS718の目的であり、任意的なステップS716及びS718は、互いから切り離して、互いの中で、又は互いに組み合わせて適用することができる。当然、周波数比率hkが用いられていない場合、ステップS716は、適用され得ない。
図8aは、上限Omaxが、ステップS720で生成された各シェルビングフィルタの次数に課されるときのステップS718についての処理800を示す概略フローチャートである。
ステップS802で、カウンタnは、値1に初期化される。
ステップS803では、調整値のセットdk(k=1...N)が、ゼロに初期化される(すなわちdk=0、ただしk=1...N)。各目標ゲインTkは、処理800中に計算されると共に、処理800の終わりで目標ゲインTkに適用されることになる対応する調整値dkを有する。
ステップS804で、nが値N(すなわち、周波数応答インジケータの個数)であるか判断される。nが値Nであれば、ステップS720で生成されることになる各シェルビングフィルタは、処理800によって考慮されたことになり、ステップS806で、そこで処理は終了し、このステップS806では、目標ゲインTkが、対応する調整値dkによって調整され、すなわちTk=Tk+dk、ただしk=1...Nとなる。そうでなければ、ステップS808で処理が続く。
ステップS808では、一対の隣接する周波数応答インジケータ(Fn、Gn)及び(Fn+1、Gn+1)についてのステップS720で生成されるシェルビングフィルタの次数Onが、決定される。次数Onは、例えば、必要に応じて方法A〜Fに関連した上記数式を用いて決定されてもよい。この決定は、これら隣接する周波数応答インジケータについての現在の対応する目標ゲインTn及びTn+1を用いることに基づいており、すなわち、目標ゲインTn及びTn+1は、処理800中にまだ更新されていない。
ステップS810では、必要とされる次数Onは、上限Omaxと比較される。必要とされる次数Onが、上限Omaxを超えない場合、目標ゲインTn及びTn+1の調整は、このシェルビングフィルタに基づいて必要とされず、そこでステップS812において処理は続く、そうでなければ、ステップS814で処理が続く。
ステップS812では、カウンタnは1だけ増分され、次いで処理はステップS804に戻る。
この他に、必要とされる次数Onが、シェルビングフィルタについての次数に課される上限Omaxを超えるときは、ステップS814に到達する。したがって目標ゲインTn及びTn+1は、それに応じて(ステップS806での処理800の終わりで)調整されるべきである。したがって、ステップS814で、(必要とされるシェルビングフィルタの次数が、減少するように)目標ゲインTn及びTn+1が互いに寄せ集められるべき量Rが、決定される。ここで、
であり、ただし、
は、このシェルビングフィルタの次数が、Omaxであるように設定されているならば実現可能なゲインの変化の大きさである。目標ゲインTn及びTn+1を互いにより近づけることにより、低コーナ周波数と高コーナ周波数の間の周波数応答曲線傾きの大きさを減少させ、したがって、シェルビングフィルタの次数を減少させる。
であり、ただし、
は、このシェルビングフィルタの次数が、Omaxであるように設定されているならば実現可能なゲインの変化の大きさである。目標ゲインTn及びTn+1を互いにより近づけることにより、低コーナ周波数と高コーナ周波数の間の周波数応答曲線傾きの大きさを減少させ、したがって、シェルビングフィルタの次数を減少させる。
次に、ステップS816で、TnがTn+1を超えるか判断される。TnがTn+1を超える場合、ステップS818で処理は続き、このステップS818でdnがR/2だけ減少し、dn+1がR/2だけ増加する。TnがTn+1を超えない場合、ステップS820で処理が続き、このステップS820でdnがR/2だけ増加し、dn+1がR/2だけ減少する。しかし、dn及びdn+1は、Tn及びTn+1を互いに十分に近づけようと試みるために他の量によって調整することもできることが理解されよう。例えば、ステップS818では、dnは、vRだけ減少させられてもよく、dn+1は、(1−v)Rだけ増加させられてもよく、ステップS818では、dnは、vRだけ増加させられてもよく、dn+1は、(1−v)Rだけ増加させられてもよく、ただし、0≦v≦1である。次いで、ステップS812で処理が続く。
図8bは、上限Omaxが、ステップS720で生成された各シェルビングフィルタの次数に課されるときの、ステップS716についての処理850を示す概略フローチャートである。処理850は、処理800に類似しており、処理800及び850が共有するステップは、同じ参照番号が与えられており、したがって再び説明しない。
図8bの処理850は、図8aのステップS802で開始し、(ステップS803を用いることなく)図8aのステップS804へ進む。ステップS804では、n=Nである場合、ステップS852で処理は終了し、そうでなければ、図8aのステップS808で処理は続き、次いで図8aのステップS810へ続く。
ステップS810では、必要とされる次数Onは、上限Omaxと比較される。必要とされる次数Onが上限Omaxを超えない場合、周波数比率hnの調整は、現在のシェルビングフィルタに必要とされず、そこでステップS812で処理が続き、そうでなければ、ステップS854で処理が続く。
ステップS854では、プロセッサ114は、値hnを増加させる。このことは、この一対の周波数応答インジケータ(Fn、Gn)及び(Fn+1、Gn+1)についてのシェルビングフィルタについての低コーナ周波数と高コーナ周波数の間の周波数ギャップを効果的に広くする。これによって該シェルビングフィルタの次数を減少させることができる。本発明の幾つかの実施形態は、周波数比率hnに所定の上限を課すことができ、それによってステップS854は、該上限を超えてhnを増加させることができない。幾つかの実施形態では、この上限は、値約1であり得る。
ステップS854は、一対の周波数応答インジケータ(Fn、Gn)及び(Fn+1、Gn+1)についてのシェルビングフィルタの次数を十分に減少させて、次数を所定の最大次数Omaxまで引き下げることができる。しかし、周波数比率hnに上限を課す実施形態については、ステップS854は、シェルビングフィルタの次数を十分に減少させることができない。したがって、次いで、図7中の処理700のステップS718を用いてシェルビングフィルタの次数をさらに減少させてもよい。
上述したように、ステップS714で、周波数比率hkは、所定の値に初期化される。一対の周波数応答インジケータ(Fk、Gk)及び(Fk+1、Gk+1)についての周波数比率hkが小さい(すなわち、1よりはるかに少ない)場合、作り出されるシェルビングフィルタは、それに応じて高い次数有することになるが、コーナ周波数f1及びf2が、周波数Fk及びFk+1からかなり離れるように移動されるので、周波数Fk以下及び周波数Fk+1以上で「コーナ効果」(すなわち、周波数応答の揺れ及び曲線)がほとんどない。したがって、シェルビングフィルタの周波数応答は、周波数Fk以下でゲインGk、及び周波数Fk+1以上でゲインGk+1を有する可能性がとても高い。
一方、一対の周波数応答インジケータ(Fk、Gk)及び(Fk+1、Gk+1)についての周波数比率hkが、大きい(例えば、1を超える)場合、作り出されるシェルビングフィルタは、それに応じてより低い次数を有することになるが、コーナ周波数f1及びf2は、周波数Fk及びFk+1に向かい、次いで周波数Fk及びFk+1を越えて移動されるので、周波数Fk以下及び周波数Fk+1以上で「コーナ効果」(すなわち、周波数応答におけるウォブルや曲線)が増加する。シェルビングフィルタの周波数応答は、周波数Fk以下でゲインGk、及び周波数Fk+1以上でゲインGk+1を有する可能性が低い。
したがって、周波数比率hkを初期化する所定の値の選択は、シェルビングフィルタの次数(したがって、付随する電力、処理、ハードウェア及び遅延の量)と、周波数Fk及びFk+1の辺りでの「コーナ効果」の度合いとの間のトレードオフであり、その量だけシェルビングフィルタの周波数応答は、周波数Fk以下で所望のゲインGk、及び周波数Fk+1以上での所望のゲインGk+1から逸れる。
約1/3〜約1/2の範囲のhkの値は、良好な妥協を与えることが分かっており、この妥協は、周波数Fkと周波数Fk+1の間でオクターブ当たりのゲインが比較的一定の変化(すなわち、対数周波数対ゲイン周波数応答のプロット上の直線)を有すると共に、周波数Fk及び周波数Fk+1の辺りに比較的少量の「コーナ効果」を有するシェルビングフィルタについての周波数応答を与える。したがって、幾つかの周波数応答インジケータが、対数周波数対ゲイングラフ301上で直線に指定されるとき、この範囲内の周波数比率を使用すると、これら周波数応答インジケータを通って実質的に直線でもある周波数応答曲線304を生成する。
このことは、図11a〜図11iに示されており、図11a〜図11iは、周波数応答インジケータ302の所与のセットについての処理700a〜e中に生成されたセットのフィルタについての周波数応答曲線304の例のグラフ301である。図11a〜図11iについては、値hkが固定され(すなわち、値hkは、図7のステップS716で調整されない)、目標ゲインTkは、図7のステップS718で調整される。図11aでは、hkは1/12で固定され、図11bでは、hkは1/6で固定され、図11cでは、hkは1/4で固定され、図11dでは、hkは1/3で固定され、図11eでは、hkは1/2で固定され、図11fでは、hkは2/3で固定され、図11gでは、hkは1で固定され、図11hでは、hkは3/2で固定され、及び図11iでは、hkは2で固定される。
周波数応答インジケータ302b及び302cは、同じ関連したゲインを有し、一方、周波数応答インジケータ302c、302d、及び302eは、グラフ301上に直線を形成する。
見て分かるように、
・図11a〜図11cにおいて値hkが1/12、1/6、及び1/4の場合、
縦に並んだ周波数応答インジケータ302c、302d、及び302eの間の周波数応答曲線304は、所望の実質的な直線ではなく、階段状の曲線である。
同じ高さの周波数応答インジケータ302b及び302c間の周波数応答曲線304は、比較的平らである。
縦に並んだ周波数応答インジケータ302c、302d、及び302eの間の周波数応答曲線304は、所望の実質的な直線ではなく、階段状の曲線である。
同じ高さの周波数応答インジケータ302b及び302c間の周波数応答曲線304は、比較的平らである。
・図11f〜図11iにおいて値hkが2/3、1、3/2、及び2の場合、
縦に並んだ周波数応答インジケータ302c、302d、及び302e間の周波数応答曲線304は、図11a〜図11cの階段状の曲線とは対照的に比較的直線である。
同じ高さの周波数応答インジケータ302b及び302cの間の周波数応答曲線304は、かなり誇大である。
最左の周波数応答インジケータ302aの周波数を下回る周波数での周波数応答は、該周波数応答インジケータ302aに関連したゲインとはかなり異なるゲインを有する。
最右の周波数応答インジケータ302eの周波数を上回る周波数での周波数応答は、該周波数応答インジケータ302eに関連したゲインとはかなり異なるゲインを有する。
縦に並んだ周波数応答インジケータ302c、302d、及び302e間の周波数応答曲線304は、図11a〜図11cの階段状の曲線とは対照的に比較的直線である。
同じ高さの周波数応答インジケータ302b及び302cの間の周波数応答曲線304は、かなり誇大である。
最左の周波数応答インジケータ302aの周波数を下回る周波数での周波数応答は、該周波数応答インジケータ302aに関連したゲインとはかなり異なるゲインを有する。
最右の周波数応答インジケータ302eの周波数を上回る周波数での周波数応答は、該周波数応答インジケータ302eに関連したゲインとはかなり異なるゲインを有する。
・図11d〜図11eにおいて値hkが1/3及び1/2の場合、
縦に並んだ周波数応答インジケータ302c、302d、及び302eの間の周波数応答曲線304は、図11a〜図11cの階段状の曲線とは対照的に比較的直線である。
同じ高さの周波数応答インジケータ302b及び302cの間の周波数応答曲線304は、比較的平らである。
最左の周波数応答インジケータ302aの周波数を下回る周波数での周波数応答は、該周波数応答インジケータ302aに関連したゲインに実質的に等しいゲインを有する。
最右の周波数応答インジケータ302eの周波数を上回る周波数での周波数応答は、該周波数応答インジケータ302eに関連したゲインに実質的に等しいゲインを有する。
縦に並んだ周波数応答インジケータ302c、302d、及び302eの間の周波数応答曲線304は、図11a〜図11cの階段状の曲線とは対照的に比較的直線である。
同じ高さの周波数応答インジケータ302b及び302cの間の周波数応答曲線304は、比較的平らである。
最左の周波数応答インジケータ302aの周波数を下回る周波数での周波数応答は、該周波数応答インジケータ302aに関連したゲインに実質的に等しいゲインを有する。
最右の周波数応答インジケータ302eの周波数を上回る周波数での周波数応答は、該周波数応答インジケータ302eに関連したゲインに実質的に等しいゲインを有する。
このような理由で、ステップS714での各周波数比率hkの初期化についての好ましい値は、約1/3〜約1/2の範囲にある。
(使用の場合)周波数比率hk、周波数比率hkを初期化する所定の値、及びhkについての上限は、GUI300を介してユーザによって設定することができる。
(6)フィルタ間の移行
生成されたフィルタのセットは、本技術分野よく知られているように、多くの方法で実施することができる。この実施には、フィルタのうちの1つ以上をソフトウェア又はハードウェアにおいて実施することも含まれ得る。例えば、各シェルビングフィルタは、(シェルビングフィルタの零点及び極、並びに所望のゲインに基づいて)該フィルタについての線形差分方程式の係数を決定し、次いで線形差分方程式を実行することによって実施することができる。さらに、シェルビングフィルタのセット全体は、(全てのシェルビングフィルタについての全ての零点及び極、並びに所望のゲインに基づいて)シェルビングフィルタの組合せについての線形差分方程式の係数を決定し、次いで線形差分方程式を実行することによって実施することができる。しかし、本発明の好ましい実施形態は、一連の2次フィルタセクションとして各シェルビングフィルタを実施する(シェルビングフィルタの次数が奇数の場合、単一の1次フィルタセクションの場合がある)、ここで各2次フィルタセクションは、実際には、別個のフィルタであり、別個のフィルタの伝達関数は、その極及び零点のように、該シェルビングフィルタの伝達関数からの対応する一対の複素数零点、及び対応する一対の複素数極を有する。
生成されたフィルタのセットは、本技術分野よく知られているように、多くの方法で実施することができる。この実施には、フィルタのうちの1つ以上をソフトウェア又はハードウェアにおいて実施することも含まれ得る。例えば、各シェルビングフィルタは、(シェルビングフィルタの零点及び極、並びに所望のゲインに基づいて)該フィルタについての線形差分方程式の係数を決定し、次いで線形差分方程式を実行することによって実施することができる。さらに、シェルビングフィルタのセット全体は、(全てのシェルビングフィルタについての全ての零点及び極、並びに所望のゲインに基づいて)シェルビングフィルタの組合せについての線形差分方程式の係数を決定し、次いで線形差分方程式を実行することによって実施することができる。しかし、本発明の好ましい実施形態は、一連の2次フィルタセクションとして各シェルビングフィルタを実施する(シェルビングフィルタの次数が奇数の場合、単一の1次フィルタセクションの場合がある)、ここで各2次フィルタセクションは、実際には、別個のフィルタであり、別個のフィルタの伝達関数は、その極及び零点のように、該シェルビングフィルタの伝達関数からの対応する一対の複素数零点、及び対応する一対の複素数極を有する。
図2を参照して上述したように、周波数応答インジケータのセットが、ステップS208で更新され、シェルビングフィルタの新しいセットが、ステップS204で生成されたら、プロセッサ114は、従前のフィルタのセットを用いた音声データの処理から更新されたフィルタのセットを用いた音声データの処理へ変化する。
対応する線形差分方程式を用いてシェルビングフィルタを実施する実施形態では、従前のシェルビングフィルタから現在のシェルビングフィルタへの移行は、ある期間にわたって従前のシェルビングフィルタについての線形差分方程式の係数から現在のシェルビングフィルタについての線形差分方程式の係数へ補間することによって実現することができる。同様に、移行は、シェルビングフィルタのセットの組合せを実施する実施形態において対応する線形差分方程式を用いて実行することができる。
しかし、一連の2次フィルタセクションを用いてシェルビングフィルタを実施する好ましい実施形態(シェルビングフィルタの次数が奇数である場合、単一の1次フィルタセクションの場合がある)は、この移行の結果として不利な音声ノイズを導く可能性を減じるのを助けるために(すなわち、処理した音声について高品質レベルを保つのを助けるために)(以下に説明する)幾つかの対策を用いてもよい。これら対策を、以下に説明する。これらの対策は、上記の方法Fにより生成されるシェルビングフィルタに特に適している。
まず、2次フィルタセクションは、単位円500からの零点及び極の距離の平方自乗平均でオーダされてもよいことを記す。このオーダ付けでは、i番目の2次フィルタセクションは、単位円500にi番目に最も近い零点である零点(及びその複素共役)、及び単位円500にi番目に最も近い極である極(及びその複素共役)から形成される。したがって、図9に示す例を参照すると、2次フィルタセクションのこのオーダ付けは、以下のことを意味する。(a)1番目の2次フィルタセクションは、タプル(tuple)
から形成される。(b)2番目の2次フィルタセクションは、タプル
から形成される。(c)一般に、i番目の2次フィルタセクションは、タプル
から形成される。
から形成される。(b)2番目の2次フィルタセクションは、タプル
から形成される。(c)一般に、i番目の2次フィルタセクションは、タプル
から形成される。
したがって、本発明の実施形態は、音声データの処理が、従前のシェルビングフィルタの使用から更新されたシェルビングフィルタの使用へ移行するときに、処理した音声について高品質レベルを保つのを助けるための以下の対策のうちの1つ以上を用いることができる。
(a)2次フィルタセクションの個数が、従前のシェルビングフィルタについて、新しいシェルビングフィルタと同じである場合、新しいシェルビングフィルタのついてのi番目の2次フィルタセクションは、従前のシェルビングフィルタについてのi番目の2次フィルタセクションについての現在の状態変数を引き継ぐ又は引き受ける。2次フィルタセクションについての状態変数は、2次フィルタセクションに渡される入力値であり、2次フィルタセクションが無限インパルス応答フィルタであるときは、2次フィルタセクションについての状態変数は、2次フィルタセクションからの出力値でもある。したがって、2次フィルタセクションについての線形差分方程式が、y[n]=b0x[n]+b1x[n−1]+b2x[n−2]−a1y[n−1]−a2y[n−2]、ただし、入力サンプルx[n]、及び出力サンプルy[n]、並びにフィルタ係数bi及びaiである場合は、状態変数は、値x[n]、x[n−1]、x[n−2]、y[n−1]、及びy[n−2]である。このことは、最も適切な状態変数が、シェルビングフィルタについての従前の2次フィルタセクションと新しい2次フィルタセクションの間で渡されることを確かにするのを助ける。
(b)新しいシェルビングフィルタについての2次フィルタセクションは、従前のシェルビングフィルタについての2次フィルタセクションのように、(上記項目(a)のマッピングに基づいて)同じオーダで処理される。
(c)従前のシェルビングフィルタについての2次フィルタセクションの個数(s)が、新しいシェルビングフィルタのついての2次フィルタセクションの個数(f)とは異なる場合、新しいシェルビングフィルタについてのi番目の2次フィルタセクションは、従前のシェルビングフィルタについてのi番目の2次フィルタセクションについての現在の状態変数を引き継ぐ。ただし、i=1...min(s,t)である。このことは、こと最も主適切な状態変数が、従前の2次フィルタセクションと新しい2次フィルタセクションの間で渡されることを確かにするのを助ける。このことは、任意の加えられた2次フィルタセクション(t>sのとき)、及び任意の除かれた2次フィルタセクション(s>tのとき)が、単位円500から最も遠い、したがって無用のオーディオエフェクト/ノイズを生成する可聴効果及び能力を最少に有する零点及び極から形成されることを確かにすることにも役立つ。
(d)上記項目(c)では、t>sのとき(すなわち、少なくとも1つの新しい2次フィルタセクションが加えられるとき)、新しい2次フィルタセクションの状態変数は、0に初期化され、新しい2次フィルタセクションについての係数は、(新しい2次フィルタセクションに対応する極及び零点に基づいて)必要な値に設定される。次いで、新しいシェルビングフィルタは、新しい2次フィルタセクションが導入又は使用されるまでの期間の間、すなわち新しい2次フィルタセクションが、0の状態変数を有するように初期化され、しかし次いで(クロスフェーディングによって)導入される前に状態変数を確立するためにこの期間の間、音声サンプルを受信し、シェルビングフィルタについての一連の2次フィルタセクションで実際に使用されるまでの間、実行できる。この期間は、約0.01〜0.2秒であり得る。好ましくは、この期間は、44.1kHzでサンプルした音声データについて1024個のサンプルである。
(e)従前のシェルビングフィルタのi番目の2次フィルタセクションについての係数が、現在のシェルビングフィルタのi番目の2次フィルタセクションについての係数とは異なる場合、プロセッサ114は、従前の2次セクションについての係数から新しい2次セクションについての係数へ係数を補間することによって、この2次フィルタセクションについての係数を(約0.01秒〜0.2秒などの)ある期間にわたって更新する。もちろん、このことは、新たに生成した2次セクションに適用されない。
前述の技法(a)〜(e)は、2次フィルタセクションを用いて実施されるシェルビングフィルタのみならず、他のタイプのフィルタにも適用されてもよいことが理解されよう。
(7)全体強度コントロール
GUI300は、全体強度コントロール322を備えていてもよい。このコントロール322を用いて、ユーザは、周波数応答インジケータ(Fk、Gk)についての全てのゲインGkを可変スケール値βによってスケーリングする(scale)ことができる。このスケール値βは、0〜所定の最大値βmaxの範囲内で変わり得る。このコントロール322を用いると、全てのゲインGkは、ゲインGkがこのスケールファクタβによって乗じられるようにゲイン値βGkになるように変更される。β=1を設定すると、全てのゲインGkは、元のユーザ指定のゲインになるように設定される。β<1を設定すると、フィルタリングの全体的な強度は減少し、β=0を設定すると、全てのゲインGkは、ゼロになるように設定され、その結果、イコライゼーション又はフィルタリングは、全く実行されない。β>1を設定すると、フィルタリングの全体的な強度が増加する。
GUI300は、全体強度コントロール322を備えていてもよい。このコントロール322を用いて、ユーザは、周波数応答インジケータ(Fk、Gk)についての全てのゲインGkを可変スケール値βによってスケーリングする(scale)ことができる。このスケール値βは、0〜所定の最大値βmaxの範囲内で変わり得る。このコントロール322を用いると、全てのゲインGkは、ゲインGkがこのスケールファクタβによって乗じられるようにゲイン値βGkになるように変更される。β=1を設定すると、全てのゲインGkは、元のユーザ指定のゲインになるように設定される。β<1を設定すると、フィルタリングの全体的な強度は減少し、β=0を設定すると、全てのゲインGkは、ゼロになるように設定され、その結果、イコライゼーション又はフィルタリングは、全く実行されない。β>1を設定すると、フィルタリングの全体的な強度が増加する。
このようにして、ユーザは、周波数応答インジケータ302をそれぞれ個々に調整する必要なく、加えられるイコライゼーションの量を容易に制御することができる。
本発明の実施形態が、コンピュータプログラムによって実施される限り、コンピュータプログラムを実行する記憶媒体及び伝送媒体は、本発明の態様を形成することが理解されよう。
Claims (52)
- 音声データ用の所望のシェルビングフィルタを生成する方法であって、前記所望のシェルビングフィルタは低コーナ周波数f1及び高コーナ周波数f2を有しており、前記所望のシェルビングフィルタの周波数応答のf2におけるゲインと、前記所望のシェルビングフィルタの周波数応答のf1におけるゲインとの差が、ゼロでない所望の量に実質的に等しく、
第1の所定のタイプの第1のシェルビングフィルタの次数を決定するステップであって、該第1のシェルビングフィルタの低コーナ周波数がf1であり、該第1のシェルビングフィルタの高コーナ周波数がf2である、ステップと、
第2の所定のタイプ及び所定の次数mの第2のシェルビングフィルタについて、該第2のシェルビングフィルタの低コーナ周波数用の周波数f3、及び該第2のシェルビングフィルタの高コーナ周波数用の周波数f4を決定するステップであって、f3がf1以上であり、f4がf3を超え、f4がf2以下である、ステップと、
前記所望のシェルビングフィルタを、前記第1のシェルビングフィルタ及び前記第2のシェルビングフィルタからなるフィルタ組合せとして形成するステップと
を含み、
前記フィルタ組合せの周波数応答のf2におけるゲインと、前記フィルタ組合せの周波数応答のf1におけるゲインとの差が、前記所望の量に実質的に等しいように、f3、f4、及び前記第1のシェルビングフィルタの前記次数が決定される方法。 - m=1である、請求項1に記載の方法。
- 前記第1のシェルビングフィルタの次数を決定する前記ステップが、前記第1のシェルビングフィルタの最大次数を決定するステップを含んでおり、ここで、前記第1のシェルビングフィルタに対する前記所望の量の大きさが、前記第1のシェルビングフィルタの周波数応答のf2におけるゲイン及び前記第1のシェルビングフィルタの周波数応答のf1におけるゲイン間の差の大きさを超えている、請求項1又は2に記載の方法。
- 前記第1のシェルビングフィルタの次数を決定する前記ステップが、前記第1のシェルビングフィルタの最小次数を決定するステップを含んでおり、ここで、前記第1のシェルビングフィルタに対する前記所望の量の大きさが、f2での前記第1のシェルビングフィルタの周波数応答のゲイン及びf1での前記第1のシェルビングフィルタの周波数応答のゲイン間の差の大きさ未満である、請求項1又は2に記載の方法。
- 前記所望の量が正である場合、前記第1のシェルビングフィルタの周波数応答のf2におけるゲインが前記第1のシェルビングフィルタの周波数応答のf1におけるゲインを超えるように前記第1のシェルビングフィルタが構成され、
前記所望の量が負である場合、f2での前記第1のシェルビングフィルタの周波数応答のゲインがf1での前記第1のシェルビングフィルタの周波数応答のゲイン未満となるように前記第1のシェルビングフィルタが構成される、
請求項1〜4のいずれか一項に記載の方法。 - f3及びf4を決定する前記ステップは、
前記第2のシェルビングフィルタの周波数応答のf4におけるゲイン及び前記第2のシェルビングフィルタの周波数応答のf3におけるゲイン間の差が、前記所望の量と、前記第1のシェルビングフィルタの周波数応答のf2におけるゲイン及び前記第1のシェルビングフィルタの周波数応答のf1におけるゲイン間の差との差に実質的に等しいように、f3及びf4を相対的に設定するステップ
を含む、請求項1〜5のいずれか一項に記載の方法。 - f3〜f4の周波数範囲がf1〜f2の周波数範囲の実質的に中央に位置するようにf3及びf4が設定される、請求項6に記載の方法。
- f4+f3=f2+f1又はf4f3=f2f1であるようにf3及びf4が設定される、請求項7に記載の方法。
- 前記所望の量が正であり、
前記第1のシェルビングフィルタの伝達関数の各零点が、(a)前記第1の所定のタイプに対応するタイプの第1のローパスフィルタであって、カットオフ周波数がf1であり、次数n−1を有する該第1のローパスフィルタの伝達関数の対応する極の位置と、(b)該対応するタイプの第2のローパスフィルタであって、カットオフ周波数がf1であり、次数nを有する該第2のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、
前記第1のシェルビングフィルタの伝達関数の各極が、(c)該対応するタイプの第3のローパスフィルタであって、カットオフ周波数がf2であり、次数n−1を有する該第3のローパスフィルタの伝達関数の対応する極の位置と、(d)該対応するタイプの第4のローパスフィルタであって、カットオフ周波数がf2であり、次数nを有する該第4のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する、
請求項2に記載の方法。 - 前記所望の量が負であり、
前記第1のシェルビングフィルタの伝達関数の各極が、(a)前記第1の所定のタイプに対応するタイプの第1のローパスフィルタであって、カットオフ周波数がf1であり、次数n−1を有する該第1のローパスフィルタの伝達関数の対応する極の位置と、(b)該対応するタイプの第2のローパスフィルタであって、カットオフ周波数がf1であり、次数nを有する該第2のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、
前記第1のシェルビングフィルタの伝達関数の各零点が、(c)該対応するタイプの第3のローパスフィルタであって、カットオフ周波数がf2であり、次数n−1を有する該第3のローパスフィルタの伝達関数の対応する極の位置と、(d)該対応するタイプの第4のローパスフィルタであって、カットオフ周波数がf2であり、次数nを有する該第4のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する、
請求項2に記載の方法。 - ユーザが、f1、f2、及び前記所望の量を指定するステップを含む、請求項1〜10のいずれか一項に記載の方法。
- 前記第1の所定のタイプ及び前記第2の所定のタイプは、それぞれ、バターワースローパスフィルタ、チェビシェフローパスフィルタ、及び楕円ローパスフィルタのうちの1つのフィルタの特性に基づくフィルタタイプである、請求項1〜11のいずれか一項に記載の方法。
- 前記第1の所定のタイプが、前記第2の所定のタイプと同じである、請求項1〜12のいずれか一項に記載の方法。
- 音声データ用の所望のフィルタを生成する方法であって、
複数の周波数応答インジケータを指定して前記所望のフィルタの所望の周波数応答を定めるステップであって、各前記周波数応答インジケータが、ユーザ定義周波数と、前記所望の周波数応答の、該ユーザ定義周波数における、対応するユーザ定義ゲインとを指定する、ステップと、
1つ以上のフィルタからなるフィルタセットを決定するステップであって、前記周波数応答インジケータの各々について、前記フィルタセット中の前記1つ以上のフィルタの組合せの周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインが、該周波数応答インジケータによって指定される前記ゲインに実質的に等しいように、前記フィルタセットを決定するステップと
を含む方法。 - 前記周波数応答インジケータの個数が、ユーザによって定義されるものである、請求項14に記載の方法。
- ユーザが、前記複数の周波数応答インジケータのうちの1つ以上を定めるステップを含む、請求項14又は15に記載の方法。
- 前記1つ以上のフィルタからなるフィルタセットを決定するステップが、
隣接する前記周波数応答インジケータの対ごとに、対応するシェルビングフィルタを生成するステップを含んでおり、ここで、前記複数の周波数応答インジケータのいずれもが、ある周波数fAと、fAを超える周波数fBとの間の周波数を指定しない場合、fAを指定する周波数応答インジケータと、fBを指定する別の周波数応答インジケータとが隣接している、請求項14〜16のいずれか一項に記載の方法。 - 各前記周波数応答インジケータについて、対応する目標ゲインを保持するステップを含み、
周波数fAを指定する第1の周波数応答インジケータ及びfAを超える周波数fBを指定する、隣接する第2の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、前記シェルビングフィルタを生成するステップが、請求項1〜13のいずれか一項に記載の方法を実行するステップを含み、
f1がfAに基づいており、
f2がfBに基づいており、
前記所望の量が、前記第2の周波数応答インジケータに対応する目標ゲインと前記第1の周波数応答インジケータに対応する目標ゲインとの差であるように設定される、請求項17に記載の方法。 - 各前記目標ゲインを、対応する前記周波数応答インジケータによって指定されるゲインに初期化するステップを含む、請求項18に記載の方法。
- 第1の周波数応答インジケータ及び隣接する第2の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、
該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップの前に、該シェルビングフィルタの次数が所定の最大閾値を超過するか否かを判断し、超過する場合は、前記第1の周波数応答インジケータに対応する前記目標ゲイン及び前記第2の周波数応答インジケータに対応する前記目標ゲインの一方又は両方を調整して、該シェルビングフィルタの前記次数を減少させるステップを含む請求項18又は19に記載の方法。 - 周波数fAを指定する第1の周波数応答インジケータ及びfAを超える周波数fBを指定する、隣接する第2の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、請求項1〜13のいずれか一項に記載の方法を実行して該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップが、f1をfAに等しく設定するステップ、及びf2をfBに等しく設定するステップを含む、請求項18〜20のいずれか一項に記載の方法。
- 隣接する前記周波数応答インジケータの対ごとに、対応する周波数比例値を保持するステップを含み、
周波数fAを指定する第1の周波数応答インジケータ及びfAを超える周波数fBを指定する、隣接する第2の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、請求項1〜13のいずれか一項に記載の方法を実行して該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップが、fA、fB及び前記対応する周波数比例値に基づいて、f1及びf2を決定するステップを含む、
請求項18〜20のいずれか一項に記載の方法。 - f2−f1=h(fB−fA)であり、ここで、hは、該一対の隣接する周波数応答インジケータに対応する前記周波数比例値である、請求項22に記載の方法。
- f2/f1=(fB/fA)hであり、ここで、hは、該一対の隣接する周波数応答インジケータに対応する前記周波数比例値である、請求項22に記載の方法。
- f1〜f2の範囲が、fA〜fBの範囲の実質的に中央に位置している、請求項22〜24のいずれか一項に記載の方法。
- 請求項23を引用するときは、f2+f1=fB+fAである、請求項25に記載の方法。
- 請求項24を引用するときは、f2f1=fAfBである、請求項25に記載の方法。
- 第1の周波数応答インジケータ及び隣接する第2の周波数応答インジケータからなる一対の隣接する周波数応答インジケータについて、
該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップの前に、該シェルビングフィルタの次数が所定の最大閾値を超過するか否かを判断し、超過する場合は、該一対の隣接する周波数応答インジケータに対応する前記周波数比例値を増加させて、該シェルビングフィルタの前記次数を減少させるステップを含む請求項22〜27のいずれか一項に記載の方法。 - 前記周波数比例値が、所定の最大周波数比例値を超えて増加することができない、請求項28に記載の方法。
- 各周波数比例値を、対応する初期値に初期化するステップを含む、請求項22〜29のいずれか一項に記載の方法。
- 前記初期値が、約1/3〜約1/2の範囲内である、請求項30に記載の方法。
- 前記1つ以上のフィルタからなるフィルタセットを生成する前記ステップの後に、1回以上の反復を実行するステップを含み、1つの該反復が、
前記目標ゲインのうちの1つ以上を調整するステップと、
調整した前記目標ゲインを用いて前記生成するステップを繰り返して、前記1つ以上のフィルタからなるフィルタセットを更新するステップと
を含み、
前記調整するステップは、前記所望の周波数応答と、更新された前記フィルタセットにおける前記1つ以上のフィルタの組合せの前記周波数応答との間の誤差が、前記所望の周波数応答と、更新される前の前記フィルタセットにおける前記1つ以上のフィルタの組合せの周波数応答との間の誤差未満であるように、前記目標ゲインのうちの1つ以上を調整するステップを含む、
請求項18〜31のいずれか一項に記載の方法。 - 前記1回以上の反復を実行するステップが、所定の最大回数以下の反復を実行するステップを含む、請求項32に記載の方法。
- 1回の前記反復が、前記所望の周波数応答と、前記フィルタセットにおける前記1つ以上のフィルタの組合せの前記周波数応答との間の誤差を決定するステップを含んでおり、前記1回以上の反復を実行するステップは、決定した前記誤差が所定の誤差閾値未満である場合に終了する、請求項32又は33に記載の方法。
- 前記誤差を決定するステップが、
前記周波数応答インジケータごとに、前記所望の周波数応答のゲインと、前記フィルタセットにおける前記1つ以上のフィルタの組合せの周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインとの差を決定するステップと、
決定された前記差に基づいて前記誤差を決定するステップと
を含む、請求項34に記載の方法。 - 1つの前記周波数応答インジケータに対応する目標ゲインを調整する前記ステップが、前記フィルタセットにおける前記フィルタの組合せの周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインと該周波数応答インジケータによって指定されるゲインとの差を前記目標ゲインから減じるステップを含む、請求項32〜35のいずれか一項に記載の方法。
- ユーザが、ゲインスケールファクタを指定するステップと、
前記周波数応答インジケータごとに、該周波数応答インジケータによって指定されるゲインを、指定された前記ゲインスケールファクタによってスケーリングするステップと
を含む、請求項14〜36のいずれか一項に記載の方法。 - 音声フィルタを実装する方法であって、前記音声フィルタの伝達関数は、2s個の複素数零点及び2s個の複素数極を有しており、
s個の2次フィルタセクションを形成するステップであって、1≦i≦sの範囲内の各整数iについて、i番目の該2次フィルタセクションが、
(a)前記音声フィルタの伝達関数の前記複素数零点であって、対応する複素共役零点と共に、単位円にi番目に近い、前記音声フィルタの伝達関数の複素数零点及び対応する複素共役零点の対をなす複素数零点と、
(b)前記音声フィルタの伝達関数の前記複素数極であって、対応する複素共役極と共に、前記単位円にi番目に近い、前記音声フィルタの伝達関数の複素数極及び対応する複素共役極の対をなす複素数極と
に基づくように、前記s個の2次フィルタセクションを形成するステップを含む方法。 - 第1の音声フィルタを用いた音声データのフィルタリングから第2の音声フィルタを用いた前記音声データのフィルタリングへ変更する方法であって、前記第1の音声フィルタの伝達関数は、2s個の複素数零点及び2s個の複素数極を有し、前記第2の音声フィルタの伝達関数は、2t個の複素数零点及び2t個の複素数極を有しており、
s個の2次フィルタセクションを用いて前記第1のフィルタを形成するステップであって、1≦i≦sの範囲内の各整数iについて、i番目の該2次フィルタセクションが、(a)前記第1の音声フィルタの伝達関数の前記複素数零点であって、対応する複素共役零点と共に、単位円にi番目に近い、前記第1の音声フィルタの伝達関数の複素数零点及び対応する複素共役零点の対をなす複素数零点と、(b)前記第1の音声フィルタの伝達関数の前記複素数極であって、前記対応する複素共役極と共に、前記単位円にi番目に近い、前記第1の音声フィルタの伝達関数の複素数極及び対応する複素共役極の対をなす複素数極とに基づいている、ステップと、
t個の2次フィルタセクションを用いて前記第2のフィルタを形成するステップであって、1≦j≦tの範囲内の各整数jについて、j番目の該2次フィルタセクションが、(c)前記第2の音声フィルタの伝達関数の前記複素数零点であって、対応する複素共役零点と共に、単位円にj番目に近い、前記第2の音声フィルタの伝達関数の複素数零点及び対応する複素共役零点の対をなす複素数零点と、(d)前記第2の音声フィルタの伝達関数の前記複素数極であって、前記対応する複素共役極と共に、前記単位円にj番目に近い、前記第2の音声フィルタの伝達関数の複素数極及び対応する複素共役極の対をなす複素数極とに基づいている、ステップと、
1≦k≦minimum(s,t)の範囲内の各整数kについて、前記第2の音声フィルタのk番目の2次フィルタセクション用の状態変数の値を、前記第1の音声フィルタのk番目の2次フィルタセクション用の対応する状態変数の値に設定するステップと
を含む、方法。 - tがsより大きい場合に、s+1≦r≦tの範囲内の各整数rについて、
前記第2の音声フィルタのr番目の2次フィルタセクション用の状態変数を値0に初期化するステップと、
前記第1の音声フィルタを用いた前記音声データのフィルタリングから前記第2の音声フィルタを用いた前記音声データのフィルタリングへの変更が開始した後の所定の時間にわたって、音声入力を前記第2の音声フィルタのr番目の2次フィルタセクションに供給するステップと、
前記所定の時間の後、前記第2の音声フィルタの前記r番目の2次フィルタセクションの使用を開始して、前記音声データをフィルタリングするステップと、
を含む、請求項39に記載の方法。 - 音声データを処理する方法であって、
第1の所望のフィルタを前記音声データに適用することによって前記音声データをフィルタリングするステップを含み、前記第1の所望のフィルタが、請求項1〜38のいずれか一項に記載の方法によって生成されるフィルタである、方法。 - 前記音声データのフィルタリングを、前記第1の所望のフィルタを前記音声データに適用することから、第2の所望のフィルタを前記音声データに適用することへ変更するステップを含み、前記第2の所望のフィルタが、請求項1〜38のいずれか一項に記載の方法によって生成されるフィルタである、請求項41に記載の方法。
- 前記第1の所望のフィルタ及び前記第2の所望のフィルタが、請求項14に記載の方法によって生成される、請求項42に記載の方法であって、
複数の周波数応答インジケータを指定して前記第1の所望のフィルタを生成するステップと、
前記複数の周波数応答インジケータを更新するステップと、
更新された前記複数の周波数応答インジケータに基づいて前記第2の所望のフィルタを生成するステップと
を含む、請求項42に記載の方法。 - 前記変更するステップが、請求項39又は40に記載の方法を実行するステップを含む、請求項42又は43に記載の方法。
- 音声データを処理するプロセッサを構成する方法であって、
請求項1〜40のいずれか一項に記載の方法を実行することによって前記音声データ用の所望のフィルタを生成するステップと、
生成した前記フィルタを用いて前記音声データを処理するように前記プロセッサを構成するステップと
を含む方法。 - 所望の音声フィルタを生成する装置であって、
請求項1〜40のいずれか一項に記載の方法を実行することによって音声データ用の所望のフィルタを生成するように構成されたプロセッサを備える装置。 - 音声データを処理する装置であって、
請求項41〜45のいずれか一項に記載の方法を実行することによって音声データを処理するように構成されたプロセッサと、
処理のために音声データを前記プロセッサに供給する手段と
を備える装置。 - 前記プロセッサが、請求項1〜40のいずれか一項に記載の方法を実行することによって、前記音声データを処理する所望のフィルタを生成するように構成されている、請求項47に記載の装置。
- 請求項1〜40のいずれか一項に記載の方法によって生成される音声フィルタ。
- コンピュータによって実行されると、請求項1〜45のいずれか一項に記載の方法を実行するコンピュータプログラム。
- 請求項50に記載のコンピュータプログラムを運搬するデータ運搬媒体。
- 記憶媒体又は伝送媒体である、請求項51に記載の媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0804557.7 | 2008-03-11 | ||
GB0804557.7A GB2458631B (en) | 2008-03-11 | 2008-03-11 | Audio processing |
PCT/GB2009/000652 WO2009112825A1 (en) | 2008-03-11 | 2009-03-10 | Audio processing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011517390A true JP2011517390A (ja) | 2011-06-02 |
Family
ID=39327954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010550256A Withdrawn JP2011517390A (ja) | 2008-03-11 | 2009-03-10 | 音声処理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9203366B2 (ja) |
EP (1) | EP2263312A1 (ja) |
JP (1) | JP2011517390A (ja) |
GB (1) | GB2458631B (ja) |
HK (1) | HK1136097A1 (ja) |
WO (1) | WO2009112825A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014053684A (ja) * | 2012-09-05 | 2014-03-20 | Jvc Kenwood Corp | 音声再生装置、調整方法及びプログラム |
US9154894B2 (en) | 2012-12-26 | 2015-10-06 | Onkyo Corporation | Frequency characteristics determination device |
WO2019181734A1 (ja) * | 2018-03-23 | 2019-09-26 | ヤマハ株式会社 | フィルタ制御方法、オーディオ処理方法、フィルタ制御装置、プログラムおよびフィルタエレメント |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11431312B2 (en) | 2004-08-10 | 2022-08-30 | Bongiovi Acoustics Llc | System and method for digital signal processing |
US10848867B2 (en) * | 2006-02-07 | 2020-11-24 | Bongiovi Acoustics Llc | System and method for digital signal processing |
EP2211339B1 (en) * | 2009-01-23 | 2017-05-31 | Oticon A/s | Listening system |
US9008464B2 (en) * | 2009-06-16 | 2015-04-14 | University-Industry Cooperation Group Of Kyung Hee University | Media data customization |
US8891707B2 (en) * | 2009-09-21 | 2014-11-18 | Mediatek Inc. | Receiving device and method thereof |
US8699727B2 (en) * | 2010-01-15 | 2014-04-15 | Apple Inc. | Visually-assisted mixing of audio using a spectral analyzer |
GB201016691D0 (en) | 2010-10-04 | 2010-11-17 | Oxford Digital Ltd | Balanced phase equalization |
US8908877B2 (en) | 2010-12-03 | 2014-12-09 | Cirrus Logic, Inc. | Ear-coupling detection and adjustment of adaptive response in noise-canceling in personal audio devices |
US9142207B2 (en) | 2010-12-03 | 2015-09-22 | Cirrus Logic, Inc. | Oversight control of an adaptive noise canceler in a personal audio device |
JP5708150B2 (ja) * | 2011-03-31 | 2015-04-30 | オンキヨー株式会社 | デジタル信号処理装置およびデジタル信号処理方法 |
JP5703944B2 (ja) * | 2011-04-28 | 2015-04-22 | 株式会社Jvcケンウッド | イコライザ、イコライザ調整方法、及びプログラム |
US8958571B2 (en) | 2011-06-03 | 2015-02-17 | Cirrus Logic, Inc. | MIC covering detection in personal audio devices |
US9318094B2 (en) | 2011-06-03 | 2016-04-19 | Cirrus Logic, Inc. | Adaptive noise canceling architecture for a personal audio device |
US9824677B2 (en) | 2011-06-03 | 2017-11-21 | Cirrus Logic, Inc. | Bandlimiting anti-noise in personal audio devices having adaptive noise cancellation (ANC) |
EP2651033B1 (en) * | 2012-04-12 | 2020-06-17 | Siemens Aktiengesellschaft | Filter system |
US9318090B2 (en) | 2012-05-10 | 2016-04-19 | Cirrus Logic, Inc. | Downlink tone detection and adaptation of a secondary path response model in an adaptive noise canceling system |
US9123321B2 (en) | 2012-05-10 | 2015-09-01 | Cirrus Logic, Inc. | Sequenced adaptation of anti-noise generator response and secondary path response in an adaptive noise canceling system |
US9467111B2 (en) * | 2012-06-29 | 2016-10-11 | Audyssey Laboratories | Operator adjustable full-bandwidth audio spectral shifting control with a simple listener interface |
US9532139B1 (en) | 2012-09-14 | 2016-12-27 | Cirrus Logic, Inc. | Dual-microphone frequency amplitude response self-calibration |
US9319790B2 (en) | 2012-12-26 | 2016-04-19 | Dts Llc | Systems and methods of frequency response correction for consumer electronic devices |
US9414150B2 (en) | 2013-03-14 | 2016-08-09 | Cirrus Logic, Inc. | Low-latency multi-driver adaptive noise canceling (ANC) system for a personal audio device |
US9502020B1 (en) | 2013-03-15 | 2016-11-22 | Cirrus Logic, Inc. | Robust adaptive noise canceling (ANC) in a personal audio device |
US10206032B2 (en) | 2013-04-10 | 2019-02-12 | Cirrus Logic, Inc. | Systems and methods for multi-mode adaptive noise cancellation for audio headsets |
US9462376B2 (en) | 2013-04-16 | 2016-10-04 | Cirrus Logic, Inc. | Systems and methods for hybrid adaptive noise cancellation |
US9478210B2 (en) | 2013-04-17 | 2016-10-25 | Cirrus Logic, Inc. | Systems and methods for hybrid adaptive noise cancellation |
US9460701B2 (en) | 2013-04-17 | 2016-10-04 | Cirrus Logic, Inc. | Systems and methods for adaptive noise cancellation by biasing anti-noise level |
US9578432B1 (en) | 2013-04-24 | 2017-02-21 | Cirrus Logic, Inc. | Metric and tool to evaluate secondary path design in adaptive noise cancellation systems |
WO2014194306A1 (en) * | 2013-05-31 | 2014-12-04 | Meyer Sound Laboratories, Incorporated | Filter with independently adjustable band gain and break point slopes and method of constructing same |
US9392364B1 (en) | 2013-08-15 | 2016-07-12 | Cirrus Logic, Inc. | Virtual microphone for adaptive noise cancellation in personal audio devices |
US9666176B2 (en) | 2013-09-13 | 2017-05-30 | Cirrus Logic, Inc. | Systems and methods for adaptive noise cancellation by adaptively shaping internal white noise to train a secondary path |
US9620101B1 (en) | 2013-10-08 | 2017-04-11 | Cirrus Logic, Inc. | Systems and methods for maintaining playback fidelity in an audio system with adaptive noise cancellation |
US9906858B2 (en) | 2013-10-22 | 2018-02-27 | Bongiovi Acoustics Llc | System and method for digital signal processing |
US9704472B2 (en) | 2013-12-10 | 2017-07-11 | Cirrus Logic, Inc. | Systems and methods for sharing secondary path information between audio channels in an adaptive noise cancellation system |
US10382864B2 (en) | 2013-12-10 | 2019-08-13 | Cirrus Logic, Inc. | Systems and methods for providing adaptive playback equalization in an audio device |
US10219071B2 (en) | 2013-12-10 | 2019-02-26 | Cirrus Logic, Inc. | Systems and methods for bandlimiting anti-noise in personal audio devices having adaptive noise cancellation |
US9479860B2 (en) | 2014-03-07 | 2016-10-25 | Cirrus Logic, Inc. | Systems and methods for enhancing performance of audio transducer based on detection of transducer status |
US9648436B2 (en) | 2014-04-08 | 2017-05-09 | Doppler Labs, Inc. | Augmented reality sound system |
US9560437B2 (en) | 2014-04-08 | 2017-01-31 | Doppler Labs, Inc. | Time heuristic audio control |
US9524731B2 (en) * | 2014-04-08 | 2016-12-20 | Doppler Labs, Inc. | Active acoustic filter with location-based filter characteristics |
US9557960B2 (en) | 2014-04-08 | 2017-01-31 | Doppler Labs, Inc. | Active acoustic filter with automatic selection of filter parameters based on ambient sound |
US9825598B2 (en) | 2014-04-08 | 2017-11-21 | Doppler Labs, Inc. | Real-time combination of ambient audio and a secondary audio source |
US9736264B2 (en) | 2014-04-08 | 2017-08-15 | Doppler Labs, Inc. | Personal audio system using processing parameters learned from user feedback |
US10181315B2 (en) | 2014-06-13 | 2019-01-15 | Cirrus Logic, Inc. | Systems and methods for selectively enabling and disabling adaptation of an adaptive noise cancellation system |
US9478212B1 (en) | 2014-09-03 | 2016-10-25 | Cirrus Logic, Inc. | Systems and methods for use of adaptive secondary path estimate to control equalization in an audio device |
US9552805B2 (en) | 2014-12-19 | 2017-01-24 | Cirrus Logic, Inc. | Systems and methods for performance and stability control for feedback adaptive noise cancellation |
EP3259927A1 (en) * | 2015-02-19 | 2017-12-27 | Dolby Laboratories Licensing Corporation | Loudspeaker-room equalization with perceptual correction of spectral dips |
KR20180044324A (ko) | 2015-08-20 | 2018-05-02 | 시러스 로직 인터내셔널 세미컨덕터 리미티드 | 피드백 적응적 잡음 소거(anc) 제어기 및 고정 응답 필터에 의해 부분적으로 제공되는 피드백 응답을 갖는 방법 |
US9578415B1 (en) | 2015-08-21 | 2017-02-21 | Cirrus Logic, Inc. | Hybrid adaptive noise cancellation system with filtered error microphone signal |
US9678709B1 (en) | 2015-11-25 | 2017-06-13 | Doppler Labs, Inc. | Processing sound using collective feedforward |
US9703524B2 (en) | 2015-11-25 | 2017-07-11 | Doppler Labs, Inc. | Privacy protection in collective feedforward |
US10853025B2 (en) | 2015-11-25 | 2020-12-01 | Dolby Laboratories Licensing Corporation | Sharing of custom audio processing parameters |
US9584899B1 (en) | 2015-11-25 | 2017-02-28 | Doppler Labs, Inc. | Sharing of custom audio processing parameters |
US11145320B2 (en) | 2015-11-25 | 2021-10-12 | Dolby Laboratories Licensing Corporation | Privacy protection in collective feedforward |
US10013966B2 (en) | 2016-03-15 | 2018-07-03 | Cirrus Logic, Inc. | Systems and methods for adaptive active noise cancellation for multiple-driver personal audio device |
WO2018062406A1 (ja) * | 2016-09-28 | 2018-04-05 | ヤマハ株式会社 | フィルタの周波数レスポンス設定方法および設定装置 |
CN109246523B (zh) * | 2018-08-02 | 2020-11-06 | 美律电子(深圳)有限公司 | 耳机 |
IT201900005652A1 (it) * | 2019-04-12 | 2020-10-12 | Ik Multimedia Production Srl | Sistema di riproduzione audio |
WO2024102060A1 (en) * | 2022-11-11 | 2024-05-16 | Audiodo Ab (Publ) | Equalizer control |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1212671A (en) * | 1966-08-05 | 1970-11-18 | Walter Farrer | Active filters with independent control of the pole and zero locations |
DE3667368D1 (de) * | 1985-03-09 | 1990-01-11 | Ant Nachrichtentech | Tiefen- oder hoehen-shelving-filter. |
US5141817A (en) | 1989-06-13 | 1992-08-25 | International Business Machines Corporation | Dielectric structures having embedded gap filling RIE etch stop polymeric materials of high thermal stability |
US5357208A (en) * | 1993-03-26 | 1994-10-18 | At&T Bell Laboratories | Boost function for filters |
JPH09130207A (ja) * | 1995-10-31 | 1997-05-16 | Sony Corp | トラップ回路、信号トラップ方法、帯域フィルタ、帯域フィルタリング方法、演算装置、および演算方法 |
US5739691A (en) * | 1995-11-28 | 1998-04-14 | The Regents Of The University Of California | Multi-frequency digital low pass filter for magnetic resonance imaging |
JPH10321221A (ja) | 1997-05-21 | 1998-12-04 | Yuasa Corp | 鉛蓄電池用電極 |
US6959220B1 (en) * | 1997-11-07 | 2005-10-25 | Microsoft Corporation | Digital audio signal filtering mechanism and method |
GB2364189A (en) * | 2000-06-30 | 2002-01-16 | Motorola Inc | Complex filter arrangement and element therefor |
US6876750B2 (en) * | 2001-09-28 | 2005-04-05 | Texas Instruments Incorporated | Method and apparatus for tuning digital hearing aids |
AU2002368434A1 (en) * | 2002-12-09 | 2004-06-30 | Tc Electronic A/S | A fully parametric equalizer |
US7390960B1 (en) * | 2003-07-18 | 2008-06-24 | Jeffrey Arnold | Electronic signal processor |
CA2568916C (en) * | 2005-07-29 | 2010-02-09 | Harman International Industries, Incorporated | Audio tuning system |
US20070253577A1 (en) * | 2006-05-01 | 2007-11-01 | Himax Technologies Limited | Equalizer bank with interference reduction |
US20080240448A1 (en) * | 2006-10-05 | 2008-10-02 | Telefonaktiebolaget L M Ericsson (Publ) | Simulation of Acoustic Obstruction and Occlusion |
-
2008
- 2008-03-11 GB GB0804557.7A patent/GB2458631B/en active Active
-
2009
- 2009-03-10 JP JP2010550256A patent/JP2011517390A/ja not_active Withdrawn
- 2009-03-10 US US12/921,869 patent/US9203366B2/en active Active
- 2009-03-10 EP EP09720624A patent/EP2263312A1/en not_active Withdrawn
- 2009-03-10 WO PCT/GB2009/000652 patent/WO2009112825A1/en active Application Filing
-
2010
- 2010-03-16 HK HK10102734.5A patent/HK1136097A1/xx not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014053684A (ja) * | 2012-09-05 | 2014-03-20 | Jvc Kenwood Corp | 音声再生装置、調整方法及びプログラム |
US9154894B2 (en) | 2012-12-26 | 2015-10-06 | Onkyo Corporation | Frequency characteristics determination device |
WO2019181734A1 (ja) * | 2018-03-23 | 2019-09-26 | ヤマハ株式会社 | フィルタ制御方法、オーディオ処理方法、フィルタ制御装置、プログラムおよびフィルタエレメント |
JP2019169847A (ja) * | 2018-03-23 | 2019-10-03 | ヤマハ株式会社 | フィルタの制御方法、およびフィルタエレメント |
JP7017103B2 (ja) | 2018-03-23 | 2022-02-08 | ヤマハ株式会社 | フィルタの制御方法、およびフィルタエレメント |
Also Published As
Publication number | Publication date |
---|---|
GB2458631B (en) | 2013-03-20 |
GB0804557D0 (en) | 2008-04-16 |
US20110096933A1 (en) | 2011-04-28 |
GB2458631A (en) | 2009-09-30 |
EP2263312A1 (en) | 2010-12-22 |
HK1136097A1 (en) | 2010-06-18 |
US9203366B2 (en) | 2015-12-01 |
WO2009112825A1 (en) | 2009-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011517390A (ja) | 音声処理 | |
JP6490641B2 (ja) | ラウドネスに基づくオーディ信号補償 | |
US10396739B2 (en) | Methods and apparatus for adjusting a level of an audio signal | |
TWI471856B (zh) | 控制音頻信號之特殊響度特徵的方法、及用以執行其之裝置與電腦程式 | |
JP6130931B2 (ja) | 等化フィルタ係数決定器、装置、等化フィルタ係数プロセッサ、システムおよび方法 | |
JP4685106B2 (ja) | オーディオ調整システム | |
NL1030541C2 (nl) | Werkwijze voor het compenseren van audiofrequentieresponsiekarakteristieken in real-time en een daarvan gebruikmakend geluidssysteem. | |
KR20180099642A (ko) | 오디오 신호의 스펙트럼 보정 | |
AU2005299665A1 (en) | Unnatural reverberation | |
WO2019181734A1 (ja) | フィルタ制御方法、オーディオ処理方法、フィルタ制御装置、プログラムおよびフィルタエレメント | |
JP2015087686A (ja) | 音響装置 | |
Belloch et al. | Efficient target-response interpolation for a graphic equalizer | |
TWI789947B (zh) | 使用iir濾波器的基於基因演算法的等化器 | |
Genereux | Signal processing considerations for acoustic environment correction | |
JP6213701B1 (ja) | 音響信号処理装置 | |
JP2020537470A (ja) | オーディオ信号の個人適用のためのパラメータを設定するための方法 | |
TWI843240B (zh) | 主動降噪濾波器的生成方法、存儲介質及耳機 | |
WO2024102060A1 (en) | Equalizer control | |
JP2023062699A (ja) | アクティブノイズリダクションフィルタの生成方法、記憶媒体およびヘッドホン | |
JP4706189B2 (ja) | ディジタルフィルタの係数調整回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120309 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20130624 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130716 |