以下、本開示の前提および本開示を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
0.本開示の前提(図1乃至図30)
1.第1実施の形態(図31乃至図50)
2.第2実施の形態(図51乃至図55)
3.第3実施の形態(図56)
4.第4実施の形態(図57乃至図67)
5.第5実施の形態(図68)
6.第6実施の形態(図69)
7.3Dオーディオの階層構造の説明(図70)
8.Webサーバの処理の第1の例の説明(図71および図72)
9.音声復号処理部の処理の第1の例の説明(図73および図74)
10.音声復号処理部の処理の第2の例の説明(図75および図76)
11.Webサーバの処理の第2の例の説明(図77)
12.音声復号処理部の処理の第3の例の説明(図78および図79)
13.ベースサンプルのシンタクスの第2の例(図80乃至図84)
14.ベースサンプルのシンタクスの第3の例(図85および図86)
15.第7実施の形態(図87乃至図90)
16.第8実施の形態(図91乃至図94)
17.第9実施の形態(図95)
<本開示の前提>
(情報処理システムの第1の例の概要)
図1は、本開示を適用した情報処理システムの第1の例の概要を説明する図である。
図1の情報処理システム10は、ファイル生成装置11と接続されるWebサーバ12と動画再生端末14が、インターネット13を介して接続されることにより構成される。
情報処理システム10では、MPEG−DASHに準ずる方式で、Webサーバ12が動画コンテンツの画像データをタイル単位で動画再生端末14に配信(タイルドストリーミング)する。
具体的には、ファイル生成装置11は、動画コンテンツの画像データを取得し、タイル単位で符号化してビデオストリームを生成する。ファイル生成装置11は、各タイルのビデオストリームを、セグメントと呼ばれる数秒から10秒程度の時間単位ごとにファイル化する。ファイル生成装置11は、その結果得られる各タイルの画像ファイルをWebサーバ12にアップロードする。
また、ファイル生成装置11は、動画コンテンツの音声データをオブジェクト(詳細は後述する)ごとに取得し、オブジェクト単位で符号化してオーディオストリームを生成する。ファイル生成装置11は、各オブジェクトのオーディオストリームをセグメント単位でファイル化し、その結果得られる各オブジェクトの音声ファイルをWebサーバ12にアップロードする。
なお、オブジェクトとは、音源であり、各オブジェクトの音声データは、そのオブジェクトに取り付けられたマイクロフォンなどにより取得される。オブジェクトは、固定されたマイクスタンドなどの物体であってもよいし、人物などの動体であってもよい。
ファイル生成装置11は、各オブジェクトの位置(音声データの取得位置)を表すオブジェクト位置情報(音声位置情報)、オブジェクトに固有のIDであるオブジェクトID等を含むオーディオメタデータを符号化する。ファイル生成装置11は、オーディオメタデータの符号化データをセグメント単位でファイル化し、その結果得られる音声メタファイルをWebサーバ12にアップロードする。
また、ファイル生成装置11は、動画コンテンツの画像の画枠サイズを表す画枠サイズ情報、各タイルの画像上の位置を表すタイル位置情報等を含む、画像ファイルや音声ファイルを管理するMPD(Media Presentation Description)ファイル(制御情報)を生成する。ファイル生成装置11は、MPDファイルをWebサーバ12にアップロードする。
Webサーバ12は、ファイル生成装置11からアップロードされた画像ファイル、音声ファイル、音声メタファイル、およびMPDファイルを格納する。
図1の例では、Webサーバ12には、タイルID「1」のタイルの複数のセグメントの画像ファイルからなるセグメント群と、タイルID「2」のタイルの複数のセグメントの画像ファイルからなるセグメント群とが格納されている。また、Webサーバ12には、オブジェクトID「1」のオブジェクトの複数のセグメントの音声ファイルからなるセグメント群と、オブジェクトID「2」のオブジェクトの複数のセグメントの音声ファイルからなるセグメント群とが格納されている。図示は省略するが、音声メタファイルのセグメント群も同様に格納されている。
なお、以下では、タイルIDがiであるタイルをタイル#iといい、オブジェクトIDがiのオブジェクトをオブジェクト#iという。
Webサーバ12は、伝送部として機能し、動画再生端末14からの要求に応じて、格納している画像ファイル、音声ファイル、音声メタファイル、MPDファイル等を動画再生端末14に送信する。
動画再生端末14は、ストリーミングデータの制御用ソフトウエア(以下、制御用ソフトウエアという)21、動画再生ソフトウエア22、HTTP(HyperText Transfer Protocol)アクセス用のクライアント・ソフトウエア(以下、アクセス用ソフトウエアという)23などを実行する。
制御用ソフトウエア21は、Webサーバ12からストリーミングするデータを制御するソフトウエアである。具体的には、制御用ソフトウエア21は、動画再生端末14にWebサーバ12からMPDファイルを取得させる。
また、制御用ソフトウエア21は、動画再生ソフトウエア22から指示される動画コンテンツの画像内の表示する領域である表示領域と、MPDファイルに含まれるタイル位置情報とに基づいて、表示領域内のタイルを特定する。そして、制御用ソフトウエア21は、そのタイルの画像ファイルの送信要求をアクセス用ソフトウエア23に指令する。
また、制御用ソフトウエア21は、アクセス用ソフトウエア23に音声メタファイルの送信要求を指令する。そして、制御用ソフトウエア21は、表示領域、MPDファイルに含まれる画枠サイズ情報、および音声メタファイルに含まれるオブジェクト位置情報に基づいて、表示領域内の画像に対応するオブジェクトを特定する。そして、制御用ソフトウエア21は、そのオブジェクトの音声ファイルの送信要求をアクセス用ソフトウエア23に指令する。
動画再生ソフトウエア22は、Webサーバ12から取得された画像ファイルと音声ファイルを再生するソフトウエアである。具体的には、動画再生ソフトウエア22は、ユーザにより表示領域が指定されると、その表示領域を制御用ソフトウエア21に指示する。また、動画再生ソフトウエア22は、その指示に応じてWebサーバ12から取得された画像ファイルと音声ファイルを復号し、合成して出力する。
アクセス用ソフトウエア23は、HTTPを用いたインターネット13を介したWebサーバ12との通信を制御するソフトウエアである。具体的には、アクセス用ソフトウエア23は、制御用ソフトウエア21の指令に応じて、画像ファイル、音声ファイル、および音声メタファイルの送信要求を動画再生端末14に送信させる。また、アクセス用ソフトウエア23は、その送信要求に応じて、Webサーバ12から送信されてくる画像ファイル、音声ファイル、および音声メタファイルを動画再生端末14に受信させる。
(タイルの例)
図2は、タイルの例を示す図である。
図2に示すように、動画コンテンツの画像は、複数のタイルに分割され、各タイルに1から順にタイルIDが付与される。図2の例では、動画コンテンツの画像は、4つのタイル#1乃至タイル#4に分割されている。
(オブジェクトの説明)
図3は、オブジェクトを説明する図である。
図3の例では、動画コンテンツの音声として、画像内の8つのオブジェクトの音声が取得されており、各オブジェクトには1から順にオブジェクトIDが付与されている。オブジェクト#1乃至オブジェクト#5は、それぞれ、動体であり、オブジェクト#6乃至オブジェクト#8は、固定された物体である。また、図3の例では、動画コンテンツの画像は、5(縦)×7(横)のタイルに分割されている。
この場合、図3に示すように、ユーザにより2(縦)×3(横)個のタイルからなる表示領域31が指定されると、表示領域31には、オブジェクト#1、オブジェクト#2、およびオブジェクト#6のみが含まれる。従って、動画再生端末14は、例えば、オブジェクト#1、オブジェクト#2、およびオブジェクト#6の音声ファイルのみをWebサーバ12から取得し、再生する。
表示領域31内のオブジェクトは、以下に説明するように、画枠サイズ情報およびオブジェクト位置情報に基づいて特定することができる。
(オブジェクト位置情報の説明)
図4は、オブジェクト位置情報を説明する図である。
図4に示すように、オブジェクト位置情報は、オブジェクト40の水平角度θA(−180°≦θA≦180°),垂直角度γA(−90°≦γA≦90°)、および距離rA(0<rA)からなる。水平角度θAは、例えば、画像の中心の撮影位置を原点(基点)Oとし、画像の水平方向をX方向、垂直方向をY方向、XY平面に垂直な奥行き方向をZ方向としたときの、オブジェクト40と原点Oを結ぶ直線とYZ平面との水平方向の角度である。垂直角度γAは、オブジェクト40と原点Oを結ぶ直線とXZ平面との垂直方向の角度であり、距離rAは、オブジェクト40と原点Oの距離である。
なお、本明細書では、左回転および上回転の角度を正の角度とし、右回転および下回転の角度を負の角度とする。
(画枠サイズ情報の説明)
図5は、画枠サイズ情報を説明する図である。
図5に示すように、画枠サイズ情報は、画枠の左端の水平角度θv1、右端の水平角度θv2、画枠の上端の垂直角度γv1、下端の垂直角度γv2、および距離rvにより構成される。
水平角度θv1は、例えば、画像の中心の撮影位置を原点Oとし、画像の水平方向をX方向、垂直方向をY方向、XY平面に垂直な奥行き方向をZ方向としたときの、画枠の左端と原点Oを結ぶ直線とYZ平面との水平方向の角度である。水平角度θv2は、画枠の右端と原点Oを結ぶ直線とYZ平面との水平方向の角度である。従って、水平角度θv1と水平角度θv2とを合わせた角度は、水平方向の画角である。
垂直角度γV1,γv2は、それぞれ、画枠の上端、下端と原点Oを結ぶ直線とXZ平面との角度であり、垂直角度γV1と垂直角度γv2とを合わせた角度は、垂直方向の画角である。距離rvは、原点Oと画像の平面との距離である。
以上のように、オブジェクト位置情報と画枠サイズ情報は、それぞれ、オブジェクト40、画枠と、原点Oとの位置関係を表している。従って、オブジェクト位置情報と画枠サイズ情報に基づいて、各オブジェクトの画像上の位置を検出(認識)することができる。その結果、表示領域31内のオブジェクトを特定することができる。
(MPDファイルの構造の説明)
図6は、MPDファイルの構造を示す図である。
MPDファイルの解析(パース)においては、動画再生端末14は、MPDファイル(図6のMedia Presentation)の「Period」に含まれる「Representation」の属性から最適なものを選択する。
動画再生端末14は、選択した「Representation」の先頭の「Initialization Segment」のURL(Uniform Resource Locator)等を参照してファイルを取得し、処理する。続いて、動画再生端末14は、後続の「Media Segment」のURL等を参照してファイルを取得し、再生する。
なお、MPDファイルにおける、「Period」、「Representation」、および「Segment」の関係は、図7のようになる。つまり、1つの動画コンテンツは、「Period」により、セグメントより長い時間単位で管理することができ、各「Period」において、「Segment」によりセグメント単位で管理することができる。また、各「Period」において、「Representation」により、動画コンテンツをストリームの属性単位で管理することができる。
したがって、MPDファイルは、「Period」以下において、図8に示す階層構造を有する。また、このMPDファイルの構造を時間軸上に並べると図9の例のようになる。図9から明らかなように、同一のセグメントに対して複数の「Representation」が存在している。動画再生端末14は、これらのうちのいずれかを適応的に選択することにより、ユーザにより選択された表示領域の画像ファイルと音声ファイルを取得し、再生することができる。
(MPDファイルの記述の説明)
図10は、MPDファイルの記述を説明する図である。
上述したように、情報処理システム10では、動画再生端末14において表示領域内のオブジェクトを特定可能にするため、MPDファイルに画枠サイズ情報が含まれる。この画枠サイズ情報は、図10に示すように、ViewpointのDescriptorType elementを活用して新たに画枠サイズ情報(Viewing Angle)を定義するためのScheme(urn:mpeg:DASH:viewingAngle:2013)を拡張することにより、音声用の「Adaptation Set」と画像用の「Adaptation Set」に配置される。画枠サイズ情報は、画像用の「Adaptation Set」にのみ配置されるようにしてもよい。
また、MPDファイルの音声用の「Adaptation Set」には、音声メタファイル用の「Representation」が記述され、その「Representation」の「Segment」には、音声メタファイル(audionmetadata.mp4)を特定する情報としてのURL等が記述される。このとき、Role elementを活用して、「Segment」で指定されるファイルが音声メタファイルであること(objectaudiometadata)が記述される。
MPDファイルの音声用の「Adaptation Set」にはまた、各オブジェクトの音声ファイル用の「Representation」が記述され、その「Representation」の「Segment」には、各オブジェクトの音声ファイル(audioObje1.mp4, audioObje5.mp4)を特定する情報としてのURL等が記述される。このとき、Viewpointを拡張することにより、音声ファイルに対応するオブジェクトのオブジェクトID(1,5)も記述される。
なお、図示は省略するが、タイル位置情報は、画像用の「Adaptation Set」に配置される。
(ファイル生成装置の構成例)
図11は、図1のファイル生成装置11の構成例を示すブロック図である。
図11のファイル生成装置11は、画面分割処理部51、画像符号化処理部52、画像ファイル生成部53、画像情報生成部54、音声符号化処理部55、音声ファイル生成部56、MPD生成部57、およびサーバアップロード処理部58により構成される。
ファイル生成装置11の画面分割処理部51は、外部から入力される動画コンテンツの画像データをタイル単位に分割する。画面分割処理部51は、タイル位置情報を画像情報生成部54に供給する。また、画面分割処理部51は、タイル単位の画像データを画像符号化処理部52に供給する。
画像符号化処理部52は、画面分割処理部51から供給されるタイル単位の画像データをタイルごとに符号化し、ビデオストリームを生成する。画像符号化処理部52は、各タイルのビデオストリームを画像ファイル生成部53に供給する。
画像ファイル生成部53は、画像符号化処理部52から供給される各タイルのビデオストリームをセグメント単位でファイル化し、その結果得られる各タイルの画像ファイルをMPD生成部57に供給する。
画像情報生成部54は、画面分割処理部51から供給されるタイル位置情報と外部から入力される画枠サイズ情報とを画像情報としてMPD生成部57に供給する。
音声符号化処理部55は、外部から入力される動画コンテンツのオブジェクト単位の音声データをオブジェクトごとに符号化し、オーディオストリームを生成する。また、音声符号化処理部55は、外部から入力される各オブジェクトのオブジェクト位置情報、オブジェクトID等を含むオーディオメタデータを符号化し、符号化データを生成する。音声符号化処理部55は、各オブジェクトのオーディオストリームとオーディオメタデータの符号化データとを音声ファイル生成部56に供給する。
音声ファイル生成部56は、音声ファイル生成部として機能し、音声符号化処理部55から供給される各オブジェクトのオーディオストリームをセグメント単位でファイル化し、その結果得られる各オブジェクトの音声ファイルをMPD生成部57に供給する。
また、音声ファイル生成部56は、メタファイル生成部として機能し、音声符号化処理部55から供給されるオーディオメタデータの符号化データをセグメント単位でファイル化し、その結果得られる音声メタファイルをMPD生成部57に供給する。
MPD生成部57は、画像ファイル生成部53から供給される各タイルの画像ファイルを格納するWebサーバ12のURL等を決定する。また、MPD生成部57は、音声ファイル生成部56から供給される各オブジェクトの音声ファイルと音声メタファイルを格納するWebサーバ12のURL等を決定する。
MPD生成部57は、画像情報生成部54から供給される画像情報をMPDファイルの画像用の「AdaptationSet」に配置する。また、MPD生成部57は、画像情報のうちの画枠サイズ情報をMPDファイルの音声用の「AdaptationSet」に配置する。MPD生成部57は、各タイルの画像ファイルのURL等を、そのタイルの画像ファイル用の「Representation」の「Segment」に配置する。
MPD生成部57は、各オブジェクトの音声ファイルのURL等を、そのオブジェクトの音声ファイル用の「Representation」の「Segment」に配置する。また、MPD生成部57は、情報生成部として機能し、音声メタファイルを特定する情報としてのURL等を音声メタファイル用の「Representation」の「Segment」に配置する。MPD生成部57は、以上のようにして各種の情報が配置されたMPDファイル、並びに、画像ファイル、音声ファイル、および音声メタファイルをサーバアップロード処理部58に供給する。
サーバアップロード処理部58は、MPD生成部57から供給される各タイルの画像ファイル、各オブジェクトの音声ファイル、音声メタファイル、およびMPDファイルを、Webサーバ12にアップロードする。
(ファイル生成装置の処理の説明)
図12は、図11のファイル生成装置11のファイル生成処理を説明するフローチャートである。
図12のステップS11において、ファイル生成装置11の画面分割処理部51は、外部から入力される動画コンテンツの画像データをタイル単位に分割する。画面分割処理部51は、タイル位置情報を画像情報生成部54に供給する。また、画面分割処理部51は、タイル単位の画像データを画像符号化処理部52に供給する。
ステップS12において、画像符号化処理部52は、画面分割処理部51から供給されるタイル単位の画像データをタイルごとに符号化し、各タイルのビデオストリームを生成する。画像符号化処理部52は、各タイルのビデオストリームを画像ファイル生成部53に供給する。
ステップS13において、画像ファイル生成部53は、画像符号化処理部52から供給される各タイルのビデオストリームをセグメント単位でファイル化し、各タイルの画像ファイルを生成する。画像ファイル生成部53は、各タイルの画像ファイルをMPD生成部57に供給する。
ステップS14において、画像情報生成部54は、外部から画枠サイズ情報を取得する。ステップS15において、画像情報生成部54は、画面分割処理部51から供給されるタイル位置情報と画枠サイズ情報とを含む画像情報を生成し、MPD生成部57に供給する。
ステップS16において、音声符号化処理部55は、外部から入力される動画コンテンツのオブジェクト単位の音声データをオブジェクトごとに符号化し、各オブジェクトのオーディオストリームを生成する。また、音声符号化処理部55は、外部から入力される各オブジェクトのオブジェクト位置情報、オブジェクトID等を含むオーディオメタデータを符号化し、符号化データを生成する。音声符号化処理部55は、各オブジェクトのオーディオストリームとオーディオメタデータの符号化データとを音声ファイル生成部56に供給する。
ステップS17において、音声ファイル生成部56は、音声符号化処理部55から供給される各オブジェクトのオーディオストリームをセグメント単位でファイル化し、各オブジェクトの音声ファイルを生成する。また、音声ファイル生成部56は、音声符号化処理部55から供給されるオーディオメタデータの符号化データをセグメント単位でファイル化し、音声メタファイルを生成する。音声ファイル生成部56は、各オブジェクトの音声ファイルと音声メタファイルをMPD生成部57に供給する。
ステップS18において、MPD生成部57は、画像情報生成部54から供給される画像情報、各ファイルのURL等を含むMPDファイルを生成する。MPD生成部57は、MPDファイル、各タイルの画像ファイル、各オブジェクトの音声ファイル、および音声メタファイルをサーバアップロード処理部58に供給する。
ステップS19において、サーバアップロード処理部58は、MPD生成部57から供給される各タイルの画像ファイル、各オブジェクトの音声ファイル、音声メタファイル、およびMPDファイルを、Webサーバ12にアップロードする。そして、処理は終了する。
(動画再生端末の機能的構成例)
図13は、図1の動画再生端末14が制御用ソフトウエア21、動画再生ソフトウエア22、およびアクセス用ソフトウエア23を実行することにより実現されるストリーミング再生部の構成例を示すブロック図である。
図13のストリーミング再生部90は、MPD取得部91、MPD処理部92、メタファイル取得部93、音声選択部94、音声ファイル取得部95、音声復号処理部96、音声合成処理部97、画像選択部98、画像ファイル取得部99、画像復号処理部100、および画像合成処理部101により構成される。
ストリーミング再生部90のMPD取得部91は、受け取り部として機能し、Webサーバ12からMPDファイルを取得し、MPD処理部92に供給する。
MPD処理部92は、MPD取得部91から供給されるMPDファイルから音声メタファイル用の「Segment」に記述されるURL等の情報を抽出し、メタファイル取得部93に供給する。また、MPD処理部92は、MPDファイルから画像用の「AdaptationSet」に記述される画枠サイズ情報を抽出し、音声選択部94に供給する。MPD処理部92は、MPDファイルから、音声選択部94から要求されるオブジェクトの音声ファイル用の「Segment」に記述されるURL等の情報を抽出し、音声選択部94に供給する。
MPD処理部92は、MPDファイルから画像用の「AdaptationSet」に記述されるタイル位置情報を抽出し、画像選択部98に供給する。MPD処理部92は、MPDファイルから、画像選択部98から要求されるタイルの画像ファイル用の「Segment」に記述されるURL等の情報を抽出し、画像選択部98に供給する。
メタファイル取得部93は、MPD処理部92から供給されるURL等の情報に基づいて、そのURLで特定される音声メタファイルをWebサーバ12に要求し、取得する。メタファイル取得部93は、音声メタファイルに含まれるオブジェクト位置情報を音声選択部94に供給する。
音声選択部94は、位置決定部として機能し、MPD処理部92から供給される画枠サイズ情報とメタファイル取得部93から供給されるオブジェクト位置情報とに基づいて、各オブジェクトの画像上の位置を算出する。音声選択部94は、各オブジェクトの画像上の位置に基づいて、ユーザにより指定される表示領域内のオブジェクトを選択する。音声選択部94は、選択されたオブジェクトの音声ファイルのURL等の情報をMPD処理部92に要求する。音声選択部94は、その要求に応じてMPD処理部92から供給されるURL等の情報を音声ファイル取得部95に供給する。
音声ファイル取得部95は、受け取り部として機能し、音声選択部94から供給されるURL等の情報に基づいて、そのURLで特定されるオブジェクト単位の音声ファイルをWebサーバ12に要求し、取得する。音声ファイル取得部95は、取得されたオブジェクト単位の音声ファイルを音声復号処理部96に供給する。
音声復号処理部96は、音声ファイル取得部95から供給されるオブジェクト単位の音声ファイルに含まれるオーディオストリームを復号し、オブジェクト単位の音声データを生成する。音声復号処理部96は、そのオブジェクト単位の音声データを音声合成処理部97に供給する。
音声合成処理部97は、音声復号処理部96から供給されるオブジェクト単位の音声データを合成し、出力する。
画像選択部98は、MPD処理部92から供給されるタイル位置情報に基づいて、ユーザにより指定される表示領域内のタイルを選択する。画像選択部98は、選択されたタイルの画像ファイルのURL等の情報をMPD処理部92に要求する。画像選択部98は、その要求に応じてMPD処理部92から供給されるURL等の情報を画像ファイル取得部99に供給する。
画像ファイル取得部99は、画像選択部98から供給されるURL等の情報に基づいて、そのURLで特定されるタイル単位の画像ファイルをWebサーバ12に要求し、取得する。画像ファイル取得部99は、取得されたタイル単位の画像ファイルを画像復号処理部100に供給する。
画像復号処理部100は、画像ファイル取得部99から供給されるタイル単位の画像ファイルに含まれるビデオストリームを復号し、タイル単位の画像データを生成する。画像復号処理部100は、そのタイル単位の画像データを画像合成処理部101に供給する。
画像合成処理部101は、画像復号処理部100から供給されるタイル単位の画像データを合成し、出力する。
(動画再生端末の処理の説明)
図14は、動画再生端末14のストリーミング再生部90(図13)のストリーミング再生処理を説明するフローチャートである。
図14のステップS31において、ストリーミング再生部90のMPD取得部91は、Webサーバ12からMPDファイルを取得し、MPD処理部92に供給する。
ステップS32において、MPD処理部92は、MPD取得部91から供給されるMPDファイルから、画像用の「AdaptationSet」に記述される画枠サイズ情報とタイル位置情報を取得する。MPD処理部92は、画枠サイズ情報を音声選択部94に供給し、タイル位置情報を画像選択部98に供給する。また、MPD処理部92は、音声メタファイル用の「Segment」に記述されるURL等の情報を抽出し、メタファイル取得部93に供給する。
ステップS33において、メタファイル取得部93は、MPD処理部92から供給されるURL等の情報に基づいて、そのURLで特定される音声メタファイルをWebサーバ12に要求し、取得する。メタファイル取得部93は、音声メタファイルに含まれるオブジェクト位置情報を音声選択部94に供給する。
ステップS34において、音声選択部94は、MPD処理部92から供給される画枠サイズ情報とメタファイル取得部93から供給されるオブジェクト位置情報とに基づいて、ユーザにより指定される表示領域内のオブジェクトを選択する。音声選択部94は、選択されたオブジェクトの音声ファイルのURL等の情報をMPD処理部92に要求する。
MPD処理部92は、MPDファイルから、音声選択部94から要求されるオブジェクトの音声ファイル用の「Segment」に記述されるURL等の情報を抽出し、音声選択部94に供給する。音声選択部94は、MPD処理部92から供給されるURL等の情報を音声ファイル取得部95に供給する。
ステップS35において、音声ファイル取得部95は、音声選択部94から供給されるURL等の情報に基づいて、そのURLで特定される、選択されたオブジェクトの音声ファイルをWebサーバ12に要求し、取得する。音声ファイル取得部95は、取得されたオブジェクト単位の音声ファイルを音声復号処理部96に供給する。
ステップS36において、画像選択部98は、MPD処理部92から供給されるタイル位置情報に基づいて、ユーザにより指定される表示領域内のタイルを選択する。画像選択部98は、選択されたタイルの画像ファイルのURL等の情報をMPD処理部92に要求する。
MPD処理部92は、MPDファイルから、画像選択部98から要求されるオブジェクトの画像ファイル用の「Segment」に記述されるURL等の情報を抽出し、画像選択部98に供給する。画像選択部98は、MPD処理部92から供給されるURL等の情報を画像ファイル取得部99に供給する。
ステップS37において、画像ファイル取得部99は、画像選択部98から供給されるURL等の情報に基づいて、そのURLで特定される、選択されたタイルの画像ファイルをWebサーバ12に要求し、取得する。画像ファイル取得部99は、取得されたタイル単位の画像ファイルを画像復号処理部100に供給する。
ステップS38において、音声復号処理部96は、音声ファイル取得部95から供給されるオブジェクト単位の音声ファイルに含まれるオーディオストリームを復号し、オブジェクト単位の音声データを生成する。音声復号処理部96は、そのオブジェクト単位の音声データを音声合成処理部97に供給する。
ステップS39において、画像復号処理部100は、画像ファイル取得部99から供給されるタイル単位の画像ファイルに含まれるビデオストリームを復号し、タイル単位の画像データを生成する。画像復号処理部100は、そのタイル単位の画像データを画像合成処理部101に供給する。
ステップS40において、音声合成処理部97は、音声復号処理部96から供給されるオブジェクト単位の音声データを合成し、出力する。ステップS41において、画像合成処理部101は、画像復号処理部100から供給されるタイル単位の画像データを合成し、出力する。そして、処理は終了する。
以上のように、Webサーバ12は画枠サイズ情報とオブジェクト位置情報を伝送する。従って、動画再生端末14は、例えば、表示領域内のオブジェクトを特定し、そのオブジェクトの音声ファイルを、表示領域内の画像に対応する音声ファイルとして選択的に取得することができる。このように、動画再生端末14は必要な音声ファイルのみを取得することができるので、伝送効率は向上する。
なお、図15に示すように、MPDファイルの画像用の「AdaptationSet」には、その画像と同時に再生したい音声に対応するオブジェクトを特定する情報としてのオブジェクトID(オブジェクト特定情報)が、記述されるようにしてもよい。この記述は、例えば、ViewpointのDescriptorType elementを活用して新たにオブジェクトID情報(audioObj)を定義するためのScheme(urn:mpeg:DASH:audioObj:2013)を拡張することにより、行われる。この場合、動画再生端末14は、画像用の「AdaptationSet」に記述されたオブジェクトIDに対応するオブジェクトの音声ファイルを選択し、取得して再生する。
また、オブジェクト単位で音声ファイルが生成されるのではなく、全てのオブジェクトの符号化データが1本のオーディオストリームに多重化され、1つの音声ファイルが生成されるようにしてもよい。
この場合、図16に示すように、MPDファイルの音声用の「AdaptationSet」には、音声ファイル用の「Representation」が1つ設けられ、「Segment」に、全てのオブジェクトの符号化データを含む音声ファイル(audioObje.mp4)のURL等が記述される。このとき、Viewpointを拡張することにより、音声ファイルに対応する全てのオブジェクトのオブジェクトID(1,2,3,4,5)も記述される。
また、この場合、図17に示すように、MPDファイルの「Media Segment」を参照して取得される音声ファイル(以下、適宜、音声メディアファイルともいう)のmdat boxには、サブサンプルとして、各オブジェクトの符号化データ(Audio object)が配置される。
具体的には、音声メディアファイルには、セグメントより短い任意の時間であるサブセグメント単位でデータが配置される。このサブセグメント単位のデータの位置は、sidx boxにより指定される。また、サブセグメント単位のデータは、moof boxとmdat boxにより構成される。mdat boxは、複数のサンプルにより構成されるが、そのサンプルの各サブサンプルとして、各オブジェクトの符号化データが配置される。
また、音声メディアファイルのsidx boxの後には、サンプルの情報を記述するgsix boxが配置される。このように、サンプルの情報を記述するgsix boxが、moof boxとは別に設けられるので、動画再生端末14は、サンプルの情報を素早く取得することができる。
gsix boxには、図18に示すように、このgsix boxで管理する1以上のサンプルまたはサブサンプルからなるSample group entryの種別を表すgrouping_typeが記述される。例えば、Sample group entryが、オブジェクト単位の符号化データのサブサンプルである場合、図17に示すように、Sample group entryの種別は「obja」である。音声メディアファイルには、複数のgrouping_typeのgsix boxが配置される。
また、図18に示すように、gsix boxには、各Sample group entryのインデックス(entry_index)と、音声メディアファイル内の位置を表すデータ位置情報としてのバイトレンジ(range_size)とが記述される。なお、インデックス(entry_index)が0である場合、対応するバイトレンジは、moof boxのバイトレンジ(図17の例ではa1)を表している。
MPDファイルの「Initialization Segment」を参照して取得される音声ファイル(以下、適宜、音声初期化ファイルともいう)には、各Sample group entryが、どのオブジェクトの符号化データのサブサンプルであるかを表す情報が記述される。
具体的には、図19に示すように、音声初期化ファイルのsbtl boxのsample group description box(sgpd)のAudioObjectSampleGroupEntryと対応付けられる、mvex boxのtype assignment box(typa)を用いて、その情報が表される。
即ち、図20のAに示すように、AudioObjectSampleGroupEntryには、サンプルに含まれる符号化データに対応するオブジェクトID(audio_object_id)が1つずつ記述される。例えば、図20のBに示すように、4つのAudioObjectSampleGroupEntryのそれぞれに、オブジェクトIDとして、1,2,3,4が記述される。
一方、図21に示すように、type assignment boxには、AudioObjectSampleGroupEntryごとに、そのAudioObjectSampleGroupEntryに対応するSample group entryのパラメータ(grouping_type_parameter)として、インデックスが記述される。
以上のように音声メディアファイルと音声初期化ファイルが構成される。従って、動画再生端末14が、表示領域内のオブジェクトとして選択されたオブジェクトの符号化データを取得する際、音声初期化ファイルのstbl boxから、選択されたオブジェクトのオブジェクトIDが記述されたAudioObjectSampleGroupEntryが検索される。そして、mvex boxから、検索されたAudioObjectSampleGroupEntryに対応するSample group entryのインデックスが読み出される。そして、音声ファイルのsidxからサブセグメント単位のデータの位置が読み出され、gsixから、読み出されたインデックスのSample group entryのバイトレンジが読み出される。そして、サブセグメント単位のデータの位置とバイトレンジとに基づいて、mdat内に配置されている符号化データが取得される。これにより、選択されたオブジェクトの符号化データが取得される。
なお、上述した説明では、Sample group entryのインデックスとAudioObjectSampleGroupEntryのオブジェクトIDが、mvex boxを介して対応付けられたが、直接対応付けられるようにしてもよい。この場合、Sample group entryのインデックスが、AudioObjectSampleGroupEntryに記述される。
また、音声ファイルが複数のtrackから構成される場合、sgpdをmvexに格納すると、track間でsgpdを共用できる。
(情報処理システムの第2の例の概要)
図22は、本開示を適用した情報処理システムの第2の例の概要を説明する図である。
なお、図22において、図3と同一のものには、同一の符号を付してある。
図22の例では、図3の場合と同様に、動画コンテンツの画像は、5(縦)×7(横)のタイルに分割されており、動画コンテンツの音声として、オブジェクト#1乃至#8の音声が取得されている。
この場合に、ユーザにより、2(縦)×3(横)個のタイルからなる表示領域31が指定されると、第2の例では、図22に示すように、その表示領域31が、動画コンテンツの画像のサイズと同一のサイズに変換(拡大)され、表示画像111とされる。そして、表示画像111におけるオブジェクト#1乃至#8の位置に基づいて、オブジェクト#1乃至#8の音声が合成され、表示画像111とともに出力される。即ち、表示領域31内のオブジェクト#1、オブジェクト#2、およびオブジェクト#6だけでなく、表示領域31外のオブジェクト#3乃至#5、オブジェクト#7、およびオブジェクト#8の音声も出力される。
(ストリーミング再生部の構成例)
本開示を適用した情報処理システムの第2の例の構成は、ストリーミング再生部の構成を除いて、図1の情報処理システム10の構成と同一であるので、以下では、ストリーミング再生部についてのみ説明する。
図23は、本開示を適用した情報処理システムのストリーミング再生部の構成例を示すブロック図である。
図23に示す構成のうち、図13の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図23のストリーミング再生部120の構成は、MPD処理部92、音声合成処理部97、画像合成処理部101の代わりに、MPD処理部121、音声合成処理部123、画像合成処理部124が設けられる点、および、位置決定部122が新たに設けられる点が図13のストリーミング再生部90の構成と異なる。
ストリーミング再生部120のMPD処理部121は、MPD取得部91から供給されるMPDファイルから音声メタファイル用の「Segment」に記述されるURL等の情報を抽出し、メタファイル取得部93に供給する。また、MPD処理部121は、MPDファイルから画像用の「AdaptationSet」に記述される動画コンテンツの画像の画枠サイズ情報(以下、コンテンツ画枠サイズ情報という)を抽出し、位置決定部122に供給する。MPD処理部121は、MPDファイルから全てのオブジェクトの音声ファイル用の「Segment」に記述されるURL等の情報を抽出し、音声ファイル取得部95に供給する。
MPD処理部121は、MPDファイルから画像用の「AdaptationSet」に記述されるタイル位置情報を抽出し、画像選択部98に供給する。MPD処理部121は、MPDファイルから、画像選択部98から要求されるタイルの画像ファイル用の「Segment」に記述されるURL等の情報を抽出し、画像選択部98に供給する。
位置決定部122は、メタファイル取得部93により取得された音声メタファイルに含まれるオブジェクト位置情報と、MPD処理部121から供給されるコンテンツ画枠サイズ情報を取得する。また、位置決定部122は、ユーザにより指定される表示領域の画枠サイズ情報である表示領域画枠サイズ情報を取得する。位置決定部122は、オブジェクト位置情報、コンテンツ画枠サイズ情報、および表示領域画枠サイズ情報に基づいて、表示画像におけるオブジェクトの位置を決定(認識)する。位置決定部122は、決定されたオブジェクトの位置を音声合成処理部123に供給する。
音声合成処理部123は、位置決定部122から供給されるオブジェクトの位置に基づいて、音声復号処理部96から供給されるオブジェクト単位の音声データを合成する。具体的には、音声合成処理部123は、オブジェクトの位置と音声を出力する各スピーカの位置とに基づいて、オブジェクトごとに、各スピーカに割り当てる音声データを決定する。そして、音声合成処理部123は、スピーカごとに、各オブジェクトの音声データを合成し、各スピーカの音声データとして出力する。オブジェクトの位置に基づいて各オブジェクトの音声データを合成する方法の詳細は、例えば、Ville Pulkki,“Virtual Sound Source Positioning Using Vector Base Amplitude Panning”, Journal of AES, vol.45, no.6, pp.456−466, 1997に記載されている。
画像合成処理部124は、画像復号処理部100から供給されるタイル単位の画像データを合成する。画像合成処理部124は、変換部として機能し、合成後の画像データに対応する画像のサイズを動画コンテンツのサイズに変換して、表示画像を生成する。画像合成処理部124は、表示画像を出力する。
(オブジェクトの位置の決定方法の説明)
図24乃至図26は、図23の位置決定部122によるオブジェクトの位置の決定方法を説明する図である。
表示画像111は、動画コンテンツ内の表示領域31を抽出し、その表示領域31のサイズを動画コンテンツのサイズに変換することにより生成される。従って、表示画像111は、図24に示すように、表示領域31の中心Cを表示画像111の中心C´に移動させた後、図25に示すように、表示領域31のサイズを動画コンテンツのサイズに変換したものと等価である。
よって、まず、位置決定部122は、以下の式(1)により、表示領域31の中心0を表示画像111の中心0´に移動させるときの水平方向の移動量θshiftを算出する。
式(1)において、θv1´は、表示領域31の表示領域画枠サイズ情報のうちの左端の水平角度であり、θV2´は、右端の水平角度である。また、θv1は、コンテンツ画枠サイズ情報のうちの左端の水平角度であり、θv2は、右端の水平角度である。
次に、位置決定部122は、移動量θshiftを用いて、以下の式(2)により、表示領域31の中心0を表示画像111の中心0´に移動させた後の表示領域31の左端の水平角度θv1_shift´と右端の水平角度θv2_shift´を求める。
式(2)によれば、水平角度θv1_shift´と水平角度θv2_shift´は、−180°から180°までの範囲を超えないように求められる。
なお、上述したように、表示画像111は、表示領域31の中心0を表示画像111の中心0´に移動させた後、表示領域31のサイズを動画コンテンツのサイズに変換したものと等価である。従って、水平角度θV1およびθV2については、以下の式(3)が成立する。
位置決定部122は、以上のようにして移動量θshift、水平角度θv1_shift´、および水平角度θv2_shift´を求めた後、表示画像111におけるオブジェクトの水平角度を求める。具体的には、位置決定部122は、以下の式(4)により、移動量θshiftを用いて、表示領域31の中心Cを表示画像111の中心C´に移動させた後のオブジェクト#iの水平角度θAi_shiftを求める。
式(4)において、θAiは、オブジェクト#iのオブジェクト位置情報のうちの水平角度である。また、式(4)によれば、水平角度θAi_shiftは、−180°から180°までの範囲を超えないように求められる。
次に、オブジェクト#iが表示領域31内に存在する場合、即ちθv2_shif´<θAi_shift<θv1_shift´である場合、位置決定部122は、以下の式(5)により、表示画像111におけるオブジェクト#iの水平角度θA1´を求める。
式(5)によれば、表示領域31のサイズと表示画像111のサイズの比に応じて、表示画像111におけるオブジェクト#iの位置と表示画像111の中心C´との距離を拡大することにより、水平角度θA1´が求められる。
一方、オブジェクト#iが表示領域31内に存在しない場合、即ち、−180°≦θAi_shift≦θv2_shift´、または、θv1_shift´≦θAi_shift≦180°である場合、位置決定部122は、以下の式(6)により、表示画像111におけるオブジェクト#iの水平角度θAi´を求める。
式(6)によれば、図26に示すように、オブジェクト#iが表示領域31の右側の位置151に存在する(−180°≦θAi_shift≦θv2_shift´)場合、角度R1と角度R2の比に応じて水平角度θAi_shiftを拡大することにより、水平角度θAi´が求められる。なお、角度R1は、表示画像111の右端から視聴者153の真後ろの位置154までの角度であり、角度R2は、中心の移動後の表示領域31の右端から位置154までの角度である。
また、式(6)によれば、オブジェクト#iが表示領域31の左側の位置155に存在する(θv1_shift´≦θAi_shift≦180°)場合、角度R3と角度R4の比に応じて水平角度θAi_shiftを拡大することにより、水平角度θAi´が求められる。なお、角度R3は、表示画像111の左端から位置154までの角度であり、角度R4は、中心の移動後の表示領域31の左端から位置154までの角度である。
また、位置決定部122は、水平角度θAi´と同様に、垂直角度γAi´を求める。即ち、以下の式(7)により、表示領域31の中心Cを表示画像111の中心C´に移動させるときの垂直方向の移動量γshiftを算出する。
式(7)において、γv1´は、表示領域31の表示領域画枠サイズ情報のうちの上端の垂直角度であり、γV2´は、下端の垂直角度である。また、γv1は、コンテンツ画枠サイズ情報のうちの上端の垂直角度であり、γv2は、下端の垂直角度である。
次に、位置決定部122は、移動量γshiftを用いて、以下の式(8)により、表示領域31の中心Cを表示画像111の中心C´に移動させた後の表示領域31の上端の垂直角度γv1_shift´と下端の垂直角度γv2_shift´を求める。
式(8)によれば、垂直角度γv1_shift´と垂直角度γv2_shift´は、−90°から90°までの範囲を超えないように求められる。
位置決定部122は、以上のようにして移動量γshift、垂直角度γv1_shift´、および垂直角度γv2_shift´を求めた後、表示画像111におけるオブジェクトの位置を求める。具体的には、位置決定部122は、以下の式(9)により、移動量γshiftを用いて、表示領域31の中心Cを表示画像111の中心C´に移動させた後のオブジェクト#iの垂直角度γAi_shiftを求める。
式(9)において、γAiは、オブジェクト#iのオブジェクト位置情報のうちの垂直角度である。また、式(9)によれば、垂直角度γAi_shiftは、−90°から90°までの範囲を超えないように求められる。
次に、位置決定部122は、以下の式(10)により、表示画像111におけるオブジェクト#iの垂直角度γA1´を求める。
また、位置決定部122は、表示画像111におけるオブジェクト#iの距離rA1´を、オブジェクト#iのオブジェクト位置情報のうちの距離rA1に決定する。位置決定部122は、以上のようにして求められるオブジェクト#iの水平角度θAi´、垂直角度γA1´、および距離rA1を、オブジェクト#iの位置として、音声合成処理部123に供給する。
図27は、水平角度θAiと水平角度θAi´の関係を表す図である。
図27のグラフにおいて、横軸は、水平角度θAiを表し、縦軸は、水平角度θAi´を表す。
図27に示すように、θV2´<θAi<θV1´である場合、水平角度θAiは、移動量θshiftだけ移動され、拡大されることにより、水平角度θAi´になる。また、−180°≦θAi≦θv2´、または、θv1´≦θAi≦180°である場合、水平角度θAiは、移動量θshiftだけ移動され、縮小されることにより、水平角度θAi´になる。
(ストリーミング再生部の処理の説明)
図28は、図23のストリーミング再生部120のストリーミング再生処理を説明するフローチャートである。
図28のステップS131において、ストリーミング再生部120のMPD取得部91は、Webサーバ12からMPDファイルを取得し、MPD処理部121に供給する。
ステップS132において、MPD処理部121は、MPD取得部91から供給されるMPDファイルから、画像用の「AdaptationSet」に記述されるコンテンツ画枠サイズ情報とタイル位置情報を取得する。MPD処理部121は、画枠サイズ情報を位置決定部122に供給し、タイル位置情報を画像選択部98に供給する。また、MPD処理部121は、音声メタファイル用の「Segment」に記述されるURL等の情報を抽出し、メタファイル取得部93に供給する。
ステップS133において、メタファイル取得部93は、MPD処理部121から供給されるURL等の情報に基づいて、そのURLで特定される音声メタファイルをWebサーバ12に要求し、取得する。メタファイル取得部93は、音声メタファイルに含まれるオブジェクト位置情報を位置決定部122に供給する。
ステップS134において、位置決定部122は、オブジェクト位置情報、コンテンツ画枠サイズ情報、および表示領域画枠サイズ情報に基づいて、表示画像におけるオブジェクトの位置を決定する位置決定処理を行う。この位置決定処理の詳細は、後述する図29を参照して説明する。
ステップS135において、MPD処理部121は、MPDファイルから全てのオブジェクトの音声ファイル用の「Segment」に記述されるURL等の情報を抽出し、音声ファイル取得部95に供給する。
ステップS136において、音声ファイル取得部95は、MPD処理部121から供給されるURL等の情報に基づいて、そのURLで特定される全てのオブジェクトの音声ファイルをWebサーバ12に要求し、取得する。音声ファイル取得部95は、取得されたオブジェクト単位の音声ファイルを音声復号処理部96に供給する。
ステップS137乃至S140の処理は、図14のステップS36乃至S39の処理と同様であるので、説明は省略する。
ステップS141において、音声合成処理部123は、位置決定部122から供給されるオブジェクトの位置に基づいて、音声復号処理部96から供給されるオブジェクト単位の音声データを合成し、出力する。
ステップS142において、画像合成処理部124は、画像復号処理部100から供給されるタイル単位の画像データを合成する。
ステップS143において、画像合成処理部124は、合成後の画像データに対応する画像のサイズを動画コンテンツのサイズに変換し、表示画像を生成する。そして、画像合成処理部124は、表示画像を出力し、処理を終了する。
図29は、図28のステップS134の位置決定処理の詳細を説明するフローチャートである。この位置決定処理は、例えば、オブジェクトごとに行われる。
図29のステップS151において、位置決定部122は、表示画像における水平角度θAi´を推定する水平角度θAi´推定処理を行う。この水平角度θAi´推定処理の詳細は、後述する図30を参照して説明する。
ステップS152において、位置決定部122は、表示画像における垂直角度γAi´を推定する垂直角度γAi´推定処理を行う。この垂直角度γAi´推定処理の詳細は、水平方向が垂直方向に代わる点を除いて、ステップS151の水平角度θAi´推定処理と同様であるので、詳細な説明は省略する。
ステップS153において、位置決定部122は、表示画像における距離rAi´を、メタファイル取得部93から供給されるオブジェクト位置情報のうちの距離rAiに決定する。
ステップS154において、位置決定部122は、水平角度θAi´、垂直角度γAi´、および距離rAiを、オブジェクト#iの位置として音声合成処理部123に出力する。そして、処理は、図28のステップS134に戻り、ステップS135に進む。
図30は、図29のステップS151の水平角度θAi´推定処理の詳細を説明するフローチャートである。
図30のステップS171において、位置決定部122は、メタファイル取得部93から供給されるオブジェクト位置情報のうちの水平角度θAiを取得する。
ステップS172において、位置決定部122は、MPD処理部121から供給されるコンテンツ画枠サイズ情報と、ユーザにより指定される表示領域画枠サイズ情報を取得する。
ステップS173において、位置決定部122は、コンテンツ画枠サイズ情報と表示領域画枠サイズ情報に基づいて、上述した式(1)により、移動量θshiftを算出する。
ステップS174において、位置決定部122は、移動量θshiftと表示領域画枠サイズを用いて、上述した式(2)により、水平角度θv1_shift´およびθv2_shift´を算出する。
ステップS175において、位置決定部122は、水平角度θAiと移動量θshiftを用いて、上述した式(4)により、水平角度θAi_shiftを求める。
ステップS176において、位置決定部122は、オブジェクト#iが表示領域31内に存在する(オブジェクト#iの水平角度が表示領域31の両端の水平角度の間である)かどうか、即ちθv2_shift´<θAi_shift<θv1_shift´であるかどうかを判定する。
ステップS176でオブジェクト#iが表示領域31内に存在すると判定された場合、即ちθv2_shift´<θAi_shift<θv1_shift´である場合、処理はステップS177に進む。ステップS177において、位置決定部122は、コンテンツ画枠サイズ情報、水平角度θv1_shift´およびθv2_shift´、並びに水平角度θAi_shiftに基づいて、上述した式(5)により水平角度θA1´を算出する。
一方、ステップS176でオブジェクト#iが表示領域31内に存在しないと判定された場合、即ち、−180°≦θAi_shift≦θv2_shift´、または、θv1_shift´≦θAi_shift≦180°である場合、処理はステップS178に進む。ステップS178において、位置決定部122は、コンテンツ画枠サイズ情報、水平角度θv1_shift´またはθv2_shift´、および水平角度θAi_shiftに基づいて、上述した式(6)により水平角度θAi´を算出する。
ステップS177またはステップS178の処理後、処理は、図29のステップS151に戻り、処理はステップS152に進む。
なお、第2の例では、表示画像のサイズが動画コンテンツのサイズと同一であるようにしたが、異なっていてもよい。
また、第2の例において、全てのオブジェクトの音声データが合成されて出力されるのではなく、一部のオブジェクト(例えば、表示領域内のオブジェクト、表示領域から所定の範囲内のオブジェクト等)の音声データのみが合成されて出力されるようにしてもよい。出力する音声データのオブジェクトの選択方法は、予め決定されていてもよいし、ユーザにより指定されるようにしてもよい。
さらに、上述した説明では、音声データは、オブジェクト単位の音声データのみであったが、音声データには、チャンネルオーディオの音声データ、HOA(Higher−Order Ambisonics)オーディオの音声データ、SAOC(Spatial Audio Object Coding)の音声データ、音声データのメタデータ(scene情報、動的・静的metadata)などが含まれるようにしてもよい。この場合、例えば、サブサンプルとして、各オブジェクトの符号化データだけでなく、これらのデータの符号化データも配置される。
<第1実施の形態>
(3Dオーディオファイルフォーマットの概要)
本開示を適用した第1実施の形態を説明する前に、まず、図31を参照して、MP4の3Dオーディオファイルフォーマットのトラックの概要を説明する。
MP4ファイルでは、トラックごとに、動画コンテンツのコーデック情報やファイル内の位置を示す位置情報を管理することができる。MP4の3Dオーディオファイルフォーマットでは、3Dオーディオ(Channel audio/Object audio/HOA audio/metadata)のオーディオストリーム(ES(Elementary Stream))の全てが、サンプル(フレーム)単位で1つのトラックとして記録される。また、3Dオーディオのコーデック情報(Profile/level/audio configuration)が、サンプルエントリ(sample entry)として格納される。
3Dオーディオを構成するChannel audioは、チャンネル単位の音声データであり、Object audioは、オブジェクト単位の音声データであり、HOA audioは、球状の音声データであり、metadataは、Channel audio/Object audio/HOA audioのメタデータである。ここでは、Object audioは、オブジェクト単位の音声データであるものとするが、SAOCの音声データであってもよい。
(moovボックスの構造)
図32は、MP4ファイルのmoovボックスの構造を示す図である。
図32に示すように、MP4ファイルでは、画像データと音声データが異なるトラックとして記録される。図32では、音声データのトラックの詳細は記述していないが、画像データのトラックと同様である。sample entryは、moovボックス内のstsdボックスに配置されるsample descriptionに含まれる。
ところで、放送やローカルストレージ再生では、Webサーバ側が、すべてのオーディオストリームを送出し、動画再生端末(クライアント)側は、すべてのオーディオストリーム(stream)をパースしながら、必要な3Dオーディオのオーディオストリームを復号(decode)し、出力(rendering)する。ビットレート(Bitrate)が高い場合や、ローカルストレージの読み込みのrateに制約がある場合、必要な3Dオーディオのオーディオストリームのみを取得することにより、decode処理の負荷を軽減することが望まれている。
また、ストリーム再生では、動画再生端末(クライアント)側で、必要な3Dオーディオの符号化データだけを取得することにより、再生環境に最適な符号化速度のオーディオストリームを取得可能にすることが望まれている。
従って、本開示では、3Dオーディオの符号化データを種類に応じてトラックに分割して音声ファイルに配置することにより、所定の種類の符号化データのみを効率良く取得可能にする。これにより、放送やローカルストレージ再生では、システムの負荷を軽減することができる。また、ストリーム再生では、帯域に応じて、必要な3Dオーディオの符号化データの最も品質の高いものを再生することができる。さらに、音声ファイル内の3Dオーディオのオーディオストリームの位置情報をサブセグメントのトラック単位で記録すれば済むので、オブジェクト単位の符号化データがサブサンプルに配置される場合に比べて、位置情報の情報量を削減することができる。
(トラックの概要)
図33は、本開示を適用した第1実施の形態におけるトラックの概要を説明する図である。
図33に示すように、第1実施の形態では、3Dオーディオを構成するChannel audio/Object audio/HOA audio/metadataが、それぞれ、異なるトラック(Channel audio track/Object audio track(s)/HOA audio track/Object metadata track)のオーディオストリームとされる。object metadata trackには、オーディオメタデータのオーディオストリームが配置される。
また、3Dオーディオ全体に関する情報を配置するためのトラックとして、ベーストラック(Base Track)が設けられる。図33のベーストラックには、3Dオーディオ全体に関する情報がサンプルエントリに配置されるが、サンプルとしては何も配置されない。また、Base track,Channel audio track,Object audio track(s),HOA audio track、およびObject metadata trackは、同一の音声ファイル(3dauio.mp4)として記録される。
Track Referenceは、例えばtrackボックスに配置され、対応するトラックの他のトラックとの参照関係を表す。具体的には、Track Referenceは、参照関係にある他のトラックのトラックに固有のID(以下、トラックIDという)を表す。図33の例では、Base track,Channel audio track,HOA audio track,Object metadata track、Object audio track(s)のトラックIDが、1,2,3,4,10...となっている。また、Base trackのTrack Referenceは2,3,4,10...であり、Channel audio track/HOA audio track/Object metadata track/Object audio track(s)のTrack Referenceは、Base trackのトラックIDである1である。
従って、Base trackと、Channel audio track/HOA audio track/Object metadata track/Object audio track(s)とは、参照関係にある。即ち、Base trackは、Channel audio track/HOA audio track/Object metadata track/Object audio track(s)の再生時に参照される。
(ベーストラックのサンプルエントリのシンタクスの例)
図34は、図33のベーストラックのサンプルエントリのシンタクスの例を示す図である。
図34のconfigurationVersion,MPEGHAudioProfile、およびMPEGHAudioLevelは、3Dオーディオ全体に関する情報として、それぞれ、3Dオーディオのオーディオストリーム全体(通常の3Dオーディオのオーディオストリーム)のconfig情報、profile情報、level情報を表す。また、図34のwidthとheightは、3Dオーディオ全体に関する情報として、それぞれ、動画コンテンツの水平方向の画素数、垂直方向の画素数を表す。theta1,theta2,gamma1、およびgamma2は、3Dオーディオ全体に関する情報として、それぞれ、動画コンテンツの画枠サイズ情報のうちの画枠の左端の水平角度θv1、右端の水平角度θv2、画枠の上端の垂直角度γv1、下端の垂直角度γv2を表す。
(チャンネルオーディオトラックのサンプルエントリのシンタクスの例)
図35は、図33のチャンネルオーディオトラック(Channel audio track)のサンプルエントリのシンタクスの例を示す図である。
図35のconfigurationVersion,MPEGHAudioProfile、およびMPEGHAudioLevelは、それぞれ、Channel Audioのconfig情報、profile情報、level情報を表す。
(オブジェクトオーディオトラックのサンプルエントリのシンタクスの例)
図36は、図33のオブジェクトオーディオトラック(Object audio track)のサンプルエントリのシンタクスの例を示す図である。
図36のconfigurationVersion,MPEGHAudioProfile、およびMPEGHAudioLevelは、それぞれ、オブジェクトオーディオトラックに含まれる1以上のObject audioのconfig情報、profile情報、level情報を表す。object_is_fixedは、オブジェクトオーディオトラックに含まれる1以上のObject audioのオブジェクトが固定されているかどうかを表す。object_is_fixedが1である場合、オブジェクトが固定されていることを表し、0である場合、オブジェクトが移動することを表す。mpegh3daConfigは、オブジェクトオーディオトラックに含まれる1以上のObject audioのオブジェクトの識別情報のconfigを表す。
また、objectTheta1/objectTheta2/objectGamma1/objectGamma2/objectRengthは、オブジェクトオーディオトラックに含まれる1以上のObject audioのオブジェクト情報を表す。このオブジェクト情報は、Object_is_fixed=1の時に有効な情報である。
maxobjectTheta1,maxobjectTheta2,maxobjectGamma1,maxobjectGamma2/、およびmaxobjectRengthは、オブジェクトオーディオトラックに含まれる1以上のObject audioのオブジェクトが移動する場合のオブジェクト情報の最大値を表す。
(HOAオーディオトラックのサンプルエントリのシンタクスの例)
図37は、図33のHOAオーディオトラック(HOA audio track)のサンプルエントリのシンタクスの例を示す図である。
図37のconfigurationVersion,MPEGHAudioProfile、およびMPEGHAudioLevelは、HOA audioのconfig情報、profile情報、level情報を表す。
(オブジェクトメタデータトラックのサンプルエントリのシンタクスの例)
図38は、図33のオブジェクトメタデータトラック(Object metadata track)のサンプルエントリのシンタクスの例を示す図である。
図38のconfigurationVersionは、metadataのconfig情報を表す。
(3Dオーディオの音声ファイルのセグメント構造の第1の例)
図39は、本開示を適用した第1実施の形態における3Dオーディオの音声ファイルのセグメント構造の第1の例を示す図である。
図39のセグメント構造では、Initial segmentが、ftypボックスとmoovボックスにより構成される。moovボックスには、音声ファイルに含まれるトラックごとにtrak boxが配置される。また、moovボックスには、各トラックのトラックIDと、media segment内のssixボックスで用いられるlevelとの対応関係を表す情報などを含むmvexボックスが配置される。
また、media segmentは、sidxボックス、ssixボックス、および、1以上のsubsegmentにより構成される。sidxボックスには、各subsegmentの音声ファイル内の位置を示す位置情報が配置される。ssixボックスには、mdatボックスに配置される各レベルのオーディオストリームの位置情報が含まれる。なお、レベルは、トラックに対応するものである。また、最初のトラックの位置情報は、moofボックスと最初のトラックのオーディオストリームからなるデータの位置情報である。
subsegmentは、任意の時間長ごとに設けられ、subsegmentには、全てのトラックに共通の1組のmoofボックスとmdatボックスのペアが設けられる。mdatボックスには、全てのtrackのオーディオストリームが、任意の時間長分だけまとめて配置され、moofボックスには、そのオーディオストリームの管理情報が配置される。mdatボックスに配置される各trackのオーディオストリームは、track毎に連続している。
図39の例では、トラックIDが1であるTrack1はbase Trackであり、トラックIDが2乃至NであるTrack2乃至trackNは、それぞれ、Channel Audio Track,Object audio track(s), HOA audio track, object metadata trackである。このことは、後述する図40においても同様である。
(3Dオーディオの音声ファイルのセグメント構造の第2の例)
図40は、本開示を適用した第1実施の形態における3Dオーディオの音声ファイルのセグメント構造の第2の例を示す図である。
図40のセグメント構造は、トラックごとにmoofボックスとmdatボックスが設けられる点が、図39のセグメント構造と異なっている。
即ち、図40のInitial segmentは、図39のInitial segmentと同様である。また、図40のmedia segmentは、図39のmedia segmentと同様に、sidxボックス、ssixボックス、および、1以上のsubsegmentにより構成される。sidxボックスには、図39のsidxボックスと同様に、各subsegmentの位置情報が配置される。ssixボックスには、moofボックスとmdatボックスからなる各レベルのデータの位置情報が含まれる。
subsegmentは、任意の時間長ごとに設けられ、subsegmentには、トラックごとにmoofボックスとmdatボックスのペアが設けられる。即ち、各トラックのmdatボックスには、そのトラックのオーディオストリームが、任意の時間長分だけまとめて配置(インターリーブ格納)され、moofボックスには、そのオーディオストリームの管理情報が配置される。
図39および図40に示すように、各トラックのオーディオストリームは、任意の時間長分まとめて配置されるため、サンプル単位でまとめて配置される場合に比べて、HTTP等を介したオーディオストリームの取得効率が改善する。
(mvexボックスの記述例)
図41は、図39および図40のmvexボックスに配置されるlevel assignmentボックスの記述例を示す図である。
level assignmentボックスは、各トラックのトラックIDとssixボックスで用いられるレベル(level)を対応付けるボックスである。図41の例では、トラックIDが1であるベーストラックがレベル0に対応付けられ、トラックIDが2であるチャンネルオーディオトラックがレベル1に対応付けられている。また、トラックIDが3であるHOAオーディオトラックがレベル2に対応付けられ、トラックIDが4であるオブジェクトメタデータトラックがレベル3に対応付けられている。さらに、トラックIDが10であるオブジェクトオーディオトラックがレベル4に対応付けられている。
(MPDファイルの記述例)
図42は、本開示を適用した第1実施の形態におけるMPDファイルの記述例を示す図である。
図42に示すように、MPDファイルには、3Dオーディオの音声ファイル(3daudio.mp4)のセグメントを管理する「Representation」、そのセグメントに含まれるトラックを管理する「SubRepresentation」等が記述される。
「Representation」と「SubRepresentation」には、対応するセグメントまたはトラックのcodecの種類を、3D audio file formatで定義されるコードで表す「codecs」が含まれる。また、「Representation」には、「id」、「associationId」、および「assciationType」が含まれる。
「id」は、それを含む「Representation」のIDである。「associationId」は、対応するトラックと他のトラックとの参照関係を表す情報であり、参照トラックの「id」である。「assciationType」は、参照トラックとの参照関係(依存関係)の意味を表すコードであり、例えばMP4のtrack referenceの値と同じものが用いられる。
また、「SubRepresentation」には、対応するトラックと対応するレベルを表す値としてlevel assignmentボックスで設定されている値である「level」が含まれる。「SubRepresentation」には、参照関係を有する(依存する)他のトラック(以下、参照トラックという)に対応するレベルを表す値である「dependencyLevel」が含まれる。
さらに、「SubRepresentation」には、3Dオーディオの選択に必要な情報として、<EssentialProperty schemeIdUri=“urn:mpeg:DASH:3daudio:2014” value=“ audioType, contentkind ,priority”>が含まれる。
また、Object audio trackの「SubRepresentation」には、<EssentialProperty schemeIdUri=“urn:mpeg:DASH:viewingAngle:2014” value=“θ,γ,r”>が含まれる。このθ,γ,rは、「SubRepresentation」に対応するオブジェクトが固定されている場合、それぞれ、オブジェクト位置情報のうちの水平角度、垂直角度、距離である。一方、オブジェクトが移動する場合、このθ,γ,rは、それぞれ、オブジェクト位置情報の最大値のうちの水平角度の最大値、垂直角度の最大値、距離の最大値である。
図43は、図42のEssential Propertyの定義を示す図である。
図43の左上側は、<EssentialProperty schemeIdUri=“urn:mpeg:DASH:3daudio:2014” value=“ audioType, contentkind ,priority”>のAudioTypeの定義を示している。AudioTypeは、対応するトラックの3Dオーディオの種類を表す。
図43の例では、AudioTypeが1である場合、対応するトラックの音声データが、3DオーディオのうちのChannel audioであることを表し、AudioTypeが2である場合、対応するトラックの音声データが、HOA audioであることを表す。また、AudioTypeが3である場合、対応するトラックの音声データが、Object audioであることを表し、AudioTypeが4である場合、対応するトラックの音声データが、metadataであることを表す。
また、図43の右側は、<EssentialProperty schemeIdUri=“urn:mpeg:DASH:3daudio:2014” value=“ audioType, contentkind ,priority”>のcontentkindの定義を示している。contentkindは、対応する音声の内容を表す。図43の例では、例えば、contentkindが3である場合、対応する音声が音楽(music)である。
図43の左下に示すように、Priorityは23008−3で定義されているものであり、対応するObjectの処理優先度を表す。Priorityとしては、オーディオストリームの途中で変更されない場合にのみObjectの処理優先度を表す値が記述され、変更される場合には0が記述される。
(情報処理システムの概要)
図44は、本開示を適用した第1実施の形態における情報処理システムの概要を説明する図である。
図44に示す構成のうち、図1の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図44の情報処理システム140は、ファイル生成装置141と接続されるWebサーバ142と動画再生端末144が、インターネット13を介して接続されることにより構成される。
情報処理システム140では、MPEG−DASHに準ずる方式で、Webサーバ142が、動画コンテンツのビデオストリームをタイル単位で動画再生端末144に配信(タイルドストリーミング)する。また、情報処理システム140では、Webサーバ142が、再生対象のタイルに対応するObject audio,Channel audio、またはHOA audioのオーディオストリームを動画再生端末144に配信する。
情報処理システム140のファイル生成装置141は、音声ファイル生成部56が第1実施の形態における音声ファイルを生成し、MPD生成部57が第1実施の形態におけるMPDファイルを生成する点等を除いて、図11のファイル生成装置11と同様である。
具体的には、ファイル生成装置141は、動画コンテンツの画像データを取得し、タイル単位で符号化してビデオストリームを生成する。ファイル生成装置141は、各タイルのビデオストリームを、セグメントごとにファイル化する。ファイル生成装置141は、その結果得られる各タイルの画像ファイルをWebサーバ142にアップロードする。
また、ファイル生成装置141は、動画コンテンツの3Dオーディオを取得し、3Dオーディオの種類(Channel audio/Object audio/HOA audio/metadata)ごとに符号化してオーディオストリームを生成する。ファイル生成装置141は、オーディオストリームに対して、3Dオーディオの種類ごとにトラックを割り当てる。ファイル生成装置141は、各トラックのオーディオストリームがサブセグメント単位で配置される図39または図40のセグメント構造の音声ファイルを生成し、Webサーバ142にアップロードする。
ファイル生成装置141は、画枠サイズ情報、タイル位置情報、オブジェクト位置情報等を含むMPDファイルを生成する。ファイル生成装置141は、MPDファイルをWebサーバ142にアップロードする。
Webサーバ142は、ファイル生成装置141からアップロードされた画像ファイル、音声ファイル、およびMPDファイルを格納する。
図44の例では、Webサーバ142には、タイル#1の複数のセグメントの画像ファイルからなるセグメント群と、タイル#2の複数のセグメントの画像ファイルからなるセグメント群とが格納されている。また、Webサーバ142には、3Dオーディオの音声ファイルからなるセグメント群が格納されている。
Webサーバ142は、動画再生端末144からの要求に応じて、格納している画像ファイル、音声ファイル、MPDファイル等を動画再生端末144に送信する。
動画再生端末144は、制御用ソフトウエア161、動画再生ソフトウエア162、アクセス用ソフトウエア163などを実行する。
制御用ソフトウエア161は、Webサーバ142からストリーミングするデータを制御するソフトウエアである。具体的には、制御用ソフトウエア161は、動画再生端末144にWebサーバ142からMPDファイルを取得させる。
また、制御用ソフトウエア161は、動画再生ソフトウエア162から指示される表示領域と、MPDファイルに含まれるタイル位置情報とに基づいて、表示領域内のタイルを特定する。そして、制御用ソフトウエア161は、そのタイルの画像ファイルの送信要求をアクセス用ソフトウエア163に指令する。
制御用ソフトウエア161は、Object audioを再生対象とする場合、音声ファイル内の画枠サイズ情報の送信要求をアクセス用ソフトウエア163に指令する。また、制御用ソフトウエア161は、metadataのオーディオストリームの送信要求をアクセス用ソフトウエア163に指令する。制御用ソフトウエア161は、その指令に応じてWebサーバ142から送信されてくる画枠サイズ情報およびmetadataのオーディオストリームに含まれるオブジェクト位置情報、並びに、表示領域に基づいて、表示領域内の画像に対応するオブジェクトを特定する。そして、制御用ソフトウエア161は、そのオブジェクトのオーディオストリームの送信要求をアクセス用ソフトウエア163に指令する。
また、制御用ソフトウエア161は、Channel audioまたはHOA audioを再生対象とする場合、Channel audioまたはHOA audioのオーディオストリームの送信要求をアクセス用ソフトウエア163に指令する。
動画再生ソフトウエア162は、Webサーバ142から取得された画像ファイルと音声ファイルを再生するソフトウエアである。具体的には、動画再生ソフトウエア162は、ユーザにより表示領域が指定されると、その表示領域を制御用ソフトウエア161に指示する。また、動画再生ソフトウエア162は、その指示に応じてWebサーバ142から取得された画像ファイルと音声ファイルを復号する。動画再生ソフトウエア162は、復号の結果得られるタイル単位の画像データを合成して出力する。また、動画再生ソフトウエア162は、復号の結果得られるObject audio、Channel audio、またはHOA audioを必要に応じて合成し、出力する。
アクセス用ソフトウエア163は、HTTPを用いたインターネット13を介したWebサーバ142との通信を制御するソフトウエアである。具体的には、アクセス用ソフトウエア163は、制御用ソフトウエア161の指令に応じて、画像ファイル、音声ファイル内の画枠サイズ情報や所定のオーディオストリームの送信要求を、動画再生端末144に送信させる。また、アクセス用ソフトウエア163は、その送信要求に応じて、Webサーバ142から送信されてくる画像ファイル、音声ファイル内の画枠サイズ情報や所定のオーディオストリームを動画再生端末144に受信させる。
(ファイル生成装置の構成例)
図45は、図44のファイル生成装置141の構成例を示すブロック図である。
図45に示す構成のうち、図11の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図45のファイル生成装置141の構成は、音声符号化処理部55、音声ファイル生成部56、MPD生成部57、サーバアップロード処理部58の代わりに、音声符号化処理部171、音声ファイル生成部172、MPD生成部173、サーバアップロード処理部174が設けられる点が、図11のファイル生成装置11の構成と異なる。
具体的には、ファイル生成装置141の音声符号化処理部171は、外部から入力される動画コンテンツの3Dオーディオを種類(Channel audio/Object audio/HOA audio/metadata)ごとに符号化し、オーディオストリームを生成する。音声符号化処理部171は、3Dオーディオの種類ごとのオーディオストリームを音声ファイル生成部172に供給する。
音声ファイル生成部172は、音声符号化処理部171から供給されるオーディオストリームに対して、3Dオーディオの種類ごとにトラックを割り当てる。音声ファイル生成部172は、各トラックのオーディオストリームがサブセグメント単位で配置される図39または図40のセグメント構造の音声ファイルを生成する。このとき、音声ファイル生成部172は、外部から入力される画枠サイズ情報をサンプルエントリに格納する。音声ファイル生成部172は、生成された音声ファイルをMPD生成部173に供給する。
MPD生成部173は、画像ファイル生成部53から供給される各タイルの画像ファイルを格納するWebサーバ142のURL等を決定する。また、MPD生成部173は、音声ファイル生成部172から供給される音声ファイルを格納するWebサーバ142のURL等を決定する。
MPD生成部173は、画像情報生成部54から供給される画像情報をMPDファイルの画像用の「AdaptationSet」に配置する。また、MPD生成部173は、各タイルの画像ファイルのURL等を、そのタイルの画像ファイル用の「Representation」の「Segment」に配置する。
MPD生成部173は、音声ファイルのURL等を、その音声ファイル用の「Representation」の「Segment」に配置する。また、MPD生成部173は、外部から入力される各オブジェクトのオブジェクト位置情報等を、そのオブジェクトのObject metadata track用の「Sub Representation」に配置する。MPD生成部173は、以上のようにして各種の情報が配置されたMPDファイル、並びに、画像ファイルおよび音声ファイルをサーバアップロード処理部174に供給する。
サーバアップロード処理部174は、MPD生成部173から供給される各タイルの画像ファイル、音声ファイル、およびMPDファイルを、Webサーバ142にアップロードする。
(ファイル生成装置の処理の説明)
図46は、図45のファイル生成装置141のファイル生成処理を説明するフローチャートである。
図46のステップS191乃至S195の処理は、図12のステップS11乃至S15の処理と同様であるので、説明は省略する。
ステップS196において、音声符号化処理部171は、外部から入力される動画コンテンツの3Dオーディオを種類(Channel audio/Object audio/HOA audio/metadata)ごとに符号化し、オーディオストリームを生成する。音声符号化処理部171は、3Dオーディオの種類ごとのオーディオストリームを音声ファイル生成部172に供給する。
ステップS197において、音声ファイル生成部172は、音声符号化処理部171から供給されるオーディオストリームに対して、3Dオーディオの種類ごとにトラックを割り当てる。
ステップS198において、音声ファイル生成部172は、各トラックのオーディオストリームがサブセグメント単位で配置される図39または図40のセグメント構造の音声ファイルを生成する。このとき、音声ファイル生成部172は、外部から入力される画枠サイズ情報をサンプルエントリに格納する。音声ファイル生成部172は、生成された音声ファイルをMPD生成部173に供給する。
ステップS199において、MPD生成部173は、画像情報生成部54から供給される画像情報、各ファイルのURL、オブジェクト位置情報等を含むMPDファイルを生成する。MPD生成部173は、画像ファイル、音声ファイル、およびMPDファイルをサーバアップロード処理部174に供給する。
ステップS200において、サーバアップロード処理部174は、MPD生成部173から供給される画像ファイル、音声ファイル、およびMPDファイルを、Webサーバ142にアップロードする。そして、処理は終了する。
(動画再生端末の機能的構成例)
図47は、図44の動画再生端末144が制御用ソフトウエア161、動画再生ソフトウエア162、およびアクセス用ソフトウエア163を実行することにより実現されるストリーミング再生部の構成例を示すブロック図である。
図47に示す構成のうち、図13の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図47のストリーミング再生部190の構成は、MPD処理部92、音声選択部94、音声ファイル取得部95、音声復号処理部96、音声合成処理部97の代わりに、MPD処理部191、音声選択部193、音声ファイル取得部192、音声復号処理部194、音声合成処理部195が設けられる点、および、メタファイル取得部93が設けられない点が、図13のストリーミング再生部90の構成と異なる。
ストリーミング再生部190は、選択されたオブジェクトの再生対象の音声データを取得する方法等が異なる点等を除いて、図13のストリーミング再生部90と同様である。
具体的には、ストリーミング再生部190のMPD処理部191は、MPD取得部91から供給されるMPDファイルから音声ファイル用の「Segment」に記述される再生対象のセグメントの音声ファイルのURL等の情報を抽出し、音声ファイル取得部192に供給する。
MPD処理部191は、MPDファイルから画像用の「AdaptationSet」に記述されるタイル位置情報を抽出し、画像選択部98に供給する。MPD処理部191は、MPDファイルから、画像選択部98から要求されるタイルの画像ファイル用の「Segment」に記述されるURL等の情報を抽出し、画像選択部98に供給する。
音声ファイル取得部192は、Object audioを再生対象とする場合、MPD処理部191から供給されるURL等の情報に基づいて、そのURLで特定される音声ファイル内のBase trackのInitial SegmentをWebサーバ142に要求し、取得する。
また、音声ファイル取得部192は、音声ファイルのURL等の情報に基づいて、そのURLで特定される音声ファイル内のobject metadata trackのオーディオストリームをWebサーバ142に要求し、取得する。音声ファイル取得部192は、object metadata trackのオーディオストリームに含まれるオブジェクト位置情報、Base trackのInitial Segmentに含まれる画枠サイズ情報、および音声ファイルのURL等の情報を音声選択部193に供給する。
また、Channel audioを再生対象とする場合、音声ファイル取得部192は、音声ファイルのURL等の情報に基づいて、そのURLで特定される音声ファイル内のChannel audio trackのオーディオストリームをWebサーバ142に要求し、取得する。音声ファイル取得部192は、取得されたChannel audio trackのオーディオストリームを音声復号処理部194に供給する。
HOA audioを再生対象とする場合、音声ファイル取得部192は、Channel audioを再生対象とする場合と同様の処理を行う。その結果、HOA audio trackのオーディオストリームが音声復号処理部194に供給される。
なお、Object audio,Channel audio、およびHOA audioのいずれを再生対象とするかは、例えば、ユーザからの指令により決定される。
音声選択部193は、音声ファイル取得部192から供給される画枠サイズ情報とオブジェクト位置情報とに基づいて、各オブジェクトの画像上の位置を算出する。音声選択部193は、各オブジェクトの画像上の位置に基づいて、ユーザにより指定される表示領域内のオブジェクトを選択する。音声選択部193は、音声ファイル取得部192から供給される音声ファイルのURL等の情報に基づいて、そのURLで特定される音声ファイル内の、選択されたオブジェクトのObject audio trackのオーディオストリームをWebサーバ142に要求し、取得する。音声選択部193は、取得されたObject audio trackのオーディオストリームを音声復号処理部194に供給する。
音声復号処理部194は、音声ファイル取得部192から供給されるChannel audio trackまたはHOA audio trackのオーディオストリーム、もしくは、音声選択部193からObject audio trackのオーディオストリームを復号する。音声復号処理部194は、復号の結果得られるChannel audio,HOA audio、またはObject audioを音声合成処理部195に供給する。
音声合成処理部195は、音声復号処理部194から供給されるObject audio,Channel audio、またはHOA audioを必要に応じて合成し、出力する。
(動画再生端末の処理の説明)
図48は、図47のストリーミング再生部190のチャンネルオーディオ再生処理を説明するフローチャートである。このチャンネルオーディオ再生処理は、例えば、ユーザによりChannel audioが再生対象として選択される場合に行われる。
図48のステップS221において、MPD処理部191は、MPD取得部91から供給されるMPDファイルを解析し、「SubRepresentation」に記述されるessential property とcodecに基づいて、再生対象のセグメントのChannel audioの「SubRepresentation」を特定する。また、MPD処理部191は、MPDファイルから、再生対象のセグメントの音声ファイル用の「Segment」に記述されるURL等の情報を抽出し、音声ファイル取得部192に供給する。
ステップS222において、MPD処理部191は、ステップS221で特定された「SubRepresentation」のdependencyLevelに基づいて、参照トラックであるBase trackのレベルを特定し、音声ファイル取得部192に供給する。
ステップS223において、音声ファイル取得部192は、MPD処理部191から供給されるURL等の情報に基づいて、再生対象のセグメントのInitial SegmentをWebサーバ142に要求し、取得する。
ステップS224において、音声ファイル取得部192は、Initial Segment内のLevel assignmentボックスから、channel audio trackと参照トラックであるBase trackのレベルに対応するトラックIDを取得する。
ステップS225において、音声ファイル取得部192は、channel audio trackと参照トラックであるBase trackのトラックIDに基づいて、Initial Segmentの、そのトラックIDに対応するtrakボックス内のサンプルエントリを取得する。音声ファイル取得部192は、取得されたサンプルエントリに含まれるコーデック情報を音声復号処理部194に供給する。
ステップS226において、音声ファイル取得部192は、MPD処理部191から供給されるURL等の情報に基づいて、Webサーバ142に要求し、再生対象のセグメントの音声ファイルの先頭からsidxボックスとssixボックスを取得する。
ステップS227において、音声ファイル取得部192は、ステップS223で取得されたsidxボックスとssixボックスから、再生対象のサブセグメントのchannel audio trackと参照トラックの位置情報を取得する。なお、ここでは、参照トラックであるBase trackにはオーディオストリームが含まれないため、参照トラックの位置情報はない。
ステップS228において、音声ファイル取得部192は、channel audio trackの位置情報と再生対象のセグメントの音声ファイルのURL等の情報に基づいて、mdatボックスに配置されるchannel audio trackのオーディオストリームをWebサーバ142に要求し、取得する。音声ファイル取得部192は、取得されたchannel audio trackのオーディオストリームを音声復号処理部194に供給する。
ステップS229において、音声復号処理部194は、音声ファイル取得部192から供給されるコーデック情報に基づいて、channel audio trackのオーディオストリームに対して復号を行う。音声ファイル取得部192は、その結果得られるchannel audioを音声合成処理部195に供給する。
ステップS230において、音声合成処理部195は、channel audioを出力し、処理を終了する。
なお、図示は省略するが、ストリーミング再生部190によるHOA audioを再生するHOAオーディオ再生処理は、図48のチャンネルオーディオ再生処理と同様に行われる。
図49は、図47のストリーミング再生部190のオブジェクト特定処理を説明するフローチャートである。このオブジェクト特定処理は、例えば、ユーザによりObject audioが再生対象として選択されており、再生領域が変化したときに行われる。
図49のステップS251において、音声選択部193は、ユーザ操作などにより、ユーザにより指定された表示領域を取得する。
ステップS252において、MPD処理部191は、MPD取得部91から供給されるMPDファイルを解析し、「SubRepresentation」に記述されるessential property とcodecに基づいて、再生対象のセグメントのmetadataの「SubRepresentation」を特定する。また、MPD処理部191は、MPDファイルから音声ファイル用の「Segment」に記述される再生対象のセグメントの音声ファイルのURL等の情報を抽出し、音声ファイル取得部192に供給する。
ステップS253において、MPD処理部191は、ステップS252で特定された「SubRepresentation」のdependencyLevelに基づいて、参照トラックであるBase trackのレベルを特定し、音声ファイル取得部192に供給する。
ステップS254において、音声ファイル取得部192は、MPD処理部191から供給されるURL等の情報に基づいて、再生対象のセグメントのInitial SegmentをWebサーバ142に要求し、取得する。
ステップS255において、音声ファイル取得部192は、Initial Segment内のLevel assignmentボックスから、object metadata trackと参照トラックであるBase trackのレベルに対応するトラックIDを取得する。
ステップS256において、音声ファイル取得部192は、object metadata trackと参照トラックであるBase trackのトラックIDに基づいて、Initial Segmentの、そのトラックIDに対応するtrakボックス内のサンプルエントリを取得する。音声ファイル取得部192は、参照トラックであるBase trackのサンプルエントリに含まれる画枠サイズ情報を音声選択部193に供給する。また、音声ファイル取得部192は、Initial Segmentを音声選択部193に供給する。
ステップS257において、音声ファイル取得部192は、MPD処理部191から供給されるURL等の情報に基づいて、Webサーバ142に要求し、再生対象のセグメントの音声ファイルの先頭からsidxボックスとssixボックスを取得する。
ステップS258において、音声ファイル取得部192は、ステップS257で取得されたsidxボックスとssixボックスから、再生対象のサブセグメントのobject metadata trackと参照トラックの位置情報を取得する。なお、ここでは、参照トラックであるBase trackにはオーディオストリームが含まれないため、参照トラックの位置情報はない。音声ファイル取得部192は、sidxボックスとssixボックスを音声選択部193に供給する。
ステップS259において、音声ファイル取得部192は、object metadata trackの位置情報と再生対象のセグメントの音声ファイルのURL等の情報に基づいて、mdatボックスに配置されるobject metadata trackのオーディオストリームをWebサーバ142に要求し、取得する。
ステップS260において、音声ファイル取得部192は、ステップS256で取得されたサンプルエントリに含まれるコーデック情報に基づいて、ステップS259で取得されたobject metadata trackのオーディオストリームを復号する。音声ファイル取得部192は、復号の結果得られるmetadataに含まれるオブジェクト位置情報を音声選択部193に供給する。また、音声ファイル取得部192は、MPD処理部191から供給される音声ファイルのURL等の情報を音声選択部193に供給する。
ステップS261において、音声選択部193は、音声ファイル取得部192から供給される画枠サイズ情報およびオブジェクト位置情報、並びに、ユーザにより指定される表示領域に基づいて、表示領域内のオブジェクトを選択する。そして、処理は終了する。
図50は、図49のオブジェクト特定処理後にストリーミング再生部190により行われる特定オブジェクトオーディオ再生処理を説明するフローチャートである。
図50のステップS281において、MPD処理部191は、MPD取得部91から供給されるMPDファイルを解析し、「SubRepresentation」に記述されるessential property とcodecに基づいて、選択されたオブジェクトのobject audioの「SubRepresentation」を特定する。
ステップS282において、MPD処理部191は、ステップS281で特定された「SubRepresentation」のdependencyLevelに基づいて、参照トラックであるBase trackのレベルを特定し、音声ファイル取得部192に供給する。
ステップS283において、音声ファイル取得部192は、Initial Segment内のLevel assignmentボックスから、object audio trackと参照トラックであるBase trackのレベルに対応するトラックIDを取得し、音声選択部193に供給する。
ステップS284において、音声選択部193は、object audio trackと参照トラックであるBase trackのトラックIDに基づいて、Initial Segmentの、そのトラックIDに対応するtrakボックス内のサンプルエントリを取得する。このInitial Segmentは、図49のステップS256で音声ファイル取得部192から供給されたものである。音声選択部193は、取得されたサンプルエントリに含まれるコーデック情報を音声復号処理部194に供給する。
ステップS285において、音声選択部193は、ステップS258で音声ファイル取得部192から供給されるsidxボックスとssixボックスから、再生対象のサブセグメントの選択されたオブジェクトのobject audio trackと参照トラックの位置情報を取得する。なお、ここでは、参照トラックであるBase trackにはオーディオストリームが含まれないため、参照トラックの位置情報はない。
ステップS286において、音声選択部193は、object audio trackの位置情報と再生対象のセグメントの音声ファイルのURL等の情報に基づいて、mdatボックスに配置される、選択されたオブジェクトのobject audio trackのオーディオストリームをWebサーバ142に要求し、取得する。音声選択部193は、取得されたobject audio trackのオーディオストリームを音声復号処理部194に供給する。
ステップS287において、音声復号処理部194は、音声選択部193から供給されるコーデック情報に基づいて、object audio trackのオーディオストリームを復号する。音声選択部193は、復号の結果得られるobject audioを音声合成処理部195に供給する。
ステップS288において、音声合成処理部195は、音声復号処理部194から供給されるobject audioを合成して出力する。そして、処理は終了する。
以上のように、情報処理システム140では、ファイル生成装置141が、3Dオーディオが3Dオーディオの種類に応じて複数のトラックに分割されて配置される音声ファイルを生成する。そして、動画再生端末144は、その音声ファイルのうちの所定の種類の3Dオーディオのトラックのオーディオストリームを取得する。従って、動画再生端末144は、所定の種類の3Dオーディオのオーディオストリームを効率良く取得することができる。よって、ファイル生成装置141は、所定の種類の3Dオーディオのオーディオストリームの取得効率を向上させる音声ファイルを生成しているといえる。
<第2実施の形態>
(トラックの概要)
図51は、本開示を適用した第2実施の形態におけるトラックの概要を説明する図である。
図51に示すように、第2実施の形態では、Base trackのサンプルとして、ベースサンプルが記録される点が、第1実施の形態と異なる。ベースサンプルは、Channel audio/Object audio/HOA audio/metadataのsampleヘの参照情報により構成される。ベースサンプルに含まれる参照情報により参照されるChannel audio/Object audio/HOA audio/metadataのサンプルを、参照情報の配置順に配置することにより、トラックに分割される前の3Dオーディオのオーディオストリームを生成することができる。
(ベーストラックのサンプルエントリのシンタクスの例)
図52は、図51のベーストラックのサンプルエントリのシンタクスの例を示す図である。
図52のシンタクスは、サンプルエントリが、図33のBase trackのサンプルエントリであることを表す「mha1」の代わりに、図51のBase trackのサンプルエントリであることを表す「mha2」が記述される点を除いて、図34のシンタクスと同一である。
(ベースサンプルの構造例)
図53は、ベースサンプルの構造例を示す図である。
図53に示すように、ベースサンプルは、サンプル単位のChannel audio/Object audio/HOA audio/metadataのextractorをサブサンプルとして構成される。 Channel audio/Object audio/HOA audio/metadataのextractorは、extractorの種別、並びに、対応するChannel audio track/Object audio track(s)/HOA audio track/Object metadata trackのサブサンプルのoffsetおよびsizeにより構成される。このoffsetは、ベースサンプルのサブサンプルのファイル内の位置と、Channel audio track/Object audio track(s)/HOA audio track/Object metadata trackのサンプルのファイル内の位置の差分である。即ち、offsetは、それを含むベースサンプルのサブサンプルに対応する他のトラックのサンプルのファイル内の位置を示す情報である。
図54は、ベースサンプルのシンタクスの例を示す図である。
図54に示すように、ベースサンプルでは、Object audio trackのサンプルにおいてobject audioが格納されるSCEエレメントが、extractorを格納するEXTエレメントに入れ換えられる。
図55は、extractorのデータの例を示す図である。
図55に示すように、extractorには、extractorの種別、並びに、対応するChannel audio track/Object audio track(s)/HOA audio track/Object metadata trackのサブサンプルのoffsetおよびsizeが記述される。
なお、AVC(Advanced Video Coding)/HEVC(High Efficiency Video Coding)で定義している、NAL(Network Abstraction Layer)の構造を活用して、audio elementaryやconfig情報を格納できるように拡張してもよい。
第2実施の形態における情報処理システムおよび情報処理システムによる処理は、第1実施の形態と同様であるので、説明は省略する。
<第3実施の形態>
(トラックの概要)
図56は、本開示を適用した第3実施の形態におけるトラックの概要を説明する図である。
図56に示すように、第3実施の形態では、Base trackのサンプルとして、ベースサンプルとmetadataのサンプルが記録され、Object metadata trackが設けられない点が、第1実施の形態と異なっている。
第3実施の形態における情報処理システムおよび情報処理システムによる処理は、オブジェクト位置情報を取得するために、Object metadata trackの代わりにBase trackのオーディオストリームが取得される点を除いて、第1実施の形態と同様であるので、説明は省略する。
<第4実施の形態>
(トラックの概要)
図57は、本開示を適用した第4実施の形態におけるトラックの概要を説明する図である。
図57に示すように、第4実施の形態では、各トラックが異なるファイル(3da_base.mp4/3da_channel.mp4/3da_object_1.mp4/3da_hoa.mp4/3da_meta.mp4)として記録される点が、第1実施の形態と異なっている。この場合、所望のトラックのファイルを、HTTPを介して取得することにより、所望のトラックの音声データのみを取得することができる。従って、HTTPを介した所望のトラックの音声データの取得を効率的に行うことができる。
(MPDファイルの記述例)
図58は、本開示を適用した第4実施の形態におけるMPDファイルの記述例を示す図である。
図58に示すように、MPDファイルには、3Dオーディオの各音声ファイル(3da_base.mp4/3da_channel.mp4/3da_object_1.mp4/3da_hoa.mp4/3da_meta.mp4)のセグメントを管理する「Representation等が記述される。
「Representation」には、「codecs」、「id」、「associationId」、および「assciationType」が含まれる。また、Channel audio track/Object audio track(s)/HOA audio track/Object metadata trackの「Representation」には、「<EssentialProperty schemeIdUri=“urn:mpeg:DASH:3daudio:2014” value=“ audioType, contentkind ,priority”>」も含まれる。さらに、Object audio track(s) の「Representation」には、<EssentialProperty schemeIdUri=“urn:mpeg:DASH:viewingAngle:2014” value=“θ,γ,r”>が含まれる。
(情報処理システムの概要)
図59は、本開示を適用した第4実施の形態における情報処理システムの概要を説明する図である。
図59に示す構成のうち、図1の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図59の情報処理システム210は、ファイル生成装置211と接続されるWebサーバ212と動画再生端末214が、インターネット13を介して接続されることにより構成される。
情報処理システム210では、MPEG−DASHに準ずる方式で、Webサーバ212が、動画コンテンツのビデオストリームをタイル単位で動画再生端末214に配信(タイルドストリーミング)する。また、情報処理システム210では、Webサーバ212が、再生対象のタイルに対応するObject audio,Channel audio、またはHOA audioの音声ファイルを動画再生端末214に配信する。
具体的には、ファイル生成装置211は、動画コンテンツの画像データを取得し、タイル単位で符号化してビデオストリームを生成する。ファイル生成装置211は、各タイルのビデオストリームを、セグメントごとにファイル化する。ファイル生成装置211は、その結果得られる各タイルの画像ファイルをWebサーバ212にアップロードする。
また、ファイル生成装置211は、動画コンテンツの3Dオーディオを取得し、3Dオーディオの種類(Channel audio/Object audio/HOA audio/metadata)ごとに符号化してオーディオストリームを生成する。ファイル生成装置211は、オーディオストリームに対して、3Dオーディオの種類ごとにトラックを割り当てる。ファイル生成装置211は、トラックごとに、オーディオストリームを配置した音声ファイルを生成し、Webサーバ212にアップロードする。
ファイル生成装置211は、画枠サイズ情報、タイル位置情報、オブジェクト位置情報等を含むMPDファイルを生成する。ファイル生成装置211は、MPDファイルをWebサーバ212にアップロードする。
Webサーバ212は、ファイル生成装置211からアップロードされた画像ファイル、3Dオーディオの種類ごとの音声ファイル、およびMPDファイルを格納する。
図59の例では、Webサーバ212には、タイル#1の複数のセグメントの画像ファイルからなるセグメント群と、タイル#2の複数のセグメントの画像ファイルからなるセグメント群とが格納されている。また、Webサーバ212には、Channel audioの音声ファイルからなるセグメント群と、オブジェクト#1の音声ファイルからなるセグメント群とが格納されている。
Webサーバ212は、動画再生端末214からの要求に応じて、格納している画像ファイル、3Dオーディオの所定の種類の音声ファイル、MPDファイル等を動画再生端末214に送信する。
動画再生端末214は、制御用ソフトウエア221、動画再生ソフトウエア222、アクセス用ソフトウエア223などを実行する。
制御用ソフトウエア221は、Webサーバ212からストリーミングするデータを制御するソフトウエアである。具体的には、制御用ソフトウエア221は、動画再生端末214にWebサーバ212からMPDファイルを取得させる。
また、制御用ソフトウエア221は、動画再生ソフトウエア222から指示される表示領域と、MPDファイルに含まれるタイル位置情報とに基づいて、表示領域内のタイルを特定する。そして、制御用ソフトウエア221は、そのタイルの画像ファイルの送信要求をアクセス用ソフトウエア223に指令する。
制御用ソフトウエア221は、Object audioを再生対象とする場合、Base trackの音声ファイルの送信要求をアクセス用ソフトウエア223に指令する。また、制御用ソフトウエア221は、Object metadata trackの音声ファイルの送信要求をアクセス用ソフトウエア223に指令する。制御用ソフトウエア221は、その指令に応じてWebサーバ142から送信されてくるBase trackの音声ファイル内の画枠サイズ情報とmetadataの音声ファイルに含まれるオブジェクト位置情報を取得する。制御用ソフトウエア221は、画枠サイズ情報、オブジェクト位置情報、および表示領域に基づいて、表示領域内の画像に対応するオブジェクトを特定する。そして、制御用ソフトウエア221は、そのオブジェクトの音声ファイルの送信要求をアクセス用ソフトウエア223に指令する。
また、制御用ソフトウエア221は、Channel audioまたはHOA audioを再生対象とする場合、Channel audioまたはHOA audioの音声ファイルの送信要求をアクセス用ソフトウエア223に指令する。
動画再生ソフトウエア222は、Webサーバ212から取得された画像ファイルと音声ファイルを再生するソフトウエアである。具体的には、動画再生ソフトウエア222は、ユーザにより表示領域が指定されると、その表示領域を制御用ソフトウエア221に指示する。また、動画再生ソフトウエア222は、その指示に応じてWebサーバ212から取得された画像ファイルと音声ファイルを復号する。動画再生ソフトウエア222は、復号の結果得られるタイル単位の画像データを合成して出力する。また、動画再生ソフトウエア222は、復号の結果得られるObject audio、Channel audio、またはHOA audioを必要に応じて合成し、出力する。
アクセス用ソフトウエア223は、HTTPを用いたインターネット13を介したWebサーバ212との通信を制御するソフトウエアである。具体的には、アクセス用ソフトウエア223は、制御用ソフトウエア221の指令に応じて、画像ファイルや所定の音声ファイルの送信要求を、動画再生端末214に送信させる。また、アクセス用ソフトウエア223は、その送信要求に応じて、Webサーバ212から送信されてくる画像ファイルや所定の音声ファイルを動画再生端末214に受信させる。
(ファイル生成装置の構成例)
図60は、図59のファイル生成装置211の構成例を示すブロック図である。
図60に示す構成のうち、図45の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図60のファイル生成装置211の構成は、音声ファイル生成部172、MPD生成部173、サーバアップロード処理部174の代わりに、音声ファイル生成部241、MPD生成部242、サーバアップロード処理部243が設けられる点が、図45のファイル生成装置141の構成と異なる。
具体的には、ファイル生成装置211の音声ファイル生成部241は、音声符号化処理部171から供給されるオーディオストリームに対して、3Dオーディオの種類ごとにトラックを割り当てる。音声ファイル生成部241は、トラックごとに、オーディオストリームを配置した音声ファイルを生成する。このとき、音声ファイル生成部241は、外部から入力される画枠サイズ情報を、Base trackの音声ファイルのサンプルエントリに格納する。音声ファイル生成部241は、3Dオーディオの種類ごとの音声ファイルをMPD生成部242に供給する。
MPD生成部242は、画像ファイル生成部53から供給される各タイルの画像ファイルを格納するWebサーバ212のURL等を決定する。また、MPD生成部242は、3Dオーディオの種類ごとに、音声ファイル生成部241から供給される音声ファイルを格納するWebサーバ212のURL等を決定する。
MPD生成部242は、画像情報生成部54から供給される画像情報をMPDファイルの画像用の「AdaptationSet」に配置する。また、MPD生成部242は、各タイルの画像ファイルのURL等を、そのタイルの画像ファイル用の「Representation」の「Segment」に配置する。
MPD生成部242は、3Dオーディオの種類ごとに、音声ファイルのURL等を、その音声ファイル用の「Representation」の「Segment」に配置する。また、MPD生成部242は、外部から入力される各オブジェクトのオブジェクト位置情報等を、そのオブジェクトのObject metadata track用の「Representation」に配置する。MPD生成部242は、以上のようにして各種の情報が配置されたMPDファイル、並びに、画像ファイルおよび3Dオーディオの種類ごとの音声ファイルを、サーバアップロード処理部243に供給する。
サーバアップロード処理部243は、MPD生成部242から供給される各タイルの画像ファイル、3Dオーディオの種類ごとの音声ファイル、およびMPDファイルを、Webサーバ212にアップロードする。
(ファイル生成装置の処理の説明)
図61は、図60のファイル生成装置211のファイル生成処理を説明するフローチャートである。
図61のステップS301乃至S307の処理は、図46のステップS191乃至S197の処理と同様であるので、説明は省略する。
ステップS308において、音声ファイル生成部241は、トラックごとに、オーディオストリームが配置された音声ファイルを生成する。このとき、音声ファイル生成部241は、外部から入力される画枠サイズ情報をBase trackの音声ファイル内のサンプルエントリに格納する。音声ファイル生成部241は、生成された3Dオーディオの種類ごとの音声ファイルをMPD生成部242に供給する。
ステップS309において、MPD生成部242は、画像情報生成部54から供給される画像情報、各ファイルのURL、オブジェクト位置情報等を含むMPDファイルを生成する。MPD生成部242は、画像ファイル、3Dオーディオの種類ごとの音声ファイル、およびMPDファイルをサーバアップロード処理部243に供給する。
ステップS310において、サーバアップロード処理部243は、MPD生成部242から供給される画像ファイル、3Dオーディオの種類ごとの音声ファイル、およびMPDファイルを、Webサーバ212にアップロードする。そして、処理は終了する。
(動画再生端末の機能的構成例)
図62は、図59の動画再生端末214が制御用ソフトウエア221、動画再生ソフトウエア222、およびアクセス用ソフトウエア223を実行することにより実現されるストリーミング再生部の構成例を示すブロック図である。
図62に示す構成のうち、図13や図47の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図62のストリーミング再生部260の構成は、MPD処理部92、メタファイル取得部93、音声選択部94、音声ファイル取得部95、音声復号処理部96、音声合成処理部97の代わりに、MPD処理部261、メタファイル取得部262、音声選択部263、音声ファイル取得部264、音声復号処理部194、音声合成処理部195が設けられる点が、図13のストリーミング再生部90の構成と異なる。
具体的には、ストリーミング再生部260のMPD処理部261は、Object audioを再生対象とする場合、MPD取得部91から供給されるMPDファイルから、再生対象のセグメントのobject metadata trackの音声ファイルの「Segment」に記述されるURL等の情報を抽出し、メタファイル取得部262に供給する。また、MPD処理部261は、MPDファイルから、音声選択部263から要求されるオブジェクトのobject audio trackの音声ファイルの「Segment」に記述されるURL等の情報を抽出し、音声選択部263に供給する。さらに、MPD処理部261は、MPDファイルから、再生対象のセグメントのBase trackの音声ファイルの「Segment」に記述されるURL等の情報を抽出し、メタファイル取得部262に供給する。
また、MPD処理部261は、Channel audioまたはHOA audioを再生対象とする場合、MPDファイルから、再生対象のセグメントのChannel audio trackまたはHOA audio trackの音声ファイルの「Segment」に記述されるURL等の情報を抽出する。MPD処理部261は、そのURL等の情報を、音声選択部263を介して音声ファイル取得部264に供給する。
なお、Object audio,Channel audio、およびHOA audioのいずれを再生対象とするかは、例えば、ユーザからの指令により決定される。
MPD処理部261は、MPDファイルから画像用の「AdaptationSet」に記述されるタイル位置情報を抽出し、画像選択部98に供給する。MPD処理部261は、MPDファイルから、画像選択部98から要求されるタイルの画像ファイル用の「Segment」に記述されるURL等の情報を抽出し、画像選択部98に供給する。
メタファイル取得部262は、MPD処理部261から供給されるURL等の情報に基づいて、そのURLで特定されるobject metadata trackの音声ファイルをWebサーバ212に要求し、取得する。メタファイル取得部93は、object metadata trackの音声ファイルに含まれるオブジェクト位置情報を音声選択部263に供給する。
また、メタファイル取得部262は、音声ファイルのURL等の情報に基づいて、そのURLで特定されるBase trackの音声ファイルのInitial SegmentをWebサーバ142に要求し、取得する。メタファイル取得部262は、Initial Segmentのサンプルエントリに含まれる画枠サイズ情報を音声選択部263に供給する。
音声選択部263は、メタファイル取得部262から供給される画枠サイズ情報とオブジェクト位置情報とに基づいて、各オブジェクトの画像上の位置を算出する。音声選択部263は、各オブジェクトの画像上の位置に基づいて、ユーザにより指定される表示領域内のオブジェクトを選択する。音声選択部263は、選択されたオブジェクトのobject audio trackの音声ファイルのURL等の情報をMPD処理部261に要求する。音声選択部263は、その要求に応じてMPD処理部261から供給されるURL等の情報を音声ファイル取得部264に供給する。
音声ファイル取得部264は、音声選択部263から供給される、object audio track,Channel audio track、またはHOA audio trackの音声ファイルのURL等の情報に基づいて、そのURLで特定される音声ファイルのオーディオストリームをWebサーバ12に要求し、取得する。音声ファイル取得部95は、取得されたオブジェクト単位の音声ファイルを音声復号処理部194に供給する。
(動画再生端末の処理の説明)
図63は、図62のストリーミング再生部260のチャンネルオーディオ再生処理を説明するフローチャートである。このチャンネルオーディオ再生処理は、例えば、ユーザによりChannel audioが再生対象として選択される場合に行われる。
図63のステップS331において、MPD処理部261は、MPD取得部91から供給されるMPDファイルを解析し、「Representation」に記述されるessential property とcodecに基づいて、再生対象のセグメントのChannel audioの「Representation」を特定する。また、MPD処理部261は、その「Representation」に含まれる「Segment」に記述される再生対象のセグメントのChannel audio trackの音声ファイルのURL等の情報を抽出し、音声選択部263を介して音声ファイル取得部264に供給する。
ステップS332において、MPD処理部261は、ステップS331で特定された「Representation」のassociationIdに基づいて、参照トラックであるBase trackの「Representation」を特定する。MPD処理部261は、その「Representation」に含まれる「Segment」に記述される参照トラックの音声ファイルのURL等の情報を抽出し、音声選択部263を介して音声ファイル取得部264に供給する。
ステップS333において、音声ファイル取得部264は、音声選択部263から供給されるURL等の情報に基づいて、再生対象のセグメントのChannel audio trackおよび参照トラックの音声ファイルのInitial SegmentをWebサーバ212に要求し、取得する。
ステップS334において、音声ファイル取得部264は、取得されたInitial Segmentのtrakボックス内のサンプルエントリを取得する。音声ファイル取得部264は、取得されたサンプルエントリに含まれるコーデック情報を音声復号処理部194に供給する。
ステップS335において、音声ファイル取得部264は、音声選択部263から供給されるURL等の情報に基づいて、Webサーバ142に要求し、再生対象のセグメントのChannel audio trackの音声ファイルの先頭からsidxボックスとssixボックスを取得する。
ステップS336において、音声ファイル取得部264は、ステップS333で取得されたsidxボックスとssixボックスから、再生対象のサブセグメントの位置情報を取得する。
ステップS337において、音声選択部263は、ステップS337で取得された位置情報と再生対象のセグメントのchannel audio trackの音声ファイルのURL等の情報に基づいて、その音声ファイル内のmdatボックスに配置されるchannel audio trackのオーディオストリームをWebサーバ142に要求し、取得する。音声選択部263は、取得されたchannel audio trackのオーディオストリームを音声復号処理部194に供給する。
ステップS338において、音声復号処理部194は、音声ファイル取得部264から供給されるコーデック情報に基づいて、音声選択部263から供給されるchannel audio trackのオーディオストリームに対して復号を行う。音声選択部263は、その結果得られるchannel audioを音声合成処理部195に供給する。
ステップS339において、音声合成処理部195は、channel audioを出力し、処理を終了する。
なお、図示は省略するが、ストリーミング再生部260によるHOA audioを再生するHOAオーディオ再生処理は、図63のチャンネルオーディオ再生処理と同様に行われる。
図64は、図62のストリーミング再生部260のオブジェクトオーディオ再生処理のを説明するフローチャートである。このオブジェクトオーディオ再生処理は、例えば、ユーザによりObject audioが再生対象として選択されており、再生領域が変化したときに行われる。
図64のステップS351において、音声選択部263は、ユーザ操作などにより、ユーザにより指定された表示領域を取得する。
ステップS352において、MPD処理部261は、MPD取得部91から供給されるMPDファイルを解析し、「Representation」に記述されるessential property とcodecに基づいて、再生対象のセグメントのmetadataの「Representation」を特定する。また、MPD処理部261は、その「Representation」に含まれる「Segment」に記述される再生対象のセグメントのobject metadata trackの音声ファイルのURL等の情報を抽出し、メタファイル取得部262に供給する。
ステップS353において、MPD処理部261は、ステップS352で特定された「Representation」のassociationIdに基づいて、参照トラックであるBase trackの「Representation」を特定する。MPD処理部261は、その「Representation」に含まれる「Segment」に記述される参照トラックの音声ファイルのURL等の情報を抽出し、メタファイル取得部262に供給する。
ステップS354において、メタファイル取得部262は、MPD処理部261から供給されるURL等の情報に基づいて、再生対象のセグメントのobject metadata trackおよび参照トラックの音声ファイルのInitial SegmentをWebサーバ212に要求し、取得する。
ステップS355において、メタファイル取得部262は、取得されたInitial Segmentのtrakボックス内のサンプルエントリを取得する。メタファイル取得部262は、参照トラックであるBase trackのサンプルエントリに含まれる画枠サイズ情報を音声ファイル取得部264に供給する。
ステップS356において、メタファイル取得部262は、MPD処理部261から供給されるURL等の情報に基づいて、Webサーバ142に要求し、再生対象のセグメントのobject metadata trackの音声ファイルの先頭からsidxボックスとssixボックスを取得する。
ステップS357において、メタファイル取得部262は、ステップS356で取得されたsidxボックスとssixボックスから、再生対象のサブセグメントの位置情報を取得する。
ステップS358において、メタファイル取得部262は、ステップS357で取得された位置情報と再生対象のセグメントのobject metadata trackの音声ファイルのURL等の情報に基づいて、その音声ファイル内のmdatボックスに配置されるobject metadata trackのオーディオストリームをWebサーバ142に要求し、取得する。
ステップS359において、メタファイル取得部262は、ステップS355で取得されたサンプルエントリに含まれるコーデック情報に基づいて、ステップS358で取得されたobject metadata trackのオーディオストリームを復号する。メタファイル取得部262は、復号の結果得られるmetadataに含まれるオブジェクト位置情報を音声選択部263に供給する。
ステップS360において、音声選択部263は、メタファイル取得部262から供給される画枠サイズ情報およびオブジェクト位置情報、並びに、ユーザにより指定される表示領域に基づいて、表示領域内のオブジェクトを選択する。音声選択部263は、選択されたオブジェクトのobject audio trackの音声ファイルのURL等の情報をMPD処理部261に要求する。
ステップS361において、MPD処理部261は、MPD取得部91から供給されるMPDファイルを解析し、「Representation」に記述されるessential property とcodecに基づいて、選択されたオブジェクトのobject audioの「Representation」を特定する。また、MPD処理部261は、その「Representation」に含まれる「Segment」に記述される、再生対象のセグメントの選択されたオブジェクトのobject audio trackの音声ファイルのURL等の情報を抽出し、音声選択部263を介して音声ファイル取得部264に供給する。
ステップS362において、MPD処理部261は、ステップS361で特定された「Representation」のassociationIdに基づいて、参照トラックであるBase trackの「Representation」を特定する。MPD処理部261は、その「Representation」に含まれる「Segment」に記述される参照トラックの音声ファイルのURL等の情報を抽出し、音声選択部263を介して音声ファイル取得部264に供給する。
ステップS363において、音声ファイル取得部264は、音声選択部263から供給されるURL等の情報に基づいて、再生対象のセグメントのobject audio trackおよび参照トラックの音声ファイルのInitial SegmentをWebサーバ212に要求し、取得する。
ステップS364において、音声ファイル取得部264は、取得されたInitial Segmentのtrakボックス内のサンプルエントリを取得する。音声ファイル取得部264は、そのサンプルエントリに含まれるコーデック情報を音声復号処理部194に供給する。
ステップS365において、音声ファイル取得部264は、音声選択部263から供給されるURL等の情報に基づいて、Webサーバ142に要求し、再生対象のセグメントのobject audio trackの音声ファイルの先頭からsidxボックスとssixボックスを取得する。
ステップS366において、音声ファイル取得部264は、ステップS365で取得されたsidxボックスとssixボックスから、再生対象のサブセグメントの位置情報を取得する。
ステップS367において、音声ファイル取得部264は、ステップS366で取得された位置情報と再生対象のセグメントのobject audio trackの音声ファイルのURL等の情報に基づいて、その音声ファイル内のmdatボックスに配置されるobject audio trackのオーディオストリームをWebサーバ142に要求し、取得する。音声ファイル取得部264は、取得されたobject audio trackのオーディオストリームを音声復号処理部194に供給する。
ステップS368およびS369の処理は、図50のステップS287およびS288の処理と同様であるので、説明は省略する。
なお、上述した説明では、音声選択部263は、表示領域内の全てのオブジェクトを選択したが、表示領域内のオブジェクトのうちの処理優先度が高いもののみを選択したり、所定の内容の音声のオブジェクトのみを選択するようにしてもよい。
図65は、音声選択部263が表示領域内のオブジェクトのうちの処理優先度が高いもののみを選択する場合のオブジェクトオーディオ再生処理を説明するフローチャートである。
図65のオブジェクトオーディオ再生処理は、図64のステップS360の代わりに図65のステップS390の処理が行われる点を除いて、図64のオブジェクトオーディオ再生処理と同様である。即ち、図65のステップS381乃至S389およびS391乃至S399の処理は、図64のステップS351乃至S359およびS361乃至S369の処理と同様である。従って、以下では、ステップS390の処理についてのみ説明する。
図65のステップS390において、音声ファイル取得部264は、画枠サイズ情報、オブジェクト位置情報、表示領域、および、各オブジェクトのpriorityに基づいて、表示領域内の処理優先度が高いオブジェクトを選択する。具体的には、音声ファイル取得部264は、画枠サイズ情報、オブジェクト位置情報、および表示領域に基づいて、表示領域内のオブジェクトを特定する。そして、音声ファイル取得部264は、特性されたオブジェクトのうちの、priorityが所定値以上であるオブジェクトを選択する。なお、priorityは、例えば、MPD処理部261がMPDファイルを解析することにより、特定されたオブジェクトのobject audioの「Representation」から取得される。音声選択部263は、選択されたオブジェクトのobject audio trackの音声ファイルのURL等の情報をMPD処理部261に要求する。
図66は、音声選択部263が表示領域内のオブジェクトのうちの、処理優先度が高い所定の内容の音声のオブジェクトのみを選択する場合のオブジェクトオーディオ再生処理を説明するフローチャートである。
図66のオブジェクトオーディオ再生処理は、図64のステップS360の代わりに図66のステップS420の処理が行われる点を除いて、図64のオブジェクトオーディオ再生処理と同様である。即ち、図66のステップS381乃至S389およびS391乃至S399の処理は、図64のステップS411乃至S419およびS421乃至S429の処理と同様である。従って、以下では、ステップS420の処理についてのみ説明する。
図66のステップS420において、音声ファイル取得部264は、画枠サイズ情報、オブジェクト位置情報、表示領域、並びに、各オブジェクトのpriorityおよびcontentkindに基づいて、表示領域内の処理優先度が高い所定の内容の音声のオブジェクトを選択する。具体的には、音声ファイル取得部264は、画枠サイズ情報、オブジェクト位置情報、および表示領域に基づいて、表示領域内のオブジェクトを特定する。そして、音声ファイル取得部264は、特性されたオブジェクトのうちの、priorityが所定値以上であり、かつ、contentkindが所定値であるオブジェクトを選択する。
なお、priorityおよびcontentkindは、例えば、MPD処理部261がMPDファイルを解析することにより、特定されたオブジェクトのobject audioの「Representation」から取得される。音声選択部263は、選択されたオブジェクトのobject audio trackの音声ファイルのURL等の情報をMPD処理部261に要求する。
図67は、priority(プライオリティ)に基づいて選択されたオブジェクトの例を示す図である。
図67の例では、オブジェクト#1(object1)乃至オブジェクト#4(object4)が、表示領域内のオブジェクトであり、表示領域内のオブジェクトのうちのpriorityが2以下であるオブジェクトが選択される。なお、priorityは、数字が小さいほど、処理優先度が高いものとする。また、図67において、丸付き数字は、対応するオブジェクトのpriorityの値を表している。
図67の例では、オブジェクト#1乃至オブジェクト#4のpriorityが、それぞれ、1,2,3,4である場合、オブジェクト#1とオブジェクト#2が選択される。また、オブジェクト#1乃至オブジェクト#4のpriorityが、それぞれ、3,2,1,4に変更されると、オブジェクト#2とオブジェクト#3が選択される。さらに、オブジェクト#1乃至オブジェクト#4のpriorityが、それぞれ、3,4,1,2に変更されると、オブジェクト#3とオブジェクト#4が選択される。
以上のように、表示領域内のオブジェクトのうちの、処理優先度の高いオブジェクトのobject audioのオーディオストリームのみを選択的に取得することで、Webサーバ142(212)と動画再生端末144(214)間の帯域を効率的に利用できる。contentkindに基づいてオブジェクトを選択する場合も同様である。
<第5実施の形態>
(トラックの概要)
図68は、本開示を適用した第5実施の形態におけるトラックの概要を説明する図である。
図68に示すように、第5実施の形態では、各トラックが異なるファイル(3da_base.mp4/3da_channel.mp4/3da_object_1.mp4/3da_hoa.mp4/3da_meta.mp4)として記録される点が、第2実施の形態と異なっている。
第5実施の形態における情報処理システムおよび情報処理システムによる処理は、第4実施の形態と同様であるので、説明は省略する。
<第6実施の形態>
(トラックの概要)
図69は、本開示を適用した第6実施の形態におけるトラックの概要を説明する図である。
図69に示すように、第6実施の形態では、各トラックが異なるファイル(3da_basemeta.mp4/3da_channel.mp4/3da_object_1.mp4/3da_hoa.mp4)として記録される点が、第3実施の形態と異なっている。
第6実施の形態における情報処理システムおよび情報処理システムによる処理は、オブジェクト位置情報を取得するために、Object metadata trackの代わりにBase trackのオーディオストリームが取得される点を除いて、第4実施の形態と同様であるので、説明は省略する。
なお、第1乃至第3実施の形態、第5実施の形態、および第6実施の形態においても、priorityやcontentkindに基づいて表示領域内のオブジェクトを選択することは可能である。
また、第1乃至第6実施の形態において、ストリーミング再生部は、図23のストリーミング再生部120のように、表示領域外のオブジェクトのオーディオストリームも取得し、そのオブジェクトのobject audioも合成して出力するようにしてもよい。
さらに、第1乃至第6実施の形態では、metadataからオブジェクト位置情報を取得したが、MPDファイルからオブジェクト位置情報を取得するようにしてもよい。
<3Dオーディオの階層構造の説明>
図70は、3Dオーディオの階層構造を示す図である。
図70に示すように、3Dオーディオの音声データは、音声データごとに異なるオーディオエレメント(Element)とされる。オーディオエレメントのタイプとしては、SCE(Single Channel Element)とCPE(Channel Pair Element)がある。1チャンネル分の音声データのオーディオエレメントのタイプはSCEであり、2チャンネル分の音声データに対応するオーディオエレメントのタイプはCPEである。
オーディオエレメントは、同一の音声の種類(Channel/Object/SAOC Objects/HOA)どうしでグループを形成する。グループタイプ(GroupType)としては、Channels,Objects,SAOC Objects,HOAなどがある。2以上のグループは、必要に応じて、switch Groupやgroup Presetを形成することができる。
switch Groupは、排他的に再生されるグループを定義するものである。即ち、図70に示すように、英語(EN)用のObject audioのグループと、フランス語(FR)用のObject audioのグループが存在する場合、いずれか一方のグループのみが再生されるべきである。従って、グループIDが2である英語用のObject audioのグループと、グループIDが3であるフランス語用のObject audioのグループとから、switch Groupが形成される。これにより、英語用のObject audioとフランス語用のObject audioが排他的に再生される。
一方、group Presetは、コンテンツ製作者が意図するグループの組み合わせを定義するものである。
また、3Dオーディオのメタデータは、メタデータごとに異なるExtエレメント(Ext Element)とされる。Extエレメントのタイプとしては、Object Metadata,SAOC 3D Metadata,HOA Metadata,DRC Metadata,SpatialFrame,SaocFrameなどがある。Object MetadataのExtエレメントは、全てのObject audioのメタデータであり、SAOC 3D MetadaのExtエレメントは、全てのSAOC audioのメタデータである。また、HOA MetadataのExtエレメントは、全てのHOA audioのメタデータであり、DRC(Dinamic Range Control) MetadataのExtエレメントは、Object audio, SAOC audio、およびHOA audioの全てのメタデータである。
以上のように、3Dオーディオのうちの音声データの分割単位としては、オーディオエレメント、グループタイプ、グループ、switch Group、およびgroup Presetがある。従って、音声データは、第1乃至第6実施の形態のようにグループタイプ(但し、object audioについてはオブジェクトごと)ごとにトラックに分割されるのではなく、オーディオエレメント、グループ、switch Group、またはgroup Presetごとに分割されるようにしてもよい。
また、3Dオーディオのうちのメタデータの分割単位としては、Extエレメントのタイプ(ExtElementType)、または、そのメタデータに対応するオーディオエレメントがある。従って、メタデータは、第1乃至第6実施の形態のようにExtエレメントのタイプごとに分割されるのではなく、そのメタデータに対応するオーディオエレメントごとに分割されるようにしてもよい。
なお、以下の説明では、音声データがオーディオエレメントごとに分割されるとともに、メタデータがExtエレメントのタイプごとに分割され、それぞれが異なるトラックのデータとして配置されるものとするが、他の単位で分割される場合も同様である。
<Webサーバの処理の第1の例の説明>
図71は、Webサーバ142(212)の処理の第1の例を説明する図である。
図71の例では、ファイル生成装置141(211)からアップロードされる音声ファイルに対応する3Dオーディオが、5つのチャンネルのchannel audio、3つのオブジェクトのobject audio、および、そのobject audioのメタデータ(Object Metadata)からなる。
そして、5つのチャンネルのchannel audioが、前方中央(FC)のチャンネルのchannel audio、前方左右(FL,FR)のチャンネルのchannel audio、および後方左右(RL,RR)のチャンネルのchannel audioに分割され、それぞれ異なるトラックのデータとして配置されている。また、各オブジェクトのobject audioが、それぞれ異なるトラックのデータとして配置されている。さらに、Object Metadataが、1つのトラックのデータとして配置されている。
また、図71に示すように、3Dオーディオの各オーディオストリームは、config情報とフレーム(サンプル)単位のデータからなる。そして、図71の例では、音声ファイルのオーディオストリームは、5つのチャンネルのchannel audio、3つのオブジェクトのobject audio、およびObject Metadataのconfig情報がまとめて配置されるとともに、各フレームのデータがまとめて配置される。
この場合、図71に示すように、Webサーバ142(212)は、ファイル生成装置141(211)からアップロードされた音声ファイルのオーディオストリームを、トラックごとに分割し、7つのトラックのオーディオストリームを生成する。具体的には、Webサーバ142(212)は、ssix boxなどの情報にしたがって、音声ファイルのオーディオストリームから、各トラックのconfig情報と音声データを抽出し、各トラックのオーディオストリームを生成する。各トラックのオーディオストリームは、そのトラックのconfig情報と各フレームの音声データからなる。
図72は、Webサーバ142(212)のトラック分割処理を説明するフローチャートである。このトラック分割処理は、例えば、ファイル生成装置141(211)から音声ファイルがアップロードされたとき、開始される。
図72のステップS441において、Webサーバ142(212)は、ファイル生成装置141からアップロードされた音声ファイルを格納する。
ステップS442において、Webサーバ142(212)は、音声ファイルのssix boxなどの情報にしたがって、音声ファイルを構成するオーディオストリームをトラックごとに分割する。
ステップS443において、Webサーバ142(212)は、各トラックのオーディオストリームを保持し、処理を終了する。このオーディオストリームは、動画再生端末144(214)の音声ファイル取得部192(264)から要求されたとき、Webサーバ142(212)から動画再生端末144(214)に送信される。
<音声復号処理部の処理の第1の例の説明>
図73は、Webサーバ142(212)の処理が図71および図72で説明した処理である場合の音声復号処理部194の処理の第1の例を説明する図である。
図73の例では、Webサーバ142(212)は、図71に示した各トラックのオーディオストリームを保持している。また、再生対象のトラックが、前方左右のチャンネルのchannel audio、後方左右のチャンネルのchannel audio、1つ目のオブジェクトのobject audio、およびObject Metadataのトラックである。これらのことは、後述する図75においても同様である。
この場合、音声ファイル取得部192(264)は、前方左右のチャンネルのchannel audio、後方左右のチャンネルのchannel audio、1つ目のオブジェクトのobject audio、およびObject Metadataのトラックのオーディオストリームを取得する。
音声復号処理部194は、まず、音声ファイル取得部192(264)により取得されたObject Metadataのトラックのオーディオストリームから、1つ目のオブジェクトのobject audioのメタデータのオーディオストリームを抽出する。
次に、図73に示すように、音声復号処理部194は、再生対象の音声のトラックのオーディオストリームと抽出されたメタデータのオーディオストリームとを合成する。具体的には、音声復号処理部194は、全てのオーディオストリームに含まれているConfig情報がまとめて配置されるとともに、各フレームのデータがまとめて配置されたオーディオストリームを生成する。そして、音声復号処理部194は、生成されたオーディオストリームを復号する。
以上のように、再生対象のオーディオストリームが、1つのchannel audioのトラックのオーディオストリームのみではない場合、2以上のトラックのオーディオストリームが再生対象となるため、復号前にオーディオストリームが合成される。
一方、再生対象のオーディオストリームが、1つのchannel audioのトラックのオーディオストリームのみである場合、オーディオストリームを合成する必要はない。従って、音声復号処理部194は、音声ファイル取得部192(264)により取得されたオーディオストリームをそのまま復号する。
図74は、Webサーバ142(212)の処理が図71および図72で説明した処理である場合の音声復号処理部194の復号処理の第1の例の詳細を説明するフローチャートである。この復号処理は、再生対象のトラックが1つのchannel audioのトラックのみではない場合に行われる図48のステップS229および図50のS287の処理の少なくとも一方の処理である。
図74のステップS461において、音声復号処理部194は、生成するオーディオストリームに含まれるエレメントの数を表す全エレメント数に0を設定する。ステップS462において、音声復号処理部194は、生成するオーディオストリームに含まれるエレメントのタイプを表す全エレメント種別情報を初期化(クリア)する。
ステップS463において、音声復号処理部194は、再生対象のトラックのうちのまだ処理対象のトラックとされていないトラックを、処理対象のトラックとする。ステップS464において、音声復号処理部194は、処理対象のトラックのオーディオストリーム等から、処理対象のトラックに含まれるエレメントの数とタイプを取得する。
ステップS465において、音声復号処理部194は、取得されたエレメントの数を全エレメント数に加算する。ステップS466において、音声復号処理部194は、取得されたエレメントのタイプを、全エレメント種別情報に追加する。
ステップS467において、音声復号処理部194は、再生対象の全てのトラックを処理対象のトラックとしたかどうかを判定する。ステップS467でまだ再生対象の全てのトラックを処理対象のトラックとしていないと判定された場合、処理はステップS463に戻り、再生対象の全てのトラックを処理対象のトラックとするまで、ステップS463乃至S467の処理が繰り返される。
一方、ステップS467で再生対象の全てのトラックを処理対象のトラックとしたと判定された場合、処理はステップS468に進む。ステップS468において、音声復号処理部194は、全エレメント数と全エレメント種別情報を、生成するオーディオストリーム上の所定の位置に配置する。
ステップS469において、音声復号処理部194は、再生対象のトラックのうちのまだ処理対象のトラックとされていないトラックを、処理対象のトラックとする。ステップS470において、音声復号処理部194は、処理対象のトラックに含まれるエレメントのうちのまだ処理対象のエレメントとされていないエレメントを、処理対象のエレメントとする。
ステップS471において、音声復号処理部194は、処理対象のトラックのオーディオストリームから処理対象のエレメントのConfig情報を取得し、生成するオーディオストリーム上に配置する。このとき、再生対象の全てのトラックの全てのエレメントのConfig情報は連続するように配置される。
ステップS472において、音声復号処理部194は、処理対象のトラックに含まれる全てのエレメントを処理対象のエレメントとしたかどうかを判定する。ステップS472でまだ全てのエレメントを処理対象のエレメントとしていないと判定された場合、処理はステップS470に戻り、全てのエレメントを処理対象のエレメントとするまで、ステップS470乃至S472の処理が繰り返される。
一方、ステップS472で全てのエレメントを処理対象のエレメントとしたと判定された場合、処理はステップS473に進む。ステップS473において、音声復号処理部194は、再生対象の全てのトラックを処理対象のトラックとしたかどうかを判定する。ステップS473でまだ再生対象の全てのトラックを処理対象のトラックとしていないと判定された場合、処理はステップS469に戻り、再生対象の全てのトラックを処理対象のトラックとするまで、ステップS469乃至S473の処理が繰り返される。
一方、ステップS473で再生対象の全てのトラックを処理対象のトラックとしたと判定された場合、処理はステップS474に進む。ステップS474において、音声復号処理部194は、処理対象のフレームを決定する。最初のステップS474の処理では、先頭のフレームが処理対象のフレームに決定され、2回目以降のステップS474の処理では、現在の処理対象のフレームの次のフレームが、新たな処理対象のフレームに決定される。
ステップS475において、音声復号処理部194は、再生対象のトラックのうちのまだ処理対象のトラックとされていないトラックを、処理対象のトラックとする。ステップS476において、音声復号処理部194は、処理対象のトラックに含まれるエレメントのうちのまだ処理対象のエレメントとされていないエレメントを、処理対象のエレメントとする。
ステップS477において、音声復号処理部194は、処理対象のエレメントがEXTエレメントであるかどうかを判定する。ステップS477で処理対象のエレメントがEXTエレメントではないと判定された場合、処理はステップS478に進む。
ステップS478において、音声復号処理部194は、処理対象のトラックのオーディオストリームから、処理対象のエレメントの処理対象のフレームの音声データを取得し、生成するオーディオストリーム上に配置する。このとき、再生対象の全てのトラックの全てのエレメントの同一のフレームのデータは連続するように配置される。ステップS478の処理後、処理はステップS481に進む。
一方、ステップS477で処理対象のエレメントがEXTエレメントであると判定された場合、処理はステップS479に進む。ステップS479において、音声復号処理部194は、処理対象のトラックのオーディオストリームから、処理対象のエレメントの処理対象のフレームの全てのオブジェクトのメタデータを取得する。
ステップS480において、音声復号処理部194は、取得された全てのオブジェクトのメタデータのうちの再生対象のオブジェクトのメタデータを、生成するオーディオストリーム上に配置する。このとき、再生対象の全てのトラックの全てのエレメントの同一のフレームのデータは連続するように配置される。ステップS480の処理後、処理はステップS481に進む。
ステップS481において、音声復号処理部194は、処理対象のトラックに含まれる全てのエレメントを処理対象のエレメントとしたかどうかを判定する。ステップS481でまだ全てのエレメントを処理対象のエレメントとしていないと判定された場合、処理はステップS476に戻り、全てのエレメントを処理対象のエレメントとするまで、ステップS476乃至S481の処理が繰り返される。
一方、ステップS481で全てのエレメントを処理対象のエレメントとしたと判定された場合、処理はステップS482に進む。ステップS482において、音声復号処理部194は、再生対象の全てのトラックを処理対象のトラックとしたかどうかを判定する。ステップS482でまだ再生対象の全てのトラックを処理対象のトラックとしていないと判定された場合、処理はステップS475に戻り、再生対象の全てのトラックを処理対象のトラックとするまで、ステップS475乃至S482の処理が繰り返される。
一方、ステップS482で再生対象の全てのトラックを処理対象のトラックとしたと判定された場合、処理はステップS483に進む。
ステップS483において、音声復号処理部194は、全てのフレームを処理対象のフレームとしたかどうかを判定する。ステップS483でまだ全てのフレームを処理対象のフレームとしていないと判定された場合、処理はステップS474に戻り、全てのフレームを処理対象のフレームとするまで、ステップS474乃至S483の処理が繰り返される。
一方、ステップS483で全てのフレームを処理対象のフレームとしたと判定された場合、処理はステップS484に進む。ステップS484において、音声復号処理部194は、生成されたオーディオストリームを復号する。即ち、音声復号処理部194は、全エレメント数、全エレメント種別情報、Config情報、および、音声データや再生対象のオブジェクトのメタデータが配置されたオーディオストリームを復号する。音声復号処理部194は、復号の結果得られる音声データ(Object audio,Channel audio,HOA audio)を音声合成処理部195に供給し、処理を終了する。
<音声復号処理部の処理の第2の例の説明>
図75は、Webサーバ142(212)の処理が図71および図72で説明した処理である場合の音声復号処理部194の処理の第2の例を説明する図である。
図75に示すように、音声復号処理部194の処理の第2の例は、生成するオーディオストリーム上に、全てのトラックのオーディオストリームを配置し、再生対象ではないトラックのオーディオストリームとしては復号結果がゼロになるストリームまたはフラグ(以下、ゼロストリームという)を配置する点が、第1の例と異なる。
具体的には、音声ファイル取得部192(264)は、Webサーバ142(212)に保持されている全てのトラックのオーディオストリームに含まれるConfig情報と、再生対象のトラックのオーディオストリームに含まれる各フレームのデータを取得する。
音声復号処理部194は、図75に示すように、全てのトラックのConfig情報を、生成するオーディオストリーム上にまとめて配置する。また、音声復号処理部194は、再生対象のトラックの各フレームのデータと、再生対象ではないトラックの各フレームのデータとしてのゼロストリームとを、生成するオーディオストリーム上にまとめて配置する。
以上のように、音声復号処理部194は、生成するオーディオストリームに、再生対象ではないトラックのオーディオストリームとしてゼロストリームを配置するので、再生対象ではないオブジェクトのオーディオストリームも存在する。従って、生成するオーディオストリーム内に再生対象ではないオブジェクトのメタデータを含ませることが可能になる。よって、音声復号処理部194は、Object Metadataのトラックのオーディオストリームから、再生対象のオブジェクトのメタデータのオーディオストリームを抽出する必要がなくなる。
なお、再生対象ではないトラックのConfig情報としては、ゼロストリームが配置されるようにしてもよい。
図76は、Webサーバ142(212)の処理が図71および図72で説明した処理である場合の音声復号処理部194の復号処理の第2の例の詳細を説明するフローチャートである。この復号処理は、再生対象のトラックが1つのchannel audioのトラックのみではない場合に行われる図48のステップS229および図50のS287の処理の少なくとも一方の処理である。
図76のステップS501およびS502の処理は、図74のステップS461およびS462の処理と同様であるので、説明は省略する。
ステップS503において、音声復号処理部194は、Webサーバ142(212)に保持されているオーディオストリームに対応するトラックのうちの、まだ処理対象のトラックとされていないトラックを、処理対象のトラックとする。
ステップS504乃至ステップS506の処理は、ステップS464乃至S466の処理と同様であるので、説明は省略する。
ステップS507において、音声復号処理部194は、Webサーバ142(212)に保持されているオーディオストリームに対応する全てのトラックを、処理対象のトラックとしたかどうかを判定する。ステップS507でまだ全てのトラックを処理対象のトラックとしていないと判定された場合、処理はステップS503に戻り、全てのトラックを処理対象のトラックとするまで、ステップS503乃至S507の処理が繰り返される。
一方、ステップS507で全てのトラックを処理対象のトラックとしたと判定された場合、処理はステップS508に進む。ステップS508において、音声復号処理部194は、全エレメント数と全エレメント種別情報を、生成するオーディオストリーム上の所定の位置に配置する。
ステップS509において、音声復号処理部194は、Webサーバ142(212)に保持されているオーディオストリームに対応するトラックのうちの、まだ処理対象のトラックとされていないトラックを、処理対象のトラックとする。ステップS510において、音声復号処理部194は、処理対象のトラックに含まれるエレメントのうちのまだ処理対象のエレメントとされていないエレメントを、処理対象のエレメントとする。
ステップS511において、音声復号処理部194は、処理対象のトラックのオーディオストリームから処理対象のエレメントのConfig情報を取得し、生成するオーディオストリーム上に配置する。このとき、Webサーバ142(212)に保持されているオーディオストリームに対応する全てのトラックの全てのエレメントのConfig情報は連続するように配置される。
ステップS512において、音声復号処理部194は、処理対象のトラックに含まれる全てのエレメントを処理対象のエレメントとしたかどうかを判定する。ステップS512でまだ全てのエレメントを処理対象のエレメントとしていないと判定された場合、処理はステップS510に戻り、全てのエレメントを処理対象のエレメントとするまで、ステップS510乃至S512の処理が繰り返される。
一方、ステップS512で全てのエレメントを処理対象のエレメントとしたと判定された場合、処理はステップS513に進む。ステップS513において、音声復号処理部194は、Webサーバ142(212)に保持されているオーディオストリームに対応する全てのトラックを処理対象のトラックとしたかどうかを判定する。ステップS513でまだ全てのトラックを処理対象のトラックとしていないと判定された場合、処理はステップS509に戻り、全てのトラックを処理対象のトラックとするまで、ステップS509乃至S513の処理が繰り返される。
一方、ステップS513で全てのトラックを処理対象のトラックとしたと判定された場合、処理はステップS514に進む。ステップS514において、音声復号処理部194は、処理対象のフレームを決定する。最初のステップS514の処理では、先頭のフレームが処理対象のフレームに決定され、2回目以降のステップS514の処理では、現在の処理対象のフレームの次のフレームが、新たな処理対象のフレームに決定される。
ステップS515において、音声復号処理部194は、Webサーバ142(212)に保持されているオーディオストリームに対応するトラックのうちの、まだ処理対象のトラックとされていないトラックを、処理対象のトラックとする。
ステップS516において、音声復号処理部194は、処理対象のトラックが再生対象のトラックであるかどうかを判定する。ステップS516で処理対象のトラックが再生対象のトラックであると判定された場合、ステップS517に進む。
ステップS517において、音声復号処理部194は、処理対象のトラックに含まれるエレメントのうちのまだ処理対象のエレメントとされていないエレメントを、処理対象のエレメントとする。
ステップS518において、音声復号処理部194は、処理対象のトラックのオーディオストリームから、処理対象のエレメントの処理対象のフレームの音声データを取得し、生成するオーディオストリーム上に配置する。このとき、Webサーバ142(212)に保持されているオーディオストリームに対応する全てのトラックの全てのエレメントの同一のフレームのデータは連続するように配置される。
ステップS519において、音声復号処理部194は、処理対象のトラックに含まれる全てのエレメントを処理対象のエレメントとしたかどうかを判定する。ステップS519でまだ全てのエレメントを処理対象のエレメントとしていないと判定された場合、処理はステップS517に戻り、全てのエレメントを処理対象のエレメントとするまで、ステップS517乃至S519の処理が繰り返される。
一方、ステップS519で全てのエレメントを処理対象のエレメントとしたと判定された場合、処理はステップS523に進む。
また、ステップS516で処理対象のトラックが再生対象のトラックではないと判定された場合、処理はステップS520に進む。ステップS520において、音声復号処理部194は、処理対象のトラックに含まれるエレメントのうちのまだ処理対象のエレメントとされていないエレメントを、処理対象のエレメントとする。
ステップS521において、音声復号処理部194は、生成するオーディオストリーム上に、処理対象のエレメントの処理対象のフレームのデータとしてゼロストリームを、配置する。このとき、Webサーバ142(212)に保持されているオーディオストリームに対応する全てのトラックの全てのエレメントの同一のフレームのデータは連続するように配置される。
ステップS522において、音声復号処理部194は、処理対象のトラックに含まれる全てのエレメントを処理対象のエレメントとしたかどうかを判定する。ステップS522でまだ全てのエレメントを処理対象のエレメントとしていないと判定された場合、処理はステップS520に戻り、全てのエレメントを処理対象のエレメントとするまで、ステップS520乃至S522の処理が繰り返される。
一方、ステップS522で全てのエレメントを処理対象のエレメントとしたと判定された場合、処理はステップS523に進む。
ステップS523において、音声復号処理部194は、Webサーバ142(212)に保持されているオーディオストリームに対応する全てのトラックを処理対象のトラックとしたかどうかを判定する。ステップS522でまだ全てのトラックを処理対象のトラックとしていないと判定された場合、処理はステップS515に戻り、再生対象の全てのトラックを処理対象のトラックとするまで、ステップS515乃至S523の処理が繰り返される。
一方、ステップS523で全てのトラックを処理対象のトラックとしたと判定された場合、処理はステップS524に進む。
ステップS524において、音声復号処理部194は、全てのフレームを処理対象のフレームとしたかどうかを判定する。ステップS524でまだ全てのフレームを処理対象のフレームとしていないと判定された場合、処理はステップS514に戻り、全てのフレームを処理対象のフレームとするまで、ステップS514乃至S524の処理が繰り返される。
一方、ステップS524で全てのフレームを処理対象のフレームとしたと判定された場合、処理はステップS525に進む。ステップS525において、音声復号処理部194は、生成されたオーディオストリームを復号する。即ち、音声復号処理部194は、全エレメント数、全エレメント種別情報、並びにWebサーバ142(212)に保持されているオーディオストリームに対応する全てのトラックのConfig情報およびデータが配置されたオーディオストリームを復号する。音声復号処理部194は、復号の結果得られる音声データ(Object audio,Channel audio,HOA audio)を音声合成処理部195に供給し、処理を終了する。
<Webサーバの処理の第2の例の説明>
図77は、Webサーバ142(212)の処理の第2の例を説明する図である。
図77のWebサーバ142(212)の処理の第2の例は、各オブジェクトのObject Metadataが、それぞれ異なるトラックのデータとして音声ファイルに配置される点を除いて、図71の第1の例と同一である。
従って、図77に示すように、Webサーバ142(212)は、ファイル生成装置141(211)からアップロードされた音声ファイルのオーディオストリームを、トラックごとに分割し、9つのトラックのオーディオストリームを生成する。
この場合のWebサーバ142(212)のトラック分割処理は、図72のトラック分割処理と同様であるので、説明は省略する。
<音声復号処理部の処理の第3の例の説明>
図78は、Webサーバ142(212)の処理が図77で説明した処理である場合の音声復号処理部194の処理を説明する図である。
図78の例では、Webサーバ142(212)は、図77に示した各トラックのオーディオストリームを保持している。また、再生対象のトラックが、前方左右のチャンネルのchannel audio、後方左右のチャンネルのchannel audio、1つ目のオブジェクトのobject audio、および1つ目のオブジェクトのObject Metadataのトラックである。
この場合、音声ファイル取得部192(264)は、前方左右のチャンネルのchannel audio、後方左右のチャンネルのchannel audio、1つ目のオブジェクトのobject audio、および1つ目のオブジェクトのObject Metadataのトラックのオーディオストリームを取得する。音声復号処理部194は、取得された再生対象のトラックのオーディオストリームを合成し、生成されたオーディオストリームを復号する。
以上のように、Object Metadataが、オブジェクトごとに異なるトラックのデータとして配置される場合、音声復号処理部194は、再生対象のオブジェクトのObject Metadataのオーディオストリームを抽出する必要がない。従って、音声復号処理部194は、復号するオーディオストリームを容易に生成することができる。
図79は、Webサーバ142(212)の処理が図77で説明した処理である場合の音声復号処理部194の復号処理の詳細を説明するフローチャートである。この復号処理は、再生対象のトラックが1つのchannel audioのトラックのみではない場合に行われる図48のステップS229および図50のS287の処理の少なくとも一方の処理である。
図79の復号処理は、ステップS477,S479およびS480の処理が行われない点、および、ステップS478の処理で音声データだけでなくメタデータも配置される点を除いて、図74の復号処理と同様である。即ち、図79のステップS541乃至S556の処理は、図74のステップS461乃至S476と同様であり、図79のステップS557の処理では、ステップS478の処理と同様に、処理対象のエレメントの処理対象のフレームのデータが配置される。また、ステップS558乃至S561の処理は、図74のステップS481乃至S484の処理と同様である。
なお、上述した説明では、動画再生端末144(214)が復号するオーディオストリームを生成したが、Webサーバ142(212)が、再生対象のトラックの組み合わせとして想定される組み合わせのオーディオストリームを生成するようにしてもよい。この場合、動画再生端末144(214)は、再生対象のトラックの組み合わせのオーディオストリームをWebサーバ142(212)から取得し、復号するだけで、再生対象のトラックの音声を再生することができる。
また、音声復号処理部194は、Webサーバ142(212)から取得された再生対象のトラックのオーディオストリームを、トラックごとに復号するようにしてもよい。この場合、音声復号処理部194は、復号の結果得られる音声データとメタデータを合成する必要がある。
<ベースサンプルのシンタクスの第2の例>
(ベースサンプルに配置されるConfig情報のシンタクスの第2の例)
図80は、ベースサンプルに配置されるConfig情報のシンタクスの第2の例を示す図である。
図80の例では、Config情報として、ベースサンプルに配置されるエレメントの数(numElements)が記述される。また、ベースサンプルに配置される各エレメントのタイプ(usacElementType)として、Extエレメントを表す「ID_USAC_EXT」が記述されるとともに、各エレメントのExtエレメント用のConfig情報(mpegh3daExtElementCongfig)が記述される。
図81は、図80のExtエレメント用のConfig情報(mpegh3daExtElementCongfig)のシンタクスの例を示す図である。
図81に示すように、図80のExtエレメント用のConfig情報(mpegh3daExtElementCongfig)としては、ExtエレメントのタイプとしてExtractorを表す「ID_EXT_ELE_EXTRACTOR」が記述される。また、Extractor用のConfig情報(ExtractorConfig)が記述される。
図82は、図81のExtractor用のConfig情報(ExtractorConfig)のシンタクスの例を示す図である。
図82に示すように、図81のExtractor用のConfig情報(ExtractorConfig)としては、そのExtractorが参照するエレメントのタイプ(種別)(usac Element Type Extractor)が記述される。また、エレメントのタイプ(usac Element Type Extractor)がExtエレメントを表す「ID_USAC_EXT」である場合、そのExtエレメントのタイプ(usacExtElementTypeExtractor)が記述される。さらに、参照するエレメント(サブサンプル)のConfig情報のサイズ(size)(configLength)と位置(configOffset)が記述される。
(ベースサンプルに配置されるフレーム単位のデータのシンタクスの第2の例)
図83は、ベースサンプルに配置されるフレーム単位のデータのシンタクスの第2の例を示す図である。
図83に示すように、ベースサンプルに配置されるフレーム単位のデータとしては、そのデータのエレメントであるExtエレメントのタイプとしてExtractorを表す「ID_EXT_ELE_EXTRACTOR」が記述される。また、Extractorのデータ(Extractor Metadata)が記述される。
図84は、図83のExtractorのデータ(Extractor Metadata)のシンタクスの例を示す図である。
図84に示すように、図83のExtractorのデータ(Extractor Metadata)としては、そのExtractorが参照するエレメントのデータのサイズ(elementLength)と位置(elementOffset)が記述される。
<ベースサンプルのシンタクスの第3の例>
(ベースサンプルに配置されるConfig情報のシンタクスの第3の例)
図85は、ベースサンプルに配置されるConfig情報のシンタクスの第3の例を示す図である。
図85の例では、Config情報として、ベースサンプルに配置されるエレメントの数(numElements)が記述される。また、Config情報を配置するサンプルがExtractorであるかどうかを示すExtractorフラグ(flag Extractor)として、Extractorであることを示す1が記述される。また、elementLengthPresentとして1が記述される。
また、ベースサンプルに配置される各エレメントのタイプ(usacElementType)として、そのエレメントが参照するエレメントのタイプが記述される。エレメントのタイプ(usacElementType)がExtエレメントを表す「ID_USAC_EXT」である場合、Extエレメントのタイプ(usacExtElementType)が記述される。さらに、参照するエレメントのConfig情報のサイズ(size)(configLength)と位置(configOffset)が記述される。
(ベースサンプルに配置されるフレーム単位のデータのシンタクスの第3の例)
図86は、ベースサンプルに配置されるフレーム単位のデータのシンタクスの第3の例を示す図である。
図86に示すように、ベースサンプルに配置されるフレーム単位のデータとしては、そのデータが参照するエレメントのデータのサイズ(elementLength)と位置(elementOffset)が記述される。
<第7実施の形態>
(オーディオストリームの構成例)
図87は、本開示を適用した情報処理システムの第7実施の形態において音声ファイルに格納されるオーディオストリームの構成例を示す図である。
図87に示すように、第7実施の形態では、音声ファイルには、各グループタイプ(但し、object audioについてはオブジェクトごと)の3Dオーディオのサンプル単位の符号化データが、サブサンプルとして配置されるオーディオストリーム(3D audio stream)が格納される。
また、音声ファイルには、各グループタイプの3Dオーディオのサンプル単位の符号化データのサイズ、位置、およびグループタイプを含むextractorを、サブサンプルとするヒントストリーム(3D audio hint stream)が格納される。extractorの構成は、上述した構成と同様であり、グループタイプがextractorの種別として記述される。
(トラックの概要)
図88は、第7実施の形態におけるトラックの概要を説明する図である。
図88に示すように、第7実施の形態では、オーディオストリームとヒントストリームに異なるトラックが割り当てられる。オーディオストリームのトラックのTrack Referenceとしては、対応するヒントストリームのトラックのトラックID「2」が記述される。また、ヒントストリームのトラックのTrack Referenceとしては、対応するオーディオストリームのトラックのトラックID「1」が記述される。
オーディオストリームのトラックのサンプルエントリのシンタクスは、図34に示したシンタクスであり、ヒントストリームのトラックのサンプルエントリのシンタクスは、図35乃至図38に示したシンタクスを含む。
(ファイル生成装置の処理の説明)
図89は、第7実施の形態におけるファイル生成装置のファイル生成処理を説明するフローチャートである。
なお、第7実施の形態におけるファイル生成装置は、音声符号化処理部171と音声ファイル生成部172の処理が異なる点を除いて、図45のファイル生成装置141と同一である。従って、以下では、第7実施の形態におけるファイル生成装置、音声符号化処理部、音声ファイル生成部を、ファイル生成装置301、音声符号化処理部341、音声ファイル生成部342という。
図89のステップS601乃至S605の処理は、図46のステップS191乃至S195の処理と同様であるので、説明は省略する。
ステップS606において、音声符号化処理部341は、外部から入力される動画コンテンツの3Dオーディオをグループタイプごとに符号化し、図87のオーディオストリームを生成する。音声符号化処理部341は、生成されたオーディオストリームを音声ファイル生成部342に供給する。
ステップS607において、音声ファイル生成部342は、音声符号化処理部341から供給されるオーディオストリームから、サブサンプル情報を取得する。サブサンプル情報とは、各グループタイプの3Dオーディオのサンプル単位の符号化データのサイズ、位置、およびグループタイプである。
ステップS608において、音声ファイル生成部342は、サブサンプル情報に基づいて、図87のヒントストリームを生成する。ステップS609において、音声ファイル生成部342は、オーディオストリームとヒントストリームを異なるトラックとして多重化し、音声ファイルを生成する。このとき、音声ファイル生成部342は、外部から入力される画枠サイズ情報をサンプルエントリに格納する。音声ファイル生成部342は、生成された音声ファイルをMPD生成部173に供給する。
ステップS610およびS611の処理は、図46のステップS199およびS200の処理と同様であるので、説明は省略する。
(動画再生端末の処理の説明)
図90は、第7実施の形態における動画再生端末のストリーミング再生部のオーディオ再生処理を説明するフローチャートである。
なお、第7実施の形態におけるストリーミング再生部は、MPD処理部191、音声ファイル取得部192、および音声復号処理部194の処理が異なる点、並びに、音声選択部193が設けられない点を除いて、図47のストリーミング再生部190と同一である。従って、以下では、第7実施の形態におけるストリーミング再生部、MPD処理部、音声ファイル取得部、および音声復号処理部を、ストリーミング再生部360、MPD処理部381、音声ファイル取得部382、および音声復号処理部383という。
図90のステップS621において、ストリーミング再生部360のMPD処理部381は、MPD取得部91から供給されるMPDファイルを解析し、再生対象のセグメントの音声ファイルのURL等の情報を取得して、音声ファイル取得部382に供給する。
ステップS622において、音声ファイル取得部382は、MPD処理部381から供給されるURL等の情報に基づいて、再生対象のセグメントのInitial SegmentをWebサーバに要求し、取得する。
ステップS623において、音声ファイル取得部382は、Initial Segment内のmoovボックスのヒントストリームのトラック(以下では、ヒントトラックという)のサンプルエントリから、参照トラックであるオーディオストリームのトラックのトラックIDを取得する。
ステップS624において、音声ファイル取得部382は、MPD処理部381から供給されるURL等の情報に基づいて、再生対象のセグメントのmedia segmentの先頭からsidxボックスとssixボックスをWebサーバに要求し、取得する。
ステップS625において、音声ファイル取得部382は、ステップS624で取得されたsidxボックスとssixボックスから、ヒントトラックの位置情報を取得する。
ステップS626において、音声ファイル取得部382は、ステップS625で取得されたヒントトラックの位置情報に基づいて、ヒントストリームをWebサーバに要求し、取得する。そして、音声ファイル取得部382は、ヒントストリームから、再生対象の3Dオーディオのグループタイプのextractorを取得する。なお、再生対象の3Dオーディオがobject audioである場合、再生対象とするオブジェクトは、画枠サイズ情報とオブジェクト位置情報とに基づいて選択される。
ステップS627において、音声ファイル取得部382は、ステップS624で取得されたsidxボックスとssixボックスから、参照トラックの位置情報を取得する。ステップS628において、音声ファイル取得部382は、ステップS627で取得された参照トラックの位置情報と、取得されたextractorに含まれるサブサンプル情報とに基づいて、再生対象の3Dオーディオのグループタイプのオーディオストリームの位置情報を決定する。
ステップS629において、音声ファイル取得部382は、ステップS627で決定された位置情報に基づいて、再生対象の3DオーディオのグループタイプのオーディオストリームをWebサーバに要求し、取得する。音声ファイル取得部382は、取得されたオーディオストリームを音声復号処理部383に供給する。
ステップS630において、音声復号処理部383は、音声ファイル取得部382から供給されるオーディオストリームを復号し、その結果得られる音声データを音声合成処理部195に供給する。
ステップS631において、音声合成処理部195は、音声データを出力し、処理を終了する。
なお、第7実施の形態では、オーディオストリームのトラックとヒントトラックが同一の音声ファイルに格納されるようにしたが、異なるファイルに格納されるようにしてもよい。
<第8実施の形態>
(トラックの概要)
図91は、本開示を適用した情報処理システムの第8実施の形態におけるトラックの概要を説明する図である。
第8実施の形態の音声ファイルは、格納されるヒントストリームがグループタイプごとのストリームである点が、第7実施の形態の音声ファイルと異なる。即ち、第8実施の形態のヒントストリームは、グループタイプごとに生成され、各ヒントストリームには、各グループタイプの3Dオーディオのサンプル単位の符号化データのサイズ、位置、およびグループタイプを含むextractorが、サンプルとして配置される。なお、3Dオーディオに複数のオブジェクトのobject audioが含まれる場合、extractorは、オブジェクトごとにサブサンプルとして配置される。
また、図91に示すように、第8実施の形態では、オーディオストリームと各ヒントストリームに異なるトラックが割り当てられる。オーディオストリームのトラックは、図88のオーディオストリームのトラックと同一であるため、説明は省略する。
グループタイプ「Channels」、「Objects」、「HOA」、「metadata」のヒントトラックのTrack Referenceとしては、対応するオーディオストリームのトラックのトラックID「1」が記述される。
グループタイプ「Channels」、「Objects」、「HOA」、および「metadata」のヒントトラックのサンプルエントリのシンタクスは、それぞれ、サンプルエントリの種別を表す情報を除いて、図35乃至図38に示したシンタクスと同一である。グループタイプ「Channels」、「Objects」、「HOA」、および「metadata」のヒントトラックのサンプルエントリの種別を表す情報は、図35乃至図38の情報の数字の1が2に代わったものであり、この2は、ヒントトラックのサンプルエントリであることを表す。
(音声ファイルの構成例)
図92は、音声ファイルの構成例を示す図である。
図92に示すように、音声ファイルには、図91に示した全てのトラックが格納される。即ち、音声ファイルには、オーディオストリームと各グループタイプのヒントストリームが格納される。
第8実施の形態におけるファイル生成装置のファイル生成処理は、図87のヒントストリームの代わりに、グループタイプごとのヒントストリームが生成される点を除いて、図89のファイル生成処理と同様である。
また、第8実施の形態における動画再生端末のストリーミング再生部のオーディオ再生処理は、ステップS623において、参照トラックのトラックIDだけでなく、再生対象のグループタイプのヒントトラックのトラックIDを取得する点、ステップS625において再生対象のグループタイプのヒントトラックの位置情報を取得する点、およびステップS626において再生対象のグループタイプのヒントストリームを取得する点を除いて、図90のオーディオ再生処理と同様である。
なお、第8実施の形態では、オーディオストリームのトラックとヒントトラックが同一の音声ファイルに格納されるようにしたが、異なるファイルに格納されるようにしてもよい。
例えば、図93に示すように、オーディオストリームのトラックが1つの音声ファイル(3D audio stream MP4 File)に格納され、ヒントトラックが1つの音声ファイル(3D audio hint stream MP4 File)に格納されるようにしてもよい。また、図94に示すように、ヒントトラックは、複数の音声ファイルに分割して格納されるようにしてもよい。図94の例では、各ヒントトラックが異なる音声ファイルに格納されている。
また、第8実施の形態では、グループタイプがobjectsである場合であってもグループタイプごとにヒントストリームが生成されたが、グループタイプがobjectsである場合、オブジェクトごとにヒントストリームが生成されるようにしてもよい。この場合、各オブジェクトのヒントストリームに対して異なるトラックが割り当てられる。
以上のように、第7および第8実施の形態の音声ファイルでは、全ての3Dオーディオのオーディオストリームが1つのトラックとして格納される。従って、動画再生端末は、そのトラックを取得することにより、全ての3Dオーディオのオーディオストリームを再生することができる。
また、第7および第8実施の形態の音声ファイルでは、ヒントストリームが格納される。従って、動画再生端末は、サブサンプルと、サブサンプルのサイズや位置とを対応付けたテーブルが記述されるmoofボックスを参照せずに、全ての3Dオーディオのオーディオストリームのうちの、所望のグループタイプのオーディオストリームのみを取得し、再生することができる。
さらに、第7および第8実施の形態の音声ファイルでは、全ての3Dオーディオのオーディオストリームとヒントストリームを格納するだけで、動画再生端末にグループタイプごとにオーディオストリームを取得させることができる。従って、グループタイプごとのオーディオストリームの取得を可能にするために、放送やローカルストレージの用途として生成された全ての3Dオーディオのオーディオストリームとは別に、グループタイプごとの3Dオーディオのオーディオストリームを用意する必要がない。
なお、第7および第8実施の形態では、グループタイプごとにextractorが生成されたが、extractorの生成単位は、オーディオエレメント、グループ、switch Group、およびgroup Presetであってもよい。
extractorの生成単位がグループである場合、第8実施の形態の各ヒントトラックのサンプルエントリには、対応するグループに関する情報が含まれる。グループに関する情報は、グループのID、グループに分類されるエレメントのデータの内容を表す情報等により構成される。グループがswitch Groupを形成する場合、そのグループのヒントトラックのサンプルエントリには、そのswitch Groupに関する情報も含まれる。switch Groupに関する情報は、switch GroupのID、switch Groupを形成するグループのID等により構成される。第7実施の形態のヒントトラックのサンプルエントリには、第8実施の形態の全てのヒントトラックのサンプルエントリに含まれる情報が含まれる。
また、第7および第8実施の形態におけるセグメント構造は、図39および図40のセグメント構造と同一である。
<第9実施の形態>
(本開示を適用したコンピュータの説明)
上述したWebサーバの一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図95は、上述したWebサーバの一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)601,ROM(Read Only Memory)602,RAM(Random Access Memory)603は、バス604により相互に接続されている。
バス604には、さらに、入出力インタフェース605が接続されている。入出力インタフェース605には、入力部606、出力部607、記憶部608、通信部609、及びドライブ610が接続されている。
入力部606は、キーボード、マウス、マイクロフォンなどよりなる。出力部607は、ディスプレイ、スピーカなどよりなる。記憶部608は、ハードディスクや不揮発性のメモリなどよりなる。通信部609は、ネットワークインタフェースなどよりなる。ドライブ610は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア611を駆動する。
以上のように構成されるコンピュータでは、CPU601が、例えば、記憶部608に記憶されているプログラムを、入出力インタフェース605及びバス604を介して、RAM603にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU601)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア611に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア611をドライブ610に装着することにより、入出力インタフェース605を介して、記憶部608にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部609で受信し、記憶部608にインストールすることができる。その他、プログラムは、ROM602や記憶部608に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、上述した動画再生端末のハードウエア構成は、図95のコンピュータと同様の構成にすることができる。この場合、例えば、CPU601が、制御用ソフトウエア161(221)、動画再生ソフトウエア162(222)、およびアクセス用ソフトウエア163(223)を実行する。動画再生端末144(214)の処理は、ハードウエアにより実行することもできる。
本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、ファイル生成装置141(211)は、タイル単位で画像ファイルを生成するのではなく、全てのタイルの符号化データを多重化してビデオストリームを生成し、1つの画像ファイルを生成するようにしてもよい。
本開示は、MPEG−H 3D audioだけでなく、Object毎にstreamを作成することのできるaudio codec全般に適応可能である。
また、本開示は、ストリーミング再生ではなく、放送やローカルストレージ再生を行う情報処理システムにも適用することができる。
さらに、本開示は、以下のような構成もとることができる。
(1)
複数の種類の音声データが前記種類に応じて複数のトラックに分割されて配置されるファイルのうちの所定の前記トラックの音声データを取得する取得部
を備える情報処理装置。
(2)
前記種類は、前記音声データのエレメント、前記エレメントのタイプ、または前記エレメントが分類されるグループである
ように構成された
前記(1)に記載の情報処理装置。
(3)
前記取得部により取得された前記所定のトラックの前記音声データを復号する復号部
をさらに備える
前記(1)または(2)に記載の情報処理装置。
(4)
前記復号部は、前記所定のトラックの数が複数である場合、前記取得部により取得された前記所定のトラックの前記音声データを合成し、合成後の前記音声データを復号する
前記(3)に記載の情報処理装置。
(5)
前記ファイルには、複数のオブジェクト単位の音声データが前記オブジェクトごとに異なる前記トラックに分割されて配置されるとともに、全ての前記オブジェクト単位の音声データのメタデータが前記トラックとは異なるトラックにまとめて配置され、
前記取得部は、再生対象のオブジェクトの前記トラックの前記音声データを、前記所定のトラックの前記音声データとして取得するとともに、前記メタデータを取得し、
前記復号部は、前記取得部により取得された前記メタデータから、前記再生対象のオブジェクトの前記メタデータを抽出し、そのメタデータと前記取得部により取得された前記音声データとを合成する
ように構成された
前記(4)に記載の情報処理装置。
(6)
前記ファイルには、複数のオブジェクト単位の音声データが前記オブジェクトごとに異なる前記トラックに分割されて配置されるとともに、全ての前記オブジェクト単位の音声データのメタデータが前記トラックとは異なるトラックにまとめて配置され、
前記取得部は、再生対象のオブジェクトの前記トラックの前記音声データを、前記所定のトラックの前記音声データとして取得するとともに、前記メタデータを取得し、
前記復号部は、再生対象ではない前記トラックの前記音声データとしての復号結果がゼロになるゼロデータと、前記取得部により取得された前記音声データおよび前記メタデータとを合成する
ように構成された
前記(4)に記載の情報処理装置。
(7)
前記ファイルには、複数のオブジェクト単位の音声データが前記オブジェクトごとに異なる前記トラックに分割されて配置されるとともに、前記オブジェクト単位の音声データのメタデータが前記オブジェクトごとに異なるトラックに配置され、
前記取得部は、再生対象のオブジェクトの前記トラックの前記音声データを、前記所定のトラックの前記音声データとして取得するとともに、再生対象の前記オブジェクトのメタデータを取得し、
前記復号部は、前記取得部により取得された前記音声データと前記メタデータを合成する
ように構成された
前記(4)に記載の情報処理装置。
(8)
前記複数のトラックの前記音声データは、1つの前記ファイルに配置される
ように構成された
前記(1)乃至(7)のいずれかに記載の情報処理装置。
(9)
前記複数のトラックの前記音声データは、前記トラックごとに異なる前記ファイルに配置される
ように構成された
前記(1)乃至(7)に記載の情報処理装置。
(10)
前記ファイルには、前記複数の種類の前記音声データに関する情報が、前記複数のトラックとは異なるトラックとして配置される
ように構成された
前記(1)乃至(9)のいずれかに記載の情報処理装置。
(11)
前記複数の種類の前記音声データに関する情報は、前記音声データに対応する画像データの画枠サイズを示す画枠サイズ情報を含む
ように構成された
前記(10)に記載の情報処理装置。
(12)
前記ファイルには、前記複数のトラックとは異なるトラックの前記音声データとして、その音声データに対応する他の前記トラックの前記音声データの位置を示す情報が配置される
ように構成された
前記(1)乃至(9)のいずれかに記載の情報処理装置。
(13)
前記ファイルには、前記複数のトラックとは異なるトラックの前記データとして、そのデータに対応する他の前記トラックの前記音声データの位置を示す情報と、他の前記トラックの前記音声データのメタデータが配置される
ように構成された
前記(1)乃至(9)のいずれかに記載の情報処理装置。
(14)
前記音声データのメタデータは、前記音声データの取得位置を示す情報を含む
ように構成された
前記(13)に記載の情報処理装置。
(15)
前記ファイルは、前記トラックの他の前記トラックとの参照関係を表す情報を含む
ように構成された
前記(1)乃至(14)のいずれかに記載の情報処理装置。
(16)
前記ファイルは、各トラックの前記音声データのコーデック情報を含む
ように構成された
前記(1)乃至(15)のいずれかに記載の情報処理装置。
(17)
所定の前記種類の音声データは、他の前記種類の音声データの取得位置を示す情報である
ように構成された
前記(1)乃至(16)のいずれかに記載の情報処理装置。
(18)
情報処理装置が、
複数の種類の音声データが前記種類に応じて複数のトラックに分割されて配置されるファイルのうちの所定の前記トラックの音声データを取得する取得ステップ
を含む情報処理方法。
(19)
複数の種類の音声データが前記種類に応じて複数のトラックに分割されて配置されるファイルを生成する生成部
を備える情報処理装置。
(20)
情報処理装置が、
複数の種類の音声データが前記種類に応じて複数のトラックに分割されて配置されるファイルを生成する生成ステップ
を含む情報処理方法。