説明

音再生装置および音再生方法

【課題】両耳間到達時間差や振幅差の情報から、到来方向ごとに音を聞き分けること特徴とする人間の聴覚プロセスを利用した音再生装置および音再生方法を実現する。
【解決手段】本発明による音再生装置1は、複数のスピーカ112を備えている。音再生装置1は、さらに、再生音源以外の音源のユーザ聴取位置での音源方向を推定する音源位置推定部303と、推定した音源方向との方向の異なりが最大となる方向に位置するスピーカ112を再生用スピーカとして選択する出力係数決定部306と、を有している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車室内などの雑音環境下で複数台のスピーカの音再生制御を行う音再生装置および音再生方法に関する。
【背景技術】
【0002】
これまで複数のスピーカを用いて、高臨場感で音を再生する技術が広く検討されてきている。一例を挙げると、5.1chサラウンド再生が代表的な技術と言える。また、自動車の車室内のように雑音が大きい環境でも、十分な音量で音声を再生することが可能なように、雑音量をモニタリングして、それに合わせて、再生音量をコントロールするオートボリュームコントロール技術が検討されてきている(例えば、特許文献1参照)。
【0003】
さらに、複数のマイクロホンを用いた複数チャンネルのデジタルフィルタ処理により、所望の目的音以外の音を高精度に抑圧する技術が検討されてきている(例えば、非特許文献1参照)。この技術は、複数チャンネルのデジタルフィルタ処理により、所望の方向の音のみを歪みを生じさせることなく抽出することを目的とするものである。この音源分離技術を応用すれば、雑音量の高精度なモニタリングが可能である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平4−235600号公報
【非特許文献】
【0005】
【非特許文献1】戸上真人,天野明雄“人間共生ロボットEMIEWの騒音下音声認識技術”,計測と制御,Vol.46,No.6,2007年6月
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来のオートボリュームコントロール技術(特許文献1記載)では、ユーザ聴取位置から見た雑音源の方向と再生音をスピーカアレイで再生した際の音像定位方向が重なった場合に、音が聞き取りにくくなるという問題点があった。つまり、人間の聴覚プロセスには、両耳間到達時間差や振幅差の情報から到来方向ごとに音を聞き分ける機能が組み込まれていると考えられている。しかし、音の方向が重なると、そのような機能ではスピーカ再生音を聞き分けることができなくなってしまうためだと考えられる。
【0007】
本発明は、このような問題点に鑑みてなされたものであり、雑音が存在する環境でも、所望音を聞きやすい音で聴取可能にできる音再生装置および音再生方法を提供することを課題とする。
【課題を解決するための手段】
【0008】
前記課題を解決するために、本発明による音再生装置は、例えば、複数のマイクロホンアレイを用いた音源分離処理により、マイクロホンアレイなどから見た相対的な音源方向を推定するとともに、推定した音源方向をユーザ位置から見た音源方向に変換する音源方向変換処理部を有する。そして、音源方向変換処理部などによって変換された雑音のユーザ位置から見た音源方向とスピーカアレイの音像定位方向とが異なるように音像定位方向を制御する出力係数設定部を有する、ことを特徴とする。
【発明の効果】
【0009】
本発明によれば、雑音が存在する環境でも、所望音を聞きやすい音で聴取可能である。
【図面の簡単な説明】
【0010】
【図1】本発明による第1実施形態の音再生装置の適用例を示す説明図である。
【図2】本発明による第1実施形態の音再生装置を示すハードウェア構成図である。
【図3】本発明による第1実施形態のプログラム構成を示すブロック図である。
【図4】音源位置変換処理の幾何学的なイメージを示す説明図である。
【図5】本実施形態で設定した出力係数を出力ソースに重畳して、スピーカから出力する構成を示したブロック図である。
【図6】音源位置変換部の詳細な構成を示すブロック図である。
【図7】図3の出力係数決定部の第1例を詳細に示すブロック図である。
【図8】本発明の第1実施形態で生成されるヒストグラムの一例である。
【図9】推定した雑音の音源位置とユーザ位置及びスピーカ合成波面のユーザ位置から見た定位方向の一例を示す説明図である。
【図10】図3の出力係数決定部の第2例を詳細に示すブロック図である。
【図11】変形例の方向行列計算部を示すブロック図である。
【図12】図3の音源分離部を詳細に示すブロック図である。
【図13】音源分離フィルタの適応処理を示すフローチャートである。
【図14】図3の音源位置推定部を詳細に示すブロック図である。
【図15】図3の音響エコーキャンセラを詳細に示すブロック図である。
【図16】本発明による第1実施形態のソフトウェアブロックとハードウェアとの関連性を示す説明図である。
【図17】本実施形態において音楽などのオーディオ出力音の出力方法を制御する構成を示すブロック図である。
【図18】出力係数決定タイミングを決める処理を示すフローチャートである。
【図19】出力係数設定タイミングとオーディオソース再生タイミングの一例を示したタイミングチャートである。
【図20】本発明による第2実施形態の音再生装置を示すハードウェア構成図である。
【図21】本発明によるユーザ聴取位置での音源位置変換処理を使って、仮想的な音源位置における音場を再現する音場再現システムのソフトウェア構成を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための最良の形態(以下、「実施形態」という)について、添付した各図を参照し、詳細に説明する。
【0012】
図1は、本発明による第1実施形態の音再生装置1の適用例を示す説明図である。
図1を参照し、音再生装置1の概要を説明する。自動車10などの車室11内に複数のマイクロホン102を有するマイクロホンアレイ101を設置する。マイクロホンアレイ101で収録した音から雑音の到来方向を推定する。そして、スピーカ112によって再生される音が、ユーザ聴取位置で、雑音の到来方向と異なる方向に定位されるように、スピーカ112ごとにスピーカ出力係数を設定する。このような構成により、ユーザは、聞きやすい音でスピーカ再生音を聞くことが可能となる。
【0013】
図2は、本発明による第1実施形態の音再生装置1を示すハードウェア構成図である。
マイクロホンアレイ101は、車室11内で音を収録し、収録した音を示すアナログ信号を出力する。
多チャンネルA/D変換機202は、このアナログ信号をマイクロホン102ごとにデジタル信号に変換する。
スピーカアレイ111は、所望の再生音を車室11内に放射する。
【0014】
中央演算装置203は、変換されたデジタル信号に、デジタル信号処理を施す。具体的には、デジタル信号中に含まれる雑音成分を抽出し、雑音到来方向を推定する。そして、その雑音到来方向からスピーカ出力係数を制御する。信号処理プログラムは、不揮発性メモリ205に蓄えられていて、実行時に揮発性メモリ204にロードされ、展開される。またワークメモリなどプログラム実行に必要なメモリ領域は揮発性メモリ204内に確保される。また、マイクロホン102の配置などの情報は不揮発性メモリ205に蓄えられている。
中央演算装置203は、スピーカ出力係数を制御し、生成したデジタル信号(スピーカ出力信号)を出力する。
【0015】
多チャンネルD/A変換機206は、スピーカ出力信号をアナログ信号に変換して、スピーカアレイ111の複数のスピーカ112ごとに出力する。
スピーカ112は、このアナログ信号によって鳴動し、音を空中に放射する。
【0016】
また、座席センサ208によって乗員/同乗者の存在(着席)を検出し、乗員/同乗者の発話の有無にかかわらず、乗員位置/同乗者位置を音源位置またはユーザ聴取位置とみなして、スピーカ出力係数を制御するような構成にしてもよい。具体的には、乗員/同乗者を雑音源とみなして、乗員方向/同乗者方向と異なる方向にスピーカ出力音が定位されるように制御してもよいし、乗員/同乗者を聴取者とみなして、乗員位置/同乗者位置でのスピーカ出力音の定位方向と雑音の到来方向とが異なるようにスピーカ出力音の係数を制御するような構成にしてもよい。後者の構成を採ることで、運転者のみならず他の乗員/同乗者にとっても所望の音を聞きやすい音場を形成することが可能となる。
【0017】
図3は、本発明による第1実施形態のプログラム構成を示すブロック図である。
波形取り込み部301は、多チャンネルA/D変換機202(図2参照)を制御し、デジタル信号を取得する。
音響エコーキャンセラ307は、取得したデジタル信号に含まれるスピーカ出力に起因する成分(音響エコー成分)を除去する。音響エコーキャンセラ307の具体的な構成については後記する。音響エコーキャンセラ307は、マイクロホン素子ごとに動作する。音響エコー消去後の複数チャンネル信号は、音源分離部302に送られる。
【0018】
通常、車室11内には多数の音源が存在する。音源分離部302は、この多数の音源を音源ごとの信号に分離する。音源の分離は、音響エコーキャンセラ307の出力信号を一定時間分取得するたびに行う。分離したそれぞれの信号は、音源ごとに音源位置推定部303に送られて、それぞれの音源位置が推定される。推定した音源位置は、マイクロホンアレイ101の位置と音源位置の相対位置となる。本実施形態では、ユーザ聴取位置から音源までの相対位置が必要となるため、音源位置変換部304では、事前のユーザ聴取位置情報から、ユーザ聴取位置(ユーザ位置)から見た音源位置を算出する。
【0019】
図4は、音源位置変換処理の幾何学的なイメージを示す説明図である。
具体的には、図4に示すように、ユーザ位置とマイクロホンアレイ101(図1参照)の位置から求めることができるユーザ位置ベクトルV1をマイクロホンアレイ101から見た音源の推定音源位置ベクトルV2に足し合わせることで、ユーザ位置から見た変換後音源位置ベクトルV3を取得することが可能となる。なお、マイクロホンアレイ101の設置位置は固定位置とする。この場合、ユーザ位置ベクトルV1は、ユーザ位置が分かれば決まる。ユーザ位置は、「運転席12」にプリセットしてもよいし、座席センサ208(図2参照)が検知した乗員位置/同乗者位置の情報から決めてもよい。
【0020】
図3に戻り、ヒストグラム更新部305は、変換した音源位置の情報から、雑音の到来方向のヒストグラムP(θ)を生成する。ここで、θは、音源方位角とする。ヒストグラムは、P(θ,φ)といった形で、方位角θと仰角φの二次元ヒストグラムを生成してもよい。ここでi番目の分離信号の音源方向を方位角θi,仰角φiとする。雑音の到来があるごとに、到来した雑音のθi、φiに相当するヒストグラムP(θii)に値 1を加算する。また、i番目の分離信号の平均パワーもしくはパワーの関数をP(θii)に加えるような構成を採ってもよい。また、ヒストグラムは音源分離部302で一度処理するたびに初期化してもよいし(すなわち、P(θ,φ)=0(すべてのθ、φに対して)としてもよいし)、音源分離を一度行うたびに、P(θ,φ)←αP(θ,φ)(αは0以上1以下の定数)といったように忘却係数αを乗算することで、過去の情報をゆっくりと忘れる構成としてもよい。
【0021】
出力係数決定部306は、得られたヒストグラムP(θ,φ)の情報からスピーカ出力係数を決定する。ヒストグラムの値が大きいほど、雑音が大きい方向と考えられる。スピーカ出力係数は、得られたヒストグラムP(θ,φ)の値が大きい方向との方向の異なりが大きい方向にスピーカ出力音が定位されるように制御する。つまり、ヒストグラムP(θ,φ)の値が大きい方向とは、雑音が聞こえる頻度が大きく、雑音が大きいと見なせる方向であるから、本実施形態では、この雑音が大きいと見なせる方向を避けて、雑音が聞こえる方向とは異なる方向(典型的には、反対方向)から所望の音が聞こえるように、スピーカ出力音が定位するようにする。
【0022】
図5は、本実施形態で設定した出力係数を出力ソースに重畳して、スピーカ112から出力する構成を示したブロック図である。
本実施形態で設定された出力係数記憶部401は、不揮発性メモリ205または揮発性メモリ204上に確保される。出力ソース取得部403は、オーディオやハンズフリー通話の出力音などの原信号を取得する。そして、スピーカ出力部402は、出力するスピーカ112ごとに、出力係数記憶部401に蓄えられている出力係数を重畳して、出力を行う。出力係数は、単なる音量値でもよいし、FIR(Finite Impulse Response)フィルタまたは、短時間フーリエ変換により時間周波数領域に変換した後、周波数ごとに出力係数を設定し、時間周波数領域に戻して出力するような構成を採ってもよい。
【0023】
図6は、図3の音源位置変換部304の詳細な構成を示すブロック図である。
音源位置推定部303が推定した各音源のマイクロホンアレイ101の位置からみた相対的な音源位置P=(x,y,z)T(肩字のTは、ベクトル・行列の転置であることを示す。)が、音源位置変換部304へ入力となる。
マイク位置データベース504には、マイクロホンアレイ101の車室11内における空間的位置p2(x2,y2,z2)Tが記載されているものとする。ユーザ位置抽出部502は、車室11内におけるユーザ聴取位置の空間的位置pu=(xu,yu,zu)Tを取得する。座席センサ208などにより検出した乗員/同乗者の位置からユーザ聴取位置を決めてもよいし、予めユーザ聴取位置を運転席12(図1参照)に固定するなどしてプリセットしておいてもよい。変換ベクトル生成部503では、ユーザ聴取位置puとマイクロホンアレイ101の空間的位置p2の差b=p2−puを計算する。変換ベクトル加算部505では推定したマイクロホンアレイ位置での音源位置Pにbを加算したP´=P+bを得る。P´は、ユーザ聴取位置から見た音源の相対的な位置となる。
【0024】
このように(図4参照)、簡単なベクトル計算によってユーザ聴取位置での音源位置を知ることができる。音源位置変換処理は、音源分離処理を1度実行するごとに、音源分離部302が分離して出力する音源ごとに1回ずつ行ってもよいし、音源分離部302が、音源または周波数ごとに音を分離する場合、音源分離処理を1回行うごとに、音源または周波数ごとに1回ずつ音源位置変換処理を行うようにしてもよい。
【0025】
図7は、図3の出力係数決定部306の第1例を詳細に示すブロック図である。
出力係数決定部306は、音源位置変換部304(図3参照)により変換した音源ごとかつ周波数ごとの音源位置から、音源の相対的な方位角θまたは仰角値φを取り出す。これは音源位置(x,y,z)を極座標(rcosθcosφ,rsinθcosφ,sinφ)と見立てて、推定することができる。通常、車室11内では音源はすべて同一水平面上に存在すると仮定しても実用上問題がないと考えられるため、φ=0としてもよい。
【0026】
方向行列計算部602は、抽出した音源ごとかつ周波数ごとの音源方向(θ)または(θ,φ)から、前記した方法で、音源方向ごとの頻度を示すヒストグラムP(θ)またはヒストグラムP(θ,φ)を生成する。
【0027】
図8は、本発明の第1実施形態で生成されるヒストグラムP(θ)の一例である。
音源方向θごとに、音源の頻度PがヒストグラムP(θ)上に得られる。
【0028】
ここで、以後の説明で用いるステアリングベクトルを定義する。音源位置pに存在する周波数fの音が各マイクロホン102に到達するまでの位相の遅延量を要素に持つベクトルap(f)を、次の式(1)で定義する。
【0029】
【数1】

【0030】
ここで、jは虚数単位を表すものとする。ここで、Mはマイクロホン102の数とする。
【0031】
人間の両耳を2つのマイクロホン102と見立てると、音源位置pから両耳に音が届くまでの位相の遅延量もap(f)で表すことができる。本実施形態においては、ap(f)のマイクロホン102間で共通の遅延量は特に意味をもたないため、ap(f)は必ずしも、音源位置からの遅延量として定義する必要はなく、基準のマイクロホン102からの遅延量として定義してもよい。本実施形態では、1番目のマイクロホン102を基準のマイクロホン102として遅延量Tp,m(f)を次の式(2)で定義する。tm(p)は音源位置pの音がm番目のマイクロホン102まで届くまでの時間とする。
【0032】
【数2】

【0033】
人間の両耳のようにマイクロホン102が直線上に並んでいると仮定し、音源位置pがマイクロホン間隔に対して十分遠い距離に存在すると仮定すると、Tp,m(f)は、次の式(3)で近似することができる。
【0034】
【数3】

【0035】
ここで、dmはm番目のマイクロホン102と1番目のマイクロホン102の間の距離とする。cは音速であり、常温で340[m/s]程度となるため、通常この値に設定する。θは、マイクロホンアレイ101を構成する直線に対して直交する平面に対して、マイクロホンアレイ101と音源位置pを結んだ直線が成す角とする。これをマイクロホンアレイ101の位置から見た相対的な方位角とする。マイクロホンアレイ101が直線配置以外の場合は、Tp,m(f)はより複雑な形となるが、いずれにせよマイクロホンアレイ101の幾何学配置が既知であれば、単純な幾何学計算により求めることができる。本実施形態では、マイクロホンアレイ101の幾何学配置はあらかじめ不揮発性メモリ205(図2参照)に記憶されているとし、その情報を利用してステアリングベクトルを生成するものとする。
【0036】
図7に戻り、方向行列計算部602は、ヒストグラムP(θ)またはヒストグラムP(θ,φ)を使って次の式(4)で定義されるマイクロホンアレイ101の位置での雑音共分散行列推定値Rn(f)を計算する。
【0037】
【数4】

【0038】
ここでJはヒストグラムの分割数とする。Jは各分割された格子として、θjは格子jの方位角、φjは格子jの仰角とする。nj(f)は格子jの位置に音源が存在すると仮定した時のユーザ聴取位置から見たステアリングベクトルとする。つまりRn(f)はヒストグラムの頻度が大きいところの影響が大きくなるように設定した行列となる。
【0039】
さらにH(f)を次の式(5)で定義する。
【0040】
【数5】

【0041】
ここで、Lはスピーカ素子数とする。hi(f)はi番目のスピーカ位置に音源があると仮定した時のユーザ聴取位置から見たステアリングベクトルとする。
【0042】
H(f)とRn(f)を用いて、行列A(f)を、次の式(6)で求める。
【0043】
【数6】

【0044】
ユーザ聴取位置が複数存在する場合は、次の式(7)のようにユーザ聴取位置ごとに雑音共分散行列Ri,n(f)と、スピーカ112のステアリングベクトルからなる行列Hi(f)を用いてA(f)を構成してもよい。
【0045】
【数7】

【0046】
A(f)をこのような構成にすることで、複数の聴取位置で聞き取りやすいスピーカ出力音を得ることができる。
【0047】
固有値・ベクトル計算部603では、A(f)の最小固有値を与える固有ベクトルS(f)を求める。S(f)はスピーカ素子数分の要素数を持つ。ここで、S(f)の各要素を各スピーカ素子の伝達関数に重畳して、すべてのスピーカ112から同時に音を放射した場合、放射音の合成波面のステアリングベクトルはH(f)S(f)となる。H(f)S(f)は雑音のステアリングベクトルとの異なりが最大となるステアリングベクトルになる。
【0048】
最小コスト係数算出部604は、求めた周波数ごとのスピーカ出力係数S(f)をスピーカ(素子)112ごとに逆フーリエ変換して時間領域のスピーカ出力係数S(t)を求める。S(t)はFIRフィルタとみなせるため、S(t)をスピーカ112から出力する時間領域の音に畳みこむことで周波数ごとのステアリングベクトルがH(f)S(f)となる合成波面を得ることができる。またS(f)を得るために、次の式(8)で定義される雑音のステアリングベクトルとの異なりが最大となる音源位置pminを得た後、その次の式(9)でS(f)を求めてもよい。
【0049】
【数8】

【0050】
【数9】

【0051】
このようにして求めた合成波面のステアリングベクトルH(f)S(f)は定義される音源位置pminのステアリングベクトルと完全に一致するとともに、出力係数S(f)が最小となるようなものとなる。
【0052】
図9は、推定した雑音の音源位置とユーザ位置及びユーザ位置から見たスピーカ合成波面の定位方向の一例を示す説明図である。
本発明では、このように合成波面の方向を雑音の音源位置との異なりが大きい方向に設定することが可能となる。
【0053】
図10は、出力係数決定部306の第2例を詳細に示すブロック図である。
この出力係数決定部306は、複数のスピーカ112の中から雑音とのステアリングベクトルの違いが最も大きいスピーカ(素子)112を選択する構成を有している。
【0054】
この第2例の方向行列計算部702は、図7に示す第1例の方向行列計算部602と同様に、Rn(f)を計算する。
スピーカ内積計算部703は、次の式(10)で定義される各スピーカ(素子)112のステアリングベクトルとRn(f)との内積計算を行う。
【0055】
【数10】

【0056】
最小コスト係数算出部704は、次の式(11)により内積値が最小となるスピーカ(素子)112を選択する。
【0057】
【数11】

【0058】
図11は、変形例の方向行列計算部801を示すブロック図である。
この方向行列計算部801は、図10に示す方向行列計算部702に、同乗者位置推定部802および既知雑音位置803が付加された構成である。したがって、この方向行列計算部801は、音源分離により検出した音源の情報のみから雑音共分散行列Rn(f)を生成するのではなく、同乗者位置推定部802からの乗員/同乗者の情報やワイパー音、エンジン音など予め既知の音源の情報を表す既知雑音位置803も用いてRn(f)を生成する構成を有している。
【0059】
同乗者位置推定部802は、座席センサ208(図2参照)の情報から乗員/同乗者が座っている位置を検出し、その位置を仮想的な雑音音源位置とみなして、雑音の方向ヒストグラムP(θ)に追加する。追加する頻度値はあらかじめ定めた値を入力する。既知雑音位置803はワイパー音やエンジン音などの既知の音源位置をプリセットしておいたものを読み出し、雑音の方向ヒストグラムP(θ)に追加する。方向行列計算部801では、ユーザ聴取位置への変換後の雑音の音源位置と乗員位置/同乗者位置及び既知雑音位置の情報から作られた雑音の方向ヒストグラムP(θ)から雑音の共分散行列Rn(f)を生成し、Rn(f)を出力する。
【0060】
図12は、図3の音源分離部302を詳細に示すブロック図である。
各マイクロホン(素子)102で受音したデジタル音圧波形は、バッファリング部901に送られる。
バッファリング部901は、マイクロホン(素子)102ごとに例えば数秒間データが溜められ、データが溜まる度に後段処理にデータを出力する。
短時間周波数変換部902は、バッファリング部901の出力信号を例えば数十[ms]ごとに処理する。処理の単位をフレームと呼び、1フレームで処理するマイクロホン(素子)102ごとのポイント数をフレームサイズLframeと呼ぶ。1フレームごとに処理を開始する位置をフレームシフトLshift分ずつずらす。つまりτ番目のフレームで処理するデータはτ*Lshiftポイントからτ*Lshift+Lframeである。フレームごとにデータを短時間フーリエ変換により周波数領域に変換する。m番目のマイクロホン素子について、フレームτでの周波数f成分をxm(f,τ)と表記する。短時間フーリエ変換に先立って、直流成分カット、窓関数重畳などの処理を波形(信号)に施してもよい。窓関数としてはハミング窓やハニング窓、ブラックマン窓などが適用可能である。
【0061】
フィルタ適応部903では音源分離に必要なフィルタを周波数fごとに適応処理する。
フィルタリング部904では、フィルタ適応部903で適応した音源分離フィルタを使って、フレームごと、周波数ごとに音を音源ごとに分離する。ここで、ベクトルX(f,τ)を[x1(f,τ),x2(f,τ),…,xM(f,τ)]Tで定義する。つまり、X(f,τ)は、フレームτ、周波数fのすべてのマイクロホン(素子)102の信号を要素に持つベクトルとなる。X(f,τ)から音源分離フィルタWを使って、次の式(12)で分離信号を得る。
【0062】
【数12】

【0063】
ここでベクトルy(f,τ)の各要素は、各分離信号の時間τ、周波数f成分に相当する。フィルタリング部904が出力する分離信号は、パワー正規化部905で、時間τ、周波数fごとに、
norm(f,τ)←y(f,τ)/|y(f,τ)|
で正規化される。つまりynorm(f,τ)のパワーは0から1までの値をとる。棄却判定部906では、正規化したパワーのフレーム平均値が閾値より小さい音源・周波数成分については、背景雑音成分と見直して音源分離結果から外し、閾値以上の成分についてのみ音源・周波数成分を出力する。出力の際、音源ごとに短時間フーリエ逆変換をかけて、時間領域の波形に戻した後、出力してもよい。
【0064】
図13は、音源分離フィルタWの適応処理を示すフローチャートである。
音源分離フィルタWの値が十分収束したかどうかを判定する(収束判定;ステップS1001)。フィルタ更新回数が所定回数に達した場合収束したと判定してもよいし、後述する非線形共分散行列の非対角項のパワーが対角項のパワーに対してあらかじめ定める値以下になった場合に収束したと判定してもよい。
【0065】
収束したと判定されれば(ステップS1001のYes)、処理を終了し、音源分離フィルタWを出力する。
収束したと判定されなければ(ステップS1001のNo)、次のステップへ進む。
【0066】
処理開始位置をバッファリング部901が取り込んだ波形の先頭にセットする。また後記するR(f)を0クリアする(初期化;ステップS1002)。
【0067】
処理開始位置がバッファリング部901が取り込んだ波形の終了位置以下かどうかを判定する(i≦length?判定、ステップS1003)。
【0068】
処理開始位置が波形の終了位置に達していない場合(ステップS1003のNo)、フレームごと、周波数ごとのX(f,τ)をフィルタリング処理して、音源分離音y(f,τ)を得る(フィルタリング;ステップS1004)。
【0069】
ここで、得た音源分離音は、適応中の音源分離フィルタにより分離した波形であるため、分離が不十分であると考えられる。そこで、R(f)を、次の式(13)で更新する(共分散更新;ステップS1005)。
【0070】
【数13】

【0071】
ここでφ(x)は音源の確率分布の微分関数に相当する関数であり、次の式(14)で定義する。
【0072】
【数14】

【0073】
R(f)は非線形共分散行列と呼び、この非対角項が0に近づくほど、分離した各音源が独立になっていることを意味する。対角項は各音源の大きさに相当する。したがって、非対角項と対角項の比が重要になる。分離フィルタの収束判定ではこの比をチェックし、収束判定してもよい。
【0074】
次に、波形の処理開始位置をフレームシフトLshift分加算する(変数更新;ステップS1007)。
そして、ステップS1003以降の処理を繰り返す。
【0075】
波形処理開始地点がバッファリング部901で取り込んだ波形の終了地点に達している場合(ステップS1003のNo)、ステップS1006に処理を移す。
【0076】
次の式(15)で分離フィルタを更新する(フィルタ更新;ステップS1006)。
【0077】
【数15】

【0078】
ηはフィルタ更新速度を制御するための変数であり、大きいほどフィルタ収束速度は上がるが、フィルタが発散する可能性が大きくなる。小さいほどフィルタ収束速度は遅いが、フィルタが発散する可能性は低くなる。
そして、ステップS1001以降の処理を繰り返す。
【0079】
図14は、図3の音源位置推定部303を詳細に示すブロック図である。
音源分離部302(図3参照)が分離した分離フィルタの逆行列は音源ごとのステアリングベクトルから構成される行列であることが知られている。
逆行列計算部1102は、分離フィルタの逆行列の第i列w(f,τ)−1iを抽出する。以降のブロックはフレームごと、周波数ごとに実行される。マイクロホンアレイ101は直線配置とする。本実施形態における音源位置推定部303は、マイクロホンアレイ101を構成するマイクロホン(素子)102を2分割する。分割後のマイクロホンアレイ101をサブアレイと呼ぶ。それぞれのサブアレイで音源方向を推定した後、三角測量法により、その音源方向の交点をとることで、方向と距離を知ることができる。
【0080】
2分割したサブアレイで音源方向を推定するので、1つのサブアレイ分割部1103ごとに2つの方向推定部1104を具備し、2つの方向推定部1104の推定結果によって、1つの交点推定部1105は、ひとつの交点を推定することとなる。
【0081】
分離フィルタの逆行列の第i列は、サブアレイごとに、次の式(16)のように分割される。
【0082】
【数16】

【0083】
また音源位置pに音源があると仮定した時のステアリングベクトルも、次の式(17)のようにサブアレイごとに2分割される。
【0084】
【数17】

【0085】
方向推定部1104は、各サブアレイごとに、次の式(18)及び式(19)に基づき、音源方向^θi,1(f,τ)及び音源方向^θi,2(f,τ)を推定する。
【0086】
【数18】

【0087】
【数19】

【0088】
交点推定部1105は、各サブアレイの中心位置から見て推定した音源方向に音源が存在すると考え、三角測量により音源方向と距離を推定する。各サブアレイの中心位置間の距離は予め既知であると仮定できるため、三角測量により音源方向と距離の推定は容易に実行可能である。
【0089】
ヒストグラム推定部1106は、周波数ごとに求めた音源方向と距離のヒストグラムを推定し、最もヒストグラムの頻度が大きい音源方向と距離をその音源の方向と距離であると判断し、頻度が大きい音源方向と距離を出力する。
【0090】
図15は、図3の音響エコーキャンセラ307を詳細に示すブロック図である。
スピーカ出力音は空間を伝播し、マイクロホンアレイ101で受音される。本実施形態では、入力音は一義的に雑音であると判定するため、音響エコーキャンセラ307が存在しない場合、マイクロホンアレイ101で受音されたスピーカ出力音は雑音と判断される。したがって、音響エコーキャンセラ307が存在しない場合、スピーカ出力係数を設定する際に、以前のスピーカ出力係数との異なりが大きくなるようにスピーカ出力係数を設定することになり、スピーカ出力係数が安定せず音響出力の定位方向が時々刻々不安定に変化してしまうという問題が起こる。この問題を避けるために、マイクロホンアレイ101で受音されたスピーカ出力音中に含まれるスピーカ出力成分をあらかじめ除去する必要がある。
【0091】
参照信号取り込み部1501ではスピーカ112からの出力音源信号u(t)を取得する。各スピーカ出力信号はスピーカ112ごとに異なる出力係数Sm(t)を重畳される。出力係数重畳部1503ではu(t)にSm(t)を次の式(20)で畳みこむ。
【0092】
【数20】

【0093】
畳み込み後の信号をum(t)とする。ここでum(t)は後段のエコー量推定フィルタと同じ長さを持つベクトルとし、畳み込み後の信号が時間という観点で新しいものから順番に並んでいるベクトルとする。um(t)をマイクロホンmの音響エコーキャンセラ307の参照信号として使用する。
【0094】
入力信号バッファリング部1502は、入力信号を所定時間分バッファリングし、後段へ出力する。
【0095】
フィルタリング部1504は、参照信号にエコー量推定フィルタgmを畳みこむ。
エコー消去部1506は、推定したエコー量をマイクロホン入力信号xm(t)から引くことで、エコー消去後の信号em(t)を次の式(21)のように得る。
【0096】
【数21】

【0097】
フィルタ更新部1505は、エコー消去後の信号を0に近づけるようにエコー量推定フィルタgmを次の式(22)に定義されるようにして更新する。
【0098】
【数22】

【0099】
ここでμはフィルタ更新係数で0から1までの値をとる。エコー消去部1506で出力したエコー消去後の信号を音響エコーキャンセラ307による処理済の出力信号として出力する。
【0100】
図16は、本発明による第1実施形態のソフトウェアブロックとハードウェアとの関連性を示す説明図である。
複数のマイクロホン102から構成されるマイクロホンアレイ101で取り込んだアナログ音圧値は、A/D変換装置1602内に配置されるA/D変換処理部1602aによりデジタル音圧値に変換される。
変換されたデジタル音圧値は、中央演算装置203に送られて各種デジタル信号処理を施される。波形取り込み部1603a(図3の波形取り込み部301に対応)はデジタル音圧波形を取り込んでバッファリングする。
音響エコーキャンセラ1603b(図3の音響エコーキャンセラ307に対応)は取り込んだデジタル音圧波形中のスピーカ出力信号成分を消去する。
エコー消去後の信号は、音源分離部1603d(図3の音源分離部302に対応)に送られ、音源ごとに分離される。
音源位置推定部1603e(図3の音源位置推定部303に対応)は、音源ごとの音源位置を推定する。推定した音源位置はマイクロホンアレイ位置から見た音源位置となる。
音源位置変換部1603f(図3の音源位置変換部304に対応)は、マイクロホンアレイ位置から見た音源位置をユーザ聴取位置から見た音源方向に変換する。
出力係数決定部1603gは、ユーザ聴取位置から見た音源方向とスピーカ出力音の合成波面のユーザ聴取位置での音源方向の異なりが最大となるようにスピーカ出力係数を決定する。
音声再生部1603cは、決定したスピーカ112ごとの出力係数を出力音に畳み込む。ここまでのデジタル信号処理で必要なワークメモリ及びマイク配置等の事前情報は不揮発性メモリ205、揮発性メモリ204(図2参照)に記憶される。
D/A変換装置1604内に配置されるD/A変換処理部1604aは、音声再生部1603cが出力するデジタル信号をアナログ信号に変換する。
このアナログ信号は複数のスピーカ112からなるスピーカアレイ111に送られ、各スピーカ112から音響信号として出力され空中に放射される。
【0101】
図17は、本実施形態において音楽などのオーディオ出力音の出力方法を制御する構成を示すブロック図である。
スピーカ出力係数決定部1701は、前記したように、スピーカ合成波面のユーザ聴取位置での音源方向と雑音方向との異なりが最大となるようにスピーカ出力係数を決定する。
【0102】
オーディオソース取得部1702では、コンパクトディスクプレーヤなどの再生機器から再生音を取得する。オーディオ再生1703では、取得した再生音にスピーカ112ごとの出力係数を重畳した後、各スピーカ112から出力し、空中に放射する。また出力係数を雑音方向が変化するたびに、常に変化させると、かえって聞き取りにくい音になってしまう可能性がある。少なくとも同一ソース、例えば同じ音楽の曲を流している間は出力係数は変えないことが望まれる。
【0103】
図18は、出力係数決定タイミングを決める処理を示すフローチャートである。
まず、出力音のソースが変更されたかどうかを判定する(ソース変更判定;ステップS2001)。これは、音楽の場合は再生曲が終了したかどうかをオーディオ機器に問い合わせることで実現可能である。
【0104】
ソースが変更されている場合(ステップS2001のYes)、スピーカ出力係数を変更し(出力係数変更;ステップS2002)、次のステップ(ステップS2003)へ進む。
なお、出力係数変更(ステップS2002)では、更新したヒストグラムからスピーカ出力係数を決定する。
【0105】
ソースが変更されていない場合(ステップS2001のNo)、および出力係数を変更した後は、次の時間の波形を取り込む(波形取り込み;ステップS2003)。
【0106】
取り込んだ波形は音響エコーキャンセラ307に送られ、音響エコー成分が消去される(ステップS2004)。
次に、音源ごとに分離される(音源分離;ステップS2005)。
そして、音源ごとのマイクロホン位置での音源位置が推定される(音源位置変換推定;ステップS2006)。
そして、ユーザ聴取位置での音源方向が算出される(音源位置変換;ステップS2007)。
そして、ユーザ聴取位置での音源方向のヒストグラムを更新する(ヒストグラム更新;ステップS2008)。
そして、再生終了か否かを判断する(ステップS2009)。再生終了の場合(ステップS2009のYes)、処理を終了する。
再生終了でない場合(ステップS2009のNo)、ステップS2001以降の処理を繰り返す。
【0107】
図19は、出力係数設定タイミングとオーディオソース再生タイミングの一例を示したタイミングチャートである。
雑音方向はθ1からθ2に変化するものとする。スピーカ出力係数を常時更新する場合、雑音の方向が変化したタイミングでスピーカ出力係数が変化することになるが、この例の場合、ソース(2)再生中に出力係数が変化することになり、ユーザにとって聞き取りにくい音となる。本例に示すように、ソース(2)とソース(3)のソースが変わるタイミングで出力係数を変化させる構成を取ることで、ユーザに与える不快感を軽減することが可能となる。5.1chサラウンド音楽など一つのソースに複数の音源が含まれている場合は、スピーカ出力音の合成波面の音源方向が雑音の音源方向との異なりが大きくなるものから順番に音源数分だけスピーカ出力係数を選択し、それぞれの音源に重畳するような構成を取ってもよい。
【0108】
図20は、本発明による第2実施形態の音再生装置1bを示すハードウェア構成図である。
図20に示す音再生装置1bは、車室11内でのハンズフリー通話に応用する際のハードウェア構成を示すものであって、図2で示した構成に加えて、携帯電話1801をハードウェアとして加えたものである。
【0109】
中央演算装置203で取得した車室11内のデジタル音圧データは携帯電話1801に送られる。
携帯電話1801は電話網を通してデジタル音圧データを通話相手に送信する。また電話網を通して通話相手の音声が送られてきた音を、中央演算装置203内で計算したスピーカごとの出力係数を重畳した後、多チャンネルD/A変換機206に送りアナログ信号に変換する。
アナログ信号はスピーカアレイ111に送られ各スピーカ112から出力されて、空中に放射される。
ハンズフリー通話の構成においては、ユーザ聴取位置から音が放射される可能性がある。そこで、本実施形態のスピーカ出力係数決定部1701においては、音源分離後の各音源の信号のうち音源位置がユーザ聴取位置近傍となる音源については棄却し雑音とみなさないという構成を取ってもよい。また、音源分離後のユーザ聴取位置近傍の音源を携帯電話1801に送信するような構成を取ってもよい。このような構成を取ることで、雑音が存在する車室11内でも雑音の少ないクリアな音を通話相手に送ることが可能となる。
【0110】
図21は、本発明によるユーザ聴取位置での音源位置変換処理を使って、仮想的な音源位置における音場を再現する音場再現システムのソフトウェア構成を示すブロック図である。
波形取り込み部301で取り込んだ複数チャンネルのデジタル波形は、音響エコーキャンセラ307に送られ、スピーカ出力音の成分が除去される。
音源分離部302は、除去後の波形(信号)を音源ごとに分離する。
音源位置推定部303は、分離した音源ごとにマイクロホンアレイ101の位置での音源位置を推定する。
音源位置変換部304は、仮想的なユーザ聴取位置での音源位置に変換する。
話者ボリューム決定部1906は、音源分離部302で分離した出力信号に仮想的なユーザ聴取位置から見た音源のステアリングベクトルを重畳する。
すべての音源に対して同様な処理を繰り返した後、波形再結合部1907は、マイクロホン(素子)102ごとに音源ごとの波形を統合して出力する。
【符号の説明】
【0111】
1 音再生装置(第1実施形態)
1b 音再生装置(第2実施形態)
10 自動車
11 車室
12 運転席
101 マイクロホンアレイ
102 マイクロホン
111 スピーカアレイ
112 スピーカ
202 多チャンネルA/D変換機
203 中央演算装置
204 揮発性メモリ
205 不揮発性メモリ
206 多チャンネルD/A変換機
208 座席センサ
301 波形取り込み部
302 音源分離部
303 音源位置推定部
304 音源位置変換部
305 ヒストグラム更新部
306 出力係数決定部
307 音響エコーキャンセラ
401 出力係数記憶部
402 スピーカ出力部
403 出力ソース取得部
502 ユーザ位置抽出部
503 変換ベクトル生成部
504 マイク位置データベース
505 変換ベクトル加算部
602 方向行列計算部
603 固有値・ベクトル計算部
604 最小コスト係数算出部
702 方向行列計算部
703 スピーカ内積計算部
704 最小コスト係数算出部
801 方向行列計算部
802 同乗者位置推定部
803 既知雑音位置
901 バッファリング部
902 短時間周波数変換部
903 フィルタ適応部
904 フィルタリング部
905 パワー正規化部
906 棄却判定部
1102 逆行列計算部
1103 サブアレイ分割部
1104 方向推定部
1105 交点推定部
1106 ヒストグラム推定部
1501 参照信号取り込み部
1503 出力係数重畳部
1504 フィルタリング部
1505 フィルタ更新部
1506 エコー消去部
1602 A/D変換装置
1604 D/A変換装置
1701 スピーカ出力係数決定部
1702 オーディオソース取得部
1703 オーディオ再生
1801 携帯電話
1906 話者ボリューム決定部
1907 波形再結合部

【特許請求の範囲】
【請求項1】
複数のスピーカを備えた音再生装置であって、
再生音源以外の音源のユーザ聴取位置での音源方向を推定する音源方向推定部と、
推定した音源方向と前記複数のスピーカから音を放射した際の音像定位方向が異なるように前記複数のスピーカそれぞれの出力係数を決定する出力係数決定部と、
を有することを特徴とする音再生装置。
【請求項2】
複数のマイクロホンからなるマイクロホンアレイを有し、
前記マイクロホンアレイの位置での音源方向を推定する音源方向推定処理部と、
推定した前記マイクロホンアレイの位置での音源方向をユーザ聴取位置での音源方向に変換する音源方向変換処理部と、
を有することを特徴とする請求項1に記載の音再生装置。
【請求項3】
乗員を検出する座席センサを備え、
前記出力係数決定部は、前記座席センサによって検出した乗員位置に雑音源が存在すると見なして演算を行うことを特徴とする請求項1または請求項2に記載の音再生装置。
【請求項4】
乗員を検出する座席センサを備え、
前記出力係数決定部は、前記座席センサによって検出した乗員位置がユーザ聴取位置であると見なして演算を行うことを特徴とする請求項1に記載の音再生装置。
【請求項5】
所定の位置に複数のマイクロホンと複数のスピーカとが配置された環境において、前記複数のスピーカを用いて音再生装置からの音を再生する音再生方法であって、
複数のマイクロホンからなるマイクロホンアレイからの音の情報と、前記マイクロホンアレイと各前記スピーカとの位置関係の情報とを用いて、前記複数のスピーカからの再生音源以外の音源の、前記マイクロホンアレイでの音源方向を推定する音源方向推定工程と、
前記マイクロホンアレイでの音源方向をユーザ聴取位置での音源方向に変換する音源方向変換工程と、
前記ユーザ聴取位置での音源方向と、前記複数のスピーカから音を放射した際の音像定位方向が異なるようにそれぞれの前記スピーカの出力係数を決定する出力係数決定工程と、
決定した前記出力係数によって前記スピーカから音を放射する音放射工程と、
を含むことを特徴とする音再生方法。
【請求項6】
前記出力係数決定工程では、前記複数のスピーカのうち、前記ユーザ聴取位置での音源方向が異なる方向に位置するものを選択する、
ことを特徴とする請求項5に記載の音再生方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2010−161735(P2010−161735A)
【公開日】平成22年7月22日(2010.7.22)
【国際特許分類】
【出願番号】特願2009−3880(P2009−3880)
【出願日】平成21年1月9日(2009.1.9)
【出願人】(591132335)株式会社ザナヴィ・インフォマティクス (745)
【Fターム(参考)】