説明

タップ遅延線初期化を備えた3Dサウンド用の無限インパルス応答フィルタ

【課題】オーディオ処理システムは無限インパルス応答(IIR)フィルタを用いてオーディオ信号をフィルタするフィルタ・ユニットを有する。係数変化に続く過渡応答を最小限にする。
【解決手段】フィルタ・ユニットは、IIRフィルタのタップ遅延線内のエレメントを非ゼロ値に初期化する。1つの実現例では、このタップ遅延線エレメントは、1組の所定の非ゼロ値に変更する。別の実現例では、タップ遅延線エレメントは、前のサウンド・ソース位置に対してフィルタが発生した最後の値に初期化する。第3の実現例では、この新たな係数と、新たな位置における第1のデータ・サンプルの関数である値に初期化する。さらに別の実現例では、タップ遅延線エレメントを、ステップ入力に応答して発生された定常状態値に初期化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オーディオ処理システムに関し、特に、三次元空間内で静止しているあるいはその中を動いているソースからのサウンドを表すオーディオ信号をフィルタするため、オーディオ処理システムにおいて使用する無限インパルス応答フィルタ(infinite impulse response filter)に関するものである。
【背景技術】
【0002】
より高速のプロセッサ、向上したグラフィックス等を含む技術の進歩と共に、コンピュータは、ストリーミング・ビデオ、複雑な3Dゲーム、対話型教育ツール等を配信するための主要な機構となると予想されている。しかし、コンピュータがそれ自身をマルチメディアのための主たる伝達手段として確立するには、コンピュータが出力するサウンド品質を向上させる必要がある。マルチメディア・コンピュータの製品およびゲームは、より一層複雑となってきており、また従来のコンピュータにおいてこれまで存在していたよりも高い忠実度のサウンドを要求している。
【0003】
コンピュータ化されたアプリケーションのためのサウンドを強化するため多くの進展がなされてきている。クーパー(Duane H. Cooper)およびバウク(Jerald L. Bauck)の名で発行された米国特許のファミリーは、ヘッド屈折補償形のステレオ・システム(head diffraction compensated stereo system)を記載しており、これは、サウンド・ソースを三次元空間内で定位する。このクーパー−バウク技術は、ヘッド関連伝達関数(head-related transfer function)を使用することにより、どのようにしてあるソースからリスナーの耳に空間内で到来するかをモデル化する。そのソースの位置に依存して、サウンドは、およそ直接の経路に沿って一方の耳に伝わり、そして他方の耳には、人間の頭の回りを曲がらなければならない経路に沿って伝わる。この結果、サウンドは、両耳に異なった時
点で達し、これは、リスナーにこのサウンドが発された方角を感知できるようにする。
【0004】
これらヘッド関連伝達関数に基づき、このシステムは、方向キュー(directional cue)を導出し、これは、ステレオ信号に付加する。さらに、本技術は、反対のスピーカから各耳に導入される歪みを除去するためクロストークをキャンセルすることを含んでいる。この方向キューを付した信号は、再生するときには、三次元空間内のある特定の位置から出てくるように感じるリッチ・サウンド(rich sound)に変換する。クーパー−バウク技術は、次の特許に見られる。すなわち、米国特許4,893,342(1990年1月9日発行)、米国特許4,910,779(1990年3月20日発行)、米国特許4,975,954(1990年12月4日発行)、米国特許5,034,983(1991年7月23日)、米国特許5,136,651(1992年8月4日)、米国特許5,333,200(1994年7月26日)である。
【0005】
クーパー−バウク技術は、デジタルの無限インパルス応答(IIR)フィルタを使って実現することができる。これらフィルタは、三次元空間内の静止ソースを定位するのに有効であると判明している。
【0006】
しかし、多くのコンピュータ・アプリケーションにおいては、デザイナは、静止ソースではなく、三次元空間内で静止あるいは動くサウンド・ソースをシミュレートすることを希望している。例えば、ファイター・プレーン・コンバットに対する3Dゲームにおいては、ゲーム・デザイナは、敵のジェットを左から右へとプレイヤの背後を飛ばせたいことがある。このアクションをシミュレートするには、そのサウンドは、プレイヤに対し、そのソース(すなわち、敵ジェット)が三次元空間内を彼らの背後を左から右へと移動しているかのように提示しなければならない。
【0007】
移動する3Dソースを定位するためIIRフィルタを使用することに関連した重要となり得る可能性のある問題は、IIRフィルタが、本質上、これらのフィルタ係数がリセットされるまで無限にリング動作(ring)することである。このリング動作の振幅は、フィルタ係数の大きさと入力データとに依存する。速いペースのサウンドに対しては、フィルタは、数ミリ秒毎のように、急速にリセットされることが必要となることがある。これら係数をリセットすることにより生ずる過渡応答が大きい場合、短いフィルタ持続時間は、1つの位置から次へと素早く移動するソースに対しては、可聴の歪みを生成する可能性がある。この可聴の歪みは、サウンド品質を下げて、プレイヤにとってその体験をよりリアルでないものにしてしまう。
【0008】
本発明者は、静止したあるいは動いている3Dソースを定位するためIIRフィルタを利用するクーパー−バウク技術に基づくが、フィルタ係数を変化させることから生ずる過渡応答を最小限にする、改良したオーディオ処理システムを開発した。
【発明の開示】
【0009】
本発明は、三次元空間内で静止あるいはこの空間内を移動するソースから出るサウンドを表すデジタル・オーディオ信号を処理するオーディオ処理システムに関係している。このオーディオ処理システムは、無限インパルス応答(IIR)フィルタを備えたフィルタ・ユニットを用いてオーディオ信号を定位する。IIRフィルタは、サウンド・ソースが1つの位置から次の位置へと移動するとき変化するフィルタ係数を有する。係数変化に続く過渡応答を最小限にするため、フィルタ・ユニットは、IIRフィルタのタップ遅延線内のエレメントを非ゼロ値に初期化する。1つの実現例では、このタップ遅延線エレメントは、1組の所定の非ゼロ値に変更する。別の実現例では、タップ遅延線エレメントは、前のサウンド・ソース位置に対してフィルタが発生した最終の値に初期化する。第3の実現例では、新たな係数と、新たな位置における第1のデータ・サンプルの関数である値に初期化する。さらに別の実現例では、タップ遅延線エレメントを、ステップ入力に応答して発生された定常状態値に初期化する。第5の実現例では、分母構造のタップ遅延線エレメントを、ステップ入力により発生された定常状態値に、そして分子構造のタップ遅延線エレメントを、前のサウンド・ソース位置に対しフィルタが発生した最終の値に初期化する。
【発明を実施するための最良の形態】
【0010】
図1は、三次元空間内で静止したあるいは移動するソースから出てくるサウンドを表すデジタル・オーディオ信号を処理するためのオーディオ信号処理システム20を示している。この信号処理システム20は、フィルタ・ユニット22を備え、これは、サウンド・ソースから受けるデジタル・オーディオ信号xを処理するため種々のフィルタを含んでいる。そのソース自体は、ライブのものとしたり、あるいは、CD−ROM、デジタル・ビデオ・ディスク、カセット等から受ける信号のような予め記録されたものとしたりすることができる。フィルタ・ユニット22は、2つのIIRフィルタ24および26と、加算器30と、そして差分器32とを有している。IIRフィルタ24および26は、加算器30および差分器32と一緒になって、方向キューをオーディオ信号に付加することにより、左信号および右信号を形成し、これら信号は、ヘッド関連伝達関数(HRTF:head related transfer function)と各耳における反対のスピーカからのどのようなクロストークも除去するクロストーク・キャンセルに基づいている。フィルタ・ユニット22は、左信号yLと右信号yRとを出力し、これらは再生することにより、三次元空間内でそのサウンドを定位することができる。
【0011】
フィルタ・ユニット22内で実現するHRTFおよびクロストーク・キャンセル回路は、従来の技術の欄で示したクーパー−バウク特許に記述されており、これは、言及により本文に含めるものとする。これらコンポーネントの構成および動作は、十分に文書化されており、したがって詳細には説明しない。図1に示したコンポーネントの配置は、説明のためであって、クーパー−バウク特許に説明されているように、その他の配置も可能である。
【0012】
フィルタ・ユニット22は、ハードウェア、ソフトウェア、あるいはハードウェア/ソフトウェアの組合せにより実現することができる。1つの例として、フィルタ・ユニット22は、デジタル信号プロセッサ(DSP)を使って実現することもできる。別の実現例では、フィルタ・ユニット22は、コンピュータの中央処理ユニットあるいはコンピュータ状のデバイス上で実行するソフトウェアで実現する。この実現例は、以下に、図2を参照して説明する。
【0013】
3Dサウンドを発生すべきとき、左信号yLおよび右信号yRをデジタル−アナログ(D/A)変換器34に供給し、そしてこの変換器は、これらをアナログ信号に変換する。増幅器36は、それらアナログ信号を増幅し、そしてこれらを左および右のステレオ・スピーカ38Lおよび38Rに出力する。
【0014】
図2は、コンピュータ40において実現したオーディオ・サウンド処理システムを示している。このコンピュータは、プロセッサ42と、揮発性メモリ44(例えばRAM)と、不揮発性メモリ46(例えば、ROM、フラッシュ、ハードドライブ、フロッピー(登録商標)ドライブ、CD−ROM等)を有する。コンピュータ40はまた、入力デバイス48(例えば、キーボード、マウス、トラックボール等)と、ディスプレイ50と、そしてオーディオ出力システム52を有する。
【0015】
コンピュータ40は、多数のアプリケーションをサポートをするオペレーティング・システム54を走らせる。このオペレーティング・システム54は、不揮発性メモリ46に格納し、そしてこれはプロセッサ42上で実行する。1つの好ましいオペレーティング・システムは、マイクロソフト社販売のWindows(登録商標) 95, Windows 98, Windows NT, Windows CEあるいはその他のWindowsの派生バージョンのような、Windowsブランドのオペレーティング・システムである。
【0016】
マルチメディア・アプリケーション56は、不揮発性メモリ46に格納する。1例として、アプリケーション56は、3Dゲーム、またはマルチメディア・プログラム、あるいはストリーミングするオーディオまたはビデオのコンテンツを取り扱うアプリケーション等とすることができる。マルチメディア・アプリケーション56は、起動したときには、プロセッサ42上で実行する間、オペレーティング・システム54上で走る。オペレーティング・システム54は、3Dサウンド生成を容易にするためアプリケーション・プログラム・インターフェース(API)58をサポートしている。このAPI58は、このアプリケーションと、APIが指定する機能を実現するシステム・ソフトウェアとの間のインターフェースを指定する。アプリケーション56は、3DサウンドAPI58を呼び出すことにより、移動する3Dサウンド・ソースを含む所望のサウンドを発生する。
【0017】
オペレーティング・システム54において実現しかつAPI58を介して制御するフィルタ・ユニット22は、無限インパルス応答(IIR)フィルタを利用することにより、サウンドを定位するHRTFを形成する。図3は、直接形Iタイプで構成したIIRフィルタ60を示している。IIRフィルタ60は、分子ブランチ62と分母ブランチ64とを有し、これら両方は、一連のデジタル遅延エレメント66と係数とから成っている。各ブランチ62および64内の第1のすなわち最も上の遅延エレメントは、デジタル形態の1つのシーケンスの離散的にサンプルされた信号値を受ける。各遅延エレメントは、各信号値を単一のサンプル期間の間保持し、そして次にこれを、その一連の中の次の遅延エレメントに対し発生する。
【0018】
示した例においては、元のフィルタされていない信号は、1つのシーケンス(sequence)のデジタル値xで表している。記号x(k)は、離散サンプル時間kにおけるxの値を示す。このフィルタの出力は、y(k)であり、これは、離散サンプル時間kにおけるyの値を意味する。フィルタされていない信号と出力信号は、周波数ドメインではX(z)とY(z)でそれぞれ表す。フィルタ・ユニット22の入力と出力のz変換(これは、周波数応答を得るのに使用することができる)は、それぞれX(z)とY(z)で与える。
【0019】
分子ブランチ62においては、項x1(k)は、時点kにおける分子の第1タップ遅延線エレメントの出力値を示す。本文においては、x1(k)を特定の値にセットすることは、第1タップ遅延線エレメントを、処理入力サンプルx(k)の直前の値に初期化することに対応する。例えば、x2(0)=4は、分子の第2タップ遅延エレメントを、第1データ・サンプルx(0)の処理の前に値4に初期化することに対応する。図3は、各遅延エレメント66が1サンプル・データの遅延期間を有すると仮定している。したがって、任意の所与の時点においては、分子ブランチ内の第1遅延エレメント66は、x(k)を受け入れ、そしてx1(k)を出力し、次の遅延エレメントは、x1(k)を受け入れ、そしてx2(k)を出力する等する。同様に、分母ブランチ内の第1遅延エレメント66は、y(k)を受け入れ、そしてy1(k)を出力し、次の遅延エレメントは、y1(k)を受け入れ、そしてy2(k)を出力する等する。
【0020】
これらサンプル値は、係数を埋め込んだフロー線により表すように、各デジタル係数乗算器に供給する。分子ブランチ62に関しては、そのサンプル値に、各係数b0からbMを乗算して、項b0x(k)からbMM(k)を生じる。分母ブランチ64については、サンプル値に、各係数a1からaNを乗算して、項a11(k)からaNN(k)を生じる。変数aおよびbの異なった数NおよびMにより示すように、分子ブランチと分母ブランチとは、異なった数の遅延エレメント66を有する非対称のものとすることができる。
【0021】
デジタル加算接合部68は、それら積項を受け入れて、フィルタした信号値y(k)を発生する。時間に渡って、本フィルタは、1つのシーケンスのフィルタした信号値yを発生し、これは、1つのシーケンスのフィルタしていない信号値xに対応している。IIRフィルタ60の伝達関数全体は、以下の通りとなる。
【0022】
【数1】

【0023】
オーディオ信号処理の間、サウンド・ソースが1つの位置から次の位置へと移動するとき、IIRフィルタ60のフィルタ係数を変化させる。フィルタ・ユニット22は、空間内の各々の新たな3Dサウンド位置に対してIIRフィルタ係数を変化させる制御を含む。より速く移動するサウンド・ソースに対しては、IIRフィルタは、各々の新たな位置におけるサウンドを十分にフィルタするには、5−10ミリ秒毎に新たなフィルタ係数を必要とすることがある。例えば、8KHzのサンプル・レートと10ミリ秒のデータ・ブロック・サイズでは、フィルタ係数は、80サンプル毎にリセットすることができる。フィルタ係数をリセットしたとき、IIRフィルタは、無限にリング動作する。この過渡応答が大きい場合、短いフィルタ持続時間は、1つの位置から次の位置へと素早く移動する
ソースに対しては聞こえる歪みを発生することがあり、これにより、サウンド品質を低下させてしまう。
【0024】
したがって、本発明の1つの側面は、デジタルIIRフィルタのタップ遅延線エレメントをゼロ以外の値に初期化することである。フィルタ・ユニット22は、フィルタ・コントローラとして作用することにより、フィルタ係数を変化させるときに、タップ遅延エレメントを非ゼロ値に初期化する。それらエレメントを非ゼロ値にセットすることの目標は、係数変更後の過渡応答におけるリング動作を最小限にすることである。フィルタのタップ遅延線エレメントを初期化するには、いくつかの技法がある。
【0025】
1つのアプローチは、タップ遅延線エレメントを、三次元空間内の前の位置におけるサウンド・ソースを表すオーディオ信号をフィルタするときにIIRフィルタが最後に発生した1組の値に、初期化することである。このため、分子タップ遅延線エレメントx1(k)−xM(k)および分母タップ遅延線エレメントy1(k)−yN(k)は(これらは現在は揮発性メモリ内にある)は、新たなフィルタ係数をもつ新たなフィルタに対する初期化用の値として残す。
【0026】
別のアプローチは、タップ遅延線エレメントを1組の予め定めた非ゼロ値に初期化することである。すなわち、三次元空間内でのサウンド・ソースの位置の変化から生ずる係数変化に続いて、フィルタ・ユニットは、分子タップ遅延線エレメントx1(k)−xM(k)および分母タップ遅延線エレメントy1(k)−yN(k)を非ゼロ値に初期化することにより、IIRフィルタを新たな1組の係数でスタートアップすることから生ずる過渡リング動作を最小限にするのに役立つ。
【0027】
この1組の値は、オペレーティング・システム54で計算するか、あるいはアプリケーション56からAPI58に渡すようにすることができる。ここで、分子タップ遅延線エレメントと分母タップ遅延線エレメントも互いに異なった組の非ゼロ値に初期化することもできることに注意されたい。
【0028】
タップ遅延エレメントを予め定めた非ゼロ値に初期化するための1つの特定の方法は、新たな係数とそして新たな位置におけるデータの第1サンプルとの関数である値に、初期化することである。より詳細には、1つの実現例は、それらエレメントを、新たな係数をもつIIRフィルタに適用するステップ入力関数への定常状態応答の値に初期化することである。このアプローチは、図3に示したIIRフィルタに対しては以下に述べる。この導出に従い、初期化関数を他の3つのタイプのフィルタに対して導出することにより、どのように本発明を実現することができるかについての異なった例を提供する。
【0029】
図3の直接形IのIIRフィルタ60に対しては、分子ブランチ62の中間伝達関数は、以下を含む。
【0030】
【数2】

【0031】
分母ブランチ64の中間伝達関数は、以下を含む。
【0032】
【数3】

【0033】
IIRフィルタ60の定常状態応答を決定するには、離散時間システムに対する最終値定理を適用する。この定理は、フィリップス(C.L. Phillips)およびナグレ・ジュニア(H.T. Nagle Jr.)の“デジタル制御システム分析および設計(Digital Control System Analysis and Design and published by Prentice-Hall, Inc. Englewood Cliffs, N.J., 1984)”と題する書籍に記述されている。
また、その他の書籍にもこの定理が記述されている。誤差e(k)=x(k)−x(k−1)のz変換をE(z)で与えると、
【0034】
【数4】

【0035】
値Kのステップ入力に対するz変換は、以下となる。
【0036】
【数5】

【0037】
値Kのステップ入力に対して、分母タップ遅延エレメントの各々における時間ドメイン信号のz変換は、以下の通りとなる。
【0038】
【数6】

【0039】
この最終値定理を適用すると、各分母タップ遅延エレメントの定常状態値は、以下の通りとなる。
【0040】
【数7】

【0041】
ソースが1つの3D位置から次の位置へと移動してこれによりサンプルk=jでの新たな組のIIRフィルタ係数を必要とするとき、分母タップ遅延線エレメントの各々を以下のように初期化する。
【0042】
【数8】

【0043】
ここで、x(j)は、この新たな位置に定位すべき最初のサンプルである。
値Kのステップ入力に対しては、分子タップ遅延エレメントの各々における時間ドメイン信号のz変換は、以下となる。
【0044】
【数9】

【0045】
最終値定理を適用すると、各分子タップ遅延エレメントの定常状態値は、以下の通りとなる。
【0046】
【数10】

【0047】
したがって、分子タップ遅延線エレメントの各々は、以下の通り初期化する。
【0048】
【数11】

【0049】
ここで、x(j)は、新位置に定位すべき最初のサンプルである。
IIRフィルタ60の分子タップ遅延エレメントを初期化する別の方法は、過去のM−1個のサンプルを使用することを含む。したがって、分子ブランチ62内のタップ遅延線エレメントの各々は、以下の通り初期化する。
【0050】
【数12】

【0051】
ここで、x(j)は、新位置に定位すべき最初のサンプルであり、x(j−k)は、前の位置に定位した入力データからのものである。別のアプローチは、分母構造のタップ遅延線を、ステップ入力への定常状態応答に初期化する一方、IIRフィルタ60の分子構造のタップ遅延エレメントは過去のM−1サンプルを使用する。ここで、さらに注意すべきことは、タップ遅延線を、インパルスまたは正弦波のようなステップ入力以外の入力応答で初期化できることである。
【0052】
図4は、直接形IIタイプで構成したIIRフィルタ70を示している。図3の直接形IのIIRフィルタ60と同様に、IIRフィルタ70、直接形IIタイプの全伝達関数は、以下の通りとなる。
【0053】
【数13】

【0054】
タップ遅延線エレメントへの中間伝達関数は、以下となる。
【0055】
【数14】

【0056】
値Kのステップ入力に対しては、各タップ遅延エレメントにおける時間ドメイン信号のz変換は、以下の通りとなる。
【0057】
【数15】

【0058】
最終値定理を適用すると、各タップ遅延エレメントの定常状態値は、以下の通りとなる。
【0059】
【数16】

【0060】
ソースが1つの3D位置から次へと移動してこれによりサンプルk=jにおける1組の新たなIIRフィルタ係数を必要とするとき、タップ遅延線エレメントの各々を、以下の通りに初期化する。
【0061】
【数17】

【0062】
ここで、x(j)は、その新たな位置に定位すべき最初のサンプルである。
図5は、直接形I(DFI)縦続形バイカッド・タイプで構成したIIRフィルタ80を示している。このDFIバイカッドIIRフィルタの全伝達関数は、
以下の通りとなる。
【0063】
【数18】

【0064】
ここで、Lは、バイカッド(biquad)の数である。
q番目のバイカッドの右半分側は、q番目バイカッド伝達関数の分母を実現する。これら分母項の中間伝達関数は、以下を含む。
【0065】
【数19】

【0066】
q番目のバイカッドの左半分側は、q番目バイカッド伝達関数の分子を実現する。これら分子項の中間伝達関数は、以下を含む。
【0067】
【数20】

【0068】
値Kのステップ入力に対しては、分母のタップ遅延エレメントの各々における時間ドメイン信号のz変換は、以下の通りとなる。
【0069】
【数21】

【0070】
最終値定理を適用すると、各分母のタップ遅延エレメントの定常状態値は、以下の通りとなる。
【0071】
【数22】

【0072】
ソースが1つの3D位置から次へと移動してこれによりサンプルk=jにおける1組の新たなIIRフィルタ係数を必要とするとき、タップ遅延線エレメントの各々を、以下の通りに初期化する。
【0073】
【数23】

【0074】
ここで、x(j)は、その新たな位置に定位すべき最初のサンプルである。
値Kのステップ入力に対しては、分母のタップ遅延エレメントの各々における時間ドメイン信号のz変換は、以下の通りとなる。
【0075】
【数24】

【0076】
最終値定理を適用すると、分子のタップ遅延エレメントの各々の定常状態値は、以下の通りとなる。
【0077】
【数25】

【0078】
したがって、分子ブランチ内のタップ遅延線エレメントの各々は、次のように初期化する。
【0079】
【数26】

【0080】
ここで、x(j)は、その新たな位置に定位すべき最初のサンプルである。
図6は、直接形II,縦続形バイカッド・タイプで構成したIIRフィルタ90を示している。図5のIIRフィルタ80と同様に、このIIRフィルタ90の全伝達関数は、以下の通りとなる。
【0081】
【数27】

【0082】
それらタップ遅延線エレメントの中間伝達関数は、以下の通りとなる。
【0083】
【数28】

【0084】
値Kのステップ入力に対しては、各タップ遅延エレメントにおける時間ドメイン信号のz変換は、以下の通りとなる。
【0085】
【数29】

【0086】
最終値定理を適用すると、タップ遅延エレメントの各々の定常状態値は、以下の通りとなる。
【0087】
【数30】

【0088】
ソースが1つの3D位置から次へと移動してこれによりサンプルk=jにおける1組の新たなIIRフィルタ係数を必要とするとき、タップ遅延線エレメントの各々を、以下の通りに初期化する。
【0089】
【数31】

【0090】
ここで、x(j)は、その新たな位置に定位すべき最初のサンプルである。
IIRフィルタ60,70,80および90のある種の実現例においては、全体のゲインは、分子ブランチおよび分母ブランチの前あるいはその後のいずれかに含める。この全体のゲインを分子ブランチおよび分母ブランチの前に含める場合には、初期化アルゴリズム内に含める。もしこの全体のゲインを分子ブランチおよび分母ブランチの後で適用する場合には、これは、その初期化アルゴリズムに影響を与えない。
【0091】
図3から図6の4つのタイプのIIRフィルタは、例示目的で提供したものである。図示したこれら4つのタイプに加え、本発明は、その他のIIRフィルタ構成を使用して実現することができる。適当なフィルタ・タイプの別の追加の例には、直接形Iトランスポーズ、直接形IIトランスポーズ、直接形I縦続形バイカッド・トランスポーズ、直接形II縦続形バイカッド・トランスポーズが含
まれる。
【0092】
ここで注意すべきことは、分子ブランチ内のタップ遅延線エレメントは、分母タップ遅延エレメントに対し使用するものとは異なった技術を使って初期化することができることである。例えば、分子タップ遅延エレメントは、予め知られた1組の非ゼロ値に初期化するようにでき、一方、分母タップ遅延線エレメントは、上述のように、Kステップ入力の定常状態応答に初期化するようにすることができる。
【0093】
以上、本発明について構造上の特徴および方法上のステップに関し詳細な用語で記述したが、特許請求の範囲に定めた本発明は、記述したこの詳細な特徴またはステップに必ずしも限定する必要はない、と理解されるべきである。これら詳細な特徴およびステップは、特許請求の範囲に記載した本発明を実現するための好ましい形態として開示したものである。
【図面の簡単な説明】
【0094】
【図1】オーディオ処理システムのブロック図。
【図2】本オーディオ処理システムを実現するコンピュータのブロック図。
【図3】図1の処理システム内において使用するIIRフィルタのブロック図である。このIIRフィルタは、直接形Iタイプで構成する。
【図4】図1の処理システム内において使用するIIRフィルタであるが、直接形IIタイプで構成したもののブロック図である。
【図5】図1の処理システム内において使用するIIRフィルタであるが、直接形I,縦続形バイカッド・タイプで構成したもののブロック図である。
【図6】図1の処理システム内において使用するIIRフィルタであるが、直接形II,縦続形バイカッド・タイプで構成したもののブロック図である

【特許請求の範囲】
【請求項1】
オーディオ信号プロセッサであって、
三次元空間内の第1の位置に位置したソースからのサウンドを表す第1のデジタル・オーディオ信号を受ける受信手段と、
第1組の係数を有する無限インパルス応答(IIR)フィルタを使用して前記第1オーディオ信号をフィルタするためのフィルタ手段と、
前記ソースが前記三次元空間内の第2の位置に移動するときの前記サウンドを表す第2のデジタル・オーディオ信号を続いて受ける前記の受信手段と、
前記第2オーディオ信号をフィルタする際に使用するため、前記IIRフィルタ用の第2組の係数を決定する手段と、
前記IIRフィルタ内のタップ遅延線エレメントを非ゼロ値に初期化する初期化手段と、
前記第2組の係数と前記初期化したタップ遅延線エレメントを有する前記IIRフィルタを使用して、前記第2オーディオ信号をフィルタする前記のフィルタ手段と、
から成るオーディオ信号プロセッサ。
【請求項2】
請求項1記載のプロセッサにおいて、前記初期化手段は、前記IIRフィルタの前記タップ遅延線エレメントを、所定の1組の非ゼロ値に初期化すること、
を特徴とするオーディオ信号プロセッサ。
【請求項3】
請求項1記載のプロセッサにおいて、前記IIRフィルタの前記タップ遅延線エレメントを、前記初期化手段は、前記三次元空間内の前記第1位置における前記サウンドを表す前記オーディオ信号をフィルタするとき前記IIRフィルタが最後に発生した1組の値に、初期化すること、を特徴とするオーディオ信号プロセッサ。
【請求項4】
請求項1記載のプロセッサにおいて、前記初期化手段は、前記IIRフィルタの前記タップ遅延線エレメントを、ステップ入力に応答した定常状態値に初期化すること、を特徴とするオーディオ信号プロセッサ。
【請求項5】
請求項1記載のプロセッサにおいて、前記初期化手段は、前記IIRフィルタの前記タップ遅延線エレメントを、前記フィルタ係数と前記第2位置で取得した第1のデータ・サンプルとに基づく値に初期化すること、を特徴とするオーディオ信号プロセッサ。
【請求項6】
三次元空間内で静止あるいはこの空間内を移動するソースからのサウンドを表すオーディオ信号を処理する方法であって、
三次元空間内の第1の位置に位置したソースからのサウンドを表す第1のデジタル・オーディオ信号を受けるステップと、
第1組の係数を有する無限インパルス応答(IIR)フィルタを使用して前記第1オーディオ信号をフィルタするステップと、
前記ソースが前記三次元空間内の第2の位置に移動したときの前記サウンドを表す第2のデジタル・オーディオ信号を受けるステップと、
前記第2オーディオ信号をフィルタする際に使用するため、前記IIRフィルタ用の第2組の係数を決定するステップと、
前記IIRフィルタ内のタップ遅延線エレメントを非ゼロ値に初期化するステップと、
前記第2組の係数と前記初期化したタップ遅延線エレメントを有する前記IIRフィルタを使用して、前記第2オーディオ信号をフィルタするステップと、
から成るオーディオ信号処理方法。
【請求項7】
請求項6記載の方法において、前記初期化ステップは、前記IIRフィルタの前記タップ遅延線エレメントを、所定の1組の非ゼロ値に初期化すること、を特徴とするオーディオ信号処理方法。
【請求項8】
請求項6記載の方法において、前記初期化ステップは、前記IIRフィルタの前記タップ遅延線エレメントを、前記三次元空間内の前記第1位置における前記サウンドを表す前記オーディオ信号をフィルタするとき前記IIRフィルタが最後に発生した1組の値に、初期化するステップから成ること、を特徴とするオーディオ信号処理方法。
【請求項9】
請求項6記載の方法において、前記初期化ステップは、前記IIRフィルタの前記タップ遅延線エレメントを、ステップ入力に応答した定常状態値に初期化するステップから成ること、を特徴とするオーディオ信号処理方法。
【請求項10】
請求項6記載の方法において、前記初期化ステップは、前記IIRフィルタの前記タップ遅延線エレメントを、前記フィルタ係数と前記第2位置で取得した第1のデータ・サンプルとに基づく値に初期化するステップから成ること、を特徴とするオーディオ信号処理方法。
【請求項11】
請求項6に記載した方法における前記ステップを実行するためのコンピュータ読み取り可能命令から成るコンピュータ読み取り可能記録媒体。
【請求項12】
請求項6に記載した方法において、前記IIRフィルタ内のタップ遅延線エレメントを初期化するステップは、前記IIRフィルタ内の分子タップ遅延線エレメントを、第1位置にて取られた過去のサンプル及び第2位置にて取られた第1サンプルで生成された値に初期化するステップを含むことを特徴とするオーディオ信号処理方法。
【請求項13】
請求項6に記載した方法において、前記IIRフィルタ内のタップ遅延線エレメントを初期化するステップは、前記IIRフィルタ内の分子タップ遅延線エレメントを第1位置にて取られた過去のサンプルで生成された値に初期化するステップと、分母タップ遅延線エレメントをステップ入力に応答して定常状態値に初期化するステップと、を含むことを特徴とするオーディオ信号処理方法。
【請求項14】
請求項6に記載した方法において、前記IIRフィルタ内のタップ遅延線エレメントを初期化するステップは、前記IIRフィルタ内の分子タップ遅延線エレメントを非ゼロ値の第1組に初期化し、そして分母タップ遅延線エレメントを前記第1組とは異なる非ゼロ値の第2組に初期化するステップを含むことを特徴とするオーディオ信号処理方法。
【請求項15】
請求項6に記載した方法において、IIRフィルタが、スタンダード・ダイレクト形式I、スタンダード・ダイレクト形式I−カスケード・バイカッド、ダイレクト形式II−カスケード・バイカッド、スタンダード・ダイレクト形式Iトランスポーズ、スタンダード・ダイレクト形式II−トランスポーズ、ダイレクト形式I−カスケード・バイクカッド・トランスポーズ、及びダイレクト形式II−カスケード・バイクカッド・トランスポーズを含むフィルタ形式のグループから選択された1つのフィルタ・タイプにより構成されていることを特徴とするオーディオ信号処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−22023(P2009−22023A)
【公開日】平成21年1月29日(2009.1.29)
【国際特許分類】
【出願番号】特願2008−213180(P2008−213180)
【出願日】平成20年8月21日(2008.8.21)
【分割の表示】特願2000−510201(P2000−510201)の分割
【原出願日】平成10年8月12日(1998.8.12)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】