以下、図面を参照して、本技術を適用した実施の形態について説明する。
〈第1の実施の形態〉
〈本技術の概要について〉
まず、図1乃至図5を参照して、本技術の概要について説明する。なお、図1乃至図5において、対応する部分には同一の符号を付してあり、その説明は適宜省略する。
例えば、図1に示すように、音声付の動画像や楽曲などのコンテンツを視聴するユーザU11が、2つのスピーカSP1およびスピーカSP2から出力される2チャンネルの音声をコンテンツの音声として聴いているとする。
このような場合に、各チャンネルの音声を出力する2つのスピーカSP1とスピーカSP2の位置情報を用いて、音像位置VSP1に音像を定位させることを考える。
例えば、ユーザU11の頭部の位置を原点Oとし、図中、縦方向および横方向をx軸方向およびy軸方向とする2次元座標系における音像位置VSP1を、原点Oを始点とするベクトルpにより表すこととする。
ベクトルpは2次元のベクトルであるため、原点Oを始点とし、それぞれスピーカSP1およびスピーカSP2の位置の方向を向くベクトルl1およびベクトルl2の線形和によってベクトルpを表すことができる。すなわち、ベクトルpは、ベクトルl1およびベクトルl2を用いて次式(1)により表すことができる。
式(1)においてベクトルl1およびベクトルl2に乗算されている係数g1および係数g2を算出し、これらの係数g1および係数g2を、スピーカSP1およびスピーカSP2のそれぞれから出力する音声のゲインとすれば、音像位置VSP1に音像を定位させることができる。すなわち、ベクトルpにより示される位置に音像を定位させることができる。
このようにして、2つのスピーカSP1とスピーカSP2の位置情報を用いて係数g1および係数g2を求め、音像の定位位置を制御する手法は、2次元VBAPと呼ばれている。
図1の例では、スピーカSP1とスピーカSP2を結ぶ円弧AR11上の任意の位置に音像を定位させることができる。ここで、円弧AR11は、原点Oを中心とし、スピーカSP1およびスピーカSP2の各位置を通る円の一部分である。このような円弧AR11が2次元VBAPにおける1つのメッシュ(以下、2次元メッシュとも称する)とされる。
なお、ベクトルpは2次元ベクトルであるので、ベクトルl1とベクトルl2のなす角度が0度より大きく、180度未満である場合、ゲインとされる係数g1および係数g2は一意に求まる。これらの係数g1および係数g2の算出方法については、上述した非特許文献1に詳細に記載されている。
これに対して、3チャンネルの音声を再生しようとする場合には、例えば図2に示すように、音声を出力するスピーカの数は3つになる。
図2の例では、3つのスピーカSP1、スピーカSP2、およびスピーカSP3から各チャンネルの音声が出力される。
このような場合においても、スピーカSP1乃至スピーカSP3から出力される各チャンネルの音声のゲイン、つまりゲインとして求める係数が3つになるだけで、考え方は上述した2次元VBAPと同様である。
すなわち、音像位置VSP2に音像を定位させようとする場合に、ユーザU11の頭部の位置を原点Oとする3次元座標系において、音像位置VSP2を、原点Oを始点とする3次元のベクトルpにより表すこととする。
また、原点Oを始点とし、各スピーカSP1乃至スピーカSP3の位置の方向を向く3次元のベクトルをベクトルl1乃至ベクトルl3とすると、ベクトルpは次式(2)に示すように、ベクトルl1乃至ベクトルl3の線形和によって表すことができる。
式(2)においてベクトルl1乃至ベクトルl3に乗算されている係数g1乃至係数g3を算出し、これらの係数g1乃至係数g3を、スピーカSP1乃至スピーカSP3のそれぞれから出力する音声のゲインとすれば、音像位置VSP2に音像を定位させることができる。
このようにして、3つのスピーカSP1乃至スピーカSP3の位置情報を用いて係数g1乃至係数g3を求め、音像の定位位置を制御する手法は、3次元VBAPと呼ばれている。
図2の例では、スピーカSP1、スピーカSP2、およびスピーカSP3の位置を含む球面上の三角形の領域TR11内の任意の位置に音像を定位させることができる。ここで、領域TR11は、原点Oを中心とし、スピーカSP1乃至スピーカSP3の各位置を通る球の表面上の領域であって、スピーカSP1乃至スピーカSP3により囲まれる3角形の領域である。3次元VBAPでは、領域TR11が1つのメッシュ(以下、3次元メッシュとも称する)とされる。
このような3次元VBAPを用いれば、空間上の任意の位置に音像を定位させることができるようになる。
例えば図3に示すように、音声を出力させるスピーカの数を増やして、図2に示した三角形の領域TR11に相当する領域を空間上に複数設ければ、それらの領域上の任意の位置に音像を定位させることができる。
図3に示す例では、5つのスピーカSP1乃至スピーカSP5が配置されており、それらのスピーカSP1乃至スピーカSP5から各チャンネルの音声が出力される。ここで、スピーカSP1乃至スピーカSP5は、ユーザU11の頭部の位置にある原点Oを中心とする球面上に配置されている。
この場合、原点Oを始点とし、各スピーカSP1乃至スピーカSP5の位置の方向を向く3次元のベクトルをベクトルl1乃至ベクトルl5として、上述した式(2)を解く計算と同様の計算を行い、各スピーカから出力される音声のゲインを求めればよい。
ここで、原点Oを中心とする球面上の領域のうち、スピーカSP1、スピーカSP4、およびスピーカSP5により囲まれる三角形の領域を領域TR21とする。同様に、原点Oを中心とする球面上の領域のうち、スピーカSP3、スピーカSP4、およびスピーカSP5により囲まれる三角形の領域を領域TR22とし、スピーカSP2、スピーカSP3、およびスピーカSP5により囲まれる三角形の領域を領域TR23とする。
これらの領域TR21乃至領域TR23は、図2に示した領域TR11に対応する領域である。すなわち、図3の例では、領域TR21乃至領域TR23のそれぞれがメッシュとされる。いま、音像を定位させたい位置を示す3次元のベクトルをベクトルpとすると、図3の例では、ベクトルpは領域TR21上の位置を示している。
そこで、この例ではスピーカSP1、スピーカSP4、およびスピーカSP5の位置を示すベクトルl1、ベクトルl4、およびベクトルl5が用いられて式(2)を解く計算と同様の計算が行なわれ、スピーカSP1、スピーカSP4、およびスピーカSP5の各スピーカから出力される音声のゲインが算出される。また、この場合、他のスピーカSP2およびスピーカSP3から出力される音声のゲインは0とされる。つまり、これらのスピーカSP2およびスピーカSP3からは、音声は出力されない。
このように空間上に5つのスピーカSP1乃至スピーカSP5を配置すれば、領域TR21乃至領域TR23からなる領域上の任意の位置に音像を定位させることが可能となる。
ところで、空間上に複数のメッシュがあり、全てのメッシュの範囲外にある音像の係数を式(2)によりそのまま計算すると、係数g1乃至係数g3のうちの少なくとも1つが負の値となり、VBAPでの音像定位ができなくなってしまう。
しかし、音像を何れかのメッシュの範囲内に移動させれば、従来通りにVBAPで音像を定位させることができるようになる。
但し、音像を移動させると、もともと音像を定位させたい移動前の位置と離れてしまうので、音像の移動は最小限にすべきである。
例えば図4に示すように、再生しようとする音像位置RSP11にある音像を、スピーカSP1乃至スピーカSP3を囲むメッシュとしての領域TR11内に移動させることを考える。
このとき、移動させる音像の水平方向位置、つまり図中、横方向の位置を固定させ、音像を音像位置RSP11から垂直方向にのみ動かして、スピーカSP1とスピーカSP2とを結ぶ弧上に移動させれば、音像の移動量を最小限に抑えることができる。
この例では、音像位置RSP11にあった音像の移動先は、音像位置VSP11となる。一般的に人の聴覚は、音像の垂直方向への移動に比べて水平方向への移動に対して敏感である。したがって、音像位置を水平方向に固定して垂直方向にのみ移動させれば、音像の移動による音質の劣化も抑制することができる。
しかし、従来の技術においては音像を移動させようとすると膨大な演算が必要であるだけでなく、音像位置VSP11などのメッシュの境界上に音像を移動させることができなかった。
具体的には、従来の技術(例えばhttp://www.acoustics.hut.fi/research/cat/vbap/参照)では、まずメッシュごとに対象となる位置に音像を定位させるためのVBAPの計算が行われる。そして、ゲインとなる係数が全て正の値となるメッシュがあれば、音像の位置はそのメッシュ内にあるとされ、音像の移動は不要であるとされる。
一方、音像の位置が何れのメッシュ内にもない場合には、音像が垂直方向に移動される。音像を垂直方向に移動させる場合、予め定められた定量値だけ音像が垂直方向に移動され、移動後の音像位置についてメッシュごとにVBAPの計算が行われ、ゲインとなる係数が求められる。そして、メッシュについて算出された係数が全て正の値となるメッシュがある場合、そのメッシュが移動後の音像位置を含むメッシュとされて、算出された係数により音声信号に対するゲイン調整が行われる。
これに対して、全ての係数が正の値となるメッシュがない場合には、音像の位置がさらに定量値だけ移動され、音像位置が何れかのメッシュ内に移動されるまで上述した処理が繰り返し行われる。
したがって、移動後の音像位置がメッシュの境界上に位置することはほとんどなく、音像の移動量を最小限に抑えることができなかった。その結果、音像の移動量も大きくなって移動前のもとの音像位置からも大きく離れてしまうことになる。
また、音像の移動時には移動後の音像がメッシュ内に位置するか否かの演算を、音像を移動させるたびに各メッシュに対して行わなければならないので、演算量が膨大になってしまうおそれがあった。
そこで、本技術では、まずVBAPの計算を行う前に、定位させたい音像が全メッシュの範囲外にあるか否かを特定する。そして、音像がメッシュ外にある場合には、その音像を垂直方向の最も近いメッシュの境界上に移動させることにより、音像の移動量を最小限に抑えるとともに、音像の定位に必要な演算量を削減できるようにする。
以下、本技術について説明していく。
本技術では、音像位置や、音声を再生するスピーカの位置は、例えば図5に示すように水平方向角度θ、垂直方向角度γ、および視聴者までの距離rで表されるものとする。
例えば、図示せぬスピーカから出力される各オブジェクトの音声を聴いている視聴者の位置を原点Oとし、図中、右上方向、左上方向、および上方向を互いに垂直なx軸、y軸、およびz軸の方向とする3次元座標系を考える。このとき、1つのオブジェクトに対応する音像(音源)の位置を音像位置RSP21とすると、3次元座標系における音像位置RSP21に音像を定位させればよい。
また、音像位置RSP21と原点Oとを結ぶ直線を直線Lとすると、xy平面上において直線Lとx軸とがなす図中、水平方向の角度(方位角)が、音像位置RSP21の水平方向の位置を示す水平方向角度θとなり、水平方向角度θは-180°≦θ≦180°を満たす任意の値とされる。
例えばx軸方向の正の方向がθ=0°とされ、x軸方向の負の方向がθ=+180°=-180°とされる。また、原点Oを中心に反時計回りの方向がθの+方向とされ、原点Oを中心に時計回りの方向がθの−方向とされる。
さらに、直線Lとxy平面とがなす角度、つまり図中、垂直方向の角度(仰角)が、音像位置RSP21の垂直方向の位置を示す垂直方向角度γとなり、垂直方向角度γは-90°≦γ≦90°を満たす任意の値とされる。例えばxy平面の位置がγ=0°とされ、図中、上方向が垂直方向角度γの+方向とされ、図中、下方向が垂直方向角度γの−方向とされる。
また、直線Lの長さ、つまり原点Oから音像位置RSP21までの距離が視聴者までの距離rとされ、距離rは0以上の値とされる。すなわち、距離rは、0≦r≦∞を満たす値とされる。但し、VBAPでは、全てのスピーカと音像から視聴者までの距離rが同一であり、距離rを1に正規化して計算を行うのが一般的な方式であるので、以下では各スピーカや音像の位置は距離r=1であるものとして説明を続ける。
また、以下ではVBAPに用いられるメッシュがN個あるものとし、n番目(但し、1≦n≦N)のメッシュを構成する3つのスピーカの各位置を、水平方向角度θと垂直方向角度γを用いて(θn1,γn1)、(θn2,γn2)、および(θn3,γn3)と定義することとする。すなわち、例えばn番目のメッシュを構成する1つ目のスピーカの水平方向角度θがθn1で表され、そのスピーカの垂直方向角度γがγn1で表される。
なお、2次元VBAPの場合は、メッシュを構成する2つのスピーカの各位置が、水平方向角度θと垂直方向角度γが用いられて(θn1,γn1)、および(θn2,γn2)と定義される。
まず、本技術により移動対象となる音像(以下、対象音像とも称することとする)を、所定のメッシュの境界線上、つまりメッシュ境界の円弧上に移動させる方法について説明する。
上述した3次元VBAPでは、次式(3)によって、三角形状のメッシュの逆行列L123 −1と対象音像の位置pから3つの係数g1乃至係数g3を計算により得ることができる。
なお、式(3)においてp1、p2、およびp3は、対象音像の位置を示す直交座標系、すなわち図5に示したxyz座標系上のx軸、y軸、およびz軸の座標を示している。
またl11、l12、およびl13は、メッシュを構成する1つ目のスピーカへ向くベクトルl1をx軸、y軸、およびz軸の成分に分解した場合におけるx成分、y成分、およびz成分の値であり、1つ目のスピーカのx座標、y座標、およびz座標に相当する。
同様に、l21、l22、およびl23は、メッシュを構成する2つ目のスピーカへ向くベクトルl2をx軸、y軸、およびz軸の成分に分解した場合におけるx成分、y成分、およびz成分の値である。また、l31、l32、およびl33は、メッシュを構成する3つ目のスピーカへ向くベクトルl3をx軸、y軸、およびz軸の成分に分解した場合におけるx成分、y成分、およびz成分の値である。
また、以下、メッシュの逆行列L123 −1の各要素を次式(4)に示すように記すこととする。
さらに、xyz座標系から球座標系の座標θ、γ、およびrへの変換は、r=1である場合には次式(5)に示すように定義されている。
VBAPでは、メッシュの境界である1つの弧上に音像を定位させる場合、その弧上にないスピーカのゲイン(係数)の値は0となる。そのため、対象音像をメッシュの1つの境界上に移動させると、移動後の位置に音像を定位させるための各スピーカのゲイン、より詳細には各スピーカで再生される音声信号のゲインのうちの1つのゲインは0となる。
このことから、音像をメッシュの境界上に移動させることは、メッシュを構成する3つのスピーカのうちの1つのスピーカのゲインが0となる位置に、音像を移動させることであるということができる。
例えば、対象音像の水平方向角度θを固定したまま、3つのスピーカのうち、i番目(但し、1≦i≦3)のスピーカのゲインgiが0となる位置に対象音像を移動させたとすると、式(3)から式変形により得られる次式(6)が成立する。
この式(6)で表される方程式を解くと、次式(7)が得られる。
式(7)では、垂直方向角度γが対象音像の移動先の位置の垂直方向角度である。また、式(7)では、水平方向角度θが対象音像の移動先の水平方向角度であるが、対象音像を水平方向に移動させないので、この水平方向角度θは、対象音像の移動前の水平方向角度θの値と同じである。
したがって、メッシュの逆行列L123 −1、対象音像の移動前の水平方向角度θ、およびメッシュを構成する、ゲイン(係数)が0となるスピーカが分かれば、対象音像の移動先の位置の垂直方向角度γを得ることができる。なお、以下では、対象音像の移動先の位置を移動目的位置とも称することとする。
なお、以上においては、3次元VBAPが行われる場合について移動目的位置の算出方法を説明したが、2次元VBAPが行われる場合においても、3次元VBAPの場合と同様の計算により移動目的位置を算出することができる。
具体的には、2次元VBAPの場合、メッシュを構成する2つのスピーカの他に、その2つのスピーカを通る大円上にない任意の位置に仮想的なスピーカを1つ追加すれば、2次元VBAPの問題を3次元VBAPの問題の場合と同じ考えで解くことが可能となる。すなわち、メッシュを構成する2つのスピーカと、追加された仮想的なスピーカについて上述した式(7)を計算すれば、対象音像の移動目的位置を求めることができる。この場合、追加した仮想的な1つのスピーカのゲイン(係数)が0となる位置が対象音像を移動させるべき位置となる。
なお、3次元VBAPの場合においても、メッシュの1つの境界の両端に位置する2つのスピーカの他に、その2つのスピーカを通る大円上にない任意の位置に仮想的なスピーカを1つ追加して式(7)を計算しても移動目的位置を求めることが可能である。
したがって、式(7)では、少なくとも対象音像の移動先となる、メッシュの境界の両端に位置する2つのスピーカの位置情報と、対象音像の水平方向角度θとが分かれば、対象音像の移動目的位置を求めることができる。
また、メッシュの逆行列L123 −1を求める計算方法は、VBAPにより各スピーカのゲイン(係数)を導く場合と同じであり、その計算方法は上述した非特許文献1に記載されている。したがって、ここでは逆行列の計算方法の詳細な説明は省略する。
続いて、音像の移動が必要な場合に、視聴者であるユーザがいる空間において、ユーザを囲むように配置された全メッシュのうち、音像の移動先となる位置にあるメッシュと、そのメッシュを構成するスピーカのうちのゲインが0となるスピーカを検出する方法について説明する。また、音像の移動が必要ない場合に、その音像位置が含まれている可能性のあるメッシュを検出する方法についても説明する。
まず、後段で各オブジェクトの音声に対して3次元VBAPが行われるか、または2次元VBAPが行われるかが特定され、その特定結果に応じた処理が行われる。
例えば、ユーザがいる空間にあるメッシュが全て2次元メッシュ、つまり2つのスピーカから構成されるメッシュである場合には、2次元VBAPが行われるとされる。これに対して、全メッシュのうち1つでも3次元メッシュ、つまり3つのスピーカから構成されるメッシュが含まれている場合には、3次元VBAPが行われるとされる。
〈2次元VBAPの場合の処理〉
後段で2次元VBAPが行われるとされた場合、以下の処理2D(1)乃至処理2D(4)が行われて、音像の移動が必要か否かと、その移動先とが求められる。
(処理2D(1))
まず、処理2D(1)として、n番目の2次元メッシュの両端の位置、つまり2つのスピーカを結ぶメッシュ境界である弧の両端の位置を左限位置および右限位置とし、左限位置の水平方向角度である左限値θnlと、右限位置の水平方向角度である右限値θnrが次式(8)により求められる。
一般的には、n番目の2次元メッシュを構成する1つ目のスピーカの水平方向角度θn1と2つ目のスピーカの水平方向角度θn2のうち、角度θが小さい方が左限値θnlとされ、大きい方が右限値θnrとされる。つまり、より水平方向角度が小さい方のスピーカ位置が左限位置とされ、より水平方向角度が大きい方のスピーカ位置が右限位置とされる。
但し、メッシュ境界である弧が球座標系におけるθ=180°の点を包含する場合、すなわち、2つのスピーカの水平方向角度の差分が180°を超える場合には、より水平方向角度が大きい方のスピーカ位置が左限位置とされる。
式(8)の計算により左限値と右限値を定める処理がN個のメッシュについて行われる。
(処理2D(2))
続いて、処理2D(2)では、全てのメッシュについて左限値と右限値が定められると、次式(9)の演算により、全メッシュのなかから、対象音像の水平方向角度θにより示される水平方向位置を包含するメッシュが検出される。すなわち、水平方向において、左限位置と右限位置の間に対象音像が位置するようなメッシュが検出される。
但し、対象音像の水平方向位置を包含するメッシュが1つも検出されなかった場合には、対象音像の位置に最も近い左限位置または右限位置を有するメッシュが検出され、その結果検出されたメッシュの左限位置または右限位置となるスピーカ位置が対象音像の移動先の位置とされる。この場合、検出されたメッシュを示す情報が出力され、後述する処理2D(3)および処理2D(4)は不要となる。
(処理2D(3))
処理2D(2)により、対象音像の水平方向位置を包含するメッシュが検出されると、処理2D(3)が行われ、検出された各メッシュについて、そのメッシュについての対象音像の移動目的位置の候補である移動目的候補位置が算出される。
なお、移動目的候補位置は、水平方向角度θと垂直方向角度γにより特定されるが、水平方向角度は固定されたままとされるので、以下では移動目的候補位置を示す垂直方向角度を、単に移動目的候補位置とも称することとする。
処理2D(3)では、まずは処理対象であるn番目のメッシュの左限値と右限値が同じであるか否かが特定される。
そして、左限値と右限値が同じである場合には、左限位置の垂直方向角度と、右限位置の垂直方向角度のうち、より対象音像の垂直方向角度γに近い垂直方向角度、つまり差分がより小さい方の垂直方向角度が移動目的候補位置γnDとされる。すなわち、より詳細には右限位置と左限位置のうち、より対象音像に近い方の垂直方向角度が、n番目のメッシュについて求められた移動目的候補位置を示す垂直方向角度γnDとされる。
これに対して、左限値と右限値が異なる場合、2次元のメッシュにさらに1つの仮想的なスピーカが追加され、その仮想的なスピーカと、右限位置および左限位置にあるスピーカとからなる三角形状の3次元メッシュが構成される。例えば、仮想的なスピーカとして、ユーザの真上、つまり垂直方向角度γ=90°の位置(以下、トップ位置とも称する)に配置されたトップスピーカが追加される。
そして、この3次元メッシュの逆行列L123 −1が計算により求められ、上述した式(7)によって、追加された仮想的なスピーカの係数(ゲイン)が0となる場合における垂直方向角度が、対象音像の移動目的候補位置γnDとして求められる。
式(7)では、左限位置と右限位置にあるスピーカの位置情報と、対象音像の水平方向角度θとが分かれば、移動目的候補位置γnDを求めることができる。
(処理2D(4))
処理2D(3)によりメッシュごとに移動目的候補位置γnDが求められると、処理2D(4)では求めた移動目的候補位置γnDに基づいて、対象音像の移動が必要であるか否かが判定され、その判定結果に応じて音像位置の移動が行われる。
具体的には、求められた移動目的候補位置γnDのなかから、移動前の対象音像の垂直方向角度γと最も垂直方向角度が近いものが検出され、検出により得られた移動目的候補位置γnDが対象音像の垂直方向角度γと一致するか否かが判定される。
このとき、移動目的候補位置γnDが対象音像の垂直方向角度γと一致する場合には、移動目的候補位置γnDにより特定される位置は、移動前の対象音像の位置そのものであるから、対象音像の移動は必要ないとされる。この場合、処理2D(2)で検出された、対象音像の水平方向位置を包含する各メッシュを示す情報(以下、識別情報とも称する)が出力され、2次元VBAPの計算が行われるメッシュを示す情報として利用される。
なお、対象音像の垂直方向角度γと一致する移動目的候補位置γnDを算出したメッシュが、対象音像が位置しているメッシュであるので、そのメッシュを示す識別情報のみが出力されるようにしてもよい。
これに対して、移動目的候補位置γnDが対象音像の垂直方向角度γと一致しない場合、対象音像の移動が必要であるとされ、その移動目的候補位置γnDが対象音像の最終的な移動目的位置とされる。より詳細には移動目的候補位置γnDが対象音像の移動目的位置を示す垂直方向角度とされる。そして、対象音像の移動先を示す情報として移動目的位置と、その移動目的位置とされた移動目的候補位置γnDを算出したメッシュの識別情報とが出力され、これらの移動目的位置と識別情報が、2次元VBAPの計算に利用される。
〈3次元VBAPの場合の処理〉
また、後段で3次元VBAPが行われるとされた場合、以下の処理3D(1)乃至処理3D(6)が行われて、音像の移動が必要か否かと、その移動先とが求められる。
(処理3D(1))
まず、処理3D(1)ではユーザの周囲に配置されているスピーカのなかに、トップスピーカとボトムスピーカが存在するかが確認される。ここで、ボトムスピーカとは、ユーザの真下にあるスピーカであり、具体的には垂直方向角度γ=−90°の位置(以下、ボトム位置とも称する)に配置されたスピーカである。
したがって、トップスピーカがある場合とは、垂直方向の位置として最も高い位置、つまり垂直方向角度γの取り得る値の最大値となる位置にスピーカがある場合である。同様に、ボトムスピーカがある場合とは、垂直方向の位置として最も低い位置、つまり垂直方向角度γの取り得る値の最小値となる位置にスピーカがある場合である。
対象音像を垂直方向に移動させる場合、下から上方向への移動、つまり垂直方向角度が大きくなる方向への移動と、上から下方向への移動、つまり垂直方向角度が小さくなる方向への移動との2通りの移動が考えられる。
また、VBAPのメッシュは、隣接するメッシュとメッシュの間に隙間がない状態と仮定されているので、トップスピーカが存在する場合には、音像の上から下方向への移動は不要である。同様に、ボトムスピーカが存在する場合には、音像の下から上方向への移動は不要である。したがって、処理3D(1)では、音像の移動が必要であるか否かを特定するためにトップスピーカとボトムスピーカが存在するかが特定される。
(処理3D(2))
続いて、処理3D(2)では各メッシュの左限値θnlおよび右限値θnrと、メッシュにおいて水平方向の左限位置と右限位置の間に位置するスピーカの水平方向角度である中間値θnmidとが計算される。さらにメッシュがトップ位置またはボトム位置を包含しているかが特定される。なお、以下、左限位置と右限位置の間にある、中間値θnmidにより示される位置を中間位置とも称することとする。
処理3D(2)では、メッシュが3次元メッシュであるか2次元メッシュであるかによって、異なる処理が行われる。
例えばメッシュが3次元メッシュである場合には、処理3D(2)として以下の処理3D(2.1)−1乃至処理3D(2.4)−1の処理が行われる。
すなわち、処理3D(2.1)−1ではn番目のメッシュを構成する3つのスピーカの水平方向角度θn1、水平方向角度θn2、および水平方向角度θn3が小さい順に並べ替えられて水平方向角度θnlow1、水平方向角度θnlow2、および水平方向角度θnlow3とされる。ここで、θnlow1≦θnlow2≦θnlow3である。
次に、処理3D(2.2)−1では、次式(10)により水平方向角度θの差分diffn1、差分diffn2、および差分diffn3が求められる。
そして処理3D(2.3)−1では次式(11)が計算され、左限値θnl、右限値θnr、および中間値θnmidの各値として、処理対象となっているメッシュの水平方向角度θnlow1乃至水平方向角度θnlow3の何れかの値が選択される。
すなわち、式(11)では、処理3D(2.2)−1で求めた差分diffn1乃至差分diffn3のなかに、差分の値が180°以上であるものがあるか否かが特定される。
そして、180°以上である差分がある場合には、処理対象のメッシュはトップ位置もボトム位置も包含していないメッシュとされ、水平方向角度θnlow1乃至水平方向角度θnlow3に基づいて、左限値θnl、右限値θnr、および中間値θnmidが定められる。
これに対して、180°以上である差分がない場合には、処理対象のメッシュは、トップ位置またはボトム位置を包含しているメッシュとされる。つまり、処理対象のメッシュ内には、トップ位置またはボトム位置が含まれている。
処理3D(2.4)−1では、処理3D(2.3)−1でトップ位置またはボトム位置を包含しているとされたメッシュについて、3次元VBAPの計算が行われる。すなわち、メッシュの逆行列L123 −1が用いられて、トップ位置を定位させようとする音像の位置、つまりベクトルpが示す位置とした場合における各スピーカの係数(ゲイン)が上述した式(3)により求められる。
その結果、得られた係数g1乃至係数g3が全て非負であれば、処理対象のメッシュはトップ位置を包含するメッシュであるので、この場合には対象音像の上から下方向への移動は不要となる。すなわち、垂直方向の位置として取り得る最も高い位置を包含するメッシュがある場合には、対象音像の上から下方向への移動は不要となる。
逆に、得られた係数g1乃至係数g3に負の値が含まれていれば、メッシュはボトム位置を包含するメッシュであるので、この場合には対象音像の下から上方向への移動が不要となる。すなわち、垂直方向の位置として取り得る最も低い位置を包含するメッシュがある場合には、対象音像の下から上方向への移動は不要となる。
また、処理対象となっているメッシュが2次元メッシュである場合には、処理3D(2)として処理3D(2.1)−2が行われる。
処理3D(2.1)−2では、処理2D(1)と同様の処理が行われ、各メッシュについて式(8)により左限値θnlと右限値θnrが求められる。
(処理3D(3))
続いて、処理3D(3)では全メッシュのなかから、水平方向において対象音像の水平方向角度θにより示される水平方向位置を包含するメッシュが検出される。なお、処理3D(3)ではメッシュが2次元メッシュであるか3次元メッシュであるかによらず、同じ処理が行われる。
具体的には、処理対象のメッシュに左限位置と右限位置がある場合、次式(12)により、水平方向において左限位置と右限位置の間に対象音像が位置するようなメッシュが検出される。
また、左限位置と右限位置がないメッシュ、つまりトップ位置またはボトム位置の何れか一方を包含しているメッシュは、水平方向において対象音像の水平方向位置を必ず包含している。
なお、対象音像の水平方向位置を包含するメッシュが1つも検出されなかった場合には、水平方向において対象音像に最も近い左限位置または右限位置を有するメッシュが検出され、検出されたメッシュの左限位置または右限位置に対象音像が移動されるものとする。この場合、検出されたメッシュの識別情報が出力され、以降の処理3D(4)乃至処理3D(6)を行う必要がなくなる。
また、対象音像の水平方向位置を包含するメッシュのうち、3次元メッシュが少なくとも1つ検出された場合、対象音像の上から下方向への移動、および下から上方向への移動がともに不要であるとされたときには、以降の処理3D(4)乃至処理3D(6)を行う必要がなくなる。この場合には、対象音像の移動は行われないものとし、検出されたメッシュの識別情報が出力され、以降の処理3D(4)乃至処理3D(6)を行う必要がなくなる。
(処理3D(4))
処理3D(3)で対象音像の水平方向位置を包含するメッシュが検出されると、処理3D(4)において、検出されたメッシュについて、対象音像の移動の目標となるメッシュの境界線、つまりメッシュの弧が特定される。
ここで、メッシュの移動の目標となる境界線とは、対象音像を垂直方向に移動させていったときに到達し得る境界線である。つまり、水平方向において、対象音像の水平方向角度θの位置を含む境界線である。
なお、処理対象のメッシュが2次元メッシュである場合には、その2次元メッシュがそのまま対象音像の移動目標となる弧とされる。
処理対象のメッシュが3次元メッシュである場合には、対象音像の移動の目標となる弧を特定することは、VBAPにおいて移動目的位置に音像を定位させるための係数(ゲイン)が0となるスピーカを特定することと等価である。
例えば、処理対象のメッシュが左限位置と右限位置を有するメッシュである場合、次式(13)によって係数が0となるスピーカが特定される。
式(13)では、まずメッシュの左限値θnl、右限値θnr、および中間値θnmidがθnl≦θnmid≦θnrとなるように必要に応じてそれらの値と、対象音像の水平方向角度θが修正される。
そして、対象音像の水平方向角度θが中間値θnmidより小さい場合には、type1とされる。type1とされた場合、右限位置と中間位置にあるスピーカが、係数が0となるスピーカとなり得る。この場合、右限位置にあるスピーカが、係数が0となるスピーカとされて移動目的候補位置が算出される処理とともに、中間位置にあるスピーカが、係数が0となるスピーカとされて移動目的候補位置が算出される処理も行われる。
水平方向角度θが中間値θnmidより小さい場合、対象音像は中間位置よりも左限位置側に位置しているので、中間位置と左限位置とを結ぶ弧、および左限位置と右限位置とを結ぶ弧が対象音像の移動先となり得る。
また、式(13)では、対象音像の水平方向角度θが中間値θnmid以上である場合には、type2とされる。type2とされた場合、左限位置と中間位置にあるスピーカが、係数が0となるスピーカとなり得る。
さらに、左限位置と右限位置がないメッシュ、つまりトップ位置またはボトム位置を包含するメッシュについては、以下の式(14)によって係数が0となるスピーカが特定される。
式(14)では、処理対象のメッシュの各スピーカの水平方向角度と、対象音像の水平方向角度θとの関係によって、type3乃至type5の何れかとされる。
type3とされた場合、水平方向角度θnlow3となる位置のスピーカ、すなわち最も水平方向角度が大きいスピーカが、係数が0となるスピーカとされる。
また、type4とされた場合、水平方向角度θnlow1となる位置のスピーカ、すなわち最も水平方向角度が小さいスピーカが、係数が0となるスピーカとされる。type5とされた場合、水平方向角度θnlow2となる位置のスピーカ、すなわち水平方向角度が2番目に小さいスピーカが、係数が0となるスピーカとされる。
(処理3D(5))
処理3D(4)において、対象音像の移動の目標となるメッシュの弧が特定されると、処理3D(5)では、対象音像の移動目的候補位置γnDが算出される。この処理3D(5)では、処理対象となるメッシュが2次元メッシュであるか、または3次元メッシュであるかによって異なる処理が行われる。
例えば処理対象となるメッシュが3次元メッシュである場合、処理3D(5)として処理3D(5)−1が行われる。
処理3D(5)−1では、処理3D(4)で特定された係数が0となるスピーカの情報、対象音像の水平方向角度θ、およびメッシュの逆行列L123 −1に基づいて上述した式(7)の計算が行われ、得られた垂直方向角度γが移動目的候補位置γnDとされる。すなわち、対象音像は、水平方向の位置が固定されたまま、水平方向において対象音像の水平方向位置と同じ位置にあるメッシュの境界線上の位置まで垂直方向に移動される。ここで、メッシュの逆行列は、スピーカの位置情報から得ることができる。
なお、処理対象となるメッシュがtype1またはtype2のように、処理3D(4)で特定された、係数が0となり得るスピーカが2つあるメッシュである場合には、それらの2つのスピーカごとに移動目的候補位置γnDが求められる。
また、処理対象となるメッシュが2次元メッシュである場合、処理3D(5)として処理3D(5)−2が行われる。処理3D(5)−2では、上述した処理2D(3)と同様の処理が行われて移動目的候補位置γnDが求められる。
(処理3D(6))
最後に処理3D(6)では、対象音像の移動が必要であるか否かが判定され、その判定結果に応じて音像が移動される。
通常、VBAPのメッシュ配置では、3次元メッシュと2次元メッシュが混在していたとしても3次元メッシュについての移動目的候補位置γnDか、2次元メッシュについての移動目的候補位置γnDかの何れか一方のみが得られる。
3次元メッシュについて移動目的候補位置γnDが得られた場合、対象音像の上から下方向への移動が必要であるかと、下から上方向への移動が必要であるかの判定が行われる。
すなわち、処理3D(1)でトップスピーカが存在しないとされ、かつ処理3D(2.4)−1の結果、トップ位置を包含するメッシュがなかった場合、対象音像の上から下方向への移動が必要であるとされる。
この場合、処理3D(5)−1で求められた移動目的候補位置γnDのうちの最大値が移動目的候補位置γnD_maxとされ、移動目的候補位置γnD_maxが対象音像の垂直方向角度γより小さい場合には、移動目的候補位置γnD_maxが最終的な移動目的位置とされる。
換言すれば、垂直方向において最も高い位置にある移動目的候補位置γnDが、対象音像の垂直方向の位置よりも低い位置にある場合、対象音像の移動が必要であるとされ、対象音像が移動目的位置とされた移動目的候補位置γnDに移動される。
対象音像が移動される場合には、対象音像の移動先を示す情報として移動目的位置、より詳細には移動目的位置を示す垂直方向角度とされた移動目的候補位置γnD_maxと、その移動目的候補位置を算出したメッシュの識別情報とが出力される。
また、処理3D(1)でボトムスピーカが存在しないとされ、かつ処理3D(2.4)−1の結果、ボトム位置を包含するメッシュがなかった場合、対象音像の下から上方向への移動が必要であるとされる。
この場合、処理3D(5)−1で求められた移動目的候補位置γnDのうちの最小値が移動目的候補位置γnD_minとされ、移動目的候補位置γnD_minが対象音像の垂直方向角度γより大きい場合には、移動目的候補位置γnD_minが最終的な移動目的位置とされる。
換言すれば、垂直方向において最も低い位置にある移動目的候補位置γnDが、対象音像の垂直方向の位置よりも高い位置にある場合、対象音像の移動が必要であるとされ、対象音像が移動目的位置とされた移動目的候補位置γnDに移動される。
対象音像が移動される場合には、対象音像の移動先を示す情報として移動目的位置、より詳細には移動目的位置を示す垂直方向角度とされた移動目的候補位置γnD_minと、その移動目的候補位置を算出したメッシュの識別情報とが出力される。
これに対して、以上の処理で対象音像の移動目的位置が得られなかった場合、例えば上から下方向への移動も下から上方向への移動も必要ないとされた場合、対象音像は何れかのメッシュ内にある。そのような場合には、対象音像が位置する可能性のあるメッシュとして、処理3D(3)で検出された、対象音像の水平方向位置を包含する各メッシュを示す識別情報が出力される。
また、2次元メッシュについての移動目的候補位置γnDが得られた場合、処理2D(4)と同様の処理が行われる。
なお、トップスピーカやボトムスピーカの有無や、トップ位置またはボトム位置を包含するメッシュの有無は、メッシュを構成するスピーカの位置関係により定まる。したがって、処理3D(6)では、メッシュを構成するスピーカの位置関係、または移動目的候補位置と対象音像の垂直方向角度の少なくとも何れかに基づいて、対象音像の移動が必要であるか否か、つまり対象音像がメッシュ外にあるか否かが判定されるということができる。
以上のように、処理2D(1)乃至処理2D(4)や、処理3D(1)乃至処理3D(6)を行うことで、簡単な演算で対象音像がVBAPのメッシュ外にあるか否かを判定することができるとともに、対象音像の移動目的位置を求めることができる。
特に、対象音像の移動目的位置として、メッシュの境界上の位置を求めることができるので、適切な位置へと対象音像を移動させることができる。すなわち、より高精度に音像を定位させることができる。これにより、音像の移動により生じる音像位置のずれを最小限に抑え、より高品質な音声を得ることができる。
しかも、以上において説明した処理では、対象音像についてVBAPの計算をすべきメッシュ、つまり対象音像の位置を包含する可能性のあるメッシュを特定することが可能であるので、後段におけるVBAPの計算量も大幅に削減することができる。
VBAPでは、音像がどのメッシュの内部にあるかを直接特定することができないため、全てのメッシュについて係数(ゲイン)を求める計算が行われ、得られた全ての係数が非負であるメッシュが、音像が位置しているメッシュであるとされる。
したがって、この場合には、全てのメッシュについてVBAPの計算を行わなければならないので、メッシュの数が多い場合には、膨大な計算量が必要となる。
しかし、本技術では対象音像の移動が必要である場合には、その移動先である移動目的位置が属すメッシュを示す識別情報が出力されるので、そのメッシュについてのみVBAPの計算を行えばよく、VBAPの計算量を大幅に削減することができる。
また、対象音像の移動が必要でない場合でも、対象音像の位置を包含する可能性のあるメッシュを示す識別情報が出力されるので、それらのメッシュ以外については、VBAPの計算を行う必要がない。したがって、この場合にもVBAPの計算量を大幅に削減することができる。
〈音声処理装置の構成例〉
次に、本技術を適用した具体的な実施の形態について説明する。
図6は、本技術を適用した音声処理装置の一実施の形態の構成例を示す図である。
音声処理装置11は、外部から供給されたモノラルの音声信号に対してチャンネルごとのゲイン調整を行なうことで、Mチャンネルの音声信号を生成し、M個の各チャンネルに対応するスピーカ12−1乃至スピーカ12−Mに音声信号を供給する。
スピーカ12−1乃至スピーカ12−Mは、音声処理装置11から供給された音声信号に基づいて、各チャンネルの音声を出力する。すなわち、スピーカ12−1乃至スピーカ12−Mは、各チャンネルの音声を出力する音源となる音声出力部である。なお、以下、スピーカ12−1乃至スピーカ12−Mを特に区別する必要のない場合、単にスピーカ12とも称することとする。
スピーカ12は、コンテンツ等を視聴するユーザを囲むように配置されている。例えば、各スピーカ12は、ユーザの位置を中心とする球の表面上の位置に配置されている。これらのM個のスピーカ12が、ユーザを囲むメッシュを構成するスピーカである。
音声処理装置11は、位置算出部21、ゲイン算出部22、およびゲイン調整部23から構成される。
音声処理装置11には、例えば移動物体などのオブジェクトに取り付けられたマイクロホンにより収音された音声の音声信号、そのオブジェクトの位置情報、およびメッシュ情報が供給される。
ここで、オブジェクトの位置情報とは、オブジェクトの音声の音像位置を示す水平方向角度および垂直方向角度である。
また、メッシュ情報には、各スピーカ12についての位置情報と、メッシュを構成するスピーカ12の情報とが含まれている。具体的には、各スピーカ12を特定するインデックスと、スピーカ12の位置を特定するための水平方向角度および垂直方向角度とが、スピーカ12についての位置情報としてメッシュ情報に含まれている。また、メッシュ情報には、メッシュを構成するスピーカ12の情報として、メッシュを識別する情報と、そのメッシュを構成するスピーカ12のインデックスとが含まれている。
位置算出部21は、供給されたオブジェクトの位置情報とメッシュ情報に基づいて、オブジェクトの音像の移動目的位置を算出し、移動目的位置とメッシュの識別情報とをゲイン算出部22に供給する。
ゲイン算出部22は、位置算出部21から供給された移動目的位置および識別情報と、供給されたオブジェクトの位置情報とに基づいて各スピーカ12のゲインを算出し、ゲイン調整部23に供給する。
ゲイン調整部23は、ゲイン算出部22から供給された各ゲインに基づいて、外部から供給されたオブジェクトの音声信号に対するゲイン調整を行なって、その結果得られたM個の各チャンネルの音声信号をスピーカ12に供給して出力させる。
ゲイン調整部23は、増幅部31−1乃至増幅部31−Mを備えている。増幅部31−1乃至増幅部31−Mは、ゲイン算出部22から供給されたゲインに基づいて、外部から供給された音声信号のゲイン調整を行い、その結果得られた音声信号をスピーカ12−1乃至スピーカ12−Mに供給する。
なお、以下、増幅部31−1乃至増幅部31−Mを個々に区別する必要がない場合、単に増幅部31とも称する。
〈位置算出部の構成例〉
また、図6の音声処理装置11における位置算出部21は図7に示すように構成される。
位置算出部21は、メッシュ情報取得部61、2次元位置算出部62、3次元位置算出部63、および移動判定部64から構成される。
メッシュ情報取得部61は、外部からメッシュ情報を取得して、スピーカ12から構成されるメッシュに3次元メッシュが含まれるか否かを特定し、その特定結果に応じてメッシュ情報を2次元位置算出部62または3次元位置算出部63に供給する。すなわち、メッシュ情報取得部61では、ゲイン算出部22で2次元VBAPが行われるか、または3次元VBAPが行われるかが特定される。
2次元位置算出部62は、メッシュ情報取得部61から供給されたメッシュ情報および外部から供給されたオブジェクトの位置情報に基づいて、処理2D(1)乃至処理2D(3)を行って対象音像の移動目的候補位置を算出し、移動判定部64に供給する。
3次元位置算出部63は、メッシュ情報取得部61から供給されたメッシュ情報および外部から供給されたオブジェクトの位置情報に基づいて、処理3D(1)乃至処理3D(5)を行って対象音像の移動目的候補位置を算出し、移動判定部64に供給する。
移動判定部64は、2次元位置算出部62から供給された移動目的候補位置、または3次元位置算出部63から供給された移動目的候補位置と、供給されたオブジェクトの位置情報とに基づいて対象音像の移動目的位置を求め、ゲイン算出部22に供給する。
〈2次元位置算出部の構成例〉
さらに、図7の2次元位置算出部62は、図8に示すように構成される。
2次元位置算出部62は、端算出部91、メッシュ検出部92、および候補位置算出部93から構成される。
端算出部91は、メッシュ情報取得部61から供給されたメッシュ情報に基づいて、各メッシュの左限値θnlと右限値θnrを算出し、メッシュ検出部92に供給する。
メッシュ検出部92は、供給されたオブジェクトの位置情報と、端算出部91から供給された左限値および右限値とに基づいて、対象音像の水平方向位置を包含するメッシュを検出する。メッシュ検出部92は、メッシュの検出結果と、検出されたメッシュの左限値および右限値とを候補位置算出部93に供給する。
候補位置算出部93は、メッシュ情報取得部61からのメッシュ情報、供給されたオブジェクトの位置情報、並びにメッシュ検出部92からの検出結果、左限値、および右限値に基づいて、対象音像の移動目的候補位置γnDを算出し、移動判定部64に供給する。なお、候補位置算出部93が、例えばメッシュ情報に含まれるスピーカ12の位置情報から、予めメッシュの逆行列L123 −1を算出して保持しておくようにしてもよい。
〈3次元位置算出部の構成例〉
また、図7の3次元位置算出部63は、図9に示すように構成される。
3次元位置算出部63は、特定部131、端算出部132、メッシュ検出部133、候補位置算出部134、端算出部135、メッシュ検出部136、および候補位置算出部137から構成される。
特定部131は、メッシュ情報取得部61から供給されたメッシュ情報に基づいて、スピーカ12のなかにトップスピーカおよびボトムスピーカがあるかを特定し、その特定結果を移動判定部64に供給する。
端算出部132乃至候補位置算出部134は、図8の端算出部91乃至候補位置算出部93と同様であるため、その説明は省略する。
端算出部135は、メッシュ情報取得部61から供給されたメッシュ情報に基づいて、各メッシュの左限値、右限値、および中間値を算出するとともに、メッシュがトップ位置またはボトム位置を包含しているかを特定し、算出結果と特定結果をメッシュ検出部136に供給する。
メッシュ検出部136は、供給されたオブジェクトの位置情報と、端算出部135から供給された算出結果および特定結果とに基づいて、対象音像の水平方向位置を包含するメッシュを検出し、そのメッシュにおける音像の移動先となる弧を特定し、候補位置算出部137に供給する。
候補位置算出部137は、メッシュ情報取得部61からのメッシュ情報、供給されたオブジェクトの位置情報、およびメッシュ検出部136からの弧の検出結果に基づいて、対象音像の移動目的候補位置γnDを算出し、移動判定部64に供給する。また、候補位置算出部137は、メッシュ検出部136から供給されたトップ位置またはボトム位置を包含しているメッシュの特定結果を移動判定部64に供給する。なお、候補位置算出部137が、例えばメッシュ情報に含まれるスピーカ12の位置情報から、予め逆行列L123 −1を算出して保持しておくようにしてもよい。
〈音像定位制御処理の説明〉
ところで、音声処理装置11にメッシュ情報、オブジェクトの位置情報、および音声信号が供給され、オブジェクトの音声の出力が指示されると、音声処理装置11は音像定位制御処理を開始してオブジェクトの音声を出力させ、その音像を適切な位置に定位させる。
以下、図10のフローチャートを参照して、音声処理装置11による音像定位制御処理について説明する。
ステップS11において、メッシュ情報取得部61は、外部から供給されたメッシュ情報に基づいて、後段のゲイン算出部22において行われるVBAPの計算が、2次元VBAPであるか否かを判定し、その判定結果に応じてメッシュ情報を2次元位置算出部62または3次元位置算出部63に供給する。例えばメッシュ情報に、メッシュを構成するスピーカ12の情報として、3つのスピーカ12のインデックスが含まれているものが1つでもある場合、2次元VBAPでないと判定される。
ステップS11において2次元VBAPであると判定された場合、ステップS12において位置算出部21は2次元VBAPにおける移動目的位置算出処理を行って、移動目的位置およびメッシュの識別情報をゲイン算出部22に供給し、処理はステップS14に進む。なお、2次元VBAPにおける移動目的位置算出処理の詳細は後述する。
また、ステップS11において2次元VBAPでないと判定された場合、すなわち3次元VBAPであると判定された場合、処理はステップS13へと進む。
ステップS13において位置算出部21は3次元VBAPにおける移動目的位置算出処理を行って、移動目的位置およびメッシュの識別情報をゲイン算出部22に供給し、処理はステップS14に進む。なお、3次元VBAPにおける移動目的位置算出処理の詳細は後述する。
ステップS12またはステップS13において移動目的位置が求められると、ステップS14の処理が行われる。
ステップS14において、ゲイン算出部22は、位置算出部21から供給された移動目的位置および識別情報と、供給されたオブジェクトの位置情報とに基づいて各スピーカ12のゲインを算出し、ゲイン調整部23に供給する。
具体的には、ゲイン算出部22は、オブジェクトの位置情報に含まれる音像の水平方向角度θと、位置算出部21から供給された移動目的位置である垂直方向角度とにより定まる位置を、音声の音像を定位させる位置であるベクトルpの位置とする。そして、ゲイン算出部22は、ベクトルpを用いてメッシュの識別情報により示されるメッシュについて式(1)または式(3)を計算し、メッシュを構成する2つまたは3つのスピーカ12のゲイン(係数)を求める。
また、ゲイン算出部22は、識別情報により示されるメッシュを構成するスピーカ12以外のスピーカ12のゲインを0とする。
なお、対象音像の移動が不要な場合には、対象音像の移動目的位置が算出されず、ゲイン算出部22には対象音像の位置を含む可能性のあるメッシュの識別情報が供給される。そのような場合には、ゲイン算出部22は、オブジェクトの位置情報に含まれる音像の水平方向角度θと垂直方向角度γにより定まる位置を、音声の音像を定位させる位置であるベクトルpの位置とする。そして、ゲイン算出部22は、ベクトルpを用いてメッシュの識別情報により示されるメッシュについて式(1)または式(3)を計算し、メッシュを構成する2つまたは3つのスピーカ12のゲイン(係数)を求める。
さらに、ゲイン算出部22はゲインを求めたメッシュのうち、全てのゲインが非負となるメッシュを選択し、選択したメッシュを構成するスピーカ12のゲインをVBAPにより求めたゲインとし、他のスピーカ12のゲインを0とする。
これにより、少ない演算で各スピーカ12のゲインを求めることができる。なお、ゲイン算出部22においてVBAPの計算に用いられるメッシュの逆行列は、候補位置算出部93や候補位置算出部137から取得されて保持されるようにしてもよい。そのようにすることで計算量を削減し、より迅速に処理結果を得ることができるようになる。
ステップS15において、ゲイン調整部23の増幅部31は、ゲイン算出部22から供給されたゲインに基づいて、外部から供給されたオブジェクトの音声信号のゲイン調整を行い、その結果得られた音声信号をスピーカ12に供給し、音声を出力させる。
各スピーカ12は、増幅部31から供給された音声信号に基づいて音声を出力する。これにより、目標とする位置に音像を定位させることができる。スピーカ12から音声が出力されると、音像定位制御処理は終了する。
以上のようにして、音声処理装置11は、対象音像の移動目的位置を算出し、その算出結果に応じた各スピーカ12のゲインを求めて音声信号のゲイン調整を行なう。これにより、目標とする位置に音像を定位させることができ、より高品質な音声を得ることができる。
〈2次元VBAPにおける移動目的位置算出処理の説明〉
次に、図11のフローチャートを参照して、図10のステップS12の処理に対応する2次元VBAPにおける移動目的位置算出処理について説明する。
ステップS41において、端算出部91は、メッシュ情報取得部61から供給されたメッシュ情報に基づいて、各メッシュの左限値θnlと右限値θnrを算出し、メッシュ検出部92に供給する。すなわち、上述した処理2D(1)が行われて、式(8)によりN個のメッシュごとに左限値と右限値が求められる。
ステップS42において、メッシュ検出部92は、供給されたオブジェクトの位置情報と、端算出部91から供給された左限値および右限値とに基づいて、対象音像の水平方向位置を包含するメッシュを検出する。
すなわち、メッシュ検出部92は、上述した処理2D(2)を行って、式(9)の計算により対象音像の水平方向位置を包含するメッシュを検出し、メッシュの検出結果と、検出されたメッシュの左限値および右限値とを候補位置算出部93に供給する。
ステップS43において、候補位置算出部93は、メッシュ情報取得部61からのメッシュ情報、供給されたオブジェクトの位置情報、並びにメッシュ検出部92からの検出結果、左限値、および右限値に基づいて、対象音像の移動目的候補位置γnDを算出し、移動判定部64に供給する。すなわち、上述した処理2D(3)が行われる。
ステップS44において、移動判定部64は、候補位置算出部93から供給された移動目的候補位置と、供給されたオブジェクトの位置情報とに基づいて、対象音像の移動が必要であるか否かを判定する。
すなわち、上述した処理2D(4)が行われる。具体的には、移動目的候補位置γnDのなかから、対象音像の垂直方向角度γと最も垂直方向角度が近いものが検出され、検出により得られた移動目的候補位置γnDが対象音像の垂直方向角度γと一致する場合、移動が不要であると判定される。
ステップS44において移動が必要であると判定された場合、ステップS45において、移動判定部64は、対象音像の移動目的位置と、メッシュの識別情報とをゲイン算出部22に出力し、2次元VBAPにおける移動目的位置算出処理は終了する。2次元VBAPにおける移動目的位置算出処理が終了すると、その後、処理は図10のステップS14へと進む。
例えば、対象音像の垂直方向角度γと最も近い移動目的候補位置γnDが移動目的位置とされ、移動目的位置と、その移動目的位置を算出したメッシュの識別情報とが出力される。
一方、ステップS44において移動が必要ないと判定された場合、ステップS46において、移動判定部64は、移動目的候補位置γnDを算出したメッシュの識別情報をゲイン算出部22に出力し、2次元VBAPにおける移動目的位置算出処理は終了する。すなわち、対象音像の水平方向位置を包含しているとされた全てのメッシュの識別情報が出力される。2次元VBAPにおける移動目的位置算出処理が終了すると、その後、処理は図10のステップS14へと進む。
以上のようにして、位置算出部21は、水平方向において対象音像の位置を包含するメッシュを検出し、そのメッシュの位置情報と対象音像の水平方向角度θとに基づいて、対象音像の移動先となる移動目的位置を算出する。
これにより、少ない演算量で対象音像がメッシュ外にあるか否かを特定することができるとともに、対象音像の適切な移動目的位置を高精度に求めることができる。その結果、音像の移動により生じる音像位置のずれを最小限に抑え、より高品質な音声を得ることができる。特に位置算出部21によれば、垂直方向において対象音像の位置から最も近いメッシュの境界上の位置を、移動目的位置として求めることができるので、音像の移動により生じる音像位置のずれを最小限に抑えることができる。
〈3次元VBAPにおける移動目的位置算出処理の説明〉
続いて、図12のフローチャートを参照して、図10のステップS13の処理に対応する3次元VBAPにおける移動目的位置算出処理について説明する。
ステップS71において、特定部131は、メッシュ情報取得部61から供給されたメッシュ情報に基づいて、スピーカ12のなかにトップスピーカおよびボトムスピーカがあるかを特定し、その特定結果を移動判定部64に供給する。すなわち、上述した処理3D(1)が行われる。
ステップS72において、3次元位置算出部63は、2次元メッシュにおける移動目的候補位置の算出処理を行い、2次元メッシュについての移動目的候補位置を算出し、その算出結果を移動判定部64に供給する。すなわち、2次元メッシュについて、上述した処理3D(2)乃至処理3D(5)が行われる。なお、2次元メッシュにおける移動目的候補位置の算出処理の詳細は後述する。
ステップS73において、3次元位置算出部63は、3次元メッシュにおける移動目的候補位置の算出処理を行い、3次元メッシュについての移動目的候補位置を算出し、その算出結果を移動判定部64に供給する。すなわち、3次元メッシュについて、上述した処理3D(2)乃至処理3D(5)が行われる。なお、3次元メッシュにおける移動目的候補位置の算出処理の詳細は後述する。
ステップS74において、移動判定部64は、3次元位置算出部63から供給された移動目的候補位置、供給されたオブジェクトの位置情報、特定部131からの特定結果、および候補位置算出部137を介してメッシュ検出部136から供給されたトップ位置またはボトム位置を含むメッシュの情報に基づいて、対象音像の移動が必要であるか否かを判定する。すなわち、上述した処理3D(6)が行われる。
ステップS74において移動が必要であると判定された場合、ステップS75において、移動判定部64は、対象音像の移動目的位置と、メッシュの識別情報とをゲイン算出部22に出力し、3次元VBAPにおける移動目的位置算出処理は終了する。3次元VBAPにおける移動目的位置算出処理が終了すると、その後、処理は図10のステップS14へと進む。
一方、ステップS74において移動が必要ないと判定された場合、ステップS76において、移動判定部64は、移動目的候補位置γnDを算出したメッシュの識別情報をゲイン算出部22に出力し、3次元VBAPにおける移動目的位置算出処理は終了する。すなわち、対象音像の水平方向位置を包含しているとされた全てのメッシュの識別情報が出力される。3次元VBAPにおける移動目的位置算出処理が終了すると、その後、処理は図10のステップS14へと進む。
以上のようにして、位置算出部21は、水平方向において対象音像の位置を包含するメッシュを検出し、そのメッシュの位置情報と対象音像の水平方向角度θとに基づいて、対象音像の移動先となる移動目的位置を算出する。これにより、少ない演算量で対象音像がメッシュ外にあるか否かを特定することができるとともに、対象音像の適切な移動目的位置を高精度に求めることができる。
〈2次元メッシュにおける移動目的候補位置の算出処理の説明〉
続いて、図13のフローチャートを参照して、図12のステップS72の処理に対応する2次元メッシュにおける移動目的候補位置の算出処理について説明する。
ステップS111において、端算出部132は、メッシュ情報取得部61から供給されたメッシュ情報に基づいて、各メッシュの左限値θnlと右限値θnrを算出し、メッシュ検出部133に供給する。すなわち、上述した処理3D(2.1)−2が行われて、式(8)によりN個のメッシュごとに左限値と右限値が求められる。
ステップS112において、メッシュ検出部133は、供給されたオブジェクトの位置情報と、端算出部132から供給された左限値および右限値とに基づいて、対象音像の水平方向位置を包含するメッシュを検出する。すなわち、上述した処理3D(3)が行われる。
ステップS113において、メッシュ検出部133は、ステップS112において検出された、対象音像の水平方向位置を包含する各メッシュについて、対象音像の移動目標となる弧を特定する。具体的には、メッシュ検出部133は、ステップS112において検出された2次元メッシュの境界線である弧を、そのまま移動目標となる弧とする。
メッシュ検出部133は、対象音像の水平方向位置を包含するメッシュの検出結果と、検出されたメッシュの左限値および右限値とを候補位置算出部134に供給する。
ステップS114において、候補位置算出部134は、メッシュ情報取得部61からのメッシュ情報、供給されたオブジェクトの位置情報、並びにメッシュ検出部133からの検出結果、左限値、および右限値に基づいて、対象音像の移動目的候補位置γnDを算出し、移動判定部64に供給する。すなわち、上述した処理3D(5)−2が行われる。
対象音像の移動目的候補位置が算出されると、2次元メッシュにおける移動目的候補位置の算出処理は終了し、その後、処理は図12のステップS73へと進む。
以上のようにして3次元位置算出部63は、水平方向において対象音像の位置を包含する2次元メッシュを検出し、その2次元メッシュの位置情報と対象音像の水平方向角度θとに基づいて、対象音像の移動先となる移動目的候補位置を算出する。これにより、簡単な計算で、より高精度に対象音像の適切な移動先を算出することができる。
〈3次元メッシュにおける移動目的候補位置の算出処理の説明〉
さらに、図14のフローチャートを参照して、図12のステップS73の処理に対応する3次元メッシュにおける移動目的候補位置の算出処理について説明する。
ステップS141において、端算出部135は、メッシュ情報取得部61から供給されたメッシュ情報に基づいて、メッシュを構成する3つのスピーカの水平方向角度を並び替える。すなわち、上述した処理3D(2.1)−1が行われる。
ステップS142において、端算出部135は、並び替えた水平方向角度に基づいて、水平方向角度の差分を求める。すなわち、上述した処理3D(2.2)−1が行われる。
ステップS143において、端算出部135は、求めた差分に基づいて、トップ位置またはボトム位置を包含しているメッシュを特定するとともに、トップ位置またはボトム位置を包含していないメッシュの左限値、右限値、および中間値を算出する。すなわち、上述した処理3D(2.3)−1および処理3D(2.4)−1が行われる。
端算出部135は、トップ位置またはボトム位置を包含しているメッシュの特定結果と、トップ位置またはボトム位置を包含しているメッシュの水平方向角度θnlow1乃至水平方向角度θnlow3とをメッシュ検出部136に供給する。また、端算出部135は、トップ位置またはボトム位置を包含していないメッシュの左限値、右限値、および中間値をメッシュ検出部136に供給する。
ステップS144において、メッシュ検出部136は、供給されたオブジェクトの位置情報と、端算出部135から供給された算出結果および特定結果とに基づいて、対象音像の水平方向位置を包含するメッシュを検出する。すなわち、上述した処理3D(3)が行われる。
ステップS145において、メッシュ検出部136は、供給されたオブジェクトの位置情報と、端算出部135から供給されたメッシュの左限値、右限値、および中間値、メッシュの水平方向角度θnlow1乃至水平方向角度θnlow3、および特定結果に基づいて、対象音像の移動目標となる弧を特定する。すなわち、上述した処理3D(4)が行われる。
メッシュ検出部136は、移動目標となる弧の特定結果、つまり係数が0となるスピーカの特定結果を候補位置算出部137に供給するとともに、トップ位置またはボトム位置を包含しているメッシュの特定結果を、候補位置算出部137を介して移動判定部64に供給する。
ステップS146において、候補位置算出部137は、メッシュ情報取得部61からのメッシュ情報、供給されたオブジェクトの位置情報、およびメッシュ検出部136からの弧の特定結果に基づいて、対象音像の移動目的候補位置γnDを算出し、移動判定部64に供給する。すなわち、上述した処理3D(5)−1が行われる。
対象音像の移動目的候補位置が算出されると、3次元メッシュにおける移動目的候補位置の算出処理は終了し、その後、処理は図12のステップS74へと進む。
以上のようにして3次元位置算出部63は、水平方向において対象音像の位置を包含する3次元メッシュを検出し、その3次元メッシュの位置情報と対象音像の水平方向角度θとに基づいて、対象音像の移動先となる移動目的候補位置を算出する。これにより、簡単な計算で、より高精度に対象音像の適切な移動先を算出することができる。
〈第1の実施の形態の変形例1〉
〈音像の移動の要否と移動目的位置の算出について〉
なお、以上においては、3次元メッシュと2次元メッシュが混在していたとしても3次元メッシュの移動目的候補位置γnDか、2次元メッシュの移動目的候補位置γnDかの何れか一方のみが得られる場合について説明した。しかし、メッシュの配置によっては、3次元メッシュの移動目的候補位置γnDと、2次元メッシュの移動目的候補位置γnDの両方が得られることもある。
そのような場合、移動判定部64は、図15に示す処理を行って、対象音像の移動が必要であるかを判定するとともに、移動目的位置を求める。
すなわち、移動判定部64は、2次元メッシュの移動目的候補位置γnDと、3次元メッシュの移動目的候補位置γnD_maxとを比較する。そして、γnD>γnD_maxが成立する場合、移動判定部64は、さらに対象音像の垂直方向角度γが、移動目的候補位置γnD_maxよりも大きいか否かを判定する。すなわち、γ>γnD_maxが成立するかが判定される。
ここで、γ>γnD_maxが成立するのであれば、対象音像を2次元メッシュの移動目的候補位置γnDと、移動目的候補位置γnD_maxとのうちのより近い方に移動させればよい。
そこで、移動判定部64は|γ−γnD_max|<|γ−γnD|が成立する場合には、移動目的候補位置γnD_maxを対象音像の最終的な移動目的位置とする。逆に、移動判定部64は|γ−γnD_max|<|γ−γnD|が成立しない場合には、2次元メッシュの移動目的候補位置γnDを対象音像の最終的な移動目的位置とする。
また、移動判定部64はγnD>γnD_maxは成立するがγ>γnD_maxが成立せず、対象音像の垂直方向角度γが移動目的候補位置γnD_minより小さいとき、つまりγ<γnD_minであるとき、移動目的候補位置γnD_minを対象音像の最終的な移動目的位置とする。
さらに、移動判定部64はγnD<γnD_minが成立するとき、対象音像の垂直方向角度γと移動目的候補位置γnD_minとを比較する。
ここで、γ<γnD_minが成立するのであれば、対象音像を2次元メッシュの移動目的候補位置γnDと、移動目的候補位置γnD_minとのうちのより近い方に移動させればよい。
そこで、移動判定部64はγ<γnD_minが成立するとき、さらに|γ−γnD_min|<|γ−γnD|が成立するか否かを判定する。
そして移動判定部64は、|γ−γnD_min|<|γ−γnD|であれば、移動目的候補位置γnD_minを対象音像の最終的な移動目的位置とする。逆に、移動判定部64は|γ−γnD_min|<|γ−γnD|が成立しない場合には、2次元メッシュの移動目的候補位置γnDを対象音像の最終的な移動目的位置とする。
また、移動判定部64はγnD<γnD_minは成立するがγ<γnD_minが成立せず、γ>γnD_maxが成立するとき、移動目的候補位置γnD_maxを対象音像の最終的な移動目的位置とする。
さらに、以上の何れにも該当しない場合には、移動判定部64は上述した処理3D(6)に従って対象音像の最終的な移動目的位置を定める。
〈第2の実施の形態〉
〈位置算出部の構成例〉
また、以上において説明した実施の形態では、定位音像の位置が変化するたびに、音像の移動が必要か否かの判定および移動目的位置の算出と、その後のVBAPの計算とが必要であった。しかし、音像の水平方向角度の取り得る値が有限個(離散値)である場合、これらの計算は重複となる可能性が大きいため、無駄な計算が大量に発生しているということができる。
そこで、音像の水平方向角度の取り得る値が有限個(離散)である場合には、それらの全ての値について、予め対象音像の移動が必要となる場合における移動目的候補位置の計算を行っておき、各水平方向角度θに対して移動目的候補位置を対応付けて記録しておいてもよい。この場合、例えば水平方向角度θに対して、2次元メッシュの移動目的候補位置γnDと、3次元メッシュの移動目的候補位置γnD_maxおよび移動目的候補位置γnD_minとが対応付けられてメモリに記録される。
これにより、実際にVBAPによって音像を定位させる場合に、メモリに記録されている移動目的候補位置と、対象音像の垂直方向角度γとを比較すればよいので、音像の移動が必要か否かを特定するための計算は不要となり、計算量を大幅に削減することができる。
さらに、この場合、音像の移動が必要となるときにVBAPで計算された各スピーカ12のゲインもメモリに記録しておくとともに、音像の移動が必要ないときにVBAPでゲイン計算が必要なメッシュの識別情報をメモリに記録しておけば、さらに計算量を削減することができる。
この場合、各水平方向角度θに対して、2次元メッシュの移動目的候補位置γnD、3次元メッシュの移動目的候補位置γnD_max、および移動目的候補位置γnD_minのそれぞれについてのVBAPの係数(ゲイン)がメモリに記録される。また、各水平方向角度θに対して、VBAPでゲイン計算が必要となる1または複数のメッシュの識別情報がメモリに記録される。
このように、水平方向角度θに対して移動目的候補位置が対応付けられて記録される場合、位置算出部21は例えば図16に示すように構成される。なお、図16において図7における場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
図16に示す位置算出部21はメッシュ情報取得部61、2次元位置算出部62、3次元位置算出部63、移動判定部64、生成部181、およびメモリ182から構成される。
生成部181は、水平方向角度θとして取り得る全ての値を順番に生成し、生成した水平方向角度を2次元位置算出部62および3次元位置算出部63に供給する。
2次元位置算出部62および3次元位置算出部63は、生成部181から供給された水平方向角度ごとに、メッシュ情報取得部61から供給されたメッシュ情報に基づいて移動目的候補位置を算出してメモリ182に供給し、記録させる。
このとき、メモリ182には、音像の移動が必要となる場合における2次元メッシュの移動目的候補位置γnDと、3次元メッシュの移動目的候補位置γnD_max、および移動目的候補位置γnD_minとがそれぞれ供給される。
メモリ182は、2次元位置算出部62および3次元位置算出部63から供給された水平方向角度θごとの移動目的候補位置を記録し、必要に応じて移動判定部64に供給する。
また、移動判定部64は、外部からオブジェクトの位置情報が供給されると、メモリ182に記録されている、オブジェクトの音像の水平方向角度θに応じた移動目的候補位置を参照し、音像の移動が必要であるかを判定するとともに音像の移動目的位置を求めてゲイン算出部22に出力する。すなわち、対象音像の垂直方向角度γと、メモリ182に記録されている移動目的候補位置が比較されて音像の移動の要否が判定されるとともに、必要に応じてメモリ182に記録されている移動目的候補位置が、移動目的位置とされる。
〈第3の実施の形態〉
〈ゲインの変更について〉
なお、上述した第1の実施の形態または第2の実施の形態において、音像の移動が必要であると判定された場合、音像を移動させる度合いに応じてゲインをさらに変更すれば、音像の移動により生じる音像の実際の再現位置と、本来再現したい音像位置とのずれを低減させることができる。
例えば移動判定部64は、音像の移動が必要であると判定された場合、次式(15)により移動目的位置の垂直方向角度γnDと、対象音像の移動前の元の垂直方向角度γとの差Dmoveを算出し、ゲイン算出部22に供給する。
ゲイン算出部22は、移動判定部64から供給された差Dmoveに応じて音像の再生ゲインを変化させる。すなわち、ゲイン算出部22は、差Dmoveに応じた値を、VBAPにより求めた各スピーカ12の係数(ゲイン)のうち、音像の移動目的位置があるメッシュの弧の両端に位置するスピーカ12の係数に乗算して、ゲインをさらに調整する。
このように移動前後の音像の位置の差に応じてゲインを変化させることにより、例えば差Dmoveが大きい場合にはゲインを小さくして、音像がメッシュから遠い位置にあるような感覚を与えるようにすることができる。また、差Dmoveが小さい場合にはゲインを殆ど変化させず、音像がメッシュから近い位置にあるような感覚を与えるようにすることができる。
なお、音像が垂直方向だけでなく水平方向にも移動する場合には、次式(16)により差Dmoveを求めればよい。
なお、式(16)において、γnDおよびθnDは、それぞれ音像の移動先の垂直方向角度および水平方向角度を示している。
以下、このように対象音像の移動前の元の位置と移動先の位置との差(以下、移動距離と称する)に基づいてゲインを調整する例について、より詳細に説明する。
例えば図17に示すように、再生しようとする音像位置RSP11にある音像を、スピーカSP1乃至スピーカSP3を囲むメッシュとしての領域TR11内に移動させたとき、その移動先の位置が領域TR11の境界上にある音像位置VSP11であったとする。なお、図17において、図4における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
この場合、ユーザU11から元の音像位置RSP11までの距離r=rsと、ユーザU11から移動先の音像位置VSP11までの距離r=rtとが同じであるとする。そのような場合、音像位置RSP11と音像位置VSP11の間の距離、つまり対象音像の移動量は、半径rs=rtの円上における、音像位置RSP11と音像位置VSP11とを結ぶ弧の長さで表現することができる。
図17の例では、ユーザU11および音像位置RSP11を結ぶ直線L21と、ユーザU11および音像位置VSP11を結ぶ直線L22とがなす角度を対象音像の移動距離とすることができる。
具体的には、音像位置RSP11と音像位置VSP11の水平方向角度θが同じであれば、対象音像の移動は垂直方向のみであるので、上述した式(15)により求まる差Dmoveが、対象音像の移動距離Dmoveとなる。
一方、音像位置RSP11と音像位置VSP11の水平方向角度θが同じでなく、対象音像の移動が水平方向にもある場合には、上述した式(16)により求まる差Dmoveが、対象音像の移動距離Dmoveとなる。
移動判定部64は、音像定位制御処理時において、対象音像の移動目的位置とメッシュの識別情報だけでなく、式(15)または式(16)を計算して得られた対象音像の移動距離Dmoveもゲイン算出部22に供給する。
また、移動判定部64から移動距離Dmoveの供給を受けたゲイン算出部22は、上位の制御装置等から供給された情報に基づいて、折れ線カーブまたは関数カーブの何れかを用いて、各スピーカ12のゲインを補正するための移動距離Dmoveに応じたゲインGainmove(以下、移動距離補正ゲインとも称する)を算出する。
例えば、移動距離補正ゲインの算出に用いられる折れ線カーブは、各移動距離Dmoveに対する移動距離補正ゲインの値から構成される数列により表現される。
具体的には、移動距離補正ゲインGainmoveの値の数列として、[0,-1.5,-4.5,-6,-9,-10.5,-12,-13.5,-15,-15,-16.5,-16.5,-18,-18,-18,-19.5,-19.5,-21,-21,-21](dB)が、移動距離補正ゲインを得るための情報とされているとする。
そのような場合、数列の始点の値が移動距離Dmove=0°のときの移動距離補正ゲインとされ、数列の終点の値が移動距離Dmove=180°のときの移動距離補正ゲインとされる。また、数列のk番目の点の値が、次式(17)に示す移動距離Dmoveのときの移動距離補正ゲインとされる。
なお、式(17)において、length_of_Curveは数列の長さ、つまり数列を構成する点の個数を示している。
また、数列の隣接する点の間は、移動距離Dmoveによって移動距離補正ゲインが線形に変化するとされる。このような数列により得られる折れ線カーブは、移動距離補正ゲインと移動距離Dmoveのマッピングを表すカーブである。
例えば、上述した数列によって図18に示す折れ線カーブが得られる。
図18では、縦軸は移動距離補正ゲインの値を示しており、横軸は移動距離Dmoveを示している。また、折れ線CV11が折れ線カーブを表しており、折れ線カーブ上の円は、移動距離補正ゲインの値の数列を構成する1つの数値を示している。
この例では、移動距離DmoveがDMV1である場合には、移動距離補正ゲインは、折れ線カーブ上のDMV1におけるゲインの値であるGain1とされる。
一方、移動距離補正ゲインの算出に用いられる関数カーブは、3つの係数coef1、係数coef2、および係数coef3と、予め定められた下限となるゲイン値MinGainにより表現される。
この場合、ゲイン算出部22は係数coef1乃至係数coef3、ゲイン値MinGain、および移動距離Dmoveにより表現される、次式(18)に示す関数f(Dmove)を用いて、以下の式(19)を計算し、移動距離補正ゲインGainmoveを算出する。
なお、式(19)において、Cut_Threは、次式(20)を満たす移動距離Dmoveの最小値である。
このような関数f(Dmove)等により表される関数カーブは、例えば図19に示すカーブとなる。なお、図19において縦軸は移動距離補正ゲインの値を示しており、横軸は移動距離Dmoveを示している。また、曲線CV21が関数カーブを表している。
図19に示す関数カーブでは、関数f(Dmove)により示される移動距離補正ゲインの値が始めて下限となるゲイン値MinGainより小さくなると、それ以降の各移動距離Dmoveにおける移動距離補正ゲインの値はゲイン値MinGainとされている。すなわち、移動距離Dmove=Cut_Thre以降の各移動距離Dmoveにおける移動距離補正ゲインの値はゲイン値MinGainとされている。なお、図中の点線は、各移動距離Dmoveにおけるもとの関数f(Dmove)の値を示している。
この例では、移動距離DmoveがDMV2である場合には、その移動距離補正ゲインGainmoveは、関数カーブ上のDMV2におけるゲインの値であるGain2とされる。
なお、関数カーブにより移動距離補正ゲインを求める場合、係数coef1乃至係数coef3の組み合わせ[coef1,coef2,coef3]は、例えば[8,-12,6]や、[1,-3,3]、[2,-5.3,4.2]などとされる。
以上のように、ゲイン算出部22は、折れ線カーブまたは関数カーブの何れか一方を用いて、移動距離Dmoveに応じた移動距離補正ゲインGainmoveを算出する。
また、ゲイン算出部22は、ユーザ(視聴者)までの距離に応じて移動距離補正ゲインGainmoveがさらに補正(調整)された補正ゲインGaincorrを算出する。
この補正ゲインGaincorrは、対象音像の移動距離Dmoveと、移動前の対象音像からユーザ(視聴者)までの距離rsとに応じて、各スピーカ12のゲイン(係数)を補正するためのゲインである。
例えばVBAPが行われる場合、距離rは常に1であるが、他のパニングベースの手法を用いた場合や、実際の環境が理想のVBAP環境ではない場合など、対象音像の移動の前後で距離rが異なるときには、距離rの違いによる補正が行われる。すなわち、対象音像の移動先の位置からユーザまでの距離rtは常に1とされるので、対象音像の移動前の位置からユーザまでの距離rsが1でないときに補正が行われる。具体的には、ゲイン算出部22は補正ゲインGaincorrと遅延処理により補正を行う。
ここで、補正ゲインGaincorrと、遅延処理時の遅延量Delayの算出について説明する。
まず、ゲイン算出部22は、距離rsと距離rtの違いに応じて各スピーカ12のゲインを補正するための視聴距離補正ゲインGaindistを次式(21)により算出する。
さらに、ゲイン算出部22は、このようにして求めた視聴距離補正ゲインGaindistと、上述した移動距離補正ゲインGainmoveとから次式(22)を計算し、補正ゲインGaincorrを算出する。
式(22)では、視聴距離補正ゲインGaindistと、移動距離補正ゲインGainmoveとの和が補正ゲインGaincorrとされている。
また、ゲイン算出部22は、移動前の対象音像の距離rsと、移動後の対象音像の距離rtとから次式(23)を計算し、音声信号の遅延量Delayを算出する。
そして、ゲイン算出部22は、遅延量Delayだけ音声信号を遅延または早着させるとともに、補正ゲインGaincorrに基づいて各スピーカ12のゲイン(係数)を補正して音声信号のゲイン調整を行う。これにより、音量調整と遅延処理によって、対象音像の移動や距離rの違いにより生じる音声再生時の違和感を低減させることができる。
ここで、図10のステップS14の処理で求まるゲイン(係数)をGainspkとすると、次式(24)の計算によってゲインGainspkが補正ゲインGaincorrだけ補正され、最終的なゲイン(係数)である適応ゲインGainspk_corrとされる。
式(24)においてゲインGainspkは、図10のステップS14で式(1)または式(3)の計算により得られた各スピーカ12のゲイン(係数)である。
ゲイン算出部22は、式(24)の計算により得られた適応ゲインGainspk_corrを増幅部31に供給し、スピーカ12についての音声信号に乗算させる。
以上のように移動距離Dmoveに応じて各スピーカ12のゲインを補正することにより、対象音像の移動度合いが大きい場合はゲインが小さくなり、実際の音像位置がメッシュから遠い位置にあるような感覚を与えることができる。一方、対象音像の移動度合いが小さい場合には、対象音像のゲインは殆ど補正されず、実際の音像位置がメッシュから近い位置にあるような感覚を与えることができる。
〈音声処理装置の構成例〉
次に、以上において説明したように移動距離Dmoveに応じて各スピーカ12のゲインを補正する場合における音声処理装置の構成と動作について説明する。
そのような場合、音声処理装置は例えば図20に示すように構成される。なお、図20において、図6における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
図20に示す音声処理装置211は、位置算出部21、ゲイン算出部22、ゲイン調整部23、および遅延処理部221を有している。音声処理装置211の構成は、遅延処理部221が設けられるとともに、ゲイン算出部22に新たに補正部231が設けられている点で、図6の音声処理装置11と異なり、他の点では音声処理装置11と同じ構成とされている。なお、後述するように、より詳細には音声処理装置211の位置算出部21の内部の構成も音声処理装置11の位置算出部21の内部の構成と異なる。
音声処理装置211では、位置算出部21は、対象音像の移動目的位置および移動距離Dmoveを算出し、移動目的位置、移動距離Dmove、およびメッシュの識別情報をゲイン算出部22に供給する。
ゲイン算出部22は、位置算出部21から供給された移動目的位置、移動距離Dmove、およびメッシュの識別情報に基づいて、各スピーカ12の適応ゲインを算出して増幅部31に供給するとともに、遅延量を算出して遅延処理部221に遅延を指示する。また、ゲイン算出部22は、補正部231を備えており、補正部231は、移動距離Dmoveに基づいて、補正ゲインGaincorrや適応ゲインGainspk_corrを算出する。
遅延処理部221は、ゲイン算出部22の指示に従って、供給された音声信号に対する遅延処理を行い、遅延量により定まるタイミングで音声信号を増幅部31に供給する。
〈位置算出部の構成例〉
また、音声処理装置211の位置算出部21は、例えば図21に示すように構成される。なお、図21において図7における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
図21に示す位置算出部21は、図7に示した位置算出部21の移動判定部64に、さらに移動距離算出部261が設けられた構成とされている。
移動距離算出部261は、対象音像の移動前の垂直方向角度等と、対象音像の移動目的位置の垂直方向角度等とに基づいて移動距離Dmoveを算出する。
〈音像定位制御処理の説明〉
次に、図22のフローチャートを参照して、音声処理装置211により行われる音像定位制御処理について説明する。なお、ステップS181乃至ステップS183の処理は、図10のステップS11乃至ステップS13の処理と同様であるので、その説明は省略する。
ステップS184において、移動距離算出部261は、対象音像の移動目的位置の垂直方向角度γnDと、対象音像の移動前の元の垂直方向角度γとに基づいて上述した式(15)を計算して移動距離Dmoveを算出し、ゲイン算出部22に供給する。
なお、対象音像が垂直方向だけでなく水平方向にも移動している場合には、移動距離算出部261は、対象音像の移動目的位置の垂直方向角度γnDおよび水平方向角度θnDと、対象音像の移動前の元の垂直方向角度γおよび水平方向角度θとに基づいて上述した式(16)を計算し、移動距離Dmoveを算出する。
また、移動目的位置とメッシュの識別情報が移動距離Dmoveと同時にゲイン算出部22に供給されるようにしてもよい。
ステップS185において、ゲイン算出部22は、位置算出部21から供給された移動目的位置および識別情報と、供給されたオブジェクトの位置情報とに基づいて各スピーカ12のゲインであるゲインGainspkを算出する。なお、ステップS185では図10のステップS14の処理と同様の処理が行われる。
ステップS186において、ゲイン算出部22の補正部231は、移動距離算出部261から供給された移動距離Dmoveに基づいて移動距離補正ゲインを算出する。
例えば、補正部231は上位の制御装置等から供給された情報に基づいて、折れ線カーブまたは関数カーブの何れかを選択する。
折れ線カーブが選択された場合、補正部231は予め用意された数列に基づいて折れ線カーブを求め、折れ線カーブから移動距離Dmoveに対応する移動距離補正ゲインGainmoveを求める。
一方、関数カーブが選択された場合、補正部231は予め用意された係数coef1乃至係数coef3、ゲイン値MinGain、および移動距離Dmoveに基づいて関数カーブ、つまり式(18)に示した関数の値を求め、その値から式(19)の演算を行って移動距離補正ゲインGainmoveを求める。
ステップS187において、補正部231は、対象音像の移動目的位置の距離rtと、対象音像の移動前の元の距離rsとに基づいて、補正ゲインGaincorrおよび遅延量Delayを算出する。
具体的には、補正部231は距離rtおよび距離rsと、移動距離補正ゲインGainmoveとに基づいて式(21)および式(22)を計算し、補正ゲインGaincorrを求める。また、補正部231は距離rtおよび距離rsに基づいて式(23)を計算し、遅延量Delayを求める。なお、この例では距離rt=1であるが、距離rt=1でない場合には必要に応じて距離rtの値が与えられる。
ステップS188において、補正部231は、補正ゲインGaincorrと、ステップS185で算出したゲインGainspkとに基づいて式(24)を計算し、適応ゲインGainspk_corrを算出する。なお、対象音像の移動目的位置がある、識別情報により示されるメッシュの弧の両端に位置するスピーカ12以外のスピーカ12の適応ゲインGainspk_corrは0とされる。また、以上において説明したステップS184乃至ステップS187の処理はどのような順番で行われてもよい。
このようにして適応ゲインGainspk_corrが得られると、ゲイン算出部22は、算出された適応ゲインGainspk_corrを各増幅部31に供給するとともに、遅延量Delayを遅延処理部221に供給し、音声信号に対する遅延処理を指示する。
ステップS189において、遅延処理部221は、ゲイン算出部22から供給された遅延量Delayに基づいて、供給された音声信号に対する遅延処理を行う。
すなわち、遅延処理部221は、遅延量Delayが正の値である場合、供給された音声信号を遅延量Delayに示される時間だけ遅延させてから増幅部31に供給する。また、遅延処理部221は、遅延量Delayが負の値である場合、遅延量Delayの絶対値に示される時間だけ音声信号の出力タイミングを早めて、音声信号を増幅部31に供給する。
ステップS190において、増幅部31は、ゲイン算出部22から供給された適応ゲインGainspk_corrに基づいて、遅延処理部221から供給されたオブジェクトの音声信号のゲイン調整を行い、その結果得られた音声信号をスピーカ12に供給し、音声を出力させる。
各スピーカ12は、増幅部31から供給された音声信号に基づいて音声を出力する。これにより、目標とする位置に音像を定位させることができる。スピーカ12から音声が出力されると、音像定位制御処理は終了する。
以上のようにして音声処理装置211は、対象音像の移動目的位置を算出し、その算出結果に応じた各スピーカ12のゲインを求め、さらにそのゲインを対象音像の移動距離やユーザまでの距離に応じて補正した後、音声信号のゲイン調整を行なう。これにより、目標とする位置を音量調整により適切に補正し、その補正後の位置に音像を定位させることができる。その結果、より高品質な音声を得ることができる。
このように音声処理装置211によれば、音像が定位させたい場所からずれた位置で再生される場合に、音像位置の移動量に応じて音源の再生音量を調整することにより音像の移動量を表現し、音像の移動により生じた音像の実際の再現位置と本来の再現したい位置とのずれを低減させることができる。
ところで、以上において説明した本技術は、マルチチャンネルのオーディオ再生において、入力信号のチャンネル数およびスピーカ配置が、実際のチャンネル数およびスピーカ配置と違う場合、入力信号を実際のチャンネル数やスピーカ配置で再生可能な形式に変換するダウンミックス技術にも適用可能である。
以下、図23乃至図25を参照して、本技術をダウンミックス技術に適用する場合について説明する。なお、図23乃至図25において対応する部分には同じ符号を付してあり、その説明は省略する。
例えば図23に示すように、7つの仮想スピーカVSP31乃至仮想スピーカVSP37の各位置で再生されるべき音声信号を、3つの実際のスピーカSP31乃至スピーカSP33で再生する場合について考える。
この場合、各仮想スピーカVSP31乃至仮想スピーカVSP37の位置を音源の音像位置として仮定すれば、上述したVBAPを用いて実在する3つのスピーカSP31乃至スピーカSP33で、その音源位置が再現可能となる。
しかし、従来のVBAPでは、図24に示すように、実在する3つのスピーカSP31乃至スピーカSP33に囲まれたメッシュTR31内にある仮想スピーカVSP31の位置にしか音源を再現することができない。
ここで、メッシュTR31は、各スピーカが配置されている球面において、スピーカSP31乃至スピーカSP33により囲まれる領域である。
スピーカSP31乃至スピーカSP33から音声を出力させる場合、従来のVBAPではメッシュTR31外の位置を、音源の音像位置とすることができないので、メッシュTR31内にある仮想スピーカVSP31の位置のみ、音源の音像位置とすることができる。
一方、本技術を用いれば、例えば図25に示すように、実在する3つのスピーカSP31乃至スピーカSP33に囲まれた範囲、つまりメッシュTR31外にあるスピーカ位置も音源の音像位置として表現可能となる。
この例では、メッシュTR31外にある仮想スピーカVSP32の音像位置を、上述した本技術を用いて、メッシュTR31内の位置、つまりメッシュTR31の境界線上の位置に移動すればよい。つまり、本技術を用いて、メッシュTR31外にある仮想スピーカVSP32の音像位置を、メッシュTR31内にある仮想スピーカVSP32’の音像位置に移動させれば、VBAPにより仮想スピーカVSP32’の位置に音像を定位させることができる。
この仮想スピーカVSP32と同様に、メッシュTR31外にある他の仮想スピーカVSP33乃至仮想スピーカVSP37についても、メッシュTR31の境界上に音像位置を移動させれば、それらの音像をVBAPにより定位させることができる。
これにより、実在する3つのスピーカSP31乃至スピーカSP33から、仮想スピーカVSP31乃至仮想スピーカVSP37の位置で再生されるべき音声信号を再生することができるようになる。
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどが含まれる。
図26は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU501,ROM502,RAM503は、バス504により相互に接続されている。
バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、入力部506、出力部507、記録部508、通信部509、及びドライブ510が接続されている。
入力部506は、キーボード、マウス、マイクロホン、撮像素子などよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記録部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインターフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア511を駆動する。
以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、本技術は、以下の構成とすることも可能である。
[1]
複数のスピーカにより囲まれる領域であるメッシュのうちの水平方向において対象音像の水平方向位置を包含するメッシュを少なくとも一つ検出し、前記メッシュにおける前記対象音像の移動目標となるメッシュの境界を少なくとも一つ特定する検出部と、
前記移動目標となる前記特定された少なくとも一つのメッシュの境界上にある2つの前記スピーカの位置と、前記対象音像の前記水平方向位置とに基づいて、前記移動目標となる前記特定された少なくとも一つのメッシュの境界上の前記対象音像の移動位置を算出する算出部と
を備える情報処理装置。
[2]
前記移動位置は、前記水平方向において前記対象音像の前記水平方向位置と同じ位置にある前記境界上の位置である
[1]に記載の情報処理装置。
[3]
前記検出部は、前記メッシュを構成する前記スピーカの前記水平方向の位置と、前記対象音像の前記水平方向位置とに基づいて、前記水平方向において前記対象音像の前記水平方向位置を包含する前記メッシュを検出する
[1]または[2]に記載の情報処理装置。
[4]
前記メッシュを構成する前記スピーカの位置関係、または前記対象音像と前記移動位置の垂直方向の位置の少なくとも何れかに基づいて、前記対象音像の移動が必要であるか否かを判定する判定部をさらに備える
[1]乃至[3]の何れか一項に記載の情報処理装置。
[5]
前記対象音像の移動が必要であると判定された場合、前記移動位置に音声の音像が定位するように、前記移動位置と前記メッシュの前記スピーカの位置とに基づいて前記音声の音声信号のゲインを算出するゲイン算出部をさらに備える
[4]に記載の情報処理装置。
[6]
前記ゲイン算出部は、前記対象音像の位置と前記移動位置との差に基づいて前記ゲインを調整する
[5]に記載の情報処理装置。
[7]
前記ゲイン算出部は、前記対象音像の位置からユーザまでの距離と、前記移動位置から前記ユーザまでの距離とに基づいてさらに前記ゲインを調整する
[6]に記載の情報処理装置。
[8]
前記対象音像の移動が必要ではないと判定された場合、前記水平方向において前記対象音像の前記水平方向位置を包含する前記メッシュについて、前記対象音像の位置に音声の音像が定位するように、前記対象音像の位置と前記メッシュの前記スピーカの位置とに基づいて前記音声の音声信号のゲインを算出するゲイン算出部をさらに備える
[4]に記載の情報処理装置。
[9]
前記判定部は、垂直方向において、前記メッシュごとに求めた前記移動位置のうちの最も高い位置が前記対象音像の位置よりも低い位置にある場合、前記対象音像の移動が必要であると判定する
[4]乃至[8]の何れか一項に記載の情報処理装置。
[10]
前記判定部は、垂直方向において、前記メッシュごとに求めた前記移動位置のうちの最も低い位置が前記対象音像の位置よりも高い位置にある場合、前記対象音像の移動が必要であると判定する
[4]乃至[9]の何れか一項に記載の情報処理装置。
[11]
前記判定部は、垂直方向の位置として取り得る最も高い位置に前記スピーカがある場合、前記対象音像の上から下方向への移動が必要でないと判定する
[4]乃至[10]の何れか一項に記載の情報処理装置。
[12]
前記判定部は、垂直方向の位置として取り得る最も低い位置に前記スピーカがある場合、前記対象音像の下から上方向への移動が必要でないと判定する
[4]乃至[11]の何れか一項に記載の情報処理装置。
[13]
前記判定部は、垂直方向の位置として取り得る最も高い位置を包含する前記メッシュがある場合、前記対象音像の上から下方向への移動が必要でないと判定する
[4]乃至[12]の何れか一項に記載の情報処理装置。
[14]
前記判定部は、垂直方向の位置として取り得る最も低い位置を包含する前記メッシュがある場合、前記対象音像の下から上方向への移動が必要でないと判定する
[4]乃至[13]の何れか一項に記載の情報処理装置。
[15]
前記算出部は、前記水平方向位置ごとに予め前記移動位置の最大値および最小値を算出して記録させ、
記録されている前記移動位置の最大値および最小値と、前記対象音像の位置とに基づいて、前記対象音像の最終的な前記移動位置を求める判定部をさらに備える
[1]乃至[3]の何れか一項に記載の情報処理装置。
[16]
複数のスピーカにより囲まれる領域であるメッシュのうちの水平方向において対象音像の水平方向位置を包含するメッシュを少なくとも一つ検出し、前記メッシュにおける前記対象音像の移動目標となるメッシュの境界を少なくとも一つ特定し、
前記移動目標となる前記特定された少なくとも一つのメッシュの境界上にある2つの前記スピーカの位置と、前記対象音像の前記水平方向位置とに基づいて、前記移動目標となる前記特定された少なくとも一つのメッシュの境界上の前記対象音像の移動位置を算出する
ステップを含む情報処理方法。
[17]
複数のスピーカにより囲まれる領域であるメッシュのうちの水平方向において対象音像の水平方向位置を包含するメッシュを少なくとも一つ検出し、前記メッシュにおける前記対象音像の移動目標となるメッシュの境界を少なくとも一つ特定し、
前記移動目標となる前記特定された少なくとも一つのメッシュの境界上にある2つの前記スピーカの位置と、前記対象音像の前記水平方向位置とに基づいて、前記移動目標となる前記特定された少なくとも一つのメッシュの境界上の前記対象音像の移動位置を算出する
ステップを含む処理をコンピュータに実行させるプログラム。