松永 純平 氏, 東北大学
個々人のHRTFを同時に再現して実際に多数のマイクロホンを用いて収音し、実時間で信号処理を行ったものを聴取者に提示するシステムを構築することを考えた。その為に252個のマイクロホンに入力される信号を同時収音し、データ整形する。また全チャネルにおいて、信号を512点で切り出した後に高速でFFT処理する。そして全チャネルにおいて、周波数ごとにHRTFを模した重み係数を乗算することが必要となった。
システムの構築時には、球状アレイと制御用PCを用いSENZI[1、2]アルゴリズムの実装を行った。制御用PCは、シャーシ(PXIe-1071、NI)、コントローラ(PXIe-8133、NI)、FPGAボード(PXIe-7965R、NI)から構成される。各仕様を表1に示す。ここでは、252 chを実時間で動作させるためにFPGAボードを3枚用意し、各ボードに役割を分担させて処理している。
遠隔地の音空間情報を時空間を超えて精度高く伝送し、複数の聴取者に同時に臨場感高く提示することが可能なシステムに対する要求が高まっている。単純に、1つのマイクロホンを用いて収音し、1つのスピーカを用いて再生するだけでは、受音位置周辺でどのような音が鳴っているのかを知覚することはできても、まるでその場にいるかのような臨場感が得られないばかりか、その音源の方向や距離といった情報すら伝達することができない。したがって、複数ある音源を方向を含めて正確に収音・再生することが必要となる。
人間は左右の耳を用いて、音源の方向や距離、部屋の大きさといった空間的な情報を得ることができる。これは、左右の耳への入力差や、壁、頭部、耳介などにおける音波の反射・回折による周波数スペクトルの変化を経験的に処理判断しているためである。これらの情報を内包するものとして、頭部伝達関数(head-related transfer function:HRTF)がある。HRTFとは、ある特定の位置に音源がある場合の外耳道入口付近における音圧と、聴取者がいない場合において全く同じ位置に全く同じ音源があるときの聴取者の頭部中心へ相当する位置における音圧とを関連付ける伝達関数のことである。つまり、HRTFは音源位置が特定されれば、そこから伝達される音情報を音源方向も含めて再現することができる。このHRTFを適切に利用することで、音源の情報を音源方向を含めて正確に提示可能な、高臨場感音情報収音再生が可能になるであろうと期待できる。
HRTFは聴取者個人の頭の形状によって異なるものであることから、複数の聴取者に同時に音を提示するためには、個々人のHRTFを同時に再現する必要がある。
また、聴取者は音を聴取している際は、必ずしも静止しているとは限らない。頭部を回転させたり、うなずいたりといったように、絶えず運動しており、このような動的な営みからも音空間情報を得ていると考えられる。また、頭部が運動することにより、聴取者と音源との相対的な位置関係が変化することから、HRTFもそれに応じて変化する。したがって、聴取者の頭部位置を何らかの形で測定し、その動きに応じてHRTFを切り替えて音を提示すれば高精度な音空間情報提示が可能となる。
これらのことを考えると、聴取者の頭部運動に追従し、実時間で各聴取者に適したHRTFを用いて収音・提示することが重要となる。我々はこのようなことを実現するためのアルゴリズムを考え、その実現のため、実際に多数のマイクロホンを用いて収音し、実時間で信号処理を行ったものを聴取者に提示するシステムを構築することを考えた。なお、収音部は球状で、マイクロホンを軸対称となるように配置したアレイとする。これは、頭部運動に応じてマイクロホンを切り替えやすくするためである。
本システムを実現するためには、以下の処理を実時間で行う必要がある。
【ソリューション】
1、システム構成
本システムは、図1に示すように、「収音部」、「信号処理部」、「再生部」から構成される。収音部では、252個のマイクロホンを用いて同時収音し、データ整形した後に信号処理部へ送る。信号処理部では、各聴取者のHRTFと頭部位置センサにより得た情報に基づいて、収音部から送られてきた信号を提示すべき音へ合成する処理を行う。HRTFはあらかじめ聴取者ごとに測定し、数値」計算により取得したものを用いる。再生部では、信号処理された音をヘッドホンによるバイノーラル再生手法で聴取者に提示する。
システムの構築時には、球状アレイと制御用PCを用いSENZI[1、2]アルゴリズムの実装を行った。制御用PCは、シャーシ(PXIe-1071、NI)、コントローラ(PXIe-8133、NI)、FPGAボード(PXIe-7965R、NI)から構成される。各仕様を表1に示す。ここでは、252 chを実時間で動作させるためにFPGAボードを3枚用意し、各ボードに役割を分担させて処理している。
各FPGAボードには、それぞれ図2 ~ 4に示すダイアグラムの機能を実装している。
1枚目のFPGAボードでは、球状アレイから送られてきたディジタル信号を整形する。その際、量子化ビット数は16 bit、サンプリング周波数は48 kHzである。
2枚目のFPGAボードでは、送られてきた信号を50 % オーバーラップさせながら窓関数をかけ、512点でのFFT処理を行う。リソース上、FFT処理器は4ch分しか確保できず、252 ch分のデータを処理するには高速に演算を行う必要がある。
3枚目のFPGAボードでは、各聴取者のHRTFを用いてあらかじめ求めておいた重み係数を読み込み、その重み値と2枚目のFPGAボードから送られてきたデータを周波数領域で乗算し、252 ch分のデータ全てを加算する。そして加算した結果を逆FFTする。重み係数は左右チャネル分あるので、最終的には2ch分のデータが出力されることになる。重み係数を保持するDRAMのサイズは512MBであり、聴取者のある頭部位置における重み係数は1MB程度の情報量であることから、約500セットの重み係数を用意できる。すなわち、頭部位置センサにより得た情報から、500方向のHRTFを実時間で切り替えることが可能である。また、構築したシステムでは頭部位置センサを実装するまでにはいたらなかったが、将来的に組み込むことにより、センサから得られた頭部運動情報を元に最適な重み係数を選択することが可能になる。
2、結果
図5に構築した本システムのLabVIEWフロント画面を示す。両耳にどのような信号が提示されているか観測することができ、常にデータの抜け落ちがないか、使用しているFIFOでのオーバーフローが起きていないかなど、実時間で処理が行われているかを確認できるようにシステムを構築した。また、頭部運動に感応させるため、実行中にも全チャネルの重み値を変更できるように、複数の頭部方向における重み係数をあらかじめDRAMに書き込んでおき、切り替えができるようにした。今後、頭部位置センサにより得た情報を元に最適なものを読み取るように拡張すれば、実時間で聴取者の頭部運動にも十分対応できる
本研究では、実時間動作可能な多チャネルマイクロホンアレイを用いた高精度収音・提示システムというこれまでにない新しいシステムを構築した。今後は実際の音場に設置し、再現される音空間の精度の物理的心理的な評価を進め、その知見を元にシステムの改良を行って、多くの研究に活用していきたい。
参考文献
[1] S. Sakamoto, S. Hongo, R. Kadoi and Y. Suzuki, “SENZI and ASURA:New high-precision sound-space sensing systems based on symmetrically arranged numerous microphones, ”Proc. 2nd International Symposium on Universal Communication (ISUC) pp. 429-434, (2008).
[2] S. Sakamoto, J. Kodama, S. Hongo, T. Okamoto, Y. Iwaya and Y. Suzuki, “A 3D sound-space recording system using spherical microphone array with 252ch microphones, ”Proc. 20th International Congress on Acoustics(ICA), 736, (2010).
本研究の一部は、総務省SCOPE(No. 082102005)及び東北大学電気情報系GCOEプログラム
「情報エレクトロニクスシステム教育研究拠点(CERIES)」の補助による。
松永 純平 氏
東北大学
Japan