(57)【特許請求の範囲】
【請求項１】
複数のオーディオ音源を使用しながら複数のラウドスピーカについてラウドスピーカ信号を計算する装置であって、１つのオーディオ音源は１つのオーディオ信号（１０）を含む、装置において、
各オーディオ信号（１０）をブロック毎にスペクトルドメインへと変換し、各オーディオ信号について複数の時間的に連続する短時間スペクトルを取得する順変換ステージ（１００）と、
各オーディオ信号について複数の時間的に連続する短時間スペクトルを蓄積するメモリ（２００）と、
ある遅延値（７０１）に基づいて、１つのラウドスピーカと１つのオーディオ信号との組合せについて、前記複数の時間的に連続する短時間スペクトルの中の特定の短時間スペクトルにアクセスするメモリアクセス制御部（６００）と、
前記オーディオ信号とラウドスピーカとの組合せに対して提供されたフィルタを使用して、前記オーディオ信号とラウドスピーカとの組合せに係る前記特定の短時間スペクトルをフィルタリングすることで、オーディオ信号とラウドスピーカとの各組合せに対して各フィルタ済み短時間スペクトルを取得する、フィルタステージ（３００）と、
１つのラウドスピーカについて前記各フィルタ済み短時間スペクトルを合計し、合計済み短時間スペクトルを各ラウドスピーカについて取得する、合計ステージ（４００）と、
前記各ラウドスピーカについての合計済み短時間スペクトルをブロック毎に時間ドメインへと逆変換し、前記ラウドスピーカ信号を取得する逆変換ステージ（８００）と、
を備え、
前記順変換ステージ（１００）は、時間的サンプルのシーケンスからストライド値（Ｂ）を用いて短期間スペクトルのシーケンスを決定し、短期間スペクトルに変換された時間的サンプルの第１ブロックの１番目のサンプルは、時間的サンプルの後続の第２のブロックの１番目のサンプルから、前記ストライド値と等しいサンプルの数だけ間隔をあけて配置されており、
短期間スペクトルはそれと関連するブロックインデックス（２６９）を有し、そのブロックインデックスは、前記短期間スペクトルの１番目のサンプルが参照値（２４９）から時間的に離れて配置されている長さを表すストライド値の数を示し、
前記メモリアクセス制御部（６００）は、前記特定の短期間スペクトルの前記遅延値（７０１）と前記ブロックインデックス（２６９）とに基づいて前記短期間スペクトルを決定するよう構成され、前記短期間スペクトルのブロックインデックス（２６９）は、前記遅延値に対応する持続時間と前記ストライド値に対応する持続時間との除算の整数結果と等しいか、又はそれよりも１だけ大きい、装置。
【請求項２】
請求項１に記載の装置において、
前記フィルタステージ（３００）は、前記ラウドスピーカとオーディオ信号との組合せについて提供されたフィルタのインパルス応答から、１つの修正済みインパルス応答を決定するよう構成され、その修正済みインパルス応答では、幾つかのゼロが前記インパルス応答の時間的開始点において挿入され、そのゼロの数は前記ラウドスピーカとオーディオ信号との組合せについての前記遅延値（７０１）と、前記ラウドスピーカとオーディオ信号との組合せについての前記特定の短時間スペクトルの前記ブロックインデックスとに依存している、装置。
【請求項３】
請求項２に記載の装置において、
前記フィルタステージ（３００）は、前記ゼロの数に対応した持続時間が前記遅延値に対応する持続時間と前記ストライド値に対応する持続時間との整数除算の剰余以下となるように、前記幾つかのゼロを挿入するよう構成されている、装置。
【請求項４】
請求項３に記載の装置において、
前記フィルタは、２つの隣接する離散インパルス応答値の間の持続時間の小数部によって遅延を達成するよう構成された小数部遅延フィルタを含み、前記小数部は、前記遅延値に対応する持続時間と前記ストライド値に対応する持続時間との整数除算の剰余と、前記インパルス応答に挿入されたゼロの数とに依存している、装置。
【請求項５】
請求項１乃至４のいずれかに記載の装置において、
前記フィルタステージ（３００）は、前記特定の短時間スペクトルと前記フィルタの伝達関数とを、スペクトル値毎に乗算するよう構成されている、装置。
【請求項６】
請求項１に記載の装置において、
前記メモリ（２００）は、各オーディオ音源について、前記オーディオ音源について蓄積された短時間スペクトルへの任意のアクセスを持つ周波数ドメイン遅延ライン（２０１、２０２、２０３）を含み、そのアクセス操作が各短時間スペクトルについて１つのブロックインデックス（２６９）を介して実行可能である、装置。
【請求項７】
請求項１乃至６のいずれかに記載の装置において、
前記順変換ステージ（１００）は前記オーディオ音源の数に等しい数の変換ブロック（１０１，１０２，１０３）を含み、
前記逆変換ステージ（８００）は前記ラウドスピーカ信号の数に等しい数の変換ブロック（８０１，８０２，８０３）を含み、
周波数ドメイン遅延ライン（２０１，２０２，２０３）の数はオーディオ音源の数に等しく、
前記フィルタステージ（３００）は、前記オーディオ音源の数とラウドスピーカ信号の数との積に等しい数の単一フィルタ（３０１〜３０９）を含む、装置。
【請求項８】
請求項１乃至７のいずれかに記載の装置において、
前記順変換ステージと逆変換ステージとはオーバーラップ・セーブ法に従って構成されており、
前記順変換ステージ（１００）は、前記ストライド値（Ｂ）を使用しながら前記オーディオ信号をオーバーラップしているブロックへと分解して、前記短時間スペクトルを取得するよう構成され、
前記逆変換ステージ（８００）は、あるラウドスピーカについてのフィルタ済み短時間スペクトルの逆変換に続いて、逆変換済みブロック内の特定の領域を廃棄し、かつそれまで廃棄されなかったあらゆる部分を継ぎ合わせることで、前記ラウドスピーカのためのラウドスピーカ信号を得るように構成されている、装置。
【請求項９】
請求項１乃至７のいずれかに記載の装置において、
前記順変換ステージ（１００）と逆変換ステージ（８００）とはオーバーラップ加算法に従って構成されており、
前記順変換ステージ（１００）は、前記ストライド値（Ｂ）を使用しながら前記オーディオ信号を隣接するブロックへと分解し、前記隣接するブロックはオーバーラップ加算法に従ってゼロパディングされており、その変換は前記オーバーラップ加算法に従ってゼロパディングされたブロックを用いて実行され、
前記逆変換ステージ（８００）は、あるラウドスピーカについて合計されたスペクトルの逆変換に続いて、逆変換済みブロックのオーバーラップ領域を合計することにより、前記ラウドスピーカのためのラウドスピーカ信号を得るように構成されている、装置。
【請求項１０】
請求項１乃至９のいずれかに記載の装置において、
前記順変換ステージ（１００）と逆変換ステージ（８００）とは、それぞれデジタルフーリエ変換アルゴリズムと逆デジタルフーリエ変換アルゴリズムとを実行するよう構成されている、装置。
【請求項１１】
請求項１乃至１０のいずれかに記載の装置において、
前記オーディオ音源の仮想位置と前記ラウドスピーカの位置とを使用しながら、ラウドスピーカとオーディオ音源との各組合せについて前記遅延値（７０１）を生成し、かつ前記メモリアクセス制御部（６００）又は前記フィルタステージ（３００）へ前記遅延値（７００）を提供する、波面合成オペレータ（７００）をさらに備える、装置。
【請求項１２】
請求項１乃至１１のいずれかに記載の装置において、
前記オーディオ音源は指向特性を有し、前記フィルタステージ（３００）はラウドスピーカとオーディオ信号との異なる組合せに対して異なるフィルタを使用するよう構成されている、装置。
【請求項１３】
請求項１乃至１２のいずれかに記載の装置において、
前記順変換ステージ（１００）は、前記ストライド値（Ｂ）を使用しながら前記ブロック毎の変換を実行するよう構成され、
前記メモリアクセス制御部（６００）は、前記遅延値を前記ストライド値の倍数と１つの剰余とに区分すると共に、前記ストライド値の倍数を使用しながら前記メモリ（２００）にアクセスすることで、前記特定の短時間スペクトルをリトリーブするよう構成されている、装置。
【請求項１４】
請求項１３に記載の装置において、
前記フィルタステージ（３００）は前記剰余を使用しながら前記フィルタを形成するよう構成されている、装置。
【請求項１５】
請求項１乃至１２のいずれかに記載の装置において、
前記順変換ステージ（１００）は、ブロック毎の高速フーリエ変換を使用するよう構成され、前記フィルタが遅延へのさらなる寄与を提供しない場合、そのブロック長はＫ＋Ｂに等しく、Ｂは連続するブロックの生成におけるストライドであり、Ｋは前記フィルタステージのフィルタの次数である、装置。
【請求項１６】
請求項１乃至１４のいずれかに記載の装置において、
前記順変換ステージ（１００）は、ブロック毎の高速フーリエ変換を使用するよう構成され、前記フィルタによって追加の遅延が提供される場合、そのブロック長はＫ＋２Ｂ−１に等しく、Ｂは連続するブロックの生成におけるストライドであり、Ｋはいかなる遅延ラインを持たない前記フィルタの次数であり、最大で（Ｂ−１）個のゼロがインパルス応答に挿入されている、装置。
【請求項１７】
複数のオーディオ音源を使用しながら複数のラウドスピーカについてラウドスピーカ信号を計算する方法であって、１つのオーディオ音源は１つのオーディオ信号（１０）を含む、方法において、
各オーディオ信号（１０）をブロック毎にスペクトルドメインへと順変換し、各オーディオ信号について複数の時間的に連続する短時間スペクトルを取得するステップと、
各オーディオ信号について複数の時間的に連続する短時間スペクトルを蓄積するステップと、
ある遅延値（７０１）に基づいて、１つのラウドスピーカと１つのオーディオ信号との組合せについて、前記複数の時間的に連続する短時間スペクトルの中で、特定の短時間スペクトルにアクセスするステップと、
前記オーディオ信号とラウドスピーカとの組合せに対して提供されたフィルタを使用して、前記オーディオ信号とラウドスピーカとの組合せに係る前記特定の短時間スペクトルをフィルタリングすることで、オーディオ信号とラウドスピーカとの各組合せに対して各フィルタ済み短時間スペクトルを取得するステップと、
１つのラウドスピーカについての前記各フィルタ済み短時間スペクトルを合計し、合計済み短時間スペクトルを各ラウドスピーカについて取得するステップと、
前記各ラウドスピーカについての合計済み短時間スペクトルをブロック毎に時間ドメインへと逆変換し、前記ラウドスピーカ信号を取得するステップと、
を含み、
前記順変換のステップは、時間的サンプルのシーケンスからストライド値（Ｂ）を用いて短期間スペクトルのシーケンスを決定し、短期間スペクトルに変換された時間的サンプルの第１ブロックの１番目のサンプルは、時間的サンプルの後続の第２のブロックの１番目のサンプルから、前記ストライド値と等しいサンプルの数だけ間隔をあけて配置されており、
短期間スペクトルはそれと関連するブロックインデックス（２６９）を有し、そのブロックインデックスは、前記短期間スペクトルの１番目のサンプルが参照値（２４９）から時間的に離れて配置されている長さを表すストライド値の数を示し、
前記特定の短時間スペクトルにアクセスするステップは、前記特定の短期間スペクトルの前記遅延値（７０１）と前記ブロックインデックス（２６９）とに基づいて前記短期間スペクトルを決定するよう構成され、前記短期間スペクトルのブロックインデックス（２６９）は、前記遅延値に対応する持続時間と前記ストライド値に対応する持続時間との除算の整数結果と等しいか、又はそれよりも１だけ大きい、方法。
【請求項１８】
複数のオーディオ音源を使用しながら複数のラウドスピーカについてラウドスピーカ信号を計算する装置であって、１つのオーディオ音源は１つのオーディオ信号（１０）を含む、装置において、
各オーディオ信号（１０）をブロック毎にスペクトルドメインへと変換し、各オーディオ信号について複数の時間的に連続する短時間スペクトルを取得する順変換ステージ（１００）と、
各オーディオ信号について複数の時間的に連続する短時間スペクトルを蓄積するメモリ（２００）と、
ある遅延値（７０１）に基づいて、１つのラウドスピーカと１つのオーディオ信号との組合せについて、前記複数の時間的に連続する短時間スペクトルの中の特定の短時間スペクトルにアクセスするメモリアクセス制御部（６００）と、
前記オーディオ信号とラウドスピーカとの組合せに対して提供されたフィルタを使用して、前記オーディオ信号とラウドスピーカとの組合せに係る前記特定の短時間スペクトルをフィルタリングすることで、オーディオ信号とラウドスピーカとの各組合せに対して各フィルタ済み短時間スペクトルを取得する、フィルタステージ（３００）と、
１つのラウドスピーカについて前記各フィルタ済み短時間スペクトルを合計し、合計済み短時間スペクトルを各ラウドスピーカについて取得する、合計ステージ（４００）と、
前記各ラウドスピーカについての合計済み短時間スペクトルをブロック毎に時間ドメインへと逆変換し、前記ラウドスピーカ信号を取得する逆変換ステージ（８００）と、
を備え、
前記フィルタステージ（３００）は、前記ラウドスピーカとオーディオ信号との組合せについて提供されたフィルタのインパルス応答から、１つの修正済みインパルス応答を決定するよう構成され、その修正済みインパルス応答では、幾つかのゼロが前記インパルス応答の時間的開始点において挿入され、そのゼロの数は前記ラウドスピーカとオーディオ信号との組合せについての前記遅延値（７０１）と、前記ラウドスピーカとオーディオ信号との組合せについての前記特定の短時間スペクトルのブロックインデックスとに依存している、装置。
【請求項１９】
複数のオーディオ音源を使用しながら複数のラウドスピーカについてラウドスピーカ信号を計算する方法であって、１つのオーディオ音源は１つのオーディオ信号（１０）を含む、方法において、
各オーディオ信号（１０）をブロック毎にスペクトルドメインへと順変換し、各オーディオ信号について複数の時間的に連続する短時間スペクトルを取得するステップと、
各オーディオ信号について複数の時間的に連続する短時間スペクトルを蓄積するステップと、
ある遅延値（７０１）に基づいて、１つのラウドスピーカと１つのオーディオ信号との組合せについて、前記複数の時間的に連続する短時間スペクトルの中で、特定の短時間スペクトルにアクセスするステップと、
前記オーディオ信号とラウドスピーカとの組合せに対して提供されたフィルタを使用して、前記オーディオ信号とラウドスピーカとの組合せに係る前記特定の短時間スペクトルをフィルタリングすることで、オーディオ信号とラウドスピーカとの各組合せに対して各フィルタ済み短時間スペクトルを取得するステップと、
１つのラウドスピーカについての前記各フィルタ済み短時間スペクトルを合計し、合計済み短時間スペクトルを各ラウドスピーカについて取得するステップと、
前記各ラウドスピーカについての合計済み短時間スペクトルをブロック毎に時間ドメインへと逆変換し、前記ラウドスピーカ信号を取得するステップと、
を含み、
前記特定の短時間スペクトルをフィルタリングするステップは、前記ラウドスピーカとオーディオ信号との組合せについて提供されたフィルタのインパルス応答から、１つの修正済みインパルス応答を決定するよう構成され、その修正済みインパルス応答では、幾つかのゼロが前記インパルス応答の時間的開始点において挿入され、そのゼロの数は前記ラウドスピーカとオーディオ信号との組合せについての前記遅延値（７０１）と、前記ラウドスピーカとオーディオ信号との組合せについての前記特定の短時間スペクトルのブロックインデックスとに依存している、方法。
【請求項２０】
コンピュータ又はプロセッサ上で実行したとき、請求項１７又は１９に記載の方法を実行するためのプログラムコードを有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周波数ドメインにおけるフィルタリングを使用しながら複数のラウドスピーカのためのラウドスピーカ信号を計算する装置及び方法に関し、例えば波面合成レンダラ装置及びそのような装置を操作する方法に関する。
【背景技術】
【０００２】
家電分野においては、新たな技術や革新的な製品に対する要求が常に存在する。本願が扱う例は、オーディオ信号をできるだけ臨場感を持って再生したいという要求である。
【０００３】
オーディオ信号の多チャネルラウドスピーカ再生の方法は、長年に亘って公知となり、標準化されてきた。全ての従来技術には、ラウドスピーカの配置とリスナーの位置との両方が、既に伝送フォーマット上に組み込まれているという欠点がある。リスナーに対してラウドスピーカが不正確に配置された場合には、オーディオ品質が有意に劣化することになる。最適なサウンドは、再生空間の小さな部分内、所謂スィートスポットにおいてのみ聞くことができる。
【０００４】
オーディオ再生において、自然な空間的印象を改善し、音に包まれた感覚を向上させることが、新たな技術の助力を得て達成できる。そのような技術の基本である、いわゆる波面合成（ＷＦＳ）は、デルフト工科大学において研究され、１９８０年代後期に初めて発表された（非特許文献１）。
【０００５】
しかし、波面合成の方法はコンピュータ性能と伝送レートとに対して膨大な要件を課すため、波面合成が現実に使用されることは、現在に至るまで稀であった。これまで、マイクロプロセッサ技術とオーディオ符号化との分野において達成された進歩によってのみ、波面合成の技術が特定のアプリケーションにおいて使用可能となっている。
【０００６】
ＷＦＳの基本的な概念は、波動理論のホイヘンスの原理を適用することに基づいている。即ち、波面が当たる各点は素元波の開始点となり、球形又は円形の形状で伝播するという理論である。
【０００７】
ホイヘンスの原理が音響学に適用された場合、互いに隣接して配置された多数のラウドスピーカ（所謂ラウドスピーカアレイ）を使用することにより、どのような音場も再現可能である。この目的で、各ラウドスピーカのオーディオ信号が音源のオーディオ信号から所謂ＷＦＳオペレータを適用することで生成される。最も簡素な場合、即ち１つの点音源と線形ラウドスピーカアレイを再現する場合には、このＷＦＳオペレータは入力信号の振幅スケーリングと時間遅延とに対応するであろう。そのような振幅スケーリングと時間遅延の適用は、以下においては「スケールと遅延」と称する。
【０００８】
再生されるべき単一の点音源とラウドスピーカの線形配置とがある場合には、個別のラウドスピーカから放射された音場が適正に重畳するように、各ラウドスピーカのオーディオ信号に対して時間遅延と振幅スケーリングとが適用され得る。複数の音源がある場合には、各ラウドスピーカに対する寄与が各音源について別々に計算され、結果として得られる信号同士が加算されるであろう。再生されるべき音源が反射する壁面を持つ室内に位置する場合には、反射もまた追加的な音源としてラウドスピーカアレイを介して再生されなければならないであろう。従って、計算における作業量は、音源の個数と録音室の反射特性とラウドスピーカの個数とに大きく依存している。
【０００９】
この技術の利点は、特に、自然な空間的サウンド印象が再生室の大部分に亘って可能となることである。公知の技術とは異なり、音源の方向と距離とが非常に正確な方法で再生される。限定的な範囲ではあるが、実際のラウドスピーカアレイとリスナーとの間に仮想音源でさえも配置され得る。
【００１０】
音伝播のための理想的なラウドスピーカ特性、規則的で切れ目ないラウドスピーカアレイ又は自由音場条件など、理論的に想定される前提条件が少なくとも近似的に満たされた場合、波面合成の適用は良好な結果をもたらすことができる。しかし現実には、例えば不完全なラウドスピーカアレイ又は部屋の音響の有意な影響によって、そのような条件が満たされる場合は多くない。
【００１１】
環境的条件は、環境のインパルス応答によって記述されることができる。
【００１２】
この点については以下の例を用いてより詳細に説明する。ラウドスピーカは壁面に対して音声信号を放射するが、その壁面の反射は望ましくないと想定すべきである。
【００１３】
この簡素な例について、波面合成を使用しているときの部屋補償(room compensation)は、壁面から反射された音声信号がいつラウドスピーカに戻り到達するか、及び、この反射された音声信号がどの振幅を有するかを調べるために、初めに壁面の反射を決定することを含むであろう。この壁面による反射が望ましくない場合、波面合成は、この壁面による反射を次のような方法で除去する可能性を提供する。即ち、ラウドスピーカに対し、元のオーディオ信号に加えて、反射信号とは位相において逆であって対応する振幅を有する信号を組み込み、その結果、順方向の補償波が反射波を消去して、考慮対象となる環境内ではこの壁面による反射が除去されるという方法である。これは、初めに環境のインパルス応答を計算して、この環境のインパルス応答に基づいて壁面の性質や位置が決定されることによって実行されてもよい。これは、壁面により反射される音声を、追加的なＷＦＳ音源、即ち所謂ミラー音源を用いて表現することを含み、ミラー音源の信号は、元の音源信号からフィルタリング及び遅延を用いて生成される。
【００１４】
この環境のインパルス応答が測定された場合、更に、オーディオ信号上に重畳されるべきであってかつラウドスピーカに対して組み込まれるべき補償信号が続いて計算された場合、この壁面による反射の消去が発生して、その結果、この環境内にいるリスナーは、この壁面が全く存在しないという印象を持つようになるであろう。
【００１５】
しかしながら、反射波の最適な補償のために決定的に重要な点は、部屋のインパルス応答が正確に決定されて、過剰補償または不足補償が発生しないようにすることである。
【００１６】
このように、波面合成は、大きな再生領域に亘る仮想音源の正確なマッピングを可能にする。同時に、サウンドミキサーやサウンドエンジニアに対し、より複雑な音声情景を作成する中での新たな技術的及び創造的可能性を提供する。１９８０年代の末期においてデルフト工科大学で開発されていたような波面合成は、サウンド再生のホログラフィックな手法を表現するものである。キルヒホフ−ヘルムホルツ(Kirchhoff-Helmholtz)の積分方程式は、この基礎としての役割を担う。その方程式は、閉鎖された体積内におけるどのような音場も、その体積の表面上にモノポール及びダイポールの音源（ラウドスピーカアレイ）を分布させることで生成し得ることを示している。
【００１７】
波面合成においては、仮想位置にある仮想音源を放射しているオーディオ信号から、ラウドスピーカアレイの各ラウドスピーカについての合成信号が計算され、それら合成信号が有する振幅及び遅延は、ラウドスピーカアレイの中に存在するラウドスピーカによって出力された個々のサウンド波の重畳の結果として得られる波が、仮想位置にある仮想音源が実位置を有する実音源であった場合にその仮想位置にある仮想音源から結果として得られるであろう波と対応するような、振幅及び遅延となる。
【００１８】
典型的には、複数の仮想音源が異なる仮想位置に存在する。典型的には、複数のラウドスピーカについての複数の合成信号内に１つの仮想音源が結果として得られるように、各仮想位置にある各仮想音源について合成信号が計算される。１つのラウドスピーカの観点から見れば、そのラウドスピーカは異なる仮想音源から発生している複数の合成信号を受け取ることになるであろう。それら音源の重畳は線形重畳原理によって可能であるが、次に、ラウドスピーカによって実際に放射される再生信号をもたらすことになる。
【００１９】
波面合成の可能性を更に追求すると、ラウドスピーカアレイのサイズを大きくすることが考えられる。即ち、より多くの個別のラウドスピーカが提供されることになる。しかし、このことはまた、波面合成ユニットが提供しなければならない演算性能を増大させてしまう結果を招く。なぜなら、典型的に、チャネル情報もまた考慮されなければならないからである。具体的には、このことは原理的に各仮想音源から各ラウドスピーカへの専用の各伝送チャネルが存在することを意味するものであり、さらにまた、原理的に各仮想音源が各ラウドスピーカのための各合成信号をもたらし、及び／又は、各ラウドスピーカが仮想音源と同数の合成信号を取得する場合が存在し得ることを意味するものである。
【００２０】
波面合成の可能性を更に追求すると、具体的には、映画のアプリケーションにおいて仮想音源が移動可能にもなる効果を得ようとすると、合成信号の計算と、チャネル情報の計算と、それらチャネル情報と合成信号とを結合させることによる再生信号の生成とのために、かなり多量の演算操作が実行されなければならない点に留意すべきである。
【００２１】
波面合成の更なる重要な展開には、複雑で周波数依存の指向特性を有する仮想音源の再生が含まれる。音源／ラウドスピーカの各組合せについて、遅延に加え、特定のフィルタを用いた入力信号の畳み込みをも考慮しなければならないことから、典型的には、現存するシステムにおいて演算のために消費可能な能力を超過してしまうことになる。
【先行技術文献】
【非特許文献】
【００２２】
【非特許文献１】Berkhout, A.J.; de Vries, D.; Vogel, P.: Acoustic Control By Wavefield Synthesis. JASA 93, 1993
【発明の概要】
【発明が解決しようとする課題】
【００２３】
本発明の目的は、複数のオーディオ音源を使用しながら複数のラウドスピーカのための複数のラウドスピーカ信号を計算する効率的な概念を提供することである。
【課題を解決するための手段】
【００２４】
本発明の目的は、請求項１に記載のラウドスピーカ信号を計算する装置、請求項１８に記載のラウドスピーカ信号を計算する方法、又は請求項１９に記載のコンピュータプログラムによって達成される。
【００２５】
本発明の利点を挙げると、本発明は、順変換(forward transform)ステージとメモリとメモリアクセス制御部とフィルタステージと合計ステージと逆変換(backtransform)ステージとの組合せにより、効率的な概念であって、複数の順変換および逆変換の計算が、オーディオ音源とラウドスピーカとの各個別の組合せについて実行される必要がなく、代わりに、各個別のオーディオ音源についてだけ実行されればよい、という特徴を有する概念を提供する。
【００２６】
同様に、逆変換は、各個別のオーディオ信号／ラウドスピーカの組合せについて計算される必要がなく、代わりに、複数のラウドスピーカについてだけ計算されればよい。つまり、順変換の計算の数はオーディオ音源の個数と等しく、逆変換の計算の数は、１つのラウドスピーカ信号が１つのラウドスピーカを駆動するときに駆動されるべきラウドスピーカ信号の個数及び／又はラウドスピーカの個数と等しいことを意味する。加えて、特に有利な点として、周波数ドメインにおける遅延の導入がメモリアクセス制御部によって効率的に達成される点が挙げられる。つまり、オーディオ信号／ラウドスピーカの１つの組合せに関する１つの遅延値に基づいて、その変換に使用されたストライドがその目的のために有利に使用される。特に、順変換ステージは、各オーディオ信号に対し、各オーディオ信号のためのメモリ内に蓄積された短時間スペクトル（short-term spectra:ＳＴＳ)のシーケンスを提供する。そこで、メモリアクセス制御部は、時間的に連続する短時間スペクトルのシーケンスに対するアクセスを有する。次に、遅延値に基づいて、その短時間スペクトルのシーケンスから、１つのオーディオ信号／ラウドスピーカの組合せのために、例えばある波面合成オペレータによって提供された遅延値に最も合致するような１つの短時間スペクトルが選択される。例えば、１つの短時間スペクトルから次の短時間スペクトルへの個々のブロックの計算におけるストライド値が２０ｍｓであり、波面合成オペレータが１００ｍｓの遅延を必要とする場合、考慮対象となるオーディオ信号／ラウドスピーカの組合せに関し、メモリ内の直近の短時間スペクトルではなく、メモリに蓄積されかつ逆向きに数えて５つ目の短時間スペクトルを使用して、全体的な遅延を容易に達成できる。従って、本発明の装置は既に、ストライドによって決定された特定のラスタ（グリッド）内に蓄積された短時間スペクトルだけに基づいて、遅延を実行できる状態にある。そのラスタが特定のアプリケーションに対して既に十分である場合には、更なる尺度を用いる必要はない。しかしながら、より精密な遅延制御が必要とされる場合には、フィルタステージにおいて、特定の短時間スペクトルを周波数ドメインでフィルタ処理するために、フィルタインパルス応答の開始位置に特定数のゼロを用いて操作されているインパルス応答を持つあるフィルタを使用してもよい。このような方法で、より精密な遅延の細分化(granulation)が達成可能となり、そのより精密な遅延とは、メモリアクセス制御部内で行われる場合のようなブロックストライドに従う持続時間で発生するのではなく、サンプリング周期に従う持続時間、即ち２つのサンプル間の時間的距離に従う持続時間で、かなり精密な方法で発生する。加えて、精密度がもう一段高い遅延の細分化が必要とされる場合には、フィルタステージにおいて、既にゼロを用いて補足されていたインパルス応答が小数部遅延(fractional delay)フィルタを使用して実行される。従って、本発明の実施形態においては、いかなる必要な遅延値も、周波数ドメインで、即ち順変換と逆変換との間に計算されてもよく、その遅延の主要部分がメモリアクセス制御部によって単純に達成されてもよい。この場合、細分化は既に達成されており、それがブロックストライドに従う細分化及び／又はブロックストライドに対応する持続時間に従う細分化であってもよい。より精密な遅延が必要とされる場合、そのより精密な遅延は、フィルタステージにおいて、オーディオ信号とラウドスピーカとの各個別の組合せのためのフィルタインパルス応答を、そのインパルス応答の開始点にゼロを挿入する方法で修正することにより実行される。これは言わば時間ドメインにおける遅延を表現するが、しかしこの遅延は、本願に従えば、周波数ドメインにおける短時間スペクトル上に「押印(imprinted)」されて、その結果、適用された遅延は、オーバーラップ・セーブ・アルゴリズム又はオーバーラップ加算アルゴリズムなどの高速畳み込みアルゴリズムと互換性を有し、及び／又は高速畳み込みによって提供される枠組み内で効率的に実装できる。
【００２７】
本発明は特に静的な音源に適している。なぜなら、静的な仮想音源は、各オーディオ信号／ラウドスピーカの組合せについての静的な遅延値をも有するからである。従って、メモリアクセス制御は、仮想音源の各位置について固定的に設定されてもよい。加えて、フィルタステージの各個別ブロック内の特定のラウドスピーカ／オーディオ信号の組合せについてのインパルス応答は、実際のレンダリングアルゴリズムを実行する前に既に事前設定されてもよい。この目的で、当該オーディオ信号／ラウドスピーカの組合せのために実際に必要とされるインパルス応答が、そのインパルス応答の開始位置に適数のゼロを挿入するよう修正されて、より精密に解像された遅延を達成する。その後、このインパルス応答はスペクトルドメインへと変換されて個別のフィルタ内に蓄積される。実際の波面合成レンダリングの計算においては、個別のフィルタブロック内の個別フィルタの蓄積された伝送関数に常に頼る可能性もある。次に、ある静的な音源が１つの位置から次の位置へと遷移した場合、メモリアクセス制御のリセットと個別フィルタのリセットとが必要になるであろう。しかしこれらのリセットは、例えばある静的な音源が１つの位置から次の位置へと遷移した場合について、例えば１０秒の時間インターバルで既に事前計算されている。このように、静的音源が依然としてその古い位置においてレンダリングされているときでも、個別フィルタの周波数ドメイン伝達関数は既に事前計算されていてもよく、その結果、その静的音源がその新たな位置においてレンダリングされるべきときには、個別フィルタステージはその中に蓄積された伝達関数を既に有しており、それらの伝達関数はまた、適正な数のゼロが挿入された状態のインパルス応答に基づいて計算されたものである。
【００２８】
好ましい波面合成レンダラ装置及び／又は波面合成レンダラ装置を作動させる好ましい方法は、音源信号ｘ0…ｘN-1についてサンプリング値を提供するＮ個の仮想音源と、音源信号ｘ0…ｘN-1からＭ個のラウドスピーカ信号ｙ0…ｙM-1についてサンプリング値を提供する信号処理ユニットとを含み、フィルタスペクトルは音源／ラウドスピーカの各組合せについて前記信号処理ユニットに蓄積され、ブロック長Ｌの複数のＦＦＴ計算ブロックを使用する各音源信号ｘ0…ｘN-1はスペクトルに変換され、ＦＦＴ計算ブロックは長さ（Ｌ−Ｂ）のオーバーラップと長さＢのストライドとを含み、各スペクトルは個々の同じ音源の関連するフィルタスペクトルと乗算され、それによりスペクトルが生成される。スペクトルに対するアクセスは、ラウドスピーカがそれぞれの場合に互いに所定の遅延をもって駆動されるように実行され、その遅延はストライドＢの整数倍に対応しており、個々の同じラウドスピーカiの全てのスペクトルは加算され、それによりスペクトルＱjが生成され、そして各スペクトルＱjはＩＦＦＴ計算ブロックを使用してＭ個のラウドスピーカ信号ｙ0…ｙM-1についてのサンプリング値へと変換される。
【００２９】
１つの実施形態では、ラウドスピーカ信号ｙ0…ｙM-1における遅延をスペクトルへの目標付きアクセス(targeted access)によって生成するために、個別スペクトルのブロック毎のシフトが使用されてもよい。この遅延にかかる演算消費は、スペクトルへの目標付きアクセスにのみ依存しており、そのためその遅延がストライドＢの整数倍に相当する限り、遅延を導入するための追加の演算能力を必要としない。
【００３０】
全体として、本発明は指向性音源又は指向特性を持つ音源の波面合成に関連している。幾つかの仮想音源と多数のラウドスピーカとからなる現実のリスニング状況とＷＦＳセットアップにとって、仮想音源とラウドスピーカとの各組合せについて個別ＦＩＲフィルタを適用する必要性は、構成を簡素にすることを度々阻害する。
【００３１】
この複雑性における高速な増加を抑制するために、本発明は、時間／周波数技術に基づいた効率的な処理構造を提案している。高速畳み込みアルゴリズムの要素をＷＦＳレンダリングシステムの構造へと組み合わせることで、操作と中間結果との効率的再利用を可能とし、それにより効率性におけるかなりの増加を達成できる。仮想音源やラウドスピーカの数が増加するにつれて、潜在的な加速が増加したとしても、適切なサイズでのＷＦＳセットアップについての実質的な節約が達成される。加えて、フィルタの大きさの次数とブロック遅延値とについてのパラメータ選択の可能性についての広範な多様性に対して、パワーゲインが比較的一定になる。ＷＦＳのような音響再生技術によって固有に必要となる時間遅延の取り扱いは、オーバーラップ・セーブ技術の修正を必要とする。このことは、遅延値を区分けし、かつ周波数ドメイン遅延ライン又は周波数ドメインで構成された遅延ラインを使用することによって、効率的に達成できる。
【００３２】
よって、本発明はＷＦＳにおける指向性音源または指向特性を含む音源をレンダリングすることに限定されず、任意の時間遅延を持つ大量のマルチチャネル・フィルタリングを使用する他の処理作業にも適用できる。
【００３３】
望ましい実施例はオーバーラップ・セーブ法に従って生成されるべきスペクトルについて提案している。このオーバーラップ・セーブ法は高速畳み込みの一方法である。これは、入力シーケンスｘ0…ｘN-1を互いにオーバーラップしているサブシーケンスへと分解する操作を含む。これに続いて、非周期高速畳み込みに合致する部分が、形成された周期畳み込み結果（巡回畳み込み）から差し引かれる。
【００３４】
さらに好ましい実施例は、ＦＦＴによって時間離散インパルス応答から変換されるべきフィルタスペクトルを提供する。そのフィルタスペクトルの計算がその計算のタイムクリティカルな部分には影響を及ぼさないように、タイムクリティカルな計算ステップが実際に実行される前に、フィルタスペクトルは提供されてもよい。
【００３５】
さらに好ましい実施例では、ラウドスピーカがゼロの数に応じた所定の遅延を持って相互に駆動されるように、各インパルス応答の前に幾つかのゼロが配置されるようにする。このようにして、ストライドＢの整数倍に相当しないような遅延でさえも実現可能である。この目的で、所望の遅延が２つの部分に分解される。第１の部分はストライドＢの整数倍であり、一方、第２の部分は剰余を表す。このような分解において、第２の部分はストライドＢよりも必然的に小さくなる。
【図面の簡単な説明】
【００３６】
本発明の更なる詳細と利点とは、図面を用いて以下に説明する実施形態から明らかになる。
【図１ａ】本発明の一実施形態に係るラウドスピーカ信号を計算する装置のブロック図である。
【図１ｂ】適用されるべき遅延をメモリアクセス制御部とフィルタステージとによって決定する手順の概略を示す。
【図１ｃ】新たな遅延値が設定されるべきときにフィルタ処理済み短時間スペクトルを得るためのフィルタステージの好適な実施例の代表例を示す。
【図１ｄ】本発明の文脈におけるオーバーラップ・セーブ法の概略を示す。
【図１ｅ】本発明の文脈におけるオーバーラップ加算法の概略を示す。
【図２】いかなる周波数依存のフィルタリングも使用せずに時間ドメインにおける遅延と振幅スケーリング（スケールと遅延）とを用いたＷＦＳレンダリングシステムを使用する場合の信号処理の基本的構造を示す。
【図３】オーバーラップとセーブ技術を使用する場合の信号処理の基本的構造を示す。
【図４】本発明に係る周波数ドメイン遅延ラインを使用する場合の信号処理の基本的構造を示す。
【図５】本発明に係る周波数ドメイン遅延ラインを用いた信号処理の基本的構造を示す。
【図６ａ】音源の数に対する種々の畳み込みアルゴリズムに係る演算能力の消費を比較して示す。
【図６ｂ】ラウドスピーカの数に対する種々の畳み込みアルゴリズムに係る演算能力の消費を比較して示す。
【図６ｃ】フィルタ次数に対する種々の畳み込みアルゴリズムに係る演算能力の消費を比較して示す。
【図６ｄ】ブロックストライドに対する種々の畳み込みアルゴリズムに係る演算能力の消費を比較して示す。
【図７】本明細書で使用する記号の幾何学的配置を示す。
【図８ａ】オーディオ信号／ラウドスピーカのある組合せに係るインパルス応答を示す。
【図８ｂ】オーディオ信号／ラウドスピーカのある組合せに係るゼロ挿入後のインパルス応答を示す。
【図９】メモリとメモリアクセス制御部との作動を示した図である。
【発明を実施するための形態】
【００３７】
図１ａは、複数のオーディオ音源を使用して、例えば１つの再生室内の所定の位置に配置されていてもよい複数のラウドスピーカのための複数のラウドスピーカ信号を計算する装置を示しており、各オーディオ音源が各オーディオ信号１０を含んでいる。オーディオ信号１０は順変換ステージ１００へと供給され、このステージ１００は各オーディオ信号をブロック単位でスペクトルドメインへと変換するよう構成されており、その結果、時間的に連続する複数の短時間スペクトルが各オーディオ信号について取得される。加えて、各オーディオ信号のための時間的に連続する幾つかの短時間スペクトルを蓄積するよう構成されたメモリ２００が準備されている。メモリの構成とストレージのタイプに依存して、複数の短時間スペクトルのうちの各短時間スペクトルに対し、経時的に増大する時間値が関連付けられてもよく、メモリはその場合、各オーディオ信号のための時間的に連続する幾つかの短時間スペクトルを、その時間値と共に蓄積する。しかしながら、この場合、メモリ内の短時間スペクトルは、時間的に連続する方法で配置される必要はない。代わりに、どの時間値がどのスペクトルに対応するか、及びどのスペクトルがどのオーディオ信号に属しているか、を定義するメモリコンテンツの表が存在する限り、短時間スペクトルは、例えばＲＡＭメモリ内のいずれの位置に蓄積されてもよい。
【００３８】
メモリアクセス制御部は、ラウドスピーカとオーディオ信号との各組合せについて、そのオーディオ信号／ラウドスピーカの組合せのために予め定義された遅延値に基づいて、複数の短時間スペクトルの中から特定のある短時間スペクトルを採用するよう構成されている。メモリアクセス制御部６００によって決定されたそれら特定の短時間スペクトルは、次に、オーディオ信号とラウドスピーカとの各組合せのための各特定の短時間スペクトルをフィルタ処理するフィルタステージ３００へと供給され、その結果、そのフィルタステージにおいて、オーディオ信号とラウドスピーカとのそれぞれの組合せに対して提供される各フィルタを用いたフィルタ処理が実行され、更に、そのようなオーディオ信号とラウドスピーカとの各組合せについて、フィルタ処理済み短時間スペクトルのシーケンスが取得される。フィルタ処理済み短時間スペクトルは、次にフィルタステージ３００により、１つのラウドスピーカについてのフィルタ処理済み短時間スペクトルを合計する合計ステージ４００へと供給され、その結果、各ラウドスピーカについて１つの合計された短時間スペクトルが取得される。それらの合計された短時間スペクトルは、次に各ラウドスピーカについての合計された短時間スペクトルをブロック単位で逆変換するための逆変換ステージ８００へと供給されて、時間ドメイン内における短時間スペクトルが取得され、これによってラウドスピーカ信号が決定されてもよい。このように、ラウドスピーカ信号は、逆変換ステージ８００によって、出力１２において出力される。
【００３９】
波面合成の装置の一実施形態においては、遅延値７０１が波面合成オペレータ（ＷＦＳオペレータ）７００によって供給され、このオペレータ７００は、オーディオ信号とラウドスピーカとの各個別の組合せについての各遅延値７０１を、入力７０２を介して供給される音源位置の関数として、更に、ラウドスピーカ位置、即ち再生室内に配置されたラウドスピーカの位置であって、入力７０３を介して供給される位置の関数として、計算する。装置が波面合成以外の異なるアプリケーション、即ちアンビソニックス構成やその他のために構成されている場合でも、ＷＦＳオペレータ７００に対応する構成要素、即ち個々のラウドスピーカ信号についての各遅延値を計算し、及び／又は、オーディオ信号／ラウドスピーカの個々の組合せについての各遅延値を計算する構成要素が存在するであろう。各構成に依存するが、ＷＦＳオペレータ７００は遅延値に加えてスケーリング値も計算し、そのスケーリング値もまた、典型的にはフィルタステージ３００内でスケーリングファクタによって考慮され得るであろう。そのスケーリング値は、フィルタステージ３００において使用されるフィルタ係数をスケーリングすることにより、追加の演算能力を必要とすることなく考慮されることができる。
【００４０】
従って、メモリアクセス制御部６００は、特定の構成においては、オーディオ信号とラウドスピーカとの異なる組合せについての遅延値を取得するよう構成されてもよく、更に、各組合せについてメモリに対するアクセス値を計算するよう構成されてもよい。この点については、以下に図１ｂを参照しながら説明する。図１ｂを参照しながら更に説明するように、フィルタステージ３００は、オーディオ信号とラウドスピーカとの異なる組合せについての遅延値を取得して、そこから、オーディオ信号／ラウドスピーカの個々の組合せについての各インパルス応答において考慮されるべきゼロの個数を計算するよう構成されてもよい。一般的に言えば、フィルタステージ３００は、サンプリング周期の倍数でより精密な細分性をもって遅延を実行するよう構成されており、他方、メモリアクセス制御部６００は、効率的なメモリアクセス操作によって、順変換ステージにより適用されたストライドＢの細分性で遅延を実行するよう構成されている。
【００４１】
図１ｂは、図１ａの構成要素７００，６００，３００によって実行されてもよい機能の流れを示す。
【００４２】
特に、ＷＦＳオペレータ７００は、図１ｂのステップ２０において示すように、遅延値Ｄを提供するよう構成されている。ステップ２１においては、例えばメモリアクセス制御部６００は、遅延値Ｄをブロックサイズ及び／又はストライドＢの倍数と剰余とに分割するであろう。特に、遅延値Ｄは、ストライドＢと倍数Ｄbとの積と、剰余と、を含む数に等しい。代替的に、倍数Ｄbを一方とし、剰余Ｄrを他方として、これらの数は整数除算(integer division)を実行することにより、特に、遅延値Ｄに対応する持続時間とストライドＢに対応する持続時間との整数除算を実行することにより、計算され得る。その整数除算の結果はＤbになり、その整数除算の余りはＤrとなるであろう。次に、メモリアクセス制御部６００は、ステップ２２において、倍数Ｄbを用いてメモリアクセスの制御を実行するであろう。この点については、後段で図９を参照しながら更に詳細に説明する。このように、遅延Ｄbは、遅延値及び／又は倍数Ｄbに従って選択された特定の蓄積された短時間スペクトルに対する任意のアクセスによって単純に構成されるため、周波数ドメインにおいて効率的に計算される。非常に精密な遅延が必要とされるような、本発明の更なる実施形態においては、好適にはフィルタステージ３００において実行されるステップ２３が、剰余Ｄrをサンプリング周期ＴAの倍数と剰余Ｄｒ’とに分割するステップを含む。サンプリング周期ＴAは、後段で図８ａ及び図８ｂを参照しながら更に詳細に説明するが、インパルス応答の２つの値の間のサンプリング周期を表しており、典型的には図１の順変換ステージ１００の入力１０における離散オーディオ信号のサンプリング周期に合致する。サンプリング周期ＴAの倍数ＤAは、次にステップ２４において、フィルタのインパルス応答内にＤA個のゼロを挿入することによってフィルタを制御するために使用される。ステップ２３においてＤｒ’で示される分割の剰余は、次に（サンプリング周期ＴAの量子化によって必要とされた精密度よりも幾分でも更に精密な遅延制御が必要とされる場合には）ステップ２５において使用され、このステップでは、小数部遅延フィルタ（ＦＤフィルタ）がＤｒ’に従って設定される。このように、幾つかのゼロが既に挿入されていたフィルタがＦＤフィルタとして更に構成される。
【００４３】
ステップ２４においてフィルタを制御することで達成された遅延は「時間ドメイン」における遅延として解釈されてもよいが、周波数ドメインにおける前記遅延は、フィルタステージの特定の構成により、メモリ２００から（具体的には倍数Ｄbを使用しながら）読み出されていた特定の短時間スペクトルに対して適用される。従って、その結果は、図１ｂ内に符号２６で示すように、全体の遅延を３個のブロックへと分割することになる。第１のブロックは、Ｄb即ちブロックサイズと、ストライドＢとの積に対応する持続時間である。第２の遅延ブロックは、サンプリング持続時間ＴAのＤA倍、即ちこの積ＤA×ＴAに対応する持続時間である。次に、小数部遅延及び／又は遅延剰余Ｄｒ’が残る。Ｄｒ’はＴAよりも小さく、ＤA×ＴAはＢよりも小さい。これは、図１ｂ内のブロック２１及び２３の隣の２つの分割方程式に直接的によるものである。
【００４４】
次に、図１ｃを参照しながらフィルタステージ３００の好適な構成について説明する。
【００４５】
ステップ３０において、１つのオーディオ信号／ラウドスピーカの組合せについて１つのインパルス応答が提供される。特に指向性音源については、オーディオ信号とラウドスピーカとの各組合せについて専用のインパルス応答が与えられるであろう。しかし、他の音源についても、オーディオ信号とラウドスピーカとの少なくとも特定の組合せに対しては、異なるインパルス応答が存在する。ステップ３１においては、図１ｂ内でステップ２３を用いて説明したように、挿入されるべきゼロの個数、即ち値ＤAが決定される。次に、ステップ３２において、ＤAと等しい個数のゼロがインパルス応答内の開始位置に挿入され、修正済みのインパルス応答が得られる。この点に関しては図８ａを参照されたい。図８ａはインパルス応答ｈ（ｔ）の一例を示しており、実際のアプリケーションと比較すると短か過ぎるものであるが、サンプル３において第１の値を有している。従って、値ｔ＝０からｔ＝３の間の期間を、音源からマイクロホンなどの録音位置又はリスナーまで伝わる音によって発生する遅延と見なすことができる。この後には、インパルス応答の多様なサンプルが続き、それらは距離ＴA、即ちサンプリング持続時間であってサンプリング周波数の逆数と等しい持続時間を有する。図８ｂは１つのインパルス応答であって、具体的には、オーディオ信号／ラウドスピーカの組合せについてＴA＝４個のゼロを挿入した後の同じインパルス応答を示している。従って、図８ｂに示すインパルス応答は、ステップ３２において得られるインパルス応答と同じである。次に、図１ｃに示すように、この修正済みのインパルス応答、即ち図８ｂのようなインパルス応答のスペクトルドメインへの変換がステップ３３において実行される。次に、ステップ３４において、特定の短時間スペクトル、即ちＤbによってメモリから読み出されておりかつ決定されていた短時間スペクトルが、好適にはスペクトル値毎に、ステップ３３において得られた、変換された修正済みインパルス応答によって乗算されて、最終的にフィルタ済み短時間スペクトルが取得される。
【００４６】
この実施形態においては、順変換ステージ１００は、時間的サンプルのシーケンスからストライドＢを用いて短時間スペクトルのシーケンスを決定するよう構成されており、その結果、短時間スペクトルへと変換された時間的サンプルの第１ブロックの１番目のサンプルが、時間的サンプルの後続の第２ブロックの１番目のサンプルから、ストライド値と等しい数のサンプル分だけ間隔を空けて配置されるようになる。この場合、ストライド値は、新たなブロックのそれぞれ１番目のサンプルによって定義され、そのストライド値は、図１ｄ及び図１ｅを参照しながら以下に説明するように、オーバーラップ・セーブ法とオーバーラップ加算法との両方のために存在する。
【００４７】
加えて、メモリ２００内の任意のストレージを可能にするために、短時間スペクトルと関連付けられた時間値が、好ましくはブロックインデックスとして蓄積される。そのブロックインデックスとは、短時間スペクトルの１番目のサンプルが参照値からその分だけ時間的に間隔を空けて離される、ストライド値の数を示すものである。参照値とは、例えば図９内の符号２４９における短時間スペクトルのインデックス０である。
【００４８】
更に、メモリアクセス手段は、好適には、特定の短時間スペクトルの遅延値と時間値とに基づいて、その特定の短時間スペクトルを以下のように決定するよう構成されている。即ち、特定の短時間スペクトルの時間値が、その遅延値に対応する持続時間をストライド値に対応する持続時間で割り算した結果の整数部と等しいか又は１だけ大きくなるように決定される。１つの実装例においては、使用される結果の整数部が実際に必要とされる遅延よりも常に小さくなるよう、正確に設定される。しかし代替的に、その結果の整数部に１を加算した数を使用することもでき、その値は、実際に必要とされる遅延の言わば「切上げ」の値である。「切上げ」の場合には、僅かに大き過ぎる遅延が達成されるが、アプリケーションによっては容易に満足なものになり得る。実装例によるが、切上げ又は切捨てのいずれが実行されるかという問題は、剰余の量の関数として決定されてもよい。例えば、剰余がストライドに対応する持続時間の５０％以上である場合には、切上げが実行されてもよい。即ち、１だけ大きい値が取られてもよい。反対に、剰余が５０％未満である場合には、「切捨て」が実行されてもよい。即ち、整数除算の結果のままの値が取られてもよい。実際に、例えばゼロを挿入することによって剰余が構成されない場合にも、切捨てに言及してもよい。
【００４９】
換言すれば、切上げ及び／又は切捨てを含む上述のような実装例は、ブロック長の細分化によってのみ達成される遅延が適用される場合に、即ちインパルス応答内にゼロを挿入することによって更に精密な遅延が達成されることがない場合に使用されてもよい。しかしながら、インパルス応答内にゼロを挿入することによって更に精密な遅延が達成される場合には、ブロックオフセットを決定するために、切上げよりもむしろ切捨ての方が実行されるであろう。
【００５０】
このような実装例を説明するために、図９を参照されたい。図９は、入力インターフェイス２５０と出力インターフェイス２６０とを含む特定のメモリ３００を示す。各オーディオ信号から、即ちオーディオ信号１とオーディオ信号２とオーディオ信号３とオーディオ信号４から、例えば７個の短時間スペクトルを有する短時間スペクトルの時間的シーケンスがメモリ内に蓄積される。特に、それらスペクトルは、メモリ内に常に７個の短時間スペクトルが存在するように、かつ、メモリが充満しており更なる新たな短時間スペクトルがメモリ内へと供給されたときにはメモリの出力２６０において対応するスペクトルがいわば「押し出される(falls out)」ように、メモリ内に読み込まれる。そのような押し出しは、例えばメモリセルを上書きすることによって、又は、図９で単に説明の便宜上示したように、個別のメモリフィールド内へと然るべくインデックスを付けることによって実行される。アクセス制御部は、アクセス制御ライン２６５を介してアクセスし、特定のメモリフィールド、即ち特定の短時間スペクトルであって、次に読出し出力２６７を介して図１ａのフィルタステージ３００に対して供給される短時間スペクトルを読み出す。
【００５１】
特定の例示的なアクセス制御部は、例えば図４に示す実装例に関し、またそこに示され図９で説明するような特定のＯＳブロック、即ち特定のオーディオ信号／ラウドスピーカの組合せについて、オーディオ信号の対応する短時間スペクトルを対応する時間値を使用して読み出してもよく、その時間値は図９の符号２６９においてはＢの倍数である。特に、その遅延値は、組合せＯＳ３０１については２個のストライド長の遅延２Ｂが必要とされてもよい。加えて、遅延なし、即ち遅延０が組合せＯＳ３０４について必要とされてもよく、他方、ＯＳ３０２については、５個のストライド値の遅延、即ち５Ｂが必要とされてもよく、その他、図９に示すような遅延が必要とされてもよい。この点に関する限り、メモリアクセス制御部２６５は、時間における特定の点において、図９内の表２７０に従って対応する短時間スペクトルの全てを読出してもよく、次にそれらをフィルタステージへと出力２６７を介して供給してもよい。この点については後段で図４を参照しながら説明する。図９に示す実施形態においては、ストレージ深度は例示的に７個の短時間スペクトルに相当し、最大では６個のストライド値Ｂに対応する持続時間と等しい持続時間を構成してもよい。つまり、図９のメモリを使用すると、図１ｂのステップ２１において最大で６となるＤbの値が構成されてもよい。特定の実装例においてどのように遅延要件とストライド値Ｂとが設定されるかに依るが、メモリはより大きくても又はより小さくてもよく、及び／又はより深くても又は浅くてもよい。
【００５２】
上段で図１ｃを参照しながら説明したようなある特定の実装例においては、フィルタステージが、修正済みのインパルス応答を、ラウドスピーカとオーディオ信号との組合せに対して提供されたフィルタのインパルス応答から、幾つかのゼロをインパルス応答の時間的な開始位置に挿入することによって、決定するよう構成されており、そのゼロの個数は、そのオーディオ信号とラウドスピーカとの組合せについての遅延値と、そのオーディオ信号とラウドスピーカとの組合せについて選択された特定の短時間スペクトルとに依存する。好適には、フィルタステージは、以下のような個数のゼロを挿入するよう構成される。即ち、そのゼロの個数に対応しかつ値ＤAと等しい可能性のある持続時間が、図１ｂにおいて余り値Ｄrをサンプリング持続時間ＴAによって整数除算した場合の剰余以下となるように選択される。図１ｂを参照しながら既に説明したように、符号２５において、フィルタのインパルス応答は、隣接する離散インパルス応答値同士間の持続時間の小数部に従う遅延を達成するよう構成された小数部遅延フィルタについてのインパルス応答であってもよく、その小数部は、図１ｂの遅延値（Ｄ−Ｄb×Ｂ−ＤA×ＴA）と等しい。この点は図１ｂの符号２６からも明らかであろう。
【００５３】
好ましくは、メモリ２００は、各オーディオ音源のために、図４の周波数ドメイン遅延ライン、又はＦＤＬ２０１，２０２，２０３を含む。それらＦＤＬ２０１，２０２，２０３は、図９においても概略的に示されているが、対応する音源及び／又は対応するオーディオ信号のために蓄積された短時間スペクトルに対する任意のアクセスを可能にするものであり、各短時間スペクトルに対するアクセス操作は時間値又はインデックス２６９を介して実行できる。
【００５４】
図４に示すように、順変換ステージには、幾つかの変換ブロック１０１，１０２，１０３が追加的に設けられており、それらはオーディオ信号と同数である。加えて、逆変換ステージ８００には、幾つかの変換ブロック８０１，８０２，８０３が設けられており、それらはラウドスピーカと同数である。更に、周波数ドメインの遅延ライン２０１，２０２，２０３が各オーディオ音源のために各オーディオ信号について設けられ、フィルタステージは、幾つかの単一フィルタ３０１〜３０９を含むよう構成されており、それら単一フィルタの個数は、オーディオ音源の数とラウドスピーカの数との積と同数である。換言すれば、専用の単一フィルタ、即ち図４においては単純化するために記号ＯＳで示すフィルタが、各オーディオ信号／ラウドスピーカの組合せについて存在する。
【００５５】
好適な実施形態において、順変換ステージ１００と逆変換ステージ８００とは、オーバーラップ・セーブ法に従って構成されている。これについては図１ｄを用いて後段で説明する。オーバーラップ・セーブ法とは、高速畳み込みの一方法である。図１ｅで説明するオーバーラップ加算法とは異なり、ここでの入力シーケンスは、図１ｄにおいて符号３６で示すように、互いにオーバーラップしているサブシーケンスへと分解される。これに続き、非周期の高速畳み込みに合致する部分が、形成された周期畳み込みによる結果（巡回畳み込み）から差し引かれる。オーバーラップ・セーブ法はまた、より高い次数のＦＩＲフィルタを高率的に構成するためにも使用され得る。ステップ３６で形成されたブロックは、次に、ステップ３７で示すように、各場合に図１ａの順変換ステージ１００において変換されて、短時間スペクトルのシーケンスが得られる。次に、短時間スペクトルは、ステップ３８において要約して示されるように、本発明の全体的な機能によって、スペクトルドメインで処理される。加えて、処理済みの短時間スペクトルは、ブロック８００、即ちステップ３９で示す逆変換ブロックにおいて逆変換され、時間値のブロックが得られる。２個の有限信号を畳み込むことで形成される出力信号は、一般的には３個の部分へと分割されてもよい。即ち、過渡挙動(transient behavior)と、静的挙動(stationary behavior)と、減衰挙動(decay behavior)と、である。オーバーラップ・セーブ法では、入力信号はセグメントへと分解され、各セグメントはフィルタを用いた周期畳み込みによって個別に畳み込まれる。次に、それらの部分的な畳み込みが再結集される。このとき、それら部分的畳み込みの各々の減衰領域は、後続の畳み込み結果とオーバーラップして、それと干渉することになり得る。従って、不正確な結果を招く減衰領域は、この方法の枠組みでは廃棄される。これにより、個々の畳み込みの個々の静的部分が直接的に相互に隣接するようになり、従って、畳み込みの正確な結果がもたらされる。一般的に、ステップ４０は、ブロック３９の後で得られた時間値のブロックから干渉部分を廃棄するステップを含み、ステップ４１は、残ったサンプリングを正確な時間的順序で継ぎ合わせて、対応するラウドスピーカ信号を最終的に得るステップを含む。
【００５６】
代替的に、順変換ステージ１００と逆変換ステージ８００との両方は、オーバーラップ加算法を実行するよう構成されてもよい。オーバーラップ加算法は、セグメント畳み込みとも呼ばれるものであるが、これもまた高速畳み込みの一方法であり、符号４３で説明するように、入力シーケンスが、実際に隣接するサンプルのブロックへとストライドＢを用いて分解されるように制御された方法である。しかしながら、符号４４で示すような各ブロックに対するゼロの付加（ゼロパディングとも呼ばれる）により、それらのブロックは連続的なオーバーラッピング・ブロックとなる。このように、入力信号は長さＢの複数の部分へと分割され、次にステップ４４に従うゼロパディングによってそれらが拡張されるため、畳み込み操作の結果として１つのより長い長さを達成することになる。次に、ステップ４４によって生成されかつゼロを用いてパディングされたブロックは、ステップ４５において順変換ステージ１００により変換されて、短時間スペクトルのシーケンスが取得される。次に、ステップ４６において短時間スペクトルがスペクトルドメインで処理され、次に、図１ｄのブロック３９によって実行された処理に従って、ステップ４７において処理済みのスペクトルの逆変換が実行されて、時間値のブロックが取得される。次に、ステップ４８は、時間値のブロックをオーバーラップ加算することで、正確な結果を得ることを含む。個々の畳み込み結果は合算され、ここでは、個々の畳み込み結果がオーバーラップして、その操作の結果は理論的に無限の長さを有する１つの入力シーケンスの畳み込みと対応する。ステップ４１においていわば「継ぎ合わせ(piecing together)」が実行されるオーバーラップ・セーブ法とは対照的に、オーバーラップ加算法は、図１ｅのステップ４８において、時間値ブロックのオーバーラップ加算を実行することを含む。
【００５７】
実装例によるが、順変換ステージ１００と逆変換ステージ８００とは、図４に示す個別のＦＦＴブロック又は図４に示すＩＦＦＴブロックとして構成されてもよい。一般的に、ＤＦＴアルゴリズム、即ちＦＦＴアルゴリズムから逸脱し得る離散フーリエ変換のためのアルゴリズムが好ましい。更に、他の周波数ドメインの変換方法、例えば離散サイン変換（ＤＳＴ）法、離散コサイン変換（ＤＣＴ）法、変形離散コサイン変換（ＭＤＣＴ）法又は同様の方法もまた、当該アプリケーションに適切である場合には使用されてもよい。
【００５８】
図１ａを用いて既に説明したように、本発明の装置は好適には波面合成システムのために使用され、その場合、波面合成オペレータ７００が存在して、ラウドスピーカとオーディオ音源との各組合せのために、またオーディオオーディオ音源の仮想位置とラウドスピーカの位置とを使用しながら遅延値を計算するよう構成されており、その遅延値に基づいて、次にメモリアクセス制御部６００とフィルタステージ３００とが操作してもよい。
【００５９】
波面合成を使用しながら、指向性音源又は指向特性を有する音源を作成するための幾つかの手法が存在する。実験結果に加え、殆どの手法が、円形又は球形の調和関数(harmonics)を形成すべく、音場を拡張又は発展させることに基づいている。本願で提示する手法もまた、円形調和関数を形成すべく仮想音源の音場の拡張を使用して、二次的音源のための駆動関数を取得するものである。この駆動関数はまた、以下ではＷＦＳオペレータとしても称されるであろう。
【００６０】
図７は、波面合成の一般的な方程式において、即ち波面合成オペレータにおいて使用される記号の幾何学的配置を示す。要約すれば、指向性音源についてはＷＦＳオペレータは周波数依存である。即ち、ＷＦＳオペレータは各周波数について、周波数依存の遅延に対応した個別の振幅と位相とを有する。いずれの信号をレンダリングするためにも、この周波数依存の操作は時間ドメイン信号のフィルタリングを必要とする。このフィルタリング操作は、ＦＩＲフィルタリングとして構成されてもよく、そのＦＩＲ係数は周波数依存のＷＦＳオペレータから適切な設計方法により決定されてもよい。ＦＩＲフィルタは更に遅延を含み、その遅延の主要部分は仮想音源とラウドスピーカとの間の信号伝達時間から決定され、従って周波数独立型であり、即ち一定であってもよい。好ましくは、その周波数依存の遅延は図１ａから図１ｅを参照しながら上述した処理によって処理される。しかしながら、本発明はまた、代替的な構成であって、音源が指向性ではない場合もしくは周波数独立型の遅延だけが存在する場合、又は一般的に高速畳み込みが特定のオーディオ信号／ラウドスピーカの組合せ間の遅延と共に使用されるべき場合に対しても適用され得る。
【００６１】
以下の記載は、波面合成処理の例示的な記述である。代替的な記述及び実装例もまた公知である。二次モノポール音源のｘに沿った直線的な分布（黒点）を使用することにより、一次音源Ψの音場が、ｙ＜ｙLの領域内で生成される。
【００６２】
図７の幾何学的配置を使用すれば、２次元の第１種レイリー積分(Rayleigh I integral)は、周波数ドメインで次式（１）によって示される。
【００６３】
【数１】
0005969627.tif 000002
【００６４】
この数式によれば、ｙ＝ｙLの状態で二次モノポールライン音源の線形分布を使用しながら、一次音源の音圧
0005969627.tif 000003
がレシーバ位置Ｒにおいて生成され得る。この目的で、二次音源の位置における一次音源Ψの垂直線
0005969627.tif 000004
方向の速度
0005969627.tif 000005
が既知とならなければならない。数式（１）の中で、ωは角周波数、ｃは音速、
0005969627.tif 000006
は０次の第２種ハンケル関数である。一次音源位置から二次音源位置までの経路は、
0005969627.tif 000007
によって示される。同様に、
0005969627.tif 000008
は一次音源からレシーバＲまでの経路である。一次音源Ψにより放射され、所望の指向特性を有するいかなる２次元音場も、円形調和関数を形成するような拡張によって記述され得る。
【００６５】
【数２】
0005969627.tif 000009
ここで、Ｓ（ω）は音源のスペクトルであり、αはベクトル
0005969627.tif 000010
の方位角である。
0005969627.tif 000011
は大きさの次数ｖの円形調和関数の拡張係数である。動き方程式を使用しながらＷＦＳ二次音源駆動関数Ｑ（...）は、次式のように示される。
【００６６】
【数３】
0005969627.tif 000012
【００６７】
実現可能な合成オペレータを取得するために、２つの仮定が立てられる。第１に、放射された波長と比較してラウドスピーカのサイズが小さい場合には、実際のラウドスピーカは点音源のような挙動を有する。従って、二次音源駆動関数はライン音源よりも二次点音源を使用すべきである。第２に、ここではＷＦＳ駆動関数の効率的な処理だけに焦点を当てている。ハンケル関数の計算は比較的大量の労力を必要とする一方で、近距離音場の指向性の挙動は現実的な観点から見て比較的重要性が乏しい。
【００６８】
結果的に、ハンケル関数の遠距離音場近似だけが二次と一次の音源記述（１），（２）に対して適用される。その結果、二次音源駆動関数が得られる。
【００６９】
【数４】
0005969627.tif 000013
【００７０】
その結果、合成積分は次式のように示され得る。
【数５】
0005969627.tif 000014
【００７１】
理想的なモノポール特性を有する仮想音源については、音源駆動関数の指向性の項目はより簡素になり、結果的にＧ（ω，α）＝１となる。この場合、ゲイン
【数６】
0005969627.tif 000015
と、周波数独立型の時間遅延
0005969627.tif 000016
に対応する遅延項
【数７】
0005969627.tif 000017
と、一定の位相シフトｊとだけが二次音源信号に適用される。
【００７２】
モノポール音源の合成に加え、普通のＷＦＳシステムでも、平面波と呼ばれる平面的な波面の再生を可能にできる。これらは無限距離に配置されたモノポール音源として考えられてもよい。モノポール音源の場合と同様に、結果として得られる合成オペレータは、静的フィルタ(static filter)とゲインファクタと時間遅延とを含む。
【００７３】
複雑な指向特性については、ゲインファクタＡ（...）は、仮想音源の指向特性とアラインメントと周波数と、仮想及び二次音源の位置と、に依存するようになる。その結果、合成オペレータは、特に各二次音源について特有のフィルタを含む。
【００７４】
【数８】
0005969627.tif 000018
【００７５】
音源の基本的なタイプの場合には、遅延は仮想音源と二次音源との間の伝播時間に基づき数式（４）から抽出できる。
【００７６】
【数９】
0005969627.tif 000019
【００７７】
現実的なレンダリングのために、指向特性に関する時間離散フィルタが、周波数応答（８）により決定されなければならない。任意の周波数応答を近似できる能力と、それらの特有の安定性とから、ここではＦＩＲフィルタだけが考慮対象となる。これらの指向性フィルタは以下ではｈm,n［ｋ］と称する。ここで、ｎ＝０,...,Ｎ−１は仮想音源のインデックスを示し、ｍ＝０,...,Ｍ−１はラウドスピーカのインデックスを示し、ｋは時間ドメインインデックスを示す。Ｋは指向性フィルタの大きさの次数である。そのようなフィルタはＮ個の仮想音源とＭ個のラウドスピーカとの各組合せに対して必要となるため、その生成は比較的効率的であるべきである。
【００７８】
ここで、簡素なウィンドウ（又は周波数サンプリング設計）が使用される。所望の信号応答（９）は、区間０≦ω＜２π内のＫ＋１個の等距離的にサンプリングされた周波数値において評価される。離散フィルタ係数ｈm,n［ｋ］，ｋ＝０,...,Ｋは、逆離散フーリエ変換（ＩＤＦＴ）により、更にインパルス応答のカットオフに起因するギブズ現象(Gibbs phenomenon)を低減するために適切なウィンドウ関数ｗ［ｋ］を適用することにより、取得される。
【００７９】
【数１０】
0005969627.tif 000020
【００８０】
この設計方法を採用することで、幾つかの最適化が可能となる。第１に、周波数応答
0005969627.tif 000021
の共役対称性(conjugated symmetry)である。この関数は、ラスターポイントの略半分についてだけ評価される必要がある。第２に、二次音源駆動関数の幾つかの部分、例えば拡張係数
0005969627.tif 000022
は、任意の所与の仮想音源の全ての駆動関数について同一であり、従って一度だけ計算される。指向性フィルタｈm,n［ｋ］は合成エラーを２通りの方法で導入する。その一方は、フィルタの大きさの制限された次数が、
0005969627.tif 000023
の不完全な近似という結果を招く。他方は、数式（４）の無限和が有限境界によって置き換えられるべき点である。結果として、生成された指向特性のビーム幅は無限に狭くなり得ない。
【００８１】
図２は、スケールと遅延の操作に基づく簡素なＷＦＳオペレータが使用される場合の信号処理の基本的な構造を示す。この図は、一次音源の基本的なタイプの合成のためのＷＦＳレンダリングシステムの信号処理構造を示す。二次音源駆動信号は、一次音源と二次音源の各組合せについてスケーリング操作および遅延操作（Ｓ＆Ｄ＝スケールと遅延）を処理し、静的入力フィルタＨ（ω）を処理することで決定されてもよい。
【００８２】
ＷＦＳ処理は一般的に時間離散処理システムとして構成される。それは大きく分けて２つの作業を含む。即ち、合成オペレータを計算する作業と、このオペレータを時間離散音源信号に対して適用する作業である。後者は、以下においてはＷＦＳレンダリングと称する。
【００８３】
全体的な複雑性に対する合成オペレータの影響は典型的に低い。なぜなら、そのような合成オペレータは比較的稀にしか計算されないからである。音源特性が離散的な方法においてのみ変化する場合には、オペレータは必要に応じて計算されるであろう。連続的に変化する音源特性の場合、例えば移動音源の場合には、そのような値を粗いグリッドで計算して、その間に簡素な補間方法を使用することで、典型的には十分である。
【００８４】
これとは対照的に、合成オペレータを音源信号へと適用することは、フルのオーディオサンプリングレートで実行されなければならない。図２は、Ｎ個の仮想音源とＭ個のラウドスピーカとを有する典型的なＷＦＳレンダリングシステムを示す。第２．２章で示したように、二次音源駆動関数は、固定のプレフィルタＨ（ω）＝ｊと、時間遅延
0005969627.tif 000024
及びスケーリングファクタ
0005969627.tif 000025
の適用と、を含む。Ｈ（ω）は音源やラウドスピーカの位置から独立しているため、それは入力信号に対し、時間ドメイン遅延ライン内に蓄積される前に適用される。この遅延ラインを使用しながら、仮想音源とラウドスピーカとの各組合せについて、コンポーネント信号が計算され、これがスケールと遅延の操作（Ｓ＆Ｄ）により表現されている。最も簡素な場合、遅延値はサンプリング周期の最も近い整数倍数へと切捨てられて、インデックス付きアクセスとして遅延ラインに適用される。移動音源オブジェクトの場合には、ランダムな位置にある音源信号をサンプル間で補間するために、より複雑なアルゴリズムが必要になる。最後に、コンポーネント信号が各ラウドスピーカについて集積されて、駆動信号が形成される。
【００８５】
スケールと遅延の操作の数は、仮想音源の個数Ｎとラウドスピーカの個数Ｍとの積によって形成される。従って、この積は典型的には高い値に達する。その結果、たとえ整数遅延だけが使用されるとしても、スケールと遅延の操作は、殆どのＷＦＳシステムの性能において最も重要な部分である。
【００８６】
図３は、オーバーラップとセーブの技術を使用する場合の信号処理の基本的な構造を示す。オーバーラップ・セーブ法は、高速畳み込みの一方法である。オーバーラップ加算法とは対照的に、ここでの入力シーケンスｘ［ｎ］は、互いにオーバーラップするサブシーケンスへと分解される。この後で、非周期高速畳み込みに合致する部分が、形成された周期畳み込みによる結果（巡回畳み込み）から取り除かれる。
【００８７】
図２を用いて、仮想音源とラウドスピーカとの各組合せに適用されるスケールと遅延の操作が、従来のＷＦＳレンダリングシステムにとって性能上重要であると説明した。指向特性を有する音源にとっては、典型的にはＦＩＲフィルタとして構成される追加的なフィルタリング操作が上述の各組合せについて必要となる。ＦＩＲフィルタの演算上の消費を考慮した場合、結果的な演算量は、現実の殆どのＷＦＳレンダリングシステムにとって経済的に実現可能ではなくなるであろう。
【００８８】
必要な演算資源を実質的に低減させるために、本発明は２つの相互作用的な効果に基づくある信号処理スキームを提案する。
【００８９】
第１の効果は、例えばオーバーラップ・セーブ法やオーバーラップ加算法などの変換ドメインにおける高速畳み込み方法を使用することで、ＦＩＲフィルタの効率が上昇する場合が多いという事実に関係する。一般的に、そのようなアルゴリズムは、高速フーリエ変換（ＦＦＴ）技術を用いて入力信号のセグメントを周波数ドメインへと変換し、周波数ドメインの乗算を用いて畳み込みを実行し、その信号を時間ドメインへと逆変換する。実際の性能はハードウエアに大きく依存するが、フィルタの規模の次数は、典型的には１６から５０の間の領域であり、このとき変換ベースのフィルタリングは直接的な畳み込みよりも効率的となる。オーバーラップ加算アルゴリズム及びオーバーラップ・セーブ・アルゴリズムにとって、順ＦＦＴ及び逆ＦＦＴの操作は演算消費の大部分を占める。
【００９０】
好ましくは、オーバーラップ・セーブ法だけを考慮対象とする。なぜなら、それは隣接する出力ブロック同士の構成要素の加算を含まないからである。オーバーラップ加算と比べて算術上の複雑さが低いことに加え、オーバーラップ・セーブ法の特性は、提案の処理スキームのためのより簡素な制御理論を結果として提供する。
【００９１】
演算上の消費を低減させる更なる実施形態は、ＷＦＳ処理スキームの構造を活用する。一方では、ここで各入力信号が多数の遅延及びフィルタリング操作のために使用される。他方では、多数の音源についての結果が各ラウドスピーカについて合計される。このように、各入力または出力信号について一回だけ典型的な操作を実行する信号処理アルゴリズムの区分化(partitioning)は、効率におけるゲインを約束する。一般的に、ＷＦＳレンダリングアルゴリズムのそのような区分化は、基本的なタイプの音源の移動音源に関する性能において、かなりの向上をもたらす。
【００９２】
変換ベースの高速畳み込みが指向性音源または指向特性を有する音源のレンダリングのために使用される場合、順方向及び逆方向のフーリエ変換操作が、そのような区分化のための自明の候補となる。結果として得られるスキームを図３に示す。入力信号ｘn［ｋ］，ｎ＝０,...,Ｎ−１は複数のブロックへと区分されて、高速フーリエ変換（ＦＦＴ）を使用しながら周波数ドメインへと変換される。その周波数ドメイン表現は、オーバーラップ・セーブ操作によって個々のラウドスピーカ信号要素を畳み込むために、即ち複素乗算のために、複数回使用される。全ての音源の構成要素信号を集積することにより、ラウドスピーカ信号が周波数ドメインで計算される。最終的に、これらのブロックの高速逆フーリエ変換（ＩＦＦＴ）とオーバーラップ・セーブ・スキームに従う連結とが実行されて、ラウドスピーカ駆動信号ｙm［ｋ］，ｍ＝０,...,Ｍ−１が時間ドメインで生成される。このような方法で、変換ドメインの畳み込みにおける性能において最も重要な部分、即ちＦＦＴとＩＦＦＴの操作は、各音源または各ラウドスピーカについて一度だけ実行される。
【００９３】
図４は周波数ドメイン遅延ラインを本発明に従って使用する場合の信号処理の基本的な構造を示す。ここでは、ブロックベースの変換ドメインＷＦＳ信号処理スキームを示す。ＯＳはオーバーラップ・セーブを表し、ＦＤＬは周波数ドメイン遅延ラインを表す。
【００９４】
図４は図１ａの実施形態の特定の実装例を示しており、行列形状の構造と、個々のＦＦＴブロック１０１，１０２，１０３を含む順変換ステージ１００を含む。加えて、メモリ２００が異なる周波数ドメイン遅延ライン２０１，２０２，２０３を含み、それらは図４では図示しないメモリアクセス制御部６００を介して駆動されており、その結果、各フィルタステージ３０１〜３０９についての正確な短時間スペクトルを決定し、更にその正確な短時間スペクトルを、図９を用いて説明したように特定の時点において読み出し、それを対応するフィルタステージに対して供給する。加えて、合計ステージ４００は、概略図に示す合計部４０１〜４０６を含み、逆変換ステージ８００は個別のＩＦＦＴブロック８０１，８０２，８０３を含み、それらによって最終的にラウドスピーカ信号を取得する。好ましくは、ブロック１０１〜１０３とブロック８０１〜８０３との両方は、例えばオーバーラップ・セーブ法またはオーバーラップ加算法などの高速畳み込みの方法により必要とされるような処理ステップを、実際の変換の前または実際の逆変換の後に実行するよう構成されている。
【００９５】
図７を用いて説明したように、ＷＦＳオペレータは各音源／ラウドスピーカの組合せのために個々の遅延を決定する。提案の信号処理スキームによって効率的な多チャネル畳み込みが可能となるが、そのような遅延の適用には詳細な考慮が必要である。従来の時間ドメインアルゴリズムを用いて、時間ドメイン遅延ラインにアクセスすることにより整数値のサンプル遅延が構成されてもよく、このとき全体的な演算量には殆ど影響がない。周波数ドメインにおいては、時間遅延は同じ方法では決定されることができない。
【００９６】
概念的には、ランダム時間遅延はＦＩＲ指向性フィルタ内に容易に構築され得る。しかし、典型的なＷＦＳシステム内における遅延値の範囲は大きいため、この手法は非常に長いフィルタ長をもたらし、結果的に大きなＦＦＴブロックサイズをもたらす。一方では、これは演算にかかる消費とストレージ要件をかなり増大させてしまう。他方では、そのような大きなＦＦＴサイズに必要とされるブロック形成の遅延によって、入力ブロックを形成するための待ち時間が多くのアプリケーションにとって許容されない。
【００９７】
上述の理由から、本願では、周波数ドメイン遅延ラインと遅延値の区分化とに基づくある処理スキームを提示する。従来のオーバーラップ・セーブ法と同様に、入力信号は、サイズＬを有するオーバーラップするブロックと、隣接するブロック同士の間のストライド（又は遅延ブロックサイズ）Ｂとに区分される。それらブロックは周波数ドメインへと変換されて、Ｘn［ｌ］によって示され、ここでｎは音源を表し、ｌはブロックインデックスである。これらのブロックはある構造内に蓄積され、その構造は、Ｘn［ｌ−１］の形態を有する最も直近の周波数ドメインブロックへのインデックス付きアクセスを可能にする。概念的には、このデータ構造は、区分化された畳み込みの文脈内で使用される周波数ドメイン遅延ラインと同じである。
【００９８】
サンプルにおいて示された遅延値Ｄは、ブロック遅延量の倍数と、剰余Ｄr又はＤr’へと区分化される。
【００９９】
【数１１】
0005969627.tif 000026
【０１００】
ブロック遅延Ｄbは周波数ドメイン遅延ラインへのインデックス付きアクセスとして適用される。他方、剰余部分は指向性フィルタｈm,n［ｋ］内に含まれ、このフィルタは形式的には遅延オペレータδ（ｋ−Ｄr）を用いた畳み込みによって表現される。
【０１０１】
【数１２】
0005969627.tif 000027
【０１０２】
整数遅延値に関しては、この操作はＤr個のゼロを伴う先行するｈm,n［ｋ］と対応する。結果として得られるフィルタは、オーバーラップ・セーブ法の要件に従ってゼロを用いてパディングされる。次に、周波数ドメインフィルタ表現Ｈdm,nがＦＦＴによって取得される。
【０１０３】
音源ｎからラウドスピーカｍへの信号要素の周波数ドメイン表現は、次式により計算される。
【０１０４】
【数１３】
0005969627.tif 000028
ここで、・は要素毎の複素乗算を表す。ラウドスピーカｍのための駆動信号の周波数ドメイン表現は、対応する要素信号を集積することで決定され、それは複素値ベクトル加算として実現される。
【０１０５】
【数１４】
0005969627.tif 000029
【０１０６】
アルゴリズムの剰余は、通常のオーバーラップ・セーブ・アルゴリズムと同じである。ブロックｙm［ｌ］は時間ドメインへと変換されて、各時間ドメインブロックから所定数のサンプルを削除することによりラウドスピーカ駆動信号ｙm［ｋ］が形成される。この信号処理構造は図４に概略的に示されている。
【０１０７】
変換されたセグメントの長さと隣接するセグメント同士間のシフトとは、従来のオーバーラップ・セーブ・アルゴリズムの導出法から導出される。長さＰ（Ｌ＜Ｐ）のシーケンスを持つ、長さＬのセグメントの線形畳み込みは、サイズＬの２個の周波数ドメインベクトルの複素乗算に対応しており、Ｌ−Ｐ＋１個の出力サンプルを生成する。それにより、入力セグメント同士はある量分だけシフトされなければならず、その量は後にＢ＝Ｌ−Ｐ＋１として示される。逆に、大きさの次数がＫ（長さＰ＝Ｋ＋１）のＦＩＲフィルタを用いる畳み込みのために各入力セグメントからＢ個の出力サンプルを得るためには、変換されたセグメントは次式のような長さを持たなければならない。
【０１０８】
【数１５】
0005969627.tif 000030
【０１０９】
遅延の剰余部Ｄrの整数部分が数式（１２）に従ってフィルタｈdm,n［ｋ］内に埋め込まれている場合には、ｈdm,n［ｋ］について必要とされる大きさの次数は、Ｋ’＝Ｋ＋Ｂ−１という結果となる。これは、ｈdm,n［ｋ］に先立って最大でＢ−１個のゼロがあるという事実に基づくものであり、その数はＤr（１１）についての最大値である。従って、提案のアルゴリズムについて必要とされるセグメント長は、次式で示す通りである。
【０１１０】
【数１６】
0005969627.tif 000031
【０１１１】
これまで、整数のサンプル遅延値Ｄだけについて考慮してきた。しかし、提案の処理スキームは、ＦＤフィルタ（ＦＤ＝小数部遅延）、いわゆる指向性フィルタｈdm,n［ｋ］を準備することにより、どのような遅延値でも含むように拡張することができる。ここでは、ＦＩＲ−ＦＤフィルタだけについて考慮する。なぜなら、それらは提案のアルゴリズム内へと容易に統合できるからである。この目的で、剰余遅延Ｄrは、ＦＤフィルタ設計においては慣習的であるが、整数部Ｄintと小数遅延値ｄとに区分化される。整数部分はｈm,n［ｋ］の前にＤint個のゼロを置くことにより、ｈdm,n［ｋ］内に統合される。小数遅延値は、この小数値ｄのために設計されたＦＤフィルタを用いてこれを畳み込むことにより、ｈdm,n［ｋ］に適用される。
【０１１２】
このように、ｈdm,n［ｋ］の大きさの必要とされる次数は、ＦＤフィルタの大きさの次数ＫFDに伴って増大し、必要とされるブロックサイズＬ（１６）は次式（１７）のように変化する。
【０１１３】
【数１７】
0005969627.tif 000032
【０１１４】
しかしながら、ランダム遅延値を使用することの利点は非常に限定的である。上述したように、小数遅延値は移動仮想音源だけについて求められる。しかし、静的な音源に関する限り、小数遅延値は品質上良好な効果を有しない。他方では、移動する指向性音源、又は指向特性を有する音源の合成には、合成フィルタの連続する時間的変化が求められるであろう。それら合成フィルタの設計は、簡素な構成内におけるレンダリングの全体的な演算量を支配する可能性もある。
【０１１５】
図５は、本発明に係る周波数ドメイン遅延ラインを有する信号処理の基本的な構造を示す。音源信号ｘkはスペクトルへと変換され、それらスペクトルは互いにオーバーラップするブロック長ＬのＦＦＴ計算ブロック５０２内にあり、それらＦＦＴ計算ブロックは、長さ（Ｌ−Ｂ）の相互オーバーラップと長さＢのストライドとを含む。
【０１１６】
次のステップにおいて、オーバーラップ・セーブ法（ＯＳ）に従う高速畳み込みと、ＩＦＦＴを用いたラウドスピーカ信号ｙ0...ｙM-1への逆変換とがステージ５０３において実行される。ここで決定的な点は、スペクトルへのアクセスが行われる方法である。一例として、図中にはアクセス操作５０４，５０５，５０６，５０７が示される。アクセス操作５０７の時間との関係において、アクセス操作５０４，５０５，５０６は過去である。
【０１１７】
ラウドスピーカ５１１がアクセス操作５０７によって駆動され、同時にラウドスピーカ５１０と５１２とがアクセス操作５０６によって駆動される場合、リスナーにとっては、まるでラウドスピーカ５１０と５１２とのラウドスピーカ信号がラウドスピーカ５１１のラウドスピーカ信号と比較して遅延されているように感じる。同様のことが、アクセス操作５０５とラウドスピーカ５０９，５１３のラウドスピーカ信号、及び、アクセス操作５０４とラウドスピーカ５０８，５１４のラウドスピーカ信号についても言える。
【０１１８】
この方法で、各個別のラウドスピーカは、ブロックストライドＢの倍数に対応する遅延を用いて駆動されてもよい。ブロックストライドＢよりも小さい遅延が提供されるべき場合には、その遅延は、オーバーラップ・セーブ法の主題であるフィルタの対応するインパルス応答の前にゼロを配置することで達成されてもよい。
【０１１９】
図６ａ〜図６ｄは、異なる畳み込みアルゴリズムについての演算消費を比較して表現している。ここで示すことは、３個の異なる指向性音源、又は指向特性を有する音源のレンダリングアルゴリズムの演算量の比較である。各場合において表現しているものは、単一のサンプルを計算するための全てのラウドスピーカ信号に対するコマンド数である。デフォルトパラメータは、Ｎ＝１６，Ｍ＝１２８，Ｋ＝１０２３，Ｂ＝１０２４である。変換ベースのアルゴリズムについて、ＦＦＴ演算量のための比例定数はｐ＝３に設定される。
【０１２０】
本発明が提案する処理構造によって達成される効率の潜在的な向上を評価する目的で、ここでは算術的コマンドの数に基づく性能比較を提供する。この比較が提供するものは、異なるアルゴリズム同士の相対的性能の大まかな評価でしかない点を理解すべきである。実際の性能は、実際のハードウエア・アーキテクチャの特性に基づいて異なる可能性がある。性能特性、特に関係するＦＦＴ操作の性能特性は、使用されるライブラリと実際のＦＦＴサイズとハードウエアとに基づいて非常に異なる。加えて、使用されるハードウエアのメモリ容量が、比較されたアルゴリズムの効率に対して決定的な影響を与える可能性がある。このような理由から、メモリ消費の主因であるフィルタ係数と遅延ライン構造とに関するメモリ要件もまた記載されている。
【０１２１】
指向性音源、又は指向特性を有する音源のためのレンダリングアルゴリズムの複雑性を決定する主要なパラメータは、仮想音源の個数Ｎと、ラウドスピーカの個数Ｍと、指向性フィルタのフィルタ次数Ｋとである。高速畳み込みに基づく方法については、隣接する入力ブロック同士間のシフト、即ちブロック遅延Ｂとも呼ばれるシフトが、性能及びメモリ要件の障害となる。加えて、高速畳み込みアルゴリズムのブロック毎の操作が、Ｂ−１個のサンプルの構成待ち時間を導入してしまう。Ｄmaxと呼ばれかつサンプルの個数として示される、最大限に許容された遅延値は、遅延ライン構造に必要とされるメモリサイズに影響を与える。
【０１２２】
３個の異なるアルゴリズムが比較される。即ち、線形畳み込みと、フィルタ毎の高速畳み込みと、提案の処理構造である。線形畳み込みに基づく方法は、大きさの次数ＫのＮＭ個の時間ドメイン畳み込みを実行する。その結果、各サンプルに付きＮＭ（２Ｋ＋１）のコマンド量が発生する。加えて、ラウドスピーカ駆動信号を集積するために、Ｍ（Ｎ−１）個の実数加算（real additions)が必要となる。個々の遅延ラインのために必要とされるメモリは、Ｄmax＋Ｋ個の浮動小数点値である。ＭＮ個のＦＩＲフィルタｈm,n［ｋ］の各々が、浮動小数点値のためのＫ＋１個のメモリワードを必要とする。これらの性能価をまとめた表を以下に示す。この表は、指向性音源または指向特性を有する音源のための波面合成信号処理スキームについての性能比較を示すものである。１つのサンプルを全てのラウドスピーカについて計算するためのコマンド数が示されている。メモリ要件は、浮動小数点値の数として特定されている。
【０１２３】
【表１】
0005969627.tif 000033
【０１２４】
フィルタ毎の高速畳み込みと呼ばれる第２のアルゴリズムは、オーバーラップ・セーブの高速畳み込み方法を使用しながら、ＭＮ個のＦＩＲフィルタを個別に計算する。数式（１５）に従えば、各ブロックについてＢ個のサンプルを計算するためのＦＦＴブロックのサイズはＬ＝Ｋ＋Ｂである。各ブロックのために、サイズＬの実数値ＦＦＴと同一サイズの逆ＦＦＴとが実行される。ｐＬｌｏｇ2（Ｌ）のコマンドの数が、サイズＬの順方向または逆方向のＦＦＴについて想定され、ここで、ｐは実構成に依存する比例定数である。ｐは２．５〜３の間の値を有すると想定されてもよい。
【０１２５】
実数値シーケンスの周波数変換は対称であるので、オーバーラップ・セーブ法において実行される長さＬの複素ベクトル乗算は、およそＬ／２の複素乗算を必要とする。単一の複素乗算は６個の算術的コマンドによって実行されるので、１つのベクトル乗算に掛かる手間は３Ｌ個のコマンド量になる。従って、オーバーラップ・セーブ法を使用しながらのフィルタリングは、全てのラウドスピーカ信号に係る１つの出力サンプルについて
0005969627.tif 000034
を必要とする。線形畳み込みアルゴリズムと同様に、ラウドスピーカ信号を集積するときに掛かる手間は、Ｍ（Ｎ−１）個のコマンド量となる。遅延ラインメモリは線形畳み込みアルゴリズムと同一である。対照的に、フィルタに関するメモリ要件は、周波数変換の前のフィルタｈm,n［ｋ］のゼロパディングによって増大する。注意すべき点として、変換済みのシーケンスの対称性により、長さＬの実フィルタの周波数ドメイン表現が、Ｌ個の実数値浮動小数点値内に蓄積されてもよい点が挙げられる。
【０１２６】
提案された効率的な処理スキームに関し、ブロック遅延ＢのためのブロックサイズはＬ＝Ｋ＋２Ｂ−１（１６）と等しい。従って、単一のＦＦＴ又は逆ＦＦＴ操作はｐ（Ｋ＋２Ｂ−１）ｌｏｇ2（Ｋ＋２Ｂ−１）個のコマンドを必要とする。しかしながら、Ｎ個の順ＦＦＴ操作とＭ個の逆ＦＦＴ操作とが、各オーディオブロックに対して必要とされる。複素乗算と加算とは、それぞれ周波数ドメイン表現に対して実行され、長さＫ＋２Ｂ−１の各対称的な周波数ドメインブロックについて、それぞれ３（Ｋ＋２Ｂ−１）個とＫ＋２Ｂ−１個とのコマンドを必要とする。各処理済みブロックはＢ個の出力サンプルを生成するので、１つのサンプリングクロック反復についての全体的なコマンド数は、
0005969627.tif 000035
に達する。周波数ドメイン遅延ラインはサイズＬ及びシフトＢのブロック内に入力信号を蓄積するので、単一の入力信号のために必要となるメモリ位置の数は
0005969627.tif 000036
である。これと同様に、周波数変換済みのフィルタはＫ＋２Ｂ−１個のメモリワードを必要とする。
【０１２７】
これらアルゴリズムの相対的な性能を評価するために、例示的な波面合成レンダリングシステムを、１６個の仮想音源と、１２８個のラウドスピーカチャネルと、大きさの次数が１０２３の指向性フィルタと、１０２４のブロック遅延と、を有する場合について想定する。全体的な演算量に対する各パラメータの影響を評価するために、各パラメータは個別に変動する。
【０１２８】
図６ａは、演算量を仮想音源の数Ｎの関数として示す。予期されるように、フィルタ毎の高速畳み込みアルゴリズムの効率は、線形畳み込みアルゴリズムの効率を略一定のファクタ分だけ超えている。フィルタ毎の高速畳み込みと比較した場合の提案のアルゴリズムの効率におけるゲインは、数Ｎが増大するにつれて更に増大する。従って、比較的一定の比率が急速に達成される。提案のアルゴリズムは単一の音源についてさえもより効率的であることが見て取れる。しかし、それはサイズＫ＋２Ｂ−１のＭ＋Ｎ＝１２９個の変換だけを必要としており、これに対し、フィルタ毎の高速畳み込みについては２ＭＮ＝２５６個が必要とされる。この差は、大きなブロックサイズや、提案のアルゴリズムにより必要とされる乗算及び加算の手間の増加によって償却されるものではない。
【０１２９】
ラウドスピーカの個数の影響を図６ｂに示す。演算量の分析から予期されるように、関数は品質の点で図６ａの関数と非常に似ている。従って、提案の処理構造は、たとえ小型から中型サイズのラウドスピーカ構成に関しても、演算量において有意な低減を達成できる。
【０１３０】
指向性フィルタの大きさの次数の影響を図６ｃに示す。高速畳み込みアルゴリズムの固有の特性として、線形畳み込みの性能と比べたその性能は、フィルタの大きさの次数が増大するにつれて向上する。損益分岐点、即ちフィルタ毎の高速畳み込みが線形畳み込みよりも効率的になる点は、３１から６３までの間にあることが解明されている。対照的に、提案のアルゴリズムの効率は、フィルタの大きさの次数に関わらず遥かに上回っている。特に、線形畳み込みがより効率的になる損益分岐点は、高速畳み込みとの分岐点よりも遥かに低い。これは、フィルタ毎の高速畳み込みの場合に主要な複雑性を生むＦＦＴ及びＩＦＦＴ操作の数が、提案の処理スキームによってかなり減少しているという事実に起因する。ここで注意すべきは、この実験においては、ブロック遅延量Ｂが、フィルタ長（実際にはＢ＝Ｋ＋１）に比例するよう選択されている点である。なぜなら、そのような選択はオーバーラップ・セーブ・アルゴリズムにとって有益であることが証明されているからである。
【０１３１】
図６ｄには、フィルタの大きさの固定次数Ｋについてのブロック遅延量Ｂの影響を示す。線形畳み込みはブロック毎ではないため、このアルゴリズムについて演算量は一定である。提案のアルゴリズムの効率は、フィルタ毎の高速畳み込みの効率を、略一定のファクタ分だけ超えていることが解明されている。この点が暗示することは、フィルタ毎の高速畳み込みのブロックサイズがＫ＋Ｂであることと比較して、Ｌ＝Ｋ＋２Ｂ−１に増大したブロックサイズが、ブロック遅延とは無関係に、効率上は何の負の効果も生まないということである。
【０１３２】
考慮対象の構成（Ｎ＝１６，Ｍ＝１２８，Ｋ＝１０２３，Ｂ＝１０２４）と、４８ｋＨｚのサンプリング周波数における１秒の遅延値に対応する最大遅延値Ｄmax＝４８０００とに対し、線形畳み込みアルゴリズムは凡そ２．９×１０6個のメモリワードを必要とする。同じパラメータに対し、フィルタ毎の高速畳み込みアルゴリズムは凡そ５．０×１０6個の浮動小数点メモリ位置を使用する。この増加は、事前計算された周波数ドメインフィルタ表現のサイズに起因する。提案のアルゴリズムは、周波数ドメイン遅延ラインと、入力信号及びフィルタの周波数ドメイン表現のための増大したブロックサイズとに起因して、凡そ８．６×１０6個のメモリのワードを必要とする。従って、フィルタ毎の高速畳み込みの場合と比較した提案のアルゴリズムの性能の向上は、必要とされるメモリにおける７２．７％の増加によって達成される。従って、提案のアルゴリズムは、より効率的な構成を可能にするために、例えば入力信号の周波数ドメイン表現などの事前計算された結果を蓄積するための追加的なメモリを使用する、空間−時間の妥協として認識されてもよい。
【０１３３】
追加的なメモリ要件は、例えばキャッシュ局在性(cache locality)の減少に起因して、性能に対する逆効果をもたらす可能性がある。同時に、メモリアクセス操作の減少を暗示するコマンド数の減少により、そのような逆効果が最小限となる可能性が高い。従って、意図されたハードウエア・アーキテクチャについて、提案アルゴリズムの性能ゲインを検証し評価することが必要である。同様に、例えばＦＦＴブロックサイズＬ又はブロック遅延Ｂなどのアルゴリズムのパラメータは、特定の目標プラットフォームに対して調整されるべきである。
【０１３４】
具体的な構成要素は装置の構成要素として説明してきたが、上述の説明は方法のステップとしても同様に認識されてもよく、その逆もまた然りである。
【０１３５】
環境要件にも依るが、本発明の方法は、ハードウエア又はソフトウエアにおいて実装可能である。その実装は、非一時的な記憶媒体、デジタル記憶媒体、特にディスク又はＣＤなど、電子的に読み取り可能な制御信号を有し、本発明の方法が実行されるようにプログラム可能なコンピュータシステムと協働可能な記憶媒体上に実行されてもよい。一般的に、本発明はまた、プログラムコードを有するコンピュータプログラム製品の中にあり、そのプログラムコードは機械読み取り可能なキャリアに記憶され、当該コンピュータプログラム製品がコンピュータ上で作動するときに、本発明の方法を実行する。換言すれば、本発明は、そのコンピュータプログラムがコンピュータ上で作動するときに、本発明の方法を実行するためのプログラムコードを有する、コンピュータプログラムとして実現されてもよい。
【図１ａ】
0005969627.tif 000037
【図１ｂ】
0005969627.tif 000038
【図１ｃ】
0005969627.tif 000039
【図１ｄ】
0005969627.tif 000040
【図１ｅ】
0005969627.tif 000041
【図２】
0005969627.tif 000042
【図３】
0005969627.tif 000043
【図４】
0005969627.tif 000044
【図５】
0005969627.tif 000045
【図６ａ】
0005969627.tif 000046
【図６ｂ】
0005969627.tif 000047
【図６ｃ】
0005969627.tif 000048
【図６ｄ】
0005969627.tif 000049
【図７】
0005969627.tif 000050
【図８ａ】
0005969627.tif 000051
【図８ｂ】
0005969627.tif 000052
【図９】
0005969627.tif 000053