(57)【要約】  本技術は、より効率よく音声を再生することができるようにする音声処理装置および方法、並びにプログラムに関する。頭部伝達関数合成部は、対角化された頭部伝達関数の行列を予め保持している。頭部伝達関数合成部は、音声を再生するための環状調和領域の入力信号と、予め保持している、対角化された頭部伝達関数とを合成する。環状調和逆変換部は、頭部伝達関数合成部による合成により得られた信号を環状調和関数に基づいて環状調和逆変換することで、時間周波数領域のヘッドホン駆動信号を生成する。本技術は音声処理装置に適用することができる。
2017119318.tif 000002
【特許請求の範囲】
【請求項１】
環状調和領域の入力信号、または球面調和領域の入力信号のうちの環状調和領域に対応する部分と、対角化された頭部伝達関数とを合成する頭部伝達関数合成部と、
前記合成により得られた信号を環状調和関数に基づいて環状調和逆変換することで、時間周波数領域のヘッドホン駆動信号を生成する環状調和逆変換部と
を備える音声処理装置。
【請求項２】
前記頭部伝達関数合成部は、複数の頭部伝達関数からなる行列を環状調和関数変換により対角化して得られた対角行列と、環状調和関数の各次数に対応する前記入力信号からなるベクトルとの積を求めることで、前記入力信号と前記対角化された頭部伝達関数とを合成する
請求項１に記載の音声処理装置。
【請求項３】
前記頭部伝達関数合成部は、前記対角行列の対角成分のうちの時間周波数ごとに設定可能な所定の前記次数の要素のみを用いて、前記入力信号と前記対角化された頭部伝達関数との合成を行う
請求項２に記載の音声処理装置。
【請求項４】
前記対角行列には、各ユーザで共通して用いられる前記対角化された頭部伝達関数が要素として含まれている
請求項２に記載の音声処理装置。
【請求項５】
前記対角行列には、ユーザ個人に依存する前記対角化された頭部伝達関数が要素として含まれている
請求項２に記載の音声処理装置。
【請求項６】
前記対角行列を構成する、各ユーザで共通する前記対角化された頭部伝達関数を予め保持するとともに、ユーザ個人に依存する前記対角化された頭部伝達関数を取得して、取得した前記対角化された頭部伝達関数と、予め保持している前記対角化された頭部伝達関数とから前記対角行列を生成する行列生成部をさらに備える
請求項２に記載の音声処理装置。
【請求項７】
前記環状調和逆変換部は、各方向の環状調和関数からなる環状調和関数行列を保持しており、前記環状調和関数行列の所定方向に対応する行に基づいて、前記環状調和逆変換を行う
請求項１に記載の音声処理装置。
【請求項８】
前記ヘッドホン駆動信号に基づく音声を聴取するユーザの頭部の方向を取得する頭部方向取得部をさらに備え、
前記環状調和逆変換部は、前記環状調和関数行列における前記ユーザの頭部の方向に対応する行に基づいて、前記環状調和逆変換を行う
請求項７に記載の音声処理装置。
【請求項９】
前記ユーザの頭部の回転を検出する頭部方向センサ部をさらに備え、
前記頭部方向取得部は、前記頭部方向センサ部による検出結果を取得することで、前記ユーザの頭部の方向を取得する
請求項８に記載の音声処理装置。
【請求項１０】
前記ヘッドホン駆動信号を時間周波数逆変換する時間周波数逆変換部をさらに備える
請求項１に記載の音声処理装置。
【請求項１１】
環状調和領域の入力信号、または球面調和領域の入力信号のうちの環状調和領域に対応する部分と、対角化された頭部伝達関数とを合成し、
前記合成により得られた信号を環状調和関数に基づいて環状調和逆変換することで、時間周波数領域のヘッドホン駆動信号を生成する
ステップを含む音声処理方法。
【請求項１２】
環状調和領域の入力信号、または球面調和領域の入力信号のうちの環状調和領域に対応する部分と、対角化された頭部伝達関数とを合成し、
前記合成により得られた信号を環状調和関数に基づいて環状調和逆変換することで、時間周波数領域のヘッドホン駆動信号を生成する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は音声処理装置および方法、並びにプログラムに関し、特に、より効率よく音声を再生することができるようにした音声処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、音声の分野において全周囲からの空間情報を収録、伝送、および再生する系の開発や普及が進んできている。例えばスーパーハイビジョンにおいては22.2チャネルの３次元マルチチャネル音響での放送が計画されている。【０００３】
また、バーチャルリアリティの分野においても全周囲を取り囲む映像に加え、音声においても全周囲を取り囲む信号を再生するものが世の中に出回りつつある。【０００４】
その中でアンビソニックスと呼ばれる、任意の収録再生系に柔軟に対応可能な３次元音声情報の表現手法が存在し、注目されている。特に次数が２次以上となるアンビソニックスは高次アンビソニックス（HOA（Higher Order Ambisonics））と呼ばれている（例えば、非特許文献１参照）。【０００５】
３次元のマルチチャネル音響においては、音の情報は時間軸に加えて空間軸に広がっており、アンビソニックスでは３次元極座標の角度方向に関して周波数変換、すなわち球面調和関数変換を行って情報を保持している。また、水平面のみを考えれば、環状調和関数変換が行われている。球面調和関数変換や環状調和関数変換は、音声信号の時間軸に対する時間周波数変換に相当するものと考えることができる。【０００６】
この方法の利点としては、マイクロホンの数やスピーカの数を限定せずに任意のマイクロホンアレイから任意のスピーカアレイに対して情報をエンコードおよびデコードすることができることにある。【０００７】
一方で、アンビソニックスの普及を妨げる要因としては、再生環境に大量のスピーカからなるスピーカアレイが必要とされることや、音空間が再現できる範囲（スイートスポット）が狭いことが挙げられる。【０００８】
例えば音の空間解像度を上げようとすると、より多くのスピーカからなるスピーカアレイが必要となるが、家庭などでそのようなシステムを作ることは非現実的である。また、映画館のような空間では音空間を再現できるエリアが狭く、全ての観客に対して所望の効果を与えることは困難である。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Jerome Daniel, Rozenn Nicol, Sebastien Moreau, “Further Investigations of High Order Ambisonics and Wavefield Synthesis for Holophonic Sound Imaging,” AES 114th Convention, Amsterdam, Netherlands, 2003.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
そこで、アンビソニックスとバイノーラル再生技術とを組み合わせることが考えられる。バイノーラル再生技術は、一般に聴覚ディスプレイ（VAD（Virtual Auditory Display））と呼ばれており、頭部伝達関数（HRTF（Head-Related Transfer Function））が用いられて実現される。【００１１】
ここで、頭部伝達関数とは、人間の頭部を取り囲むあらゆる方向から両耳鼓膜までの音の伝わり方に関する情報を周波数と到来方向の関数として表現したものである。【００１２】
目的となる音声に対してある方向からの頭部伝達関数を合成したものをヘッドホンで提示した場合、聴取者にとってはヘッドホンからではなく、その用いた頭部伝達関数の方向から音が到来しているかのように知覚される。VADは、このような原理を利用したシステムである。【００１３】
VADを用いて仮想的なスピーカを複数再現すれば、現実には困難な多数のスピーカからなるスピーカアレイシステムでのアンビソニックスと同じ効果を、ヘッドホン提示で実現することが可能となる。【００１４】
しかしながら、このようなシステムでは、十分効率的に音声を再生することができなかった。例えば、アンビソニックスとバイノーラル再生技術とを組み合わせた場合、頭部伝達関数の畳み込み演算等の演算量が多くなるだけでなく、演算等に用いるメモリの使用量も多くなってしまう。【００１５】
本技術は、このような状況に鑑みてなされたものであり、より効率よく音声を再生することができるようにするものである。
【課題を解決するための手段】
【００１６】
本技術の一側面の音声処理装置は、環状調和領域の入力信号、または球面調和領域の入力信号のうちの環状調和領域に対応する部分と、対角化された頭部伝達関数とを合成する頭部伝達関数合成部と、前記合成により得られた信号を環状調和関数に基づいて環状調和逆変換することで、時間周波数領域のヘッドホン駆動信号を生成する環状調和逆変換部とを備える。【００１７】
前記頭部伝達関数合成部には、複数の頭部伝達関数からなる行列を環状調和関数変換により対角化して得られた対角行列と、環状調和関数の各次数に対応する前記入力信号からなるベクトルとの積を求めさせることで、前記入力信号と前記対角化された頭部伝達関数とを合成させることができる。【００１８】
前記頭部伝達関数合成部には、前記対角行列の対角成分のうちの時間周波数ごとに設定可能な所定の前記次数の要素のみを用いて、前記入力信号と前記対角化された頭部伝達関数との合成を行わせることができる。【００１９】
前記対角行列には、各ユーザで共通して用いられる前記対角化された頭部伝達関数が要素として含まれているようにすることができる。【００２０】
前記対角行列には、ユーザ個人に依存する前記対角化された頭部伝達関数が要素として含まれているようにすることができる。【００２１】
音声処理装置には、前記対角行列を構成する、各ユーザで共通する前記対角化された頭部伝達関数を予め保持するとともに、ユーザ個人に依存する前記対角化された頭部伝達関数を取得して、取得した前記対角化された頭部伝達関数と、予め保持している前記対角化された頭部伝達関数とから前記対角行列を生成する行列生成部をさらに設けることができる。【００２２】
前記環状調和逆変換部には、各方向の環状調和関数からなる環状調和関数行列を保持させ、前記環状調和関数行列の所定方向に対応する行に基づいて、前記環状調和逆変換を行わせることができる。【００２３】
音声処理装置には、前記ヘッドホン駆動信号に基づく音声を聴取するユーザの頭部の方向を取得する頭部方向取得部をさらに設け、前記環状調和逆変換部には、前記環状調和関数行列における前記ユーザの頭部の方向に対応する行に基づいて、前記環状調和逆変換を行わせることができる。【００２４】
音声処理装置には、前記ユーザの頭部の回転を検出する頭部方向センサ部をさらに設け、前記頭部方向取得部には、前記頭部方向センサ部による検出結果を取得させることで、前記ユーザの頭部の方向を取得させることができる。【００２５】
音声処理装置には、前記ヘッドホン駆動信号を時間周波数逆変換する時間周波数逆変換部をさらに設けることができる。【００２６】
本技術の一側面の音声処理方法またはプログラムは、環状調和領域の入力信号、または球面調和領域の入力信号のうちの環状調和領域に対応する部分と、対角化された頭部伝達関数とを合成し、前記合成により得られた信号を環状調和関数に基づいて環状調和逆変換することで、時間周波数領域のヘッドホン駆動信号を生成するステップを含む。【００２７】
本技術の一側面においては、環状調和領域の入力信号、または球面調和領域の入力信号のうちの環状調和領域に対応する部分と、対角化された頭部伝達関数とが合成され、前記合成により得られた信号を環状調和関数に基づいて環状調和逆変換することで、時間周波数領域のヘッドホン駆動信号が生成される。
【発明の効果】
【００２８】
本技術の一側面によれば、より効率よく音声を再生することができる。【００２９】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載された何れかの効果であってもよい。
【図面の簡単な説明】
【００３０】
【図１】頭部伝達関数を用いた立体音響のシミュレートについて説明する図である。
【図２】一般的な音声処理装置の構成を示す図である。
【図３】一般手法による駆動信号の算出について説明する図である。
【図４】ヘッドトラッキング機能を追加した音声処理装置の構成を示す図である。
【図５】ヘッドトラッキング機能を追加した場合の駆動信号の算出について説明する図である。
【図６】提案手法による駆動信号の算出について説明する図である。
【図７】提案手法と拡張手法の駆動信号算出時の演算について説明する図である。
【図８】本技術を適用した音声処理装置の構成例を示す図である。
【図９】駆動信号生成処理を説明するフローチャートである。
【図１０】次数切り捨てによる演算量削減について説明する図である。
【図１１】提案手法と一般手法の演算量と必要メモリ量について説明する図である。
【図１２】頭部伝達関数の行列の生成について説明する図である。
【図１３】次数切り捨てによる演算量削減について説明する図である。
【図１４】次数切り捨てによる演算量削減について説明する図である。
【図１５】本技術を適用した音声処理装置の構成例を示す図である。
【図１６】駆動信号生成処理を説明するフローチャートである。
【図１７】仮想的なスピーカの配置について説明する図である。
【図１８】仮想的なスピーカの配置について説明する図である。
【図１９】仮想的なスピーカの配置について説明する図である。
【図２０】仮想的なスピーカの配置について説明する図である。
【図２１】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００３１】
以下、図面を参照して、本技術を適用した実施の形態について説明する。
【００３２】
〈第１の実施の形態〉
〈本技術について〉
本技術は、ある平面における頭部伝達関数自体を２次元極座標の関数ととらえ、同様に環状調和関数変換を行って、球面調和領域または環状調和領域の音声信号である入力信号のスピーカアレイ信号へのデコードを介さずに環状調和領域において入力信号と頭部伝達関数との合成を行うことで、演算量やメモリ使用量においてより効率のよい再生系を実現するものである。
【００３３】
例えば、球座標上での関数f(θ,φ)に対しての球面調和関数変換は、次式（１）で表される。また、２次元極座標上での関数f(φ)に対しての環状調和関数変換は、次式（２）で表される。
【００３４】
【数１】
2017119318.tif 000003
【００３５】
【数２】
2017119318.tif 000004
【００３６】
式（１）においてθおよびφは、それぞれ球座標における仰角および水平角を示しており、Ynm(θ,φ)は球面調和関数を示している。また、球面調和関数Ynm(θ,φ)上部に「−」が記されているものは、球面調和関数Ynm(θ,φ)の複素共役を表している。
【００３７】
また、式（２）においてφは、２次元極座標における水平角を示しており、Ym(φ)は環状調和関数を示している。環状調和関数Ym(φ)上部に「−」が記されているものは、環状調和関数Ym(φ)の複素共役を表している。
【００３８】
ここで球面調和関数Ynm(θ,φ)は、以下の式（３）により表される。また、環状調和関数Ym(φ)は、以下の式（４）により表される。
【００３９】
【数３】
2017119318.tif 000005
【００４０】
【数４】
2017119318.tif 000006
【００４１】
式（３）においてnおよびmは球面調和関数Ynm(θ,φ)の次数を示しており、−n≦m≦nである。また、jは純虚数を示しており、Pnm(x)は次式（５）で表されるルジャンドル陪関数である。同様に、式（４）においてmは環状調和関数Ym(φ)の次数を示しており、jは純虚数を示している。
【００４２】
【数５】
2017119318.tif 000007
【００４３】
また、球面調和関数変換された関数Fnmから２次元極座標上の関数f(φ)への逆変換は次式（６）に示すようになる。さらに環状調和関数変換された関数Fmから２次元極座標上の関数f(φ)への逆変換は次式（７）に示すようになる。
【００４４】
【数６】
2017119318.tif 000008
【００４５】
【数７】
2017119318.tif 000009
【００４６】
以上のことから球面調和領域で保持される、半径方向の補正を行った後の音声の入力信号D’nm(ω)から、半径Rの円上に配置されたL個の各スピーカのスピーカ駆動信号S(xi,ω)への変換は、次式（８）に示すようになる。
【００４７】
【数８】
2017119318.tif 000010
【００４８】
なお、式（８）においてxiはスピーカの位置を示しており、ωは音信号の時間周波数を示している。入力信号D’nm(ω)は、所定の時間周波数ωについての球面調和関数の各次数nおよび次数mに対応する音声信号であり、式（８）の計算では、入力信号D’nm(ω)のうちの｜m｜＝nとなる要素のみが用いられている。すなわち、入力信号D’nm(ω)のうちの環状調和領域に対応するもののみが用いられている。
【００４９】
また、環状調和領域で保持される、半径方向の補正を行った後の音声の入力信号D’m(ω)から、半径Rの円上に配置されたL個の各スピーカのスピーカ駆動信号S(xi,ω)への変換は、次式（９）に示すようになる。
【００５０】
【数９】
2017119318.tif 000011
【００５１】
なお、式（９）においてxiはスピーカの位置を示しており、ωは音信号の時間周波数を示している。入力信号D’m(ω)は、所定の時間周波数ωについての環状調和関数の各次数mに対応する音声信号である。
【００５２】
また、式（８）および式（９）における位置xiは、xi＝（Rcosαi,Rsinαi）tであり、iはスピーカを特定するスピーカインデックスを示している。ここで、i＝1,2,…,Lであり、αiはi番目のスピーカの位置を示す水平角を表している。
【００５３】
このような式（８）および式（９）により示される変換は、式（６）および式（７）に対応する環状調和逆変換である。また、式（８）や式（９）によりスピーカ駆動信号S(xi,ω)を求める場合、再現スピーカの数であるスピーカ数Lと、環状調和関数の次数N、つまり次数mの最大値Nとは次式（１０）に示す関係を満たす必要がある。なお、以降においては、入力信号が環状調和領域の信号である場合について説明するが、入力信号が球面調和領域の信号であっても、その入力信号D’nm(ω)のうちの｜m｜＝nとなる要素のみを用いることにより、同様の処理で同じ効果を得ることができる。すなわち、球面調和領域の入力信号についても環状調和領域の入力信号における場合と同じ議論が成立する。
【００５４】
【数１０】
2017119318.tif 000012
【００５５】
ところで、ヘッドホン提示により耳元で立体音響をシミュレートする手法として一般的なものは、例えば図１に示すように頭部伝達関数を用いた方法である。
【００５６】
図１に示す例では、入力されたアンビソニックス信号がデコードされて、複数の仮想的なスピーカである仮想スピーカSP11-1乃至仮想スピーカSP11-8のそれぞれのスピーカ駆動信号が生成される。このときデコードされる信号は、例えば上述した入力信号D’nm(ω)や入力信号D’m(ω)に対応する。
【００５７】
ここでは、各仮想スピーカSP11-1乃至仮想スピーカSP11-8が環状に並べられて仮想的に配置されており、各仮想スピーカのスピーカ駆動信号は、上述した式（８）または式（９）の計算により求められる。なお、以下、仮想スピーカSP11-1乃至仮想スピーカSP11-8を特に区別する必要のない場合、単に仮想スピーカSP11とも称することとする。
【００５８】
このようにして各仮想スピーカSP11のスピーカ駆動信号が得られると、それらの仮想スピーカSP11ごとに、実際に音声を再生するヘッドホンHD11の左右の駆動信号（バイノーラル信号）が頭部伝達関数を用いた畳み込み演算により生成される。そして、仮想スピーカSP11ごとに得られたヘッドホンHD11の各駆動信号の和が最終的な駆動信号とされる。
【００５９】
なお、このような手法は、例えば「ADVANCED SYSTEM OPTIONS FOR BINAURAL RENDERING OF AMBISONIC FORMAT(Gerald Enzner et. al. ICASSP 2013)」などに詳細に記載されている。
【００６０】
ヘッドホンHD11の左右の駆動信号の生成に用いられる頭部伝達関数H(x,ω)は、自由空間内において聴取者であるユーザの頭部が存在する状態での音源位置xから、ユーザの鼓膜位置までの伝達特性H1(x,ω)を、頭部が存在しない状態での音源位置xから頭部中心Oまでの伝達特性H0(x,ω)で正規化したものである。すなわち、音源位置xについての頭部伝達関数H(x,ω)は、次式（１１）により得られるものである。
【００６１】
【数１１】
2017119318.tif 000013
【００６２】
ここで、頭部伝達関数H(x,ω)を任意の音声信号に畳み込み、ヘッドホンなどにより提示することで、聴取者に対してあたかも畳み込んだ頭部伝達関数H(x,ω)の方向、つまり音源位置xの方向から音が聞こえてくるかのような錯覚を与えることができる。
【００６３】
図１に示した例では、このような原理が用いられてヘッドホンHD11の左右の駆動信号が生成される。
【００６４】
具体的には各仮想スピーカSP11の位置を位置xiとし、それらの仮想スピーカSP11のスピーカ駆動信号をS(xi,ω)とする。
【００６５】
また、仮想スピーカSP11の数をL（ここではL=8）とし、ヘッドホンHD11の最終的な左右の駆動信号を、それぞれPlおよびPrとする。
【００６６】
この場合、スピーカ駆動信号S(xi,ω)をヘッドホンHD11提示でシミュレートすると、ヘッドホンHD11の左右の駆動信号Plおよび駆動信号Prは、次式（１２）を計算することにより求めることができる。
【００６７】
【数１２】
2017119318.tif 000014
【００６８】
なお、式（１２）において、Hl(xi,ω)およびHr(xi,ω)は、それぞれ仮想スピーカSP11の位置xiから聴取者の左右の鼓膜位置までの正規化された頭部伝達関数を示している。
【００６９】
このような演算により、環状調和領域の入力信号D’m(ω)を、最終的にヘッドホン提示で再生することが可能となる。すなわち、アンビソニックスと同じ効果をヘッドホン提示で実現することが可能となる。
【００７０】
以上のようにして、アンビソニックスとバイノーラル再生技術とを組み合わせる一般的な手法（以下、一般手法とも称する）によって、入力信号からヘッドホンの左右の駆動信号を生成する音声処理装置は、図２に示す構成とされる。
【００７１】
すなわち、図２に示す音声処理装置１１は、環状調和逆変換部２１、頭部伝達関数合成部２２、および時間周波数逆変換部２３からなる。
【００７２】
環状調和逆変換部２１は、入力された入力信号D’m(ω)に対して、式（９）を計算することで環状調和逆変換を行い、その結果得られた仮想スピーカSP11のスピーカ駆動信号S(xi,ω)を頭部伝達関数合成部２２に供給する。
【００７３】
頭部伝達関数合成部２２は、環状調和逆変換部２１からのスピーカ駆動信号S(xi,ω)と、予め用意された頭部伝達関数Hl(xi,ω)および頭部伝達関数Hr(xi,ω)とから、式（１２）によりヘッドホンHD11の左右の駆動信号Plおよび駆動信号Prを生成し、出力する。
【００７４】
さらに、時間周波数逆変換部２３は、頭部伝達関数合成部２２から出力された時間周波数領域の信号である駆動信号Plおよび駆動信号Prに対して、時間周波数逆変換を行い、その結果得られた時間領域の信号である駆動信号pl(t)および駆動信号pr(t)を、ヘッドホンHD11に供給して音声を再生させる。
【００７５】
なお、以下では、時間周波数ωについての駆動信号Plおよび駆動信号Prを特に区別する必要のない場合、単に駆動信号P(ω)とも称し、駆動信号pl(t)および駆動信号pr(t)を特に区別する必要のない場合、単に駆動信号p(t)とも称する。また、頭部伝達関数Hl(xi,ω)および頭部伝達関数Hr(xi,ω)を特に区別する必要のない場合、単に頭部伝達関数H(xi,ω)とも称する。
【００７６】
音声処理装置１１では、1×1、つまり１行１列の駆動信号P(ω)を得るために、例えば図３に示す演算が行われる。
【００７７】
図３では、H(ω)は、L個の頭部伝達関数H(xi,ω)からなる1×Lのベクトル（行列）を表している。また、D’(ω)は入力信号D’m(ω)からなるベクトルを表しており、時間周波数ωのビンの入力信号D’m(ω)の数をKとすると、ベクトルD’(ω)はK×1となる。さらにYαは、各次数の環状調和関数Ym(αi)からなる行列を表しており、行列YαはL×Kの行列となる。
【００７８】
したがって、音声処理装置１１では、L×Kの行列YαとK×1のベクトルD’(ω)との行列演算から得られる行列Sが求められ、さらに行列Sと1×Lのベクトル（行列）H(ω)との行列演算が行われて、１つの駆動信号P(ω)が得られることになる。
【００７９】
また、ヘッドホンHD11を装着した聴取者の頭部が、２次元極座標の水平角により表される所定方向φjの方向に回転した場合、例えばヘッドホンHD11の左ヘッドホンの駆動信号Pl(φj,ω)は、次式（１３）に示すようになる。
【００８０】
【数１３】
2017119318.tif 000015
【００８１】
なお、式（１３）において、駆動信号Pl(φj,ω)は上述した駆動信号Plを示しており、ここでは位置、つまり方向φjと時間周波数ωを明確にするために駆動信号Pl(φj,ω)と記されている。また、式（１３）における行列u(φj)は、角度φjだけ回転を行う回転行列である。したがって、例えば所定の角度をφj＝θとすると、行列u(φj)、つまり行列u(θ)は角度θだけ回転を行う回転行列であり、次式（１４）で表される。
【００８２】
【数１４】
2017119318.tif 000016
【００８３】
一般的な音声処理装置１１に対して、さらに例えば図４に示すように聴取者の頭部の回転方向を特定するための構成、すなわちヘッドトラッキング機能の構成を追加すれば、聴取者からみた音像位置を空間内に固定させることができる。なお、図４において図２における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００８４】
図４に示す音声処理装置１１では、図２に示した構成に、さらに頭部方向センサ部５１および頭部方向選択部５２が設けられている。
【００８５】
頭部方向センサ部５１は、聴取者であるユーザの頭部の回転を検出し、その検出結果を頭部方向選択部５２に供給する。頭部方向選択部５２は、頭部方向センサ部５１からの検出結果に基づいて、聴取者の頭部の回転方向、つまり回転後の聴取者の頭部の方向を方向φjとして求め、頭部伝達関数合成部２２に供給する。
【００８６】
この場合、頭部伝達関数合成部２２は、頭部方向選択部５２から供給された方向φjに基づいて、予め用意している複数の頭部伝達関数のうち、聴取者の頭部からみた各仮想スピーカSP11の相対的な座標u(φj)-1xiの頭部伝達関数を用いてヘッドホンHD11の左右の駆動信号を算出する。これにより、実スピーカを用いた場合と同様に、ヘッドホンHD11により音声を再生する場合においても、聴取者から見た音像位置を空間内で固定することができる。
【００８７】
以上において説明した一般手法や、一般手法にさらにヘッドトラッキング機能を追加した手法によりヘッドホンの駆動信号を生成すれば、スピーカアレイを用いることなく、また音空間が再現できる範囲が限定されてしまうことなく環状配置されたアンビソニックスと同じ効果を得ることができる。しかしながら、これらの手法では、頭部伝達関数の畳み込み演算等の演算量が多くなるだけでなく、演算等に用いるメモリの使用量も多くなってしまう。
【００８８】
そこで、本技術では、一般手法では時間周波数領域にて行われていた頭部伝達関数の畳み込みを、環状調和領域において行うようにした。これにより、畳み込みの演算量や必要メモリ量を低減させ、より効率よく音声を再生することができる。
【００８９】
それでは、以下、本技術による手法について説明する。
【００９０】
例えば左ヘッドホンに注目すると、聴取者であるユーザ（リスナ）の頭部の全回転方向に対する左ヘッドホンの各駆動信号Pl(φj,ω)からなるベクトルPl(ω)は、次式（１５）に示すように表される。
【００９１】
【数１５】
2017119318.tif 000017
【００９２】
なお、式（１５）において、S(ω)はスピーカ駆動信号S(xi,ω)からなるベクトルであり、S(ω)＝YαD’(ω)である。また、式（１５）においてYαは以下の式（１６）により示される、各次数および各仮想スピーカの角度αiの環状調和関数Ym(αi)からなる行列を表している。ここで、i＝1,2,…,Lであり、次数mの最大値（最大次数）はNである。
【００９３】
D’(ω)は以下の式（１７）により示される、各次数に対応する音声の入力信号D’m(ω)からなるベクトル（行列）を表している。各入力信号D’m(ω)は環状調和領域の信号である。
【００９４】
さらに、式（１５）において、H(ω)は、以下の式（１８）により示される、聴取者の頭部の方向が方向φjである場合における、聴取者の頭部からみた各仮想スピーカの相対的な座標u(φj)-1xiの頭部伝達関数H(u(φj)-1xi,ω)からなる行列を表している。この例では、方向φ1乃至方向φMの合計M個の方向について、各仮想スピーカの頭部伝達関数H(u(φj)-1xi,ω)が用意されている。
【００９５】
【数１６】
2017119318.tif 000018
【００９６】
【数１７】
2017119318.tif 000019
【００９７】
【数１８】
2017119318.tif 000020
【００９８】
聴取者の頭部が方向φjを向いているときの左ヘッドホンの駆動信号Pl(φj,ω)の算出にあたっては、頭部伝達関数の行列H(ω)のうち、聴取者の頭部の向きである方向φjに対応する行、つまり頭部伝達関数H(u(φj)-1xi,ω)の行を選択して式（１５）の計算を行なえばよい。
【００９９】
この場合、例えば図５に示すように必要な行のみ計算が行われる。
【０１００】
この例では、M個の各方向について頭部伝達関数が用意されているので、式（１５）に示した行列計算は、矢印A11に示すようになる。
【０１０１】
すなわち、時間周波数ωの入力信号D’m(ω)の数をKとすると、ベクトルD’(ω)はK×1、つまりK行1列の行列となる。また、環状調和関数の行列YαはL×Kとなり、行列H(ω)はM×Lとなる。したがって、式（１５）の計算では、ベクトルPl(ω)はM×1となる。
【０１０２】
ここで、行列YαとベクトルD’(ω)との行列演算（積和演算）を行ってベクトルS(ω)を求めると、駆動信号Pl(φj,ω)の算出時には、矢印A12に示すように行列H(ω)のうち、聴取者の頭部の方向φjに対応する行を選択し、演算量を削減することができる。図５では、行列H(ω)における斜線の施された部分が、方向φjに対応する行を表しており、この行とベクトルS(ω)との演算が行われ、左ヘッドホンの所望の駆動信号Pl(φj,ω)が算出される。
【０１０３】
ここで、方向φ1乃至方向φMの合計M個の各方向についての入力信号D’m(ω)に対応する環状調和関数からなるM×Kの行列をYφとするものとする。つまり、各方向φ1乃至方向φMについての環状調和関数Ym(φ1)乃至環状調和関数Ym(φM)からなる行列をYφとする。また、その行列Yφのエルミート転置行列をYφHとする。
【０１０４】
このとき、次式（１９）に示すように行列H’(ω)を定義すると、式（１５）に示したベクトルPl(ω)は以下の式（２０）で表すことができる。
【０１０５】
【数１９】
2017119318.tif 000021
【０１０６】
【数２０】
2017119318.tif 000022
【０１０７】
なお、式（２０）において、ベクトルB’(ω)＝H’(ω)D’(ω)である。
【０１０８】
式（１９）では、環状調和関数変換によって、頭部伝達関数、より詳細には時間周波数領域の頭部伝達関数からなる行列H(ω)を対角化する計算が行われている。また、式（２０）の計算では、環状調和領域においてスピーカ駆動信号と頭部伝達関数の畳み込みが行われていることが分かる。なお、行列H’(ω)は事前に計算して保持しておくことが可能である。
【０１０９】
この場合においても、聴取者の頭部が方向φjを向いているときの左ヘッドホンの駆動信号Pl(φj,ω)の算出にあたっては、環状調和関数の行列Yφのうち、聴取者の頭部の方向φjに対応する行、つまり環状調和関数Ym(φj)からなる行を選択して式（２０）の計算を行なえばよいことになる。
【０１１０】
ここで、行列H(ω)の対角化が可能であれば、すなわち上述した式（１９）により十分に行列H(ω)が対角化されれば、左ヘッドホンの駆動信号Pl(φj,ω)を算出する際の計算は、次式（２１）に示す計算のみとなる。これにより、大幅に演算量および必要メモリ量を削減することができる。なお、以下では、行列H(ω)の対角化が可能であり、行列H’(ω)が対角行列であるものとして説明を続ける。
【０１１１】
【数２１】
2017119318.tif 000023
【０１１２】
式（２１）において、H’m(ω)は対角行列である行列H’(ω)の１つの要素、つまり行列H’(ω)における頭部の方向φjに対応する成分（要素）となる環状調和領域の頭部伝達関数を示している。頭部伝達関数H’m(ω)におけるmは、環状調和関数の次数mを示している。
【０１１３】
同様にYm(φj)は、行列Yφのうちの頭部の方向φjに対応する行の１つの要素となる環状調和関数を示している。
【０１１４】
このような式（２１）に示す演算では、図６に示すように演算量が削減されている。すなわち、式（２０）に示した計算は、図６の矢印A21に示すようにM×Kの行列Yφ、K×Mの行列YφH、M×Lの行列H(ω)、L×Kの行列Yα、およびK×1のベクトルD’(ω)の行列演算となっている。
【０１１５】
ここで、式（１９）で定義したようにYφHH(ω)Yαが行列H’(ω)であるから、矢印A21に示した計算は、結局、矢印A２２に示すようになる。特に、行列H’(ω)を求める計算は、オフラインで、つまり事前に行うことが可能であるので、行列H’(ω)を予め求めて保持しておけば、その分だけオンラインでヘッドホンの駆動信号を求めるときの演算量を削減することが可能である。
【０１１６】
また、式（１９）の計算、つまり行列H’(ω)を求める計算では、行列H(ω)の対角化が行われる。そのため、矢印A22に示すように行列H’(ω)はK×Kの行列であるが、対角化によって、実質的には斜線部分で表される対角成分のみの行列となる。つまり、行列H’(ω)では、対角成分以外の要素の値は0となり、その後の演算量を大幅に削減することができる。
【０１１７】
このように予め行列H’(ω)が求められると、実際にヘッドホンの駆動信号を求めるときには、矢印A22および矢印A23に示す計算、つまり上述した式（２１）の計算が行われることになる。
【０１１８】
すなわち、矢印A22に示すように行列H’(ω)と、入力された入力信号D’m(ω)からなるベクトルD’(ω)とに基づいて、オンラインでK×1のベクトルB’(ω)が算出される。
【０１１９】
そして、矢印A23に示すように行列Yφのうち、聴取者の頭部の方向φjに対応する行が選択されて、その選択された行と、ベクトルB’(ω)との行列演算により、左ヘッドホンの駆動信号Pl(φj,ω)が算出される。図６では、行列Yφにおける斜線の施された部分が、方向φjに対応する行を表しており、この行を構成する要素が式（２１）に示した環状調和関数Ym(φj)となる。
【０１２０】
〈本技術による演算量等の削減について〉
ここで、図７を参照して、以上において説明した本技術による手法（以下、提案手法とも称する）と、一般手法にヘッドトラッキング機能を追加した手法（以下、拡張手法とも称する）との積和演算量および必要メモリ量の比較を行う。
【０１２１】
例えばベクトルD’(ω)の長さをKとし、頭部伝達関数の行列H(ω)をM×Lとすると、環状調和関数の行列YαはL×Kとなり、行列YφはM×Kとなり、行列H’(ω)はK×Kとなる。
【０１２２】
ここで、拡張手法では、図７の矢印A31に示すように、各時間周波数ωのビン（以下、時間周波数ビンωとも称する）に対して、ベクトルD’(ω)を時間周波数領域に変換する過程でL×Kの積和演算が発生し、左右の頭部伝達関数との畳み込みで2Lだけ積和演算が発生する。
【０１２３】
したがって、拡張手法における場合の積和演算回数の合計は、(L×K＋2L)となる。
【０１２４】
また、積和演算の各係数が1バイトであるとすると、拡張手法による演算時に必要となるメモリ量は、各時間周波数ビンωに対して、（保持する頭部伝達関数の方向数）×2バイトであるが、保持する頭部伝達関数の方向の数は、図７の矢印A31に示すようにM×Lとなる。さらに、全ての時間周波数ビンωに共通の環状調和関数の行列YαについてL×Kバイトだけメモリが必要となる。
【０１２５】
したがって、時間周波数ビンωの数をWとすると、拡張手法における必要メモリ量は、合計で（2×M×L×W＋L×K）バイトとなる。
【０１２６】
これに対して、提案手法では、図７の矢印A32に示す演算が時間周波数ビンωごとに行われる。
【０１２７】
すなわち、提案手法では、各時間周波数ビンωに対して、片耳につき環状調和領域でのベクトルD’(ω)と頭部伝達関数の行列H’(ω)との畳み込みでK×Kの積和演算が発生し、さらに時間周波数領域への変換にKだけ積和演算が発生する。
【０１２８】
したがって、提案手法における場合の積和演算回数の合計は、(K×K＋K)×2となる。
【０１２９】
しかし、上述したように頭部伝達関数の行列H(ω)に対して対角化が行われると、ベクトルD’(ω)と頭部伝達関数の行列H’(ω)との畳み込みによる積和演算は片耳につきKのみとなるため、合計の積和演算回数は4Kとなる。
【０１３０】
また、提案手法による演算時に必要となるメモリ量は、各時間周波数ビンωに対して、頭部伝達関数の行列H’(ω)の対角成分のみでよいので2Kバイトとなる。さらに全ての時間周波数ビンωに共通の環状調和関数の行列YφについてM×Kバイトだけメモリが必要となる。
【０１３１】
したがって、時間周波数ビンωの数をWとすると、提案手法における必要メモリ量は、合計で（2×K×W＋M×K）バイトとなる。
【０１３２】
いま、仮に環状調和関数の最大次数を12とすると、K＝2×12＋1＝25となる。また、仮想スピーカの数Lは、Kより大きいことが必要であるためL＝32であるとする。
【０１３３】
このような場合、拡張手法の積和演算量は(L×K＋2L)＝32×25＋2×32＝864であるのに対して、提案手法の積和演算量は4K＝25×4＝100で済むので、大幅に演算量が低減されていることが分かる。
【０１３４】
また、演算時に必要なメモリ量は、例えばW＝100およびM＝100とすると、拡張手法では（2×M×L×W＋L×K）＝2×100×32×100＋32×25＝640800である。これに対して、提案手法の演算時に必要なメモリ量は、（2×K×W＋M×K）＝2×25×100＋100×25＝7500となり、大幅に必要メモリ量が低減されることが分かる。
【０１３５】
〈音声処理装置の構成例〉
次に、以上において説明した本技術を適用した音声処理装置について説明する。図８は、本技術を適用した音声処理装置の一実施の形態の構成例を示す図である。
【０１３６】
図８に示す音声処理装置８１は、頭部方向センサ部９１、頭部方向選択部９２、頭部伝達関数合成部９３、環状調和逆変換部９４、および時間周波数逆変換部９５を有している。なお、音声処理装置８１はヘッドホンに内蔵されていてもよいし、ヘッドホンとは異なる装置であってもよい。
【０１３７】
頭部方向センサ部９１は、例えば必要に応じてユーザの頭部に取り付けられた加速度センサや画像センサなどからなり、聴取者であるユーザの頭部の回転（動き）を検出して、その検出結果を頭部方向選択部９２に供給する。なお、ここでいうユーザとは、ヘッドホンを装着したユーザ、つまり時間周波数逆変換部９５で得られる左右のヘッドホンの駆動信号に基づいてヘッドホンにより再生された音声を聴取するユーザである。
【０１３８】
頭部方向選択部９２は、頭部方向センサ部９１からの検出結果に基づいて、聴取者の頭部の回転方向、つまり回転後の聴取者の頭部の方向φjを求めて、環状調和逆変換部９４に供給する。換言すれば、頭部方向選択部９２は、頭部方向センサ部９１からの検出結果を取得することで、ユーザの頭部の方向φjを取得する。
【０１３９】
頭部伝達関数合成部９３には、外部から環状調和領域の音声信号である各時間周波数ビンωについての環状調和関数の各次数の入力信号D’m(ω)が供給される。また、頭部伝達関数合成部９３は、予め計算により求められた頭部伝達関数からなる行列H’(ω)を保持している。
【０１４０】
頭部伝達関数合成部９３は、供給された入力信号D’m(ω)と、保持している行列H’(ω)、つまり上述した式（１９）により対角化された頭部伝達関数の行列との畳み込み演算を行うことで、環状調和領域で入力信号D’m(ω)と頭部伝達関数とを合成し、その結果得られたベクトルB’(ω)を環状調和逆変換部９４に供給する。なお、以下では、ベクトルB’(ω)の要素をB’m(ω)とも記すこととする。
【０１４１】
環状調和逆変換部９４は、予め各方向の環状調和関数からなる行列Yφを保持しており、その行列Yφを構成する行のうち、頭部方向選択部９２から供給された方向φjに対応する行、すなわち上述した式（２１）の環状調和関数Ym(φj)からなる行を選択する。
【０１４２】
環状調和逆変換部９４は、方向φjに基づいて選択した行列Yφの行を構成する環状調和関数Ym(φj)と、頭部伝達関数合成部９３から供給されたベクトルB’(ω)の要素B’m(ω)との積の和を計算することで、頭部伝達関数が合成された入力信号を環状調和逆変換する。
【０１４３】
なお、頭部伝達関数合成部９３における頭部伝達関数の畳み込み演算と、環状調和逆変換部９４における環状調和逆変換は、左右のヘッドホンごとに行われる。これにより、環状調和逆変換部９４では、時間周波数領域の左ヘッドホンの駆動信号Pl(φj,ω)と、時間周波数領域の右ヘッドホンの駆動信号Pr(φj,ω)とが時間周波数ビンωごとに得られる。
【０１４４】
環状調和逆変換部９４は、環状調和逆変換により得られた左右のヘッドホンの駆動信号Pl(φj,ω)および駆動信号Pr(φj,ω)を時間周波数逆変換部９５に供給する。
【０１４５】
時間周波数逆変換部９５は、左右のヘッドホンごとに、環状調和逆変換部９４から供給された時間周波数領域の駆動信号に対して時間周波数逆変換を行うことで、時間領域の左ヘッドホンの駆動信号pl(φj,t)と、時間領域の右ヘッドホンの駆動信号pr(φj,t)とを求め、それらの駆動信号を後段に出力する。後段のヘッドホン、より詳細にはイヤホンを含むヘッドホンなど、2チャネルで音声を再生する再生装置では、時間周波数逆変換部９５から出力された駆動信号に基づいて音声が再生される。
【０１４６】
〈駆動信号生成処理の説明〉
続いて、図９のフローチャートを参照して、音声処理装置８１により行われる駆動信号生成処理について説明する。この駆動信号生成処理は、外部から入力信号D’m(ω)が供給されると開始される。
【０１４７】
ステップＳ１１において、頭部方向センサ部９１は、聴取者であるユーザの頭部の回転を検出し、その検出結果を頭部方向選択部９２に供給する。
【０１４８】
ステップＳ１２において、頭部方向選択部９２は、頭部方向センサ部９１からの検出結果に基づいて、聴取者の頭部の方向φjを求めて、環状調和逆変換部９４に供給する。
【０１４９】
ステップＳ１３において、頭部伝達関数合成部９３は、供給された入力信号D’m(ω)に対して、予め保持している行列H’(ω)を構成する頭部伝達関数H’m(ω)を畳み込み、その結果得られたベクトルB’(ω)を環状調和逆変換部９４に供給する。
【０１５０】
ステップＳ１３では、環状調和領域において、頭部伝達関数H’m(ω)からなる行列H’(ω)と、入力信号D’m(ω)からなるベクトルD’(ω)との積の計算、つまり上述した式（２１）のH’m(ω)D’m(ω)を求める計算が行われる。
【０１５１】
ステップＳ１４において、環状調和逆変換部９４は、予め保持している行列Yφと、頭部方向選択部９２から供給された方向φjとに基づいて、頭部伝達関数合成部９３から供給されたベクトルB’(ω)に対して環状調和逆変換を行い、左右のヘッドホンの駆動信号を生成する。
【０１５２】
すなわち、環状調和逆変換部９４は、行列Yφから方向φjに対応する行を選択し、その選択した行を構成する環状調和関数Ym(φj)と、ベクトルB’(ω)を構成する要素B’m(ω)とから式（２１）を計算することで、左ヘッドホンの駆動信号Pl(φj,ω)を算出する。また、環状調和逆変換部９４は、右ヘッドホンについても左ヘッドホンにおける場合と同様の演算を行って、右ヘッドホンの駆動信号Pr(φj,ω)を算出する。
【０１５３】
環状調和逆変換部９４は、このようにして得られた左右のヘッドホンの駆動信号Pl(φj,ω)および駆動信号Pr(φj,ω)を時間周波数逆変換部９５に供給する。
【０１５４】
ステップＳ１５において、時間周波数逆変換部９５は、左右のヘッドホンごとに、環状調和逆変換部９４から供給された時間周波数領域の駆動信号に対して時間周波数逆変換を行い、左ヘッドホンの駆動信号pl(φj,t)、および右ヘッドホンの駆動信号pr(φj,t)を算出する。例えば時間周波数逆変換として逆離散フーリエ変換が行われる。
【０１５５】
時間周波数逆変換部９５は、このようにして求めた時間領域の駆動信号pl(φj,t)および駆動信号pr(φj,t)を左右のヘッドホンに出力し、駆動信号生成処理は終了する。
【０１５６】
以上のようにして音声処理装置８１は、環状調和領域において入力信号に頭部伝達関数を畳み込み、その畳み込み結果に対して環状調和逆変換を行って、左右のヘッドホンの駆動信号を算出する。
【０１５７】
このように、環状調和領域において頭部伝達関数の畳み込みを行うことで、ヘッドホンの駆動信号を生成する際の演算量を大幅に低減させることができるとともに、演算時に必要となるメモリ量も大幅に低減させることができる。換言すれば、より効率よく音声を再生することができる。
【０１５８】
〈第１の実施の形態の変形例１〉
〈時間周波数ごとの次数の切捨てについて〉
ところで、行列H(ω)を構成する頭部伝達関数H(u(φj)-1xi,ω)は、環状調和領域において必要な次数が異なることが分かっており、このことは、例えば「Efficient Real Spherical Harmonic Representation of Head-Related Transfer Functions （Griffin D. Romigh et. al. , 2015）」などに記載されている。
【０１５９】
例えば頭部伝達関数の行列H’(ω)の対角成分のうち、各時間周波数ビンωにおいて必要な次数m＝N(ω)が分かっていれば、例えば以下の式（２２）の計算により左ヘッドホンの駆動信号Pl(φj,ω)を求めるようにするなどして、演算量を削減することが可能となる。これは右ヘッドホンについても同様である。
【０１６０】
【数２２】
2017119318.tif 000024
【０１６１】
式（２２）の計算は、基本的には式（２１）の計算と同じであるが、Σによる加算対象の範囲が、式（２１）では次数m＝-N乃至Nまでであったところを式（２２）では次数m＝-N(ω)乃至N(ω)（但し、N≧N(ω)）までとする点で異なっている。
【０１６２】
この場合、例えば図１０に示すように頭部伝達関数合成部９３において、行列H’(ω)の対角成分の一部分のみ、つまり次数m＝-N(ω)乃至N(ω)の各要素のみが畳み込み演算に用いられることになる。なお、図１０において図８における場合と対応する部分には同一の符号を付してあり、その説明は省略する。
【０１６３】
図１０では、文字「H’(ω)」が記された長方形が、頭部伝達関数合成部９３に保持されている各時間周波数ビンωの行列H’(ω)の対角成分を表しており、それらの対角成分の斜線部分が必要な次数m、つまり次数-N(ω)乃至次数N(ω)の要素部分を表している。
【０１６４】
このような場合、図９のステップＳ１３およびステップＳ１４では、式（２１）ではなく式（２２）の計算により頭部伝達関数の畳み込みと環状調和逆変換が行われる。
【０１６５】
このように行列H’(ω)の必要な次数の成分（要素）のみを用いて畳み込み演算を行い、他の次数については演算を行わないようにすることで、演算量と必要メモリ量をさらに削減することが可能となる。なお、行列H’(ω)の必要な次数は、時間周波数ビンωごとに設定可能とされる、つまり時間周波数ビンωごとに設定されるようにしてもよいし、全時間周波数ビンωで、必要な次数として共通の次数が設定されるようにしてもよい。
【０１６６】
ここで、一般手法と、上述した提案手法と、提案手法でさらに必要な次数mのみ演算を行う場合とでの演算量および必要メモリ量を図１１に示す。
【０１６７】
図１１において「環状調和関数の次数」の欄は、環状調和関数の最大次数｜m｜＝Nの値を示しており、「必要仮想スピーカ数」の欄は、正しく音場を再現するのに最低限必要となる仮想スピーカの数を示している。
【０１６８】
また、「演算量（一般手法）」の欄は、一般手法によりヘッドホンの駆動信号を生成するのに必要な積和演算の回数を示しており、「演算量（提案手法）」の欄は、提案手法によりヘッドホンの駆動信号を生成するのに必要な積和演算の回数を示している。
【０１６９】
さらに、「演算量（提案手法・次数-2）」の欄は、提案手法で、かつ次数N(ω)までを用いた演算によりヘッドホンの駆動信号を生成するのに必要な積和演算の回数を示している。この例では、特に次数mの上位2次分が切り捨てられて演算されない例となっている。
【０１７０】
ここで、これらの一般手法、提案手法、提案手法で次数N(ω)までを用いた演算を行う場合の各演算量の欄では、各時間周波数ビンωでの積和演算回数が記されている。
【０１７１】
また、「メモリ（一般手法）」の欄は、一般手法によりヘッドホンの駆動信号を生成するのに必要なメモリ量を示しており、「メモリ（提案手法）」の欄は、提案手法によりヘッドホンの駆動信号を生成するのに必要なメモリ量を示している。
【０１７２】
さらに「メモリ（提案手法・次数-2）」の欄は、提案手法で、かつ次数N(ω)までを用いた演算によりヘッドホンの駆動信号を生成するのに必要なメモリ量を示している。この例では、特に次数｜m｜の上位2次分が切り捨てられて演算されない例となっている。
【０１７３】
なお、図１１において記号「＊＊」が記されている欄では、次数-2が負となるので次数N＝0として計算が行われたことを示している。
【０１７４】
例えば図１１に示す例において、次数N＝4における演算量の欄に注目すると、提案手法での演算量は36となっている。これに対して、次数N＝4で、ある時間周波数ビンωに対して必要な次数がN(ω)＝2であった場合に、提案手法で、かつ次数N(ω)までを計算に用いる場合の演算量は4K＝4(2×2＋1)＝20となっている。したがって、もともとの次数Nが4であった場合と比べて演算量を55％まで削減できていることが分かる。
【０１７５】
〈第２の実施の形態〉
〈頭部伝達関数に関する必要メモリ量削減について〉
ところで、頭部伝達関数は、聴取者の頭部や耳介などの回折、反射により形成されるフィルタであるため、聴取者個人によって頭部伝達関数は異なる。そのため、頭部伝達関数を個人に最適化することはバイノーラル再生にとって重要なことである。
【０１７６】
しかしながら、個人の頭部伝達関数を想定される聴取者分だけ保持することはメモリ量の観点からふさわしくない。これは、頭部伝達関数を環状調和領域で保持している場合にもあてはまる。
【０１７７】
仮に個人に最適化された頭部伝達関数を提案手法を適用した再生系で用いる場合には、時間周波数ビンωごと、または全ての時間周波数ビンωにおいて、個人に依存しない次数と依存する次数を予め指定しておけば、必要な個人依存パラメータを削減することができる。また、身体形状などからの聴取者個人の頭部伝達関数の推定の際には、この環状調和領域での個人依存の係数（頭部伝達関数）を目的変数とすることも考えられる。
【０１７８】
ここで、個人に依存する次数とは、伝達特性がユーザ個人ごとに大きく異なる、つまり頭部伝達関数H’m(ω)がユーザごとに異なる次数mである。逆に、個人に依存しない次数とは、各個人の伝達特性の差が十分に小さい頭部伝達関数H’m(ω)の次数mである。
【０１７９】
このように個人に依存しない次数の頭部伝達関数と、個人に依存する次数の頭部伝達関数とから行列H’(ω)を生成する場合、例えば図８に示した音声処理装置８１の例では、図１２に示すように個人に依存する次数の頭部伝達関数が何らかの方法により取得される。なお、図１２において図８における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１８０】
図１２の例では、文字「H’(ω)」が記された長方形が時間周波数ビンωの行列H’(ω)の対角成分を表しており、その対角成分の斜線部分が、予め音声処理装置８１に保持されている部分、つまり個人に依存しない次数の頭部伝達関数H’m(ω)の部分を表している。これに対して、対角成分のうちの矢印Ａ91に示す部分は、個人に依存する次数の頭部伝達関数H’m(ω)の部分を表している。
【０１８１】
この例では、対角成分における斜線部分で表されている、個人に依存しない次数の頭部伝達関数H’m(ω)が、全ユーザで共通して用いられる頭部伝達関数である。これに対して、矢印Ａ91により示される、個人に依存する次数の頭部伝達関数H’m(ω)が、ユーザ個人ごとに最適化されたもの等、ユーザ個人ごとに異なるものが用いられる頭部伝達関数である。
【０１８２】
音声処理装置８１は、文字「個人別係数」が記された四角形により表される、個人に依存する次数の頭部伝達関数H’m(ω)を外部から取得し、その取得した頭部伝達関数H’m(ω)と、予め保持している個人に依存しない次数の頭部伝達関数H’m(ω)とから行列H’(ω)の対角線分を生成し、頭部伝達関数合成部９３に供給する。
【０１８３】
なお、ここでは、行列H’(ω)が全ユーザ共通で用いられる頭部伝達関数と、ユーザごとに用いられるものが異なる頭部伝達関数とから構成される例について説明するが、行列H’(ω)の0でない全要素がユーザごとに異なるものであるようにしてもよい。また、同じ行列H’(ω)が全ユーザで共通して用いられてもよい。
【０１８４】
また、生成された行列H’(ω)が図１３に示されるように時間周波数ビンωごとに異なる要素で構成され、図１４に示すように演算が行われる要素が時間周波数ビンωごとに異なってもよい。なお、図１４において図８における場合と対応する部分には同一の符号を付してあり、その説明は省略する。
【０１８５】
図１３では、矢印A101乃至矢印A106のそれぞれにより示される、文字「H’(ω)」が記された長方形が所定の時間周波数ビンωの行列H’(ω)の対角成分を表している。また、それらの対角成分の斜線部分が必要な次数mの要素部分を表している。
【０１８６】
例えば矢印A101乃至矢印A103のそれぞれにより示される例では、行列H’(ω)の対角成分のうち、互いに隣接する要素からなる部分が必要な次数の要素部分となっており、対角成分におけるそれらの要素部分の位置（領域）は各例で異なる位置となっている。
【０１８７】
これに対して、矢印A104乃至矢印A106のそれぞれにより示される例では、行列H’(ω)の対角成分のうち、互いに隣接する要素からなる複数の部分が必要な次数の要素部分となっている。これらの例では対角成分における必要な要素からなる部分の個数や位置、大きさは各例によって異なっている。
【０１８８】
また、図１４に示すように音声処理装置８１は、環状調和関数変換により対角化された頭部伝達関数のデータベース、つまり各時間周波数ビンωの行列H’(ω)に加えて、時間周波数ビンωごとに必要な次数mを示す情報を同時にデータベースとして持つことになる。
【０１８９】
図１４では、文字「H’(ω)」が記された長方形が、頭部伝達関数合成部９３に保持されている各時間周波数ビンωの行列H’(ω)の対角成分を表しており、それらの対角成分の斜線部分が必要な次数mの要素部分を表している。
【０１９０】
この場合、頭部伝達関数合成部９３において、例えば時間周波数ビンωごとに-N(ω)次からその時間周波数ビンωで必要な次数m＝N(ω)まで、頭部伝達関数と入力信号D’m(ω)との積が求められる。つまり、上述した式（２２）におけるH’m(ω)D’m(ω)の計算が行われる。これにより、頭部伝達関数合成部９３において、不必要な次数の計算を削減することが可能となる。
【０１９１】
〈音声処理装置の構成例〉
行列H’(ω)を生成する場合、音声処理装置８１は、例えば図１５に示すように構成される。なお、図１５において図８における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１９２】
図１５に示す音声処理装置８１は、頭部方向センサ部９１、頭部方向選択部９２、行列生成部２０１、頭部伝達関数合成部９３、環状調和逆変換部９４、および時間周波数逆変換部９５を有している。
【０１９３】
図１５に示す音声処理装置８１の構成は、図８に示した音声処理装置８１にさらに行列生成部２０１を設けた構成となっている。
【０１９４】
行列生成部２０１は、個人に依存しない次数の頭部伝達関数を予め保持しており、外部から個人に依存する次数の頭部伝達関数を取得し、取得した頭部伝達関数と、予め保持している個人に依存しない次数の頭部伝達関数とから行列H’(ω)を生成し、頭部伝達関数合成部９３に供給する。
【０１９５】
〈駆動信号生成処理の説明〉
続いて、図１６のフローチャートを参照して、図１５に示した構成の音声処理装置８１により行われる駆動信号生成処理について説明する。
【０１９６】
ステップＳ７１において、行列生成部２０１はユーザ設定を行う。例えば行列生成部２０１は、ユーザ等による入力操作等に応じて、今回再生される音声を聴取する聴取者に関する情報を特定するユーザ設定を行う。
【０１９７】
そして、行列生成部２０１はユーザ設定に応じて、今回再生される音声を聴取する聴取者、つまりユーザについて、個人に依存する次数のユーザの頭部伝達関数を外部の装置等から取得する。なお、ユーザの頭部伝達関数は、例えばユーザ設定時にユーザ等による入力操作により指定されたものでもよいし、ユーザ設定で定められた情報に基づいて決定されるものでもよい。
【０１９８】
ステップＳ７２において、行列生成部２０１は、頭部伝達関数の行列H’(ω)を生成し、頭部伝達関数合成部９３に供給する。
【０１９９】
すなわち、行列生成部２０１は、個人に依存する次数の頭部伝達関数を取得すると、その取得した頭部伝達関数と、予め保持している個人に依存しない次数の頭部伝達関数とから行列H’(ω)を生成し、頭部伝達関数合成部９３に供給する。このとき、行列生成部２０１は、予め保持している各時間周波数ビンωの必要な次数mを示す情報に基づいて、必要な次数の要素のみからなる行列H’(ω)を、時間周波数ビンωごとに生成する。
【０２００】
すると、その後、ステップＳ７３乃至ステップＳ７７の処理が行われて駆動信号生成処理は終了するが、これらの処理は図９のステップＳ１１乃至ステップＳ１５の処理と同様であるので、その説明は省略する。これらのステップＳ７３乃至ステップＳ７７では、環状調和領域において入力信号に頭部伝達関数が畳み込まれ、ヘッドホンの駆動信号が生成される。なお、行列H’(ω)の生成は、予め行われてもよいし、入力信号が供給されてから行われるようにしてもよい。
【０２０１】
以上のようにして音声処理装置８１は、環状調和領域において入力信号に頭部伝達関数を畳み込み、その畳み込み結果に対して環状調和逆変換を行って、左右のヘッドホンの駆動信号を算出する。
【０２０２】
このように、環状調和領域において頭部伝達関数の畳み込みを行うことで、ヘッドホンの駆動信号を生成する際の演算量を大幅に低減させることができるとともに、演算時に必要となるメモリ量も大幅に低減させることができる。換言すれば、より効率よく音声を再生することができる。
【０２０３】
特に、音声処理装置８１では、個人に依存する次数の頭部伝達関数を外部から取得して行列H’(ω)を生成するようにしたので、メモリ量をさらに削減することができるだけでなく、ユーザ個人に適した頭部伝達関数を用いて適切に音場を再現することができる。
【０２０４】
なお、ここでは音声処理装置８１に対して、個人に依存する次数の頭部伝達関数を外部から取得して必要な次数の要素のみからなる行列H’(ω)を生成する技術を適用する例について説明した。しかし、そのような例に限らず、不要な次数の削減を行わないようにしてもよい。
【０２０５】
〈対象となる入力と頭部伝達関数群について〉
ところで、以上で行ってきた議論では、保持する頭部伝達関数および初期頭部方向に対する仮想的なスピーカ配置がどのような平面に対して環状に置かれているかは問われない。
【０２０６】
例えば、保持する頭部伝達関数および初期頭部位置に対する仮想的なスピーカの配置位置は、図１７の矢印A111に示すように水平面上であってもよいし、矢印A112に示すように正中面上であってもよいし、また矢印A113に示すように冠状面上であってもよい。つまり、聴取者の頭部中心を中心とするどのような環（以下、環Aと称する）上に仮想的なスピーカが配置されてもよい。
【０２０７】
矢印A111に示す例では、ユーザU11の頭部を中心とする水平面上の環RG11に仮想スピーカが環状に配置される。また、矢印A112に示す例では、ユーザU11の頭部を中心とする正中面上の環RG12に仮想スピーカが環状に配置され、矢印A113に示す例では、ユーザU11の頭部を中心とする冠状面上の環RG13に仮想スピーカが環状に配置される。
【０２０８】
また、保持する頭部伝達関数および初期頭部方向に対する仮想的なスピーカの配置位置は、例えば図１８に示すように、ある環Aが含まれる面と垂直な方向に、その環Aを移動させた位置とされてもよい。以下では、このような環Aを移動させたものを環Bと称することとする。なお、図１８において図１７における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０２０９】
図１８の矢印A121に示す例では、ユーザU11の頭部を中心とする水平面上の環RG11を図中、上下方向に移動させた環RG21や環RG22に仮想スピーカが環状に配置される。この例では、環RG21や環RG22が環Bとなる。
【０２１０】
また、矢印A122に示す例では、ユーザU11の頭部を中心とする正中面上の環RG12を図中、奥行き方向に移動させた環RG23や環RG24に仮想スピーカが環状に配置される。矢印A123に示す例では、ユーザU11の頭部を中心とする冠状面上の環RG13を図中、左右方向に移動させた環RG25や環RG26に仮想スピーカが環状に配置される。
【０２１１】
さらに、保持する頭部伝達関数および初期頭部方向に対する仮想的なスピーカの配置について、図１９に示すように、所定方向に並ぶ複数の環のそれぞれについて入力がある場合、それぞれの環に対して前述のシステムを組むことができる。但し、センサやヘッドホンなど共通化可能なものは適宜共通化してもよい。なお、図１９において図１８における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０２１２】
例えば図１９の矢印A131に示す例では、図中、上下方向に並ぶ環RG11、環RG21、および環RG22ごとに上述のシステムを組むことができる。同様に、矢印A132に示す例では、図中、奥行き方向に並ぶ環RG12、環RG23、および環RG24ごとに上述のシステムを組むことができ、矢印A133に示す例では、図中、左右方向に並ぶ環RG13、環RG25、および環RG26ごとに上述のシステムを組むことができる。
【０２１３】
さらに、図２０に示すように、聴取者であるユーザU11の頭部中心を通るある直線が含まれる面を持つ環Aの群（以下、環Adiと称する）について、対角化された頭部伝達関数の行列H’i(ω)を複数用意することもできる。なお、図２０において図１９における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０２１４】
図２０に示す例では、例えば矢印A141乃至矢印A143のそれぞれに示される例では、ユーザU11の頭部の周囲にある複数の円のそれぞれが各環Adiを表している。
【０２１５】
この場合、入力は初期頭部方向に対する環Adiの何れかについての頭部伝達関数の行列H’i(ω)とされ、ユーザの頭部方向の変化によって、最適な環Adiの行列H’i(ω)を選ぶプロセスが前述のシステムに対して加わえられることとなる。
【０２１６】
〈コンピュータの構成例〉
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどが含まれる。
【０２１７】
図２１は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０２１８】
コンピュータにおいて、ＣＰＵ（Central Processing Unit）５０１，ＲＯＭ（Read Only Memory）５０２，ＲＡＭ（Random Access Memory）５０３は、バス５０４により相互に接続されている。
【０２１９】
バス５０４には、さらに、入出力インターフェース５０５が接続されている。入出力インターフェース５０５には、入力部５０６、出力部５０７、記録部５０８、通信部５０９、及びドライブ５１０が接続されている。
【０２２０】
入力部５０６は、キーボード、マウス、マイクロホン、撮像素子などよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記録部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインターフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体５１１を駆動する。
【０２２１】
以上のように構成されるコンピュータでは、ＣＰＵ５０１が、例えば、記録部５０８に記録されているプログラムを、入出力インターフェース５０５及びバス５０４を介して、ＲＡＭ５０３にロードして実行することにより、上述した一連の処理が行われる。
【０２２２】
コンピュータ（ＣＰＵ５０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体５１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０２２３】
コンピュータでは、プログラムは、リムーバブル記録媒体５１１をドライブ５１０に装着することにより、入出力インターフェース５０５を介して、記録部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記録部５０８にインストールすることができる。その他、プログラムは、ＲＯＭ５０２や記録部５０８に、あらかじめインストールしておくことができる。
【０２２４】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２２５】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０２２６】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２２７】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２２８】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２２９】
また、本明細書中に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【０２３０】
さらに、本技術は、以下の構成とすることも可能である。
【０２３１】
（１）
環状調和領域の入力信号、または球面調和領域の入力信号のうちの環状調和領域に対応する部分と、対角化された頭部伝達関数とを合成する頭部伝達関数合成部と、
前記合成により得られた信号を環状調和関数に基づいて環状調和逆変換することで、時間周波数領域のヘッドホン駆動信号を生成する環状調和逆変換部と
を備える音声処理装置。
（２）
前記頭部伝達関数合成部は、複数の頭部伝達関数からなる行列を環状調和関数変換により対角化して得られた対角行列と、環状調和関数の各次数に対応する前記入力信号からなるベクトルとの積を求めることで、前記入力信号と前記対角化された頭部伝達関数とを合成する
（１）に記載の音声処理装置。
（３）
前記頭部伝達関数合成部は、前記対角行列の対角成分のうちの時間周波数ごとに設定可能な所定の前記次数の要素のみを用いて、前記入力信号と前記対角化された頭部伝達関数との合成を行う
（２）に記載の音声処理装置。
（４）
前記対角行列には、各ユーザで共通して用いられる前記対角化された頭部伝達関数が要素として含まれている
（２）または（３）に記載の音声処理装置。
（５）
前記対角行列には、ユーザ個人に依存する前記対角化された頭部伝達関数が要素として含まれている
（２）乃至（４）の何れか一項に記載の音声処理装置。
（６）
前記対角行列を構成する、各ユーザで共通する前記対角化された頭部伝達関数を予め保持するとともに、ユーザ個人に依存する前記対角化された頭部伝達関数を取得して、取得した前記対角化された頭部伝達関数と、予め保持している前記対角化された頭部伝達関数とから前記対角行列を生成する行列生成部をさらに備える
（２）または（３）に記載の音声処理装置。
（７）
前記環状調和逆変換部は、各方向の環状調和関数からなる環状調和関数行列を保持しており、前記球面調和関数行列の所定方向に対応する行に基づいて、前記環状調和逆変換を行う
（１）乃至（６）の何れか一項に記載の音声処理装置。
（８）
前記ヘッドホン駆動信号に基づく音声を聴取するユーザの頭部の方向を取得する頭部方向取得部をさらに備え、
前記環状調和逆変換部は、前記環状調和関数行列における前記ユーザの頭部の方向に対応する行に基づいて、前記環状調和逆変換を行う
（７）に記載の音声処理装置。
（９）
前記ユーザの頭部の回転を検出する頭部方向センサ部をさらに備え、
前記頭部方向取得部は、前記頭部方向センサ部による検出結果を取得することで、前記ユーザの頭部の方向を取得する
（８）に記載の音声処理装置。
（１０）
前記ヘッドホン駆動信号を時間周波数逆変換する時間周波数逆変換部をさらに備える
（１）乃至（９）の何れか一項に記載の音声処理装置。
（１１）
環状調和領域の入力信号、または球面調和領域の入力信号のうちの環状調和領域に対応する部分と、対角化された頭部伝達関数とを合成し、
前記合成により得られた信号を環状調和関数に基づいて環状調和逆変換することで、時間周波数領域のヘッドホン駆動信号を生成する
ステップを含む音声処理方法。
（１２）
環状調和領域の入力信号、または球面調和領域の入力信号のうちの環状調和領域に対応する部分と、対角化された頭部伝達関数とを合成し、
前記合成により得られた信号を環状調和関数に基づいて環状調和逆変換することで、時間周波数領域のヘッドホン駆動信号を生成する
ステップを含む処理をコンピュータに実行させるプログラム。
【符号の説明】
【０２３２】
８１  音声処理装置，  ９１  頭部方向センサ部，  ９２  頭部方向選択部，  ９３  頭部伝達関数合成部，  ９４  環状調和逆変換部，  ９５  時間周波数逆変換部，  ２０１  行列生成部
【図１】
2017119318.tif 000025
【図２】
2017119318.tif 000026
【図３】
2017119318.tif 000027
【図４】
2017119318.tif 000028
【図５】
2017119318.tif 000029
【図６】
2017119318.tif 000030
【図７】
2017119318.tif 000031
【図８】
2017119318.tif 000032
【図９】
2017119318.tif 000033
【図１０】
2017119318.tif 000034
【図１１】
2017119318.tif 000035
【図１２】
2017119318.tif 000036
【図１３】
2017119318.tif 000037
【図１４】
2017119318.tif 000038
【図１５】
2017119318.tif 000039
【図１６】
2017119318.tif 000040
【図１７】
2017119318.tif 000041
【図１８】
2017119318.tif 000042
【図１９】
2017119318.tif 000043
【図２０】
2017119318.tif 000044
【図２１】
2017119318.tif 000045
【国際調査報告】
2017119318.tif 000046
2017119318.tif 000047
2017119318.tif 000048
2017119318.tif 000049