(57)【要約】  低コーナ周波数Ｕ及び高コーナ周波数ｆ２を有する、音声データ用の所望のシェルビングフィルタを生成する方法である。ここで、所望のシェルビングフィルタの周波数応答のｆ２におけるゲインとＵにおけるゲインとの差は、ゼロでない所望の量に実質的に等しい。この方法は、第１の所定のタイプの第１のシェルビングフィルタについての次数を決定するステップであり、第１のシェルビングフィルタの低コーナ周波数がＵであり、第１のシェルビングフィルタの高コーナ周波数がｆΣであるステップと、第２の所定のタイプ及び所定の次数ｍの第２のシェルビングフィルタについて、第２のシェルビングフィルタの低コーナ周波数についての周波数ｆｚ及び前記第２のシェルビングフィルタの高コーナ周波数についての周波数Ｚ４を決定するステップであり、ｈがｆｉ以上であり、ｆ４がｆ３を超え、ｆ４がｆｉ以下であるステップと、所望のシェルビングフィルタを第１のシェルビングフィルタ及び第２のシェルビングフィルタのフィルタ組合せとして形成するステップとを含み、フィルタ組合せの周波数応答のｆｅにおけるゲインとフィルタ組合せの周波数応答のｆｉにおけるゲインとの差が前記所望の量に実質的に等しいようにｆｚ、ｆ４及び第１のシェルビングフィルタの次数が決定される。【選択図】  図３
2011517390.tif 000002
【特許請求の範囲】
【請求項１】
音声データ用の所望のシェルビングフィルタを生成する方法であって、前記所望のシェルビングフィルタは低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有しており、前記所望のシェルビングフィルタの周波数応答のｆ２におけるゲインと、前記所望のシェルビングフィルタの周波数応答のｆ１におけるゲインとの差が、ゼロでない所望の量に実質的に等しく、
第１の所定のタイプの第１のシェルビングフィルタの次数を決定するステップであって、該第１のシェルビングフィルタの低コーナ周波数がｆ１であり、該第１のシェルビングフィルタの高コーナ周波数がｆ２である、ステップと、
第２の所定のタイプ及び所定の次数ｍの第２のシェルビングフィルタについて、該第２のシェルビングフィルタの低コーナ周波数用の周波数ｆ３、及び該第２のシェルビングフィルタの高コーナ周波数用の周波数ｆ４を決定するステップであって、ｆ３がｆ１以上であり、ｆ４がｆ３を超え、ｆ４がｆ２以下である、ステップと、
前記所望のシェルビングフィルタを、前記第１のシェルビングフィルタ及び前記第２のシェルビングフィルタからなるフィルタ組合せとして形成するステップと
を含み、
前記フィルタ組合せの周波数応答のｆ２におけるゲインと、前記フィルタ組合せの周波数応答のｆ１におけるゲインとの差が、前記所望の量に実質的に等しいように、ｆ３、ｆ４、及び前記第１のシェルビングフィルタの前記次数が決定される方法。
【請求項２】
ｍ＝１である、請求項１に記載の方法。
【請求項３】
前記第１のシェルビングフィルタの次数を決定する前記ステップが、前記第１のシェルビングフィルタの最大次数を決定するステップを含んでおり、ここで、前記第１のシェルビングフィルタに対する前記所望の量の大きさが、前記第１のシェルビングフィルタの周波数応答のｆ２におけるゲイン及び前記第１のシェルビングフィルタの周波数応答のｆ１におけるゲイン間の差の大きさを超えている、請求項１又は２に記載の方法。
【請求項４】
前記第１のシェルビングフィルタの次数を決定する前記ステップが、前記第１のシェルビングフィルタの最小次数を決定するステップを含んでおり、ここで、前記第１のシェルビングフィルタに対する前記所望の量の大きさが、ｆ２での前記第１のシェルビングフィルタの周波数応答のゲイン及びｆ１での前記第１のシェルビングフィルタの周波数応答のゲイン間の差の大きさ未満である、請求項１又は２に記載の方法。
【請求項５】
前記所望の量が正である場合、前記第１のシェルビングフィルタの周波数応答のｆ２におけるゲインが前記第１のシェルビングフィルタの周波数応答のｆ１におけるゲインを超えるように前記第１のシェルビングフィルタが構成され、
前記所望の量が負である場合、ｆ２での前記第１のシェルビングフィルタの周波数応答のゲインがｆ１での前記第１のシェルビングフィルタの周波数応答のゲイン未満となるように前記第１のシェルビングフィルタが構成される、
請求項１〜４のいずれか一項に記載の方法。
【請求項６】
ｆ３及びｆ４を決定する前記ステップは、
前記第２のシェルビングフィルタの周波数応答のｆ４におけるゲイン及び前記第２のシェルビングフィルタの周波数応答のｆ３におけるゲイン間の差が、前記所望の量と、前記第１のシェルビングフィルタの周波数応答のｆ２におけるゲイン及び前記第１のシェルビングフィルタの周波数応答のｆ１におけるゲイン間の差との差に実質的に等しいように、ｆ３及びｆ４を相対的に設定するステップ
を含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
ｆ３〜ｆ４の周波数範囲がｆ１〜ｆ２の周波数範囲の実質的に中央に位置するようにｆ３及びｆ４が設定される、請求項６に記載の方法。
【請求項８】
ｆ４＋ｆ３＝ｆ２＋ｆ１又はｆ４ｆ３＝ｆ２ｆ１であるようにｆ３及びｆ４が設定される、請求項７に記載の方法。
【請求項９】
前記所望の量が正であり、
前記第１のシェルビングフィルタの伝達関数の各零点が、（ａ）前記第１の所定のタイプに対応するタイプの第１のローパスフィルタであって、カットオフ周波数がｆ１であり、次数ｎ−１を有する該第１のローパスフィルタの伝達関数の対応する極の位置と、（ｂ）該対応するタイプの第２のローパスフィルタであって、カットオフ周波数がｆ１であり、次数ｎを有する該第２のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、
前記第１のシェルビングフィルタの伝達関数の各極が、（ｃ）該対応するタイプの第３のローパスフィルタであって、カットオフ周波数がｆ２であり、次数ｎ−１を有する該第３のローパスフィルタの伝達関数の対応する極の位置と、（ｄ）該対応するタイプの第４のローパスフィルタであって、カットオフ周波数がｆ２であり、次数ｎを有する該第４のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する、
請求項２に記載の方法。
【請求項１０】
前記所望の量が負であり、
前記第１のシェルビングフィルタの伝達関数の各極が、（ａ）前記第１の所定のタイプに対応するタイプの第１のローパスフィルタであって、カットオフ周波数がｆ１であり、次数ｎ−１を有する該第１のローパスフィルタの伝達関数の対応する極の位置と、（ｂ）該対応するタイプの第２のローパスフィルタであって、カットオフ周波数がｆ１であり、次数ｎを有する該第２のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、
前記第１のシェルビングフィルタの伝達関数の各零点が、（ｃ）該対応するタイプの第３のローパスフィルタであって、カットオフ周波数がｆ２であり、次数ｎ−１を有する該第３のローパスフィルタの伝達関数の対応する極の位置と、（ｄ）該対応するタイプの第４のローパスフィルタであって、カットオフ周波数がｆ２であり、次数ｎを有する該第４のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する、
請求項２に記載の方法。
【請求項１１】
ユーザが、ｆ１、ｆ２、及び前記所望の量を指定するステップを含む、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記第１の所定のタイプ及び前記第２の所定のタイプは、それぞれ、バターワースローパスフィルタ、チェビシェフローパスフィルタ、及び楕円ローパスフィルタのうちの１つのフィルタの特性に基づくフィルタタイプである、請求項１〜１１のいずれか一項に記載の方法。
【請求項１３】
前記第１の所定のタイプが、前記第２の所定のタイプと同じである、請求項１〜１２のいずれか一項に記載の方法。
【請求項１４】
音声データ用の所望のフィルタを生成する方法であって、
複数の周波数応答インジケータを指定して前記所望のフィルタの所望の周波数応答を定めるステップであって、各前記周波数応答インジケータが、ユーザ定義周波数と、前記所望の周波数応答の、該ユーザ定義周波数における、対応するユーザ定義ゲインとを指定する、ステップと、
１つ以上のフィルタからなるフィルタセットを決定するステップであって、前記周波数応答インジケータの各々について、前記フィルタセット中の前記１つ以上のフィルタの組合せの周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインが、該周波数応答インジケータによって指定される前記ゲインに実質的に等しいように、前記フィルタセットを決定するステップと
を含む方法。
【請求項１５】
前記周波数応答インジケータの個数が、ユーザによって定義されるものである、請求項１４に記載の方法。
【請求項１６】
ユーザが、前記複数の周波数応答インジケータのうちの１つ以上を定めるステップを含む、請求項１４又は１５に記載の方法。
【請求項１７】
前記１つ以上のフィルタからなるフィルタセットを決定するステップが、
隣接する前記周波数応答インジケータの対ごとに、対応するシェルビングフィルタを生成するステップを含んでおり、ここで、前記複数の周波数応答インジケータのいずれもが、ある周波数ｆＡと、ｆＡを超える周波数ｆＢとの間の周波数を指定しない場合、ｆＡを指定する周波数応答インジケータと、ｆＢを指定する別の周波数応答インジケータとが隣接している、請求項１４〜１６のいずれか一項に記載の方法。
【請求項１８】
各前記周波数応答インジケータについて、対応する目標ゲインを保持するステップを含み、
周波数ｆＡを指定する第１の周波数応答インジケータ及びｆＡを超える周波数ｆＢを指定する、隣接する第２の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、前記シェルビングフィルタを生成するステップが、請求項１〜１３のいずれか一項に記載の方法を実行するステップを含み、
ｆ１がｆＡに基づいており、
ｆ２がｆＢに基づいており、
前記所望の量が、前記第２の周波数応答インジケータに対応する目標ゲインと前記第１の周波数応答インジケータに対応する目標ゲインとの差であるように設定される、請求項１７に記載の方法。
【請求項１９】
各前記目標ゲインを、対応する前記周波数応答インジケータによって指定されるゲインに初期化するステップを含む、請求項１８に記載の方法。
【請求項２０】
第１の周波数応答インジケータ及び隣接する第２の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、
該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップの前に、該シェルビングフィルタの次数が所定の最大閾値を超過するか否かを判断し、超過する場合は、前記第１の周波数応答インジケータに対応する前記目標ゲイン及び前記第２の周波数応答インジケータに対応する前記目標ゲインの一方又は両方を調整して、該シェルビングフィルタの前記次数を減少させるステップを含む請求項１８又は１９に記載の方法。
【請求項２１】
周波数ｆＡを指定する第１の周波数応答インジケータ及びｆＡを超える周波数ｆＢを指定する、隣接する第２の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、請求項１〜１３のいずれか一項に記載の方法を実行して該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップが、ｆ１をｆＡに等しく設定するステップ、及びｆ２をｆＢに等しく設定するステップを含む、請求項１８〜２０のいずれか一項に記載の方法。
【請求項２２】
隣接する前記周波数応答インジケータの対ごとに、対応する周波数比例値を保持するステップを含み、
周波数ｆＡを指定する第１の周波数応答インジケータ及びｆＡを超える周波数ｆＢを指定する、隣接する第２の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、請求項１〜１３のいずれか一項に記載の方法を実行して該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップが、ｆＡ、ｆＢ及び前記対応する周波数比例値に基づいて、ｆ１及びｆ２を決定するステップを含む、
請求項１８〜２０のいずれか一項に記載の方法。
【請求項２３】
ｆ２−ｆ１＝ｈ（ｆＢ−ｆＡ）であり、ここで、ｈは、該一対の隣接する周波数応答インジケータに対応する前記周波数比例値である、請求項２２に記載の方法。
【請求項２４】
ｆ２／ｆ１＝（ｆＢ／ｆＡ）ｈであり、ここで、ｈは、該一対の隣接する周波数応答インジケータに対応する前記周波数比例値である、請求項２２に記載の方法。
【請求項２５】
ｆ１〜ｆ２の範囲が、ｆＡ〜ｆＢの範囲の実質的に中央に位置している、請求項２２〜２４のいずれか一項に記載の方法。
【請求項２６】
請求項２３を引用するときは、ｆ２＋ｆ１＝ｆＢ＋ｆＡである、請求項２５に記載の方法。
【請求項２７】
請求項２４を引用するときは、ｆ２ｆ１＝ｆＡｆＢである、請求項２５に記載の方法。
【請求項２８】
第１の周波数応答インジケータ及び隣接する第２の周波数応答インジケータからなる一対の隣接する周波数応答インジケータについて、
該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップの前に、該シェルビングフィルタの次数が所定の最大閾値を超過するか否かを判断し、超過する場合は、該一対の隣接する周波数応答インジケータに対応する前記周波数比例値を増加させて、該シェルビングフィルタの前記次数を減少させるステップを含む請求項２２〜２７のいずれか一項に記載の方法。
【請求項２９】
前記周波数比例値が、所定の最大周波数比例値を超えて増加することができない、請求項２８に記載の方法。
【請求項３０】
各周波数比例値を、対応する初期値に初期化するステップを含む、請求項２２〜２９のいずれか一項に記載の方法。
【請求項３１】
前記初期値が、約１／３〜約１／２の範囲内である、請求項３０に記載の方法。
【請求項３２】
前記１つ以上のフィルタからなるフィルタセットを生成する前記ステップの後に、１回以上の反復を実行するステップを含み、１つの該反復が、
前記目標ゲインのうちの１つ以上を調整するステップと、
調整した前記目標ゲインを用いて前記生成するステップを繰り返して、前記１つ以上のフィルタからなるフィルタセットを更新するステップと
を含み、
前記調整するステップは、前記所望の周波数応答と、更新された前記フィルタセットにおける前記１つ以上のフィルタの組合せの前記周波数応答との間の誤差が、前記所望の周波数応答と、更新される前の前記フィルタセットにおける前記１つ以上のフィルタの組合せの周波数応答との間の誤差未満であるように、前記目標ゲインのうちの１つ以上を調整するステップを含む、
請求項１８〜３１のいずれか一項に記載の方法。
【請求項３３】
前記１回以上の反復を実行するステップが、所定の最大回数以下の反復を実行するステップを含む、請求項３２に記載の方法。
【請求項３４】
１回の前記反復が、前記所望の周波数応答と、前記フィルタセットにおける前記１つ以上のフィルタの組合せの前記周波数応答との間の誤差を決定するステップを含んでおり、前記１回以上の反復を実行するステップは、決定した前記誤差が所定の誤差閾値未満である場合に終了する、請求項３２又は３３に記載の方法。
【請求項３５】
前記誤差を決定するステップが、
前記周波数応答インジケータごとに、前記所望の周波数応答のゲインと、前記フィルタセットにおける前記１つ以上のフィルタの組合せの周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインとの差を決定するステップと、
決定された前記差に基づいて前記誤差を決定するステップと
を含む、請求項３４に記載の方法。
【請求項３６】
１つの前記周波数応答インジケータに対応する目標ゲインを調整する前記ステップが、前記フィルタセットにおける前記フィルタの組合せの周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインと該周波数応答インジケータによって指定されるゲインとの差を前記目標ゲインから減じるステップを含む、請求項３２〜３５のいずれか一項に記載の方法。
【請求項３７】
ユーザが、ゲインスケールファクタを指定するステップと、
前記周波数応答インジケータごとに、該周波数応答インジケータによって指定されるゲインを、指定された前記ゲインスケールファクタによってスケーリングするステップと
を含む、請求項１４〜３６のいずれか一項に記載の方法。
【請求項３８】
音声フィルタを実装する方法であって、前記音声フィルタの伝達関数は、２ｓ個の複素数零点及び２ｓ個の複素数極を有しており、
ｓ個の２次フィルタセクションを形成するステップであって、１≦ｉ≦ｓの範囲内の各整数ｉについて、ｉ番目の該２次フィルタセクションが、
（ａ）前記音声フィルタの伝達関数の前記複素数零点であって、対応する複素共役零点と共に、単位円にｉ番目に近い、前記音声フィルタの伝達関数の複素数零点及び対応する複素共役零点の対をなす複素数零点と、
（ｂ）前記音声フィルタの伝達関数の前記複素数極であって、対応する複素共役極と共に、前記単位円にｉ番目に近い、前記音声フィルタの伝達関数の複素数極及び対応する複素共役極の対をなす複素数極と
に基づくように、前記ｓ個の２次フィルタセクションを形成するステップを含む方法。
【請求項３９】
第１の音声フィルタを用いた音声データのフィルタリングから第２の音声フィルタを用いた前記音声データのフィルタリングへ変更する方法であって、前記第１の音声フィルタの伝達関数は、２ｓ個の複素数零点及び２ｓ個の複素数極を有し、前記第２の音声フィルタの伝達関数は、２ｔ個の複素数零点及び２ｔ個の複素数極を有しており、
ｓ個の２次フィルタセクションを用いて前記第１のフィルタを形成するステップであって、１≦ｉ≦ｓの範囲内の各整数ｉについて、ｉ番目の該２次フィルタセクションが、（ａ）前記第１の音声フィルタの伝達関数の前記複素数零点であって、対応する複素共役零点と共に、単位円にｉ番目に近い、前記第１の音声フィルタの伝達関数の複素数零点及び対応する複素共役零点の対をなす複素数零点と、（ｂ）前記第１の音声フィルタの伝達関数の前記複素数極であって、前記対応する複素共役極と共に、前記単位円にｉ番目に近い、前記第１の音声フィルタの伝達関数の複素数極及び対応する複素共役極の対をなす複素数極とに基づいている、ステップと、
ｔ個の２次フィルタセクションを用いて前記第２のフィルタを形成するステップであって、１≦ｊ≦ｔの範囲内の各整数ｊについて、ｊ番目の該２次フィルタセクションが、（ｃ）前記第２の音声フィルタの伝達関数の前記複素数零点であって、対応する複素共役零点と共に、単位円にｊ番目に近い、前記第２の音声フィルタの伝達関数の複素数零点及び対応する複素共役零点の対をなす複素数零点と、（ｄ）前記第２の音声フィルタの伝達関数の前記複素数極であって、前記対応する複素共役極と共に、前記単位円にｊ番目に近い、前記第２の音声フィルタの伝達関数の複素数極及び対応する複素共役極の対をなす複素数極とに基づいている、ステップと、
１≦ｋ≦ｍｉｎｉｍｕｍ（ｓ，ｔ）の範囲内の各整数ｋについて、前記第２の音声フィルタのｋ番目の２次フィルタセクション用の状態変数の値を、前記第１の音声フィルタのｋ番目の２次フィルタセクション用の対応する状態変数の値に設定するステップと
を含む、方法。
【請求項４０】
ｔがｓより大きい場合に、ｓ＋１≦ｒ≦ｔの範囲内の各整数ｒについて、
前記第２の音声フィルタのｒ番目の２次フィルタセクション用の状態変数を値０に初期化するステップと、
前記第１の音声フィルタを用いた前記音声データのフィルタリングから前記第２の音声フィルタを用いた前記音声データのフィルタリングへの変更が開始した後の所定の時間にわたって、音声入力を前記第２の音声フィルタのｒ番目の２次フィルタセクションに供給するステップと、
前記所定の時間の後、前記第２の音声フィルタの前記ｒ番目の２次フィルタセクションの使用を開始して、前記音声データをフィルタリングするステップと、
を含む、請求項３９に記載の方法。
【請求項４１】
音声データを処理する方法であって、
第１の所望のフィルタを前記音声データに適用することによって前記音声データをフィルタリングするステップを含み、前記第１の所望のフィルタが、請求項１〜３８のいずれか一項に記載の方法によって生成されるフィルタである、方法。
【請求項４２】
前記音声データのフィルタリングを、前記第１の所望のフィルタを前記音声データに適用することから、第２の所望のフィルタを前記音声データに適用することへ変更するステップを含み、前記第２の所望のフィルタが、請求項１〜３８のいずれか一項に記載の方法によって生成されるフィルタである、請求項４１に記載の方法。
【請求項４３】
前記第１の所望のフィルタ及び前記第２の所望のフィルタが、請求項１４に記載の方法によって生成される、請求項４２に記載の方法であって、
複数の周波数応答インジケータを指定して前記第１の所望のフィルタを生成するステップと、
前記複数の周波数応答インジケータを更新するステップと、
更新された前記複数の周波数応答インジケータに基づいて前記第２の所望のフィルタを生成するステップと
を含む、請求項４２に記載の方法。
【請求項４４】
前記変更するステップが、請求項３９又は４０に記載の方法を実行するステップを含む、請求項４２又は４３に記載の方法。
【請求項４５】
音声データを処理するプロセッサを構成する方法であって、
請求項１〜４０のいずれか一項に記載の方法を実行することによって前記音声データ用の所望のフィルタを生成するステップと、
生成した前記フィルタを用いて前記音声データを処理するように前記プロセッサを構成するステップと
を含む方法。
【請求項４６】
所望の音声フィルタを生成する装置であって、
請求項１〜４０のいずれか一項に記載の方法を実行することによって音声データ用の所望のフィルタを生成するように構成されたプロセッサを備える装置。
【請求項４７】
音声データを処理する装置であって、
請求項４１〜４５のいずれか一項に記載の方法を実行することによって音声データを処理するように構成されたプロセッサと、
処理のために音声データを前記プロセッサに供給する手段と
を備える装置。
【請求項４８】
前記プロセッサが、請求項１〜４０のいずれか一項に記載の方法を実行することによって、前記音声データを処理する所望のフィルタを生成するように構成されている、請求項４７に記載の装置。
【請求項４９】
請求項１〜４０のいずれか一項に記載の方法によって生成される音声フィルタ。
【請求項５０】
コンピュータによって実行されると、請求項１〜４５のいずれか一項に記載の方法を実行するコンピュータプログラム。
【請求項５１】
請求項５０に記載のコンピュータプログラムを運搬するデータ運搬媒体。
【請求項５２】
記憶媒体又は伝送媒体である、請求項５１に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声処理、並びに音声処理のための方法及び装置に関する。
【背景技術】
【０００２】
音声データのイコライゼーションは、よく知られている。音声イコライザは一般に、３つのカテゴリ、（ａ）音質調整（ＴｏｎｅＣｏｎｔｒｏｌｓ）、（ｂ）パラメトリックイコライザ、及び（ｃ）グラフィックイコライザのうちの１つに分類される。これらのカテゴリは、よく知られており、したがって以下では簡潔に述べるにとどめる。
【０００３】
音質調整は、非常に少量の処理を用いて、装置による処理から得られる音声周波数応答を上げ下げする。通常、周波数応答の増減は、２つ、場合によっては３つの非常に広い周波数帯域に制限され、これらは、典型的には「低音域（Ｂａｓｓ）」、「中音域（Ｍｉｄ）」、及び「高音域（Ｔｒｅｂｌｅ）」と呼ばれる。音質調整は一般に、個々の聴き手が、基本的調整を用いて装置の周波数応答を制御して聴き手個人の好みに合わせることを可能にするために用意される。
【０００４】
パラメトリックイコライザは、しばしば録音及びミキシング中において、少量の処理を用いて単純なバンプ（ｂｕｍｐ）、ディップ（ｄｉｐ）、シェルフ（ｓｈｅｌｆ）、ハイカットフィルタ、ローカットフィルタなどのエフェクトを生成し、音を修正する。これら個々のオーディオエフェクト（又は音声処理の周波数応答の修正）は、一般に、幾つかの連続的に可変な「パラメータ」によって制御可能である（したがって、その名が「パラメトリックイコライザ」である）。例えば、バンプエフェクトは、以下のパラメータによって制御可能となりやすい。つまり、（ｉ）ゲイン、すなわち周波数応答の増減の量、（ｉｉ）中心周波数、すなわちバンプによる周波数応答の増減の大きさが最大となる周波数、（ｉｉｉ）帯域幅（「Ｑ」としても知られるが、このＱは帯域幅に反比例する）、すなわちバンプによって影響を受ける周波数の範囲である。パラメータの数が少ないので、パラメトリックイコライザは、一般に、手早く操作して特定の音源に対する所望のエフェクトを実現することができる。しかし、パラメトリックイコライザは、一般に、オーディオ帯域（又はスペクトル）全体にわたって緩やかな音声エフェクトを実現する際は効果的でなく、音場補正又はスピーカ補正のための詳細だが本質的には任意の音声エフェクトを実現する際にも効果的ではない。
【０００５】
グラフィック（又はグラフィカル）イコライザは、前述の音質調整及びパラメトリックイコライザより多くの処理を用いる。グラフィックイコライザは、音声スペクトルを、複数（通常３１個又は６１個）の公称的に独立し指数的に間隔をあけた所定の周波数帯域に効果的に分割する。次いで、ゲイン制御が、これらの周波数帯域の各々に対して行われる。これらの帯域に対するゲインが垂直フェーダによって制御され、これらのフェーダが、これらのフェーダによって制御される周波数が増加する順に左から右に配置されると、与えられる視覚的印象は、フェーダの位置が、グラフィックイコライザによって作り出される周波数応答をプロットするというものである。グラフィックイコライザは、スピーカ、音場、又は両者の問題などの音の最終的な音響送出の問題を補正するために最もよく用いられる。
【０００６】
グラフィックイコライザは、隣接する周波数帯域間の避けられない相互作用によって主に引き起こされる幾つかの問題を伴っている。例えば、幾つかの隣接するフェーダが、ある周波数範囲にわたって周波数応答を上げ下げするために用いられる場合、結果として得られる周波数応答の変化は、フェーダの位置によって実際に示される変化よりずっと大きい。このため、フェーダを操作するユーザによって意図されるエフェクトを超えた過剰なエフェクトがもたらされる。さらに、幾つかの隣接するフェーダが、このように共に用いられるとき、個々の周波数帯域は、フラットな（又は上げ下げされた）周波数応答を生み出すように滑らかに組み合わせることができない。代わりに、意図しない、主観的に煩わしい周波数応答のリップルが、これらの周波数帯域にわたって作り出される。この結果、広範囲の周波数にわたって問題を有する音場を補正するためにグラフィックイコライザを用いることが困難になる。
【０００７】
さらに（上記の問題とは対極的なことに）、グラフィックイコライザを用いて狭い周波数帯域の周波数応答を補正又は調整することは困難である。グラフィックイコライザを構成する個々のフィルタが、あらかじめ決まった周波数にあるためである。したがって、これら固定の周波数を、ユーザが補正したいと望む特定の周波数に変更することはできない。
【０００８】
さらに、音質調整及びパラメトリックイコライザと比較すると、（多数のフィルタの出力の組合せにより）グラフィックイコライザに固有の処理の量がかなり増加するので、グラフィックイコライザの位相応答は、通常、実際に望ましいものに比べて、ずっと変化が激しい。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
したがって、これら問題に対処する改良した音声イコライゼーション及びフィルタリングを提供することが望まれている。
【課題を解決するための手段】
【００１０】
本発明の第１の態様によれば、音声データ用の所望のシェルビングフィルタを生成する方法であって、前記所望のシェルビングフィルタは低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有しており、前記所望のシェルビングフィルタの周波数応答のｆ２におけるゲインと、前記所望のシェルビングフィルタの周波数応答のｆ１におけるゲインとの差が、ゼロでない所望の量に実質的に等しく、第１の所定のタイプの第１のシェルビングフィルタの次数を決定するステップであって、該第１のシェルビングフィルタの低コーナ周波数がｆ１であり、該第１のシェルビングフィルタの高コーナ周波数がｆ２である、ステップと、第２の所定のタイプ及び所定の次数ｍの第２のシェルビングフィルタについて、該第２のシェルビングフィルタの低コーナ周波数用の周波数ｆ３、及び該第２のシェルビングフィルタの高コーナ周波数用の周波数ｆ４を決定するステップであって、ｆ３がｆ１以上であり、ｆ４がｆ３を超え、ｆ４がｆ２以下である、ステップと、前記所望のシェルビングフィルタを、前記第１のシェルビングフィルタ及び前記第２のシェルビングフィルタからなるフィルタ組合せとして形成するステップとを含み、前記フィルタ組合せの周波数応答のｆ２におけるゲインと、前記フィルタ組合せの周波数応答のｆ１におけるゲインとの差が、前記所望の量に実質的に等しいように、ｆ３、ｆ４、及び前記第１のシェルビングフィルタの前記次数が決定される方法が提供される。
【００１１】
この方法によれば、任意の低コーナ周波数及び任意の高コーナ周波数を有するシェルビングフィルタであって低コーナ周波数と高コーナ周波数の間で周波数応答ゲインに任意の差があるものを指定して生成することが可能になる。これは、次に、例えばそのようなシェルビングフィルタを幾つか組み合わせることによって任意の所望の周波数応答を生成するために有用なフィルタとなる。
【００１２】
本発明の幾つかの実施形態は、ｍを１に設定する。これにより、より簡単な実装が可能になるとともに、低コーナ周波数及び高コーナ周波数間で、より直線的な周波数応答曲線を得ることができる。
【００１３】
本発明の一実施形態では、前記第１のシェルビングフィルタの次数を決定する前記ステップが、前記第１のシェルビングフィルタの最大次数を決定するステップを含んでおり、ここで、前記第１のシェルビングフィルタに対する前記所望の量の大きさが、前記第１のシェルビングフィルタの周波数応答のｆ２におけるゲイン及び前記第１のシェルビングフィルタの周波数応答のｆ１におけるゲイン間の差の大きさを超えている。本発明の別の実施形態では、前記第１のシェルビングフィルタの次数を決定する前記ステップが、前記第１のシェルビングフィルタの最小次数を決定するステップを含んでおり、前記第１のシェルビングフィルタに対する前記所望の量の大きさが、前記第１のシェルビングフィルタの周波数応答のｆ２におけるゲイン及び前記第１のシェルビングフィルタの周波数応答のｆ１におけるゲイン間の差の大きさ未満である。これらの実施形態は、適切な第２のシェルビングフィルタを確実に決定できるようにするために役立つ。
【００１４】
本発明の実施形態では、前記所望の量が正である場合、前記第１のシェルビングフィルタの周波数応答のｆ２におけるゲインが前記第１のシェルビングフィルタの周波数応答のｆ１におけるゲインを超えるように前記第１のシェルビングフィルタが構成され、前記所望の量が負である場合、前記第１のシェルビングフィルタの周波数応答のｆ２におけるゲインが、前記第１のシェルビングフィルタの周波数応答のｆ１におけるゲイン未満となるように、前記第１のシェルビングフィルタが構成される。
【００１５】
本発明の一実施形態では、ｆ３及びｆ４を決定する前記ステップは、前記第２のシェルビングフィルタの周波数応答のｆ４におけるゲイン及び前記第２のシェルビングフィルタの周波数応答のｆ３におけるゲイン間の差が、前記所望の量と、前記第１のシェルビングフィルタの周波数応答のｆ２におけるゲイン及び前記第１のシェルビングフィルタの周波数応答のｆ１におけるゲイン間の差との差に実質的に等しいように、ｆ３及びｆ４を相対的に設定するステップを含む。この実施形態は、第１のシェルビングフィルタと第２のシェルビングフィルタを組み合わせて所望のシェルビングフィルタを形成するときに、所望のシェルビングフィルタが確実に生成されるようにするために役立つ。
【００１６】
低コーナ周波数及び高コーナ周波数並びにそれらの周辺においてコーナ効果（「ウォブル（ｗｏｂｂｌｅ）」及び不要な曲線）を防ぐのを助けるために、本発明の幾つかの実施形態では、ｆ３〜ｆ４の周波数範囲がｆ１〜ｆ２の周波数範囲内の実質的に中央に位置するようにｆ３及びｆ４が設定される。特に、ｆ４＋ｆ３＝ｆ２＋ｆ１又はｆ４ｆ３＝ｆ２ｆ１であるようにｆ３及びｆ４が設定されてもよい。
【００１７】
ｍ＝１である一実施形態では、所望の量が正である場合、前記第１のシェルビングフィルタの伝達関数の各零点が、（ａ）前記第１の所定のタイプに対応するタイプの第１のローパスフィルタであって、カットオフ周波数がｆ１であり、次数ｎ−１を有する該第１のローパスフィルタの伝達関数の対応する極の位置と、（ｂ）該対応するタイプの第２のローパスフィルタであって、カットオフ周波数がｆ１であり、次数ｎを有する該第２のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、前記第１のシェルビングフィルタの伝達関数の各極が、（ｃ）該対応するタイプの第３のローパスフィルタであって、カットオフ周波数がｆ２であり、次数ｎ−１を有する該第３のローパスフィルタの伝達関数の対応する極の位置と、（ｄ）該対応するタイプの第４のローパスフィルタであって、カットオフ周波数がｆ２であり、次数ｎを有する該第４のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する。このように形成されるシェルビングフィルタは、あるシェルビングフィルタから別のシェルビングフィルタに移行できることが望まれるときに、特に有用である。
【００１８】
ｍ＝１である一実施形態では、所望の量が負である場合、前記第１のシェルビングフィルタの伝達関数の各極が、（ａ）前記第１の所定のタイプに対応するタイプの第１のローパスフィルタであって、カットオフ周波数がｆ１であり、次数ｎ−１を有する該第１のローパスフィルタの伝達関数の対応する極の位置と、（ｂ）該対応するタイプの第２のローパスフィルタであって、カットオフ周波数がｆ１であり、次数ｎを有する該第２のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、前記第１のシェルビングフィルタの伝達関数の各零点が、（ｃ）該対応するタイプの第３のローパスフィルタであって、カットオフ周波数がｆ２であり、次数ｎ−１を有する該第３のローパスフィルタの伝達関数の対応する極の位置と、（ｄ）該対応するタイプの第４のローパスフィルタであって、カットオフ周波数がｆ２であり、次数ｎを有する該第４のローパスフィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する。
【００１９】
本発明の幾つかの実施形態では、ユーザが、ｆ１、ｆ２、及び前記所望の量を指定することができ、それにより、シェルビングフィルタをユーザが全面的に構成できるようになる。
【００２０】
本発明の幾つかの実施形態では、前記第１の所定のタイプ及び前記第２の所定のタイプは、それぞれ、バターワースローパスフィルタ、チェビシェフローパスフィルタ、及び楕円ローパスフィルタのうちの１つのフィルタの特性に基づくフィルタタイプである。この特性には、対応するフィルタタイプのローパスフィルタの伝達関数の零点の位置及び極の位置が含まれていてもよい。前記第１の所定のタイプが、前記第２の所定のタイプと同じであってもよい。
【００２１】
本発明の第２の態様によれば、音声データ用の所望のフィルタを生成する方法が提供される。この方法は、複数の周波数応答インジケータを指定して前記所望のフィルタの所望の周波数応答を定めるステップであって、各前記周波数応答インジケータが、ユーザ定義周波数と、前記所望の周波数応答の、該ユーザ定義周波数における、対応するユーザ定義ゲインとを指定する、ステップと、１つ以上のフィルタからなるフィルタセットを決定するステップであって、前記周波数応答インジケータの各々について、前記フィルタセット中の前記１つ以上のフィルタの組合せの周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインが、該周波数応答インジケータによって指定される前記ゲインに実質的に等しいように、前記フィルタセットを決定するステップとを含む。
【００２２】
このような方法によれば、柔軟性の高い音声イコライザをユーザの特定の要求に従って作成することができる。特に、ユーザは、従来のグラフィックイコライザのように所定の周波数帯域に制限されることはなく、また、幾つかの実施形態では周波数応答インジケータの個数をユーザが定義できるので、そのような所定の周波数帯域の個数に制限されることもない。
【００２３】
本発明の幾つかの実施形態は、ユーザが、前記複数の周波数応答インジケータのうちの１つ以上を定めるステップを含む。
【００２４】
本発明の一実施形態では、前記１つ以上のフィルタからなるフィルタセットを決定するステップが、隣接する周波数応答インジケータの対ごとに、対応するシェルビングフィルタを生成するステップを含んでおり、ここで、前記複数の周波数応答インジケータのいずれもが、ある周波数ｆＡと、ｆＡを超える周波数ｆＢとの間の周波数を指定しない場合、ｆＡを指定する周波数応答インジケータと、ｆＢを指定する別の周波数応答インジケータとが隣接している。
【００２５】
特に、この方法は、各前記周波数応答インジケータについて、対応する目標ゲインを保持するステップを含んでいてもよく、周波数ｆＡを指定する第１の周波数応答インジケータ及びｆＡを超える周波数ｆＢを指定する、隣接する第２の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、前記シェルビングフィルタを生成するステップが、本発明の上記第１の態様の方法を実行するステップを含み、ｆ１がｆＡに基づいており、ｆ２がｆＢに基づいており、前記所望の量が、前記第２の周波数応答インジケータに対応する目標ゲインと前記第１の周波数応答インジケータに対応する目標ゲインとの差であるように設定される。この方法は、各目標ゲインを、対応する周波数応答インジケータによって指定されるゲインに初期化するステップを含んでいてもよい。
【００２６】
これらの実施形態において、この方法は、第１の周波数応答インジケータ及び隣接する第２の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップの前に、該シェルビングフィルタの次数が所定の最大閾値を超過するか否かを判断し、超過する場合は、前記第１の周波数応答インジケータに対応する前記目標ゲイン及び前記第２の周波数応答インジケータに対応する前記目標ゲインの一方又は両方を調整して、該シェルビングフィルタの前記次数を減少させるステップを含んでもよい。これは、生成されるシェルビングフィルタの次数が大きくなり過ぎず、それにより過度の電力消費、ハードウェア利用、処理時間、及び遅延が防止されることを確実にするために役立つ。
【００２７】
これらの実施形態の幾つかにおいて、周波数ｆＡを指定する第１の周波数応答インジケータ及びｆＡを超える周波数ｆＢを指定する、隣接する第２の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、本発明の第１の態様の方法を実行して該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップが、ｆ１をｆＡに等しく設定するステップ、及びｆ２をｆＢに等しく設定するステップを含んでいる。
【００２８】
この他に、これらの実施形態の幾つかにおいて、この方法は、隣接する前記周波数応答インジケータの対ごとに、対応する周波数比例値を保持するステップを含み、周波数ｆＡを指定する第１の周波数応答インジケータ及びｆＡを超える周波数ｆＢを指定する、隣接する第２の周波数応答インジケータからなる一対の隣接する前記周波数応答インジケータについて、本発明の上記第１の態様の方法を実行して該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップが、ｆＡ、ｆＢ、及び前記対応する周波数比例値に基づいて、ｆ１及びｆ２を決定するステップを含む。特に、ｆ１及びｆ２は、ｆ２−ｆ１＝ｈ（ｆＢ−ｆＡ）又はｆ２／ｆ１＝（ｆＢ／ｆＡ）ｈであってもよい。ここで、ｈは、該一対の隣接する周波数応答インジケータに対応する前記周波数比例値である。
【００２９】
この場合、ｆ１〜ｆ２の範囲は、ｆＡ〜ｆＢの範囲の実質的に中央に位置していてもよく、例えば、ｆ１及びｆ２は、ｆ２＋ｆ１＝ｆＢ＋ｆＡ又はｆ２ｆ１＝ｆＡｆＢであるように決定されてもよい。
【００３０】
本発明の幾つかの実施形態は、第１の周波数応答インジケータ及び隣接する第２の周波数応答インジケータからなる一対の隣接する周波数応答インジケータについて、該一対の隣接する周波数応答インジケータに対応する前記シェルビングフィルタを生成する前記ステップの前に、該シェルビングフィルタの次数が所定の最大閾値を超過するか否かを判断し、超過する場合は、該一対の隣接する周波数応答インジケータに対応する前記周波数比例値を増加させて、該シェルビングフィルタの前記次数を減少させるステップを含んでいてもよい。これらの実施形態の幾つかは、前記周波数比例値が、所定の最大周波数比例値を超えて増加することができないように構成されていてもよい。
【００３１】
各周波数比例値は、対応する初期値に初期化されてもよく、この対応する初期値は、好ましくは、約１／３〜約１／２の範囲内である。
【００３２】
次に、本発明の幾つかの実施形態は、前記１つ以上のフィルタからなるフィルタセットを生成する前記ステップの後に、１回以上の反復を実行するステップを含み、１つの該反復が、前記目標ゲインのうちの１つ以上を調整するステップと、調整した前記目標ゲインを用いて前記生成するステップを繰り返して、前記１つ以上のフィルタからなるフィルタセットを更新するステップとを含み、前記調整するステップは、前記所望の周波数応答と、更新された前記フィルタセットにおける前記１つ以上のフィルタの組合せの前記周波数応答との間の誤差が、前記所望の周波数応答と、更新される前の前記フィルタセットにおける前記１つ以上のフィルタの組合せの周波数応答との間の誤差未満であるように、前記目標ゲインのうちの１つ以上を調整するステップを含んでいてもよい。
【００３３】
このような実施形態は、所定の最大回数以下の反復を実行するステップを含んでいてもよい。これにより、所望のフィルタが限られた時間内に確実に生成されるようになる。これは、リアルタイムの音声処理用途に特に有用である。
【００３４】
これらの反復の各々は、前記所望の周波数応答と、前記フィルタセットにおける前記１つ以上のフィルタの組合せの前記周波数応答との間の誤差を決定するステップを含んでいてもよく、前記１回以上の反復を実行するステップは、決定した前記誤差が所定の誤差閾値未満である場合に終了する。これにより、やはり所望のフィルタが限られた時間内に確実に生成されるようになり（この場合は、生成されたフィルタセットが所望の周波数応答に十分に近い周波数応答を有するときである）、これは、リアルタイムの音声処理用途に特に有用である。前記誤差を決定するステップは、前記周波数応答インジケータごとに、前記所望の周波数応答のゲインと、前記フィルタセットにおける前記フィルタの組合せの周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインとの差を決定するステップと、決定された前記差に基づいて前記誤差を決定するステップとを含んでいてもよい。
【００３５】
本発明の幾つかの実施形態では、一つの前記周波数応答インジケータに対応する目標ゲインを調整する前記ステップが、前記フィルタセットにおける前記フィルタの組合せの周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインと該周波数応答インジケータによって指定される前記ゲインとの差を前記目標ゲインから減じるステップを含んでいる。
【００３６】
本発明の幾つかの実施形態は、ユーザが、ゲインスケールファクタを指定するステップと、前記周波数応答インジケータごとに、該周波数応答インジケータによって指定されるゲインを、指定された前記ゲインスケールファクタによってスケーリングするステップとを含んでいる。これは、ユーザが周波数応答インジケータを介して指定した所望の周波数応答の全体的な強度を容易に制御する機構をユーザに提供する。
【００３７】
本発明の第３の態様によれば、音声フィルタを実装する方法が提供される。ここで、前記音声フィルタの伝達関数は、２ｓ個の複素数零点及び２ｓ個の複素数極を有している。この方法は、ｓ個の２次フィルタセクションを形成するステップであって、１≦ｉ≦ｓの範囲内の各整数ｉについて、ｉ番目の該２次フィルタセクションが、（ａ）前記音声フィルタの伝達関数の前記複素数零点であって、対応する複素共役零点と共に、単位円にｉ番目に近い、前記音声フィルタの伝達関数の複素数零点及び対応する複素共役零点の対をなす複素数零点と、（ｂ）前記音声フィルタの伝達関数の前記複素数極であって、対応する複素共役極と共に、前記単位円に前記ｉ番目に近い、前記音声フィルタの伝達関数の複素数極及び対応する複素共役極の対をなす複素数極とに基づくように、前記ｓ個の２次フィルタセクションを形成するステップを含んでいる。
【００３８】
本発明の第４の態様によれば、第１の音声フィルタを用いた音声データのフィルタリングから第２の音声フィルタを用いた前記音声データのフィルタリングへ変更する方法が提供される。ここで、前記第１の音声フィルタの伝達関数は、２ｓ個の複素数零点及び２ｓ個の複素数極を有し、前記第２の音声フィルタの伝達関数は、２ｔ個の複素数零点及び２ｔ個の複素数極を有している。この方法は、ｓ個の２次フィルタセクションを用いて第１のフィルタを形成するステップであって、１≦ｉ≦ｓの範囲内の各整数ｉについて、ｉ番目の該２次フィルタセクションが、（ａ）前記第１の音声フィルタの伝達関数の前記複素数零点であって、対応する複素共役零点と共に、単位円にｉ番目に近い、前記第１の音声フィルタの伝達関数の複素数零点及び対応する複素共役零点の対をなす複素数零点と、（ｂ）前記第１の音声フィルタの伝達関数の前記複素数極であって、前記対応する複素共役極と共に、前記単位円にｉ番目に近い、前記第１の音声フィルタの伝達関数の複素数極及び対応する複素共役極の対をなす複素数極とに基づいている、ステップと、ｔ個の２次フィルタセクションを用いて前記第２のフィルタを形成するステップであって、１≦ｊ≦ｔの範囲内の各整数ｊについて、ｊ番目の該２次フィルタセクションが、（ｃ）前記第２の音声フィルタの伝達関数の前記複素数零点であって、対応する複素共役零点と共に、単位円にｊ番目に近い、前記第２の音声フィルタの伝達関数の複素数零点及び対応する複素共役零点の対をなす複素数零点と、（ｄ）前記第２の音声フィルタの伝達関数の前記複素数極であって、前記対応する複素共役極と共に、前記単位円にｊ番目に近い、前記第２の音声フィルタの伝達関数の複素数極及び対応する複素共役極の対をなす複素数極とに基づいている、ステップと、１≦ｋ≦ｍｉｎｉｍｕｍ（ｓ，ｔ）の範囲内の各整数ｋについて、前記第２の音声フィルタのｋ番目の２次フィルタセクション用の状態変数の値を、前記第１の音声フィルタのｋ番目の２次フィルタセクション用の対応する状態変数の値に設定するステップとを含んでいる。
【００３９】
本発明の第３の態様により形成される音声フィルタを使用すると、本発明の第４の態様の方法を使用することが可能になる。あるフィルタから別なフィルタに移行するそのような構成は、フィルタ間の移行期中に導入され得る音声ノイズの量を最小限に抑えるために役立つ。
【００４０】
本発明の一実施形態において、この方法は、ｔがｓより大きい場合に、ｓ＋１≦ｒ≦ｔの範囲内の各整数ｒについて、前記第２の音声フィルタのｒ番目の２次フィルタセクション用の状態変数を値０に初期化するステップと、前記第１の音声フィルタを用いた前記音声データのフィルタリングから前記第２の音声フィルタを用いた前記音声データのフィルタリングへの変更が開始した後の所定の時間にわたって、音声入力を前記第２の音声フィルタのｒ番目の２次フィルタセクションに供給するステップと、前記所定の時間の後、前記第２の音声フィルタの前記ｒ番目の２次フィルタセクションの使用を開始して、前記音声データをフィルタリングするステップと、を含んでいる。
【００４１】
本発明の第５の態様によれば、音声データを処理する方法であって、第１の所望のフィルタを前記音声データに適用することによって前記音声データをフィルタリングするステップを含み、前記第１の所望のフィルタが、所望のフィルタを生成する上記の方法に従った方法によって生成されるフィルタである、方法が提供される。この方法は、前記音声データのフィルタリングを、前記第１の所望のフィルタを前記音声データに適用することから、第２の所望のフィルタを前記音声データに適用することへ変更するステップを含んでいてもよく、ここで、前記第２の所望のフィルタは、フィルタを生成する上記の方法に従った方法によって生成されるフィルタである。
【００４２】
前記第１の所望のフィルタ及び前記第２の所望のフィルタが、複数の周波数応答インジケータを指定することに基づいた方法によって生成されるとき、この方法は、複数の周波数応答インジケータを指定して前記第１の所望のフィルタを生成するステップと、前記複数の周波数応答インジケータを更新するステップと、更新された前記複数の周波数応答インジケータに基づいて前記第２の所望のフィルタを生成するステップとを含んでいてもよい。
【００４３】
本発明の幾つかの実施形態では、前記変更するステップが、第１の音声フィルタを用いた音声データのフィルタリングから第２の音声フィルタを用いた音声データのフィルタリングへ変更する前述の本発明の第４の態様に係る方法を実行するステップを含んでいる。
【００４４】
本発明の第６の態様によれば、音声データを処理するプロセッサを構成する方法であって、フィルタを生成する上記の方法のいずれか１つに従った方法を実行することによって前記音声データ用の所望のフィルタを生成するステップと、生成した前記フィルタを用いて前記音声データを処理するように前記プロセッサを構成するステップとを含む方法が提供される。
【００４５】
本発明の第７の態様によれば、所望の音声フィルタを生成する装置であって、フィルタを生成する前述の方法のいずれか１つに従った方法を実行することによって音声データ用の所望のフィルタを生成するように構成されたプロセッサを備える装置が提供される。
【００４６】
本発明の第８の態様によれば、音声データを処理する装置であって、音声データを処理する上記の方法のいずれか１つを実行することによって音声データを処理するように構成されたプロセッサと、処理のために音声データを前記プロセッサに供給する手段とを備える装置が提供される。このプロセッサは、所望のフィルタ生成する上記の方法のいずれか１つ実行することによって、前記音声データを処理する所望のフィルタを生成するように構成されていてもよい。
【００４７】
本発明の第９の態様によれば、所望の音声フィルタを生成する上記の方法のいずれか１つによって生成される音声フィルタが提供される。
【００４８】
本発明の第１０の態様によれば、コンピュータによって実行されると、上記の方法のいずれか１つに従った方法を実行するコンピュータプログラムが提供される。このコンピュータプログラムは、データ運搬媒体で運搬されてもよく、この媒体は、記憶媒体又は伝送媒体であってもよい。
【００４９】
以下では、本発明の実施形態を、あくまで例示として、添付図面を参照しながら説明する。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施形態によるシステムの概略図である。
【図２】本発明の一実施形態により実施される処理の概要を概略的に示すフローチャートである。
【図３】本発明の一実施形態による一例のグラフィカルユーザインタフェースの概略図である。
【図４ａ】例示の立ち下がりシェルビングフィルタについての周波数応答を示す図である。
【図４ｂ】例示の立ち上がりシェルビングフィルタについての周波数応答を示す図である。
【図４ｃ】例示の立ち下がりシェルビングフィルタについての周波数応答を示す図である。
【図４ｄ】例示の立ち上がりシェルビングフィルタについての周波数応答を示す図である。
【図５ａ】一例の４次立ち下がりシェルビングフィルタのｚ平面極−零点図である。
【図５ｂ】一例の４次立ち上がりシェルビングフィルタのｚ平面極−零点図である。
【図５ｃ】一例の５次立ち下がりシェルビングフィルタのｚ平面極−零点図である。
【図５ｄ】一例の５次立ち上がりシェルビングフィルタのｚ平面極−零点図である。
【図６ａ】本発明の一実施形態により生成される例示のシェルビングフィルタについてのｚ平面極−零点図である。
【図６ｂ】本発明の一実施形態により生成される例示のシェルビングフィルタについてのｚ平面極−零点図である。
【図６ｃ】本発明の一実施形態により生成される例示のシェルビングフィルタについてのｚ平面極−零点図である。
【図６ｄ】本発明の一実施形態により生成される例示のシェルビングフィルタについてのｚ平面極−零点図である。
【図６ｅ】本発明の一実施形態により生成される例示のシェルビングフィルタについてのｚ平面極−零点図である。
【図６ｆ】本発明の一実施形態により生成される例示のシェルビングフィルタについてのｚ平面極−零点図である。
【図６ｇ】本発明の一実施形態により生成される例示のシェルビングフィルタについてのｚ平面極−零点図である。
【図６ｈ】本発明の一実施形態により生成される例示のシェルビングフィルタについてのｚ平面極−零点図である。
【図６ｉ】本発明の一実施形態により生成される例示のシェルビングフィルタについてのｚ平面極−零点図である。
【図７】１セットのフィルタを決定するための本発明の一実施形態による処理を概略的に示すフローチャートである。
【図８ａ】生成される各シェルビングフィルタの次数に上限が課されるときの図７の処理のための処理を示す概略フローチャートである。
【図８ｂ】生成される各シェルビングフィルタの次数に上限が課されるときの図７の処理のための処理を示す概略フローチャートである。
【図９】シェルビングフィルタについての零点ｚ１・・・ｚｓ及びそれらの複素共役零点
【数１】
2011517390.tif 000003
と、極ｐ１・・・ｐｓ及びそれらの複素共役極
【数２】
2011517390.tif 000004
を示す概略図である。
【図１０ａ】所与の一組の周波数応答インジケータに対する図７の処理中に７回の連続した反復で生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１０ｂ】所与の一組の周波数応答インジケータに対する図７の処理中に７回の連続した反復で生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１０ｃ】所与の一組の周波数応答インジケータに対する図７の処理中に７回の連続した反復で生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１０ｄ】所与の一組の周波数応答インジケータに対する図７の処理中に７回の連続した反復で生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１０ｅ】所与の一組の周波数応答インジケータに対する図７の処理中に７回の連続した反復で生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１０ｆ】所与の一組の周波数応答インジケータに対する図７の処理中に７回の連続した反復で生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１０ｇ】所与の一組の周波数応答インジケータに対する図７の処理中に７回の連続した反復で生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１１ａ】図７の処理中に生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１１ｂ】図７の処理中に生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１１ｃ】図７の処理中に生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１１ｄ】図７の処理中に生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１１ｅ】図７の処理中に生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１１ｆ】図７の処理中に生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１１ｇ】図７の処理中に生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１１ｈ】図７の処理中に生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【図１１ｉ】図７の処理中に生成されたセットのフィルタについての例示の周波数応答曲線を示す図である。
【発明を実施するための形態】
【００５１】
以下の説明及び各図において、本発明のいくらかの実施形態を説明する。しかし、本発明は、説明される実施形態に限定されず、ある実施形態は、以下に説明する特徴の全てを含まなくてもよいことが理解されよう。しかし、添付の特許請求の範囲に記載の本発明の上位の範囲から逸脱することなく、本明細書において様々な修正及び変更がなされてもよいことは明らかであろう。
【００５２】
（１）システムの概要
図１は、本発明の一実施形態によるシステム１００の概略図である。システム１００は装置１０２を備えており、この装置１０２自体は、音声インタフェース１０４と、データインタフェース１０６と、ユーザ入力インタフェース１０８と、メモリ１１０と、グラフィカルインタフェース１１２と、プロセッサ１１４とを備えている。装置１０２は、音声処理を実行する任意のタイプの装置であってもよい。例えば、装置１０２は、標準的なパーソナルコンピュータであってもよい。この他に、装置１０２は、専用の音声処理装置であってもよい。
【００５３】
プロセッサ１１４は、本発明の一実施形態による方法を実行するように構成されている（そのような方法は、後で詳細に説明する）。この構成を実現するために、プロセッサ１１４は、そのような方法を実行するために特に製造及び構成された１つ以上のフィールドプログラマブルゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ−ｇａｔｅ−ａｒｒａｙ）、及び／又は特定用途向け集積回路（ＡＳＩＣ）などのハードウェア装置を備えていてもよい。プロセッサ１１４は、本発明の一実施形態による方法を実行するために特に構成されたデジタル信号プロセッサ（ＤＳＰ）チップであってもよい。
【００５４】
この他に、本発明の一実施形態による方法を実行するために、プロセッサ１１４は、この方法を実行するためのプログラム命令を自ら含むコンピュータプログラムを実行することの可能な、より汎用のプロセッサであってもよい。このコンピュータプログラムは、本発明の一実施形態を実行する特定の自己完結型（ｓｅｌｆ−ｃｏｎｔａｉｎｅｄ）実行可能アプリケーションであってもよい。この他に、コンピュータプログラムは、より汎用の音声処理ソフトウェアアプリケーションのための（ダイナミックリンクライブラリ、すなわちＤＬＬなどの）プラグインとして構成されてもよく、このプラグインは、その汎用の音声処理ソフトウェアアプリケーションに本発明の一実施形態に係る機能を追加する。プラグインを生成及び使用する方法は周知である。
【００５５】
メモリ１１０は、本発明の一実施形態を実行するときにプロセッサ１１４によって使用されるデータを記憶するための任意のタイプのメモリとすることができる。幾つかの実施形態では、メモリ１１０は、それ自体でプロセッサ１１４の一部を形成する。メモリ１１０は、リードオンリメモリであってもよく、その場合には、プロセッサ１１４は、メモリ１１０からデータを読み取ることができるが、メモリ１１０にデータを書き込むことができないように構成される。この他に、プロセッサ１１４を、メモリ１１０からのデータの読取りとメモリ１１０へのデータの書込みの両方が可能であるように構成して、メモリ１１０をランダムアクセスメモリとしてもよい。
【００５６】
メモリ１１０は、本発明の一実施形態による方法を実行するためのプログラム命令を含むコンピュータプログラムの全部又は一部を記憶することができ、この場合、プロセッサ１１４は、このコンピュータプログラムを読み取り、実行して本発明の一実施形態を実行するように構成される。メモリ１１０は、構成データ（例えば、後述するように、音声フィルタについての所望の周波数応答に関する情報）を記憶することができる。メモリ１１０は、プロセッサ１１４によって処理（フィルタリング又はイコライジング）される音声データを記憶することができる。プロセッサ１１４は、その処理の出力（例えば、プロセッサ１１４が生成したフィルタに関するフィルタ係数や、プロセッサ１１４が処理した音声データ）並びにプロセッサ１１４の処理から得られる中間データ及び結果の一方又は両方を記憶するためにメモリ１１０を用いることもできる。
【００５７】
データインタフェース１０６は、任意のインタフェースであってもよく、このインタフェース１０６を通じてプロセッサ１１４は、データを受信、及び／又はデータを出力／伝送することができる。例えば、データインタフェース１０６は、磁気記憶媒体（ハードディスクドライブなど）からデータを読み取り、及び／又は磁気記憶媒体にデータを書き込む磁気媒体リーダ及び／又はライタ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、若しくはＢｌｕＲａｙディスクなどの光記憶媒体からデータを読み取り、及び／又はそれらにデータを書き込む光媒体リーダ及び／又はライタ、固体メモリデバイス（フラッシュメモリデバイスなど）からデータを読み取り、及び／又は固体メモリデバイスにデータを書き込む固体メモリデバイスインタフェース、並びにネットワーク（インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、都市規模ネットワークなど）を通じてコンピュータからデータを受信、及び／又はネットワークを通じてコンピュータにデータを伝送するためのネットワークインタフェースのうちの１つ以上を有していてもよい。このように、プロセッサ１１４は、１つ以上のソースからデジタルデータを受信することができると共に、デジタルデータを１つ以上の宛先に出力することができる。データインタフェース１０６を介して受信されるデータは、メモリ１１０に直接記憶されてもよく、或いは、まず、処理のためにプロセッサ１１４に渡され、及び／又は続いてメモリ１１０に記憶されてもよい。さらに、データインタフェース１０６は、記憶媒体に出力又は記憶するために、メモリ１１０から直接か、あるいはプロセッサ１１４からデータを受信してもよい。
【００５８】
プロセッサ１１４が、本発明の一実施形態による方法を実行するためのプログラム命令を含むコンピュータプログラムを使用する場合、プロセッサ１１４は、ソースからデータインタフェース１０６を介してコンピュータプログラムを受信してもよい。構成データ（例えば、後述するように、音声フィルタについての所望の周波数応答に関する情報）又は処理を実行するための指令は、データインタフェース１０６を介して受信することもできる。さらに、プロセッサ１１４によって処理（フィルタリング又はイコライジング）される音声データは、データインタフェース１０６を介して（例えば、１つ以上の音声データファイル又は音声データストリームとして）受信されてもよい。プロセッサ１１４は、記憶又は伝送のためにデータインタフェース１０６を介してプロセッサ１１４の処理の結果（プロセッサ１１４が生成したフィルタ係数や、プロセッサ１１４が作り出した音声データファイル又は音声データストリームなど）を出力してもよい。
【００５９】
プロセッサ１１４は、音声インタフェース１０４から音声データを受信するようにも構成される。音声インタフェース１０４は、音声信号（生録音又は予め録音された音声信号等、例えば、図１に示されていない１つ以上のマイクロフォン及び／又は１つ以上のオーディオ再生装置からの音声信号）を受信するように構成された任意のインタフェースであってもよい。これらの音声信号の一部は、デジタル形式で受信されてもよい。この他に、これらの音声信号の一部は、アナログ形式で受信されてもよく、その場合、プロセッサ１１４が、デジタル処理を実行するように構成されるのであれば、音声インタフェース１０４は、アナログ／デジタル変換を実行して対応するデジタル音声データを生成するように構成されてもよい。音声インタフェース１０４は、処理のために入力音声信号をプロセッサ１１４に単に渡すように構成されてもよく、又は音声インタフェース１０４は、記憶のために音声データをメモリ１１０に書き込むように構成されてもよく、それにより続いてプロセッサ１１４は、記憶した音声データを処理することができる。さらに、処理した音声データは、メモリ１１０又はプロセッサ１１４自体から音声インタフェース１０４を介して出力（例えば、図１に示されていないスピーカ又はオーディオ録音装置に出力）されてもよい。この場合、音声インタフェース１０４は、デジタル音声データをアナログ音声信号として、例えばスピーカに出力するために、デジタル／アナログ変換を実行するように構成されてもよい。
【００６０】
プロセッサ１１４は、ユーザインタフェース１０８を介してユーザから受信した入力に従って処理を実行してもよい。ユーザインタフェース１０８は、キーボード１１６及びマウス１１８などの１つ以上のユーザ入力装置から入力信号を受信するが、本技術分野でよく知られているような他の形態の入力装置が、用いられてもよいことが理解されよう。次いで、ユーザインタフェース１０８は、プロセッサ１１４にこれら入力信号を通知し、それにより次いで、プロセッサ１１４は、それに応じてユーザからの入力に応答することができる。
【００６１】
プロセッサ１１４は、グラフィカルインタフェース１１２にも通じており、このグラフィカルインタフェース１１２が、（スクリーン又はモニタなどの）ディスプレイ１２０を制御する。プロセッサ１１４は、グラフィカルインタフェース１１２を命令して、ディスプレイ１２０を介して視覚的表示を出力するように構成される。このことは、図３を参照して以下により詳細に説明することにする。次いで、グラフィカルインタフェース１１２は、それに応じて視覚的表示を出力する。さらに、ディスプレイ１２０は、タッチセンサー式であってもよく、或いは、ユーザがプロセッサ１１４に入力を与えることを可能にする他の手段を備えていてもよく、それにより、プロセッサ１１４が、ユーザインタフェース１０８に加えて、或いはユーザインタフェース１０８に代えて、ディスプレイ１２０を介して指令及び／又は構成データを受け取ることができるようになっていてもよい。
【００６２】
システム１００は、上述の要素の全てを含む必要はなく、システム１００の様々な要素は、特定の所望のシステム構成に従って設けられても省かれてもよいことが理解されよう。例えば、音声データが、データインタフェース１０６を介してのみ受信される場合、システム１００は、音声インタフェース１０４を省いてもよく、その逆もある。さらなる一例としては、構成データ（処理のための所望の周波数応答など）が、ユーザ入力によってユーザインタフェース１０８を介して受信されることになる場合、システム１００は、そのようなデータをデータインタフェース１０６又はディスプレイ１２０を介して受信しないように構成されてもよい。
【００６３】
さらに、システム１００は、単一の装置１０２によって形成されてもよく、又はシステム１００は、互いに接続された複数の別個の装置から形成されてもよく、各装置１０２は、システム１００の特徴のうちの１つ以上に寄与することが理解されよう。例えば、以下の通りである。
【００６４】
（ｉ）第１のシステム１００ａは、専用の音声処理装置から形成することができる。この装置は、音声インタフェース１０４ａと、メモリ１１０ａと、プロセッサ１１４ａ（例えば、ＤＳＰチップの形態のもの）とを備えていてもよい。プロセッサ１１４ａは、音声インタフェース１０４ａを介して受信された音声データを処理し、音声インタフェース１０４ａを介して処理した音声を出力するように構成されていてもよい。音声データの処理は、本発明の一実施形態によりデータをフィルタリングすることを伴ってもよい（これについては後述する）。第１のシステム１００ａは、例えば、スタジアム、コンサートホール等においてそのような会場で音を処理するために設置されるシステムであり得る。システム１００ａは、システム１００ａが実行する音声処理の構成をユーザが変えることを可能にする手段又は機能を欠いていてもよい。
【００６５】
（ｉｉ）第２のシステム１００ｂは、汎用コンピュータから形成することができる。このコンピュータが、ユーザの要求に従ってフィルタを決定すると共にフィルタ係数を決定する本発明の一実施形態を実行するように構成されてもよい（これについては、後でより詳細に説明する）。しかし、第２のシステム１００ｂは、第２のシステム１００ｂが生成したフィルタ及びフィルタ係数に従って音声データの処理を実行するように構成されても、されなくてもよい。
【００６６】
（ｉｉｉ）第３のシステム１００ｃは、上記第１のシステム１００ａと上記第２のシステム１００ｂを結合することによって形成することができる。このように、第２のシステム１００ｂを使用してフィルタ係数を生成し、次いで、その生成したフィルタ係数を用いて第１のシステム１００ａを構成することができる。したがって、例えば、オーディオ技術者が、会場を訪問し、該会場で音声を処理するために第１のシステム１００ａを会場に設置してもよい。オーディオ技術者は、第２のシステム１００ｂ（例えば、ラップトップコンピュータ）を携帯し、それに応じて第２のシステム１００ｂを用いて第１のシステム１００ａを構成してもよい。これが完了したら、第２のシステム１００ｂを第１のシステム１００ａから切り離し、第１のシステム１００ａに与えられた構成に従って音声を処理するよう第１のシステム１００ａに委ねてもよい。したがって、この第３のシステム１００ｃでは、様々な構成要素（メモリ１１０及びプロセッサ１１４など）は、複数の別個の構成要素（第１及び第２のシステムのそれぞれのメモリ及びプロセッサなど）から形成されてもよい。
【００６７】
（２）図１のシステムの処理の概要
図２は、本発明の一実施形態のプロセッサ１１４によって実行される処理２００の概要を概略的に示すフローチャートである。
【００６８】
処理２００は、１つ以上の周波数応答インジケータのセットを利用する。周波数応答インジケータは、（ｉ）ユーザ定義周波数と、（ｉｉ）所望の周波数応答の、該ユーザ定義周波数における、対応する所望のユーザ定義ゲイン（正、負又はゼロ）とを指定するデータである。ここで、所望の周波数応答は、指示され（又は定められ、又は指定され）てもよく、すなわち、周波数応答インジケータは、後続の音声処理のための所望の周波数応答を定める。
【００６９】
ステップＳ２０２では、周波数応答インジケータのセットが初期化される。これは、例えば、周波数応答インジケータのセットが初めに空であるように周波数応答インジケータがないように設定することであってもよい。この他に、プロセッサには、１つ以上の初期の周波数応答インジケータを指定する構成データが（上述のような方法で、例えば記憶媒体から、或いはネットワークを介して遠隔のコンピュータから）与えられていてもよい。ユーザが周波数応答インジケータを指定することを可能にするためのグラフィカルユーザインタフェースは、図３を参照して後で述べることにする。
【００７０】
次いで、ステップＳ２０４では、１つ以上のフィルタのセットが、以下のことを目指して決定される。すなわち、周波数応答インジケータのセットにおける各周波数応答インジケータについて、この決定されたフィルタセットにおけるフィルタの組合せから得られる周波数応答の、該周波数応答インジケータによって指定される周波数におけるゲインが、該周波数応答インジケータによって指定される、対応する所望のゲインと実質的に同じであることを目指す。フィルタのセットを決定する方法は、後で説明することにする。
【００７１】
次いで、プロセッサ１１４は、決定されたフィルタセット中のフィルタに対応するフィルタ係数を決定してもよい。プロセッサ１１４は、（例えば、以下に説明するステップＳ２０６で用いるために）メモリ１１０にこれらの係数を記憶し、且つ／又は、記憶媒体への記憶及び／又は別のコンピュータへの伝送のためにデータインタフェース１０６を介してこれらの係数を出力してもよい。
【００７２】
このとき、ステップＳ２０４で生成されたセットのフィルタの組合せは、音声データへの適用に適した無限インパルス応答フィルタである。
【００７３】
プロセッサ１１４は、図２の処理２００中にステップＳ２０４で生成されたフィルタのセットを用いて音声データを処理するように構成されていてもよく、その場合、ユーザが周波数応答インジケータのセットを設定及び更新して、音声データに対するエフェクトを聴くことができる。これは、例えば、所望のエフェクトを生成するために周波数応答インジケータを試験するときや、生の音声供給を処理するときに用いてもよい。こうして、任意的なステップＳ２０６において、プロセッサ１１４は、ステップＳ２０４で生成されたフィルタのセットを音声データに適用する。フィルタを音声データに適用する方法は、よく知られており、本明細書ではより詳細に説明しないものとする。上述のように、フィルタが適用される音声データは、メモリ１１０にすでに記憶されていてもよく、或いは音声インタフェース１０４又はデータインタフェース１０６を介して受け取ったものでもよい。処理された音声データは、その後、メモリ１１０に記憶されてもよい。処理された音声データは、音声インタフェース１０４及び／又はデータインタフェース１０６を介して出力及び／又は記憶されてもよい。
【００７４】
ステップＳ２０８では、周波数応答インジケータのセットが、周波数応答インジケータの新しいセットを指定するように更新される。この更新は、例えば、ユーザが実行してもよい。この更新は、（ｉ）周波数応答インジケータの個数の変更（例えば、１つ以上の新しい周波数応答インジケータの追加、及び／又は１つ以上の既存の周波数応答インジケータの削除によるもの）、及び／又は（ｉｉ）周波数応答インジケータのうちの１つ以上に対応する周波数値の変更、及び／又は（ｉｉｉ）周波数応答インジケータのうちの１つ以上に対応するゲイン値の変更を伴ってもよい。更新を行う方法についても、後でより詳細に説明する。
【００７５】
次いで、処理はステップＳ２０４に戻り、更新された周波数応答インジケータのセットに基づいてフィルタのセットが生成される。次いで、ステップＳ２０６で、プロセッサ１１４は、従前のフィルタのセットを音声データに適用することから、新たに生成したフィルタのセットを音声データに適用することに移行する。この移行を実行する方法は、後でより詳細に説明する。
【００７６】
（３）グラフィカルユーザインタフェース
図３は、本発明の一実施形態に従ってディスプレイ１２０上でプロセッサ１１４によってユーザに与えられる一例のグラフィカルユーザインタフェース（ＧＵＩ）３００の概略図である。このＧＵＩ３００は、図２のステップＳ２０２において周波数応答インジケータを指定し、また、図２のステップＳ２０８において周波数応答インジケータを更新するために用いてもよい。
【００７７】
本発明の他の実施形態は、図３に示すＧＵＩ３００に表示される特徴の一部を省略、及び／又はＧＵＩ３００に追加の特徴を包含してもよいことが理解されよう。
【００７８】
ＧＵＩ３００は、図２のステップＳ２０４で生成されたフィルタセットの周波数応答のグラフ３０１、すなわちプロットを表示する。グラフ３０１の横軸は、対数周波数を表し、グラフ３０１の縦軸は、デシベル単位で測定されたゲイン（或いは、生成されたフィルタセットの適用による音声信号の出力の変化の大きさ又は規模）を表す。しかしながら、他の測定単位を代わりに用いてもよいことは理解できるだろう。
【００７９】
ＧＵＩ３００は、ユーザが、複数の周波数応答インジケータ３０２のセットを定める、又は指定することを可能にする。各周波数応答インジケータ３０２は、ユーザ定義周波数と、所望の周波数応答の、該ユーザ定義周波数における、対応する所望のユーザ定義ゲインを指定する。言い換えれば、各周波数応答インジケータ３０２は、所望の周波数応答が通過することをユーザが望むグラフ３０１上の点を特定する。周波数応答インジケータ３０２は、ハンドル（ｈａｎｄｌｅ）、又はポインタとしてＧＵＩ３００上に表示される。
【００８０】
ＧＵＩ３００は、ユーザが、周波数応答インジケータ３０２を追加又は除去することを可能にする。したがって、用いられる周波数応答インジケータ３０２の個数は、ユーザが決定することができる。さらに、ＧＵＩ３００は、ユーザが、横（対数周波数）軸及び縦（ゲイン）軸のどちらに沿っても既存の周波数応答インジケータ３０２を移動させることを可能にする。したがって、周波数応答インジケータ３０２に関連した周波数とゲインは共に、ユーザが設定することができる。特に、周波数応答インジケータ３０２についての周波数は、所定の有限の周波数のセットからの周波数に制限されない。
【００８１】
ユーザは、幾つかの方式で周波数応答インジケータ３０２を追加、調整又は削除することができる。例えば、ユーザは、キーボード１１６及び／又はマウス１１８及び／又はタッチセンサー式ディスプレイ１２０を用いてグラフ３０１上の位置を選択し、それによって、グラフ３０１上の選択した位置の対応する周波数及びゲインを指定する新しい周波数応答インジケータ３０２を生成することができる。ユーザは、キーボード１１６及び／又はマウス１１８及び／又はタッチセンサー式ディスプレイ１２０を用いて既存の周波数応答インジケータ３０２を選択し、次いで該周波数応答インジケータ３０２をグラフ３０１上の新しい位置に移動／ドラッグして、それに応じて選択した周波数応答インジケータ３０２を調整することができる。
【００８２】
この他に、ユーザは、周波数入力ボックス３０６及びゲイン入力ボックス３０８を用いて、（数値を入力することにより）周波数及び所望のゲインをそれぞれ指定してもよい。したがって、ディスプレイ１２０の解像度は、ユーザが周波数応答インジケータ３０２を設定するときの精度を制限しない。その場合、ボタン３１０をＧＵＩ３００上に設け、そのボタン３１０がユーザによって選択されると、周波数入力ボックス３０６及びゲイン入力ボックス３０８に打ち込まれた周波数及びゲインに基づいて新しい周波数応答インジケータ３０２を生成するようになっていてもよい。ユーザが、周波数応答インジケータ３０２を選択すると、ＧＵＩ３００は、周波数入力ボックス３０６及びゲイン入力ボックス３０８に、該選択した周波数応答インジケータ３０２についての対応する周波数及びゲインを表示させることができる。次いで、ユーザは、表示した周波数及び／又はゲインを変更し、次いで、該選択した周波数応答インジケータ３０２を設定（又は調整）するＧＵＩ３００上に設けられたボタン３１２を用いることにより、その周波数及びゲインが、周波数入力ボックス３０６及びゲイン入力ボックス３０８に打ち込まれた周波数及びゲインであるようにすることができる。
【００８３】
周波数応答インジケータ３０２は、ユーザが、キーボード１１６及び／又はマウス１１８及び／又はタッチセンサー式ディスプレイ１２０を用いて該周波数応答インジケータ３０２を選択し、次いでキーボード１１６の削除キーを押し、又はＧＵＩ３００上に設けられた削除ボタン３１４を選択することによって、削除することができる。
【００８４】
ＧＵＩ３００は、ユーザが、それら周波数応答インジケータ３０２を１つにグループ化するように複数の周波数応答インジケータ３０２を選択することを可能にすることもできる。この場合、複数の周波数応答インジケータ３０２からなるこの選択したグループは、その後、共に削除し、或いは（例えば、周波数を変更するために横方向、及び／又は対応するゲインを変更するために縦方向に、周波数応答インジケータ３０２の全てを１つのグループとして移動することによって）共に調整することが可能である。これにより、システム１００の操作者による周波数応答インジケータ３０２のより簡単な操作が可能になる。
【００８５】
ユーザは、周波数応答インジケータ３０２（及び周波数応答インジケータ３０２の個数）を設定して、音声処理（フィルタリング又はイコライゼーション）のための所望の周波数応答を定める。上述のように、プロセッサ１１４は、（ステップＳ２０４で）周波数応答インジケータ３０２のセットに基づいてフィルタのセットを生成するように構成されている。これについては、後でより詳細に説明する。この後、プロセッサ１１４は、この生成したフィルタのセットから得られる周波数応答を求め、グラフ３０１上にこの周波数応答を曲線３０４としてプロットしてもよい。理想的には、この曲線３０４は、ユーザが望む周波数応答に適合し、したがって周波数応答インジケータ３０２を表す点を通過することになる。しかし、後で詳細に説明するように、計算した周波数応答曲線３０４は、周波数応答インジケータ３０２を表す点の１つ以上を外してしまう場合がある。
【００８６】
本発明の幾つかの実施形態では、ユーザが周波数応答インジケータ３０２を調整、追加又は削除するたびにステップＳ２０４でフィルタのセットが生成される。このように、ユーザには、現在指定されている周波数応答インジケータ３０２について生成されるフィルタのセットに対応する周波数応答を示す最新の曲線３０４が連続的に与えられる。さらに、プロセッサ１１４が、生成されたフィルタセットに基づいて音声データを処理している場合、この手法によれば、音声処理に用いられるフィルタセットを、ユーザが周波数応答インジケータ３０２のセットに行う各修正に従って変えることが可能になる。しかしながら、他の実施形態では、プロセッサ１１４は、更新された周波数応答曲線３０４をユーザ１０４に対して表示してもよいが、ＧＵＩ３００上に設けられた適用ボタン３１６をユーザが選択したら、ステップＳ２０６で、更新されたフィルタセットの使用を開始するだけのものであってもよい。この場合、ユーザは、周波数応答曲線３０４を視覚的に見ると共に、所望の曲線３０４が実現されるまで周波数応答インジケータ３０２を修正し、次いで、（聴くのに望ましくなかった可能性のある）中間のフィルタセットを音声データに適用する必要なく、対応するフィルタセットを音声データに適用することができる。
【００８７】
この他に、プロセッサ１１４は、ユーザが自ら指定及び／又は更新した周波数応答インジケータのセットに満足して、適用ボタン３１６を選択すると、ステップＳ２０４で新しいフィルタのセットの生成（すなわち、ステップＳ２０２からステップＳ２０４への移動）のみを行うように構成されていてもよい。この実施形態では、適用ボタン３１６を選択することで、プロセッサ１１４が、対応するフィルタセットをステップＳ２０４で決定又は生成し、次いで、対応する周波数応答曲線３０４を表示するようになっている。
【００８８】
本発明の実施形態は、周波数応答インジケータを指定及び受信する他の方法を利用してもよいことが理解されよう。したがって、幾つかの実施形態は、周波数応答インジケータを指定及び更新する追加の方法としてＧＵＩ３００を用いてもよく、一方、他の実施形態は、ＧＵＩ３００を全く用いなくてもよい。例えば、周波数応答インジケータは、メモリ１１０や、データインタフェース１０６を介してプロセッサ１１４がアクセス可能な記憶媒体や、データインタフェース１０６を介してアクセス可能なリモートコンピュータに、構成データとして保存されてもよい。この構成データは、ただ１つの周波数応答インジケータのセットを指定してもよい。この他に、構成データは、対応する周波数応答インジケータの１セットが、後続の（或いは次の）周波数応答インジケータのセットに更新される時点を指定する、対応するタイミング情報を用いて、周波数応答インジケータの、順序づけられた複数のセットを指定してもよい。このように、周波数応答インジケータのセットは、プロセッサ１１４によって自動的に更新することができ、一方で、音声データを処理する。したがって、ＧＵＩ３００は、ユーザが、そのような周波数応答インジケータの構成データのソースを特定してアクセスすることを可能にするためのロードボタン３１８を提供してもよい。
【００８９】
さらに、ＧＵＩ３００は、ユーザが、現在の周波数応答インジケータセットをメモリ１１０又はデータインタフェース１０６を介して記憶媒体又はリモートコンピュータに保存又は出力することを可能にする保存ボタン３２０を提供してもよい。これに加えて、又はこの代わりに、保存ボタン３２０は、ユーザが、周波数応答インジケータ３０２の現在のセットに対してステップＳ２０４で生成されたフィルタの係数をメモリ１１０又はデータインタフェース１０６を介して記憶媒体又はリモートコンピュータに保存又は出力することを可能にしてもよい。
【００９０】
（４）シェルビングフィルタ
シェルビングフィルタ（或いはシェルフフィルタ）は、その周波数応答が以下のようなゲインを有するフィルタである。すなわち、（ｉ）第１の周波数ｆ１を下回る周波数に対しては第１のゲイン値ｇ１に実質的に等しく、（ｉｉ）第２の周波数ｆ２を上回る周波数に対しては第２のゲイン値ｇ２（第１のゲイン値ｇ１とは異なる）に実質的に等しく（ここで、ｆ１＜ｆ２）、（ｉｉｉ）周波数がｆ１からｆ２まで変化するにつれてｇ１からｇ２まで連続的に（一般的には単調に、より一般的には狭義単調に）変化するゲインである。
【００９１】
本説明では、ｆ１は、「低コーナ周波数」と呼ばれるものとし、ｆ２は、「高コーナ周波数」と呼ばれるものとする（ここで「低」及び「高」なる用語は、ｆ１がｆ２未満であることを示し、ｇ１がｇ２未満であることを意味しない）。周波数ｆ１は、「下位コーナ周波数」とも呼ばれ得ると共に、周波数ｆ２は、「上位コーナ周波数」とも呼ばれ得る。
【００９２】
ｇ１＞ｇ２である場合、シェルビングフィルタは、いわゆる「下降シェルビングフィルタ（ｓｉｎｋｉｎｇ  ｓｈｅｌｖｉｎｇ  ｆｉｌｔｅｒ）」又は「立ち下がりシェルビングフィルタ」（ｆａｌｌｉｎｇ  ｓｈｅｌｖｉｎｇ  ｆｉｌｔｅｒ）である。ｇ１＜ｇ２である場合、シェルビングフィルタは、いわゆる「立ち上がりシェルビングフィルタ」（ｒｉｓｉｎｇ  ｓｈｅｌｖｉｎｇ  ｆｉｌｔｅｒ）である。もちろん、ｇ１は、正、負又はゼロの値であり得る。同様に、ｇ２は、ｇ１から独立して正、負又はゼロの値であり得る。
【００９３】
図４ａは、一例の立ち下がりシェルビングフィルタについての周波数応答のグラフを示し、図４ｂは、一例の立ち上がりシェルビングフィルタについての周波数応答のグラフを示す。本適用例では、（図４ａ及び図４ｂのグラフを含め）全ての周波数応答のグラフは、対数周波数を表す横軸、及びデシベル（ｄＢ）単位で測定されたゲインを表す縦軸を有する。
【００９４】
上述のように、シェルビングフィルタの周波数応答は、低コーナ周波数ｆ１を下回る周波数についてｇ１に実質的に等しいゲインを有する。しかし、周波数応答ゲインは、ｆ１を下回る全ての周波数についてｇ１に正確に等しい必要はなく、代わりにｇ１及びｇ２間の差と比べて小さな量だけｇ１から単に異なっていてもよいことが理解されよう。一方、同様に、シェルビングフィルタの周波数応答は、高コーナ周波数ｆ２を上回る周波数についてｇ２に実質的に等しいゲインを有しており、周波数応答は、ｆ２を上回る全ての周波数についてｇ２に正確に等しい必要はなく、代わりに、ｇ１及びｇ２間の差と比べて小さな量だけｇ２から単に異なっていてもよいことが理解されよう。したがって、ｆ１を下回る周波数応答及びｆ２を上回る周波数応答は、完璧に平らである必要はない。しかしながら、全体としては、周波数応答のゲインは、周波数がｆ１を下回って減少するにつれて漸近的にｇ１に向かい、かつ周波数応答のゲインは、周波数がｆ２を上回って増加するにつれて漸近的にｇ２に向かう。したがって、図４ｃは、図４ａに基づく一例の立ち下がりシェルビングフィルタについての周波数応答のグラフを示すが、低コーナ周波数ｆ１を下回る周波数及び高コーナ周波数ｆ２を上回る周波数について周波数応答がどう変わり得るかを示す。同様に、図４ｄは、図４ｂに基づく一例の立ち上がりシェルビングフィルタについての周波数応答のグラフを示すが、低コーナ周波数ｆ１を下回る周波数及び高コーナ周波数ｆ２を上回る周波数について周波数応答がどう変わり得るかを示す。
【００９５】
本技術分野で知られているように、フィルタの次数ｎは、該フィルタについての伝達関数の分子及び分母の多項式次数を示すために本技術分野で用いられる用語である。したがって、ｎ次フィルタについての伝達関数は、ｎ個の零点及びｎ個の極を有する。当然、次数ｎは、負でない整数である。
【００９６】
シェルビングフィルタを生成する幾つかの方法を以下に説明する。別段述べる場合を除き、これら方法は、所定のタイプのローパスフィルタの特性に基づいている。この所定のタイプは、例えば、バターワースローパスフィルタ、楕円ローパスフィルタ、チェビシェフローパスフィルタ等であり得る。これらタイプのローパスフィルタは、本技術分野でよく知られているので、本明細書ではより詳細には説明しない。所定のタイプのローパスフィルタであり、その特性が用いられるローパスフィルタは、「基礎タイプ」のローパスフィルタと呼ぶことにする（このため、形成されるシェルビングフィルタの基礎はローパスフィルタが形成する）。したがって、この基礎タイプは、例えば、「バターワース」、「楕円」、「チェビシェフ」等であり得る。基礎タイプのローパスフィルタは、「ローパス基礎フィルタ」と呼ばれことにする。以下に説明する方法は、これら様々な異なる基礎タイプに等しく適用される。したがって、以降の説明は、基礎タイプのフィルタとしてバターワースフィルタを用いるが、説明する方法は、他の基礎タイプを用いても同様に適用できることが理解されよう。
【００９７】
これについても知られているが、基礎タイプＢのｎ次ローパス基礎フィルタについては、周波数応答は、フィルタのカットオフ周波数を上回る周波数において、オクターブ当たり実質的に−ｒＢ×ｎ  ｄＢであるゲイン変化率を有する。ここで、ｒＢは、基礎タイプＢに依存する正の値である。したがって、カットオフ周波数を上回る周波数ｆについては、周波数２ｆでのｎ次ローパス基礎フィルタの周波数応答は、周波数ｆでのゲイン未満の実質的にｒＢ×ｎ  ｄＢであるゲインを有し、すなわち、対数周波数対ゲインのグラフにプロットされる周波数応答曲線の傾きは、カットオフ周波数を上回る周波数について実質的に−ｒＢ×ｎである。バターワースフィルタについては、オクターブ当たりｒバターワース＝２０ｌｏｇ１０（２）≒６．０ｄＢである。
【００９８】
（４．１）方法Ａ
ｎ次シェルビングフィルタを設計する方法の一例は、「Ｐａｒａｍｅｔｒｉｃ  Ｒｅｃｕｒｓｉｖｅ  Ｈｉｇｈｅｒ−Ｏｒｄｅｒ  ｓｈｅｌｖｉｎｇ  ｆｉｌｔｅｒｓ」、Ｍａｒｔｉｎ  Ｈｏｌｔｅｒｓ及びＵｄｏ  Ｚｏｌｚｅｒ、Ａｕｄｉｏ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｓｏｃｉｅｔｙ、２００６年５月において与えられる。この論文は、以下に述べるように、ｎ次シェルビングフィルタが、ｎ次ローパスバターワースフィルタに基づくものであり得ることを記載している。この論文は、チェビシェフフィルタ又は楕円フィルタが、バターワースローパスフィルタの代わりに用いられ得ることについても言及している。
【００９９】
図５ａは、この方法により形成される一例の４次立ち下がりシェルビングフィルタのｚ平面極−零点図であり、一方、図５ｂは、この方法により形成される一例の４次立ち上がりシェルビングフィルタのｚ平面極−零点図である（図５ｂは、図５ａにおいて極を零点に変更すると共に、零点を極に変更したものと同じである）。図５ｃは、この方法により形成される一例の５次立ち下がりシェルビングフィルタのｚ平面極−零点図であり、一方、図５ｄは、この方法により形成される一例の５次立ち上がりシェルビングフィルタのｚ平面極−零点図である（図５ｄは、図５ｃにおいて極を零点に変更すると共に、零点を極に変更したものと同じである）。通例のように、極は、ばつ印として示され、零点は、丸印として示され、また、単位円５００が示されている。他の整数の次数の立ち下がりシェルビングフィルタ及び立ち上がりシェルビングフィルタについての極−零点図は、図５ａ〜図５ｄに示す極−零点図に類似している。
【０１００】
この方法により生成されるシェルビングフィルタに関して、このシェルビングフィルタの伝達関数の零点及び極の位置は、ローパス基礎フィルタの伝達関数の極に用いられる位置に従って決定される。
【０１０１】
特に、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有するｎ次立ち下がりシェルビングフィルタについては、（ｉ）このシェルビングフィルタの伝達関数のｎ個の極は、カットオフ周波数ｆ１を有するｎ次ローパス基礎フィルタの極に用いられる位置に位置すると共に、（ｉｉ）このシェルビングフィルタの伝達関数のｎ個の零点は、カットオフ周波数ｆ２を有するｎ次ローパス基礎フィルタの極に用いられる位置に位置する。
【０１０２】
一方、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有するｎ次立ち上がりシェルビングフィルタについては、（ｉ）このシェルビングフィルタの伝達関数のｎ個の極は、カットオフ周波数ｆ２を有するｎ次ローパス基礎フィルタの極に用いられる位置に位置すると共に、（ｉｉ）このシェルビングフィルタの伝達関数のｎ個の零点は、カットオフ周波数ｆ１を有するｎ次ローパス基礎フィルタの極に用いられる位置に位置する。
【０１０３】
低コーナ周波数ｆ１と高コーナ周波数ｆ２の間の周波数応答の変化率（すなわち、図４ａ及び図４ｂに示す、ｆ１とｆ２の間の周波数応答曲線の傾き）は、シェルビングフィルタの次数、及び基礎タイプについてのｒＢの値によって決定される。概して、ｎ次立ち下がりシェルビングフィルタについては、周波数応答ゲインのこの変化率は、オクターブ当たり−ｒＢ×ｎ  ｄＢに実質的に等しく、ｎ次立ち上がりシェルビングフィルタについては、周波数応答ゲインのこの変化率は、オクターブ当たりｒＢ×ｎ  ｄＢに実質的に等しい。したがって、そのようなｎ次シェルビングフィルタを用いるときは、ゲイン値ｇ２は、（ｉ）立ち下がりシェルビングフィルタについてはｇ２＝ｇ１−ｎｒＢｌｏｇ２（ｆ２／ｆ１）、及び（ｉｉ）立ち上がりシェルビングフィルタについてはｇ２＝ｇ１＋ｎｒＢｌｏｇ２（ｆ２／ｆ１）によって決定される。
【０１０４】
したがって、ゲインｇ１及びｇ２は、相互依存的である。よく知られているように、ゲインｇ１及びｇ２は、（例えば、所望のゲインｇ１又は所望のゲインｇ２を得るために）伝達関数の適切なスケーリングによって共に調整することができる。
【０１０５】
しかし、ｆ１及びｆ２での任意の周波数応答ゲインがそれぞれｇ１及びｇ２である、任意の低コーナ周波数ｆ１及び任意の高コーナ周波数ｆ２を有するシェルビングフィルタが必要とされる場合、上記のようにｇ２が、ｆ１、ｆ２、ｇ１、ｒＢ、及び次数ｎによって本質的に決定されるので、上記のように方法Ａによって生成されるシェルビングフィルタを用いることは、必ずしも可能であるとは限らない。
【０１０６】
したがって、以下に説明する本発明の実施形態が、この問題を克服し、任意の低コーナ周波数ｆ１及び任意の高コーナ周波数ｆ２を有するシェルビングフィルタであって、ｆ１及びｆ２における任意の周波数応答ゲインがそれぞれｇ１及びｇ２であるシェルビングフィルタを提供する。ｇ１、ｇ２、ｆ１、及びｆ２の値は、例えば、ユーザによって指定されてもよい。したがって、上記数式を用いて、そのようなシェルビングフィルタについての「有効次数」ｎｅは、
【数３】
2011517390.tif 000005
として定められることになる。ここで、ｎｅは非整数であってもよい。有効次数ｎｅを有するシェルビングフィルタに関して、低コーナ周波数と高コーナ周波数の間の周波数応答ゲインの変化率は、（ｉ）立ち上がりシェルビングフィルタについてはオクターブ当たり実質的にｎｅｒＢ  ｄＢであり、或いは（ｉｉ）立ち下がりシェルビングフィルタについてはオクターブ当たり実質的に−ｎｅｒＢ  ｄＢである。
【０１０７】
（４．２）方法Ｂ
本発明の一実施形態に係る第１の方法を以下に説明する。この方法は、任意の低コーナ周波数ｆ１及び任意の高コーナ周波数ｆ２を有し、（ｇ２とｇ１との差が所望の量となりうるように）ｆ１及びｆ２における任意の周波数応答ゲインがそれぞれｇ１及びｇ２であるシェルビングフィルタを生成する。
【０１０８】
所望のシェルビングフィルタは、２つの別個のシェルビングフィルタを組み合わせることによって生成される。ここで、
【０１０９】
・これら２つのシェルビングフィルタの第１のものは、（ｉ）ｆ１で低コーナ周波数、及びｆ２で高コーナ周波数を有し、（ｉｉ）後述のように決定される次数ｎを有する。
【０１１０】
・これら２つのシェルビングフィルタの第２のものは、（ｉ）周波数ｆ３で低コーナ周波数、及び周波数ｆ４で高コーナ周波数を有しており（ここで、ｆ１≦ｆ３＜ｆ４≦ｆ２（すなわち、ｆ３〜ｆ４の範囲は、ｆ１〜ｆ２の範囲の部分的範囲である））、（ｉｉ）１次シェルビングフィルタである。
【０１１１】
・ｇ１＞ｇ２である場合、第１及び第２のシェルビングフィルタは共に、立ち下がりシェルビングフィルタであり、ｇ１＜ｇ２である場合、第１及び第２のシェルビングフィルタは共に、立ち上がりシェルビングフィルタである。
【０１１２】
第１のシェルビングフィルタは、基礎タイプＢに基づいて上記の方法Ａにより形成されるシェルビングフィルタであってもよい。しかし、第１のシェルビングフィルタは、任意のタイプ（又は種類）のシェルビングフィルタであってもよいことが理解されよう。
【０１１３】
第１のシェルビングフィルタについての次数ｎは、第１のシェルビングフィルタの周波数応答のｆ２におけるゲインと、第１のシェルビングフィルタの周波数応答のｆ１におけるゲインとの差ｄが｜ｇ２−ｇ１｜以下の大きさを有するように、第１のシェルビングフィルタに対する最大の整数ｎに決定される。
【０１１４】
上記数式を基礎タイプＢの方法Ａのシェルビングフィルタに用いると、差ｄは、立ち下がりシェルビングフィルタについてはｄ＝−ｎｒＢｌｏｇ２（ｆ２／ｆ１）であり、立ち上がりシェルビングフィルタについてはｄ＝ｎｒＢｌｏｇ２（ｆ２／ｆ１）である。したがって、第１のシェルビングフィルタについての次数は、
【数４】
2011517390.tif 000006
により決定することができる。ここで、通例通り、
【数５】
2011517390.tif 000007
は、ｘ以下の最大の整数を表す。
【０１１５】
第２のシェルビングフィルタについての低コーナ周波数ｆ３及び高コーナ周波数ｆ４は、第２のシェルビングフィルタのｆ４における周波数応答ゲインと第２のシェルビングフィルタのｆ３における周波数応答ゲインとの差がｇ２−ｇ１−ｄであるように決定される。｜ｄ｜≦｜ｇ２−ｇ１｜となるように第１のシェルビングフィルタについての最大の整数次数を第１のシェルビングフィルタについての次数ｎに選んだので、１次の第２のシェルビングフィルタに関するｆ３及びｆ４についてこのような値を得ることが可能である。
【０１１６】
上記数式を基礎タイプＢの方法Ａのシェルビングフィルタに用いると、ｆ３及びｆ４は、
【数６】
2011517390.tif 000008
であるように相対的に決定される。
【０１１７】
ｆ３〜ｆ４の範囲は、ｆ１〜ｆ２の範囲内のどこかであるように選ぶことができる。しかし、好ましい実施形態では、ｆ３及びｆ４は、ｆ３〜ｆ４の範囲が、ｆ１〜ｆ２の範囲内の実質的に中央に位置するように選ばれる。これは、対数周波数の観点で中央に配置され、ｆ１ｆ２＝ｆ３ｆ４となってもよいし、実際の周波数の観点で中央に配置され、ｆ４＋ｆ３＝ｆ２＋ｆ１となってもよい。第１のシェルビングフィルタと第２のシェルビングフィルタの組合せから得られる周波数応答が、ｆ３及びｆ４のそのような選択によってコーナ周波数ｆ１及びｆ２でコーナをできる限り鋭く保持することになるので、ｆ１〜ｆ２の範囲内のｆ３〜ｆ４の範囲のそうした中央配置は、音質の改善をもたらす。代わりに、例えばｆ３がｆ１の近くであるように選ばれる場合、第２のシェルビングフィルタは、得られるシェルビングフィルタの、低コーナ周波数ｆ１を下回る周波数での周波数応答に、より大きな影響を及ぼす傾向が強く、このことは、意図された、得られるシェルビングフィルタにとって望ましくない。同様に、ｆ４がｆ２の近くであるように選ばれる場合、第２のシェルビングフィルタは、得られるシェルビングフィルタの、高コーナ周波数ｆ２を上回る周波数での周波数応答に、より大きな影響を及ぼす傾向が強く、このことは、意図された、得られるシェルビングフィルタにとって望ましくない。
【０１１８】
第１のシェルビングフィルタと第２のシェルビングフィルタの組合せは、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有するシェルビングフィルタであり、このシェルビングフィルタについての周波数ｆ１及びｆ２間の周波数応答ゲインの変化は、ｇ２−ｇ１に実質的に等しい。
【０１１９】
得られるシェルビングフィルタについての実際のゲインは、第１及び第２のシェルビングフィルタについて選択されるゲインによって決定される。例えば、第１のシェルビングフィルタについてのゲインは、周波数ｆ１でｇ１であるように設定することができ、第２のシェルビングフィルタについてのゲインは、周波数ｆ３で０であるように設定することができ、それにより第１及び第２のシェルビングフィルタの組合せについてのゲインは、周波数ｆ１で所望のゲインｇ１となる。しかし、これら２つのシェルビングフィルタの組合せが周波数ｆ１で所望のゲインｇ１を生じさせ、それにより周波数ｆ２で所望のゲインｇ２を生じさせるように、他のゲイン値を第１及び第２のシェルビングフィルタに用いてもよいことは理解されよう。
【０１２０】
例えば、（ｉ）基礎タイプは、バターワースフィルタ（したがってｒＢ≒６．０）であり、（ｉｉ）ｆ１＝１００Ｈｚ、（ｉｉｉ）ｆ２＝１４０Ｈｚ、（ｉｖ）ｇ１＝６ｄＢ、及び（ｖ）ｇ２＝−３ｄＢであると仮定する。その場合、
・第１及び第２のシェルビングフィルタは、立ち下がりシェルビングフィルタとなり（ｇ１＞ｇ２なので）、
・第１のシェルビングフィルタが３次フィルタであり、第２のシェルビングフィルタが１次フィルタであることを意味する以下の式
【数７】
2011517390.tif 000009
が成立し、
・第１のシェルビングフィルタに起因するｆ１及びｆ２間の周波数応答の変化は、ｄ＝−ｎｒＢｌｏｇ２（ｆ２／ｆ１）≒−８．７ｄＢであり、周波数応答の変化ｇ２−ｇ１−ｄ≒−０．３ｄＢは第２のシェルビングフィルタから得られるようにし、したがって、
・以下の式
【数８】
2011517390.tif 000010
が成立し、それによりｆ４≒１．０４ｆ３となる。ｆ１ｆ２＝ｆ３ｆ４である好ましい実施形態では、ｆ３及びｆ４の値は、それぞれ約１１６Ｈｚ及び約１２１Ｈｚである。
【０１２１】
別の例として、（ｉ）基礎タイプは、バターワースフィルタ（したがってｒＢ≒６．０）であり、（ｉｉ）ｆ１＝１０００Ｈｚ、（ｉｉｉ）ｆ２＝２１００Ｈｚ、（ｉｖ）ｇ１＝−４ｄＢ、及び（ｖ）ｇ２＝７ｄＢであると仮定する。その場合、
・第１及び第２のシェルビングフィルタは、立ち上がりシェルビングフィルタとなり（ｇ１＜ｇ２なので）、
・第１のシェルビングフィルタが１次フィルタであり、第２のシェルビングフィルタが１次フィルタであることを意味する以下の数式
【数９】
2011517390.tif 000011
が成立し、
・第１のシェルビングフィルタに起因するｆ１及びｆ２間の周波数応答の変化は、ｄ＝ｎｒＢｌｏｇ２（ｆ２／ｆ１）≒６．４ｄＢであり、周波数応答の変化ｇ２−ｇ１−ｄ≒４．６ｄＢは第２のシェルビングフィルタから得られるようにし、したがって、
・以下の式
【数１０】
2011517390.tif 000012
が成立し、それによりｆ４≒１．７０ｆ３となる。ｆ１ｆ２＝ｆ３ｆ４である好ましい実施形態では、ｆ３及びｆ４の値は、それぞれ約１１１１Ｈｚ及び約１８８９Ｈｚである。
【０１２２】
（４．３）方法Ｃ
本発明の一実施形態に係る第２の方法を以下に説明する。この方法は、任意の低コーナ周波数ｆ１及び任意の高コーナ周波数ｆ２を有し、（ｇ１とｇ２との差が所望の量となりうるように）ｆ１及びｆ２における任意の周波数応答ゲインがそれぞれｇ１及びｇ２であるシェルビングフィルタを生成する。
【０１２３】
所望のシェルビングフィルタは、２つの別個のシェルビングフィルタを組み合わせることによって生成される。ここで、
【０１２４】
・これら２つのシェルビングフィルタの第１のものは、（ｉ）ｆ１で低コーナ周波数、及びｆ２で高コーナ周波数を有し、（ｉｉ）後述のように決定される次数ｎを有する。
【０１２５】
・これら２つのシェルビングフィルタの第２のものは、（ｉ）周波数ｆ３で低コーナ周波数、周波数ｆ４で高コーナ周波数を有しており（ここで、ｆ１≦ｆ３＜ｆ４≦ｆ２（すなわち、ｆ３〜ｆ４の範囲は、ｆ１〜ｆ２の範囲の部分的範囲である））、（ｉｉ）１次シェルビングフィルタである。
【０１２６】
・ｇ１＞ｇ２である場合、第１のシェルビングフィルタは、立ち下がりシェルビングフィルタであり、第２のシェルビングフィルタは、立ち上がりシェルビングフィルタであり、ｇ１＜ｇ２である場合、第１のシェルビングフィルタは、立ち上がりシェルビングフィルタであり、第２のシェルビングフィルタは、立ち下がりシェルビングフィルタである。
【０１２７】
第１のシェルビングフィルタは、基礎タイプＢに基づく上記の方法Ａにより形成されるシェルビングフィルタであってもよい。しかし、第１のシェルビングフィルタは、任意のタイプ（又は種類）のシェルビングフィルタであってもよいことが理解されよう。
【０１２８】
第１のシェルビングフィルタについての次数ｎは、第１のシェルビングフィルタの周波数応答のｆ２におけるゲインと、第１のシェルビングフィルタの周波数応答のｆ１におけるゲインとの差ｄが｜ｇ２−ｇ１｜以上の大きさを有するように、第１のシェルビングフィルタに対する最小の整数ｎに決定される。
【０１２９】
上記数式を基礎タイプＢの方法Ａのシェルビングフィルタに用いると、差ｄは、立ち下がりシェルビングフィルタについてはｄ＝−ｎｒＢｌｏｇ２（ｆ２／ｆ１）であり、及び立ち上がりシェルビングフィルタについてはｄ＝ｎｒＢｌｏｇ２（ｆ２／ｆ１）である。したがって、第１のシェルビングフィルタについての次数は、
【数１１】
2011517390.tif 000013
により決定することができる。ここで、通例通り、
【数１２】
2011517390.tif 000014
は、ｘ以下の最大の整数を表す。
【０１３０】
第２のシェルビングフィルタについての低コーナ周波数ｆ３及び高コーナ周波数ｆ４は、第２のシェルビングフィルタのｆ４における周波数応答ゲインと第２のシェルビングフィルタのｆ３における周波数応答ゲインとの差がｇ２−ｇ１−ｄであるように決定される。｜ｄ｜≧｜ｇ２−ｇ１｜となるように第１のシェルビングフィルタについての最小の整数次数を第１のシェルビングフィルタについての次数ｎに選んだので、１次の第２のシェルビングフィルタに関するｆ３及びｆ４についてこのような値を得ることが可能である。
【０１３１】
ｆ３〜ｆ４の範囲は、ｆ１〜ｆ２の範囲内のどこかであるように選ぶことができる。しかし、好ましい実施形態では、ｆ３及びｆ４は、ｆ３〜ｆ４の範囲が、ｆ１〜ｆ２の範囲内の実質的に中央に位置するように選ばれる。これは、対数周波数の観点で中央に配置され、ｆ１ｆ２＝ｆ３ｆ４となってもよいし、実際の周波数の観点で中央に配置され、ｆ４＋ｆ３＝ｆ２＋ｆ１となってもよい。第１のシェルビングフィルタと第２のシェルビングフィルタの組合せから得られる周波数応答が、ｆ３及びｆ４のそのような選択によってコーナ周波数ｆ１及びｆ２でコーナをできる限り鋭く保持することになるので、ｆ１〜ｆ２の範囲内のｆ３〜ｆ４の範囲のそうした中央配置は、音質の改善をもたらす。代わりに、例えばｆ３がｆ１の近くであるように選ばれる場合、第２のシェルビングフィルタは、得られるシェルビングフィルタの、低コーナ周波数ｆ１を下回る周波数での周波数応答に、より大きな影響を及ぼす傾向が強く、このことは、意図された、得られるシェルビングフィルタにとって望ましくない。同様に、ｆ４がｆ２の近くであるように選ばれる場合、第２のシェルビングフィルタは、得られるシェルビングフィルタの、高コーナ周波数ｆ２を上回る周波数での周波数応答に、より大きな影響を及ぼす傾向が強く、このことは、意図された、得られるシェルビングフィルタにとって望ましくない。
【０１３２】
第１のシェルビングフィルタと第２のシェルビングフィルタの組合せは、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有するシェルビングフィルタであり、このシェルビングフィルタについての周波数ｆ１及びｆ２間の周波数応答ゲインの変化は、ｇ２−ｇ１に実質的に等しい。
【０１３３】
得られるシェルビングフィルタについての実際のゲインは、第１及び第２のシェルビングフィルタについて選択されるゲインによって決定される。例えば、第１のシェルビングフィルタについてのゲインは、周波数ｆ１でｇ１であるように設定することができ、第２のシェルビングフィルタについてのゲインは、周波数ｆ３で０であるように設定することができ、それにより第１及び第２のシェルビングフィルタの組合せについてのゲインは、周波数ｆ１で所望のゲインｇ１である。しかし、これら２つのシェルビングフィルタの組合せが周波数ｆ１で所望のゲインｇ１を生じさせ、それにより周波数ｆ２で所望のゲインｇ２を生じさせるように、他のゲイン値を第１及び第２のシェルビングフィルタに用いてもよいことは理解されよう。
【０１３４】
例えば、（ｉ）基礎タイプは、バターワースフィルタ（したがってｒＢ≒６．０）であり、（ｉｉ）ｆ１＝１００Ｈｚ、（ｉｉｉ）ｆ２＝１４０Ｈｚ、（ｉｖ）ｇ１＝６ｄＢ、及び（ｖ）ｇ２＝−３ｄＢであると仮定する。その場合、
・第１のシェルビングフィルタは、立ち下がりシェルビングフィルタとなり、第２のシェルビングフィルタは、立ち上がりシェルビングフィルタとなり（ｇ１＞ｇ２なので）、
・第１のシェルビングフィルタが４次フィルタであり、第２のシェルビングフィルタが１次フィルタであることを意味する以下の式
【数１３】
2011517390.tif 000015
が成立し、
・第１のシェルビングフィルタに起因するｆ１及びｆ２間の周波数応答の変化は、ｄ＝−ｎｒＢｌｏｇ２（ｆ２／ｆ１）≒−１１．７ｄＢであり、周波数応答の変化ｇ２−ｇ１−ｄ≒２．７ｄＢは第２のシェルビングフィルタから得られるようにし、したがって、
・以下の式
【数１４】
2011517390.tif 000016
が成立し、それによりｆ４≒１．３７ｆ３となる。ｆ１ｆ２＝ｆ３ｆ４である好ましい実施形態では、ｆ３及びｆ４についての値は、それぞれ約１０１Ｈｚ及び約１３８Ｈｚである。
【０１３５】
別の例として、（ｉ）基礎タイプは、バターワースフィルタ（したがってｒＢ≒６．０）、（ｉｉ）ｆ１＝１０００Ｈｚ、（ｉｉｉ）ｆ２＝２１００Ｈｚ、（ｉｖ）ｇ１＝−４ｄＢ、及び（ｖ）ｇ２＝７ｄＢと仮定する。その場合、
・第１のシェルビングフィルタは、立ち上がりシェルビングフィルタとなり、第２のシェルビングフィルタは、立ち下がりシェルビングフィルタとなり（ｇ１＜ｇ２なので）、
・第１のシェルビングフィルタが２次フィルタであり、第２のシェルビングフィルタが１次フィルタであることを意味する以下の式
【数１５】
2011517390.tif 000017
が成立し、
・第１のシェルビングフィルタに起因するｆ１及びｆ２間の周波数応答の変化は、ｄ＝ｎｒＢｌｏｇ２（ｆ２／ｆ１）≒１２．８ｄＢであり、周波数応答の変化ｇ２−ｇ１−ｄ≒−１．８ｄＢは第２のシェルビングフィルタから得られるようにし、したがって、
・以下の式
【数１６】
2011517390.tif 000018
であり、それによりｆ４≒１．２４ｆ３となる。ｆ１ｆ２＝ｆ３ｆ４である好ましい実施形態では、ｆ３及びｆ４の値は、それぞれ約１３０７Ｈｚ及び約１６０７Ｈｚである。
【０１３６】
（４．４）方法Ｄ
本発明の別の実施形態では、第２のシェルビングフィルタの次数が、異なる所定の次数ｍであり得るということを除いて、方法Ｂ又はＣが用いられる。この場合、ｆ３とｆ４との関係は、
【数１７】
2011517390.tif 000019
により決定される。この場合、第２のシェルビングフィルタは、第１のシェルビングフィルタについてのものと同じ基礎タイプＢに基づいて上記の方法Ａにより形成されるシェルビングフィルタであってもよい。しかし、第２のシェルビングフィルタは、任意のタイプ（又は種類）のシェルビングフィルタであってもよいことが理解されよう。
【０１３７】
ここで、さらに、方法Ｄが方法Ｂに基づいている場合、第１のシェルビングフィルタについての次数ｎは、方法Ｂを用いて計算される次数未満であってもよい。例えば、第１のシェルビングフィルタについての次数ｎは、第１のシェルビングフィルタの周波数応答のｆ１におけるゲインと、第１のシェルビングフィルタの周波数応答のｆ２におけるゲインとの差ｄ１が｜ｇ２−ｇ１｜以下の大きさを有するように、任意の整数ｎに決定されてもよい。
【０１３８】
さらに、方法Ｄが方法Ｃに基づいている場合、第１のシェルビングフィルタについての次数ｎは、方法Ｂを用いて計算される次数を超えていてもよい。例えば、第１のシェルビングフィルタについての次数ｎは、第１のシェルビングフィルタの周波数応答のｆ１におけるゲインと第１のシェルビングフィルタの周波数応答のｆ２におけるゲインとの差ｄが｜ｇ２−ｇ１｜以上の大きさを有するように、任意の整数ｎに決定されてもよい。
【０１３９】
（４．５）方法Ｅ
本発明の別の実施形態では、第２のシェルビングフィルタが、第１のシェルビングフィルタについての基礎タイプＢとは異なる基礎タイプＢ’に基づくものであり得るということを除いて、方法Ｄが用いられる。ｆ３とｆ４との関係を計算するための（すなわち、ｌｏｇ２（ｆ４／ｆ３）を計算するための）上記数式は、ｒＢとは対照的にｒＢ’を用いることになる。
【０１４０】
（４．６）方法Ｆ
図６ａ〜図６ｉは、任意の低コーナ周波数ｆ１及び任意の高コーナ周波数ｆ２を有し、（ｇ２とｇ１との差が所望の量となりうるように）ｆ１及びｆ２での任意の周波数応答ゲインがそれぞれｇ１及びｇ２であるシェルビングフィルタを生成する本発明の別の実施形態に係る例示のシェルビングフィルタのｚ平面極−零点図である。
【０１４１】
所与のカットオフ周波数ｆについて、該カットオフ周波数ｆを有する次数ｎのローパス基礎フィルタは、ｎ個の極を有する。ｎが１から無限大まで及ぶようなカットオフ周波数ｆを有するそのようなローパス基礎フィルタの全てについての極のセットは、該基礎タイプ及び該周波数ｆに対応するｚ平面内の曲線を定める。図６ａ〜図６ｉのそれぞれにおいて、右手の破線の曲線６５２は、選んだ基礎タイプに対応する、低コーナ周波数ｆ１に等しいカットオフ周波数を有する曲線であり、一方、左手の破線の曲線６５０は、選んだ基礎タイプに対応する、高コーナ周波数ｆ２に等しいカットオフ周波数を有する曲線である。単位円５００は、記載を分かりやすくするために、図６ａ〜図６ｉには示されていない。
【０１４２】
図６ａ〜図６ｉに示すシェルビングフィルタは、立ち下がりシェルビングフィルタである。類似の立ち上がりシェルビングフィルタは、極と零点を交換することによって得ることができる。
【０１４３】
図６ａは、有効次数ｎｅが０であるシェルビングフィルタについてのｚ平面極−零点図である。
【０１４４】
このシェルビングフィルタは、曲線６５０と曲線６５２の中間の実軸６５４上の位置６００に位置する、零点及び極の両方を与える１次フィルタセクションから形成される。
【０１４５】
図６ｃは、有効次数ｎｅが１であるシェルビングフィルタについてのｚ平面極−零点図である。
【０１４６】
このシェルビングフィルタは、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有する上記の方法Ａにより形成される１次シェルビングフィルタについての零点及び極の位置で零点及び極を与える１次フィルタセクションから形成される。したがって、零点は、曲線６５０が実軸６５４と交差する実軸６５４上の位置６０２に位置し、極は、曲線６５２が実軸６５４と交差する実軸６５４上の位置６０４に位置する。
【０１４７】
図６ｂは、有効次数ｎｅ＝α（ただし、０＜α＜１）であるシェルビングフィルタについてのｚ平面極−零点図であり、低コーナ周波数ｆ１と高コーナ周波数ｆ２の間のゲインの変化率が、オクターブ当たり−ｎｅｒＢ  ｄＢであるようになっている。
【０１４８】
このシェルビングフィルタは、実軸６５４上に位置する零点及び極を与える１次フィルタセクションから形成される。位置６００及び位置６０２間の距離（位置６００及び位置６０４間の距離にも等しい）がＤ１である場合、零点は、位置６００から実軸６５４に沿って位置６０２に向かって距離αＤ１であり、極は、位置６００から実軸６５４に沿って位置６０４に向かって距離αＤ１である。
【０１４９】
したがって、αが、０（図６ａにおける構成）から１（図６ｃにおける構成）まで増加するにつれて、零点は、実軸６５４に沿って位置６００から位置６０２まで移動し、極は、実軸６５４に沿って位置６００から位置６０４まで移動する。
【０１５０】
図６ｅは、有効次数ｎｅが２であるシェルビングフィルタについてのｚ平面極−零点図である。
【０１５１】
このシェルビングフィルタは、以下のものから形成される。
【０１５２】
（ｉ）低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有する上記の方法Ａにより形成される２次シェルビングフィルタについての零点及び極の位置で２つの複素数零点及び２つの複素数極を与える２次フィルタセクション。零点は、曲線６５０上の位置６０６ａ及び６０６ｂに位置し、極は、曲線６５２上の位置６０８ａ及び６０８ｂに位置する。
【０１５３】
（ｉｉ）曲線６５０と曲線６５２の中間の実軸６５４上の位置６００に位置する、零点及び極の両方を与える１次フィルタセクション。したがって、この１次フィルタセクションは、結果として得られるシェルビングフィルタに実際的な効果を及ぼさない（そこで省略できる）。この１次フィルタセクションは、図６ａにおける１次フィルタセクションと同じである。
【０１５４】
図６ｄは、有効次数ｎｅ＝１＋α（ただし、０＜α＜１）であるシェルビングフィルタについてのｚ平面極−零点図であり、低コーナ周波数ｆ１と高コーナ周波数ｆ２の間のゲイン変化率が、オクターブ当たり−ｎｅｒＢ  ｄＢであるようになっている。
【０１５５】
このシェルビングフィルタは、以下のものから形成される。
【０１５６】
（ｉ）２つの複素数零点及び２つの複素数極を与える２次フィルタセクション。位置６０２と位置６０６ａの間の曲線６５０に沿った距離がＤ２である場合、複素数零点の一方は、位置６０２から曲線６５０に沿って位置６０６ａに向かって距離αＤ２に位置する。他方の複素数零点は、位置６０２から曲線６５０に沿って位置６０６ｂに向かって距離αＤ２に位置する。同様に、位置６０４と位置６０８ａの間の曲線６５２に沿った距離がＤ３である場合、複素数極の一方は、位置６０４から曲線６５２に沿って位置６０８ａに向かって距離αＤ３に位置する。他方の複素数極は、位置６０４から曲線６５２に沿って位置６０８ｂに向かって距離αＤ３に位置する。
【０１５７】
（ｉｉ）実数値の零点及び実数値の極を与える１次フィルタセクションであって、実数値の零点が、位置６０４から実軸６５４に沿って位置６００に向かって距離αＤ１にあり、実数値の極が、位置６０２から実軸６５４に沿って位置６００に向かって距離αＤ１にある、１次フィルタセクション。
【０１５８】
図６ｃの構成は、（結果として互いに相殺する）位置６０２にある追加の極及び零点と、（結果として互いに相殺する）位置６０４にある追加の極及び零点とを有するものとみなすことができる。したがって、αが、０（図６ｃにおける構成）から１（図６ｅにおける構成）まで増加するにつれて、実数値の零点は、位置６０４から位置６００まで移動し、実数値の極は、位置６０２から位置６００まで移動する。同様に、複素数零点は、曲線６５０に沿って位置６０２及び６０２から位置６０６ａ及び６０６ｂまで移動し、複素数極は、曲線６５２に沿って位置６０４から及び６０４から位置６０８ａ及び６０８ｂまで移動する。
【０１５９】
図６ｇは、有効次数ｎｅが３であるシェルビングフィルタについてのｚ平面極−零点図である。
【０１６０】
このシェルビングフィルタは、以下のものから形成される。
【０１６１】
（ｉ）低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有する上記の方法Ａにより形成される３次シェルビングフィルタについての複素数零点及び複素数極の位置で２つの複素数零点及び２つの複素数極を与える２次フィルタセクション。複素数零点は、曲線６５０上の位置６１０ａ及び６１０ｂに位置し、複素数極は、曲線６５２上の位置６１２ａ及び６１２ｂに位置する。
【０１６２】
（ｉｉ）実軸６５４上の位置６０２に位置する実数値の零点、及び実軸６５４上の位置６０４に位置する実数値の極を与える１次フィルタセクション。この１次フィルタセクションは、図６ｃにおける１次フィルタセクションと同じである。
【０１６３】
図６ｆは、有効次数ｎｅ＝２＋α（ただし、０＜α＜１）であるシェルビングフィルタについてのｚ平面極−零点図であり、低コーナ周波数ｆ１と高コーナ周波数ｆ２の間のゲイン変化率が、オクターブ当たり−ｎｅｒＢ  ｄＢであるようになっている。
【０１６４】
このシェルビングフィルタは、以下のものから形成される。
【０１６５】
（ｉ）２つの複素数零点及び２つの複素数極を有する２次フィルタセクション。位置６０６ａと位置６１０ａの間の曲線６５０に沿った距離がＤ４である場合、複素数零点の一方は、位置６０６ａから曲線６５０に沿って位置６１０ａに向かって距離αＤ４に位置する。他方の複素数零点は、位置６０６ｂから曲線６５０に沿って位置６１０ｂに向かって距離αＤ４に位置する。同様に、位置６０８ａと位置６１２ａの間の曲線６５２に沿った距離が、Ｄ５である場合、複素数極の一方は、位置６０８ａから曲線６５２に沿って位置６１２ａに向かって距離αＤ５に位置する。他方の複素数極は、位置６０８ｂから曲線６５２に沿って位置６１２ｂに向かって距離αＤ５に位置する。
【０１６６】
（ｉｉ）実数値の零点及び実数値の極を与える１次フィルタセクションであって、実数値の零点が、位置６００から実軸６５４に沿って位置６０２に向かって距離αＤ１にあり、実数値の極が、位置６００から実軸６５４に沿って位置６０４に向かって距離αＤ１にある、１次フィルタセクション。これは、図６ｂにおける１次フィルタセクションと同じである。
【０１６７】
したがって、αが、０（図６ｅにおける構成）から１（図６ｇにおける構成）まで増加するにつれて、実数値の零点は、位置６００から位置６０２まで実軸６５４に沿って移動し、実数値の極は、位置６００から位置６０４まで実軸６５４に沿って移動する。同様に、複素数零点は、曲線６５０に沿って位置６０６ａ及び６０６ｂから位置６１０ａ及び６１０ｂまでそれぞれ移動し、複素数極は、曲線６５２に沿って位置６０８ａ及び６０８ｂから位置６１２ａ及び６１２ｂまでそれぞれ移動する。
【０１６８】
図６ｉは、有効次数ｎｅが４であるシェルビングフィルタについてのｚ平面極−零点図である。
【０１６９】
このシェルビングフィルタは、以下のものから形成される。
【０１７０】
（ｉ）低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有する上記の方法Ａにより形成される４次シェルビングフィルタについての単位円５００に最も近い２つの零点及び２つの極の位置で２つの複素数零点及び２つの複素数極を与える２次フィルタセクション。零点は、曲線６５０上の位置６１３ａ及び６１３ｂに位置し、極は、曲線６５２上の位置６１６ａ及び６１６ｂに位置する。
【０１７１】
（ｉｉ）上記の方法Ａにより形成される４次シェルビングフィルタについての他の２つの零点及び他の２つの極の位置で２つの複素数零点及び２つの複素数極を与える２次フィルタセクション。零点は、曲線６５０上の位置６１４ａ及び６１４ｂに位置し、極は、曲線６５２上の位置６１８ａ及び６１８ｂに位置する。
【０１７２】
（ｉｉｉ）曲線６５０と曲線６５２の中間の実軸上の位置６００に位置する、零点及び極の両方を与える１次フィルタセクション。したがって、この１次フィルタセクションは、結果として得られるシェルビングフィルタに実際的な効果を及ぼさない（そこで省略できる）。この１次フィルタセクションは、図６ａ及び図６ｅにおける１次フィルタセクションと同じである。
【０１７３】
図６ｈは、有効次数ｎｅ＝３＋α（ただし、０＜α＜１）であるシェルビングフィルタについてのｚ平面極−零点図であり、低コーナ周波数ｆ１と高コーナ周波数ｆ２の間のゲイン変化率が、オクターブ当たり−ｎｅｒＢ  ｄＢであるようになっている。
【０１７４】
このシェルビングフィルタは、以下のものから形成される。
【０１７５】
（ｉ）２つの複素数零点及び２つの複素数極を与える２次フィルタセクション。位置６１０ａと位置６１３ａの間の曲線６５０に沿った距離が、Ｄ６である場合、複素数零点の一方は、位置６１０ａから曲線６５０に沿って位置６１３ａに向かって距離αＤ６に位置する。他方の複素数零点は、位置６１０ｂから曲線６５０に沿って位置６１３ｂに向かって距離αＤ６に位置する。同様に、位置６１２ａと位置６１６ａの間の曲線６５２に沿った距離が、Ｄ７である場合、複素数極の一方は、位置６１２ａから曲線６５２に沿って位置６１６ａに向かって距離αＤ７に位置する。他方の複素数極は、位置６１２ｂから曲線６５２に沿って位置６１６ｂに向かって距離αＤ７に位置する。
【０１７６】
（ｉ）２つの複素数零点及び２つの複素数極を与える２次フィルタセクション。位置６０２と位置６１４ａの間の曲線６５０に沿った距離が、Ｄ８である場合、複素数零点の一方は、位置６０２から曲線６５０に沿って位置６１４ａに向かって距離αＤ８に位置する。他方の複素数零点は、位置６０２から曲線６５０に沿って位置６１４ｂに向かって距離αＤ８に位置する。同様に、位置６０４と位置６１８ａの間の曲線６５２に沿った距離が、Ｄ９である場合、複素数極の一方は、位置６０４から曲線６５２に沿って位置６１８ａに向かって距離αＤ９に位置する。他方の複素数極は、位置６０４から曲線６５２に沿って位置６１８ｂに向かって距離αＤ９に位置する。
【０１７７】
（ｉｉ）実数値の零点及び実数値の極を与える１次フィルタセクションであって、実数値の零点が、位置６０４から実軸６５４に沿って位置６００に向かって距離αＤ１にあり、実数値の極が、位置６０２から実軸６５４に沿って位置６００に向かって距離αＤ１にある、１次フィルタセクション。この１次フィルタセクションは、図６ｄにおける１次フィルタセクションと同じである。
【０１７８】
図６ｇの構成は、（結果として互いに相殺する）位置６０２にある追加の極及び零点と、（結果として互いに相殺する）位置６０４にある追加の極及び零点とを有するものとみなすことができる。したがって、αが、０（図６ｇにおける構成）から１（図６ｉにおける構成）まで増加するにつれて、実数値の零点は、位置６０４から位置６００まで実軸６５４に沿って移動し、実数値の極は、位置６０２から位置６００まで実軸６５４に沿って移動する。同様に、複素数零点は、曲線６５０に沿って位置６０２、６０２、６１０ａ及び６１０ｂから、位置６１４ａ、６１４ｂ、６１３ａ及び６１３ｂまでそれぞれ移動し、複素数極は、曲線６５２に沿って位置６０４、６０４、６１２ａ及び６１２ｂから、位置６１８ａ、６１８ｂ、６１６ａ及び６１６ｂまでそれぞれ移動する。
【０１７９】
この方法は、より高い有効フィルタ次数ｎｅに類似して拡張されてもよいことを当業者は理解できよう。
【０１８０】
図６ｄ以降のそれぞれで、以下の通りである。
【０１８１】
・（１つ以上の）２次フィルタセクションは、第１のシェルビングフィルタを共にもたらし、各２次フィルタは、複素数零点（及びその複素共役）並びに複素数極（及びその複素共役）に対応する。
【０１８２】
・用いられる１次フィルタセクションは、次数１の第２のシェルビングフィルタをもたらし、この１次フィルタは、実数値の零点及び実数値の極に対応する。
【０１８３】
・第１のシェルビングフィルタについての低コーナ周波数はｆ１であり、第１のシェルビングフィルタについての高コーナ周波数はｆ２である。
【０１８４】
・第１のシェルビングフィルタの次数は、用いられる２次フィルタセクションの数の２倍であるように決定される。特に、第１のシェルビングフィルタについての次数ｎは、
【数１８】
2011517390.tif 000020
である。
【０１８５】
・１次フィルタセクションからの実数値の極及び零点の位置は、第２のシェルビングフィルタについての低コーナ周波数ｆ３及び高コーナ周波数ｆ４を決定する。実数値の極及び零点は、曲線６５０と曲線６５２の間にいつもあるので、これによりｆ１≦ｆ３≦ｆ４≦ｆ２になる。
【０１８６】
・有効次数ｎｅ＝ｗ＋α（ただし、０＜α＜１）であると共に、ｗが偶数の正の整数である場合、（ｉ）立ち下がりシェルビングフィルタが作成されるときは、第１及び第２のシェルビングフィルタは共に、立ち下がりシェルビングフィルタであり、（ｉｉ）立ち上がりシェルビングフィルタが作成されるときは、第１及び第２のシェルビングフィルタは共に、立ち上がりシェルビングフィルタである。
【０１８７】
・有効次数ｎｅ＝ｗ＋α（ただし、０＜α＜１）であると共に、ｗが奇数の正の整数である場合、（ｉ）立ち下がりシェルビングフィルタが作成されるときは、第１のシェルビングフィルタは、立ち下がりシェルビングフィルタであり、第２のシェルビングフィルタは、立ち上がりシェルビングフィルタであり、（ｉｉ）立ち上がりシェルビングフィルタが作成されるときは、第１のシェルビングフィルタは、立ち上がりシェルビングフィルタであり、第２のシェルビングフィルタは、立ち下がりシェルビングフィルタである。
【０１８８】
概して、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有し、有効次数ｎｅ＝ｗ＋α（ここで０＜α＜１であり、ｗは整数）である、方法Ｆシェルビングフィルタを生成するためには、
（ｉ）このシェルビングフィルタについての複素数零点は、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有する、次数ｗの方法Ａシェルビングフィルタについての零点と、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有する、次数ｗ＋１の方法Ａシェルビングフィルタについての零点との間で補間される位置にあり、
（ｉｉ）このシェルビングフィルタについての複素数極は、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有する、次数ｗの方法Ａシェルビングフィルタについての極と、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有する、次数ｗ＋１の方法Ａシェルビングフィルタについての極との間で補間される位置にあり、
（ｉｉｉ）実数値の零点及び極は、曲線６５０と曲線６５２の間で、実軸上の補間された位置にある。これは、対数周波数領域中の実軸に沿った補間である。
【０１８９】
したがって、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有する立ち上がりシェルビングフィルタについては、
（ｉ）第１のシェルビングフィルタの伝達関数の各零点は、（ａ）カットオフ周波数ｆ１及びｎ−１の次数を有する第１のローパス基礎フィルタの伝達関数の対応する極の位置と、（ｂ）カットオフ周波数ｆ１及びｎの次数を有する第２のローパス基礎フィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、
（ｉｉ）第１のシェルビングフィルタの伝達関数の各極は、（ｃ）カットオフ周波数ｆ２及びｎ−１の次数を有する第３のローパス基礎フィルタの伝達関数の対応する極の位置と、（ｄ）カットオフ周波数ｆ２及びｎの次数を有する第４のローパス基礎フィルタについての伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する。
【０１９０】
さらに、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有する立ち下がりシェルビングフィルタについては、
（ｉ）第１のシェルビングフィルタの伝達関数の各極は、（ａ）カットオフ周波数ｆ１及びｎ−１の次数を有する第１のローパス基礎フィルタの伝達関数の対応する極の位置と、（ｂ）カットオフ周波数ｆ１及びｎの次数を有する第２のローパス基礎フィルタの伝達関数の対応する極の位置との間の補間によって決定される各位置に位置し、
（ｉｉ）第１のシェルビングフィルタの伝達関数の各零点は、（ｃ）カットオフ周波数ｆ２及びｎ−１の次数を有する第３のローパス基礎フィルタの伝達関数の対応する極の位置と、（ｄ）カットオフ周波数ｆ２及びｎの次数を有する第４のローパス基礎フィルタについての伝達関数の対応する極の位置との間の補間によって決定される各位置に位置する。
【０１９１】
複素数極及び複素数零点の位置についての図６ａ〜図６ｉに関連した上記の補間は、曲線６５０又は６５２に沿っての補間である。しかし、別の実施形態では、この補間は、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有する次数ｗの方法Ａシェルビングフィルタについての零点（又は極）と、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を有する次数ｗ＋１の方法Ａシェルビングフィルタについての零点（又は極）との間の直線に沿って実行される。
【０１９２】
好ましい実施形態では、（例えば、図６ｈ及び図６ｉにおいて）複数の２次フィルタセクションが用いられるとき、第１の２次フィルタセクションは、単位円５００に最も近い２つの極及び２つの零点に基づいており、第２の２次フィルタセクションは、単位円５００に次に近い２つの極及び２つの零点に基づいており、以下同様である。したがって、（ｓ＞１の場合）ｓ個の２次フィルタセクションが用いられる場合、ｔ番目の２次フィルタセクション（１≦ｔ≦ｓ）は、単位円５００にｔ番目に近い複素数極である極（及びその複素共役）、及び単位円５００にｔ番目に近い複素数零点である零点（及びその複素共役）に基づいている。
【０１９３】
このことは、図９に概略的に示されており、図９は、零点ｚ１・・・ｚｓ及びそれらの複素共役零点
【数１９】
2011517390.tif 000021
と、シェルビングフィルタについての極ｐ１・・・ｐｓ及びそれらの複素共役極
【数２０】
2011517390.tif 000022
とを概略的に示し、ｉ＞ｊの場合、零点ｚｉは、零点ｚｊよりも単位円５００に近く、ｉ＞ｊの場合、極ｐｉは、極ｐｊよりも単位円５００に近い。この好ましい実施形態における２次フィルタセクションは、ペアリング（ｐａｉｒｉｎｇ）
【数２１】
2011517390.tif 000023
によって形成される本質的に個々のフィルタであり、各個々の伝達関数が
【数２２】
2011517390.tif 000024
である。
【０１９４】
２次フィルタセクションのそのような形成は、ステップＳ２０８が用いられた後に、ステップＳ２０６で生成したフィルタのあるセットから生成したフィルタの別のセットに移行するのに役立つ。これについては後でより詳細に説明する。
【０１９５】
しかし、２次フィルタセクションは、この特定の方法で生成される必要はないことが理解されよう。
【０１９６】
（５）フィルタのセットの決定
図７は、ステップＳ２０４でフィルタのセットを決定する、本発明の一実施形態による処理７００を概略的に示すフローチャートである。複数のフィルタが、現在指定されている周波数応答インジケータのセットに基づいて決定されるものであり、この周波数応答インジケータのセットは、ステップＳ２０２で初期化されるような周波数応答インジケータのセットであっても、ステップＳ２０８で更新されるような周波数応答インジケータのセットであってもどちらでもよい。
【０１９７】
使用すべき複数の周波数応答インジケータ（すなわち、ステップＳ２０２で初期化される又は必要に応じてステップＳ２０８で更新される複数の周波数応答インジケータ）は、以下、セット｛（Ｆｎ、Ｇｎ）：ｎ＝１．．．Ｎ｝と呼ばれるものとし、ここで、（ｉ）Ｎ≧０であるＮ個の周波数応答インジケータがあり、（ｉｉ）ｎ番目の周波数応答インジケータ（ただし、１≦ｎ≦Ｎ）については、対応するユーザが定めた周波数がＦｎであり、ユーザが定めたゲインがＧｎであり、（ｉｉｉ）表記の便宜上、Ｆｎ＜Ｆｎ＋１（ただし１≦ｎ＜Ｎ）と仮定する。上記配列においてｍ＝ｎ＋１又はｎ＝ｍ＋１である場合、２つの周波数応答インジケータ（Ｆｎ、Ｇｎ）及び（Ｆｍ、Ｇｍ）は、隣接する周波数応答インジケータと呼ばれるものとし、すなわち、ＦｎとＦｍの間の周波数を指定する周波数応答インジケータはない。
【０１９８】
ステップＳ７０２では、Ｎが０に等しいか否か、すなわち周波数応答インジケータのセットが空であるか否かが判断される。Ｎが０に等しい場合、ステップＳ７０４で処理が続き、このステップＳ７０４では、使用すべきフィルタのセットが空であるように設定され（それにより、ステップＳ２０６では、音声データは、プロセッサ１１４によって影響を受けないことになる）、次いで、後述されることになるステップＳ７２４まで処理が続く。逆に、Ｎが０に等しくなく、したがって少なくとも１つの周波数応答インジケータが存在する場合、ステップＳ７０６で処理が続く。
【０１９９】
ステップＳ７０６では、Ｎが１に等しいか否か、すなわち単一の周波数応答インジケータが指定されているか否かが判断される。Ｎが１に等しい場合、ステップＳ７０８で処理が続き、このステップＳ７０８では、Ｇ１に等しい一定のゲインを有する周波数応答を有するフィルタが生成され（この生成を行う方法は、本技術分野でよく知られている）、次いで、後述されることになるステップＳ７２４まで処理が続く。この他に、ステップＳ７０８での処理は、ステップＳ７０４での処理と同じであってもよく（すなわち、フィルタは、生成されない）、その場合、フィルタは、少なくとも２つの周波数応答インジケータが指定されたときに生成されるに過ぎないことになる。
【０２００】
Ｎが１に等しくなく、したがって複数の周波数応答インジケータが存在する場合、ステップＳ７１０で処理が続く。ステップＳ７１０で、値ｉが値１に初期化される。処理７００は、フィルタのセットを決定するために１回以上の反復を利用してもよく、値ｉは、現在の反復の回数を表す反復カウンタである。
【０２０１】
次に、ステップＳ７１２では、周波数応答インジケータ（Ｆｋ、Ｇｋ）ごとに、対応する目標ゲインＴｋが、ユーザ指定のゲインＧｋであるように初期化される。目標ゲインＴｋの目的は後で説明する。
【０２０２】
次に、任意的なステップＳ７１４で、一対の隣接する周波数応答インジケータ（Ｆｋ、Ｇｋ）及び（Ｆｋ＋１、Ｇｋ＋１）ごとに、対応する周波数比率ｈｋが、所定の初期値に初期化される。周波数比率ｈｋの目的は後で説明する。値１／３は、以下により詳細に述べるように、周波数比率ｈｋに適した所定の初期値であることが分かっている。
【０２０３】
任意的なステップＳ７１６で、周波数比率ｈｋが調整される。これについては後でより詳細に説明する。しかし、幾つかの実施形態では、ステップＳ７１６は省略される。
【０２０４】
任意的なステップＳ７１８で、目標ゲインＴｋが、調整される。これについては後でより詳細に説明する。しかし、幾つかの実施形態では、ステップＳ７１８は省略される。
【０２０５】
ステップＳ７２０で、シェルビングフィルタは、隣接する周波数応答インジケータの対（Ｆｋ、Ｇｋ）及び（Ｆｋ＋１、Ｇｋ＋１）ごとに決定される。本発明の幾つかの実施形態は、上記の方法Ａ〜Ｆのうちの１つを用いて、隣接する周波数応答インジケータの対（Ｆｋ、Ｇｋ）及び（Ｆｋ＋１、Ｇｋ＋１）についてのシェルビングフィルタを生成する。
【０２０６】
隣接する周波数応答インジケータの対（Ｆｋ、Ｇｋ）及び（Ｆｋ＋１、Ｇｋ＋１）については、対応するシェルビングフィルタは、次の通り決定される。
【０２０７】
・周波数比率ｈｋを利用しない一実施形態では、対応するシェルビングフィルタを生成するために使用すべき低コーナ周波数及び高コーナ周波数は、それぞれＦｋ及びＦｋ＋１である。特に、上記の方法Ａ〜Ｆのうちの１つが用いられる場合、ｆ１＝Ｆｋ及びｆ２＝Ｆｋ＋１である。
【０２０８】
・周波数比率ｈｋを利用する一実施形態では、対応するシェルビングフィルタを生成するために使用すべき低コーナ周波数ｆ１及び高コーナ周波数ｆ２は、それぞれ値ｈｋにより調整される値Ｆｋ及びＦｋ＋１である。次いで、方法Ａ〜Ｆを使用して、低コーナ周波数ｆ１及び高コーナ周波数ｆ２を用いてシェルビングフィルタを生成することができる。
【０２０９】
特に、ｈｋが１未満である場合、ｆ１〜ｆ２の範囲は、Ｆｋ〜Ｆｋ＋１の範囲内にあり、それに対し、ｈｋが１を超える場合、Ｆｋ〜Ｆｋ＋１の範囲は、ｆ１〜ｆ２の範囲内にあり、ｈｋ＝１の場合、ｆ１＝Ｆｋ及びｆ２＝Ｆｋ＋１である。
【０２１０】
本発明の一実施形態では、ｆ１及びｆ２は、ｆ１〜ｆ２の範囲のサイズがＦｋ〜Ｆｋ＋１の範囲のサイズのｈｋ倍であるように選ばれ、それによりｆ２−ｆ１＝ｈｋ（Ｆｋ＋１−Ｆｋ）である。好ましくは、このとき、ｈｋが１未満である場合、ｆ１〜ｆ２の範囲は、Ｆｋ〜Ｆｋ＋１の範囲内の実質的に中央にあり、それに対し、ｈｋが１を超える場合、Ｆｋ〜Ｆｋ＋１の範囲は、ｆ１〜ｆ２の範囲内の実質的に中央にある。したがって、このとき、好ましくは、ｆ２＋ｆ１＝Ｆｋ＋１＋Ｆｋである。これら２つの数式から、ｆ１〜ｆ２の値を決定することができる。
【０２１１】
本発明の別の実施形態では、ｆ１及びｆ２は、ｌｏｇｆ１〜ｌｏｇｆ２の範囲のサイズがｌｏｇＦｋ〜ｌｏｇＦｋ＋１の範囲のサイズのｈｋ倍であるように選ばれ、それによりｌｏｇｆ２−ｌｏｇｆ１＝ｈｋ（ｌｏｇＦｋ＋１−ｌｏｇＦｋ）のｈｋ倍であり、すなわち、
【数２３】
2011517390.tif 000025
である。好ましくは、このとき、ｈｋが１未満である場合、ｌｏｇｆ１〜ｌｏｇｆ２の範囲は、ｌｏｇＦｋ〜ｌｏｇＦｋ＋１の範囲の実質的に中央にあり、それに対し、ｈｋが１を超える場合、ｌｏｇＦｋ〜ｌｏｇＦｋ＋１の範囲は、ｌｏｇｆ１〜ｌｏｇｆ２の範囲の実質的に中央にある。したがって、このとき、好ましくは、ｌｏｇｆ２＋ｌｏｇｆ１＝ｌｏｇＦｋ＋１＋ｌｏｇＦｋであり、すなわちｆ２ｆ１＝Ｆｋ＋１Ｆｋである。これら２つの数式から、ｆ１〜ｆ２の値を決定することができる。
【０２１２】
周波数比率を用いる目的は、後で説明する。
【０２１３】
・シェルビングフィルタは、上記で定めた低コーナ周波数ｆ１での目標ゲインＴｋ、及び上記で定めた高コーナ周波数ｆ２での目標ゲインＴｋ＋１を用いて生成される。
【０２１４】
・ｋ＝１の場合、シェルビングフィルタは、周波数Ｆ１でゲインＴ１を有し、かつ周波数がＦ１からＦ２まで変化するときにゲインの変化Ｔ２−Ｔ１を有することを目指して生成される。ｋ＞１の場合、シェルビングフィルタは、周波数Ｆｋでゲイン０を有し、かつ周波数がＦｋからＦｋ＋１まで変化するときにゲインの変化Ｔｋ＋１−Ｔｋを有することを目指して生成される。したがって、周波数インジケータにおいて実現される実際のゲインは、目標値Ｔｋに十分に近いことになる。しかし、個々のシェルビングフィルタは、様々なゲインを用いて生成されてもよく、しかしそれでもなお、同じ効果のある組み合わせたゲインを有することが理解されよう。
【０２１５】
シェルビングフィルタが、ステップＳ７２０で生成されたら、ステップＳ７２２では、反復カウンタｉが現在、所定の反復の最大回数ｉ＿Ｍａｘであるか判断される。反復カウンタｉが所定の反復の最大回数ｉ＿Ｍａｘに等しい場合、ステップＳ７２４で処理は終了し、そうでなければ、ステップＳ７２６で処理は続く。このように、ステップＳ２０４についてのフィルタのセットを決定する処理７００について実行される反復数は、この所定の反復最大回数以下である。この所定の反復最大回数は、図７の処理７００が、該所定の反復最大回数の後に、所望の周波数応答に十分近い周波数応答を有するフィルタのセットを獲得したと通常見込まれるような値であるように選ばれてもよく、すなわち、生成したフィルタのセットから得られる周波数応答と所望の周波数応答との差は、ｉ＿Ｍａｘ回の反復が実行された後は通常大きく変化しない。１０まで若しくはさらにより高い値が用いられてもよいが、３回〜６回の範囲のｉ＿Ｍａｘについての値が、通常、この基準には十分であることが分かっている。代替として、又は加えて、所定の反復の最大回数は、プロセッサ１１４の処理能力及び／又は反復の実行に許容される処理時間の量に基づいて選ばれてよい。特に、プロセッサ１１４の処理能力又は許容処理時間が比較的低い場合、ｉ＿Ｍａｘの値は、減少し得るのに対し、プロセッサ１１４の処理能力又は許容処理時間が比較的高い場合、ｉ＿Ｍａｘの値は、増加し得る。このように、処理７００に関する反復の最大回数は、音声データを処理するために用いるフィルタセットの生成に過大な遅延を生じさせないように適切な値に設定することができるので、ステップＳ２０６での音声データのリアルタイム処理は、フィルタセットのリアルタイム生成によって実行することが可能である。
【０２１６】
現在の反復が最後の反復である場合、処理は、ステップＳ７２２からステップＳ７２４へ進行したことになる。ステップＳ７２４では、生成したフィルタについての係数が、計算され得る（この計算を行う方法は、本技術分野でよく知られている）。さらに、セットのフィルタの組合せの周波数応答の視覚的表示（例えば、ＧＵＩ３０１上の曲線３０４）が、表示されることになる場合、該周波数応答が、やはり計算され、次いで表示され得る（これを行う方法は、本技術分野でよく知られている）。
【０２１７】
現在の反復が最後の反復でない場合、処理は、ステップＳ７２２からステップＳ７２６へ進行したことになる。ステップＳ７２６では、周波数応答インジケータに関連した周波数Ｆｋごとに、プロセッサ１１４が、決定したセットのフィルタの組合せから得られる該周波数Ｆｋでの、対応する周波数応答を決定する。この決定を行う方法は、周知であり、したがって本明細書では詳細に説明しない。以下の説明では、セットのフィルタの組合せから得られる周波数応答の周波数Ｆｋにおけるゲインは、Ａｋによって示される。
【０２１８】
次いで、ステップＳ７２８では、周波数応答インジケータごとに誤差値ｅｋが、決定され、ここでｅｋ＝Ａｋ−Ｇｋ、ただしｋ＝１．．．Ｎである。
【０２１９】
任意的なステップＳ７３０では、所望の周波数応答と、決定したセットのフィルタの組合せから得られる周波数応答との間の誤差（又は差）が、十分に小さいか判断される。この判断は、様々な方法で実現することができる。例えば、以下の方法のうちの１つ以上が、用いられてもよい。
【０２２０】
各誤差値ｅｋの大きさが所定の誤差閾値Ｅ未満である場合、所望の周波数応答と決定したセットのフィルタの組合せから得られる周波数応答との間の誤差（又は差）は十分に小さいとみなされ、そうでない場合は、誤差（又は差）は十分に小さくない。
【０２２１】
【数２４】
2011517390.tif 000026
（ｐ＝２など正の値のｐ、及び所定の誤差閾値Ｅに対して）の場合、所望の周波数応答と所定のフィルタのセットの組合せから得られる周波数応答との間の誤差（又は差）は十分に小さいとみなされ、そうでない場合は、誤差（又は差）は十分に小さくない。上記のこの例は、誤差値ｅｋの特定の平均値を計算することを伴う。例えば、ｐ＝１の場合、誤差値ｅｋの相加平均が用いられ、一方、ｐ＝２の場合、誤差値ｅｋの平方自乗平均が用いられる。しかし、他の平均（最頻値（モード）、中央値（メディアン）など）を用いることも可能なことは理解されよう。
【０２２２】
本発明の実施形態は、生成されたフィルタセットの組合せから得られる周波数応答と所望の周波数応答との差について、任意の他の尺度を用いてもよいことが理解されよう。
【０２２３】
所望の周波数応答と決定されたセットのフィルタの組合せから得られる周波数応答との間の誤差（又は差）が十分に小さいと判断される場合、ステップＳ７２４で処理は終了し、そうでない場合は、ステップＳ７３２まで処理が続く。したがって、任意的なステップＳ７３０を用いる実施形態の場合、処理７００は、所定のフィルタのセットの組合せが、所望の周波数応答に十分近い周波数応答を有するとき（すなわち、さらなる反復が、必要ないと考えられるとき）、最大回数ｉ＿Ｍａｘ回の反復を実行する必要なく終了でき、それによって処理時間を節約する。
【０２２４】
比較的高い所定の誤差閾値Ｅが、フィルタのセットを生成するように求められ得る反復回数を減少させるために、上記の例において用いられてもよいが、その際には、そうでなければ追加の反復を用いて獲得可能であった可能性のあるものよりも所望の周波数応答とは異なっている周波数応答を潜在的に作り出す。対照的に、比較的低い所定の誤差閾値Ｅが、所望の周波数応答の近い周波数応答を獲得しようとするために、用いられてもよいが、その場合にはフィルタのセットを生成するように求められる反復回数を増加させるという犠牲が潜在的にある。約０．１ｄＢの所定の誤差閾値Ｅは、このレベルを下回る周波数応答ゲインの差が聴き手によって通常認識されないので、これら目的のために用いられてもよい。
【０２２５】
ステップＳ７３２で、反復カウンタｉは、別の反復が実行されようとすることを反映させるために増加される。
【０２２６】
次いで、ステップＳ７３４で、１つ以上の目標ゲインＴｋが、更新される。プロセッサ１１４は、対応する周波数Ｆｋでの処理７００の次の反復中のステップＳ７２０で生成されるフィルタのセットの組合せの周波数応答ゲインが、現在の生成されているフィルタのセットについてのものよりも所望のゲインＧｋに近いように、目標ゲインＴｋのうちの１つ以上を調整してもよい。言い換えれば、プロセッサは、処理７００の次の反復中に、より小さい値の｜ｅｋ｜を作り出そうとするように、目標ゲインＴｋのうちの１つ以上を調整しようと試みる。
【０２２７】
一実施形態では、各目標ゲインＴｋ（ただし、ｋ＝１．．．Ｎ）は、各目標ゲインＴｋが、正の値αについて値Ｔｋ−αｅｋをとるように調整される。α値は、所定の値であってもよい。しかし、本発明の他の実施形態では、α値は、現在の反復の回数に応じて変わってもよく、例えば、ｉ番目の反復についてのα値は、値ｉに比例又は反比例であってもよい。本発明の実施形態では、α値は、値｜ｅｋ｜のうちの１つ以上の値に応じて変わってもよい。例えば、目標ゲインＴｋについてのα値は、値｜ｅｋ｜の関数であってもよい。
【０２２８】
しかしながら、好ましい実施形態では、α値は、一定の１である。したがって、例えば、ｋ番目のユーザ指定のゲインＧｋが６．０ｄＢであり、生成したフィルタのセットの組合せによって対応する周波数Ｆｋで実現されるゲインがＡｋ＝７．２ｄＢである場合、ｋ番目の誤差値は、ｅｋ＝１．２ｄＢである。したがって、第２の反復でＡｋを減少させて６．０ｄＢまで下げようとする試み（すなわち、ユーザ指定のゲインＧｋ）では、第１の反復の終わりで、目標ゲイン値Ｔｋは、６．０Ｂから４．８ｄＢまで下げるように調整されてもよい。第２の反復の終わりで、Ａｋ＝５．７ｄＢである場合、目標ゲイン値Ｔｋは、４．８ｄＢから５．１ｄＢまで上がるように調整されてもよい。このプロセスは、目標ゲインＴｋごとにこの方法で続く。
【０２２９】
ステップＳ７３４で、目標ゲインＴｋが更新された後、処理は、処理７００についての次の反復が実行できるようにステップＳ７１４に戻る。
【０２３０】
図１０ａ〜図１０ｇは、周波数応答インジケータ３０２の所与のセットについての処理７００中に７回連続する反復で生成されたセットのフィルタについての周波数応答曲線３０４の例のグラフ３０１である。図１０ａは、第１の反復後の周波数応答であり、図１０ｂは、第２の反復後の周波数応答であり、図１０ｃは、第３の反復後の周波数応答であり、図１０ｄは、第４の反復後の周波数応答であり、図１０ｅは、第５の反復後の周波数応答であり、図１０ｆは、第６の反復後の周波数応答であり、図１０ｇは、第７の反復後の周波数応答である。
【０２３１】
見ることができるように、第１の反復後、周波数応答曲線３０４は、周波数応答インジケータ３０２の大部分を外している。しかし、第３の反復以降から、周波数応答曲線３０４は、周波数応答インジケータ３０２の全てを視覚的に正確に通過する。
【０２３２】
本発明の幾つかの実施形態は、ステップＳ７１６で生成された各シェルビングフィルタの次数に上限を課し得ることが理解されよう。このことは、（例えば、ＤＳＰにおける）そのようなシェルビングフィルタを実施するために利用できるハードウェアの量への制限によるものであり得、又はより大きい次数のフィルタが本質的により長い処理の遅延になることによる音声処理に伴われる遅延を制限したいことによるものであり得、又は（フィルタの次数が大きくなるほど、該フィルタに加えるように求められる処理の量が大きくなる）必要とされる処理の量（したがって出力）への制限によるものであり得る。代替として、又は加えて、及び同じ理由から、本発明の幾つかの実施形態は、ステップＳ７２０で生成されるシェルビングフィルタの次数の全てに上限を課すことができる。ステップＳ７２０で生成されたフィルタの次数は、目標ゲインＴｋ、並びにシェルビングフィルタに用いられる低コーナ周波数及び高コーナ周波数に依存するので、目標ゲイン並びに低コーナ周波数及び高コーナ周波数は、生成されるシェルビングフィルタが、前述の（１つ以上の）制約が与えられる適切なサイズの次数を有することを確かにしようとする試みにおいて調整することができる。このことは、任意的なステップＳ７１６及びＳ７１８の目的であり、任意的なステップＳ７１６及びＳ７１８は、互いから切り離して、互いの中で、又は互いに組み合わせて適用することができる。当然、周波数比率ｈｋが用いられていない場合、ステップＳ７１６は、適用され得ない。
【０２３３】
図８ａは、上限Ｏｍａｘが、ステップＳ７２０で生成された各シェルビングフィルタの次数に課されるときのステップＳ７１８についての処理８００を示す概略フローチャートである。
【０２３４】
ステップＳ８０２で、カウンタｎは、値１に初期化される。
【０２３５】
ステップＳ８０３では、調整値のセットｄｋ（ｋ＝１．．．Ｎ）が、ゼロに初期化される（すなわちｄｋ＝０、ただしｋ＝１．．．Ｎ）。各目標ゲインＴｋは、処理８００中に計算されると共に、処理８００の終わりで目標ゲインＴｋに適用されることになる対応する調整値ｄｋを有する。
【０２３６】
ステップＳ８０４で、ｎが値Ｎ（すなわち、周波数応答インジケータの個数）であるか判断される。ｎが値Ｎであれば、ステップＳ７２０で生成されることになる各シェルビングフィルタは、処理８００によって考慮されたことになり、ステップＳ８０６で、そこで処理は終了し、このステップＳ８０６では、目標ゲインＴｋが、対応する調整値ｄｋによって調整され、すなわちＴｋ＝Ｔｋ＋ｄｋ、ただしｋ＝１．．．Ｎとなる。そうでなければ、ステップＳ８０８で処理が続く。
【０２３７】
ステップＳ８０８では、一対の隣接する周波数応答インジケータ（Ｆｎ、Ｇｎ）及び（Ｆｎ＋１、Ｇｎ＋１）についてのステップＳ７２０で生成されるシェルビングフィルタの次数Ｏｎが、決定される。次数Ｏｎは、例えば、必要に応じて方法Ａ〜Ｆに関連した上記数式を用いて決定されてもよい。この決定は、これら隣接する周波数応答インジケータについての現在の対応する目標ゲインＴｎ及びＴｎ＋１を用いることに基づいており、すなわち、目標ゲインＴｎ及びＴｎ＋１は、処理８００中にまだ更新されていない。
【０２３８】
ステップＳ８１０では、必要とされる次数Ｏｎは、上限Ｏｍａｘと比較される。必要とされる次数Ｏｎが、上限Ｏｍａｘを超えない場合、目標ゲインＴｎ及びＴｎ＋１の調整は、このシェルビングフィルタに基づいて必要とされず、そこでステップＳ８１２において処理は続く、そうでなければ、ステップＳ８１４で処理が続く。
【０２３９】
ステップＳ８１２では、カウンタｎは１だけ増分され、次いで処理はステップＳ８０４に戻る。
【０２４０】
この他に、必要とされる次数Ｏｎが、シェルビングフィルタについての次数に課される上限Ｏｍａｘを超えるときは、ステップＳ８１４に到達する。したがって目標ゲインＴｎ及びＴｎ＋１は、それに応じて（ステップＳ８０６での処理８００の終わりで）調整されるべきである。したがって、ステップＳ８１４で、（必要とされるシェルビングフィルタの次数が、減少するように）目標ゲインＴｎ及びＴｎ＋１が互いに寄せ集められるべき量Ｒが、決定される。ここで、
【数２５】
2011517390.tif 000027
であり、ただし、
【数２６】
2011517390.tif 000028
は、このシェルビングフィルタの次数が、Ｏｍａｘであるように設定されているならば実現可能なゲインの変化の大きさである。目標ゲインＴｎ及びＴｎ＋１を互いにより近づけることにより、低コーナ周波数と高コーナ周波数の間の周波数応答曲線傾きの大きさを減少させ、したがって、シェルビングフィルタの次数を減少させる。
【０２４１】
次に、ステップＳ８１６で、ＴｎがＴｎ＋１を超えるか判断される。ＴｎがＴｎ＋１を超える場合、ステップＳ８１８で処理は続き、このステップＳ８１８でｄｎがＲ／２だけ減少し、ｄｎ＋１がＲ／２だけ増加する。ＴｎがＴｎ＋１を超えない場合、ステップＳ８２０で処理が続き、このステップＳ８２０でｄｎがＲ／２だけ増加し、ｄｎ＋１がＲ／２だけ減少する。しかし、ｄｎ及びｄｎ＋１は、Ｔｎ及びＴｎ＋１を互いに十分に近づけようと試みるために他の量によって調整することもできることが理解されよう。例えば、ステップＳ８１８では、ｄｎは、ｖＲだけ減少させられてもよく、ｄｎ＋１は、（１−ｖ）Ｒだけ増加させられてもよく、ステップＳ８１８では、ｄｎは、ｖＲだけ増加させられてもよく、ｄｎ＋１は、（１−ｖ）Ｒだけ増加させられてもよく、ただし、０≦ｖ≦１である。次いで、ステップＳ８１２で処理が続く。
【０２４２】
図８ｂは、上限Ｏｍａｘが、ステップＳ７２０で生成された各シェルビングフィルタの次数に課されるときの、ステップＳ７１６についての処理８５０を示す概略フローチャートである。処理８５０は、処理８００に類似しており、処理８００及び８５０が共有するステップは、同じ参照番号が与えられており、したがって再び説明しない。
【０２４３】
図８ｂの処理８５０は、図８ａのステップＳ８０２で開始し、（ステップＳ８０３を用いることなく）図８ａのステップＳ８０４へ進む。ステップＳ８０４では、ｎ＝Ｎである場合、ステップＳ８５２で処理は終了し、そうでなければ、図８ａのステップＳ８０８で処理は続き、次いで図８ａのステップＳ８１０へ続く。
【０２４４】
ステップＳ８１０では、必要とされる次数Ｏｎは、上限Ｏｍａｘと比較される。必要とされる次数Ｏｎが上限Ｏｍａｘを超えない場合、周波数比率ｈｎの調整は、現在のシェルビングフィルタに必要とされず、そこでステップＳ８１２で処理が続き、そうでなければ、ステップＳ８５４で処理が続く。
【０２４５】
ステップＳ８５４では、プロセッサ１１４は、値ｈｎを増加させる。このことは、この一対の周波数応答インジケータ（Ｆｎ、Ｇｎ）及び（Ｆｎ＋１、Ｇｎ＋１）についてのシェルビングフィルタについての低コーナ周波数と高コーナ周波数の間の周波数ギャップを効果的に広くする。これによって該シェルビングフィルタの次数を減少させることができる。本発明の幾つかの実施形態は、周波数比率ｈｎに所定の上限を課すことができ、それによってステップＳ８５４は、該上限を超えてｈｎを増加させることができない。幾つかの実施形態では、この上限は、値約１であり得る。
【０２４６】
ステップＳ８５４は、一対の周波数応答インジケータ（Ｆｎ、Ｇｎ）及び（Ｆｎ＋１、Ｇｎ＋１）についてのシェルビングフィルタの次数を十分に減少させて、次数を所定の最大次数Ｏｍａｘまで引き下げることができる。しかし、周波数比率ｈｎに上限を課す実施形態については、ステップＳ８５４は、シェルビングフィルタの次数を十分に減少させることができない。したがって、次いで、図７中の処理７００のステップＳ７１８を用いてシェルビングフィルタの次数をさらに減少させてもよい。
【０２４７】
上述したように、ステップＳ７１４で、周波数比率ｈｋは、所定の値に初期化される。一対の周波数応答インジケータ（Ｆｋ、Ｇｋ）及び（Ｆｋ＋１、Ｇｋ＋１）についての周波数比率ｈｋが小さい（すなわち、１よりはるかに少ない）場合、作り出されるシェルビングフィルタは、それに応じて高い次数有することになるが、コーナ周波数ｆ１及びｆ２が、周波数Ｆｋ及びＦｋ＋１からかなり離れるように移動されるので、周波数Ｆｋ以下及び周波数Ｆｋ＋１以上で「コーナ効果」（すなわち、周波数応答の揺れ及び曲線）がほとんどない。したがって、シェルビングフィルタの周波数応答は、周波数Ｆｋ以下でゲインＧｋ、及び周波数Ｆｋ＋１以上でゲインＧｋ＋１を有する可能性がとても高い。
【０２４８】
一方、一対の周波数応答インジケータ（Ｆｋ、Ｇｋ）及び（Ｆｋ＋１、Ｇｋ＋１）についての周波数比率ｈｋが、大きい（例えば、１を超える）場合、作り出されるシェルビングフィルタは、それに応じてより低い次数を有することになるが、コーナ周波数ｆ１及びｆ２は、周波数Ｆｋ及びＦｋ＋１に向かい、次いで周波数Ｆｋ及びＦｋ＋１を越えて移動されるので、周波数Ｆｋ以下及び周波数Ｆｋ＋１以上で「コーナ効果」（すなわち、周波数応答におけるウォブルや曲線）が増加する。シェルビングフィルタの周波数応答は、周波数Ｆｋ以下でゲインＧｋ、及び周波数Ｆｋ＋１以上でゲインＧｋ＋１を有する可能性が低い。
【０２４９】
したがって、周波数比率ｈｋを初期化する所定の値の選択は、シェルビングフィルタの次数（したがって、付随する電力、処理、ハードウェア及び遅延の量）と、周波数Ｆｋ及びＦｋ＋１の辺りでの「コーナ効果」の度合いとの間のトレードオフであり、その量だけシェルビングフィルタの周波数応答は、周波数Ｆｋ以下で所望のゲインＧｋ、及び周波数Ｆｋ＋１以上での所望のゲインＧｋ＋１から逸れる。
【０２５０】
約１／３〜約１／２の範囲のｈｋの値は、良好な妥協を与えることが分かっており、この妥協は、周波数Ｆｋと周波数Ｆｋ＋１の間でオクターブ当たりのゲインが比較的一定の変化（すなわち、対数周波数対ゲイン周波数応答のプロット上の直線）を有すると共に、周波数Ｆｋ及び周波数Ｆｋ＋１の辺りに比較的少量の「コーナ効果」を有するシェルビングフィルタについての周波数応答を与える。したがって、幾つかの周波数応答インジケータが、対数周波数対ゲイングラフ３０１上で直線に指定されるとき、この範囲内の周波数比率を使用すると、これら周波数応答インジケータを通って実質的に直線でもある周波数応答曲線３０４を生成する。
【０２５１】
このことは、図１１ａ〜図１１ｉに示されており、図１１ａ〜図１１ｉは、周波数応答インジケータ３０２の所与のセットについての処理７００ａ〜ｅ中に生成されたセットのフィルタについての周波数応答曲線３０４の例のグラフ３０１である。図１１ａ〜図１１ｉについては、値ｈｋが固定され（すなわち、値ｈｋは、図７のステップＳ７１６で調整されない）、目標ゲインＴｋは、図７のステップＳ７１８で調整される。図１１ａでは、ｈｋは１／１２で固定され、図１１ｂでは、ｈｋは１／６で固定され、図１１ｃでは、ｈｋは１／４で固定され、図１１ｄでは、ｈｋは１／３で固定され、図１１ｅでは、ｈｋは１／２で固定され、図１１ｆでは、ｈｋは２／３で固定され、図１１ｇでは、ｈｋは１で固定され、図１１ｈでは、ｈｋは３／２で固定され、及び図１１ｉでは、ｈｋは２で固定される。
【０２５２】
周波数応答インジケータ３０２ｂ及び３０２ｃは、同じ関連したゲインを有し、一方、周波数応答インジケータ３０２ｃ、３０２ｄ、及び３０２ｅは、グラフ３０１上に直線を形成する。
【０２５３】
見て分かるように、
【０２５４】
・図１１ａ〜図１１ｃにおいて値ｈｋが１／１２、１／６、及び１／４の場合、
縦に並んだ周波数応答インジケータ３０２ｃ、３０２ｄ、及び３０２ｅの間の周波数応答曲線３０４は、所望の実質的な直線ではなく、階段状の曲線である。
同じ高さの周波数応答インジケータ３０２ｂ及び３０２ｃ間の周波数応答曲線３０４は、比較的平らである。
【０２５５】
・図１１ｆ〜図１１ｉにおいて値ｈｋが２／３、１、３／２、及び２の場合、
縦に並んだ周波数応答インジケータ３０２ｃ、３０２ｄ、及び３０２ｅ間の周波数応答曲線３０４は、図１１ａ〜図１１ｃの階段状の曲線とは対照的に比較的直線である。
同じ高さの周波数応答インジケータ３０２ｂ及び３０２ｃの間の周波数応答曲線３０４は、かなり誇大である。
最左の周波数応答インジケータ３０２ａの周波数を下回る周波数での周波数応答は、該周波数応答インジケータ３０２ａに関連したゲインとはかなり異なるゲインを有する。
最右の周波数応答インジケータ３０２ｅの周波数を上回る周波数での周波数応答は、該周波数応答インジケータ３０２ｅに関連したゲインとはかなり異なるゲインを有する。
【０２５６】
・図１１ｄ〜図１１ｅにおいて値ｈｋが１／３及び１／２の場合、
縦に並んだ周波数応答インジケータ３０２ｃ、３０２ｄ、及び３０２ｅの間の周波数応答曲線３０４は、図１１ａ〜図１１ｃの階段状の曲線とは対照的に比較的直線である。
同じ高さの周波数応答インジケータ３０２ｂ及び３０２ｃの間の周波数応答曲線３０４は、比較的平らである。
最左の周波数応答インジケータ３０２ａの周波数を下回る周波数での周波数応答は、該周波数応答インジケータ３０２ａに関連したゲインに実質的に等しいゲインを有する。
最右の周波数応答インジケータ３０２ｅの周波数を上回る周波数での周波数応答は、該周波数応答インジケータ３０２ｅに関連したゲインに実質的に等しいゲインを有する。
【０２５７】
このような理由で、ステップＳ７１４での各周波数比率ｈｋの初期化についての好ましい値は、約１／３〜約１／２の範囲にある。
【０２５８】
（使用の場合）周波数比率ｈｋ、周波数比率ｈｋを初期化する所定の値、及びｈｋについての上限は、ＧＵＩ３００を介してユーザによって設定することができる。
【０２５９】
（６）フィルタ間の移行
生成されたフィルタのセットは、本技術分野よく知られているように、多くの方法で実施することができる。この実施には、フィルタのうちの１つ以上をソフトウェア又はハードウェアにおいて実施することも含まれ得る。例えば、各シェルビングフィルタは、（シェルビングフィルタの零点及び極、並びに所望のゲインに基づいて）該フィルタについての線形差分方程式の係数を決定し、次いで線形差分方程式を実行することによって実施することができる。さらに、シェルビングフィルタのセット全体は、（全てのシェルビングフィルタについての全ての零点及び極、並びに所望のゲインに基づいて）シェルビングフィルタの組合せについての線形差分方程式の係数を決定し、次いで線形差分方程式を実行することによって実施することができる。しかし、本発明の好ましい実施形態は、一連の２次フィルタセクションとして各シェルビングフィルタを実施する（シェルビングフィルタの次数が奇数の場合、単一の１次フィルタセクションの場合がある）、ここで各２次フィルタセクションは、実際には、別個のフィルタであり、別個のフィルタの伝達関数は、その極及び零点のように、該シェルビングフィルタの伝達関数からの対応する一対の複素数零点、及び対応する一対の複素数極を有する。
【０２６０】
図２を参照して上述したように、周波数応答インジケータのセットが、ステップＳ２０８で更新され、シェルビングフィルタの新しいセットが、ステップＳ２０４で生成されたら、プロセッサ１１４は、従前のフィルタのセットを用いた音声データの処理から更新されたフィルタのセットを用いた音声データの処理へ変化する。
【０２６１】
対応する線形差分方程式を用いてシェルビングフィルタを実施する実施形態では、従前のシェルビングフィルタから現在のシェルビングフィルタへの移行は、ある期間にわたって従前のシェルビングフィルタについての線形差分方程式の係数から現在のシェルビングフィルタについての線形差分方程式の係数へ補間することによって実現することができる。同様に、移行は、シェルビングフィルタのセットの組合せを実施する実施形態において対応する線形差分方程式を用いて実行することができる。
【０２６２】
しかし、一連の２次フィルタセクションを用いてシェルビングフィルタを実施する好ましい実施形態（シェルビングフィルタの次数が奇数である場合、単一の１次フィルタセクションの場合がある）は、この移行の結果として不利な音声ノイズを導く可能性を減じるのを助けるために（すなわち、処理した音声について高品質レベルを保つのを助けるために）（以下に説明する）幾つかの対策を用いてもよい。これら対策を、以下に説明する。これらの対策は、上記の方法Ｆにより生成されるシェルビングフィルタに特に適している。
【０２６３】
まず、２次フィルタセクションは、単位円５００からの零点及び極の距離の平方自乗平均でオーダされてもよいことを記す。このオーダ付けでは、ｉ番目の２次フィルタセクションは、単位円５００にｉ番目に最も近い零点である零点（及びその複素共役）、及び単位円５００にｉ番目に最も近い極である極（及びその複素共役）から形成される。したがって、図９に示す例を参照すると、２次フィルタセクションのこのオーダ付けは、以下のことを意味する。（ａ）１番目の２次フィルタセクションは、タプル（ｔｕｐｌｅ）
【数２７】
2011517390.tif 000029
から形成される。（ｂ）２番目の２次フィルタセクションは、タプル
【数２８】
2011517390.tif 000030
から形成される。（ｃ）一般に、ｉ番目の２次フィルタセクションは、タプル
【数２９】
2011517390.tif 000031
から形成される。
【０２６４】
したがって、本発明の実施形態は、音声データの処理が、従前のシェルビングフィルタの使用から更新されたシェルビングフィルタの使用へ移行するときに、処理した音声について高品質レベルを保つのを助けるための以下の対策のうちの１つ以上を用いることができる。
【０２６５】
（ａ）２次フィルタセクションの個数が、従前のシェルビングフィルタについて、新しいシェルビングフィルタと同じである場合、新しいシェルビングフィルタのついてのｉ番目の２次フィルタセクションは、従前のシェルビングフィルタについてのｉ番目の２次フィルタセクションについての現在の状態変数を引き継ぐ又は引き受ける。２次フィルタセクションについての状態変数は、２次フィルタセクションに渡される入力値であり、２次フィルタセクションが無限インパルス応答フィルタであるときは、２次フィルタセクションについての状態変数は、２次フィルタセクションからの出力値でもある。したがって、２次フィルタセクションについての線形差分方程式が、ｙ［ｎ］＝ｂ０ｘ［ｎ］＋ｂ１ｘ［ｎ−１］＋ｂ２ｘ［ｎ−２］−ａ１ｙ［ｎ−１］−ａ２ｙ［ｎ−２］、ただし、入力サンプルｘ［ｎ］、及び出力サンプルｙ［ｎ］、並びにフィルタ係数ｂｉ及びａｉである場合は、状態変数は、値ｘ［ｎ］、ｘ［ｎ−１］、ｘ［ｎ−２］、ｙ［ｎ−１］、及びｙ［ｎ−２］である。このことは、最も適切な状態変数が、シェルビングフィルタについての従前の２次フィルタセクションと新しい２次フィルタセクションの間で渡されることを確かにするのを助ける。
【０２６６】
（ｂ）新しいシェルビングフィルタについての２次フィルタセクションは、従前のシェルビングフィルタについての２次フィルタセクションのように、（上記項目（ａ）のマッピングに基づいて）同じオーダで処理される。
【０２６７】
（ｃ）従前のシェルビングフィルタについての２次フィルタセクションの個数（ｓ）が、新しいシェルビングフィルタのついての２次フィルタセクションの個数（ｆ）とは異なる場合、新しいシェルビングフィルタについてのｉ番目の２次フィルタセクションは、従前のシェルビングフィルタについてのｉ番目の２次フィルタセクションについての現在の状態変数を引き継ぐ。ただし、ｉ＝１．．．ｍｉｎ（ｓ，ｔ）である。このことは、こと最も主適切な状態変数が、従前の２次フィルタセクションと新しい２次フィルタセクションの間で渡されることを確かにするのを助ける。このことは、任意の加えられた２次フィルタセクション（ｔ＞ｓのとき）、及び任意の除かれた２次フィルタセクション（ｓ＞ｔのとき）が、単位円５００から最も遠い、したがって無用のオーディオエフェクト／ノイズを生成する可聴効果及び能力を最少に有する零点及び極から形成されることを確かにすることにも役立つ。
【０２６８】
（ｄ）上記項目（ｃ）では、ｔ＞ｓのとき（すなわち、少なくとも１つの新しい２次フィルタセクションが加えられるとき）、新しい２次フィルタセクションの状態変数は、０に初期化され、新しい２次フィルタセクションについての係数は、（新しい２次フィルタセクションに対応する極及び零点に基づいて）必要な値に設定される。次いで、新しいシェルビングフィルタは、新しい２次フィルタセクションが導入又は使用されるまでの期間の間、すなわち新しい２次フィルタセクションが、０の状態変数を有するように初期化され、しかし次いで（クロスフェーディングによって）導入される前に状態変数を確立するためにこの期間の間、音声サンプルを受信し、シェルビングフィルタについての一連の２次フィルタセクションで実際に使用されるまでの間、実行できる。この期間は、約０．０１〜０．２秒であり得る。好ましくは、この期間は、４４．１ｋＨｚでサンプルした音声データについて１０２４個のサンプルである。
【０２６９】
（ｅ）従前のシェルビングフィルタのｉ番目の２次フィルタセクションについての係数が、現在のシェルビングフィルタのｉ番目の２次フィルタセクションについての係数とは異なる場合、プロセッサ１１４は、従前の２次セクションについての係数から新しい２次セクションについての係数へ係数を補間することによって、この２次フィルタセクションについての係数を（約０．０１秒〜０．２秒などの）ある期間にわたって更新する。もちろん、このことは、新たに生成した２次セクションに適用されない。
【０２７０】
前述の技法（ａ）〜（ｅ）は、２次フィルタセクションを用いて実施されるシェルビングフィルタのみならず、他のタイプのフィルタにも適用されてもよいことが理解されよう。
【０２７１】
（７）全体強度コントロール
ＧＵＩ３００は、全体強度コントロール３２２を備えていてもよい。このコントロール３２２を用いて、ユーザは、周波数応答インジケータ（Ｆｋ、Ｇｋ）についての全てのゲインＧｋを可変スケール値βによってスケーリングする（ｓｃａｌｅ）ことができる。このスケール値βは、０〜所定の最大値βｍａｘの範囲内で変わり得る。このコントロール３２２を用いると、全てのゲインＧｋは、ゲインＧｋがこのスケールファクタβによって乗じられるようにゲイン値βＧｋになるように変更される。β＝１を設定すると、全てのゲインＧｋは、元のユーザ指定のゲインになるように設定される。β＜１を設定すると、フィルタリングの全体的な強度は減少し、β＝０を設定すると、全てのゲインＧｋは、ゼロになるように設定され、その結果、イコライゼーション又はフィルタリングは、全く実行されない。β＞１を設定すると、フィルタリングの全体的な強度が増加する。
【０２７２】
このようにして、ユーザは、周波数応答インジケータ３０２をそれぞれ個々に調整する必要なく、加えられるイコライゼーションの量を容易に制御することができる。
【０２７３】
本発明の実施形態が、コンピュータプログラムによって実施される限り、コンピュータプログラムを実行する記憶媒体及び伝送媒体は、本発明の態様を形成することが理解されよう。
【図１】
2011517390.tif 000032
【図２】
2011517390.tif 000033
【図３】
2011517390.tif 000034
【図４ａ】
2011517390.tif 000035
【図４ｂ】
2011517390.tif 000036
【図４ｃ】
2011517390.tif 000037
【図４ｄ】
2011517390.tif 000038
【図５ａ】
2011517390.tif 000039
【図５ｂ】
2011517390.tif 000040
【図５ｃ】
2011517390.tif 000041
【図５ｄ】
2011517390.tif 000042
【図６ａ】
2011517390.tif 000043
【図６ｂ】
2011517390.tif 000044
【図６ｃ】
2011517390.tif 000045
【図６ｄ】
2011517390.tif 000046
【図６ｅ】
2011517390.tif 000047
【図６ｆ】
2011517390.tif 000048
【図６ｇ】
2011517390.tif 000049
【図６ｈ】
2011517390.tif 000050
【図６ｉ】
2011517390.tif 000051
【図７】
2011517390.tif 000052
【図８ａ】
2011517390.tif 000053
【図８ｂ】
2011517390.tif 000054
【図９】
2011517390.tif 000055
【図１０ａ】
2011517390.tif 000056
【図１０ｂ】
2011517390.tif 000057
【図１０ｃ】
2011517390.tif 000058
【図１０ｄ】
2011517390.tif 000059
【図１０ｅ】
2011517390.tif 000060
【図１０ｆ】
2011517390.tif 000061
【図１０ｇ】
2011517390.tif 000062
【図１１ａ】
2011517390.tif 000063
【図１１ｂ】
2011517390.tif 000064
【図１１ｃ】
2011517390.tif 000065
【図１１ｄ】
2011517390.tif 000066
【図１１ｅ】
2011517390.tif 000067
【図１１ｆ】
2011517390.tif 000068
【図１１ｇ】
2011517390.tif 000069
【図１１ｈ】
2011517390.tif 000070
【図１１ｉ】
2011517390.tif 000071
【国際調査報告】
2011517390.tif 000072
2011517390.tif 000073
2011517390.tif 000074