(57)【要約】  本技術は、演算量を低減させることができるようにする信号処理装置および方法、並びにプログラムに関する。信号処理装置は、オーディオオブジェクトの信号が無音信号であるか否かを示すオーディオオブジェクト無音情報に基づいて、オーディオオブジェクトのオブジェクト信号のデコード処理およびレンダリング処理のうちの少なくとも何れか一方の処理を行う。本技術は信号処理装置に適用することができる。
2020080099.tif 000002
【特許請求の範囲】
【請求項１】
オーディオオブジェクトの信号が無音信号であるか否かを示すオーディオオブジェクト無音情報に基づいて、前記オーディオオブジェクトのオブジェクト信号のデコード処理およびレンダリング処理のうちの少なくとも何れか一方の処理を行う
信号処理装置。
【請求項２】
前記デコード処理および前記レンダリング処理のうちの少なくとも何れか一方の処理において、前記オーディオオブジェクト無音情報に応じて、少なくとも一部の演算を省略するか、または所定の演算の結果に対応する値として予め定められた値を出力する
請求項１に記載の信号処理装置。
【請求項３】
前記レンダリング処理により得られた、仮想スピーカにより音を再生するための仮想スピーカ信号と、前記仮想スピーカ信号が無音信号であるか否かを示す仮想スピーカ無音情報とに基づいてHRTF処理を行うHRTF処理部をさらに備える
請求項１に記載の信号処理装置。
【請求項４】
前記HRTF処理部は、前記HRTF処理のうち、前記仮想スピーカ無音情報により無音信号であるとされた前記仮想スピーカ信号と、伝達関数とを畳み込む演算を省略する
請求項３に記載の信号処理装置。
【請求項５】
前記オブジェクト信号のスペクトルに関する情報に基づいて前記オーディオオブジェクト無音情報を生成する無音情報生成部をさらに備える
請求項３に記載の信号処理装置。
【請求項６】
コンテキストベースの算術符号化方式により符号化された、前記オブジェクト信号のスペクトルデータの復号を含む前記デコード処理を行うデコード処理部をさらに備え、
前記デコード処理部は、前記オーディオオブジェクト無音情報により無音信号であるとされた前記スペクトルデータのコンテキストの計算を行わずに、前記コンテキストの計算結果として予め定められた値を用いて前記スペクトルデータを復号する
請求項５に記載の信号処理装置。
【請求項７】
前記デコード処理部は、前記スペクトルデータの復号、および復号された前記スペクトルデータに対するIMDCT処理を含む前記デコード処理を行い、前記オーディオオブジェクト無音情報により無音信号であるとされた、前記復号された前記スペクトルデータに対して前記IMDCT処理を行わず、ゼロデータを出力する
請求項６に記載の信号処理装置。
【請求項８】
前記無音情報生成部は、前記デコード処理の結果に基づいて、前記デコード処理に用いられる前記オーディオオブジェクト無音情報とは異なる他の前記オーディオオブジェクト無音情報を生成し、
前記他の前記オーディオオブジェクト無音情報に基づいて、前記レンダリング処理を行うレンダリング処理部をさらに備える
請求項５に記載の信号処理装置。
【請求項９】
前記レンダリング処理部は、前記デコード処理により得られた前記オブジェクト信号ごとに前記仮想スピーカのゲインを求めるゲイン計算処理と、前記ゲインおよび前記オブジェクト信号に基づいて前記仮想スピーカ信号を生成するゲイン適用処理とを前記レンダリング処理として行う
請求項８に記載の信号処理装置。
【請求項１０】
前記レンダリング処理部は、前記ゲイン適用処理において、前記仮想スピーカ無音情報により無音信号であるとされた前記仮想スピーカ信号の演算、および前記他の前記オーディオオブジェクト無音情報により無音信号であるとされた前記オブジェクト信号に基づく演算のうちの少なくとも何れか一方を省略する
請求項９に記載の信号処理装置。
【請求項１１】
前記無音情報生成部は、前記ゲインの計算結果、および前記他の前記オーディオオブジェクト無音情報に基づいて前記仮想スピーカ無音情報を生成する
請求項９に記載の信号処理装置。
【請求項１２】
前記オーディオオブジェクトの優先度、および前記オーディオオブジェクト無音情報に基づいて、前記デコード処理および前記レンダリング処理のうちの少なくとも何れか一方の処理を行う
請求項１に記載の信号処理装置。
【請求項１３】
信号処理装置が、
オーディオオブジェクトの信号が無音信号であるか否かを示すオーディオオブジェクト無音情報に基づいて、前記オーディオオブジェクトのオブジェクト信号のデコード処理およびレンダリング処理のうちの少なくとも何れか一方の処理を行う
信号処理方法。
【請求項１４】
オーディオオブジェクトの信号が無音信号であるか否かを示すオーディオオブジェクト無音情報に基づいて、前記オーディオオブジェクトのオブジェクト信号のデコード処理およびレンダリング処理のうちの少なくとも何れか一方の処理を行う
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、信号処理装置および方法、並びにプログラムに関し、特に、演算量を低減させることができるようにした信号処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、映画やゲーム等でオブジェクトオーディオ技術が使われ、オブジェクトオーディオを扱える符号化方式も開発されている。具体的には、例えば国際標準規格であるMPEG（Moving Picture Experts Group）-H Part 3:3D audio規格などが知られている（例えば、非特許文献１参照）。【０００３】
このような符号化方式では、従来の２チャネルステレオ方式や５．１チャネル等のマルチチャネルステレオ方式とともに、移動する音源等を独立したオーディオオブジェクトとして扱い、オーディオオブジェクトの信号データとともにオブジェクトの位置情報をメタデータとして符号化することが可能である。【０００４】
これにより、スピーカの数や配置の異なる様々な視聴環境で再生を行うことができる。また、従来の符号化方式では困難であった特定の音源の音の音量調整や、特定の音源の音に対するエフェクトの追加など、特定の音源の音を再生時に加工することが容易にできる。【０００５】
このような符号化方式では、復号側においてビットストリームに対するデコードが行われ、オーディオオブジェクトのオーディオ信号であるオブジェクト信号と、空間内におけるオーディオオブジェクトの位置を示すオブジェクト位置情報を含むメタデータとが得られる。【０００６】
そして、オブジェクト位置情報に基づいて、空間内に仮想的に配置された複数の各仮想スピーカにオブジェクト信号をレンダリングするレンダリング処理が行われる。例えば非特許文献１の規格では、レンダリング処理に３次元VBAP（Vector Based Amplitude Panning）（以下、単にVBAPと称する）と呼ばれる方式が用いられる。【０００７】
また、レンダリング処理により、各仮想スピーカに対応する仮想スピーカ信号が得られると、それらの仮想スピーカ信号に基づいてHRTF（Head Related Transfer Function）処理が行われる。このHRTF処理では、あたかも仮想スピーカから音が再生されているかのように実際のヘッドフォンやスピーカから音を出力させるための出力オーディオ信号が生成される。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】INTERNATIONAL STANDARD ISO/IEC 23008-3 First edition 2015-10-15 Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 3: 3D audio
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、上述したオーディオオブジェクトについての仮想スピーカへのレンダリング処理やHRTF処理を行えば、あたかも仮想スピーカから音が再生されているかのようなオーディオ再生を実現できることから、高い臨場感を得ることができる。【００１０】
しかしながら、オブジェクトオーディオではレンダリング処理やHRTF処理などのオーディオ再生のための処理に多くの演算量が必要となる。【００１１】
特にスマートフォンなどのデバイスでオブジェクトオーディオを再生しようとする場合、演算量の増加は電池の消費をはやめることになってしまうため、臨場感を損なうことなく演算量を低減させることが望まれている。【００１２】
本技術は、このような状況に鑑みてなされたものであり、演算量を低減させることができるようにするものである。
【課題を解決するための手段】
【００１３】
本技術の一側面の信号処理装置は、オーディオオブジェクトの信号が無音信号であるか否かを示すオーディオオブジェクト無音情報に基づいて、前記オーディオオブジェクトのオブジェクト信号のデコード処理およびレンダリング処理のうちの少なくとも何れか一方の処理を行う。【００１４】
本技術の一側面の信号処理方法またはプログラムは、オーディオオブジェクトの信号が無音信号であるか否かを示すオーディオオブジェクト無音情報に基づいて、前記オーディオオブジェクトのオブジェクト信号のデコード処理およびレンダリング処理のうちの少なくとも何れか一方の処理を行うステップを含む。【００１５】
本技術の一側面においては、オーディオオブジェクトの信号が無音信号であるか否かを示すオーディオオブジェクト無音情報に基づいて、前記オーディオオブジェクトのオブジェクト信号のデコード処理およびレンダリング処理のうちの少なくとも何れか一方の処理が行われる。
【図面の簡単な説明】
【００１６】
【図１】入力ビットストリームに対する処理について説明する図である。
【図２】VBAPについて説明する図である。
【図３】HRTF処理について説明する図である。
【図４】信号処理装置の構成例を示す図である。
【図５】出力オーディオ信号生成処理を説明するフローチャートである。
【図６】デコード処理部の構成例を示す図である。
【図７】オブジェクト信号生成処理を説明するフローチャートである。
【図８】レンダリング処理部の構成例を示す図である。
【図９】仮想スピーカ信号生成処理を説明するフローチャートである。
【図１０】ゲイン計算処理を説明するフローチャートである。
【図１１】スムージング処理を説明するフローチャートである。
【図１２】メタデータの例を示す図である。
【図１３】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本技術を適用した実施の形態について説明する。
【００１８】
〈第１の実施の形態〉
〈本技術について〉
本技術は、無音区間における少なくとも一部の処理を省略したり、無音区間において実際には演算を行わずに、その演算結果に対応する値として予め定められた所定値を出力したりすることで、出力オーディオ信号の誤差を発生させることなく、演算量を低減させることができるようにするものである。これにより、演算量を低減させつつ高い臨場感を得ることができる。
【００１９】
まず、MPEG-H Part 3:3D audio規格の符号化方式での符号化により得られたビットストリームに対してデコード（復号）を行い、オブジェクトオーディオの出力オーディオ信号を生成するときに行われる一般的な処理について説明する。
【００２０】
例えば図１に示すように、符号化により得られた入力ビットストリームが入力されると、その入力ビットストリームに対してデコード処理が行われる。
【００２１】
デコード処理によって、オーディオオブジェクトの音を再生するためのオーディオ信号であるオブジェクト信号と、そのオーディオオブジェクトの空間内の位置を示すオブジェクト位置情報を含むメタデータとが得られる。
【００２２】
続いて、メタデータに含まれるオブジェクト位置情報に基づいて、空間内に仮想的に配置された仮想スピーカにオブジェクト信号をレンダリングするレンダリング処理が行われ、各仮想スピーカから出力される音を再生するための仮想スピーカ信号が生成される。
【００２３】
さらに、各仮想スピーカの仮想スピーカ信号に基づいてHRTF処理が行われ、ユーザが装着するヘッドフォンや実空間に配置されたスピーカから音を出力させるための出力オーディオ信号が生成される。
【００２４】
このようにして得られた出力オーディオ信号に基づいて、実際のヘッドフォンやスピーカから音を出力すれば、あたかも仮想スピーカから音が再生されているかのようなオーディオ再生を実現することができる。なお、以下では、実空間に実際に配置されるスピーカを特に実スピーカとも称することとする。
【００２５】
このようなオブジェクトオーディオを実際に再生するにあたっては、空間内に多数の実スピーカを配置できる場合には、レンダリング処理の出力をそのまま実スピーカで再生することができる。これに対して、空間内に多数の実スピーカを配置できない場合には、HRTF処理を行ってヘッドフォンや、サウンドバーなどの少数の実スピーカによって再生を行うことになる。一般的には、ヘッドフォンや少数の実スピーカによって再生を行うことが多い。
【００２６】
ここで、一般的なレンダリング処理とHRTF処理について、さらに説明を行う。
【００２７】
例えばレンダリング時には、上述したVBAPなどの所定の方式のレンダリング処理が行われる。VBAPは一般的にパニングと呼ばれるレンダリング手法の１つで、ユーザ位置を原点とする球表面上に存在する仮想スピーカのうち、同じく球表面上に存在するオーディオオブジェクトに最も近い３個の仮想スピーカに対しゲインを分配することでレンダリングを行うものである。
【００２８】
例えば図２に示すように、３次元空間に受聴者であるユーザU11がおり、そのユーザU11の前方に３つの仮想スピーカSP1乃至仮想スピーカSP3が配置されているとする。
【００２９】
ここでは、ユーザU11の頭部の位置を原点Ｏとし、その原点Ｏを中心とする球の表面上に仮想スピーカSP1乃至仮想スピーカSP3が位置しているとする。
【００３０】
いま、球表面上における仮想スピーカSP1乃至仮想スピーカSP3に囲まれる領域TR11内にオーディオオブジェクトが存在しており、そのオーディオオブジェクトの位置VSP1に音像を定位させることを考えるとする。
【００３１】
そのような場合、VBAPではオーディオオブジェクトについて、位置VSP1の周囲にある仮想スピーカSP1乃至仮想スピーカSP3に対してゲインが分配されることになる。
【００３２】
具体的には、原点Ｏを基準（原点）とする３次元座標系において、原点Ｏを始点とし、位置VSP1を終点とする３次元のベクトルPにより位置VSP1を表すこととする。
【００３３】
また、原点Ｏを始点とし、各仮想スピーカSP1乃至仮想スピーカSP3の位置を終点とする３次元のベクトルをベクトルL1乃至ベクトルL3とすると、ベクトルPは次式（１）に示すようにベクトルL1乃至ベクトルL3の線形和によって表すことができる。
【００３４】
【数１】
2020080099.tif 000003
【００３５】
ここで、式（１）においてベクトルL1乃至ベクトルL3に乗算されている係数g1乃至係数g3を算出し、これらの係数g1乃至係数g3を、仮想スピーカSP1乃至仮想スピーカSP3のそれぞれから出力する音のゲインとすれば、位置VSP1に音像を定位させることができる。
【００３６】
例えば係数g1乃至係数g3を要素とするベクトルをg123＝［g1,g2,g3］とし、ベクトルL1乃至ベクトルL3を要素とするベクトルをL123＝［L1,L2,L3］とすると、上述した式（１）を変形して次式（２）を得ることができる。
【００３７】
【数２】
2020080099.tif 000004
【００３８】
このような式（２）を計算して求めた係数g1乃至係数g3をゲインとして用いて、オブジェクト信号に基づく音を各仮想スピーカSP1乃至仮想スピーカSP3から出力すれば、位置VSP1に音像を定位させることができる。
【００３９】
なお、各仮想スピーカSP1乃至仮想スピーカSP3の配置位置は固定されており、それらの仮想スピーカの位置を示す情報は既知であるため、逆行列であるL123-1は事前に求めておくことができる。
【００４０】
図２に示した球表面上における、３個の仮想スピーカにより囲まれる三角形の領域TR11はメッシュと呼ばれている。空間内に配置された多数の仮想スピーカを組み合わせて複数のメッシュを構成することで、オーディオオブジェクトの音を空間内の任意の位置に定位させることが可能である。
【００４１】
このように、各オーディオオブジェクトに対して仮想スピーカのゲインが求められると、次式（３）の演算を行うことで、各仮想スピーカの仮想スピーカ信号を得ることができる。
【００４２】
【数３】
2020080099.tif 000005
【００４３】
なお、式（３）においてSP(m,t)は、Ｍ個の仮想スピーカのうちのｍ番目（但し、m＝0,1,…,M-1）の仮想スピーカの時刻ｔにおける仮想スピーカ信号を示している。また、式（３）においてS(n,t)はＮ個のオーディオオブジェクトのうちのｎ番目（但し、n＝0,1,…,N-1）のオーディオオブジェクトの時刻ｔにおけるオブジェクト信号を示している。
【００４４】
さらに式（３）においてG(m,n)は、ｍ番目の仮想スピーカについての仮想スピーカ信号SP(m,t)を得るための、ｎ番目のオーディオオブジェクトのオブジェクト信号S(n,t)に乗算されるゲインを示している。すなわち、ゲインG(m,n)は、上述した式（２）により求められた、ｎ番目のオーディオオブジェクトについてのｍ番目の仮想スピーカに分配されたゲインを示している。
【００４５】
レンダリング処理では、この式（３）の計算が最も計算コストがかかる処理となる。すなわち、式（３）の演算が最も演算量の多い処理となる。
【００４６】
次に、式（３）の演算により得られた仮想スピーカ信号に基づく音をヘッドフォンまたは少数の実スピーカで再生する場合に行われるHRTF処理の例について図３を参照して説明する。なお、図３では説明を簡単にするため、２次元の水平面上に仮想スピーカが配置された例となっている。
【００４７】
図３では、空間内に５個の仮想スピーカSP11-1乃至仮想スピーカSP11-5が円形状に並べられて配置されている。以下、仮想スピーカSP11-1乃至仮想スピーカSP11-5を特に区別する必要のない場合、単に仮想スピーカSP11とも称することとする。
【００４８】
また、図３では５個の仮想スピーカSP11に囲まれる位置、すなわち仮想スピーカSP11が配置された円の中心位置に受聴者であるユーザU21が位置している。したがって、HRTF処理では、あたかもユーザU21が各仮想スピーカSP11から出力される音を聞いているかのようなオーディオ再生を実現するための出力オーディオ信号が生成される。
【００４９】
特に、この例ではユーザU21がいる位置を聴取位置として、５個の各仮想スピーカSP11へのレンダリングにより得られた仮想スピーカ信号に基づく音をヘッドフォンにより再生することとする。
【００５０】
そのような場合、例えば仮想スピーカ信号に基づて仮想スピーカSP11-1から出力（放射）された音は矢印Q11に示す経路を通り、ユーザU21の左耳の鼓膜に到達する。そのため、仮想スピーカSP11-1から出力された音の特性は、仮想スピーカSP11-1からユーザU21の左耳までの空間伝達特性、ユーザU21の顔や耳の形状や反射吸収特性などにより変化するはずである。
【００５１】
そこで、仮想スピーカSP11-1の仮想スピーカ信号に対して、仮想スピーカSP11-1からユーザU21の左耳までの空間伝達特性、およびユーザU21の顔や耳の形状、反射吸収特性などが加味された伝達関数H_L_SP11を畳み込めば、ユーザU21の左耳で聞こえるであろう仮想スピーカSP11-1からの音を再生する出力オーディオ信号を得ることができる。
【００５２】
同様に、例えば仮想スピーカ信号に基づて仮想スピーカSP11-1から出力された音は矢印Q12に示す経路を通り、ユーザU21の右耳の鼓膜に到達する。したがって、仮想スピーカSP11-1の仮想スピーカ信号に対して、仮想スピーカSP11-1からユーザU21の右耳までの空間伝達特性、およびユーザU21の顔や耳の形状、反射吸収特性などが加味された伝達関数H_R_SP11を畳み込めば、ユーザU21の右耳で聞こえるであろう仮想スピーカSP11-1からの音を再生する出力オーディオ信号を得ることができる。
【００５３】
これらのことから、最終的に５個の仮想スピーカSP11の仮想スピーカ信号に基づく音をヘッドフォンで再生するときには、左チャネルについては、各仮想スピーカ信号に対して、各仮想スピーカの左耳用の伝達関数を畳み込んで、その結果得られた各信号を足し合わせて左チャネルの出力オーディオ信号とすればよい。
【００５４】
同様に、右チャネルについては、各仮想スピーカ信号に対して、各仮想スピーカの右耳用の伝達関数を畳み込んで、その結果得られた各信号を足し合わせて右チャネルの出力オーディオ信号とすればよい。
【００５５】
なお、再生に用いるデバイスがヘッドフォンではなく実スピーカである場合にもヘッドフォンにおける場合と同様のHRTF処理が行われる。しかし、この場合にはスピーカからの音は空間伝搬によりユーザの左右の両耳に到達するため、クロストークが考慮された処理がHRTF処理として行われることになる。このようなHRTF処理はトランスオーラル処理とも呼ばれている。
【００５６】
一般的には周波数表現された左耳用、つまり左チャネルの出力オーディオ信号をL(ω)とし、周波数表現された右耳用、つまり右チャネルの出力オーディオ信号をR(ω)とすると、これらのL(ω)およびR(ω)は次式（４）を計算することで得ることができる。
【００５７】
【数４】
2020080099.tif 000006
【００５８】
なお、式（４）においてωは周波数を示しており、SP(m,ω)はＭ個の仮想スピーカのうちのｍ番目（但し、m＝0,1,…,M-1）の仮想スピーカの周波数ωの仮想スピーカ信号を示している。仮想スピーカ信号SP(m,ω)は、上述した仮想スピーカ信号SP(m,t)を時間周波数変換することにより得ることができる。
【００５９】
また、式（４）においてH_L(m,ω)は、左チャネルの出力オーディオ信号L(ω)を得るための、ｍ番目の仮想スピーカについての仮想スピーカ信号SP(m,ω)に乗算される左耳用の伝達関数を示している。同様にH_R(m,ω)は右耳用の伝達関数を示している。
【００６０】
これらのHRTFの伝達関数H_L(m,ω)や伝達関数H_R(m,ω)を時間領域のインパルス応答として表現する場合、少なくとも１秒程度の長さが必要となる。そのため、例えば仮想スピーカ信号のサンプリング周波数が48kHzである場合には、48000タップの畳み込みを行わなければならず、伝達関数の畳み込みにFFT（Fast Fourier Transform）を用いた高速演算手法を用いてもなお多くの演算量が必要となる。
【００６１】
以上のようにデコード処理、レンダリング処理、およびHRTF処理を行って出力オーディオ信号を生成し、ヘッドフォンや少数個の実スピーカを用いてオブジェクトオーディオを再生する場合、多くの演算量が必要となる。また、この演算量はオーディオオブジェクトの数が増えると、その分だけさらに多くなる。
【００６２】
ところで、ステレオのビットストリームは無音である区間が非常に少ないのに比べ、オーディオオブジェクトのビットストリームでは、一般的に全てのオーディオオブジェクトの全区間に信号が存在することは非常に稀である。
【００６３】
多くのオーディオオブジェクトのビットストリームでは約30％の区間が無音区間となっており、場合によっては全区間のうちの60％が無音区間となっているものもある。
【００６４】
そこで、本技術では、ビットストリーム中のオーディオオブジェクトが持つ情報を利用して、オブジェクト信号のエネルギを計算することなく、少ない演算量で無音区間におけるデコード処理やレンダリング処理、HRTF処理の演算量を低減できるようにした。
【００６５】
〈信号処理装置の構成例〉
次に、本技術を適用した信号処理装置の構成例について説明する。
【００６６】
図４は本技術を適用した信号処理装置の一実施の形態の構成例を示す図である。
【００６７】
図４に示す信号処理装置１１はデコード処理部２１、無音情報生成部２２、レンダリング処理部２３、およびHRTF処理部２４を有している。
【００６８】
デコード処理部２１は、送信されてきた入力ビットストリームを受信して復号（デコード）し、その結果得られたオーディオオブジェクトのオブジェクト信号およびメタデータをレンダリング処理部２３に供給する。
【００６９】
ここで、オブジェクト信号は、オーディオオブジェクトの音を再生するためのオーディオ信号であり、メタデータには、少なくとも空間内におけるオーディオオブジェクトの位置を示すオブジェクト位置情報が含まれている。
【００７０】
また、より詳細には、デコード処理時にはデコード処理部２１は入力ビットストリームから抽出した各時間フレームにおけるスペクトルに関する情報等を無音情報生成部２２に供給するとともに、無音情報生成部２２から無音であるか否かを示す情報の供給を受ける。そして、デコード処理部２１は、無音情報生成部２２から供給された無音であるか否かを示す情報に基づいて、無音区間の処理を省略等しながらデコード処理を行う。
【００７１】
無音情報生成部２２は、デコード処理部２１やレンダリング処理部２３から各種の情報の供給を受け、供給された情報に基づいて無音であるか否かを示す情報を生成し、デコード処理部２１、レンダリング処理部２３、およびHRTF処理部２４に供給する。
【００７２】
レンダリング処理部２３は、無音情報生成部２２と情報の授受を行い、無音情報生成部２２から供給された無音であるか否かを示す情報に応じて、デコード処理部２１から供給されたオブジェクト信号およびメタデータに基づくレンダリング処理を行う。
【００７３】
レンダリング処理では、無音であるか否かを示す情報に基づいて無音区間の処理が省略等される。レンダリング処理部２３は、レンダリング処理により得られた仮想スピーカ信号をHRTF処理部２４に供給する。
【００７４】
HRTF処理部２４は、無音情報生成部２２から供給された無音であるか否かを示す情報に応じて、レンダリング処理部２３から供給された仮想スピーカ信号に基づいてHRTF処理を行い、その結果得られた出力オーディオ信号を後段に出力する。HRTF処理では、無音であるか否かを示す情報に基づいて無音区間の処理が省略される。
【００７５】
なお、ここではデコード処理、レンダリング処理、およびHRTF処理において、無音信号（無音区間）の部分について演算の省略等が行われる例について説明する。しかし、これらのデコード処理、レンダリング処理、およびHRTF処理のうちの少なくとも何れか１つの処理において演算（処理）の省略等が行われるようにすればよく、そのような場合においても全体として演算量を低減させることができる。
【００７６】
〈出力オーディオ信号生成処理の説明〉
次に、図４に示した信号処理装置１１の動作について説明する。すなわち、以下、図５のフローチャートを参照して、信号処理装置１１による出力オーディオ信号生成処理について説明する。
【００７７】
ステップＳ１１においてデコード処理部２１は、無音情報生成部２２との情報の授受を行いながら、供給された入力ビットストリームに対するデコード処理を行うことでオブジェクト信号を生成し、オブジェクト信号およびメタデータをレンダリング処理部２３に供給する。
【００７８】
例えばステップＳ１１では、無音情報生成部２２において各時間フレーム（以下、単にフレームとも称する）が無音であるか否かを示すスペクトル無音情報が生成され、デコード処理部２１では、スペクトル無音情報に基づいて一部の処理の省略等が行われるデコード処理が実行される。また、ステップＳ１１では、無音情報生成部２２において各フレームのオブジェクト信号が無音信号であるか否かを示すオーディオオブジェクト無音情報が生成されてレンダリング処理部２３に供給される。
【００７９】
ステップＳ１２においてレンダリング処理部２３は、無音情報生成部２２との情報の授受を行いながら、デコード処理部２１から供給されたオブジェクト信号およびメタデータに基づいてレンダリング処理を行うことで仮想スピーカ信号を生成し、HRTF処理部２４に供給する。
【００８０】
例えばステップＳ１２では、各フレームの仮想スピーカ信号が無音信号であるか否かを示す仮想スピーカ無音情報が無音情報生成部２２により生成される。また、無音情報生成部２２から供給されたオーディオオブジェクト無音情報や仮想スピーカ無音情報に基づいてレンダリング処理が行われる。特にレンダリング処理では、無音区間では処理の省略が行われる。
【００８１】
ステップＳ１３においてHRTF処理部２４は、無音情報生成部２２から供給された仮想スピーカ無音情報に基づいて、無音区間では処理が省略されるHRTF処理を行うことで出力オーディオ信号を生成し、後段に出力する。このようにして出力オーディオ信号が出力されると、出力オーディオ信号生成処理は終了する。
【００８２】
以上のようにして信号処理装置１１は、無音であるか否かを示す情報としてスペクトル無音情報、オーディオオブジェクト無音情報、および仮想スピーカ無音情報を生成するとともに、それらの情報に基づいてデコード処理、レンダリング処理、およびHRTF処理を行って出力オーディオ信号を生成する。特にここではスペクトル無音情報、オーディオオブジェクト無音情報、および仮想スピーカ無音情報は、入力ビットストリームから直接または間接的に得られる情報に基づいて生成される。
【００８３】
このようにすることで、信号処理装置１１では、無音区間では処理の省略等が行われ、臨場感を損なうことなく演算量を低減させることができる。換言すれば、演算量を低減させつつ高い臨場感でオブジェクトオーディオの再生を行うことができる。
【００８４】
〈デコード処理部の構成例〉
ここで、デコード処理やレンダリング処理、HRTF処理についてさらに詳細に説明する。
【００８５】
例えばデコード処理部２１は図６に示すように構成される。
【００８６】
図６に示す例では、デコード処理部２１は非多重化部５１、サブ情報復号部５２、スペクトル復号部５３、およびIMDCT（Inverse Modified Discrete Cosine Transform）処理部５４を有している。
【００８７】
非多重化部５１は、供給された入力ビットストリームを非多重化することで、入力ビットストリームからオーディオオブジェクトデータとメタデータを抽出（分離）し、得られたオーディオオブジェクトデータをサブ情報復号部５２に供給するとともに、メタデータをレンダリング処理部２３に供給する。
【００８８】
ここで、オーディオオブジェクトデータは、オブジェクト信号を得るためのデータであり、サブ情報とスペクトルデータとからなる。
【００８９】
この実施の形態では、符号化側、つまり入力ビットストリームの生成側においては、時間信号であるオブジェクト信号に対してMDCT（Modified Discrete Cosine Transform）が行われ、その結果得られたMDCT係数がオブジェクト信号の周波数成分であるスペクトルデータとされる。
【００９０】
さらに符号化側では、スペクトルデータに対してコンテキストベースの算術符号化方式で符号化が行われる。そして符号化されたスペクトルデータと、そのスペクトルデータの復号に必要となる、符号化されたサブ情報とがオーディオオブジェクトデータとして入力ビットストリームに格納される。
【００９１】
また、上述したようにメタデータには、少なくとも空間内におけるオーディオオブジェクトの位置を示す空間位置情報であるオブジェクト位置情報が含まれている。
【００９２】
なお、一般的にはメタデータも符号化（圧縮）されていることが多い。しかし、メタデータが符号化されているか否か、すなわち圧縮されているかまたは非圧縮であるかによらず本技術は適用可能であるので、ここでは説明を簡単にするためメタデータは符号化されていないものとして説明を続ける。
【００９３】
サブ情報復号部５２は、非多重化部５１から供給されたオーディオオブジェクトデータに含まれるサブ情報を復号し、復号後のサブ情報と、供給されたオーディオオブジェクトデータに含まれるスペクトルデータとをスペクトル復号部５３に供給する。
【００９４】
換言すれば、復号されたサブ情報と、符号化されているスペクトルデータとからなるオーディオオブジェクトデータがスペクトル復号部５３に供給される。特に、ここでは一般的な入力ビットストリームに含まれる各オーディオオブジェクトのオーディオオブジェクトデータに含まれるデータのうち、スペクトルデータ以外のデータがサブ情報とされる。
【００９５】
また、サブ情報復号部５２は、復号により得られたサブ情報のうち、各フレームのスペクトルに関する情報であるmax_sfbを無音情報生成部２２に供給する。
【００９６】
例えばサブ情報には、オブジェクト信号に対するMDCT処理時に選択された変換窓の種類を示す情報や、スペクトルデータの符号化が行われたスケールファクタバンド数など、IMDCT処理やスペクトルデータの復号に必要となる情報が含まれている。
【００９７】
MPEG-H Part 3:3D audio規格では、ics_info()内において、MDCT処理時に選択された変換窓の種類、つまりwindow_sequenceに応じて４ビットまたは６ビットでmax_sfbが符号化されている。このmax_sfbは、符号化されたスペクトルデータの個数を示す情報、すなわちスペクトルデータの符号化が行われたスケールファクタバンド数を示す情報となっている。換言すれば、オーディオオブジェクトデータには、max_sfbにより示される数のスケールファクタバンドの分だけスペクトルデータが含まれている。
【００９８】
例えばmax_sfbの値が０である場合には、符号化されたスペクトルデータはなく、フレーム内のスペクトルデータが全て０であるとみなされるため、そのフレームは無音のフレーム（無音区間）であるとすることができる。
【００９９】
無音情報生成部２２は、サブ情報復号部５２から供給されたフレームごとの各オーディオオブジェクトのmax_sfbに基づいて、フレームごとに各オーディオオブジェクトのスペクトル無音情報を生成し、スペクトル復号部５３およびIMDCT処理部５４に供給する。
【０１００】
特にここでは、max_sfbの値が０である場合には対象となるフレームが無音区間である、つまりオブジェクト信号が無音信号であることを示すスペクトル無音情報が生成される。これに対してmax_sfbの値が０でない場合には対象となるフレームが有音区間であること、つまりオブジェクト信号が有音信号であることを示すスペクトル無音情報が生成される。
【０１０１】
例えばスペクトル無音情報の値が１である場合、そのスペクトル無音情報は無音区間であることを示すものとされ、スペクトル無音情報の値が０である場合、そのスペクトル無音情報は有音区間であること、つまり無音区間ではないことを示すものとされる。
【０１０２】
このように無音情報生成部２２では、サブ情報であるmax_sfbに基づいて無音区間（無音フレーム）の検出が行われ、その検出結果を示すスペクトル無音情報が生成される。このようにすれば、オブジェクト信号のエネルギを求める計算を必要とせず、入力ビットストリームから抽出されたmax_sfbの値が０であるか否かを判定するという極めて少ない処理量（演算量）で無音となるフレームを特定することができる。
【０１０３】
なお、例えば「United States Patent US9,905,232 B2, Hatanaka et al.」では、max_sfbを利用せず、あるチャネルが無音とみなせる場合には、別途フラグを付加してそのチャネルについては符号化しないという符号化方法が提案されている。
【０１０４】
この符号化方法では、MPEG-H Part 3:3D audio規格での符号化よりもチャネルあたりで30から40ビットだけ符号化効率を向上させることができ、本技術においてもこのような符号化方法を適用するようにしてもよい。そのような場合、サブ情報復号部５２はサブ情報として含まれている、オーディオオブジェクトのフレームを無音とみなせるか否か、つまりスペクトルデータの符号化が行われたか否かを示すフラグを抽出し、無音情報生成部２２に供給する。そして、無音情報生成部２２は、サブ情報復号部５２から供給されたフラグに基づいてスペクトル無音情報を生成する。
【０１０５】
その他、デコード処理時の演算量の増加を許容できる場合には、無音情報生成部２２がスペクトルデータのエネルギを計算することにより無音のフレームであるか否かを判定し、その判定結果に応じてスペクトル無音情報を生成するようにしてもよい。
【０１０６】
スペクトル復号部５３は、サブ情報復号部５２から供給されたサブ情報と、無音情報生成部２２から供給されたスペクトル無音情報とに基づいて、サブ情報復号部５２から供給されたスペクトルデータを復号する。ここではスペクトル復号部５３では、コンテキストベースの算術符号化方式に対応する復号方式でスペクトルデータの復号が行われる。
【０１０７】
例えばMPEG-H Part 3:3D audio規格では、スペクトルデータに対してコンテキストベースの算術符号化が行われる。
【０１０８】
一般的に算術符号化では、１つの入力データに対して１つの出力符号化データが存在するのではなく、複数の入力データの遷移によって最終的な出力符号化データが得られる。
【０１０９】
例えば非コンテキストベースの算術符号化では、入力データの符号化に用いる出現頻度テーブルが巨大になるか、または複数の出現頻度テーブルを切り替えて使用するため、別途、出現頻度テーブルを示すIDを符号化して復号側に送信する必要がある。
【０１１０】
これに対して、コンテキストベースの算術符号化では、着目しているスペクトルデータの前のフレームの特性（内容）、または着目しているスペクトルデータの周波数よりも低い周波数のスペクトルデータの特性がコンテキストとして求められる。そして、コンテキストの計算結果に基づいて、使用される出現頻度テーブルが自動的に決定される。
【０１１１】
そのため、コンテキストベースの算術符号化では、復号側でも常にコンテキストの計算を行わなければならないが、出現頻度テーブルをコンパクトにすることができ、かつ別途、出現頻度テーブルのIDを復号側に送信しなくてもよいという利点がある。
【０１１２】
例えばスペクトル復号部５３は、無音情報生成部２２から供給されたスペクトル無音情報の値が０であり、処理対象のフレームが有音区間である場合、適宜、サブ情報復号部５２から供給されたサブ情報や他のスペクトルデータの復号結果を用いてコンテキストの計算を行う。
【０１１３】
そしてスペクトル復号部５３は、コンテキストの計算結果に対して定まる値、つまりIDにより示される出現頻度テーブルを選択し、その出現頻度テーブルを用いてスペクトルデータを復号する。スペクトル復号部５３は、復号されたスペクトルデータとサブ情報とをIMDCT処理部５４に供給する。
【０１１４】
これに対して、スペクトル無音情報の値が１であり、処理対象のフレームが無音区間（無音信号の区間）である場合、つまり上述したmax_sfbの値が０である場合、このフレームではスペクトルデータは０（ゼロデータ）であるため、コンテキストの計算により得られる出現頻度テーブルを示すIDは必ず同じ値となる。すなわち、必ず同じ出現頻度テーブルが選択されることになる。
【０１１５】
そこで、スペクトル復号部５３は、スペクトル無音情報の値が１である場合にはコンテキストの計算を行わず、予め定められた特定の値のIDにより示される出現頻度テーブルを選択し、その出現頻度テーブルを用いてスペクトルデータを復号する。この場合、無音信号のデータであるとされたスペクトルデータについては、コンテキストの計算は行われない。そして、コンテキストの計算結果に対応する値、すなわちコンテキストの計算結果を示す値として予め定められた特定の値のIDが出力として用いられて出現頻度テーブルが選択され、その後の復号の処理が行われることになる。
【０１１６】
このようにスペクトル無音情報に応じてコンテキストの計算を行わないようにする、つまりコンテキストの計算を省略し、その計算結果を示す値として予め定められた値を出力することで、デコード（復号）時における処理の演算量を低減させることができる。しかも、この場合、スペクトルデータの復号結果として、コンテキストの計算を省略しないときと全く同じ結果を得ることができる。
【０１１７】
IMDCT処理部５４は、無音情報生成部２２から供給されたスペクトル無音情報に応じて、スペクトル復号部５３から供給されたスペクトルデータおよびサブ情報に基づいてIMDCT（逆修正離散コサイン変換）を行い、その結果得られたオブジェクト信号をレンダリング処理部２３に供給する。
【０１１８】
例えばIMDCTでは、「INTERNATIONAL STANDARD ISO/IEC 23008-3 First edition 2015-10-15 Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 3: 3D audio」に記載されている式に従って処理が行われる。
【０１１９】
しかしmax_sfbの値が０であり、対象となるフレームが無音区間である場合、IMDCTの出力（処理結果）となる時間信号の各サンプルの値は全て０である。つまりIMDCTにより得られる信号はゼロデータである。
【０１２０】
そこでIMDCT処理部５４は、無音情報生成部２２から供給されたスペクトル無音情報の値が１であり、対象となるフレームが無音区間（無音信号の区間）である場合には、スペクトルデータに対するIMDCTの処理を行わずにゼロデータを出力する。
【０１２１】
すなわち、実際にはIMDCTの処理は行われず、ゼロデータがIMDCTの処理の結果として出力される。換言すれば、IMDCTの処理結果を示す値として、予め定められた値である「０」（ゼロデータ）が出力される。
【０１２２】
より詳細には、IMDCT処理部５４は処理対象の現フレームのIMDCTの処理結果として得られた時間信号と、その現フレームの時間的に直前のフレームのIMDCTの処理結果として得られた時間信号とをオーバーラップ合成することで現フレームのオブジェクト信号を生成し、出力する。
【０１２３】
IMDCT処理部５４では無音区間におけるIMDCTの処理を省略することで、出力として得られるオブジェクト信号に何ら誤差を発生させることなくIMDCT全体の演算量を削減することができる。すなわち、IMDCT全体の演算量を低減させつつ、IMDCTの処理を省略しない場合と全く同じオブジェクト信号を得ることができる。
【０１２４】
一般的にMPEG-H Part 3:3D audio規格では、オーディオオブジェクトのデコード処理においてスペクトルデータの復号とIMDCTの処理がデコード処理の多くを占めるため、IMDCTの処理を削減できることは大幅な演算量の削減につながる。
【０１２５】
また、IMDCT処理部５４は、IMDCTの処理結果として得られた現フレームの時間信号がゼロデータであるか否か、つまり無音区間の信号であるか否かを示す無音フレーム情報を無音情報生成部２２に供給する。
【０１２６】
すると無音情報生成部２２は、IMDCT処理部５４から供給された処理対象の現フレームの無音フレーム情報と、その現フレームの時間的に直前のフレームの無音フレーム情報とに基づいてオーディオオブジェクト無音情報を生成し、レンダリング処理部２３に供給する。換言すれば、無音情報生成部２２はデコード処理の結果として得られる無音フレーム情報に基づいて、オーディオオブジェクト無音情報を生成する。
【０１２７】
ここでは、無音情報生成部２２は現フレームの無音フレーム情報および直前のフレームの無音フレーム情報がともに無音区間の信号である旨の情報である場合、現フレームのオブジェクト信号が無音信号である旨のオーディオオブジェクト無音情報を生成する。
【０１２８】
これに対して、無音情報生成部２２は現フレームの無音フレーム情報および直前のフレームの無音フレーム情報の少なくとも何れか一方が無音区間の信号でない旨の情報である場合、現フレームのオブジェクト信号が有音信号である旨のオーディオオブジェクト無音情報を生成する。
【０１２９】
特に、この例ではオーディオオブジェクト無音情報の値が１である場合、無音信号であることを示しているとされ、オーディオオブジェクト無音情報の値が０である場合、有音信号である、つまり無音信号ではないことを示しているとされる。
【０１３０】
上述したようにIMDCT処理部５４では直前のフレームのIMDCTの処理結果として得られた時間信号とのオーバーラップ合成により、現フレームのオブジェクト信号が生成される。したがって、現フレームのオブジェクト信号は、直前のフレームの影響を受けることになるので、オーディオオブジェクト無音情報の生成時にはオーバーラップ合成の結果、つまり直前のフレームにおけるIMDCTの処理結果を加味する必要がある。
【０１３１】
そこで、無音情報生成部２２では現フレームとその直前のフレームの両方においてmax_sfbの値が０である場合、つまりIMDCTの処理結果としてゼロデータが得られた場合にのみ、現フレームのオブジェクト信号は無音区間の信号であるとされる。
【０１３２】
このようにIMDCTの処理を考慮してオブジェクト信号が無音であるか否かを示すオーディオオブジェクト無音情報を生成することで、後段のレンダリング処理部２３において処理対象のフレームのオブジェクト信号が無音であるかを正しく認識することができる。
【０１３３】
〈オブジェクト信号生成処理の説明〉
次に、図５を参照して説明した出力オーディオ信号生成処理におけるステップＳ１１の処理について、より詳細に説明する。すなわち、以下、図７のフローチャートを参照して、図５のステップＳ１１に対応し、デコード処理部２１および無音情報生成部２２により行われるオブジェクト信号生成処理について説明する。
【０１３４】
ステップＳ４１において非多重化部５１は、供給された入力ビットストリームを非多重化し、その結果得られたオーディオオブジェクトデータをサブ情報復号部５２に供給するとともに、メタデータをレンダリング処理部２３に供給する。
【０１３５】
ステップＳ４２においてサブ情報復号部５２は、非多重化部５１から供給されたオーディオオブジェクトデータに含まれるサブ情報を復号し、復号後のサブ情報と、供給されたオーディオオブジェクトデータに含まれるスペクトルデータとをスペクトル復号部５３に供給する。また、サブ情報復号部５２は、サブ情報に含まれているmax_sfbを無音情報生成部２２に供給する。
【０１３６】
ステップＳ４３において無音情報生成部２２は、サブ情報復号部５２から供給されたmax_sfbに基づいてスペクトル無音情報を生成し、スペクトル復号部５３およびIMDCT処理部５４に供給する。例えばmax_sfbの値が０である場合、値が１であるスペクトル無音情報が生成され、max_sfbの値が０でない場合、値が０であるスペクトル無音情報が生成される。
【０１３７】
ステップＳ４４においてスペクトル復号部５３は、サブ情報復号部５２から供給されたサブ情報と、無音情報生成部２２から供給されたスペクトル無音情報とに基づいて、サブ情報復号部５２から供給されたスペクトルデータを復号する。
【０１３８】
このときスペクトル復号部５３は、コンテキストベースの算術符号化方式に対応する復号方式でスペクトルデータの復号を行うが、スペクトル無音情報の値が１である場合には復号時におけるコンテキストの計算を省略し、特定の出現頻度テーブルを用いてスペクトルデータの復号を行う。スペクトル復号部５３は、復号されたスペクトルデータとサブ情報とをIMDCT処理部５４に供給する。
【０１３９】
ステップＳ４５においてIMDCT処理部５４は、無音情報生成部２２から供給されたスペクトル無音情報に応じて、スペクトル復号部５３から供給されたスペクトルデータおよびサブ情報に基づいてIMDCTを行い、その結果得られたオブジェクト信号をレンダリング処理部２３に供給する。
【０１４０】
このときIMDCT処理部５４は、無音情報生成部２２から供給されたスペクトル無音情報の値が１であるときにはIMDCTの処理を行わずにゼロデータを用いてオーバーラップ合成を行い、オブジェクト信号を生成する。また、IMDCT処理部５４は、IMDCTの処理結果がゼロデータであるか否かに応じて無音フレーム情報を生成し、無音情報生成部２２に供給する。
【０１４１】
以上の非多重化、サブ情報の復号、スペクトルデータの復号、およびIMDCTの処理が入力ビットストリームのデコード処理として行われる。
【０１４２】
ステップＳ４６において無音情報生成部２２は、IMDCT処理部５４から供給された無音フレーム情報に基づいてオーディオオブジェクト無音情報を生成し、レンダリング処理部２３に供給する。
【０１４３】
ここでは、現フレームとその直前のフレームの無音フレーム情報に基づいて、現フレームのオーディオオブジェクト無音情報が生成される。オーディオオブジェクト無音情報が生成されると、オブジェクト信号生成処理は終了する。
【０１４４】
以上のようにしてデコード処理部２１および無音情報生成部２２は、入力ビットストリームをデコードし、オブジェクト信号を生成する。このとき、スペクトル無音情報を生成して、適宜、コンテキストの計算やIMDCTの処理を行わないようにすることで、デコード結果として得られるオブジェクト信号に何ら誤差を生じさせることなく、デコード処理の演算量を低減させることができる。これにより、少ない演算量でも高い臨場感を得ることができる。
【０１４５】
〈レンダリング処理部の構成例〉
続いて、レンダリング処理部２３の構成について説明する。例えばレンダリング処理部２３は、図８に示すように構成される。
【０１４６】
図８に示すレンダリング処理部２３は、ゲイン計算部８１およびゲイン適用部８２を有している。
【０１４７】
ゲイン計算部８１は、デコード処理部２１の非多重化部５１から供給されたメタデータに含まれるオブジェクト位置情報に基づいて、オーディオオブジェクトごと、つまりオブジェクト信号ごとに各仮想スピーカに対応するゲインを算出し、ゲイン適用部８２に供給する。また、ゲイン計算部８１は、複数のメッシュのうち、メッシュを構成する仮想スピーカ、つまりメッシュの３個の頂点にある仮想スピーカのゲインが全て所定値以上となるメッシュを示す探索メッシュ情報を無音情報生成部２２に供給する。
【０１４８】
無音情報生成部２２は、各フレームについてオーディオオブジェクトごと、つまりオブジェクト信号ごとにゲイン計算部８１から供給された探索メッシュ情報と、オーディオオブジェクト無音情報とに基づいて各仮想スピーカの仮想スピーカ無音情報を生成する。
【０１４９】
仮想スピーカ無音情報の値は、仮想スピーカ信号が無音区間の信号（無音信号）である場合には１とされ、仮想スピーカ信号が無音区間の信号でない場合、つまり有音区間の信号（有音信号）である場合には０とされる。
【０１５０】
ゲイン適用部８２には、無音情報生成部２２からはオーディオオブジェクト無音情報および仮想スピーカ無音情報が供給され、ゲイン計算部８１からゲインが供給され、デコード処理部２１のIMDCT処理部５４からはオブジェクト信号が供給される。
【０１５１】
ゲイン適用部８２は、オーディオオブジェクト無音情報および仮想スピーカ無音情報に基づいて、仮想スピーカごとにゲイン計算部８１からのゲインをオブジェクト信号に乗算し、ゲインが乗算されたオブジェクト信号を加算することで仮想スピーカ信号を生成する。
【０１５２】
このときゲイン適用部８２は、オーディオオブジェクト無音情報および仮想スピーカ無音情報に応じて、無音のオブジェクト信号や無音の仮想スピーカ信号については、仮想スピーカ信号を生成するための演算処理を行わないようにする。すなわち、仮想スピーカ信号を生成する演算処理の少なくとも一部の演算が省略される。ゲイン適用部８２は、得られた仮想スピーカ信号をHRTF処理部２４に供給する。
【０１５３】
このようにレンダリング処理部２３では、仮想スピーカのゲインを求めるゲイン計算処理、より詳細には図１０を参照して後述するゲイン計算処理の一部と、仮想スピーカ信号を生成するゲイン適用処理とからなる処理がレンダリング処理として行われる。
【０１５４】
〈仮想スピーカ信号生成処理の説明〉
ここで、図５を参照して説明した出力オーディオ信号生成処理におけるステップＳ１２の処理について、より詳細に説明する。すなわち、以下、図９のフローチャートを参照して、図５のステップＳ１２に対応し、レンダリング処理部２３および無音情報生成部２２により行われる仮想スピーカ信号生成処理について説明する。
【０１５５】
ステップＳ７１においてゲイン計算部８１および無音情報生成部２２は、ゲイン計算処理を行う。
【０１５６】
すなわち、ゲイン計算部８１は非多重化部５１から供給されたメタデータに含まれるオブジェクト位置情報に基づいて、オブジェクト信号ごとに上述した式（２）の計算を行うことで各仮想スピーカのゲインを算出し、ゲイン適用部８２に供給する。また、ゲイン計算部８１は探索メッシュ情報を無音情報生成部２２に供給する。
【０１５７】
さらに無音情報生成部２２は、オブジェクト信号ごとに、ゲイン計算部８１から供給された探索メッシュ情報と、オーディオオブジェクト無音情報とに基づいて仮想スピーカ無音情報を生成する。無音情報生成部２２は、オーディオオブジェクト無音情報と仮想スピーカ無音情報をゲイン適用部８２に供給するとともに、仮想スピーカ無音情報をHRTF処理部２４に供給する。
【０１５８】
ステップＳ７２においてゲイン適用部８２は、オーディオオブジェクト無音情報、仮想スピーカ無音情報、ゲイン計算部８１からのゲイン、およびIMDCT処理部５４からのオブジェクト信号に基づいて仮想スピーカ信号を生成する。
【０１５９】
このときゲイン適用部８２は、オーディオオブジェクト無音情報および仮想スピーカ無音情報に応じて、仮想スピーカ信号を生成するための演算処理の少なくとも一部を行わないようにする、つまり省略することでレンダリング処理の演算量を低減させる。
【０１６０】
この場合、オブジェクト信号や仮想スピーカ信号が無音である区間の処理が省略されるため、結果として処理の省略を行わない場合と全く同じ仮想スピーカ信号が得られることになる。すなわち、仮想スピーカ信号の誤差を生じさせることなく、演算量を削減することができる。
【０１６１】
以上において説明したゲインの算出（計算）と仮想スピーカ信号を生成する処理がレンダリング処理としてレンダリング処理部２３により行われる。
【０１６２】
ゲイン適用部８２は、得られた仮想スピーカ信号をHRTF処理部２４に供給し、仮想スピーカ信号生成処理は終了する。
【０１６３】
以上のようにしてレンダリング処理部２３および無音情報生成部２２は、仮想スピーカ無音情報を生成するとともに仮想スピーカ信号を生成する。このとき、オーディオオブジェクト無音情報と仮想スピーカ無音情報に応じて、仮想スピーカ信号を生成するための演算処理の少なくとも一部を省略することで、レンダリング処理の結果として得られる仮想スピーカ信号に何ら誤差を生じさせることなく、レンダリング処理の演算量を低減させることができる。これにより、少ない演算量でも高い臨場感を得ることができる。
【０１６４】
〈ゲイン計算処理の説明〉
また、図９のステップＳ７１で行われるゲイン計算処理は、各オーディオオブジェクトについて行われる。すなわち、より詳細にはゲイン計算処理として図１０に示す処理が行われる。以下、図１０のフローチャートを参照して図９のステップＳ７１の処理に対応し、レンダリング処理部２３および無音情報生成部２２により行われるゲイン計算処理について説明する。
【０１６５】
ステップＳ１０１において、ゲイン計算部８１および無音情報生成部２２は、処理対象とするオーディオオブジェクトを示すインデックスobj_idの値を初期化して０とし、さらに無音情報生成部２２は全仮想スピーカの仮想スピーカ無音情報a_spk_mute[spk_id]の値を初期化して１とする。
【０１６６】
ここでは、入力ビットストリームから得られるオブジェクト信号の数、すなわちオーディオオブジェクトの総数はmax_objであるものとする。そしてインデックスobj_id＝0により示されるオーディオオブジェクトから、インデックスobj_id＝max_obj-1により示されるオーディオオブジェクトまで順番に処理対象のオーディオオブジェクトとされていくものとする。
【０１６７】
また、spk_idは仮想スピーカを示すインデックスであり、a_spk_mute[spk_id]は、インデックスspk_idにより示される仮想スピーカについての仮想スピーカ無音情報を示している。上述したように仮想スピーカ無音情報a_spk_mute[spk_id]の値が１である場合、その仮想スピーカに対応する仮想スピーカ信号は無音であることを示している。
【０１６８】
なお、ここでは空間内に配置される仮想スピーカの総数はmax_spk個であるとする。したがって、この例ではインデックスspk_id＝0により示される仮想スピーカから、インデックスspk_id＝max_spk-1により示される仮想スピーカまでの合計max_spk個の仮想スピーカが存在していることになる。
【０１６９】
ステップＳ１０１では、ゲイン計算部８１および無音情報生成部２２は、処理対象とするオーディオオブジェクトを示すインデックスobj_idの値を０とする。
【０１７０】
また、無音情報生成部２２は、各インデックスspk_id（但し、0≦spk_id≦max_spk-1）についての仮想スピーカ無音情報a_spk_mute[spk_id]の値を１とする。すなわち、ここでは、とりあえず全仮想スピーカの仮想スピーカ信号は無音であるとされる。
【０１７１】
ステップＳ１０２において、ゲイン計算部８１および無音情報生成部２２は、処理対象とするメッシュを示すインデックスmesh_idの値を０とする。
【０１７２】
ここでは、空間内には仮想スピーカによりmax_mesh個のメッシュが形成されているものとする。すなわち、空間内に存在するメッシュの総数がmax_mesh個であるとする。また、ここではインデックスmesh_id＝0により示されるメッシュから順番に、すなわちインデックスmesh_idの値が小さいものから順番に処理対象のメッシュとして選択されていくものとする。
【０１７３】
ステップＳ１０３においてゲイン計算部８１は、処理対象となっているインデックスobj_idのオーディオオブジェクトについて、上述した式（２）を計算することにより処理対象となっているインデックスmesh_idのメッシュを構成する３個の仮想スピーカのゲインを求める。
【０１７４】
ステップＳ１０３ではインデックスobj_idのオーディオオブジェクトのオブジェクト位置情報が用いられて式（２）の計算が行われる。これにより３個の各仮想スピーカのゲインg1乃至ゲインg3が得られる。
【０１７５】
ステップＳ１０４においてゲイン計算部８１は、ステップＳ１０３で求めた３個のゲインg1乃至ゲインg3が全て予め定めた閾値TH1以上であるか否かを判定する。
【０１７６】
ここで、閾値TH1は０以下の浮動小数点数であり、例えば実装された装置の演算精度によって定まる値である。一般的には閾値TH1の値として-1×10-5程度の小さな値が用いられることが多い。
【０１７７】
例えば処理対象のオーディオオブジェクトについて、ゲインg1乃至ゲインg3が全て閾値TH1以上となる場合、そのオーディオオブジェクトは処理対象のメッシュ内に存在（位置）していることになる。これに対してゲインg1乃至ゲインg3の何れか１つでも閾値TH1未満となる場合、処理対象のオーディオオブジェクトは処理対象のメッシュ内には存在（位置）していないことになる。
【０１７８】
処理対象のオーディオオブジェクトの音を再生しようとする場合、そのオーディオオブジェクトが含まれるメッシュを構成する３個の仮想スピーカからのみ音を出力すればよく、他の仮想スピーカの仮想スピーカ信号は無音信号とすればよい。そのため、ゲイン計算部８１では処理対象のオーディオオブジェクトを含むメッシュの探索が行われ、その探索結果に応じて仮想スピーカ無音情報の値が決定される。
【０１７９】
ステップＳ１０４において閾値TH1以上でないと判定された場合、ステップＳ１０５においてゲイン計算部８１は、処理対象のメッシュのインデックスmesh_idの値がmax_mesh未満であるか否か、すなわちmesh_id＜max_meshであるか否かを判定する。
【０１８０】
ステップＳ１０５においてmesh_id＜max_meshでないと判定された場合、その後、処理はステップＳ１１０へと進む。なお、基本的にはステップＳ１０５においてmesh_id＜max_meshとなることは想定されていない。
【０１８１】
これに対して、ステップＳ１０５においてmesh_id＜max_meshであると判定された場合、処理はステップＳ１０６へと進む。
【０１８２】
ステップＳ１０６においてゲイン計算部８１および無音情報生成部２２は、処理対象とするメッシュを示すインデックスmesh_idの値を１だけインクリメントする。
【０１８３】
ステップＳ１０６の処理が行われると、その後、処理はステップＳ１０３に戻り、上述した処理が繰り返し行われる。すなわち、処理対象のオーディオオブジェクトを含むメッシュが検出されるまで、ゲインを計算する処理が繰り返し行われる。
【０１８４】
一方、ステップＳ１０４において閾値TH1以上であると判定された場合、ゲイン計算部８１は、処理対象となっているインデックスmesh_idのメッシュを示す探索メッシュ情報を生成して無音情報生成部２２に供給し、その後、処理はステップＳ１０７に進む。
【０１８５】
ステップＳ１０７において無音情報生成部２２は、処理対象となっているインデックスobj_idのオーディオオブジェクトのオブジェクト信号について、オーディオオブジェクト無音情報a_obj_mute[obj_id]の値が０であるか否かを判定する。
【０１８６】
ここでa_obj_mute[obj_id]は、インデックスがobj_idであるオーディオオブジェクトのオーディオオブジェクト無音情報を示している。上述したようにオーディオオブジェクト無音情報a_obj_mute[obj_id]の値が１である場合、インデックスobj_idのオーディオオブジェクトのオブジェクト信号は無音信号であることを示している。
【０１８７】
これに対して、オーディオオブジェクト無音情報a_obj_mute[obj_id]の値が０である場合、インデックスobj_idのオーディオオブジェクトのオブジェクト信号は有音信号であることを示している。
【０１８８】
ステップＳ１０７においてオーディオオブジェクト無音情報a_obj_mute[obj_id]の値が０であると判定された場合、すなわちオブジェクト信号が有音信号である場合、処理はステップＳ１０８に進む。
【０１８９】
ステップＳ１０８において無音情報生成部２２は、ゲイン計算部８１から供給された探索メッシュ情報により示されるインデックスmesh_idのメッシュを構成する３個の仮想スピーカの仮想スピーカ無音情報の値を０とする。
【０１９０】
例えばインデックスmesh_idのメッシュについて、そのメッシュを示す情報をメッシュ情報mesh_info[mesh_id]とする。このメッシュ情報mesh_info[mesh_id]は、インデックスmesh_idのメッシュを構成する３個の各仮想スピーカを示すインデックスspk_id＝spk1，spk2，spk3をメンバ変数として有している。
【０１９１】
特に、ここではインデックスmesh_idのメッシュを構成する１つ目の仮想スピーカを示すインデックスspk_idを特にspk_id＝mesh_info[mesh_id].spk1と記すこととする。
【０１９２】
同様に、インデックスmesh_idのメッシュを構成する２つ目の仮想スピーカを示すインデックスspk_idをspk_id＝mesh_info[mesh_id].spk2と記し、インデックスmesh_idのメッシュを構成する３つ目の仮想スピーカを示すインデックスspk_idをspk_id＝mesh_info[mesh_id].spk3と記すこととする。
【０１９３】
オーディオオブジェクト無音情報a_obj_mute[obj_id]の値が０である場合、オーディオオブジェクトのオブジェクト信号は有音であるから、そのオーディオオブジェクトを含むメッシュを構成する３個の仮想スピーカから出力される音は有音となる。
【０１９４】
そこで、無音情報生成部２２は、インデックスmesh_idのメッシュを構成する３個の仮想スピーカの仮想スピーカ無音情報a_spk_mute[mesh_info[mesh_id].spk1]、仮想スピーカ無音情報a_spk_mute[mesh_info[mesh_id].spk2]、および仮想スピーカ無音情報a_spk_mute[mesh_info[mesh_id].spk3]の各値を１から０に変更する。
【０１９５】
このように無音情報生成部２２では、仮想スピーカのゲインの算出結果（計算結果）と、オーディオオブジェクト無音情報とに基づいて仮想スピーカ無音情報が生成される。
【０１９６】
このようにして仮想スピーカ無音情報の設定が行われると、その後、処理はステップＳ１０９へと進む。
【０１９７】
一方、ステップＳ１０７においてオーディオオブジェクト無音情報a_obj_mute[obj_id]の値が０でない、つまり１であると判定された場合、ステップＳ１０８の処理は行われず、処理はステップＳ１０９に進む。
【０１９８】
この場合、処理対象のオーディオオブジェクトのオブジェクト信号は無音であるので、仮想スピーカの仮想スピーカ無音情報a_spk_mute[mesh_info[mesh_id].spk1]、仮想スピーカ無音情報a_spk_mute[mesh_info[mesh_id].spk2]、および仮想スピーカ無音情報a_spk_mute[mesh_info[mesh_id].spk3]の各値は、ステップＳ１０１で設定された１のままとされる。
【０１９９】
ステップＳ１０８の処理が行われたか、またはステップＳ１０７においてオーディオオブジェクト無音情報の値が１であると判定されると、ステップＳ１０９の処理が行われる。
【０２００】
すなわち、ステップＳ１０９においてゲイン計算部８１は、ステップＳ１０３で求めたゲインを、処理対象となっているインデックスmesh_idのメッシュを構成する３個の仮想スピーカのゲインの値とする。
【０２０１】
例えばインデックスobj_idのオーディオオブジェクトについてのインデックスspk_idの仮想スピーカのゲインをa_gain[obj_id][spk_id]と記すとする。
【０２０２】
また、ステップＳ１０３で求めたゲインg1乃至ゲインg3のうち、インデックスspk_id＝mesh_info[mesh_id].spk1に対応する仮想スピーカのゲインがg1であるとする。同様に、インデックスspk_id＝mesh_info[mesh_id].spk2に対応する仮想スピーカのゲインがg2であり、インデックスspk_id＝mesh_info[mesh_id].spk3に対応する仮想スピーカのゲインがg3であるとする。
【０２０３】
そのような場合、ゲイン計算部８１はステップＳ１０３の計算結果に基づいて、仮想スピーカのゲインa_gain[obj_id][mesh_info[mesh_id].spk1]＝g1とする。同様に、ゲイン計算部８１はゲインa_gain[obj_id][mesh_info[mesh_id].spk2]＝g2とするとともに、ゲインa_gain[obj_id][mesh_info[mesh_id].spk3]＝g3とする。
【０２０４】
このようにして処理対象のメッシュを構成する３個の仮想スピーカのゲインが定められると、その後、処理はステップＳ１１０に進む。
【０２０５】
ステップＳ１０５においてmesh_id＜max_meshでないと判定されたか、またはステップＳ１０９の処理が行われると、ステップＳ１１０においてゲイン計算部８１はobj_id＜max_objであるか否かを判定する。すなわち、全てのオーディオオブジェクトが処理対象として処理が行われたか否かが判定される。
【０２０６】
ステップＳ１１０においてobj_id＜max_objである、すなわち、まだ全てのオーディオオブジェクトを処理対象としていないと判定された場合、処理はステップＳ１１１へと進む。
【０２０７】
ステップＳ１１１においてゲイン計算部８１および無音情報生成部２２は、処理対象とするオーディオオブジェクトを示すインデックスobj_idの値を１だけインクリメントする。ステップＳ１１１の処理が行われると、その後、処理はステップＳ１０２に戻り、上述した処理が繰り返し行われる。すなわち、新たに処理対象とされたオーディオオブジェクトについてゲインが求められるとともに仮想スピーカ無音情報の設定が行われる。
【０２０８】
一方、ステップＳ１１０においてobj_id＜max_objでないと判定された場合、全てのオーディオオブジェクトが処理対象として処理が行われたので、ゲイン計算処理は終了する。ゲイン計算処理が終了すると、全てのオブジェクト信号について各仮想スピーカのゲインが求められ、また各仮想スピーカについて仮想スピーカ無音情報が生成された状態となる。
【０２０９】
以上のようにしてレンダリング処理部２３および無音情報生成部２２は、各仮想スピーカのゲインを算出するとともに仮想スピーカ無音情報を生成する。このように仮想スピーカ無音情報を生成すれば、仮想スピーカ信号が無音であるかを正しく認識することができるので、後段のゲイン適用部８２やHRTF処理部２４において適切に処理を省略することができるようになる。
【０２１０】
〈スムージング処理の説明〉
図９を参照して説明した仮想スピーカ信号生成処理のステップＳ７２では、例えば図１０を参照して説明したゲイン計算処理で得られた各仮想スピーカのゲインや仮想スピーカ無音情報が用いられる。
【０２１１】
しかし、例えばオーディオオブジェクトの位置が時間フレームごとに変化する場合、オーディオオブジェクトの位置の変化点でゲインが急激に変動することがある。そのような場合、図１０のステップＳ１０９で定めたゲインをそのまま用いると仮想スピーカ信号にノイズが発生するため、現フレームのゲインだけでなく、その直前のフレームのゲインも用いて直線補間等のスムージング処理を行うようにすることができる。
【０２１２】
そのような場合、ゲイン計算部８１は、現フレームのゲインと、直前のフレームのゲインとに基づいてゲインのスムージング処理を行い、スムージング（平滑化）後のゲインを最終的に得られた現フレームのゲインとしてゲイン適用部８２に供給する。
【０２１３】
このようにしてゲインのスムージングが行われる場合、仮想スピーカ無音情報についても現フレームとその直前のフレームが加味されてスムージング（平滑化）を行う必要がある。この場合、無音情報生成部２２は、例えば図１１に示すスムージング処理を行って各仮想スピーカの仮想スピーカ無音情報を平滑化する。以下、図１１のフローチャートを参照して、無音情報生成部２２によるスムージング処理について説明する。
【０２１４】
ステップＳ１４１において無音情報生成部２２は、処理対象とする仮想スピーカを示すインデックスspk_id（但し、0≦spk_id≦max_spk-1）の値を０とする。
【０２１５】
また、ここではインデックスspk_idにより示される処理対象の仮想スピーカについて得られた、現フレームの仮想スピーカ無音情報をa_spk_mute[spk_id]と記し、その現フレームの直前のフレームの仮想スピーカ無音情報をa_prev_spk_mute[spk_id]と記すこととする。
【０２１６】
ステップＳ１４２において無音情報生成部２２は、現フレームと直前のフレームの仮想スピーカ無音情報が１であるか否かを判定する。
【０２１７】
すなわち、現フレームの仮想スピーカ無音情報a_spk_mute[spk_id]の値と、直前のフレームの仮想スピーカ無音情報a_prev_spk_mute[spk_id]の値とがともに１であるか否かが判定される。
【０２１８】
ステップＳ１４２において仮想スピーカ無音情報が１であると判定された場合、ステップＳ１４３において無音情報生成部２２は、現フレームの仮想スピーカ無音情報a_spk_mute[spk_id]の最終的な値を１とし、その後、処理はステップＳ１４５へと進む。
【０２１９】
一方、ステップＳ１４２において仮想スピーカ無音情報が１でないと判定された場合、すなわち現フレームと直前のフレームのうちの少なくとも何れか一方の仮想スピーカ無音情報が０である場合、処理はステップＳ１４４に進む。この場合、現フレームと直前のフレームのうちの少なくとも何れか一方のフレームでは、仮想スピーカ信号が有音となっている。
【０２２０】
ステップＳ１４４において無音情報生成部２２は、現フレームの仮想スピーカ無音情報a_spk_mute[spk_id]の最終的な値を０とし、その後、処理はステップＳ１４５へと進む。
【０２２１】
例えば現フレームと直前のフレームの少なくとも何れか一方において仮想スピーカ信号が有音である場合には、現フレームの仮想スピーカ無音情報の値を０とすることで、仮想スピーカ信号の音が急に無音となって途切れてしまったり、仮想スピーカ信号の音が急に有音となってしまったりすることを防止することができる。
【０２２２】
ステップＳ１４３またはステップＳ１４４の処理が行われると、その後、ステップＳ１４５の処理が行われる。
【０２２３】
ステップＳ１４５において無音情報生成部２２は、処理対象の現フレームについて図１０のゲイン計算処理で得られた仮想スピーカ無音情報a_spk_mute[spk_id]を、次のスムージング処理で用いる直前のフレームの仮想スピーカ無音情報a_prev_spk_mute[spk_id]とする。すなわち、現フレームの仮想スピーカ無音情報a_spk_mute[spk_id]が、次回のスムージング処理における仮想スピーカ無音情報a_prev_spk_mute[spk_id]として用いられる。
【０２２４】
ステップＳ１４６において無音情報生成部２２は、spk_id＜max_spkであるか否かを判定する。すなわち、全ての仮想スピーカが処理対象として処理が行われたか否かが判定される。
【０２２５】
ステップＳ１４６においてspk_id＜max_spkであると判定された場合、まだ全ての仮想スピーカが処理対象として処理されていないので、ステップＳ１４７において無音情報生成部２２は、処理対象とする仮想スピーカを示すインデックスspk_idの値を１だけインクリメントする。
【０２２６】
ステップＳ１４７の処理が行われると、その後、処理はステップＳ１４２に戻り、上述した処理が繰り返し行われる。すなわち、新たに処理対象とされた仮想スピーカについて仮想スピーカ無音情報a_spk_mute[spk_id]をスムージングする処理が行われる。
【０２２７】
これに対して、ステップＳ１４６においてspk_id＜max_spkでないと判定された場合、現フレームについては全ての仮想スピーカについて仮想スピーカ無音情報のスムージングが行われたので、スムージング処理は終了する。
【０２２８】
以上のようにして無音情報生成部２２は直前のフレームも考慮して仮想スピーカ無音情報に対するスムージング処理を行う。このようにしてスムージングを行うことで、急激な変化やノイズが少ない適切な仮想スピーカ信号を得ることができるようになる。
【０２２９】
図１１に示したスムージング処理が行われた場合には、ステップＳ１４３やステップＳ１４４で得られた最終的な仮想スピーカ無音情報がゲイン適用部８２やHRTF処理部２４において用いられることになる。
【０２３０】
また、図９を参照して説明した仮想スピーカ信号生成処理のステップＳ７２では、図１０のゲイン計算処理または図１１のスムージング処理により得られた仮想スピーカ無音情報が利用される。
【０２３１】
すなわち、一般的には上述した式（３）の計算が行われて仮想スピーカ信号が求められる。この場合、オブジェクト信号や仮想スピーカ信号が無音の信号であるか否かによらず、全ての演算が行われる。
【０２３２】
これに対してゲイン適用部８２では、無音情報生成部２２から供給されたオーディオオブジェクト無音情報と仮想スピーカ無音情報が加味されて次式（５）の計算により仮想スピーカ信号が求められる。
【０２３３】
【数５】
2020080099.tif 000007
【０２３４】
なお、式（５）においてSP(m,t)は、Ｍ個の仮想スピーカのうちのｍ番目（但し、m＝0,1,…,M-1）の仮想スピーカの時刻ｔにおける仮想スピーカ信号を示している。また、式（５）においてS(n,t)はＮ個のオーディオオブジェクトのうちのｎ番目（但し、n＝0,1,…,N-1）のオーディオオブジェクトの時刻ｔにおけるオブジェクト信号を示している。
【０２３５】
さらに式（５）においてG(m,n)は、ｍ番目の仮想スピーカについての仮想スピーカ信号SP(m,t)を得るための、ｎ番目のオーディオオブジェクトのオブジェクト信号S(n,t)に乗算されるゲインを示している。すなわち、ゲインG(m,n)は図１０のステップＳ１０９で得られた各仮想スピーカのゲインである。
【０２３６】
また、式（５）においてa_spk_mute(m)は、ｍ番目の仮想スピーカについての仮想スピーカ無音情報a_spk_mute[spk_id]により定まる係数を示している。具体的には、仮想スピーカ無音情報a_spk_mute[spk_id]の値が１である場合には、係数a_spk_mute(m)の値は０とされ、仮想スピーカ無音情報a_spk_mute[spk_id]の値が０である場合には、係数a_spk_mute(m)の値は１とされる。
【０２３７】
したがってゲイン適用部８２では、仮想スピーカ信号が無音（無音信号）である場合には、その仮想スピーカ信号についての演算は行われないようにされる。具体的には無音である仮想スピーカ信号SP(m,t)を求める演算は行われず、仮想スピーカ信号SP(m,t)としてゼロデータが出力される。すなわち、仮想スピーカ信号についての演算が省略され、演算量が削減される。
【０２３８】
さらに、式（５）においてa_obj_mute(n)は、ｎ番目のオーディオオブジェクトのオブジェクト信号についてのオーディオオブジェクト無音情報a_obj_mute[obj_id]により定まる係数を示している。
【０２３９】
具体的には、オーディオオブジェクト無音情報a_obj_mute[obj_id]の値が１である場合には、係数a_obj_mute(n)の値は０とされ、オーディオオブジェクト無音情報a_obj_mute[obj_id]の値が０である場合には、係数a_obj_mute(n)の値は１とされる。
【０２４０】
したがってゲイン適用部８２では、オブジェクト信号が無音（無音信号）である場合には、そのオブジェクト信号についての演算は行われないようにされる。具体的には無音であるオブジェクト信号S(n,t)の項の積和演算は行われない。すなわち、オブジェクト信号に基づく演算部分が省略され、演算量が削減される。
【０２４１】
なお、ゲイン適用部８２では、無音信号であるとされたオブジェクト信号の部分、および無音信号であるとされた仮想スピーカ信号の部分のうちの少なくとも何れか一方の演算を省略すれば演算量を削減することができる。したがって、無音信号であるとされたオブジェクト信号の部分、および無音信号であるとされた仮想スピーカ信号の部分の両方の演算を省略する例に限らず、それらの何れか一方の演算が省略されるようにしてもよい。
【０２４２】
図９のステップＳ７２では、ゲイン適用部８２は、無音情報生成部２２から供給されたオーディオオブジェクト無音情報および仮想スピーカ無音情報と、ゲイン計算部８１から供給されたゲインと、IMDCT処理部５４から供給されたオブジェクト信号とに基づいて式（５）と同様の演算を行い、各仮想スピーカの仮想スピーカ信号を求める。特にここでは、演算が省略された部分ではゼロデータが演算結果として用いられる。換言すれば、実際の演算は行われず、ゼロデータが演算結果に対応する値として出力される。
【０２４３】
一般的に、ある時間フレームＴ、つまりフレーム数がＴである区間において式（３）の計算を行う場合、M×N×T回の演算が必要となる。
【０２４４】
しかし、仮にオーディオオブジェクト無音情報により無音とされたオーディオオブジェクトが全オーディオオブジェクトのうちの３割であり、また仮想スピーカ無音情報により無音とされた仮想スピーカの数が全仮想スピーカのうちの３割であるとする。
【０２４５】
そのような場合、式（５）により仮想スピーカ信号を求めるようにすれば、演算回数は0.7×M×0.7×N×T回となり、式（３）における場合と比較して約50％分だけ演算量を削減することができる。しかもこの場合、式（３）でも式（５）でも最終的に得られる仮想スピーカ信号は同じものとなり、一部の演算を省略したことによる誤差は生じない。
【０２４６】
一般的にオーディオオブジェクトの数が多く、また仮想スピーカの数も多い場合には、コンテンツ制作者によるオーディオオブジェクトの空間配置では、より無音のオーディオオブジェクトや無音の仮想スピーカが発生しやすい。換言すればオブジェクト信号の無音となる区間や仮想スピーカ信号の無音となる区間が発生しやすい。
【０２４７】
そのため、式（５）のように一部の演算を省略する方法では、オーディオオブジェクト数や仮想スピーカ数が多く、演算量が大幅に増大するようなケースにおいて、より演算量の削減効果が高くなる。
【０２４８】
さらに、ゲイン適用部８２で仮想スピーカ信号が生成されてHRTF処理部２４に供給されると、図５のステップＳ１３では出力オーディオ信号が生成される。
【０２４９】
すなわち、ステップＳ１３ではHRTF処理部２４は、無音情報生成部２２から供給された仮想スピーカ無音情報と、ゲイン適用部８２から供給された仮想スピーカ信号とに基づいて出力オーディオ信号を生成する。
【０２５０】
一般的には式（４）に示したようにHRTF係数である伝達関数と仮想スピーカ信号の畳み込み処理によって出力オーディオ信号が求められる。
【０２５１】
しかし、HRTF処理部２４では仮想スピーカ無音情報が用いられて、次式（６）により出力オーディオ信号が求められる。
【０２５２】
【数６】
2020080099.tif 000008
【０２５３】
なお、式（６）においてωは周波数を示しており、SP(m,ω)はＭ個の仮想スピーカのうちのｍ番目（但し、m＝0,1,…,M-1）の仮想スピーカの周波数ωの仮想スピーカ信号を示している。仮想スピーカ信号SP(m,ω)は、時間信号である仮想スピーカ信号を時間周波数変換することにより得ることができる。
【０２５４】
また、式（６）においてH_L(m,ω)は、左チャネルの出力オーディオ信号L(ω)を得るための、ｍ番目の仮想スピーカについての仮想スピーカ信号SP(m,ω)に乗算される左耳用の伝達関数を示している。同様にH_R(m,ω)は右耳用の伝達関数を示している。
【０２５５】
さらに式（６）においてa_spk_mute(m)は、ｍ番目の仮想スピーカについての仮想スピーカ無音情報a_spk_mute[spk_id]により定まる係数を示している。具体的には、仮想スピーカ無音情報a_spk_mute[spk_id]の値が１である場合には、係数a_spk_mute(m)の値は０とされ、仮想スピーカ無音情報a_spk_mute[spk_id]の値が０である場合には、係数a_spk_mute(m)の値は１とされる。
【０２５６】
したがってHRTF処理部２４では、仮想スピーカ無音情報により仮想スピーカ信号が無音（無音信号）である場合には、その仮想スピーカ信号についての演算は行われないようにされる。具体的には無音である仮想スピーカ信号SP(m,ω)の項の積和演算は行われない。すなわち、無音である仮想スピーカ信号と伝達関数とを畳み込む演算（処理）が省略され、演算量が削減される。
【０２５７】
これにより、演算量が極めて多い畳み込み処理において、有音の仮想スピーカ信号のみに限定して畳み込みの演算が行われるようにすることができ、演算量を大幅に削減することができる。しかもこの場合、式（４）でも式（６）でも最終的に得られる出力オーディオ信号は同じものとなり、一部の演算を省略したことによる誤差は生じない。
【０２５８】
以上のように本技術によれば、オーディオオブジェクトに無音の区間（無音信号）が存在する場合に、デコード処理やレンダリング処理、HRTF処理において少なくとも一部の処理を省略するなどすることで、出力オーディオ信号の誤差を一切発生させずに演算量を低減させることができる。すなわち、少ない演算量でも高い臨場感を得ることができる。
【０２５９】
したがって本技術では、平均的な処理量が低減されてプロセッサの電力使用量が少なくなるので、スマートフォンなどの携帯機器でもコンテンツをより長時間、連続再生することができるようになる。
【０２６０】
〈第２の実施の形態〉
〈オブジェクトプライオリティの利用について〉
ところでMPEG-H Part 3:3D audio規格では、オーディオオブジェクトの位置を示すオブジェクト位置情報とともに、そのオーディオオブジェクトの優先度をメタデータ（ビットストリーム）に含めることができる。なお、以下、オーディオオブジェクトの優先度をオブジェクトプライオリティと称することとする。
【０２６１】
このようにメタデータにオブジェクトプライオリティが含まれる場合、メタデータは例えば図１２に示すフォーマットとされる。
【０２６２】
図１２に示す例では、「num_objects」はオーディオオブジェクトの総数を示しており、「object_priority」はオブジェクトプライオリティを示している。
【０２６３】
また「position_azimuth」はオーディオオブジェクトの球面座標系における水平角度を示しており、「position_elevation」はオーディオオブジェクトの球面座標系における垂直角度を示しており、「position_radius」は球面座標系原点からオーディオオブジェクトまでの距離（半径）を示している。ここでは、これらの水平角度、垂直角度、および距離からなる情報がオーディオオブジェクトの位置を示すオブジェクト位置情報となっている。
【０２６４】
また、図１２ではオブジェクトプライオリティobject_priorityは３ビットの情報となっており、低優先度０から高優先度７までの値をとることができるようになっている。すなわち、優先度０から優先度７のうち、より値が大きいものがオブジェクトプライオリティが高いオーディオオブジェクトとされる。
【０２６５】
例えば復号側において全てのオーディオオブジェクトについて処理を行うことができない場合、復号側のリソースに応じて、オブジェクトプライオリティが高いオーディオオブジェクトだけが処理されるようにすることができる。
【０２６６】
具体的には、例えば３個のオーディオオブジェクトがあり、それらのオーディオオブジェクトのオブジェクトプライオリティが７、６、および５であったとする。また、処理装置の負荷が高く３個のオーディオオブジェクト全ての処理が困難であるとする。
【０２６７】
そのような場合、例えばオブジェクトプライオリティが５であるオーディオオブジェクトの処理は実行せず、オブジェクトプライオリティが７および６のオーディオオブジェクトのみが処理されるようにすることができる。
【０２６８】
これに加えて、本技術ではオーディオオブジェクトの信号が無音であるか否かも考慮して実際に処理されるオーディオオブジェクトを選択するようにしてもよい。
【０２６９】
具体的には、例えばスペクトル無音情報またはオーディオオブジェクト無音情報に基づいて、処理対象のフレームにおける複数のオーディオオブジェクトのうちの無音のものが除外される。そして無音のオーディオオブジェクトが除外されて残ったもののなかから、オブジェクトプライオリティが高いものから順番に、リソース等により定まる数だけ処理されるオーディオオブジェクトが選択される。
【０２７０】
換言すれば、例えばスペクトル無音情報やオーディオオブジェクト無音情報と、オブジェクトプライオリティとに基づいてデコード処理およびレンダリング処理のうちの少なくとも何れか１つの処理が行われる。
【０２７１】
例えば入力ビットストリームにオーディオオブジェクトAOB1乃至オーディオオブジェクトAOB5の５つのオーディオオブジェクトのオーディオオブジェクトデータがあり、信号処理装置１１では３個のオーディオオブジェクトしか処理する余裕がないとする。
【０２７２】
このとき、例えばオーディオオブジェクトAOB5のスペクトル無音情報の値が１であり、他のオーディオオブジェクトのスペクトル無音情報の値が０であったとする。また、オーディオオブジェクトAOB1乃至オーディオオブジェクトAOB4のオブジェクトプライオリティがそれぞれ７、７、６、および５であったとする。
【０２７３】
そのような場合、例えばスペクトル復号部５３では、まずオーディオオブジェクトAOB1乃至オーディオオブジェクトAOB5のうちの無音であるオーディオオブジェクトAOB5が除外される。次にスペクトル復号部５３では、残りのオーディオオブジェクトAOB1乃至オーディオオブジェクトAOB4のなかからオブジェクトプライオリティが高いオーディオオブジェクトAOB1乃至オーディオオブジェクトAOB3が選択される。
【０２７４】
そして、スペクトル復号部５３では、最終的に選択されたオーディオオブジェクトAOB1乃至オーディオオブジェクトAOB3についてのみスペクトルデータの復号が行われる。
【０２７５】
このようにすることで、信号処理装置１１の処理負荷が高く、全てのオーディオオブジェクトの処理が行えないような場合においても、実質的に破棄されるオーディオオブジェクトの数を減らすことができる。
【０２７６】
〈コンピュータの構成例〉
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０２７７】
図１３は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０２７８】
コンピュータにおいて、CPU（Central Processing Unit）５０１，ROM（Read Only Memory）５０２，RAM（Random Access Memory）５０３は、バス５０４により相互に接続されている。
【０２７９】
バス５０４には、さらに、入出力インターフェース５０５が接続されている。入出力インターフェース５０５には、入力部５０６、出力部５０７、記録部５０８、通信部５０９、及びドライブ５１０が接続されている。
【０２８０】
入力部５０６は、キーボード、マウス、マイクロフォン、撮像素子などよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記録部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインターフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体５１１を駆動する。
【０２８１】
以上のように構成されるコンピュータでは、CPU５０１が、例えば、記録部５０８に記録されているプログラムを、入出力インターフェース５０５及びバス５０４を介して、RAM５０３にロードして実行することにより、上述した一連の処理が行われる。
【０２８２】
コンピュータ（CPU５０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体５１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０２８３】
コンピュータでは、プログラムは、リムーバブル記録媒体５１１をドライブ５１０に装着することにより、入出力インターフェース５０５を介して、記録部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記録部５０８にインストールすることができる。その他、プログラムは、ROM５０２や記録部５０８に、あらかじめインストールしておくことができる。
【０２８４】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２８５】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０２８６】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２８７】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２８８】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２８９】
さらに、本技術は、以下の構成とすることも可能である。
【０２９０】
（１）
オーディオオブジェクトの信号が無音信号であるか否かを示すオーディオオブジェクト無音情報に基づいて、前記オーディオオブジェクトのオブジェクト信号のデコード処理およびレンダリング処理のうちの少なくとも何れか一方の処理を行う
信号処理装置。
（２）
前記デコード処理および前記レンダリング処理のうちの少なくとも何れか一方の処理において、前記オーディオオブジェクト無音情報に応じて、少なくとも一部の演算を省略するか、または所定の演算の結果に対応する値として予め定められた値を出力する
（１）に記載の信号処理装置。
（３）
前記レンダリング処理により得られた、仮想スピーカにより音を再生するための仮想スピーカ信号と、前記仮想スピーカ信号が無音信号であるか否かを示す仮想スピーカ無音情報とに基づいてHRTF処理を行うHRTF処理部をさらに備える
（１）または（２）に記載の信号処理装置。
（４）
前記HRTF処理部は、前記HRTF処理のうち、前記仮想スピーカ無音情報により無音信号であるとされた前記仮想スピーカ信号と、伝達関数とを畳み込む演算を省略する
（３）に記載の信号処理装置。
（５）
前記オブジェクト信号のスペクトルに関する情報に基づいて前記オーディオオブジェクト無音情報を生成する無音情報生成部をさらに備える
（３）または（４）に記載の信号処理装置。
（６）
コンテキストベースの算術符号化方式により符号化された、前記オブジェクト信号のスペクトルデータの復号を含む前記デコード処理を行うデコード処理部をさらに備え、
前記デコード処理部は、前記オーディオオブジェクト無音情報により無音信号であるとされた前記スペクトルデータのコンテキストの計算を行わずに、前記コンテキストの計算結果として予め定められた値を用いて前記スペクトルデータを復号する
（５）に記載の信号処理装置。
（７）
前記デコード処理部は、前記スペクトルデータの復号、および復号された前記スペクトルデータに対するIMDCT処理を含む前記デコード処理を行い、前記オーディオオブジェクト無音情報により無音信号であるとされた、前記復号された前記スペクトルデータに対して前記IMDCT処理を行わず、ゼロデータを出力する
（６）に記載の信号処理装置。
（８）
前記無音情報生成部は、前記デコード処理の結果に基づいて、前記デコード処理に用いられる前記オーディオオブジェクト無音情報とは異なる他の前記オーディオオブジェクト無音情報を生成し、
前記他の前記オーディオオブジェクト無音情報に基づいて、前記レンダリング処理を行うレンダリング処理部をさらに備える
（５）乃至（７）の何れか一項に記載の信号処理装置。
（９）
前記レンダリング処理部は、前記デコード処理により得られた前記オブジェクト信号ごとに前記仮想スピーカのゲインを求めるゲイン計算処理と、前記ゲインおよび前記オブジェクト信号に基づいて前記仮想スピーカ信号を生成するゲイン適用処理とを前記レンダリング処理として行う
（８）に記載の信号処理装置。
（１０）
前記レンダリング処理部は、前記ゲイン適用処理において、前記仮想スピーカ無音情報により無音信号であるとされた前記仮想スピーカ信号の演算、および前記他の前記オーディオオブジェクト無音情報により無音信号であるとされた前記オブジェクト信号に基づく演算のうちの少なくとも何れか一方を省略する
（９）に記載の信号処理装置。
（１１）
前記無音情報生成部は、前記ゲインの計算結果、および前記他の前記オーディオオブジェクト無音情報に基づいて前記仮想スピーカ無音情報を生成する
（９）または（１０）に記載の信号処理装置。
（１２）
前記オーディオオブジェクトの優先度、および前記オーディオオブジェクト無音情報に基づいて、前記デコード処理および前記レンダリング処理のうちの少なくとも何れか一方の処理を行う
（１）乃至（１１）の何れか一項に記載の信号処理装置。
（１３）
信号処理装置が、
オーディオオブジェクトの信号が無音信号であるか否かを示すオーディオオブジェクト無音情報に基づいて、前記オーディオオブジェクトのオブジェクト信号のデコード処理およびレンダリング処理のうちの少なくとも何れか一方の処理を行う
信号処理方法。
（１４）
オーディオオブジェクトの信号が無音信号であるか否かを示すオーディオオブジェクト無音情報に基づいて、前記オーディオオブジェクトのオブジェクト信号のデコード処理およびレンダリング処理のうちの少なくとも何れか一方の処理を行う
ステップを含む処理をコンピュータに実行させるプログラム。
【符号の説明】
【０２９１】
１１  信号処理装置，  ２１  デコード処理部，  ２２  無音情報生成部，  ２３  レンダリング処理部，  ２４  HRTF処理部，  ５３  スペクトル復号部，  ５４  IMDCT処理部，  ８１  ゲイン計算部，  ８２  ゲイン適用部
【図１】
2020080099.tif 000009
【図２】
2020080099.tif 000010
【図３】
2020080099.tif 000011
【図４】
2020080099.tif 000012
【図５】
2020080099.tif 000013
【図６】
2020080099.tif 000014
【図７】
2020080099.tif 000015
【図８】
2020080099.tif 000016
【図９】
2020080099.tif 000017
【図１０】
2020080099.tif 000018
【図１１】
2020080099.tif 000019
【図１２】
2020080099.tif 000020
【図１３】
2020080099.tif 000021
【国際調査報告】
2020080099.tif 000022
2020080099.tif 000023
2020080099.tif 000024
2020080099.tif 000025