(57)【要約】【課題】回路規模を増大させることなく、高品位な音像定位効果を得る。【解決手段】ＣＰＵ１は、座標命令Ｐに基づいて、ＨＲＴＦ係数データメモリＭ２からＨＲＴＦ係数データｈを読み出すとともに、フレーム単位で波形バッファメモリＭ１から波形データを読み出す。波形データとＨＲＴＦ係数データｈは、バス２を介して単純ＦＩＲ計算機３にフレーム周期毎にバースト転送される。単純ＦＩＲ計算機３は間歇的に波形データを処理する。このため、１フレームのサンプル数をｆ、ＦＩＲフィルタのタップ数をｋとすれば、１フレーム当たりｆ＋ｋ以上の波形データが転送される。これにより、ｋ個以上の波形データを隣接するフレームで重複して転送することができるので、波形データを連続的に処理することができる。【選択図】図１
2007295591.tif 000002
【特許請求の範囲】
【請求項１】
フィルタ処理されるべきディジタルデータの複数サンプルと前記フィルタ処理において使用される係数組とを、コンピュータのバスを介して、バースト転送する第１ステップと、
バースト転送されてきた複数サンプルのディジタルデータに対して、所定のサンプリング周期よりも速い処理レートで、バースト転送されてきた前記係数組を使用してフィルタ処理を施す第２ステップと、
フィルタ処理されたディジタルデータをバッファし、前記所定のサンプリング周期に従って出力する第３ステップと
を具備するディジタルフィルタ処理方法。
【請求項２】
コンピュータのバスに接続されるディジタルフィルタ装置であって、
バスを介して、所定の１フレーム期間における任意の１又は複数の時点で、フィルタ演算処理されるべきディジタルデータの複数サンプルと、前記フィルタ演算処理において使用されるフィルタ係数組とのバースト転送を受けるインターフェース部と、
前記インターフェース部を介して受けた前記ディジタルデータに対して、前記インターフェース部を介して受けた前記フィルタ係数組を使用して所定のフィルタ演算処理を行うフィルタ演算部と、
前記フィルタ演算部の出力をバッファし出力する出力部と
を具備するディジタルフィルタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタルフィルタ演算を複数サンプル毎に間歇的に行なうようにしたディジタルフィルタ処理方法及び装置に関する。
【背景技術】
【０００２】
近年、臨場感に溢れる音響を実現するために、各種の音像定位装置が開発されている。例えば、映画や音楽コンサートなどを想定したシステムとして、５．１チャンネル方式が規格化されている。この方式にあっては、視聴者の前方に３チャンネルのスピーカを配置するとともに、その後方に２チャンネルのスピーカを配置し、音源の移動に応じて各スピーカから発音される音量および位相が調整される。
【０００３】
また、他の方式として、音源から左右の耳までの頭部伝達関数ＨＲＴＦ（HeadRelated Trausfer Function）を、音源の座標と対応付けて予め測定しておき、音源の座標が変化するのに応じて、頭部伝達関数ＨＲＴＦの係数を動的に変化させる３次元サウンドポジショニングシステムが知られている。この３Ｄサウンドポジショニングシステムにあっては、発音に用いるスピーカやアンプが左右の耳に対応する２チャンネルで足りるので、システムを簡易に構成することができる。
【０００４】
図７は、一般的な３次元サウンドポジショニングシステムの機能ブロック図である。なお、この例では３つの音源を用いている。図において、ＳＧ１〜ＳＧ３は音源であって、波形データＷ１〜Ｗ３を各々生成する。また、Ｆ１〜Ｆ３はＦＩＲ（有限インパルス応答）フィルタであって、その特性は仮想音源から左右の耳までの頭部伝達関数ＨＲＴＦを表している。ここで、音源ＳＧ１〜ＳＧ３が仮想的に移動したとすれば、その座標によって、ＦＩＲフィルタＦ１〜Ｆ３の係数は、動的に変更されるようになっている。
【０００５】
また、Ａ１，Ａ２は加算器であって、ＦＩＲフィルタＦ１〜Ｆ３からの各データを加算する。これにより、Ｌ，Ｒチャンネルの波形データを各々得ることができる。ところで、加算器Ａ１，Ａ２から出力される波形データは、左右の耳に直接入力されることを前提とした頭部伝達関数ＨＲＴＦによって生成される。したがって、ヘッドホンのように発音手段が左右の耳に近接しており、一方の発音手段からの発音が、片方の耳だけで聞かれる場合は問題ないが、ＬチャンネルとＲチャンネルのスピーカを視聴者の前方に設置すると、片方のスピーカの発音によって、両方の耳に音が入力されてしまいクロストークが生じる。クロストーク処理部Ｃは、クロストークを聴感上なくすように予め補正されたＬチャンネル波形データＤＬとＲチャンネル波形データＤＲを生成するために用いられる。なお、加算器Ａ１，Ａ２までの処理は各音別の処理であり、一方、クロストーク処理は、各音に共通した処理である。
【０００６】
次に、図８は、ＦＩＲフィルタＦ１のブロック図である。この装置が、例えばパーソナルコンピュータ内に設けられているとすると、ＦＩＲフィルタＦ１は、図示せぬホストドライバとＰＣＩバス等で接続されており、積和算の演算を行うＤＳＰ１００と、ＤＳＰ１００を制御するＣＰＵ２００、ＣＰＵ２００に接続される作業メモリ２１０、ＨＲＴＦ係数データｈを記憶したＨＲＴＦ係数データメモリ１１０から構成される。以上の構成により、ホストドライバから座標命令Ｐがバスを介してＦＩＲフィルタＦ１に転送されると、ＣＰＵ２００は、作業メモリ２１０を用いて、フィルタの各タップ係数に相当するＨＲＴＦ係数データｈの記憶領域を指示するアドレスを演算し、当該アドレスをＤＳＰ１００に送る。この後、ＤＳＰ１００は、転送されたアドレスに基づいて、ＨＲＴＦ係数データメモリ１１０からＨＲＴＦ係数データｈを読み出し、こＨＲＴＦ係数データｈと波形データＷ１との間で積和算の演算を行って、処理済波形データＷ１’を生成する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、音源を定位させる方向精度は、ＨＲＴＦ係数データｈのデータ量に依存する。このため、臨場感に溢れる発音を行うべく、音像定位の精度を向上させると、ＦＩＲフィルタＦ１の内部に大容量のＨＲＴＦ係数データメモリ１１０を設ける必要がある。
【０００８】
また、従来のシステムにあっては、ホストドライバから転送される座標命令Ｐを解釈して、ＨＲＴＦ係数データｈを選択する必要があるため、ＣＰＵ２００をコントローラとして、ＦＩＲフィルタＦ１の内部に設ける必要があった。
【０００９】
一方、ホストドライバ側には、パーソナルコンピュータの全体を制御するＣＰＵや、大容量のメインメモリ等が設けられていることが多い。このため、従来のシステムでは、ホストドライバ側の回路構成を有効に活用することができず、ＦＩＲフィルタの回路規模が大きくなってしまうといった問題があった。
【００１０】
本発明は、上述の点に鑑みなされたもので、その目的の１つは、コンピュータのバスに接続されて動作するディジタルフィルタ処理方法及び装置であって、その回路規模を増大させることなく、かつ効率的に動作させることができるディジタルフィルタ処理方法及び装置を提供しようとするものである。
【課題を解決するための手段】
【００１１】
上記目的の達成のために、本発明に係るディジタルフィルタ処理方法は、フィルタ処理されるべきディジタルデータの複数サンプルと前記フィルタ処理において使用される係数組とを、コンピュータのバスを介して、バースト転送する第１ステップと、バースト転送されてきた複数サンプルのディジタルデータに対して、所定のサンプリング周期よりも速い処理レートで、バースト転送されてきた前記係数組を使用してフィルタ処理を施す第２ステップと、フィルタ処理されたディジタルデータをバッファし、前記所定のサンプリング周期に従って出力する第３ステップとを具備する。
【００１２】
フィルタされるべきディジタルデータの複数サンプルをコンピュータのバスを介してまとめて転送するので、コンピュータの側では、所定のサンプリング周期に同期してディジタルデータを送り出す必要がなく、時間的に拘束されない。従って、コンピュータ及びそのバスを他の用途にも効率的に使用することができる。また、第２ステップにおけるフィルタ処理は、所定のサンプリング周期よりも速い処理レートで、所定のフィルタ関数に従うフィルタ演算処理を行なうので、例えば複数ｆ個のサンプル数のディジタルデータに対するフィルタ処理を行なうために、通常必要とされるｆサンプリング周期分の時間をかけることなく、素早くフィルタ演算が行なわれる。かくして、第１ステップでは、複数サンプルからなるディジタルデータのかたまり毎に、フィルタされるべきディジタルデータの複数サンプルをコンピュータのバスを介して間歇的に転送することができ、これに伴い、第２ステップでは、複数サンプルからなるディジタルデータの各かたまり毎に、間歇的にフィルタ演算処理を行なうことができる。フィルタ演算処理済みのデータは、第３ステップで次々にバッファ記憶され、所定のサンプリング周期に従って出力することで、所定のサンプリング周期に従う通常のフィルタ演算処理済みデータを得ることができる。
【００１３】
第２ステップでは、間歇的なフィルタ演算を行なうが故に、１チャンネルについてのフィルタ演算のみならず、複数チャンネルについてのフィルタ演算をそれぞれ空き時間を利用して行なうことができ、回路規模を大きくすることなく、多くのチャンネルについてのそれぞれ独立のフィルタ演算処理を行なうことができる。
【００１４】
前記第１ステップでは、フィルタされるべき一連のディジタルデータを複数の区間に分割し、各区間毎の複数サンプル（例えばｆ個）からなるディジタルデータブロックを、間歇的に転送するものであり、１区間分のディジタルデータを転送するときにそれに隣接する区間に属するディジタルデータの一部（例えばｎ個のサンプル）を併せて転送することで、１区間分のサンプル数（ｆ個）よりも多いサンプル数（ｆ＋ｎ個）からなる時系列的なディジタルデータを転送する。これにより、前記第２ステップでは、１区間分のサンプル数よりも多いサンプル数からなる時系列的なディジタルデータを使用して、前記所定のフィルタ関数に従うフィルタ処理を施すことで、少なくとも１区間分のサンプル数（ｆ個）に相当するフィルタ処理済みデータを得る。こうして、間歇的なフィルタ演算処理を実行ならしめることができる。すなわち、通常、１組のフィルタ係数の数がｋ個であるとすると、ｋ−１個の単位遅延を含む、いわゆるｋ−１次のフィルタ演算を行なうこととなり、k個分の係数の積和により、１サンプル分のフィルタ処理済みデータを得る。よって、ｆサンプル分のフィルタ処理済みデータを得るためには、フィルタされるべき時系列的なディジタルデータは少なくともｆ＋ｋ個のサンプル分入力されるべきである。しかして、上記で、余分に転送される隣接区間のデータのサンプル数ｎを、ｎ≧ｋとすることで、少なくとも１区間分のサンプル数（ｆ個）に相当するフィルタ処理済みデータを得ることができる。余分に転送された隣接区間のデータのサンプル数ｎは、次に当該区間についてのフィルタ演算処理を行なうときにも使用されるものである。そのために、第２ステップの段階でこれを適宜保存しておいてもよいが、そうせずに、次に当該区間についての第１ステップでの転送処理に際して、再送するようにするとよい。第２ステップのフィルタ演算処理段階でこれを保存しておくことは、その分のレジスタを必要とするので、回路規模を幾分大きくしてしまうが、第１ステップでそのような再送処理を行なうことは、コンピュータの処理として簡単に余分のレジスタを必要とすることなく行なえる、という利点がある。
【００１５】
前記第１ステップで転送される前記隣接する区間に属するディジタルデータの一部として、更に、補間用の所定サンプル数（例えばｊ個）からなるディジタルデータが含まれていてよい。これにより、前記第２ステップでは、１区間分のサンプル数と補間用の所定サンプル数とを合計したサンプル数（例えばｆ＋ｊ個）からなるフィルタ処理済みデータを得る。そして、更に、補間用の所定サンプル数（ｊ個）に相当するフィルタ処理済みデータを次の区間のためにバッファする第４ステップと、前の区間においてバッファされた補間用の所定サンプル数（ｊ個）に相当するフィルタ処理済みデータと、今回の区間についての１区間分のサンプル数（ｆ個）に相当するフィルタ処理済みデータとを用いて所定の補間処理を行う第５ステップとを具備する。
【００１６】
こうして、重複するｊ個のサンプル点について、前の区間で使用したフィルタ係数に従うフィルタ演算結果と、今回の区間で使用したフィルタ係数に従うフィルタ演算結果とが補間され、補間結果としてｊ個のデータが得られる。このｊ個の補間済みデータは、他のｋ−ｊ個のフィルタ済みデータと共に、合計ｋサンプル分のフィルタ済み及び補間済みデータとして、第３ステップを介して、出力される。これにより、前回の区間についてのフィルタ演算で使用した係数組と今回の区間についてのフィルタ演算で使用した係数組との内容が異なっていても（つまり、フィルタ係数が時変動しても）、両区間のフィルタ演算処理済みデータを補間によって滑らかにつなげることができる。
【００１７】
好ましくは、前記第１ステップでは、前記フィルタ処理において使用される係数組をも前記コンピュータのバスを介して転送するようにするとよい。前記第２ステップでは、転送されてきた前記係数組を使用して前記フィルタ処理を施せばよい。これにより、第２ステップの側、つまりフィルタ演算用のプロセッサ（例えばＤＳＰ）の側において、複数組のフィルタ係数を予め記憶しているメモリを準備しておく必要がなく、その回路規模を大きくすることがない。例えば、フィルタ係数を時変動させる場合は、大容量の係数メモリが必要であるが、必要な係数組のみをバスを介して転送する構成とすれば、そのような大容量のメモリをフィルタ演算用のプロセッサの側に設ける必要がなく、ホストコンピュータ側に設けておけばよいこととなる。また、フィルタ係数を時変動させない場合でも、音像定位制御のように、音像定位の座標位置を解析し、解析した座標位置に応じたフィルタ係数組を選択的に読み出すような処理を行なう場合は、係数メモリをホストコンピュータ側に設けておけば、解析のための複雑なホストコンピュータ側で行なうことが容易にでき、その点でも、フィルタ演算用のプロセッサの側の構成を簡素化することができる。
【００１８】
勿論、第２ステップにおけるフィルタ演算処理のために使用する係数組は、フィルタ処理用のプロセッサの側においてメモリ等に記憶しておき、バスを介して転送しなくてもよい場合もありうる。例えば、フィルタ係数が時変動しない場合は、そのような係数は最低１組記憶されていればよいのでそれほどのメモリ容量は要求されないかもしれない。あるいは、音像定位のための複雑な座標解析が不要の場合は、そのような解析処理が不要である。これらの場合、フィルタ演算処理のために使用する係数組を、フィルタ処理用のプロセッサの側においてメモリ等に予め記憶しておくことができる。
【００１９】
一実施例として、前記第１ステップは前記コンピュータの汎用プロセッサ側のプログラムによって実行し、前記第２及び第３ステップは前記バスに接続されたフィルタ処理用プロセッサ側のプログラムによって実行する。しかして、本発明は、高能力のホストコンピュータをフィルタ処理のために無駄に拘束することがないので、その有効活用を図ることができると共に、フィルタ処理用プロセッサの回路規模やソフトウェア規模を大型化することなく、簡素化し、効率的にディジタルフィルタ処理を行なわせることができる。
【００２０】
別の観点に従えば、本発明に係る、コンピュータのバスに接続されるディジタルフィルタ装置は、前記バスを介して、所定の１フレーム期間における任意の１又は複数の時点で、フィルタ演算処理されるべきディジタルデータの複数サンプルと、前記フィルタ演算処理において使用されるフィルタ係数組とのバースト転送を受けるインターフェース部と、前記インターフェース部を介して受けた前記ディジタルデータに対して、前記インターフェース部を介して受けた前記フィルタ係数組を使用して所定のフィルタ演算処理を行うフィルタ演算部と、前記フィルタ演算部の出力をバッファし出力する出力部とを具備する。
【００２１】
実施態様において、前記フィルタ演算部は、所定のサンプリング周期とは非同期で、若しくは高速で、フィルタ演算処理を行なう。一方、前記出力部は、バッファしたフィルタ処理済みデータを所定のサンプリング周期に同期して出力する。また、前記インターフェース部では、前記１フレーム期間内の異なる時点で、複数チャンネルのうちの個々のチャンネルについての所定サンプル数のディジタルデータの転送をそれぞれ受け、前記フィルタ演算部では、各チャンネル毎のフィルタ演算処理を前記１フレーム期間内で高速で行なう。その場合、前記出力部では、各チャンネル毎のフィルタ処理済みデータを同一サンプル時点毎に累算しつつバッファする。更に、前記インターフェース部では、前記フィルタ演算部において使用されるフィルタ係数組をも前記コンピュータのバスを介して受取り、前記フィルタ演算部では、受け取った前記フィルタ係数組を使用して前記所定のフィルタ演算処理を行なう。
【００２２】
本発明で提案するディジタルフィルタ処理方法及び／又は装置は、ディジタル楽音信号の処理は勿論のこと、汎ゆる分野で応用することができる。すなわち、コンピュータに接続して効率的なフィルタ処理を行なう方法及び／または装置として最適であり、コンピュータの時間利用効率及びフィルタプロセッサ側の回路規模の縮小の両面で、優れた効果を発揮する。なお、本発明で、コンピュータとは、必ずしも、パーソナルコンピュータや大型のホストコンピュータなどスタンドアロンタイプのコンピュータ装置・機器・設備のみを示すのではなく、各種応用装置・機器・設備の中に組み込まれたＣＰＵ等を主要構成要素とするマイクロコンピュータデバイスやチップをも包含する、広義の意味で使用する。例えば、電子ゲーム装置や特定の応用装置・機器あるいは或る種のマルチメディア機器などの中にマイクロコンピュータデバイスが組み込まれていて、そのバスにフィルタ処理用のプロセッサ（例えばＤＳＰ）が接続される、といったような形態も、本発明の範囲に含まれる。
【００２３】
例えば、本発明を音像定位制御に応用することで、回路規模を増大させることなく、高品質な音像定位効果を楽音信号に付与することができるようになる。すなわち、本発明に係る音像定位装置は、波形データをｆサンプル毎のフレームに分割し、フレーム単位で間歇的に音像の定位効果を前記波形データに付与する音像定位装置であって、発音の位置情報に対応する係数データを予め格納した第１の記憶部と、前記波形データを記憶した第２の記憶部と、前記係数データと前記波形データに基づいて、出力データを生成するｋタップのＦＩＲフィルタ演算部と、前記第１の記憶部、前記第２の記憶部および前記ＦＩＲフィルタ演算部と接続され、バースト転送に対応するバスと、現在のフレームの前記位置情報に対応するｋ個の前記係数データを前記第１の記憶部から読み出し、隣接フレーム間でｋ個以上の前記波形データが重なるように前記第２記憶部からｆ＋ｋ個以上の前記波型データをフレーム単位毎に読み出し、読み出された前記係数データと前記波形データを、前記バスを介して前記ＦＩＲフィルタ演算部にバースト転送するように制御する制御部とを備えたことを特徴とする。ここで、前記制御部は、音原の移動が聴感上検知できないような短い周期で前記バースト転送を行うように制御してよい。また、前記位置情報は、前記フレームの中央付近のタイミングにおける発音の位置を示すものであってよい。
【００２４】
この発明は、方法発明として構成し、実施することができるのみならず、装置発明として構成し、実施することもできる。また、この発明は、コンピュータプログラムまたはＤＳＰ等のためのマイクロプログラムの形態で実施することができるし、そのようなコンピュータプログラムまたはマイクロプログラムを記憶した記録媒体の形態で実施することもできる。
【発明の効果】
【００２５】
上述したように本発明に係る発明特定事項によれば、隣接するフレームで重複する入力データをディジタルフィルタに転送するようにしたので、ディジタルフィルタを間歇的に動作させることができる。
【発明を実施するための最良の形態】
【００２６】
図１は本発明に係わる音像定位装置の一実施形態である３次元サウンドポジショニングシステムのブロック図である。１はＣＰＵであって、装置全体を制御する。また、ＭはＣＰＵ１に接続されている当該システムのメインメモリであって、例えば、ＥＤＯＤＲＡＭ（Extended Data Out DRAM）等によって構成される。また、メインメモリＭのある記憶領域は、波形バッファメモリＭ１やＨＲＴＦ係数データメモリＭ２として機能する。また、メインメモリＭの他の記憶領域には、ドライバプログラムやアプリケーションプログラムが格納されており、これらのデータおよびプログラムは、コンピュータシステムの起動時や特定の命令入力時にハードディスク等の２次記憶装置から読み出され、メインメモリＭに格納されようになっている。
【００２７】
また、波形バッファメモリＭ１には、複数の音源によって生成された各波形データＷが記憶される。この波形データＷのサンプリングレートは、例えば４８ＫＨｚである。ＨＲＴＦ係数データメモリＭ２には、音源の座標を指定する座標命令Ｐに対応づけられてＨＲＴＦ係数データｈが格納されており、ＣＰＵ１の読出命令に従って、座標命令Ｐに対応するＨＲＴＦ係数データｈが読み出されるようになっている。
【００２８】
このように波形バッファメモリＭ１とＨＲＴＦ係数データメモリＭ２とは、当該システムのメインメモリＭの一部として構成される。したがって、このシステムでは、波形データＷやＨＲＴＦ係数データｈを記憶するために特別なメモリをディジタルフィルタ計算機３の側に予め設けておく必要がない。
【００２９】
ここで、波形データＷの一例を図２に示す。この例にあっては、連続する波形データＷをｆサンプルのフレームに分割し、フレーム単位で効果付与処理を行なっている。なお、サンプリングレートを４８ＫＨｚとし、１フレームを２５６サンプルで構成するとすれば、１フレーム期間は、図示するように略５．３ｍｓとなる。
【００３０】
次に、２は高速のデータ転送が可能なバスであり、例えば、ＰＣＩバスを用いるのが好適である。ＰＣＩバスは、データ／アドレスとも３２ビット幅（あるいは６４ビット幅）の転送となっている。また、ＰＣＩバスの動作クロックは３３ＭＨｚであり、理論上の最高データ転送速度は１３２Ｍバイト／秒（あるいは２６４Ｍバイト／秒）である。さらに、サポートしているバスマスタ機能では、汎用ＤＭＡコントローラを使用しない高速なＤＭＡやＣＰＵにかかる負荷の軽減を実現することができる。
【００３１】
また、ＰＣＩバスは、ＩＳＡバスではサポートされていないバースト転送モードを備えている。バースト転送モードとは、1回のアドレス指定で複数のデータをまとめて連続的に転送するモードであり、このバースト転送モードを利用することにより、後述のバースト転送モードを備えたＤＲＡＭ（Dynamic RAM）からの連続データの読み出しを高速化することができる。さらに、ＰＣＩバスには、バスに接続するためのインタフェースを安価に製造できるという利点もある。以上がＰＣＩバスを用いる理由であり、このような特性を有するのであれば、ＰＣＩバス以外の拡張バスを用いてもよい。
【００３２】
次に、３はバス２に接続されるディジタルフィルタ計算機であって、積和算の高速演算を行うもので、例えば、単純ＦＩＲフィルタ演算を行う。このディジタルフィルタ計算機３は、ＤＳＰ（Digital Signal Processor）によって構成される。ディジタルフィルタ計算機３の機能ブロックを図３に示す。図３に示されたディジタルフィルタ計算機３において、バスインターフェース３０１を介してバス２との間でデータのやりとりを行なう。ウェーブ入力バッファ３０２は、バス２を介してバースト転送されてくるデータのうち、一転送単位分の波形サンプルデータ（例えば、ｆ＋ｋ＋ｊ個のサンプル数からなる）をバッファ記憶する。係数入力バッファ３０３は、バス２を介してバースト転送されてくるデータのうち、一転送単位分のフィルタ係数データ（例えば、ｋ個の係数データ）をバッファ記憶する。制御部３０４は。ディジタルフィルタ計算機３における各部間のデータのやりとりの制御及びその他の制御を行うなもので、ウェーブ入力バッファ３０２及び係数入力バッファ３０３にバッファ記憶したデータをフィルタ演算部３０５に供給し、該供給した波形サンプルデータ及び係数データに基づき所定のアルゴリズムに従うフィルタ演算を該フィルタ演算部３０５で高速で実行させる。
【００３３】
図４は、フィルタ演算部３０５が実行するフィルタ演算アルゴリズムの典型例を示す機能ブロック図であり、単純ＦＩＲ（有限インパルス応答）フィルタ演算を行う。この図において、３１1〜３１k-1は、Ｄフリップフロップであり、サンプルクロックに同期して、動作するようになっている。また、３２0〜３２k-1は乗算器であって、そこにはＨＲＴＦ係数データｈ0〜ｈk-1がセットされるようになっており、波形データＷとの間で乗算が行われる。３３は加算器であって、乗算器３２0〜３２k-1の各出力データを加算する。以上の構成により、タップ数ｋのＦＩＲフィルタが構成される。このＦＩＲフィルタを左右それぞれに対応したＨＲＴＦ係数データに基づき２系統設けることによって、波形データＷに音響効果処理を施される。これにより、あたかも音源が移動したような効果を波形データＷに付与して、立体的な臨場感を演出することが可能となる。
【００３４】
また、３４はクロスフェード処理部であり、加算器３３の出力データに対して、クロスフェード処理を施す。クロスフェード処理については後述する。クロスフェード処理部３４から出力されるフィルタ処理済み（及びクロスフェード処理済み）のデータは、図３に示されるダブルバッファからなる出力バッファ３０６及び３０７の一方に累算的に取り込まれる。すなわち、出力バッファ３０６及び３０７は、それぞれ１フレーム分の波形データのサンプル数ｆに対応する数のアドレス場所を有しており、各サンプル毎のフィルタ出力データを各アドレス場所に記憶する。ここで、ディジタルフィルタ計算機３におけるフィルタ演算部３０５においては、複数チャンネルについての１フレーム分のフィルタ演算をそれぞれ独立にかつ高速で行なうようになっており、各チャンネルについての各サンプル毎のフィルタ出力データを、ダブルバッファからなる出力バッファ３０６及び３０７の一方における、対応する各アドレス場所に足し込む（累算する）ようになっている。こうして、全てのチャンネルについての１フレーム分の高速フィルタ演算が終了したときには、書き込みモード中である出力バッファ３０６及び３０７の一方における各アドレス場所には、ｆサンプル数分の各チャンネルのフィルタ演算結果を、同じサンプル時間同士で累算したものが蓄積されたことになる。ダブルバッファからなる出力バッファ３０６及び３０７は、書き込みモードと読出モードが１フレーム毎に交互に切り替わるように制御される。すなわち、前回フレームの期間で書き込みモードであった出力バッファ３０６及び３０７の一方は、今回フレームの期間では、読出モードとなり、ｆサンプル数分の各チャンネルのフィルタ演算結果の累算データを、所定のサンプリング周波数（例えば４８ｋＨｚ）に従って順次読み出す。なお、左右２系統のフィルタ処理出力を生ずるために、ダブルバッファからなる出力バッファ３０６及び３０７とは別に、もう１系統のダブルバッファからなる出力バッファ３０８及び３０９が設けられる。フィルタ演算部３０５は、左右２系統のフィルタ処理で共用するようにしてもよいし、別系統で設けてもよい。
【００３５】
ここで、複数のチャンネルとは、それぞれで異なるフィルタ係数組を使用するチャンネル（いわばフィルタ処理チャンネル）に相当する。例えば、３次元サウンドポジショニングシステムで、３音源からの波形データ（３チャンネルの波形データ）をそれぞれに対応する頭部伝達関数ＨＲＴＦでフィルタ処理する場合、左系統用に３チャンネル、右系統用に３チャンネル、のフィルタ処理がそれぞれのＨＲＴＦ係数データを用いて行なわれる。なお、各バッファ３０２，３０３，３０６〜３０９は、それぞれ１チャンネルについての１フレーム分のデータをバッファ記憶するのに必要なアドレス数だけあればよいので、全体として、極めて少容量で済む。すなわち、複数チャンネル分のフィルタ処理を行なう場合であっても、ディジタルフィルタ計算機３においては、１フレーム時間内において各チャンネル毎に別々に高速で（つまり出力サンプリング周波数よりも高速で）フィルタ演算処理を行なうので、各入力バッファ３０２，３０３は、そのときの１フレーム分のフィルタ演算に必要な１チャンネル分のデータをバッファ記憶する容量を有しているだけでよい。また、各出力バッファ３０６〜３０９はそれぞれ１フレーム分のサンプル数（ｆ個）のデータをバッファ記憶する容量を有しているだけでよい。
【００３６】
ここで、メインメモリＭからディジタルフィルタ計算機３に転送されるデータは、バス２を介して間歇的に伝送される。図５（ａ）は、１音の処理に対応するバースト転送の様子を示したものである。図に示すように１回のバースト転送において、ディジタルフィルタ計算機３のタップ数ｋだけのＨＲＴＦ係数データｈと、ｋよりも多い所定サンプル数（ｆ＋ｋ＋ｊ個）の波形データＷとがバス２を介してディジタルフィルタ計算機３へ転送される。
【００３７】
このように、本実施形態においては、バースト転送によってデータを転送しているので、音響効果付与のためにバス２を常時占有することはない。また、図５（ａ）に示す例は、１つの音源に対応する波形データＷと１系統のＨＲＴＦ係数データｈ0〜ｈk-1とを転送するものであったが、前述のように実際には１つの音源に対して、波形データＷ（共通）と左右の耳に対応した２系統のＨＲＴＦ係数データが転送される。さらに、バス２はＰＣＩバスのように高速でデータ転送が可能であるから、複数の音に対して効果付与処理を行う場合には、転送データを時分割多重して転送することができる。これにより、複数の音源からの音に対して、音像定位処理を行うことが可能となる。
【００３８】
ところで、ＨＲＴＦ係数データｈ0〜ｈk-1は、頭部伝達関数ＨＲＴＦによって定まるものであるから、音源の移動に伴って連続的に変化する。したがって、ＨＲＴＦ係数データｈ0〜ｈk-1の更新は、本来、１サンプル周期毎に行うことが望ましい。しかし、１サンプル周期毎の更新を行うには、短時間でＨＲＴＦ係数データｈ0〜ｈk-1をＨＲＴＦ係数データメモリＭ２から読み出す必要があり、さらに読み出したデータをバス２を介して転送する必要がある。この場合には、バス２を長時間占有することになるので、ＨＲＴＦ係数データｈの転送処理と他の処理との間でバス２の奪い合いが生じることが多い。一方、人の聴覚には、短い時間間隔で音源が不連続に移動したとしても、それを検知することができず、音源が連続して移動したように感じられるといった特性がある。換言すれば、人の耳は、ある程度の時間をかけて音源が不連続に移動した場合に、不連続であることを始めて検知する。
【００３９】
そこで、本実施形態においては、フィルタ処理を一定の間隔（フレーム周期）に区切り、一定周期内では頭部伝達関数ＨＲＴＦに変化がないものとして取り扱うことにより、データ転送に必要な係数の個数を低減し、バス２の占有時間を減らしている。すなわち、頭部伝達関数ＨＲＴＦの更新を、聴感上の変化が認められない程度の時間間隔で行っている。この時間間隔としては、略１０ｍｓ以下が望ましい。
【００４０】
この例にあっては、ディジタルフィルタ計算機３におけるＨＲＴＦ係数データｈ0〜ｈk-1の更新周期を、バースト転送周期（すなわち、フレーム周期）と一致させ、１０ｍｓ以下に設定している。例えば、サンプリング周波数を４８ＫＨｚ、１フレームのサンプル数を２５６サンプルに設定すると、更新周期は略５．３ｍｓとなる。なお、音源が高速で移動する場合には、頭部伝達関数ＨＲＴＦの変化が大きくなるため、音源の移動が不連続となるように人の耳で感じられる場合も起こり得る。このため、本実施形態にあっては、後述するクロスフェード処理を行って、人の耳で音源が連続的に移動するように感じられるようにしている。
【００４１】
次に、図面を参照しつつ、本実施形態の動作を説明する。まず、バースト転送処理について説明すると、図５（ｂ）に示すとおり、ｎ番目のフレームにおいて、ドライバ側からバス２を介して伝送する転送データ群Ｆｎは次のようになる。
Ｆｎ＝（ｈn,0、ｈn,1、…ｈn,k-1、ｄf(n-1)、ｄf(n-1)+1、…ｄfn-1+k+j）
ただし、ｆは１フレーム当たりのサンプル数、また、ｊはオーバラップ数である。
【００４２】
この図に示すように、転送データＦｎは、ｋ個のＨＴＲＦ係数データｈn,0〜ｈn,k-1と、ｆ＋ｋ＋ｊ個の波形データｄf(n-1)〜ｄfn-1+k+jとから構成されている。ここで、転送する波形データ数を、１フレームのサンプル数ｆより多いｆ＋ｋ＋ｊ個としたのは、以下の理由による。まず、ＦＩＲフィルタ処理にあっては、フィルタのタップ数ｋだけの波形データＷとＨＲＴＦ係数データｈとの積和算によって、あるサンプルの出力データを生成する。したがって、１フレーム期間（ｆサンプル）分の出力データを生成するためには、ｆ＋ｋ個の波形データＷが必要となり、さらに、クロスフェード処理のためのオーバーラップ処理のためにｊ個の波形データが必要となるので、転送する波形データ数は、ｆ＋ｋ＋ｊ個となるのである。すなわち、この例にあっては、１フレーム期間のサンプル数ｆ以上の波形データＷを再送することによって、単純ＦＩＲフィルタ計算機３において、間歇的な処理を可能としている。
【００４３】
次に、演算部３０５におけるＦＩＲフィルタ処理例を説明する。演算部３０５では、あるフレームにおいて、１フレームのサンプル数ｆとオーバーラップ処理のためのサンプル数ｊを加えたｆ＋ｊ個を処理する。ここで、ｎ番目のフレームにおける、図に示す加算器の各出力データを要素とするベクトルをＸｎとすると、ベクトルＸｎは以下の式で表される。
Ｘｎ＝（Ｈｎ・Ｄ[f(n-1):f(n-1)+k-1]、Ｈｎ・Ｄ[f(n-1)+1:f(n-1)+k]、… Ｈｎ・Ｄ[fn+j:fn-1+k+j]）
＝（ｘn,0、ｘn,1、…ｘn,f+j-1）
ただし、「・」はベクトルの内積を表すものとする。
【００４４】
ここで、サンプルの順番とデータとの関係について定義する。ｎ番目のフレームにおける、タップ数ｋのＨＲＴＦ係数データｈ0〜ｈk-1を、（ｈn,0、ｈn,1、ｈn,2、…ｈn,k-1）で表すものとし、各係数データを要素とする係数ベクトルをＨｎで表すものとすると、係数ベクトルＨｎは次の式で与えられるものとする。
Ｈｎ＝（ｈn,0、ｈn,1、ｈn,2、…ｈn,k-1）
【００４５】
また、連続するサンプルの波形データを要素とするベクトルＤを次式で定義するものとする。ただし、ｄ0、ｄ1、ｄ2、…ｄmは、各サンプルにおける波形データである。
Ｄ＝（ｄ0、ｄ1、ｄ2、…ｄm）
【００４６】
また、ａ番目の波形データｄaのみを要素とするベクトルをＤ[a]で表すものとし、ａ番目からｂ番目までの波形データｄa〜ｄbを要素とするベクトルをＤ[a:b]で表すものとすると、Ｄ[a]とＤ[a:b]は、以下に示す式で与えられるものとする。
Ｄ[a]＝ｄaＤ[a:b]＝（ｄa、ｄa+1、…ｄb）
【００４７】
以上の定義を用いて、ベクトルＸｎを具体的に考察する。まず、図５（ｂ）に示す転送データが、ｈn,0から順に単純ＦＩＲフィルタ３に供給されると、ＨＲＴＦ係数データｈn,0、ｈn,1、…ｈn,k-1が、図４に示す乗算器３２0〜３２k-1に順にセットされる。この後、ｋ個の波形データｄf(n-1)〜ｄf(n-1)+k-1とＨＲＴＦ係数データｈn,0、ｈn,1、…ｈn,k-1との間で、内積が演算され出力データｘn,0が生成される。したがって、ｘn,0は、次式で与えられる。
ｘn,0=ｈn,0 ｄf(n-1)＋ｈn,1 ｄf(n-1)+1＋…＋ｈn,k-1ｄf(n-1)+k-1
【００４８】
そして、次のサンプル周期においては、波形データを１サンプルずらして、演算が行われ、次式で示される出力データｘn,1が生成される。
ｘn,1=ｈn,0 ｄf(n-1)+1＋ｈn,1 ｄf(n-1)+2＋…＋ｈn,k-1ｄf(n-1)+k以下、同様に波形データを順にずらしながら演算することによって、加算器３３から出力データｘn,0〜ｘn,f+j-1が出力される。
【００４９】
次に、ディジタルフィルタ計算機３のクロスフェード処理部３４で行われるクロスフェード処理について説明する。図６は、クロスフェード処理を説明するための概念図である。上述した第ｎフレームの出力データｘn,0〜ｘn,f+j-1と、第ｎ＋１フレームの出力データｘn+1,0〜ｘn+1,f+j-1とは、図６に示すように波形データｄf(n-1)〜ｄf(n+1)-1+k+jに基づいて生成される。この図から判るように、波形データｄfn〜ｄfn-1+k+jは、第ｎフレームと第ｎ＋１フレームに重複して使用される。この結果、ｊ個の出力データｘn,f〜ｘn,f+j-1と出力データｘn+1,0〜ｘn+1,j-1とが、異なるＨＲＴＦ係数データに従ってオーバーラップして生成される。
【００５０】
これらの出力データｘn,f〜ｘn,f+j-1と出力データｘn+1,0〜ｘn+1,j-1とに基づいて、第ｎフレームと第ｎ＋１フレームとの間のクロスフェード処理が行われる。ここで、第ｎ＋１フレームにおけるクロスフェード処理部３４の出力データを要素とするベクトルをＹｎとすると、Ｙｎ+1は、以下の式で与えられる。
Ｙｎ+1＝（（１−ａβ）Ｘｎ[f+a-1]＋aβＸｎ+1[a-1]、Ｘｎ+1[j:f]）
ただし、β＝１／ｊである。また、ａはオバーラップするデータの順番を表しており、ｊ以下の自然数である。
【００５１】
例えば、ｊ＝４、ｆ＝２５６であるとすれば、第ｎ＋１フレームのオーバーラップ部分に対応する出力データｙn+1,0〜出力データｙn+1,j-1は、図６に示すように以下の式で表すことができる。
第１番目（ａ＝１）；ｙn+1,0＝０．８ｘn,256＋０．２ｘn+1,0 第２番目（ａ＝２）；ｙn+1,1＝０．６ｘn,257＋０．４ｘn+1,1 第３番目（ａ＝３）；ｙn+1,2＝０．４ｘn,258＋０．６ｘn+1,2 第４番目（ａ＝４）；ｙn+1,4＝０．２ｘn,259＋０．８ｘn+1,3
【００５２】
すなわち、オバーラップ部分のデータの順番が進むにつれて、第ｎフレームの出力データの影響が少なくなり、逆に、第ｎ＋１フレームの出力データの影響が大きくなる。これにより、音源が高速に移動した場合であっても、聴感上、音源が自然に移動したように感じられるようにすることができる。なお、クロスフェード処理のためにオーバーラップして生成されるデータのうち、先行フレームのオーバーラップ分データ（例えば第ｎフレームのｊ個の前記フィルタ出力データｘn,f〜ｘn,f+j-1）は、次フレーム期間において行なうクロスフェード演算で利用できるようにするため、適宜バッファ記憶しておくものとする。そのためのバッファ記憶領域を、クロスフェード処理部３４の内部に有していてもよいし、（「チャンネル数×ｊ」のバッファ領域があればよい）、あるいは、バス２を介してメインメモリＭに一旦転送してメインメモリＭ内でバッファ記憶しておき、次フレーム期間で他のデータと共にフィルタ計算機３の側へバースト転送するようにしてもよい。すなわち、第ｎフレームのときに求めたクロスフェード処理用（つまりオーバーラップ分）のフィルタ出力データｘn，f〜ｘn,f+j-1は、次の第ｎ＋１フレームまで適切にバッファ記憶され、該第ｎ＋１フレームの先頭のｊ個のフィルタ出力データｘn+1，0〜ｘn+1,j-1とクロスフェード合成される。このクロスフェード結果が第ｎ＋１フレームの先頭のｊ個分のフィルタ処理済み（及びクロスフェード処理済み）出力データとなり、それに後続するｆ−ｊ個のフィルタ出力データｘn+1,j〜ｘn+1,f-1と共に、当該第ｎ＋１フレームについての合計ｆ個のフィルタ処理済み（及びクロスフェード処理済み）出力データとして、出力バッファ３０６（又は３０７）に送られ、ｆ個の各アドレス場所に足し込まれる。
【００５３】
以上、説明したように本実施形態によれば、波形データＷを所定のサンプル数に分割したフレーム単位で、フィルタ処理を行うために、フィルタのタップ数Ｋ以上の波形データを次のフレームで再送するようにしたので、バス２を介してディジタルフィルタ計算機３にデータをバースト転送するにも拘わらず、連続した波形データに対してフィルタ処理を行うことができる。
【００５４】
また、ドライバ側で波形データＷとＨＲＴＦ係数データｈを記憶保持しておき、これを小分けして必要に応じて各フレーム毎にバス２を介して転送するようにしたので、ディジタルフィルタ計算機３側において、すべての波形データＷと時変動するすべてのＨＲＴＦ係数データｈを保持するメモリを予め具備しておく必要がない。さらに、ディジタルフィルタ計算機３側では、フィルタ処理に伴う、積和算を所定のタイミングで実行する通常のフィルタ処理だけを行なえばよいので、音像定位制御用の座標命令を解釈して実行する制御手段を特別に設ける必要がない。このため、例えば、ディジタルフィルタ計算機３を音源装置として、コンピュータの拡張用ボードに収納する場合には、この音源装置つまり拡張用ボードの構成を簡素化し、製造コストを大幅に低減することができる。
【００５５】
また、上述した実施形態にあっては、波形データＷとＨＲＴＦ係数データｈをフレーム周期毎にバースト転送し、同一フレーム内は、同一のＨＲＴＦ係数データｈを用いてＦＩＲフィルタ処理を行った。この場合、ＨＲＴＦ係数データｈはバースト転送周期で更新されることになるので、理論上、音源はバースト転送周期で不連続に移動したことになる。しかし、人の耳では、音源がある程度の速度で不連続に移動しても、連続して移動したように検知される。したがって、上述したようにバースト転送周期（フレーム周期）を、音源が通常の速度で移動した場合に、連続して移動したように感じられるように短い周期に設定することにより、違和感のない音像定位を得ることができる。
【００５６】
さらに、上述した実施形態にあっては、バースト転送において、１フレーム分の波形データ（ｆ個）およびＦＩＲフィルタ処理のための再送用の波形データ（ｋ個）に加えて、オバーラップ処理用の波形データ（ｊ個）をバースト転送するようにしたので、ｊ個の波形データについては、隣接するフレームにおいて異なるＨＲＴＦ係数データを用いたＦＩＲフィルタ処理が行われる。そして、フィルタ処理済のデータにクロスフェードを施すようにしたので、人の耳では音源がより連続して移動したように感じられる。これにより、音源が高速で移動した場合であっても、連続して移動したように感じさせることができる。
【００５７】
以上、本発明に係わる実施形態を説明したが、本発明は上述した実施形態に限定されるものではなく、以下に述べる各種の変形が可能である。上述した実施形態では、ＨＲＴＦ係数データｈをフレーム単位でバースト転送するようにして、単純ＦＩＲフィルタ計算機３におけるＨＲＴＦ係数データｈの更新を、フレーム周期で行うようにした。この場合、あるフレームにおけるＨＲＴＦ係数データｈは、当該フレーム期間中のいずれかのタイミングで生成されたものであれば、当該フレームの代表値として取り扱うことができる。
【００５８】
ところで、ＨＲＴＦ係数データｈは、音源の座標Ｐに基づいて生成されるものであるから、正確には各サンプルタイミング毎に変化している。ここで、フレーム期間の中央付近のタイミングで、当該フレームを代表するＨＲＴＦ係数データｈを生成すると、誤差を最小にすることができ、音源が高速で移動した場合にも、聴感上、音源の移動がより連続的であると感じさせることができる。したがって、ＨＲＴＦ係数データｈは、フレーム期間中央付近における音源の座標Ｐに基づいて生成されたものであることが望ましい。
【００５９】
また、上述した実施形態では、連続した波形データＷに対して音像定位の処理を間歇的に行なうために、ＦＩＲフィルタのタップ数（つまり１組の係数の数）ｋに相当するサンプル数の波形データを再送するようにしているが、本発明はこれに限定されるものではない。すなわち、本発明は、一般的なディジタルフィルタにおける新規な間歇的フィルタ処理方式を提案するものである。従って、ディジタルフィルタの使用目的や、処理対象とするディジタルデータの種類を問わず、本発明を適用することができる。また、この場合、フィルタ係数を時変動させずに固定してもよい。そのような場合は、フィルタ係数をバス２を介してバースト転送せずに、ディジタル計算機３の側で予め記憶保持させておくようにしてもよい。また、ＦＩＲフィルタに限らず、ＩＩＲ（無限インパルス応答）フィルタにおいても本発明を適用してもよい。
【００６０】
要は、入力データをｆサンプル毎のフレームに分割し、この入力データをｋタップの（つまり、ｋ個の係数を使用する）フィルタに転送して、間歇的にＦＩＲフィルタ処理を行う場合に、一のフレーム期間中に入力データをｆ＋ｎサンプルだけフィルタに転送し、次のフレーム期間中に一のフレームにおいて転送したｆ＋ｎサンプルの入力データのうち、後半のｎサンプルの入力データが重なるようにｎ＋ｆ個の入力データをフィルタに転送し、ｎ≧ｋとなるように設定すればよい。この場合には、フィルタへ、そのタップ数ｋ以上の入力データ（ｎ個）が再送されることになるので、処理を連続したものにすることができる。
【００６１】
また、上述した実施形態においては、クロスフェード処理部３４において、クロスフェード処理を行ったが、この処理は必要に応じて適宜省略してもよい。あるいは、フィルタ演算部３０５の内部にクロスフェード処理部３４を設けずに、外部に、つまり、出力バッファ出力側にクロスフェード合成処理部（補間部）を設けるようにしてもよい。その場合は、所定のサンプリング周期に同期したタイミングでクロスフェード（補間）演算が行なわれることになる。
【００６２】
また、上述した実施形態において、フィルタの処理単位であるフレーム期間は、一定のものとして取り扱ったが、これを可変するようにしてもよい。例えば、同時に処理する音数が４個の場合には、１フレームを２５６サンプルで構成し、同時に処理する音数が２個の場合には、１フレームを１２８サンプルで構成するといったように、音数に応じて、フレームを構成するサンプル数を可変してもよい。この場合には、音数が少なくなると、バースト転送周期が短くなるので、ＨＲＴＦ係数データｈの更新間隔を短くすることができ、音像定位の方向精度を向上させることができる。また、上記実施例では、１フレーム分のデータを１回のバースト転送で送信するようにしているが、１回に限らず、１フレーム分のデータを数回に小分けして、それぞれ一括転送するようにしてもよい。また、上記実施例では、出力バッファ３０６〜３０９は、複数チャンネルについてのフィルタ処理済みデータをサンプリング毎に累算してバッファ記憶する構成であるが、これに限らず、各チャンネル別に出力バッファを設け、累算処理を伴わずに、単純に１チャンネルのフィルタ処理済みデータをバッファ記憶するようにしてもよい。また、ディジタルフィルタ計算機３の出力バッファ３０６〜３０９からのデータの読み出しは、必ずしも、所定のサンプリング周期に同期して行なわなくてもよい。例えば、ディジタルフィルタ計算機３の出力バッファ３０６〜３０９からフィルタ処理済みのデータを高速読み出しして、別途出力装置または利用装置に転送し、これらの出力装置または利用装置の側で、最終的に所定のサンプリング周期に同期してデータが出力されるようになっていてもよい。
【００６３】
また、上述した実施形態において、ディジタルフィルタ計算機３のタップ数（つまり、１組の係数の数）ｋは固定のものとして説明したが、これを可変するようにしてもよい。例えば、音数が４音の場合には、上述したようにタップ数ｋを９０に設定し、音数が１４音の場合には、タップ数を２５に設定するといったように、音数に応じて、タップ数ｋを可変してもよい。この場合には、音数が少なくなると、ＦＩＲフィルタのタップ数ｋが増加するため、頭部伝達関数ＨＲＴＦをより忠実に再現するフィルタを構成することができる。一方、音数が多くなった場合には、転送するデータ数を減らすことができるので、１音当たりのバス２の占有時間を減少させて、バス２の奪い合いを回避することができる。
【図面の簡単な説明】
【００６４】
【図１】本発明に係わる音像定位装置の一実施形態である３Ｄサウンドポジショニングシステムのブロック図である。
【図２】同実施形態に係わる波形データの一例を示す図である。
【図３】同実施形態に係わるディジタルフィルタ計算機の機能ブロック図である。
【図４】同実施形態に係わるフィルタ演算部が実行するフィルタ演算アルゴリズムの典型例を示す機能ブロック図である。
【図５】同実施形態において、１音の処理に対応するバースト転送の様子を示した図である。
【図６】同実施形態に係わるクロスフェード処理を説明するための概念図である。
【図７】一般的な３Ｄサウンドポジショニングシステムの機能ブロック図である。
【図８】図７に示すＦＩＲフィルタＦ１のブロック図である。
【符号の説明】
【００６５】
１…ＣＰＵ（制御部）、２…バス、３…ディジタルフィルタ計算機（演算部）、３４…クロスフェード処理部、Ｗ…波形データ（入力データ）、Ｍ１…波形バッファメモリ（第１の記憶部）、Ｍ２…ＨＲＴＦ係数データメモリ（第２の記憶部）、ｈ…ＨＲＴＦ係数データ（係数データ）、Ｐ…座標命令（位置情報）。
【図１】
2007295591.tif 000003
【図２】
2007295591.tif 000004
【図３】
2007295591.tif 000005
【図４】
2007295591.tif 000006
【図５】
2007295591.tif 000007
【図６】
2007295591.tif 000008
【図７】
2007295591.tif 000009
【図８】
2007295591.tif 000010