2-P-5 反射音のリアルタイム畳込み機能および頭部回転追従機能を 搭載した3次元聴覚ディスプレイの開発* ☆堀越健也(千葉工大院・工学研) ,飯田一博(千葉工大・工) 1 はじめに 音 源 信 号 に 頭 部 伝 達 関 数 (HRTF : HeadRelated Transfer Function)を畳込み,ソフトウ ェア上で音像を制御する聴覚ディスプレイが 開発されてきた.その中には,1 次の反射音 に対応した聴覚ディスプレイ[1, 2]があり,高 次の反射音をリアルタイムに畳込む聴覚ディ スプレイが三橋他[3]によって開発された. 一方,モーションセンサを用いて受聴者の 頭部運動に追従し,音像を制御する動的聴覚 ディスプレイ[4]がある.受聴者の頭部運動に よって,直接音や反射音の入射方向が変化す る度に,入射方向に対応する HRTF を音源信 号にリアルタイムに畳込む必要があるため, 高次の反射音を含む場合,リアルタイムに畳 込むことは難しい. 本稿では,高次の反射音をリアルタイムで 畳込み,頭部回転運動にも追従する機能を開 発し,本研究室で開発している聴覚ディスプ レイ SIRIUS に搭載したので,アルゴリズム について報告する. 2 聴覚ディスプレイ SIRIUS の基本構成 SIRIUS は Windows 7 以降搭載の PC にて 動作する.音源信号に頭部インパルス応答 ( HRIR : Head-Related Impulse Response)をリア ルタイムに畳込み,音像を制御する.音源信 号は WAVE 形式(48000 Hz,16 bit )に対応し, ハードディスク上に HRIR データベース(応答 長 : 512 サンプル、約 11 ms )を持つ.このデ ータベースは,日本人成人 120 耳の上半球正 中面 7 方向(0° ~ 180°,30° 間隔)の HRIR で 構成される.さらに,両耳間時間差(ITD : Interaural Time Difference)と組み合わせること で 3 次元方向に展開し[5],任意の方向への音 像の制御を実現している.また,GUI 上でマ ウスを用いて,音像位置の設定,畳込む HRIR および音源の変更を行うことができる.さら に,ヘッドトラッカ(9 軸モーションセンサ ZMP IMU-Z) , 3D 位 置 セ ン サ (Kinect for Windows)を用いて,受聴者の頭部運動,位置 情報を反映した音像制御が可能である.開発 言語は Visual C++,C#である.Fig. 1 に SIRIUS の処理フローを示す. 開 始 <GUI部> 音源の方向, 距離を設定 <センサ部> センサ制御 姿勢算出 ヘッドトラッカ 3D位置センサ 初期化 GUIの設定と頭部姿勢,頭部位置 から相対的な方向・距離を算出 対応する方向のHRIRを呼び出し ITD付加処理 音源信号との畳込み 信号をバッファに送信,再生 HRIRs 終了操作が された Yes No 終 了 Fig. 1 聴覚ディスプレイ SIRIUS の処理フロー 3 反射音のリアルタイム畳込み 空間において音源から発せられた音響信号 は,壁や天井による反射や,障害物による回 折等の影響を受ける.その特性を表したもの を空間インパルス応答(RIR : Room Impulse Response)という.RIR に左耳および右耳の HRIR を畳込んだ,バイノーラルインパルス 応答(BRIR : Binaural Room Impulse Response) を音源信号に畳込むことで,その空間を再現 することができる. しかし,RIR が長い場合,従来の overlapadd 法では音源信号と BRIR をリアルタイム に畳込むことは難しい. 本機能では三橋他[3]によって開発された, 音源信号と BRIR をフレーム (1 フレーム : 512 サンプル)で分割し,反射音をリアルタイ ムで畳込むアルゴリズムを用いた.その概念 図を Fig. 2 に示す. * Development of three-dimensional auditory display with real-time convolution of reflections and head tracking, by HORIKOSHI, Kenya and IIDA, Kazuhiro (Chiba Institute of Technology). 日本音響学会講演論文集 - 691 - 2015年9月 Sound source 開 始 S1 S2 ・・・ Sn * * * BRIR1 BRIR1 BRIR1 + + 初期化 水平面1°間隔のBRIR 360個を メモリに読込み S1 * BRIR ・・・ BRIR2 <センサ部> センサ制御 Sn * BRIRm-1 + + S1 Sn-1 * ・・・ BRIRm Output1 Output2 ・・・ Outputn ・・・ Sn * * BRIRm BRIRm Outputm+n-2 Outputm+n-1 ヘッドトラッカ 信号をバッファに送信,再生 終了操作が された Yes 水平面 1° 間隔の BRIR の作成 外部ソフトウェア 幾何音響 シミュレーション ODEON 直接音および反射音の情報を テキストファイルから読込む (n : 到来音の総本数) Loop 1 d=0, 359, 1 d:加算する角度 Fig. 4 頭部回転追従の処理フロー 本処理のアルゴリズムは以下の通りである. 1) 4 章にて作成した BRIR(0° ~ 359° , 360 個)をメモリに読み込む 2) センサから頭部姿勢情報を取得し,Yaw を角度(度)に変換する 3) Yaw の角度から対応する BRIR をメモ リから呼び出す 4) 呼び出した BRIR と音源信号を 3 章に て述べた方法にて畳込む 5) 4)の畳込みによって得た信号をバッファ に送信し,再生する 6) 2)~6)をプログラム終了まで繰り返す Loop 2 m=0, n-1, 1 m番の反射音の方位角φ [度] にdを加算 m番の反射音の角度を変換 (球座標系φ,θ → 矢状面座標系α,β) 上昇角βに対応するHRIRを呼び出し HRIRs 1ステップ前で得たHRIRと反射音を畳込む BRIR (L,R) をテキストファイルで出力 両耳間時間差 (ITD) を計算 1ステップ前で得た結果に到達時間 + ITD分 ずらしてBRIR作成用配列に加算 Loop 1 Loop 2 終 了 Fig. 3 水平面 1° 間隔の BRIR 作成処理フロー 本処理のアルゴリズムは以下の通りである. 1) 幾何音響シミュレーション ODEON[6] にて 1/3 オクターブバンドごとに RIR を 計算する 2) 全帯域の RIR を合成する 3) RIR の直接音および反射音の仰角に 対応する HRIR を畳込む 4) RIR の直接音および反射音の方位角から ITD を求め,左耳または右耳の信号を ITD 分遅らせる 5) 左耳および右耳の BRIR として出力する 6) 受聴者を水平面内にて 1° 回転させ, 359° まで 2)~6)を繰り返す 5 頭部回転追従 本機能では頭部運動のうち,Yaw における 頭部回転運動に追従するアルゴリズムを開発 した.処理フローを Fig. 4 に示す. 日本音響学会講演論文集 No 終 了 開 始 RIRs 頭部姿勢情報から Yawを角度 (度) に変換 フレーム分割による 反射音のリアルタイム畳込み 受聴者の頭部回転運動に追従するために, 受聴者を水平面内にて 1° 間隔で回転させた, 0° ~ 359° の BRIR を作成するアルゴリズム を開発した.処理フローを Fig. 3 に示す. 初期化:BRIR作成用配列の確保 頭部姿勢情報を取得 対応する方向のBRIRを呼び出し Fig. 2 反射音のリアルタイム畳込みの概念[3] 4 BRIRs 6 おわりに 本稿では, 反射音をリアルタイムに畳込み, 頭部回転運動にも追従するアルゴリズムを 述べ,聴覚ディスプレイに搭載した. 謝辞 本研究の一部は文科省私立大学戦略的研究 基盤形成支援事業(S1311003)により実施した. 参考文献 [1] J.D.Miller, E.M.Wenzel, ICAD 2001, 2001. [2] 大内他, 日本音響学会誌 62 (3) , 224-232, 2006. [3] 三橋他, 音講論 (秋) , 709 – 710, 2013. [4] J.D.Miller, E.M.Wenzel, ICAD 2002, 2002. [5] Morimoto et al., Acoust. Sci. Tech., 24 (5), 267-275, 2003. [6] ODEON, http://www.odeon.dk/ - 692 - 2015年9月
© Copyright 2024 ExpyDoc