以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なるアルファベットを付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
なお、説明は以下の順序で行うものとする。
<<1.はじめに>>
<<2.構成例>>
<<3.オブジェクト選択情報の例(実施例1)>>
<<4.表示状態を考慮したファイル化の例(実施例2)>>
<<5.時間変化しない場合のシグナリング例(実施例3)>>
<<6.時間変化する場合のシグナリング例(実施例4)>>
<<7.応用例>>
<<8.ハードウェア構成例>>
<<9.むすび>>
<<1.はじめに>>
<1-1.背景>
まず、本開示の背景について説明する。
MPEG-H 3D Audioは、オブジェクトごとに生成されたオーディオデータであるオブジェクトオーディオデータを扱うことができる規格である。オーディオコンテンツは、音源の波形データである複数のオブジェクトオーディオデータと、オブジェクトの位置、音の広がり、もしくは、各種エフェクト等に関する情報を含むオブジェクトメタデータによって構成される。
図1は、本開示の背景を説明するための説明図である。例えば、図1に示すように、オブジェクトメタデータと複数のオブジェクトオーディオデータ(図1においては、オブジェクトオーディオデータ1~オブジェクトオーディオデータnが示されている)がサーバ等によってクライアントへ提供される。クライアントのオブジェクトレンダラーは、オブジェクトメタデータとオブジェクトオーディオデータを受信すると、再生環境情報(例えば、スピーカの位置または数等)に基づいてレンダリングを行い、スピーカ等の再生環境に対して波形データを提供することで、オーディオコンテンツの再生を実現する。
オーディオコンテンツが提供される場合、オブジェクトオーディオデータは、オーディオファイルに格納されてクライアントへ伝送される。ここで、図2を参照して具体例を説明する。図2は、本開示の背景を説明するための説明図である。図2のD10に示すように、オブジェクトオーディオデータ1~オブジェクトオーディオデータ3と、これらのデータに対応するオブジェクトメタデータが存在する場合、オーディオファイルに格納する態様はファイル化例F11~F13に示すように大きく3通りが考えられる。
より具体的には、ファイル化例F11に示すように、全てのデータが1つのオーディオファイルに格納されてもよいし、ファイル化例F12に示すように、1または2以上のオブジェクトオーディオデータとそれらに対応するオブジェクトメタデータがそれぞれオーディオファイルに格納されてもよい。また、ファイル化例F13に示すように、1つのオブジェクトオーディオデータとそれに対応するオブジェクトメタデータが1つのオーディオファイルに格納されてもよい。
ここで、画像の表示状態とオブジェクトオーディオデータの関係について、図3を参照して説明を行う。図3は、画像の表示状態とオブジェクトオーディオデータの関係を説明するための説明図である。
図3には、2人のボーカルH2、H3が歌っている画像が2つの表示状態V11、及び表示状態V12で表示される例が示されている。表示状態V11と表示状態V12とは、ズームイン、ズームアウトにより相互に移行可能であり、表示状態V11において中央部をズームインすると表示状態V12となり、表示状態V12においてズームアウトすると表示状態V12となる。なお、ズームイン、ズームアウトは、例えばクライアントによる画像の切り出し処理により行われてもよい。
表示状態V11の場合、2人のボーカルH2、H3が中央に小さくまとまって表示されているため、どちらのボーカルが歌っていたとしても、あるいは両方のボーカルが歌っていたとしても、中央の1方向から音が聞こえれば十分であると考えられる。一方、表示状態V12の場合は、ユーザには2人のボーカルが離れて見え、それぞれのボーカルの位置が明確に区別できるため、左側のボーカルH2が歌っているときは左の方向から音が聞こえ、右側のボーカルH3が歌っているときは右の方向から音が聞こえることが望ましい。このような状態を音の定位がわかる状態という。
ストリーミングサービスを行うための規格であるMPEG-DASHでは、上述したような表示状態に応じたオブジェクトオーディオデータの伝送は考慮されておらず、表示状態に関係なくオブジェクトオーディオデータが伝送されている。
例えば、図3のような画像とオーディオデータを含むコンテンツをMPEG-DASHで配信する場合、図4を参照して説明する以下のような2つの手法(それぞれ、第1の比較手法、及び第2の比較手法と呼ぶ)が採用され得る。
図4Aは、第1の比較手法によるオーディオデータの配信を説明するための説明図である。第1の比較手法は、表示状態V11に合わせて1つのオブジェクトオーディオデータAD1を配信する手法である。図4Aに示されるように、第1の比較手法によれば、表示状態V11の場合だけでなく、表示状態V12の場合も、音が中央の1方向のみから聞こえるため、図3を参照して説明したように、それぞれのボーカルの位置に応じた方向から音を聞くことができない。
図4Bは、第2の比較手法によるオーディオデータの配信を説明するための説明図である。第2の既存手法は、表示状態V12に合わせて2つのオブジェクトオーディオデータAD2、AD3を配信する手法である。図4Bに示されるように、第2の比較手法によれば、表示状態V12において、それぞれのボーカルの位置に応じた方向から音を聞くことが可能であるが、表示状態V11では、2つのオブジェクトオーディオデータがレンダリングされ、結果的に1方向から音が聞こえる。つまり、第2の比較手法では、表示状態V11の場合に、1方向から聞こえれば十分にも関わらず、2つのオブジェクトオーディオデータが必要であるため、第1の比較手法と比べると伝送帯域、及びレンダリング処理が余計に必要となってしまう。
<1-2.概要>
そこで、以下に説明する本開示の一実施形態では、表示状態に応じて利用するオブジェクトオーディオデータを選択して取得する手法(以下、提案手法と呼ぶ)が採用される。例えばサーバが表示状態ごとに必要となるオブジェクトオーディオデータを予め全て記憶しておき、クライアントが表情状態に応じたオブジェクトオーディオデータを選択して取得することにより、かかる提案手法が実現され得る。
図5は、本開示の一実施形態にかかる提案手法の概要を説明するための説明図である。提案手法では、表示状態V11では1つのオブジェクトオーディオデータAD1が配信され、表示状態V12では2つのオブジェクトオーディオデータAD2、AD3が配信される。提案手法によれば、余計な伝送帯域、及びレンダリング処理を発生させることなく、より適切な位置から音が聞こえるようにオブジェクトオーディオデータを配信することが可能となる。
ところで、上述したように、既存のMPEG-DASHでは、表示状態に応じたオブジェクトオーディオデータの伝送は考慮されていない。そこで、上述したような提案手法によるオブジェクトオーディオデータの配信を実現するため、本開示では、以下の4つの仕組みが提供される。
第1に、画像の表示状態に応じたオブジェクトオーディオデータを選択するための情報と、その情報を利用してオブジェクトオーディオデータを選択する仕組みが提供される。例えば、図5に示した例では、表示状態V11の場合にはオブジェクトオーディオデータAD1、表示状態V12の場合にはオブジェクトオーディオデータAD2、AD3を選択するためのメタ情報(以下、オブジェクト選択情報とも称する)が新たに必要となる。かかるオブジェクト選択情報、及びオブジェクト選択情報を用いたオブジェクトオーディオデータ選択の例については、<<3.オブジェクト選択情報の例(実施例1)>>において説明を行う。
第2に、表示状態を考慮してオブジェクトオーディオデータをファイル化する仕組みが提供される。図2を参照して説明したように、既存のMPEG-DASHでは、オブジェクトオーディオデータはオーディオファイルに格納され、クライアントはファイルを選択して取得する。
例えば、表示状態ごとに利用するオブジェクトオーディオデータを図2に示したファイル化例F11のように全て1つのオーディオファイルに格納されるようにファイル化すると、常に1つのオーディオファイルを表示状態に応じて選択して取得すればよいという利点がある。しかし、表示状態と同一数のファイルを準備する必要があり、また、共通のオブジェクトオーディオデータを利用する表示状態が複数存在する場合、サーバは同一のオブジェクトオーディオデータを含む複数のオーディオファイルを記憶することとなり、記憶容量の無駄が発生し得る。
一方で、図2に示したファイル化例F13のように1つのオブジェクトオーディオデータが1つのオーディオファイルに格納されるようにファイル化すると、サーバは必要なオブジェクトオーディオデータ分のオーディオファイルのみを記憶すればよいという利点がある。しかし、クライアントがファイルを取得する際、表示状態に応じたオブジェクトオーディオデータの数だけオーディオファイルを取得する必要があるため、HTTPコネクション数が多くなりサーバの処理負荷が大きくなる恐れがある。
そこで、様々な表示状態に対応可能であると共に、サーバが記憶するデータ量と、クライアントが取得するファイル数との両方が抑制されるようにファイル化する仕組みが望まれる。このような表示状態を考慮したオブジェクトオーディオデータをファイル化する仕組みの例については、<<4.表示状態を考慮したファイル化の例(実施例2)>>において説明を行う。
第3に、利用するオブジェクトオーディオデータの組合せが時間変化しない場合に、オブジェクト選択情報をシグナリングする仕組みが提供される。利用するオブジェクトオーディオデータの組合せが時間変化しない場合、同一のオブジェクト選択情報を全ての時刻で共通利用可能である。しかし、かかるオブジェクト選択情報をシグナリングする仕組みが既存のMPEG-DASHには用意されていないため、シグナリングするための新たな仕組みが必要となる。利用するオブジェクトオーディオデータの組合せが時間変化しない場合に、オブジェクト選択情報をシグナリングする仕組みの例については、<<5.時間変化しない場合のシグナリング例(実施例3)>>において説明を行う。
第4に、利用するオブジェクトオーディオデータが時間変化する場合に、オブジェクト選択情報をシグナリングする仕組みが提供される。上述したオブジェクト選択情報が時間変化する場合が考えらえれる。例えば同一の表示状態であっても、時刻によって利用するオブジェクトオーディオデータが変化する場合がある。かかる場合について、図6を参照して説明する。
図6は、表示状態が変化しなくても、時刻によって利用するオブジェクトオーディオデータの組合せが変化する例を説明するための説明図である。図6に示す例では、時刻t1から時刻t2の間にズーム変化はなく、時刻t1の表示状態V21と、時刻t2の表示状態V22は同一の表示状態であるが、時刻t1から時刻t2の間に、2人のボーカルH1,H2が手前に近づいてきている。なお、本明細書では、例えば画角等の表示状態を決定し得る要素に変化がない場合には同一の表示状態であると表現される。
時刻t1では、2人のボーカルH1,H2が遠くにまとまって見えるため、1つのオブジェクトオーディオデータAD1を利用することが望ましい。一方、時刻t2では2人のボーカルH1,H2が近づいたことにより、それぞれのボーカルの位置が明確に区別できるため、2つのオブジェクトオーディオデータAD2、AD3を利用することが望ましい。このように、時刻ごとに画像に映っている音源が移動する場合には、利用するオブジェクトオーディオデータの組合せが時間変化し得る。また、時刻ごとに映っている音源が変化する場合にも、利用するオブジェクトオーディオデータの組合せが時間変化し得る。
このように利用するオブジェクトオーディオデータの組合せが時間変化する場合、時刻ごとに異なるオブジェクト選択情報をシグナリングすることが望ましい。時刻ごとに異なるオブジェクト選択情報をファイルに格納する仕組み、及びそれをシグナリングするための仕組みは既存のMPEG-DASHには用意されていない。利用するオブジェクトオーディオデータの組合せが時間変化する場合に、時刻ごとにオブジェクト選択情報をファイルに格納し、シグナリングする仕組みの例については、<<6.時間変化する場合のシグナリング例(実施例4)>>において説明を行う。
以上、本開示の背景、及び本開示の一実施形態の概要について説明した。以降では、本開示の一実施形態についてより詳細に説明を行う。
<<2.構成例>>
<2-1.システム構成例>
まず、図7を参照して、本実施形態にかかる情報処理システムのシステム構成例について説明する。図7は、本実施形態にかかる情報処理システムのシステム構成例を示すブロック図である。
図7を参照すると、本実施形態にかかる情報処理システムは、サーバ100と、クライアント200と、を備える。そして、サーバ100とクライアント200は、通信網300によって互いに接続されている。
サーバ100は、MPEG-DASHに基づいて、オーディオコンテンツに用いられるオブジェクトオーディオデータをクライアント200にストリーミング配信(送信)する情報処理装置(送信装置)である。より具体的には、サーバ100は、オーディオコンテンツに用いられるオーディオデータをオブジェクト毎に取得し、オブジェクト単位で当該データを符号化することでストリームデータを生成する。そして、サーバ100は、セグメントと呼ばれる数秒から10秒程度の時間単位ごとに、もしくはコンテンツすべてについて、当該ストリームデータをファイル化することでオーディオファイルを生成する。
なお、オブジェクトとは、音源であり、各オブジェクトのオーディオデータ(オブジェクトオーディオデータ)は、例えば各オブジェクトに取り付けられたマイクロフォン等により取得される。オブジェクトは、固定されたマイクスタンド等の物体であってもよいし、人物等の動体であってもよい。
また、本実施形態において、1つの音源が1つのオブジェクトであってもよいし、複数の音源が1つのオブジェクトであってもよい。またある音源に対応するオブジェクトが複数存在してもよい。例えば、図5に示す例では、音源であるボーカルH2に対応するオブジェクトは、表示状態によって異なり、ボーカルH2の歌声はオブジェクトオーディオデータAD1にもオブジェクトオーディオデータAD2にも含まれ得る。
また、サーバ100は、各オブジェクトの位置情報等を含むオブジェクトメタデータを符号化する。サーバ100は、オブジェクトメタデータの符号化データをセグメント単位でファイル化することでメタデータファイルを生成する。
さらに、サーバ100は、オーディオファイルを管理する管理ファイルを生成する。本実施形態において、管理ファイルは、ISO/IEC 23009-1で規格定義されるMPD(Media Presentation Description)ファイルであってよい。
そして、サーバ100は、クライアント200からの要求に応じて、上記のオーディオファイル、メタデータファイル、または、MPDファイル等をクライアント200に送信する。
クライアント200は、オーディオコンテンツを再生する情報処理装置(受信装置)である。より具体的には、クライアント200は、サーバ100からMPDファイルを取得し、当該MPDファイルに基づいてサーバ100からメタデータファイルおよびオーディオファイルを取得する。そして、クライアント200は、サーバ100から取得されたオーディオファイルを復号し、合成して出力することでオーディオコンテンツの再生を実現する。
以上、本実施形態に係る情報処理システムのシステム構成例について説明した。なお、図7を参照して説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理システムの構成は係る例に限定されない。例えば、サーバ100の機能の一部は、クライアント200またはその他の外部装置に備えられてもよい。例えば、サーバ100の機能の一部を提供するソフトウェア(例えば、所定のAPI(Application Programming Interface)が使用されたWEBアプリケーション等)がクライアント200上で実行されてもよい。また、逆に、クライアント200の機能の一部は、サーバ100またはその他の外部装置に備えられてもよい。本実施形態に係る情報処理システムの構成は、仕様や運用に応じて柔軟に変形可能である。
<2-2.サーバの機能構成例>
上記では、本実施形態に係る情報処理システムのシステム構成例について説明した。続いて、図8を参照して、サーバ100の機能構成例について説明する。図8は、本実施形態にかかるサーバ100の機能構成例を示すブロック図である。図8に示すように、サーバ100は、生成部110と、制御部120と、通信部130と、記憶部140と、を備える。
生成部110は、オーディオコンテンツの提供に関する処理を行う機能構成である。図8に示すように、生成部110は、データ取得部111と、符号化処理部112と、セグメントファイル生成部113と、MPDファイル生成部114と、を備える。
データ取得部111は、画像、及びオーディオデータをオブジェクト毎に取得する(換言すると、オブジェクトオーディオデータを取得する)。データ取得部111は、サーバ100内から当該画像と当該オブジェクトオーディオデータを取得してもよいし、サーバ100に接続している外部装置から当該画像と当該オブジェクトオーディオデータを取得してもよい。データ取得部111は、取得した画像とオブジェクトオーディオデータを符号化処理部112に提供する。
符号化処理部112は、データ取得部111から提供される画像、及び各オブジェクトのオブジェクトオーディオデータを符号化することで画像ストリームデータ、及びオーディオストリームデータを生成する。また、符号化処理部112は、外部から入力される各オブジェクトのオブジェクト位置情報等を含むオブジェクトメタデータを符号化する。符号化処理部112は画像ストリームデータ、各オブジェクトのオーディオストリームデータ、及びオブジェクトメタデータの符号化データをセグメントファイル生成部113に提供する。
セグメントファイル生成部113は、コンテンツとして配信可能な単位のデータであるセグメントファイルを生成する機能構成である。例えば、セグメントファイル生成部113は、符号化処理部112から提供される各オブジェクトのオーディオストリームデータをセグメント単位でファイル化することでオーディオファイルを生成する。オーディオファイルの生成(ファイル化とも称する)については様々な態様が存在する。例えば、セグメントファイル生成部113は、表示状態に応じたオブジェクトオーディオデータの組合せに基づいて、同一のオブジェクトオーディオデータが複数のオーディオファイルに含まれないように、1または2以上のオブジェクトオーディオデータを1つのオーディオファイルに格納することでオーディオファイルを生成する。表示状態に応じたオブジェクトオーディオデータの組合せに基づくオーディオファイルの生成の詳細については後述する。
また、セグメントファイル生成部113は、符号化処理部112から提供される、オブジェクトメタデータの符号化データをセグメント単位でファイル化することで、オブジェクトメタデータのみを格納するメタデータファイルを生成することもできる。かかるメタデータファイルが生成されるケースについては後述する。
また、セグメントファイル生成部は、符号化処理部112から提供される画像ストリームデータをセグメント単位でファイル化することで画像ファイルを生成する。
MPDファイル生成部114は、MPDファイルを生成する機能構成である。本実施形態において、MPDファイル生成部114は、オブジェクト選択情報を含むメタデータファイルへアクセスするためのメタデータファイルアクセス情報を含むMPDファイルを生成する。MPDファイル生成部114により生成されるMPDファイルの詳細については後述する。
制御部120は、サーバ100が行う処理全般を統括的に制御する機能構成である。例えば、制御部120は、通信部130を介して受信されるクライアント200からの要求情報等に基づいて各構成の起動や停止を制御することができる。なお、制御部120の制御内容は特に限定されない。例えば、制御部120は、汎用コンピュータ、PC、タブレットPC等において一般的に行われる処理を制御してもよい。
通信部130は、クライアント200との各種通信を行う。例えば、通信部130は、クライアント200からの要求情報を受信する。また、通信部130は、送信部としても機能し、当該要求情報への応答としてMPDファイル、メタデータファイル、オーディオファイル、または画像ファイル等をクライアント200へ送信する。なお、通信部130の通信内容はこれらに限定されない。
記憶部140は、各種情報を記憶する機能構成である。例えば、記憶部140は、オーディオファイル、画像ファイル、メタデータファイル、MPDファイル等を記憶したり、サーバ100の各機能構成によって使用されるプログラムまたはパラメータ等を記憶したりする。なお、記憶部140が記憶する情報はこれらに限定されない。
以上、サーバ100の機能構成例について説明した。なお、図8を用いて説明した上記の機能構成はあくまで一例であり、サーバ100の機能構成は係る例に限定されない。例えば、サーバ100は、図8に示す機能構成の全てを必ずしも備えなくてもよい。また、サーバ100の機能構成は、仕様や運用に応じて柔軟に変形可能である。
<2-3.クライアントの機能構成例>
上記では、サーバ100の機能構成例について説明した。続いて、図9を参照して、クライアント200の機能構成例について説明する。図9は、本実施形態にかかるクライアント200の機能構成例を示すブロック図である。図9に示すように、クライアント200は、処理部210と、制御部220と、通信部230と、記憶部240と、センサ部250と、表示部260と、スピーカ270と、を備える。
処理部210は、コンテンツの再生に関する処理を行う機能構成である。図9に示すように、処理部210は、MPDファイル取得部211と、MPDファイル処理部212と、セグメントファイル選択部213と、セグメントファイル取得部214と、復号処理部215と、合成処理部216と、を備える。
MPDファイル取得部211は、コンテンツの再生に先立ってサーバ100からMPDファイルを取得する機能構成である。より具体的には、MPDファイル取得部211は、ユーザ操作等に基づいてMPDファイルの要求情報を生成し、通信部230を介して当該要求情報をサーバ100へ提供することで、MPDファイルをサーバ100から取得する。MPDファイル取得部211は、取得したMPDファイルをMPDファイル処理部212に提供する。
MPDファイル処理部212は、MPDファイル取得部211から提供されるMPDファイルに関する処理を行う機能構成である。より具体的には、MPDファイル処理部212は、MPDファイルの解析に基づき、オーディオファイル、メタデータファイル等の取得に必要な情報(例えば、URL等)を認識する。また、本実施形態にかかるMPDファイル処理部212は、MPDファイルの解析に基づき、オブジェクト選択情報を取得する。MPDファイル処理部212は、これらの情報をセグメントファイル選択部213に提供する。
セグメントファイル選択部213は、取得対象となるセグメントファイルを選択する機能構成である。より具体的には、セグメントファイル選択部213は、MPDファイル処理部212から提供される上記の各種情報に基づいて取得対象となるオーディオファイルまたはメタデータファイルを選択する。例えば、本実施形態にかかるセグメントファイル選択部213は、オブジェクト選択情報に基づいて利用するオブジェクトオーディオデータを選択し、選択されたオブジェクトオーディオデータを含むオーディオファイルを選択する。
セグメントファイル取得部214は、セグメントファイルの取得を行う機能構成である。より具体的には、セグメントファイル取得部214は、セグメントファイル選択部213から提供される各種情報に基づいて、画像ファイル、オーディオファイル、またはメタデータファイルの要求情報を生成し、通信部230を介して当該要求情報をサーバ100へ送信させることで、これらのファイルをサーバ100から取得する。セグメントファイル取得部214は、取得したこれらのファイルを復号処理部215に提供する。
復号処理部215は、セグメントファイル取得部214から提供される画像ファイル、オーディオファイル、またはメタデータファイルに含まれるデータを復号する機能構成である。復号処理部215は、復号処理によって得られる画像(以下、復号画像とも称する)を制御部220に提供する。また、復号処理部215は、復号処理によって得られるオブジェクトオーディオデータ等を合成処理部216に提供する。
合成処理部216は、復号処理部215から提供される複数のオブジェクトオーディオデータを合成し、出力する機能構成である。合成処理部216は、合成後のデータを制御部220に提供する。
制御部220は、クライアント200が行う処理全般を統括的に制御する機能構成である。例えば、制御部220は、表示部260の表示を制御する。制御部220は、復号処理部215から提供される復号画像をそのまま表示部260に表示させてもよいし、復号処理部215から提供される復号画像に対して処理を施して表示部260に表示させてもよい。例えば、制御部220は、センサ部250から提供されるセンサデータに基づいて、復号処理部215から提供される復号画像から一部の領域を切り出す処理(切り出し処理)を施してもよい。そして、制御部220は切り出し処理により切り出された画像(以下、切り出し画像とも称する)を表示部260に表示させてもよい。なお、センサデータに基づく復号画像の切り出し処理は、例えば所謂360度画像の再生において行われる切り出し処理と同様であってよい。また、制御部220は、スピーカ270を制御し、合成処理部216から提供される合成後のデータを出力することで、オーディオコンテンツをユーザに提供する。また、制御部220は、ユーザによってマウス、キーボード等の入力部(図示なし)を用いて行われる入力に基づいて各種処理を制御してもよい。なお、制御部220の制御内容は特に限定されない。例えば、制御部220は、汎用コンピュータ、PC、タブレットPC等において一般的に行われる処理を制御してもよい。
通信部230は、サーバ100との各種通信を行う。例えば、通信部230は、処理部210から提供される要求情報をサーバ100へ送信する。また、通信部230は、受信部としても機能し、当該要求情報への応答としてMPDファイル、メタデータファイルオーディオファイル、画像ファイル等をサーバ100から受信する。なお、通信部230の通信内容はこれらに限定されない。
記憶部240は、各種情報を記憶する機能構成である。例えば、記憶部240は、サーバ100から取得した画像ファイル、オーディオファイル、オブジェクトメタデータ、メタデータファイルまたはMPDファイル等を記憶したり、クライアント200の各機能構成によって使用されるプログラムまたはパラメータ等を記憶したりする。なお、記憶部240が記憶する情報はこれらに限定されない。
センサ部250は、センシングによりユーザに関するセンサデータを取得する。例えば、センサ部250は、加速度センサ、角速度センサ等のセンサを含んでよく、ユーザの姿勢や位置に関するセンサデータを取得してもよい。センサ部250は、取得したセンサデータを制御部220へ提供する。
表示部260は、制御部220の制御に従い、画像を表示する。なお、上述したように表示部260により表示される画像は、復号処理部215から提供される復号画像そのものであってもよいし、制御部220の切り出し処理により切り出された切り出し画像であってもよい。
スピーカ270は、制御部220の制御に従い、オーディオ出力を行う。
以上、クライアント200の機能構成例について説明した。なお、図9を用いて説明した上記の機能構成はあくまで一例であり、クライアント200の機能構成はかかる例に限定されない。例えば、クライアント200は、図9に示す機能構成の全てを必ずしも備えなくてもよい。また、クライアント200の機能構成は、仕様や運用に応じて柔軟に変形可能である。例えば、図9に示したセンサ部250、表示部260、スピーカ270の機能構成は、クライアント200に接続された他の装置に備えられていてもよい。
<<3.オブジェクト選択情報の例(実施例1)>>
以上、本実施形態の構成例について説明した。続いて、本実施形態において、表示状態に応じて利用されるオブジェクトオーディオデータを選択するためのオブジェクト選択情報、及び当該オブジェクト選択情報を用いたオブジェクトオーディオデータ選択に関し、2つの実施例(実施例1-1、実施例1-2)を説明する。
<3-1.画角を用いたオブジェクト選択情報の例(実施例1-1)>
まず、実施例1-1として、画角を用いたオブジェクト選択情報の例について説明する。上述したように、クライアント200の制御部220は、処理部210から提供された復号画像を表示部260にそのまま表示させてもよいし、切り出し処理により切り出された切り出し画像を表示部260に表示させてもよい。ここで、復号画像がそのまま表示される場合と、切り出された切り出し画像が表示される場合とで、表示状態が異なり、クライアント200が取得すべきオブジェクトオーディオデータが異なり得る。このような切り出し処理による、取得すべきオブジェクトオーディオデータの違いについて、図10を参照して説明を行う。なお、以下の説明では、主に水平画角について説明するが垂直画角についても同様である。
図10Aは、復号画像を表示部260にそのまま表示させた場合に利用するオブジェクトオーディオデータについて説明するための説明図である。図10Aに示される復号画像D31は、画角θaでの撮像に基づく画像であり、復号画像D31には2人のボーカルH1,H2が映っている。
このような復号画像D31をそのまま表示し、かつ撮像時の画角と同一の画角θaで視聴した場合、図10Aに示す表示状態V32のように2人のボーカルH2、H3が中央に小さくまとまって表示される。そのため表示状態V32では、1方向から音が聞こえれば十分であると考えられ、かかる場合クライアント200は1つのオブジェクトオーディオデータを選択して取得すればよい。
なお、図10Aに示した例は、撮像時の画角と同一の画角θaで復号画像の全体を切り出し画像として切り出して表示した例であると解釈することも可能である。
図10Bは、復号画像を切り出して得られる切り出し画像を表示部260に表示させた場合に利用するオブジェクトオーディオデータについて説明するための説明図である。図10Bに示される復号画像D33は、図10Aに示した復号画像D31と同様に画角θaでの撮像に基づく画像であり、復号画像D33には2人のボーカルH1,H2が映っている。
ここで、このような復号画像D33から、画角θbで切り出した切り出し画像D331を表示し、かつ画角θaで視聴した場合、図10Bに示す表示状態V34のようにユーザには2人のボーカルが離れて見え、それぞれのボーカルの位置が明確に区別できる。そのため表示状態V34では、2方向から別々に音が聞こえることが望ましく、かかる場合クライアント200は2つのオブジェクトオーディオデータを選択して取得する必要がある。
上述したように、復号画像がそのまま表示される場合と、切り出された切り出し画像が表示される場合とで、表示状態が異なり、利用するオブジェクトオーディオデータが異なり得る。また、切り出し画像が表示される場合であっても、切り出し画像が切り出される画角(例えば図10Bに示した例ではθb)や方向(位置)によって表示状態が異なり、利用するオブジェクトオーディオデータが異なり得る。
また、表示される切り出し画像が同一であっても、視聴時の画角(以下、視聴画角とも称する)によって表示状態が異なり、利用するオブジェクトオーディオデータが異なり得る。このような視聴時の画角による利用するオブジェクトオーディオデータの違いについて、図11を参照して説明を行う。なお、以下の説明では、主に水平画角について説明するが垂直画角についても同様である。
図11は、視聴時の画角の違いによる、利用するオブジェクトオーディオデータの違いについて説明するための説明図である。図11に示す表示状態V34は、図10Bに示した表示状態V34と同一である。つまり、図11に示す表示状態V34において表示される画像は図10Bに示した切り出し画像D331であり、ユーザは画角θaの視聴画角で視聴している。かかる表示状態V34では、上述したように、2方向から別々に音が聞こえることが望ましく、クライアント200は2つのオブジェクトオーディオデータを選択して取得する必要がある。
また、図11に示す表示状態V35において表示される画像は、表示状態V34において表示される画像と同一であり、図10Bに示した切り出し画像D331であってよい。ただし、図11に示す表示状態V35において、ユーザは画角θaよりも小さい画角θcの視聴画角で視聴している。表示状態V35のように、小さな視聴画角で視聴する場合、ユーザには、2人のボーカルH2、H3がまとまって見え、中央の1方向から音が聞こえれば十分であると考えられる。したがって、かかる場合クライアント200は1つのオブジェクトオーディオデータを選択して取得すればよい。
以上をまとめると、切り出した画像の方向及び画角、並びに視聴時の画角の組合せにより、クライアント200が利用する(取得すべき)オブジェクトオーディオデータの組合せが異なり得る。なお、復号画像が所謂360度画像である場合であっても、上述した例と同様に、360度画像から切り出した画像の方向及び画角、並びに視聴時の画角の組合せにより、利用するオブジェクトオーディオデータの組合せが異なり得る。本実施例では、これらの情報を用いることで、表示状態が特定され、利用するオブジェクトオーディオデータの組合せを特定することが可能である。
本実施例において、オブジェクトオブジェクトオーディオデータを選択するためのオブジェクト選択情報は、以下に示す情報を含んでもよい。
・切り出した画像の方向に関する方向情報
・切り出した画像の画角に関する切り出し画角情報
・表示された画像に対する視聴時の画角に関する視聴画角情報
・利用するオブジェクトオーディオデータに関する利用情報
なお、上記の情報うち、切り出し画角情報、及び視聴画角情報をまとめて単に画角情報と呼ぶ場合もある。
方向情報は、例えば水平方向の角度の情報と垂直方向の角度の情報とを含んでもよい。あるいは、方向情報は、水平方向の角度の情報と垂直方向の角度の情報とに加え、かかる水平方向の角度と垂直方向の角度により特定される切り出した方向ベクトルからの角度範囲の情報を含んでもよい。あるいは、方向情報は、水平方向の角度の範囲の情報と、垂直方向の角度の範囲の情報とを含んでもよい。
切り出し画角情報は、例えば切り出した画像の水平画角の範囲の情報と、垂直画角の範囲の情報を含んでもよい。あるいは、基準となる表示状態における切り出した画像の水平画角と垂直画角が予め基準画角として決められている場合、切り出し画角情報は、基準画角に対する倍率の範囲の情報を含んでもよい。
視聴画角情報は、例えば表示された画像に対する視聴時の水平画角の範囲の情報と、垂直画角の範囲の情報を含んでもよい。あるいは、基準となる表示状態における表示された画像に対する視聴時の水平画角と垂直画角が予め基準画角として決められている場合、視聴画角情報は、基準画角に対する倍率の範囲の情報を含んでもよい。
利用情報は、利用するオブジェクトオーディオデータの組合せを全て示す情報を含んでもよい。あるいは、利用情報は、予め決められた既定(default)のオブジェクトオーディオデータの組合せに対する、利用するオブジェクトオーディオデータの組合せの差分を示す情報を含んでもよい。
なお、利用情報が既定のオブジェクトオーディオデータの組合せを含むか否かによらず、既定のオブジェクトオーディオデータの組合せが予め決められていてもよい。例えば、該当するオブジェクト選択情報が準備されていない表示状態においては既定のオブジェクトオーディオデータを利用することにより、全ての表示状態が表現されるようにオブジェクト選択情報を準備する手間が省かれる。
上述した本実施例にかかるオブジェクト選択情報に基づいて利用するオブジェクトオーディオデータをクライアント200の処理部210が選択して取得する方法について、図12を参照して説明する。図12は、本実施例にかかるオブジェクト選択情報に基づいて利用するオブジェクトオーディオデータをクライアント200が選択して取得する方法を示すフローチャート図である。なお、図12に示す例では、既定のオブジェクトオーディオデータの組合せが予め決められており、かつクライアント200が既に複数のオブジェクト選択情報を取得し、例えば記憶部240に記憶されているものとする
まず、図12に示すように、処理部210は、クライアント200が表示する切り出し画像の切り出し方向、切り出し画角、及び現在の視聴画角の情報を取得する(S102)。ここで、クライアント200が表示する切り出し画像の切り出し方向、及び切り出し画角の情報は、例えば切り出し処理を行う制御部220により決定されて、制御部220から処理部210へ提供されてもよい。また、現在の視聴画角の情報は、センサ部250により取得されたセンサデータに基づいて、制御部220により特定され、制御部220から処理部210へ提供されてもよい。
続いて、処理部210は、ステップS102で取得された情報に基づいて、記憶部240に記憶された複数のオブジェクト選択情報の中から、現在の表示状態に該当するオブジェクト選択情報を特定する。
例えば、処理部210はステップS102で取得された情報と一致する、または範囲に含む1つのオブジェクト選択情報を特定してもよい。具体的には、各オブジェクト選択情報に含まれる方向情報と、表示される切り出し画像の切り出し方向とを比較し、一致する、または表示される切り出し画像の切り出し方向を含む範囲の方向情報を有するオブジェクト選択情報を抽出する。そして、処理部210は抽出されたオブジェクト選択情報を対象に、各オブジェクト選択情報に含まれる画角情報と、表示される切り出し画像の切り出し画角及び現在の視聴画角の情報を比較する。そして、切り出し画像の切り出し画角及び現在の視聴画角を含む画角情報を含む1つのオブジェクト選択情報を特定してもよい。
なお、ステップS102で取得された情報と一致する、または範囲に含むオブジェクト選択情報が記憶部240に記憶された中から見つからない場合、ステップS104において処理部210はオブジェクト選択情報を特定しなくてもよい。
現在の表示状態に該当するオブジェクト選択情報が特定された場合(S106においてYES)、処理部210は、特定されたオブジェクト選択情報に含まれる利用情報に基づいて、取得するオブジェクトオーディオデータの組合せを選択する(S108)。例えば、利用情報として、利用するオブジェクトオーディオデータの組合せを全て示す情報が当該オブジェクト選択情報に含まれている場合、処理部210は利用情報により示されるオブジェクトオーディオデータをそのまま選択すればよい。あるいは、利用情報として、既定のオブジェクトオーディオデータの組合せに対する、利用するオブジェクトオーディオデータの組合せの差分を示す情報が当該オブジェクト選択情報に含まれている場合、処理部210は既定のオブジェクトオーディオデータの組合せに基づいて、取得するオブジェクトオーディオデータを選択すればよい。
続いて、処理部210は、ステップS108において選択されたオブジェクトオーディオデータをサーバ100から取得する。なお、選択されたオブジェクトオーディオデータを取得する方法の詳細については後述する。
一方、現在の表示状態に該当するオブジェクト選択情報が特定されなかった場合(S106においてNO)、処理部210は、既定のオブジェクトオーディオデータを取得する(S110)。
なお、上述した処理のうち、ステップS104~S108の処理は、例えばセグメントファイル選択部213により実行され、ステップS110、S112の処理は、例えばセグメントファイル取得部214によって実行され得る。
<3-2.オブジェクト間の角度を用いたオブジェクト選択情報の例(実施例1-2)>
以上、実施例1-1として、画角を用いたオブジェクト選択情報の実施例について説明した。続いて、実施例1-2として、オブジェクト間の角度を用いたオブジェクト選択情報の例について説明する。以下に説明する実施例1-2では、視聴時の2つのオブジェクトの位置とユーザの視聴位置から、当該2つのオブジェクト間の角度を算出し、オブジェクト間の角度に基づいて利用するオブジェクトオーディオデータが選択される。
図13は、オブジェクト間の角度について説明するための説明図である。図13に示すように、表示状態V44では、オブジェクトオーディオデータAD2にかかるオブジェクト(ボーカルH2に対応するオブジェクト)と、オブジェクトオーディオデータAD3にかかるオブジェクト(ボーカルH3に対応するオブジェクト)との間の角度は角度θdである。表示状態V44のように、この角度θdが小さい場合、2つのオブジェクトの位置の差はユーザには認識されないため、中央の1方向から音が聞こえれば十分である。したがって、表示状態V44では、オブジェクトオーディオデータAD2、及びオブジェクトオーディオデータAD3がミックスされたオブジェクトオーディオデータAD1が利用される。
一方、図13に示すように、表示状態V45では、オブジェクトオーディオデータAD2にかかるオブジェクトと、オブジェクトオーディオデータAD3にかかるオブジェクトとの間の角度は角度θe(θe>θd)である。表示状態V45のように、この角度θeが大きい場合、2つのオブジェクトの位置が別々にユーザに認識されるため、2方向から別々に音が聞こえることが望ましい。したがって、表示状態V45では、オブジェクトオーディオデータAD2、及びオブジェクトオーディオデータAD3が利用される。
以上のように、2つのオブジェクト間の角度の大きさにより、クライアント200が利用する(取得すべき)オブジェクトオーディオデータの組合せが異なり得る。本実施例では、2つのオブジェクト間の角度の大きさにより、表示状態が特定され、利用するオブジェクトオーディオデータの組合せを特定することが可能である。
本実施例において、オブジェクトオブジェクトオーディオデータを選択するためのオブジェクト選択情報は、以下に示す情報を含んでもよい。
・角度を算出する2つのオブジェクトの位置情報
・2つのオブジェクト間の角度に関する角度情報
・利用するオブジェクトオーディオデータに関する利用情報
角度を算出する2つのオブジェクトの位置情報は、上述したオブジェクトメタデータに含まれるオブジェクトの位置情報と同様の情報であってもよい。ただし、オブジェクト選択情報ごとに、角度を算出する2つのオブジェクトが定められており、それら2つのオブジェクトの位置情報がオブジェクト選択情報に含まれる。
角度情報は、例えば角度の範囲の情報を含んでもよい。後述するように角度情報は閾値として用いられ得る。
本実施例にかかる利用情報は、実施例1の利用情報と同様であってよい。つまり、利用情報は、利用するオブジェクトオーディオデータの組合せを全て示す情報を含んでもよい。あるいは、利用情報は、予め決められた既定のオブジェクトオーディオデータの組合せに対する、利用するオブジェクトオーディオデータの組合せの差分を示す情報を含んでもよい。
上述した本実施例にかかるオブジェクト選択情報に基づいて利用するオブジェクトオーディオデータをクライアント200の処理部210が選択して取得する方法について、図14を参照して説明する。図14は、本実施例にかかるオブジェクト選択情報に基づいて利用するオブジェクトオーディオデータをクライアント200が選択して取得する方法を示すフローチャート図である。なお、図14に示す例では、既定のオブジェクトオーディオデータの組合せが予め決められており、かつクライアント200が既に複数のオブジェクト選択情報を取得し、例えば記憶部240に記憶されているものとする。
まず、図14に示すように、処理部210は、オブジェクト間の角度を算出する(S122)。ステップS122において、処理部210は、記憶部240に記憶されたオブジェクト選択情報に含まれる角度を算出する2つのオブジェクトの位置情報と、ユーザの視聴位置の情報とに基づいて、オブジェクト間の角度を算出してよい。なお、ユーザの視聴位置の情報は、例えばセンサ部250により取得されたセンサデータに基づいて、制御部220により特定され、制御部220から処理部210へ提供されてもよい。
続いて、処理部210は、ステップS122で算出されたオブジェクト間の角度に基づいて、記憶部240に記憶された複数のオブジェクト選択情報の中から、現在の表示状態に該当するオブジェクト選択情報を特定する。
例えば、処理部210は、ステップS122で算出されたオブジェクト間の角度を含む角度範囲の角度情報を含むようなオブジェクト選択情報を抽出する。そして、1つのオブジェクト選択情報のみが抽出された場合、処理部210は、抽出された1つのオブジェクト選択情報を現在の表示状態に該当するオブジェクト選択情報として特定してもよい。複数のオブジェクト選択情報が抽出された場合、処理部210は、抽出された複数のオブジェクト選択情報のうち、角度を求める2つのオブジェクトの位置がユーザの視聴方向に最も近いオブジェクト選択情報を特定してもよい。
なお、ステップS122で算出されたオブジェクト間の角度を含む角度範囲の角度情報を含むようなオブジェクト選択情報が存在しない場合、ステップS124において処理部210はオブジェクト選択情報を特定しなくてもよい。
現在の表示状態に該当するオブジェクト選択情報が特定された場合(S126においてYES)、処理部210は、特定されたオブジェクト選択情報に含まれる利用情報に基づいて、取得するオブジェクトオーディオデータの組合せを選択する(S128)。例えば、利用情報として、利用するオブジェクトオーディオデータの組合せを全て示す情報が当該オブジェクト選択情報に含まれている場合、処理部210は利用情報により示されるオブジェクトオーディオデータをそのまま選択すればよい。あるいは、利用情報として、既定のオブジェクトオーディオデータの組合せに対する、利用するオブジェクトオーディオデータの組合せの差分を示す情報が当該オブジェクト選択情報に含まれている場合、処理部210は既定のオブジェクトオーディオデータの組合せに基づいて、取得するオブジェクトオーディオデータを選択すればよい。
続いて、処理部210は、ステップS128において選択されたオブジェクトオーディオデータをサーバ100から取得する。
一方、現在の表示状態に該当するオブジェクト選択情報が特定されなかった場合(S126においてNO)、処理部210は、既定のオブジェクトオーディオデータを取得する(S120)。
なお、上述した処理のうち、ステップS124~S128の処理は、例えばセグメントファイル選択部213により実行され、ステップS130、S132の処理は、例えばセグメントファイル取得部214によって実行され得る。
<<4.表示状態を考慮したファイル化の例(実施例2)>>
以上、オブジェクト選択情報、及びオブジェクト選択情報を用いたオブジェクトオーディオデータ選択の例として、2つの実施例(実施例1-1、実施例1-2)を説明した。続いて、実施例2として、複数の表示状態を考慮してオブジェクトオーディオデータをファイル化する実施例について説明を行う。なお、以下に説明する実施例2は、上述した実施例と任意に組合せることが可能であり、実施例1-1、実施例1-2のいずれと組み合わされてもよい。
MPEG-DASHによるストリーミング配信では、オブジェクトオーディオデータを取得する場合にはオーディオファイルごとに取得を行う。以下に説明する本実施例にかかるファイル化により、オブジェクトごとではなく、オーディオファイルごとに取得を行うことが可能になる。また、本実施例によれば、サーバ100が記憶するデータ量と、クライアント200が取得するファイル数との両方が抑制されるように、オブジェクトオーディオデータをファイル化することができる。
以下では、図15を参照して、本実施例にかかるファイル化の流れについて説明した後、図16~図18を参照してファイル化の具体例について説明する。なお、以下に説明するオブジェクトオーディオデータのファイル化は、サーバ100の生成部110により実行され、例えば生成部110のセグメントファイル生成部113により実行され得る。
図15は、本実施例にかかるファイル化の流れを示すフローチャート図である。まず、図15に示すように、セグメントファイル生成部113は、ある1つの表示状態におけるオブジェクトオーディオデータの組合せをグループ化する(S202)。ステップS202において、表示状態におけるオブジェクトオーディオデータの組合せは、例えば表示状態に対応するオブジェクト選択情報に基づいて特定され得る。
続いて、セグメントファイル生成部113は、ステップS202でグループ化されたグループと、他の表示状態(ステップS202で用いられた1つの表示状態以外の表示状態)におけるオブジェクトオーディオデータの組合せとの差分をグループ化する(S204)。ステップS204において、セグメントファイル生成部113は、ステップS202で用いられた1つの表示状態から各表示状態へ遷移した際に、新たに利用されるようになるオブジェクトオーディオデータの組合せと、利用されなくなるオブジェクトオーディオデータの組合せをそれぞれ別々にグループ化する。
続いて、セグメントファイル生成部113は、ステップS202、S204でグループ化されたグループのうち、含まれるオブジェクトオーディオデータの数が最も少ないグループを選択する(S206)。なお、含まれるオブジェクトオーディオデータの数が最も少ないグループが複数ある場合は、複数のうちいずれか一つが選択されればよい。また、後述するようにステップS206は複数回繰り返し実行されてよく、ステップS206が2回目以降に実行される場合、セグメントファイル生成部113は、選択されていないグループのうち、含まれるオブジェクトオーディオデータの数が最も少ないグループを選択する。
続いて、セグメントファイル生成部113は、選択されていないグループに含まれるオブジェクトオーディオデータから、直前に選択されたグループに含まれるオブジェクトオーディオデータを除去する(S208)。
選択されていないグループが存在する場合(S210においてYES)、ステップS206に戻り、全てのグループが選択されるまでステップS206~S210が繰り返される。選択されていないグループが存在しなくなるまで繰り返されると(S210においてNO)、セグメントファイル生成部113は、選択されたグループをグループごとにファイル化する(S212)。ステップS212において、セグメントファイル生成部113は、各グループに含まれる1または2以上のオブジェクトオーディオデータを1つのオーディオファイルに格納して、オーディオファイルを生成する
なお、上述したステップS202~S212の処理は、例えばセグメントファイル生成部113によって実行され得る。
以上、本実施例にかかるファイル化の流れについて説明した。続いて、上述したファイル化の具体例について説明する。図16~図18は、本実施例にかかるファイル化の具体例について説明するための説明図である。
以下では、図16に示される3つの表示状態V51、V52、V53がある場合に生成部110がファイルを生成する具体例について説明する。図16に示すように、表示状態V51、V52、V53のいずれにおいても、4人のボーカルH11~H14が含まれる画像が表示される。また、表示状態V51では、3つのオブジェクトオーディオデータAD11、AD12、AD15が利用される。また、表示状態V52では、4つのオブジェクトオーディオデータAD11、AD12、AD13、AD14が利用される。また、表示状態V53では、1つのオブジェクトオーディオデータAD16が利用される。
図15のステップS202~S204を、図16に示される表示状態V51~V53について実行した場合の動作について、図17を参照して説明する。表示状態V51についてステップS202を実行すると、図17のステップS222に示されるようにグループG11が得られる。続いて、表示状態V51から表示状態V52への遷移、及び表示状態V51から表示状態V53への遷移についてステップS204を実行すると、図17のステップS224に示されるようにグループG12~G15が得られる。
図15のステップS206~S212を、図17に示される5つのグループG11~G15について実行した場合の動作について、図18を参照して説明する。まず、1回目にステップS206が実行される前においては、図18のステップS226に示されるように、全てのグループG11~G15が未選択の状態である。ステップS226の状態でステップS206を実行すると、例えばグループG12が選択される。さらに、ステップS208を実行すると、図18のステップS228に示されるように、直前に選択されたグループG12に含まれるオブジェクトオーディオデータAD15が、グループG11、G14から除去される。ステップS228の状態においては、未選択のグループが存在するため、ステップS210においてYESと判定され、ステップS206が再度実行される。
ステップS228の状態でステップS206を実行すると、例えばグループG15が選択される。ここで、ステップS228の状態において、グループG15に含まれるオブジェクトオーディオデータAD16は、他のグループには含まれない。したがって、ステップS208を実行しても、図18のステップS230に示されるように、各グループに含まれるオブジェクトオーディオデータに変化はない。ステップS230の状態においては、未選択のグループが存在するため、ステップS210においてYESと判定され、ステップS206が再度実行される。
ステップS230の状態でステップS206を実行すると、例えばグループG11が選択される。ここで、ステップS230の状態で、グループG11に含まれるオブジェクトオーディオデータとグループG14に含まれるオブジェクトオーディオデータとは同一である。したがって、ステップS208を実行すると、図18のステップS232に示されるように、直前に選択されたグループG11に含まれるオブジェクトオーディオデータAD11、AD12が、グループG14から除去され、グループG14が消滅する。ステップS232の状態においては、未選択のグループが存在するため、ステップS210においてYESと判定され、ステップS206が再度実行される。
ステップS232の状態でステップS206を実行すると、グループG13が選択される。ここで、ステップS230の状態で、グループG13が選択されると、未選択のグループが存在しなくなる。したがって、ステップS208を実行しても、図18のステップS234に示されるように、各グループに含まれるオブジェクトオーディオデータに変化はない。ステップS234の状態においては、未選択のグループが存在しないため、ステップS210においてNOと判定され、ステップS212が実行される。
ステップS234の状態でステップS212を実行すると、図18のステップS236に示されるように、グループG12、G15、G11、G13のそれぞれに含まれるオブジェクトオーディオデータを格納したオーディオファイルAF1~AF4が生成される。
図18に示されるように、オブジェクトオーディオデータAD11~AD16の各々は、オーディオファイルAF1~AF4のいずれか1つに格納されるため、サーバ100は、同一のオブジェクトオーディオデータを複数記憶する必要がない。したがって、サーバ100が記憶するオブジェクトオーディオデータのデータ量は最小限に抑えられ得る。
また、図18に示されるようにファイル化することで、図16に示される表示状態V51~V53の各表示状態においてクライアント200が取得するファイル数も抑制され得る。例えば、図16に示される表示状態V51では、オーディオファイルAF1とオーディオファイルAF3の2つのオーディオファイルを取得すればよい。また、図16に示される表示状態V52では、オーディオファイルAF3とオーディオファイルAF4の2つのオーディオファイルを取得すればよい。また、図16に示される表示状態V53では、オーディオファイルAF2の1つのオーディオファイルを取得すればよい。
一方、1つのオブジェクトオーディオデータが1つのファイルに格納されるようにファイル化された場合、表示状態V51では3つ、表示状態V52では4つ、表示状態V51では1つ、のオーディオファイルを取得する必要がある。
したがって、図18に示されるようにファイル化することで、1つのオブジェクトオーディオデータが1つのファイルに格納されるようにファイル化された場合と比べ、表示状態V51、及び表示状態V52において取得するオーディオファイルの数が抑制される。
上述したように、本実施例によれば、サーバ100が記憶するデータ量と、クライアント200が取得するファイル数との両方が抑制されるように、オーディオファイルを生成することができる。
<<5.時間変化しないオブジェクト選択情報のシグナリング例(実施例3)>>
以上、実施例2として、複数の表示状態を考慮してオブジェクトオーディオデータをファイル化する実施例について説明した。続いて、利用するオブジェクトオーディオデータの組合せが時間変化しない場合のオブジェクト選択情報のシグナリング例について説明する。
なお、シグナリングされる情報は、オブジェクト選択情報が実施例1-1で説明した画角を用いた情報であるか、実施例1-2で説明したオブジェクト間の角度を用いた情報であるか、によって異なり得る。そこで、以下では、実施例1-1に対応する実施例3-1と、実施例1-2に対応する実施例3-2を順に説明する。
<5-1.画角を用いたオブジェクト選択情報のシグナリング例(実施例3-1)>
まず、実施例3-1として、実施例1-1で説明した画角を用いたオブジェクト選択情報をシグナリングする実施例について説明する。本実施例では、実施例1-1で説明した利用情報がファイルレベルでシグナリングされ、MPEG-DASHで実現する場合、利用情報をAdaptationSetレベルでシグナリングすればよい。
なお、以下では、オブジェクト選択情報が以下に示す情報を含む例について説明する。
・水平方向の角度の情報と垂直方向の角度の情報を含む方向情報
・切り出した画像の水平画角の範囲の情報と、垂直画角の範囲の情報を含む切り出し画角情報
・表示された画像に対する視聴時の水平画角の範囲の情報と、垂直画角の範囲の情報を含む視聴画角情報
・利用するオブジェクトオーディオデータを含むAdaptationSetをすべて示す利用情報
本実施例では、SupplementalPropertyで新しく表示状態のための情報がシグナリングされる。schemeIdUriは“urn:mpeg:dash:objectAudio:objectSelection”を指定し、valueで、コンマ区切りで”direction_azimuth, direction_elevation, clipping_azimuth_range, clipping_elevation_range, viewing_azimuth_range, viewing_elevation_range, AdaptationSet_list”が順にシグナリングされる。図19は、本実施例においてシグナリングされるvalueと各valueの詳細説明(description)を示す表である。
本実施例では、上述したオブジェクト選択情報がMPDファイルに格納され得る。本実施例において、サーバ100のMPDファイル生成部114が生成するMPDファイルの一例について、図20、図21を参照して説明する。図20は、本実施例においてMPDファイル生成部114が生成するMPDファイルの一例を示す図である。また、図21は、図20に示したMPDファイルにおける各情報を示す表である。図21の表には、方向情報、切り出し画角情報、視聴画角情報、利用情報、及び図20に示したMPDファイルにおいて対応するSupplementalPropertyが示されている。
図20のMPDファイルでは、3行目に示されるようにPreselectionのpreselectionComponentsで既定(default)のAdaptationSetの組合せは”o2 o3”である。また、図20のMPDファイルでは、既定の組合せとは異なる組合せになる4パターンのSupplementalPropertyが4行目~7行目に示されている。このように、既定のAdaptationSetの組合せを予め決めておくことで、各表示状態で利用するオブジェクトオーディオデータが異なるものについてのみSupplementalPropertyを用意すればよい。
図20に示すMPDファイルの例において、取得するAdaptationSetをクライアント200の処理部210が選択する方法について、図22を参照して説明する。図22は、クライアント200が取得するAdaptationSetを選択する方法の一例を示すフローチャート図である。
まず、図22に示すように、処理部210は、クライアント200が表示する切り出し画像の切り出し方向、切り出し画角、及び現在の視聴画角の情報を取得する(S302)。
続いて、処理部210は、PreselectionのSupplementalPropertyでschemeIdUriが“urn:mpeg:dash:objectAudio:objectSelection”であるものを全て取得する(S304)。
続いて、処理部210は、ステップS302で取得された情報に基づいて、ステップS304で取得されたSupplementalPropertyの中から、現在の表示状態に該当するSupplementalPropertyを特定する(S306)。例えば、ステップS306において特定されるSupplementalPropertyは、クライアント200が表示する切り出し画像の切り出し方向とdirection_azimuth、direction_elevationの値が近いSupplementalPropertyであってもよい。また、ステップS306において特定されるSupplementalPropertyは、クライアント200が表示する切り出し画像の切り出し画角がclipping_azimuth_range、clipping_elevation_rangeに含まれるSupplementalPropertyであってもよい。さらに、ステップS306において特定されるSupplementalPropertyは、現在の視聴画角がviewing_azimuth_range、viewing_elevation_rangeに含まれるSupplementalPropertyであってもよい。なお、上記の条件にあてはまるSupplementalPropertyが存在しない場合、ステップS306において処理部210はいずれのSupplementalPropertyをも特定しなくてよい。
現在の表示状態に該当するSupplementalPropertyが特定された場合(S308においてYES)、処理部210は、特定されたSupplementalPropertyのAdaptationSet_listに示されているAdaptationSetを選択する。(S310)。
一方、現在の表示状態に該当するSupplementalPropertyが特定されなかった場合(S308においてNO)、処理部210は、Preselection@ preselectionComponentsに示されている既定(default)のAdaptationSetを選択する(S312)。
なお、図22に示したステップS302~S312の処理は、例えばセグメントファイル選択部213により実行され得る。
以上、本実施例にかかるMPDファイルの一例について説明した。ただし、本実施例において、生成されるMPDファイルは、図20に示した例に限定されない。
例えば、Preselectionを用いる場合のMPDファイルの変形例として、SupplementalPropertyのvalueのAdaptationSet_listがpreselectionComponentsでシグナリングされてもよい。図23は、かかる変形例においてMPDファイル生成部114が生成するMPDファイルの一例を示す図である。図23のMPDファイルでは、3行目、7行目、8行目に示されるようにPreselectionが分離され、AdaptationSet_listになる部分は、preselectionComponentsとして示される。図23に示したMPDファイルのそれ以外の部分については、図20に示したMPDファイルと同様である。
他の変形例としては、MPDファイルにviewing_azimuth_range、viewing_elevation_rangeを含めず(設定せず)ともよい。かかる場合、図22のステップS306において、direction_azimuth、direction_elevation、clipping_azimuth_range、clipping_elevation_rangeのみを用いてAdaptationSetを選択すればよい。ただし、かかる場合には視聴画角が考慮されないので、最も適切なAdaptationSetでないかもしれない。
さらなる他の変形例としては、方向情報としてdirection_azimuth、direction_elevationに加え、direction_angleをMPDファイルに含めてもよい。ここで、direction_angleは、実施例1-1で説明した切り出した方向ベクトルからの角度を示す。
さらなる他の変形例としては、方向情報としてdirection_azimuth、direction_elevationに代えて、direction_azimuth_range、direction_elevation_rangeを、MPDファイルに含めてもよい。ここで、direction_azimuth_rangeは、実施例1-1で説明した水平方向の角度の範囲、direction_elevation_rangeは実施例1-1で説明した垂直方向の角度の範囲をそれぞれ示す。
さらなる他の変形例としては、切り出し画角情報、及び視聴画角情報として、clipping_azimuth_range、clipping_elevation_range、viewing_azimuth_range、viewing_elevation_rangeに代えて、clipping_magnification_range、viewing_magnification_rangeを含めてもよい。ここで、clipping_magnification_rangeは、実施例1-1で説明した切り出し時の画角の倍率の範囲、viewing_magnification_rangeは実施例1-1で説明した視聴画角の倍率の範囲をそれぞれ示す。
さらなる他の変形例としては、AdaptationSet_listを、preselectionComponentsとの差分リストに代えてもよい。例えば、AdaptationSet_listを、AdaptationSet_del_listとAdaptationSet_add_listに代えてもよい。AdaptationSet_del_listはpreselectionComponentsから削除するAdaptationSetのリストであり、AdaptationSet@idをスペース区切りで記述する。また、AdaptationSet_add_listはpreselectionComponentsに追加するAdaptationSetのリストであり、AdaptationSet@idをスペース区切りで記述する。なお、AdaptationSet_del_listとAdaptationSet_add_listは、実施例1-1で説明した、既定のオブジェクトオーディオデータの組合せに対する、利用するオブジェクトオーディオデータの組合せの差分を示す情報に相当する。
さらなる他の変形例としては、SupplementalPropertyがAdaptationSetでシグナリングされてもよい。オブジェクトオーディオデータの組合せが1つのファイルに格納されている場合(オブジェクトオーディオデータが複数ファイルに格納されていない場合)、Preselectionは利用されないため、SupplementalPropertyを、AdaptationSetでシグナリングをすることで、利用するAdaptationSetを選択することができる。
<5-2.オブジェクト間の角度を用いたオブジェクト選択情報のシグナリング例(実施例3-2)>
以上、実施例3-1として、画角を用いたオブジェクト選択情報をシグナリングする実施例について説明した。続いて、実施例3-2として、実施例1-2で説明したオブジェクト間の角度を用いたオブジェクト選択情報をシグナリングする実施例について説明する。本実施例では、実施例1-2で説明した利用情報がファイルレベルでシグナリングされ、MPEG-DASHで実現する場合、利用情報をAdaptationSetレベルでシグナリングすればよい。
なお、以下では、オブジェクト選択情報が以下に示す情報を含む例について説明する。
・角度を算出する2つのオブジェクトの位置情報
・閾値となるオブジェクト間の角度の範囲の情報を含む角度情報
・利用するオブジェクトオーディオデータを含むAdaptationSetをすべて示す利用情報
本実施例では、SupplementalPropertyで新しく表示状態のための情報がシグナリングされる。schemeIdUriは“urn:mpeg:dash:objectAudio:objectSelectionAngle”を指定し、valueで、コンマ区切りで“object1_azimuth, object1_elevation, object2_azimuth, object2_elevation, threshold_range, AdaptationSet_list”が順にシグナリングされる。図24は、本実施例においてシグナリングされるvalueと各valueの詳細説明を示す表である。
本実施例において、サーバ100のMPDファイル生成部114が生成するMPDファイルの一例について、図25、図26を参照して説明する。図25は、本実施例においてMPDファイル生成部114が生成するMPDファイルの一例を示す図である。また、図26は、図25に示したMPDファイルにおける各情報を示す表である。図25の表には、1つ目のオブジェクトの位置情報、及び2つ目のオブジェクトの位置情報、角度情報、利用情報、及び図25に示したMPDファイルにおいて対応するSupplementalPropertyが示されている。
図25のMPDファイルでは、3行目に示されるようにPreselectionのpreselectionComponentsで既定(default)のAdaptationSetの組合せは”o2 o3”である。また、図25のMPDファイルでは、既定の組合せとは異なる組合せになる2パターンのSupplementalPropertyが4行目~5行目に示されている。このように、既定のAdaptationSetの組合せを予め決めておくことで、各表示状態で利用するオブジェクトオーディオデータが異なるものについてのみSupplementalPropertyを用意すればよい。
図25に示すMPDファイルの例において、取得するAdaptationSetをクライアント200の処理部210が選択する方法について、図27を参照して説明する。図27は、クライアント200が取得するAdaptationSetを選択する方法の一例を示すフローチャート図である。
まず、図27に示すように、処理部210は、Preselection@preselectionComponentsからAdaptationSetのリストを取得する(S322)。続いて、処理部210は、PreselectionのSupplementalPropertyでschemeIdUriが“urn:mpeg:dash:objectAudio:objectSelectionAngle”であるものを全て取得する(S324)。
続いて、処理部210は、ステップS324で取得された全てのSupplementalPropertyについて、視聴時のオブジェクト間の角度を算出する(S326)。ステップS326において、処理部210は、各SupplementalPropertyにおけるobject1_azimuth、object1_elevation、object2_azimuth、object2_elevationに基づいて視聴時のオブジェクトの位置を算出し、視聴時のオブジェクト間の角度を算出する。
続いて、処理部210は、ステップS326で算出されたオブジェクト間の角度に基づいて、ステップS324で取得されたSupplementalPropertyの中から、現在の表示状態に該当するSupplementalPropertyを特定する(S328)。例えば、ステップS328において、処理部210は、ステップS324で取得されたSupplementalPropertyのうち、ステップS326で算出されたオブジェクト間の角度がthreshold_rangeに含まれているSupplementalPropertyを特定してもよい。なお、上記の条件にあてはまるSupplementalPropertyが存在しない場合、ステップS328において処理部210はいずれのSupplementalPropertyをも特定しなくてよい。
現在の表示状態に該当するSupplementalPropertyが特定された場合(S330においてYES)、処理部210は、特定されたSupplementalPropertyのAdaptationSet_listに示されているAdaptationSetを選択する。(S332)。
一方、現在の表示状態に該当するSupplementalPropertyが特定されなかった場合(S330においてNO)、処理部210は、Preselection@ preselectionComponentsに示されている既定(default)のAdaptationSetを選択する(S334)。
なお、図27に示したステップS322~S334の処理は、例えばセグメントファイル選択部213により実行され得る。
以上、本実施例にかかるMPDファイルの一例について説明した。ただし、本実施例において、生成されるMPDファイルは、図25に示した例に限定されない。
例えば、変形例として、オブジェクトの位置情報をメタデータファイルから取得してもよい。例えば、全てのオブジェクトの位置情報を含むオブジェクトメタデータのみを格納するメタデータファイルが存在する場合、かかるメタデータファイルへアクセスするためのリンク(メタデータファイルアクセス情報の一例)がシグナリングされてもよい。なお、かかるメタデータファイルは、オブジェクト選択情報(の一部)を含むメタデータファイルであると解釈され得る。また、かかるメタデータファイルは、例えば、サーバ100のセグメントファイル生成部113により生成されて、サーバ100の記憶部140に記憶されてもよい。
図28は、かかる変形例においてMPDファイル生成部114が生成するMPDファイルの一例を示す図である。図28のMPDファイルでは、object1_azimuth、object1_elevation、object2_azimuth、object2_elevationが含まれない。その代り、図28のMPDファイルでは、4行目、及び14行目に示されるように、AdaptationSetのSupplementalPropertyにメタデータファイルへのリンク(メタデータファイルアクセス情報の一例)が格納される。また、図28のMPDファイルでは、5行目、及び6行目に示されるように、メタデータファイルのAdaptationSetのid(object_metadata_AdaptationSet)と、その中のオブジェクトメタデータの番号2つ(object1_num, object2_num)によって、角度を算出する2つのオブジェクトが示されている。
クライアント200のセグメントファイル取得部214は、オブジェクトの位置情報を得るために、かかるメタデータファイルへのリンクに基づいてメタデータファイルの要求情報を生成し、メタデータファイルをサーバ100から取得する。そして、セグメントファイル取得部214は、メタデータファイルの中から該当するオブジェクトのazimuth情報とelevation情報を位置情報として取得する。
他の変形例としては、AdaptationSet_listではなく、threshold_rangeに含まれる場合に置き換える前のAdaptationSetのリスト(before_AdaptationSet_list)と置き換えた後のAdaptationSetのリスト(after_AdaptationSet_list)をMPDファイルに含めてもよい。例えば、3つ以上のオブジェクトオーディオデータが1つのオブジェクトオーディオデータに統合(ミックス)されるような場合においてもこの手法は利用可能である。
また、上記では、2つのオブジェクト位置から角度を算出する例を説明したが、オブジェクトメタデータに含まれているspread情報を用いて、spreadも含めた角度情報が用いられてもよい。SupplementalPropertyのvalueでシグナリングする場合は、object1、object2それぞれに、spread情報を追加する。具体的にはspread_width、spread_height、spread_radiusをスペース区切りでMPDファイルに含めてもよい。スペースで区切られていない場合は、spread_widthのみとすればよい。
また、threshold_rangeは、水平方向(threshold_azimuth_range)と、垂直方向(threshold_elevation_range)が別々にMPDファイルに含まれてもよい。クライアント200の処理部210は、水平方向のみ、垂直方向のみ、両方のいずれを利用してもよい。また、水平方向のみ、垂直方向のみ、両方のいずれを利用するかを指定する情報がMPDファイルに含まれてもよい。
<<6.時間変化するオブジェクト選択情報のシグナリング例(実施例4)>>
以上、利用するオブジェクトオーディオデータの組合せが時間変化しない場合のオブジェクト選択情報のシグナリング例について説明した。続いて、利用するオブジェクトオーディオデータの組合せが時間変化する場合のオブジェクト選択情報のシグナリング例について説明する。なお、利用するオブジェクトオーディオデータの組合せが時間変化するか否かは、例えばコンテンツの制作者が適宜選択し得る。
MPEG-DASHによるストリーミング配信では、時刻ごとに利用するオブジェクトオーディオデータの組み合わせ、もしくは必要なファイルの組み合わせが、コンテンツファイルに格納されて伝送され得る。ここで、コンテンツファイルは、例えばISO/IEC 14496-12で規格定義されるISO base media file format(ISOBMFF)ファイル(MP4ファイルの一例)であってよい。
利用するオブジェクトオーディオデータの組合せが時間変化する場合、クライアント200は、このISOBMFFファイルを予め取得し、取得すべきファイルを時刻に応じて決定すればよい。以下では、時間変化するオブジェクト選択情報のシグナリングに関し、7つの実施例(実施例4-1~実施例4-7)を説明する。以下に説明する実施例4-1~実施例4-7では、オブジェクト選択情報が、ISOBMFFファイルに含まれるメタデータファイルに格納される例を説明する。
<6-1.拡張されたメタデータファイルの実施例(実施例4-1)>
まず、実施例4-1として、拡張されたメタデータファイルをセグメントファイル生成部113が生成する例を説明する。
まず、拡張前のメタデータファイルの構造の一例について、図29、図30を参照して説明する。図29、図30は、メタデータファイルの構造について説明するための説明図である。図29に示すオーディオファイル1(file1)は、図30に示すように、オブジェクトオーディオデータ1(obj1)とオブジェクトオーディオデータ2(obj2)を含んでいる。このオーディオファイル1には、MHAMultiStreamBox(‘maeM’)にファイルの識別子であるstreamIDが格納されており、”1”を示している。図29に示すオーディオファイル2(file2)は、図30に示すようにオブジェクトオーディオデータ3(obj3)を含んでおり、streamIDは”2”を示している。
図29に示すメタデータファイル(metadata file)は、オーディオファイル1とオーディオファイル2に含まれるオブジェクトメタデータ(metadata)を含んでいる。図30に示すようにメタデータファイル(metadata file)は、sampleEntry(‘a3am’)のreference_streamIDで、どのファイルのオブジェクトメタデータを含んでいるかを示している。このメタデータファイルでは、sampleEntry(サンプルエントリ)から、2つのファイルのオブジェクトメタデータを含んでおり(num_reference_streamID=2)、sampleに含まれるオブジェクトメタデータの1つ目がstreamID=1のファイルのオブジェクトメタデータ(reference_streamID=1)、2つ目がstreamID=2のファイルのオブジェクトメタデータ(reference_streamID=2)であることを示している。図31は、図29、図30に示したメタデータファイルのsyntaxを示す図である。
なお、MHAMultiStreamBoxの構造は図61に示すものであり、3da_meta_data()の構造は図62に示すものであり、DSEの構造は図63に示すものである。なお、図63に示す、DSEにおけるdata_stream_byteに格納される3da_ancillary_dataの構造は図64に示すものである。ただし、DSEのdata_stream_byteの最大サイズより3da_meta_data()のサイズが大きい場合においては、3da_meta_data()は分割されて複数のDSEに格納される。
本実施例では、図29~図31を参照して説明したメタデータファイルを拡張する。本実施例において、セグメントファイル生成部113は、オブジェクトオーディオデータを選択するためのオブジェクト選択情報を格納する、拡張されたメタデータファイルを生成する。以下、図32、図33を参照して、本実施例において生成される拡張されたメタデータファイルの一例について説明する。
図32は、本実施例にかかる拡張されたメタデータファイルの一例を示す図である。また、図33は、本実施例にかかる拡張されたメタデータファイルのsyntaxを示す図である。
図32、図33に示すように、拡張されたメタデータファイルでは、moovボックスのSampleEntry(‘a3am’)に、objectSelectionMetadataConfigurationBox()が、mdatのsampleにはobjectSelectionMetadata()が追加で格納されている。かかるobjectSelectionMetadataConfigurationBox()とobjectSelectionMetadata()に、オブジェクト選択情報が格納され得る。また、図33に示すように拡張されたメタデータファイルにおいて、objectSelectionMetadata()には、各時刻の利用するオブジェクトオーディオデータもしくはファイルの組合せが示されている。また、図33に示すように拡張されたメタデータファイルにおいて、objectSelectionMetadataConfigurationBox()は、objectSelectionMetadata()で示されているオブジェクトオーディオデータがどのファイルに格納されているか等の情報を格納する。なお、objectSelectionMetadataConfigurationBox()とobjectSelectionMetadata()の詳細については後述する。
なお、図32、図33を参照して説明したメタデータファイルの拡張は、MPEG-H 3D Audioのメタデータファイルにおいても同様に可能である。
<6-2.オブジェクト選択メタデータファイルの実施例(実施例4-2)>
以上、実施例4-1として、拡張されたメタデータファイルについて説明した。続いて、実施例4-2として、オブジェクト選択のための専用のメタデータファイル(以下、オブジェクト選択メタデータファイルと称する)を生成する例について、図34、図35を参照して説明する。本実施例において、オブジェクト選択メタデータファイルは、セグメントファイル生成部113により生成され、オブジェクト選択情報のみを含むファイルであってよい。
図34は、本実施例にかかるオブジェクト選択メタデータファイルの一例を示す図である。また、図35は、本実施例にかかるオブジェクト選択メタデータファイルのsyntaxを示す図である。
図34、図35に示すように、オブジェクト選択メタデータファイルにおいて、moovボックスのSampleEntryには、上述した拡張されたメタデータファイルと同様にobjectSelectionMetadataConfigurationBox()が格納される。また、図34、図35示すように、オブジェクト選択メタデータファイルにおいてmdatのsampleには上述した拡張されたメタデータファイルと同様にobjectSelectionMetadata()が格納される。なお、objectSelectionMetadataConfigurationBox()とobjectSelectionMetadata()の詳細については後述する。
なお、図34、図35を参照して説明したオブジェクト選択メタデータファイルは、MPEG-H 3D Audioにおいても同様に生成可能である。
<6-3.画角を用いたオブジェクト選択情報の格納例(実施例4-3)>
続いて、実施例4-3として、実施例1-1で説明した画角を用いたオブジェクト選択情報を上述したメタデータファイルに格納する実施例について説明する。本実施例は、上述した実施例4-1、実施例4-2のいずれと組み合わされてもよい。以下では、本実施例にかかるobjectSelectionMetadataConfigurationBoxとobjectSelectionMetadataについて説明する。
図36は、本実施例にかかるobjectSelectionMetadataConfigurationBoxの一例を示す図である。また、図37は、図36に示したobjectSelectionMetadataConfigurationBoxのvalueと、各valueの詳細説明を示す表である。図37に示すように、図36に示すobjectSelectionMetadataConfigurationBoxでは、objectSelectionMetadataで示されるobject_idが含まれるオーディオファイルをstream_idで示し、その何番目のオブジェクトオーディオデータであるかをobject_num_in_streamで示している。本実施例において、streamID(stream_id)は、オブジェクトオーディオデータが格納されているオーディオファイルへアクセスするための情報(以下、オーディオファイルアクセス情報とも称する)である。また、既定(default)の利用するオブジェクトオーディオデータがdefault_object_idで示されている。
図38は、本実施例にかかるobjectSelectionMetadataの一例を示す図である。また、図39は、図38に示したobjectSelectionMetadataのvalueと、各valueの詳細説明を示す表である。図38に示すobjectSelectionMetadataでは、実施例3-1におけるSupplementalPropertyの数をmixed_object_list_numで示している。また、他のパラメータは実施例3-1においてAdaptationSetのリストを表していた部分を、オブジェクトオーディオデータのid(object_id)のリスト(以下、オブジェクトリストとも称する)で示したものである。本実施例を上述した実施例4-1、あるいは実施例4-2と組み合わせることで、取得するオブジェクトオーディオデータの組合せを示すことが可能となる。
なお、本実施例にかかるobjectSelectionMetadataは、図38、図39に示した例に限定されない。例えば、変形例として、図38に示したobjectSelectionMetadataの14~17行目に代えて、objectSelectionMetadataConfigurationBoxに示されているdefault objectからの差分を示すようにしてもよい。図40は、かかるobjectSelectionMetadataの変形例を示す図である。なお、図40には、図38に示したobjectSelectionMetadataの14~17行目に代えられる部分のみが示されている。また、図41は、図40に示した各valueの詳細説明を示す表である。
他の変形例としては、方向情報として、direction_azimuth、direction_elevationに加え、direction_angleをobjectSelectionMetadataに含めてもよい。ここで、direction_angleは、実施例1-1で説明した切り出した方向ベクトルからの角度を示す。
さらなる他の変形例としては、方向情報として、direction_azimuth、direction_elevationに代えて、min_direction_azimuth_range、maz_direction_azimuth_range、min_direction_elevation_range、max_direction_elevation_rangeを、objectSelectionMetadataに含めてもよい。ここで、
min_direction_azimuth_range、maz_direction_azimuth_rangeは実施例1-1で説明した水平方向の角度の範囲を、min_direction_elevation_range、max_direction_elevation_rangeは実施例1-1で説明した垂直方向の角度の範囲をそれぞれ示す。
さらなる他の変形例としては、切り出し画角情報、及び視聴画角情報として、min_clipping_azimuth_range、max_clipping_azimuth_range、min_clipping_elevation_range、max_clipping_elevation_range、max_viewing_azimuth_range、min_viewing_elevation_range、min_viewing_elevation_rangeに代えて、min_clipping_magnification_range、max_clipping_magnification_range、min_viewing_magnification_range,
max_viewing_magnification_rangeをobjectSelectionMetadataに含めてもよい。ここで、min_clipping_magnification_range、max_clipping_magnification_rangeは実施例1-1で説明した切り出し時の画角の倍率の範囲、min_viewing_magnification_range, max_viewing_magnification_rangeは、実施例1-1で説明した視聴画角の倍率の範囲をそれぞれ示す。
さらなる他の変形例としては、objectSelectionMetadataConfigurationBoxとobjectSelectionMetadataにおいて、オブジェクトオーディオデータの組合せではなく、ファイルの組合せを示すようにしてもよい。かかる変形例について、図42~図45を参照して説明する。
図42は、本変形例にかかるobjectSelectionMetadataConfigurationBoxの一例を示す図である。また、図43は、図42に示したobjectSelectionMetadataConfigurationBoxのvalueと、各valueの詳細説明を示す表である。図42に示すobjectSelectionMetadataConfigurationBoxでは、オブジェクトオーディオデータがどのファイルに含まれているかの情報と、既定の利用するオブジェクトオーディオデータの情報を含まない。そして、図42に示すobjectSelectionMetadataConfigurationBoxでは、default_stream_idとして、stream_idを用いて既定(default)の状態で利用するオーディオファイルの組合せを示す。図44は、本変形例にかかるobjectSelectionMetadataの一例を示す図である。また、図45は、図44に示したobjectSelectionMetadataのvalueと、各valueの詳細説明を示す表である。図44に示すobjectSelectionMetadataにおいても、オブジェクトオーディオデータの組合せではなく、stream_idを用いてオーディオファイルの組合せを示す。本変形例においても、stream_idは、オブジェクトオーディオデータが格納されているオーディオファイルへアクセスするためのオーディオファイルアクセス情報である。
図42~図45を参照して説明した本変形例によれば、クライアント200が、取得するオブジェクトオーディオデータが含まれるファイルの決定を行わなくてよいという利点がある。
<6-4.オブジェクト間の角度を用いたオブジェクト選択情報の格納例(実施例4-4)>
以上、実施例4-3として、画角を用いたオブジェクト選択情報の格納例について説明した。続いて、実施例4-4として、実施例1-2で説明したオブジェクト間の角度を用いたオブジェクト選択情報を上述したメタデータファイルに格納する実施例について説明する。本実施例は、上述した実施例4-1、実施例4-2のいずれと組み合わされてもよい。
本実施例において、objectSelectionMetadataConfigurationBoxは、上述した実施例4-3のobjectSelectionMetadataConfigurationBoxと同様であってもよい。以下では、本実施例にかかるobjectSelectionMetadataについて説明する。
図46は、本実施例にかかるobjectSelectionMetadataの一例を示す図である。また、図47は、図46に示したobjectSelectionMetadataのvalueと、各valueの詳細説明を示す表である。図46に示すobjectSelectionMetadataでは、実施例3-2におけるSupplementalPropertyの数をmixed_object_list_numで示している。また、他のパラメータは実施例3-2においてAdaptationSetのリストを表していた部分を、オブジェクトオーディオデータのid(object_id)のリストで示したものである。本実施例を上述した実施例4-1、あるいは実施例4-2と組み合わせることで、取得するオブジェクトオーディオデータの組合せを示すことが可能となる。
なお、本実施例にかかるobjectSelectionMetadataは、図46、図47に示した例に限定されない。例えば、変形例として、図46に示したobjectSelectionMetadataの10~13行目に代えて、objectSelectionMetadataConfigurationBoxに示されているdefault objectを置き換える前のオブジェクトのリストと置き換えた後のオブジェクトのリストを含むようにしてもよい。図48は、かかるobjectSelectionMetadataの変形例を示す図である。なお、図48には、図46に示したobjectSelectionMetadataの10~13行目に代えられる部分のみが示されている。また、図49は、図48に示した各valueの詳細説明を示す表である。
他の変形例としては、オブジェクトの位置情報をオブジェクトメタデータから取得するようにしてもよい。例えば、本変形例にかかるobjectSelectionMetadataは、object1_azimuth、object1_elevation、object2_azimuth、object2_elevationに代えて、object1_id、object2_idを含んでもよい。そして、クライアント200の処理部210が、オブジェクトメタデータからazimuth、elevationを取得してもよい。オブジェクトメタデータにobjectSelectionMetadataが含まれない場合は、track referenceを拡張し、reference_type ’obmt’を設定し、オブジェクトメタデータのトラックを指定し、そのトラックのオブジェクトメタデータを利用できるようにシグナリングすればよい。
<6-5.オブジェクト選択情報を選択可能なシグナリング例(実施例4-5)>
続いて、実施例4-5として、実施例4-3、実施例4-4で説明したobjectSelectionMetadataConfigurationBoxにおいて、追加の情報を含めることで様々な構造を実現可能とする例を説明する。例えば、本実施例では、図36を参照して説明したように、オブジェクトオーディオファイルのリストで示すか、図42を参照して説明したようファイル(stream)のリストで示すか、を示す情報をシグナリングすることが可能である。
図50は、本実施例にかかるobjectSelectionMetadataConfigurationBoxの一例を示す図である。また、図51は、図50に示したobjectSelectionMetadataConfigurationBoxのvalueと、各valueの詳細説明を示す表である。
図50に示すobjectSelectionMetadataConfigurationBoxは、図36と図42のどちらのタイプのobjectSelectionMetadataConfigurationBoxのシグナリングであるかを示すフラグであるlist_is_objectと、objectSelectionMetadataの構造を示すsample_typeを含む。かかる構成により、様々な構造を実現可能である。
<6-6.MPDファイルでのシグナリング例(実施例4-6)>
続いて、実施例4-6として、オブジェクト選択情報を含むISOBMFFファイルをMPDファイルでシグナリングする例について説明する。本実施例で説明されるMPDファイルは、サーバ100のMPDファイル生成部114により生成され得る。また、本実施例において生成されるMPDファイルには、オブジェクト選択情報を含むメタデータファイルへアクセスするためのメタデータファイルアクセス情報が格納される。
まず、実施例4-1として上述した拡張されたメタデータファイルにオブジェクト選択情報を格納される場合にサーバ100のMPDファイル生成部114が生成するMPDファイルの例について、図52を参照して説明する。図52は、本実施例において生成されるMPDファイルの一例を示す図である。
図52のMPDファイルでは、3行目に示すようにPreselectionの、SupplementalPropertyでschemeIdUriがurn:mpeg:dash:objectAudio:objectMetadataFileを指定し、メタデータファイルのAdaptationSet@idをvalueで指定する。また、図52のMPDファイルでは12行目に示すように、メタデータファイルを含むAdaptationSetでは、SupplementalPropertyでschemeIdUriがurn:mpeg:dash:objectAudio:objectMetadataStreamIDを指定し、streamIDとAdaptationSetとの関連を示すことができる。
つづいて、実施例4-2として上述したオブジェクト選択メタデータファイルにオブジェクト選択情報を格納する場合にサーバ100のMPDファイル生成部114が生成するMPDファイルの例について、図53を参照して説明する。図53は、本実施例において生成されるMPDファイルの一例を示す図である。
図53のMPDファイルでは、4行目に示すようにPreselectionのSupplementalPropertyでschemeIdUriがurn:mpeg:dash:objectAudio:objectSelectionMetadataFileを指定し、オブジェクト選択メタデータファイルのAdaptationSet@idをvalueで指定する。図53のMPDファイルでは、AdaptationSet@id=”m2”を示している。また、図53のMPDファイルでは、19行目に示すように、オブジェクト選択メタデータファイルのAdaptationSet(AdaptationSet@id=”m2”)では、SupplementalPropertyでschemeIdUriがurn:mpeg:dash:objectAudio:objectMetadataFileをシグナリングしている。これは、objectSelectionMetadataで、「表示時の2つのオブジェクト間の角度を用いたオブジェクト選択情報を格納」している場合に、2つのオブジェクト間の角度を求めるためにメタデータファイルを参照する必要がある場合に必要となる。SupplementalPropertyでschemeIdUriがurn:mpeg:dash:objectAudio:objectMetadataStreamIDのシグナリングは、オブジェクト選択メタデータファイル内でシグナリングされているstream_idが、どのAdaptationSetのファイルであるかを示すために利用される。
なお、PreselectionのSupplementalPropertyでschemeIdUriがurn:mpeg:dash:objectAudio:objectSelectionMetadataFileをシグナリングすることは、図52を参照して説明した拡張されたメタデータファイルにオブジェクト選択情報が格納される場合にも適用可能である。
また、オブジェクト選択メタデータファイルのAdaptationSet(AdaptationSet@id=”m2”)では、SupplementalPropertyでschemeIdUriがurn:mpeg:dash:objectAudio:objectMetadataFileをシグナリングしている部分は、RepresentationのassociationIdで示してもよい。かかる例について、図54を参照して説明する。図54は、本実施例において生成されるMPDファイルの他の例を示す図である。
図54に示すMPDファイルでは、図53に示すMPDファイルの21行目の<Representation id=“op2”>に代えて、<Representation id=“op2” associationId=“op1”>が示されている。図54に示すMPDファイルでは、オブジェクト選択メタデータファイルのAdaptationSet(AdaptationSet@id=”m2”)の、SupplementalPropertyでschemeIdUriがurn:mpeg:dash:objectAudio:objectMetadataFileをシグナリングに利用しない。
<6-7.クライアントが取得するファイルの選択例(実施例4-7)>
続いて、実施例4-7として、クライアント200の処理部210が取得するファイルを選択する方法について説明する。図55は、クライアントが取得するファイルを選択する方法の一例を示すフローチャート図である。なお、図55には、図32~図33を参照して説明した拡張されたメタデータファイルに、図36~図39を参照して説明したようにオブジェクト選択情報を格納し、図52を参照して説明したMPDファイルでシグナリングした場合の選択方法の例が示されている。また、図55に示した
まず、図55に示すように、処理部210は、MPDファイルのPreselectionのSupplementalPropertyでschemeIdUriが“urn:mpeg:dash:objectAudio:objectMetadataFile”のvalueから、メタデータファイルのAdaptationSetを特定し、サーバ100からメタデータファイルを取得する(S402)。続いて、処理部210は、クライアント200が表示する切り出し画像の切り出し方向、切り出し画角、及び現在の視聴画角の情報を取得する(S404)。続いて、処理部210は、ステップS402で取得されたメタデータファイルから、現在のobjectSelectionMetadataを取得する(S406)。
さらに、処理部210は、ステップS406で取得されたobjectSelectionMetadataに基づいて、現在の表示状態に該当するオブジェクトリストを特定する(S408)。例えば、ステップS408において特定されるオブジェクトリストは、クライアント200が表示する切り出し画像の切り出し方向とdirection_azimuth、direction_elevationの値が近いオブジェクトリストであってもよい。また、ステップS408において特定されるオブジェクトリストは、クライアント200が表示する切り出し画像の切り出し画角がmin_clipping_azimuth_range、man_clipping_azimuth_range、min_clipping_elevation_range、min_clipping_elevation_rangeで示される画角範囲に含まれるオブジェクトリストであってもよい。さらに、ステップS408において特定されるオブジェクトリストは、現在の視聴画角がmin_viewing_azimuth_range、max_viewing_azimuth_range、min_viewing_elevation_range、max_viewing_elevation_rangeで示される画角範囲に含まれるオブジェクトリストであってもよい。なお、上記の条件にあてはまるオブジェクトリストが存在しない場合、ステップS408において処理部210はいずれのオブジェクトリストをも特定しなくてもよい。
現在の表示状態に該当するオブジェクトリストが特定された場合(S410においてYES)、処理部210は、特定されたオブジェクトリストのobject_idを取得する。(S412)。一方、現在の表示状態に該当するオブジェクトリストが特定されなかった場合(S410においてNO)、処理部210は、sampleEntryのdefault_object_idを取得する。(S414)。
続いて、処理部210は、sampleEntryのobjectSelectionMetadataConfigurationBoxから、各object_idが属しているstreamのstream_idを取得する(S416)。さらに、処理部210は、urn:mpeg:dash:objectAudio:objectMetadataStreamIDのstream_idに基づき、取得するAdaptationSet(ファイル)を選択する(S418)。
なお、図55に示したステップS402~S418の処理は、例えばセグメントファイル選択部213により実行され得る。
<<7.応用例>>
以上、本開示の一実施形態について説明した。本開示において上述した技術(本技術)は、様々なコンテンツへ応用することが可能であり、例えば複数視聴位置で視聴可能なMulti Viewコンテンツへ応用することも可能である。以下では、本技術をMulti Viewコンテンツへ応用した場合の応用例について説明する。
図56~図58は、本応用例について説明するための説明図である。以下では、図56に示すように、3つのオブジェクトオーディオデータAD21~AD23が存在し、2カ所の視聴位置VP1、VP2が存在する場合について説明する。
図57に示すように、視聴位置VP1で視聴した場合、オブジェクトオーディオデータAD21とオブジェクトオーディオデータAD22とが重なって見え得る。そこで、オブジェクトオーディオデータAD21とオブジェクトオーディオデータAD22を統合したオブジェクトオーディオデータAD24を準備する。そして、表示状態に合わせて3つのオブジェクトオーディオデータAD21~AD23を利用する場合と、2つのオブジェクトオーディオデータAD23、AD24を利用する場合があり得る。
一方、図58に示すように、視聴位置VP2で視聴した場合、オブジェクトオーディオデータAD22とオブジェクトオーディオデータAD23とが重なって見え得る。そこで、オブジェクトオーディオデータAD22とオブジェクトオーディオデータAD23を統合したオブジェクトオーディオデータAD25を準備する。そして、表示状態に合わせて3つのオブジェクトオーディオデータAD21~AD23を利用する場合と、2つのオブジェクトオーディオデータAD22、AD25を利用する場合があり得る。
図56~図58を参照して説明したように、視聴位置によって利用するオブジェクトオーディオデータが異なる場合が考えられる。このような場合も、上記実施形態と同様に、視聴位置ごとに利用するオブジェクトオーディオデータを指定すればよい。かかる場合に生成されるMPDファイルの一例について図59を参照して説明する。図59は、視聴位置によって利用するオブジェクトオーディオデータが異なる場合に生成されるMPDファイルの一例を示す図である。なお、図59では利用するオブジェクトオーディオデータが時間変化しない場合に生成されるMPDファイルの例について示している。
図59に示す例では、Viewpoint(Multi Viewコンテンツで利用される既存のElement)を用いて視聴位置を識別する。Viewpointの各々は、表示状態ごとのAdaptationSetの組合せを示す。視聴位置VP1に対応するview1はPreselection@id=”1”で示されており、既定のオブジェクトオーディオデータの組合せはo1,o2,o3で、その他の組合せとしてo3、o4がSupplementalPropertyで示されている。視聴位置VP2に対応するview2はPreselection@id=”2”で示されており、既定のオブジェクトオーディオデータの組合せはo1,o2,o3で、その他の組合せとしてo2、o5がSupplementalPropertyで示されている。
また、上述した手法は、自由視点コンテンツにも応用することが可能である。自由視点コンテンツは、ある空間内で自由な位置での視聴が可能なコンテンツである。まず、Multi Viewコンテンツを準備し、複数の視聴位置で利用するオブジェクトオーディオデータの組合せを決定する。その際に、Viewpointのvalueで位置座標をシグナリングする等して、各視点位置を示しておく。再生時には、視聴したい視点位置から、Viewpointに含まれる視点位置のうち、最も近いViewpointのPreselectionを選択し、そのPreselectionにあるメタ情報から利用するオブジェクトを決定すればよい。
<<8.ハードウェア構成例>>
以上、本開示の実施形態を説明した。最後に、図60を参照して、本開示の実施形態にかかる情報処理装置のハードウェア構成について説明する。図60は、本開示の実施形態にかかる情報処理装置のハードウェア構成の一例を示すブロック図である。なお、図60に示す情報処理装置900は、例えば、図8、図9にそれぞれ示したサーバ100、クライアント200を実現し得る。本開示の実施形態にかかるサーバ100、クライアント200による情報処理は、ソフトウェアと、以下に説明するハードウェアとの協働により実現される。
図60に示すように、情報処理装置900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903及びホストバス904aを備える。また、情報処理装置900は、ブリッジ904、外部バス904b、インタフェース905、入力装置906、出力装置907、ストレージ装置908、ドライブ909、接続ポート911、通信装置913、及びセンサ915を備える。情報処理装置900は、CPU901に代えて、又はこれとともに、DSP若しくはASIC等の処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。CPU901は、例えば、生成部110、制御部120、処理部210、制御部220を形成し得る。
CPU901、ROM902及びRAM903は、CPUバスなどを含むホストバス904aにより相互に接続されている。ホストバス904aは、ブリッジ904を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス904bに接続されている。なお、必ずしもホストバス904a、ブリッジ904および外部バス904bを分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
入力装置906は、例えば、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ及びレバー等、ユーザによって情報が入力される装置によって実現される。また、入力装置906は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話やPDA等の外部接続機器であってもよい。さらに、入力装置906は、例えば、上記の入力手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などを含んでいてもよい。情報処理装置900のユーザは、この入力装置906を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置907は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で形成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置907は、例えば、情報処理装置900が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置900が行った各種処理により得られた結果を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。出力装置907は、例えば表示部260、スピーカ270を形成し得る。
ストレージ装置908は、情報処理装置900の記憶部の一例として形成されたデータ格納用の装置である。ストレージ装置908は、例えば、HDD等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により実現される。ストレージ装置908は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置908は、CPU901が実行するプログラムや各種データ及び外部から取得した各種のデータ等を格納する。上記ストレージ装置908は、例えば、記憶部140、記憶部240を形成し得る。
ドライブ909は、記憶媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ909は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、RAM903に出力する。また、ドライブ909は、リムーバブル記憶媒体に情報を書き込むこともできる。
接続ポート911は、外部機器と接続されるインタフェースであって、例えばUSB(Universal Serial Bus)などによりデータ伝送可能な外部機器との接続口である。
通信装置913は、例えば、ネットワーク920に接続するための通信デバイス等で形成された通信インタフェースである。通信装置913は、例えば、有線若しくは無線LAN(Local Area Network)、LTE(Long Term Evolution)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置913は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置913は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。通信装置913は、例えば、通信部130、通信部230を形成し得る。
センサ915は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサ、測距センサ、力センサ等の各種のセンサである。センサ915は、情報処理装置900の姿勢、移動速度等、情報処理装置900自身の状態に関する情報や、情報処理装置900の周辺の明るさや騒音等、情報処理装置900の周辺環境に関する情報を取得する。また、センサ915は、GPS信号を受信して装置の緯度、経度及び高度を測定するGPSセンサを含んでもよい。センサ915は、例えば、センサ部250を形成し得る。
なお、ネットワーク920は、ネットワーク920に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク920は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク920は、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。
以上、本開示の実施形態にかかる情報処理装置900の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて実現されていてもよいし、各構成要素の機能に特化したハードウェアにより実現されていてもよい。従って、本開示の実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
なお、上述のような本開示の実施形態にかかる情報処理装置900の各機能を実現するためのコンピュータプログラムを作製し、PC等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
<<9.むすび>>
以上説明したように、本開示の実施形態によれば、オブジェクトオーディオデータを表示状態に応じて選択することが可能である。例えば、オブジェクトオーディオデータをMPEG-DASHによりストリーミング配信する際に、視聴環境にあったより適切な位置からの音を聞くことができるようになる。また、ズームインやズームアウトしたなど、表示状態が変わった場合に、その時の映像にあわせて、適切な位置からの音が聞こえる体験をすることができるようになる。さらに、サーバが記憶するデータ量と、クライアントが取得するファイル数との両方が抑制されるようにオブジェクトオーディオデータをファイル化することが可能である。そのため、伝送量が低減され、例えばその他の取得するデータのビットレートを上げることも可能となり得る。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示にかかる技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
画像の表示状態に応じたオブジェクトオーディオデータを選択するためのオブジェクト選択情報を含むコンテンツファイルを生成する生成部を備え、
前記生成部は、前記コンテンツファイルに含まれるメタデータファイルに前記オブジェクト選択情報を格納する、情報処理装置。
(2)
前記メタデータファイルは、ISO/IEC 14496-12で規格定義されるファイルである、前記(1)に記載の情報処理装置。
(3)
前記オブジェクト選択情報は、前記メタデータファイルのmoovボックスにおけるsampleEntryに格納される、前記(2)に記載の情報処理装置。
(4)
前記オブジェクト選択情報は、前記sampleEntryに含まれるobjectSelectionMetadataConfigurationBoxに格納される、前記(3)に記載の情報処理装置。
(5)
前記オブジェクト選択情報は、前記オブジェクトオーディオデータが格納されているオーディオファイルへアクセスするためのオーディオファイルアクセス情報を含む、前記(4)に記載の情報処理装置。
(6)
前記オーディオファイルアクセス情報は、streamIDを含む、前記(5)に記載の情報処理装置。
(7)
前記オブジェクト選択情報は、切り出した画像の方向に関する方向情報を含む、前記(1)~(6)のいずれか一項に記載の情報処理装置。
(8)
前記方向情報は、水平方向の角度の情報と垂直方向の角度の情報とを含む、前記(7)に記載の情報処理装置。
(9)
前記方向情報は、切り出した方向ベクトルからの角度範囲の情報をさらに含む、前記(8)に記載の情報処理装置。
(10)
前記方向情報は、水平方向の角度の範囲の情報と垂直方向の角度の範囲の情報とを含む、前記(7)に記載の情報処理装置。
(11)
前記オブジェクト選択情報は、切り出した画像の画角、または表示された画像に対する視聴時の画角、に関する画角情報を含む、前記(1)~(10)のいずれか一項に記載の情報処理装置。
(12)
前記画角情報は、水平画角の範囲の情報と垂直画角の範囲の情報とを含む、前記(11)に記載の情報処理装置。
(13)
前記画角情報は、基準画角に対する倍率の範囲の情報を含む、前記(11)に記載の情報処理装置。
(14)
前記オブジェクト選択情報は、角度を算出する2つのオブジェクトの位置情報を含む、前記(1)~(6)のいずれか一項に記載の情報処理装置。
(15)
前記オブジェクト選択情報は、前記2つのオブジェクト間の角度に関する角度情報をさらに含む、前記(14)に記載の情報処理装置。
(16)
前記オブジェクト選択情報は、利用する前記オブジェクトオーディオデータに関する情報を含む、前記(1)~(15)のいずれか一項に記載の情報処理装置。
(17)
画像の表示状態に応じたオブジェクトオーディオデータを選択するためのオブジェクト選択情報を含むコンテンツファイルを生成することを含み、
前記オブジェクト選択情報は、前記コンテンツファイルに含まれるメタデータファイルに格納される、情報処理装置によって実行される情報処理方法。
(18)
コンピュータに、
画像の表示状態に応じたオブジェクトオーディオデータを選択するためのオブジェクト選択情報を含むコンテンツファイルを生成する機能を実現させ、
前記オブジェクト選択情報は、前記コンテンツファイルに含まれるメタデータファイルに格納される、プログラム。
(19)
画像の表示状態に応じたオブジェクトオーディオデータを選択するためのオブジェクト選択情報を含むコンテンツファイルを取得する処理部を備え、
前記オブジェクト選択情報は、前記コンテンツファイルに含まれるメタデータファイルに格納される、情報処理装置。
(20)
前記メタデータファイルは、ISO/IEC 14496-12で規格定義されるファイルである、前記(19)に記載の情報処理装置。
(21)
前記オブジェクト選択情報は、前記メタデータファイルのmoovボックスにおけるsampleEntryに格納される、前記(20)に記載の情報処理装置。
(22)
前記オブジェクト選択情報は、前記sampleEntryに含まれるobjectSelectionMetadataConfigurationBoxに格納される、前記(21)に記載の情報処理装置。
(23)
前記オブジェクト選択情報は、前記オブジェクトオーディオデータが格納されているオーディオファイルへアクセスするためのオーディオファイルアクセス情報を含む、前記(22)に記載の情報処理装置。
(24)
前記オーディオファイルアクセス情報は、streamIDを含む、前記(23)に記載の情報処理装置。
(25)
前記オブジェクト選択情報は、切り出した画像の方向に関する方向情報を含む、前記(19)~(24)のいずれか一項に記載の情報処理装置。
(26)
前記方向情報は、水平方向の角度の情報と垂直方向の角度の情報とを含む、前記(25)に記載の情報処理装置。
(27)
前記方向情報は、切り出した方向ベクトルからの角度範囲の情報をさらに含む、前記(26)に記載の情報処理装置。
(28)
前記方向情報は、水平方向の角度の範囲の情報と垂直方向の角度の範囲の情報とを含む、前記(25)に記載の情報処理装置。
(29)
前記オブジェクト選択情報は、切り出した画像の画角、または表示された画像に対する視聴時の画角、に関する画角情報を含む、前記(19)~(28)のいずれか一項に記載の情報処理装置。
(30)
前記画角情報は、水平画角の範囲の情報と垂直画角の範囲の情報とを含む、前記(29)に記載の情報処理装置。
(31)
前記画角情報は、基準画角に対する倍率の範囲の情報を含む、前記(29)に記載の情報処理装置。
(32)
前記オブジェクト選択情報は、角度を算出する2つのオブジェクトの位置情報を含む、前記(19)~(24)のいずれか一項に記載の情報処理装置。
(33)
前記オブジェクト選択情報は、前記2つのオブジェクト間の角度に関する角度情報をさらに含む、前記(32)に記載の情報処理装置。
(34)
前記オブジェクト選択情報は、利用する前記オブジェクトオーディオデータに関する情報を含む、前記(19)~(33)のいずれか一項に記載の情報処理装置。
(35)
画像の表示状態に応じたオブジェクトオーディオデータを選択するためのオブジェクト選択情報を含むコンテンツファイルを取得することを含み、
前記オブジェクト選択情報は、前記コンテンツファイルに含まれるメタデータファイルに格納される、情報処理装置によって実行される情報処理方法。
(36)
コンピュータに、
画像の表示状態に応じたオブジェクトオーディオデータを選択するためのオブジェクト選択情報を含むコンテンツファイルを取得する機能を実現させ、
前記オブジェクト選択情報は、前記コンテンツファイルに含まれるメタデータファイルに格納される、プログラム。