(57)【特許請求の範囲】
【請求項１】
画像が複数のサブサンプルに分割されたコンテンツを符号化して生成されたビットストリームを含むファイルにおいて、前記サブサンプルを定義するための定義フラグを用いて前記サブサンプルのサンプルグループを定義して、前記サブサンプルにアクセスするためのサブサンプルアクセス情報を生成するサブサンプル情報生成部と、
前記サブサンプル情報生成部により生成されたサブサンプルアクセス情報を多重化して、前記ファイルを生成するファイル生成部
を備えるファイル生成装置。
【請求項２】
前記サブサンプル情報生成部は、定義された前記サブサンプルのサンプルグループをレベルにマップして、前記サブサンプルアクセス情報を生成する
請求項１に記載のファイル生成装置。
【請求項３】
前記サブサンプル情報生成部は、前記サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとをまとめてから、レベルにマップして、前記サブサンプルアクセス情報を生成する
請求項２に記載のファイル生成装置。
【請求項４】
前記サブサンプル情報生成部は、前記サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとへの参照情報を格納するサンプルグループを定義することでまとめてから、前記参照情報を格納するサンプルグループをレベルにマップして、前記サブサンプルアクセス情報を生成する
請求項３に記載のファイル生成装置。
【請求項５】
前記サブサンプル情報生成部は、前記サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとを束ねるサンプルグループセットを定義することでまとめてから、前記参照情報を格納するサンプルグループをレベルにマップして、前記サブサンプルアクセス情報を生成する
請求項４に記載のファイル生成装置。
【請求項６】
前記サブサンプル情報生成部は、前記サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとをまとめてから、それぞれのサンプルグループをレベルにそれぞれマップして、前記サブサンプルアクセス情報を生成する
請求項３に記載のファイル生成装置。
【請求項７】
前記サブサンプルは、タイルである
請求項１に記載のファイル生成装置。
【請求項８】
前記サブサンプルは、3Dオーディオである
請求項１に記載のファイル生成装置。
【請求項９】
前記画像が複数の前記サブサンプルに分割されたコンテンツを符号化して、前記ビットストリームを生成する符号化部を
さらに備える請求項１に記載のファイル生成装置。
【請求項１０】
ファイル生成装置が、
画像が複数のサブサンプルに分割されたコンテンツを符号化して生成されたビットストリームを含むファイルにおいて、前記サブサンプルを定義するための定義フラグを用いて前記サブサンプルのサンプルグループを定義して、前記サブサンプルにアクセスするためのサブサンプルアクセス情報を生成し、
生成されたサブサンプルアクセス情報を多重化して、前記ファイルを生成する
ファイル生成方法。
【請求項１１】
画像が複数のサブサンプルに分割されたコンテンツを符号化して生成されたビットストリームを含むファイルにおいて、前記サブサンプルを定義するための定義フラグを用いて前記サブサンプルのサンプルグループを定義して、前記サブサンプルにアクセスするためのサブサンプルアクセス情報が生成され、多重化されたファイルから、サブサンプルアクセス情報を取得する情報取得部と、
前記情報取得部により取得されたサブサンプルアクセス情報を用いて、任意の前記サブサンプルを取得するサンプル取得部と、
前記サンプル取得部により取得された任意の前記サブサンプルを再生する再生部と
を備えるコンテンツ再生装置。
【請求項１２】
前記サブサンプルアクセス情報は、定義された前記サブサンプルのサンプルグループをレベルにマップして生成されている
請求項１１に記載のコンテンツ再生装置。
【請求項１３】
前記サブサンプルアクセス情報は、前記サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとをまとめてから、レベルにマップして生成されている
請求項１２に記載のコンテンツ再生装置。
【請求項１４】
前記サブサンプルアクセス情報は、前記サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとへの参照情報を格納するサンプルグループを定義することでまとめてから、前記参照情報を格納するサンプルグループをレベルにマップして生成されている
請求項１３に記載のコンテンツ再生装置。
【請求項１５】
前記サブサンプルアクセス情報は、前記サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとを束ねるサンプルグループセットを定義することでまとめてから、前記参照情報を格納するサンプルグループをレベルにマップして生成されている
請求項１４に記載のコンテンツ再生装置。
【請求項１６】
前記サブサンプルアクセス情報は、前記サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとをまとめてから、それぞれのサンプルグループをレベルにそれぞれマップして生成されている
請求項１３に記載のコンテンツ再生装置。
【請求項１７】
前記サブサンプルは、タイルである
請求項１１に記載のコンテンツ再生装置。
【請求項１８】
前記サブサンプルは、3Dオーディオである
請求項１１に記載のコンテンツ再生装置。
【請求項１９】
前記コンテンツは、ネットワークを介して接続されるサーバに記憶されている
請求項１１に記載のコンテンツ再生装置。
【請求項２０】
コンテンツ再生装置が、
画像が複数のサブサンプルに分割されたコンテンツを符号化して生成されたビットストリームを含むファイルにおいて、前記サブサンプルを定義 するための定義フラグを用いて前記サブサンプルのサンプルグループを定義して、前記サブサンプルにアクセスするためのサブサンプルアクセス情報が生成され、多重化されたファイルから、サブサンプルアクセス情報を取得し、
取得されたサブサンプルアクセス情報を用いて、任意の前記サブサンプルを取得し、
取得された任意の前記サブサンプルを再生する
コンテンツ再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ファイル生成装置および方法、並びにコンテンツ再生装置および方法に関し、特に、セグメント内のデータ種別によるアクセスを効率よく行うことができるようにしたファイル生成装置および方法、並びにコンテンツ再生装置および方法に関する。
【背景技術】
【０００２】
次世代の動画配信技術「MPEG-DASH(Dynamic Adaptive Streaming over HTTP)」が国際標準になることが、2011年12月に決まった。動画配信の通信プロトコルに、Webサイトと同じ「HTTP(hypertext transfer protocol)」を用いる「適応型ストリーミング技術」である。【０００３】
MPEG-DASHにおいては、任意の時間のsegmentを取得するための情報がMPDに記述されている。Segment file内の任意の時間のデータを取得するために、segment fileの先頭のsidxにsegment内のsubsegmentのアクセス情報が記述されている。さらに、trick playなどの目的で、任意のI/P pictureだけを取得するために、segment fileの先頭のsidxの後のssixにIPBのpictureの依存階層の情報とそのsize情報が記述されている。【０００４】
sidxやssixは、MP4(moof)の構造を解釈する必要がなく、汎用的なアクセス情報であり、MPEG-2TSなどのストリームのアクセス情報にも利用することが可能である（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】MPEG-DASH(Dynamic Adaptive Streaming over HTTP)（URL:http://mpeg．chiariglione．org/standards/mpeg-dash/media-presentation-description-and-segment-formats/text-isoiec-23009-12012-dam-1）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、HEVCでは、Tile構造を利用し、アプリケーションによりデコードが必要となる領域のみをデコードすることが可能となっている。しかしながら、MPEG-DASHにおいてTile構造に対応する場合、Tileは、subsampleとして扱われるが、上述したssixにおいては、picture単位のI/B/Pのアクセス情報しか記述することができなかった。【０００７】
したがって、picture内の任意のTileへのアクセスは、moof内のsubsample imformationを解析する必要があるなど、実データを取得する前の処理が多く、データ取得の効率がよくなかった。【０００８】
ただし、sidx/ssix以上の拡張は望まれておらず、既存の仕組みをできるだけ活用することが望まれていた。【０００９】
本開示は、このような状況に鑑みてなされたものであり、サンプル内の任意のサブサンプルへのアクセスを効率よく行うようにするものである。
【課題を解決するための手段】
【００１０】
本開示の一側面のファイル生成装置は、画像が複数のサブサンプルに分割されたコンテンツを符号化して生成されたビットストリームを含むファイルにおいて、前記サブサンプルを定義するための定義フラグを用いて前記サブサンプルのサンプルグループを定義して、前記サブサンプルにアクセスするためのサブサンプルアクセス情報を生成するサブサンプル情報生成部と、前記サブサンプル情報生成部により生成されたサブサンプルアクセス情報を多重化して、前記ファイルを生成するファイル生成部を備える。
【００２０】
本開示の第２の側面のコンテンツ再生装置は、画像が複数のサブサンプルに分割されたコンテンツを符号化して生成されたビットストリームを含むファイルにおいて、前記サブサンプルを定義するための定義フラグを用いて前記サブサンプルのサンプルグループを定義して、前記サブサンプルにアクセスするためのサブサンプルアクセス情報が生成され、多重化されたファイルから、サブサンプルアクセス情報を取得する情報取得部と、前記情報取得部により取得されたサブサンプルアクセス情報を用いて、任意の前記サブサンプルを取得するサンプル取得部と、前記サンプル取得部により取得された任意の前記サブサンプルを再生する再生部とを備える。
【００３０】
本開示の第１の側面においては、画像が複数のサブサンプルに分割されたコンテンツを符号化して生成されたビットストリームを含むファイルにおいて、前記サブサンプルを定義するための定義フラグを用いて前記サブサンプルのサンプルグループを定義して、前記サブサンプルにアクセスするためのサブサンプルアクセス情報が生成される。そして、生成されたサブサンプルアクセス情報を多重化して、前記ファイルが生成される。
【００３１】
本開示の第２の側面においては、画像が複数のサブサンプルに分割されたコンテンツを符号化して生成されたビットストリームを含むファイルにおいて、前記サブサンプルを定義するための定義フラグを用いて前記サブサンプルのサンプルグループを定義して、前記サブサンプルにアクセスするためのサブサンプルアクセス情報が生成され、多重化されたファイルから、サブサンプルアクセス情報が取得される。そして、取得されたサブサンプルアクセス情報を用いて、任意の前記サブサンプルが取得され、取得された任意の前記サブサンプルが再生される。
【００３２】
なお、上述のファイル生成装置およびコンテンツ再生装置は、それぞれ、独立した装置であっても良いし、１つの装置を構成している内部ブロックであってもよい。
【発明の効果】
【００３３】
本開示の第１の側面によれば、ファイルを生成することができる。特に、セグメント内のデータ種別によるアクセスを効率よく行うことができる。【００３４】
本開示の第２の側面によれば、コンテンツを再生することができる。特に、セグメント内のデータ種別によるアクセスを効率よく行うことができる。【００３５】
なお、本明細書に記載された効果は、あくまで例示であり、本技術の効果は、本明細書に記載された効果に限定されるものではなく、付加的な効果があってもよい。
【図面の簡単な説明】
【００３６】
【図１】本開示を適用した情報処理システムの構成例を説明する図である。
【図２】タイルの例を示す図である。
【図３】オブジェクトを説明する図である。
【図４】オブジェクト位置情報を説明する図である。
【図５】画枠サイズ情報を説明する図である。
【図６】MPEG-DASHに準拠したMP4ファイルの構成例を示す図である。
【図７】サブサンプルインフォメーションボックスの例を示す図である。
【図８】HVECのサブサンプルの定義の例を示す図である。
【図９】3Dオーディオのサブサンプルの定義の例を示す図である。
【図１０】本技術のサブサンプルサンプルグループの定義の例を示す図である。
【図１１】3dオーディオのサブサンプルをレベルにマップする例を示すである。
【図１２】HEVCのタイルのサブサンプルをレベルにマップする例を示す図である。
【図１３】3dオーディオオブジェクトの位置情報を格納するサンプルグループの例を示す図である。
【図１４】複数サンプルグループをまとめる方法１について説明する図である。
【図１５】複数サンプルグループをまとめる方法１の例を示す図である。
【図１６】複数サンプルグループをまとめる方法１について説明する図である。
【図１７】複数サンプルグループをまとめる方法２の例を示す図である。
【図１８】複数サンプルグループをまとめる方法２の例を示す図である。
【図１９】複数サンプルグループをまとめる方法３について説明する図である。
【図２０】複数サンプルグループをまとめる方法１乃至３を比較して示す図である。
【図２１】図１のファイル生成装置１１の構成例を示すブロック図である。
【図２２】ファイル生成処理を説明するフローチャートである。
【図２３】オブジェクトオーディオ再生処理の例を説明するフローチャートである。
【図２４】方法１の場合のレベル解析処理の例を説明するフローチャートである。
【図２５】方法２の場合のレベル解析処理の例を説明するフローチャートである。
【図２６】方法３の場合のレベル解析処理の例を説明するフローチャートである。
【図２７】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００３７】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（情報処理システム）
２．第２の実施の形態（コンピュータ）
【００３８】
＜第１の実施の形態＞
（情報処理システムの構成）
図１は、本開示を適用した情報処理システムの構成例を説明する図である。
【００３９】
図１の情報処理システム１０は、ファイル生成装置１１と接続されるWebサーバ１２と動画再生端末１４が、インターネット１３を介して接続されることにより構成される。
【００４０】
情報処理システム１０では、MPEG−DASHに準ずる方式で、Webサーバ１２が動画コンテンツの画像データをタイル単位で動画再生端末１４に配信（タイルドストリーミング）する。
【００４１】
具体的には、ファイル生成装置１１は、動画コンテンツの画像データを取得し、タイル単位で符号化してビデオストリームを生成する。ファイル生成装置１１は、各タイルのビデオストリームを、セグメントと呼ばれる数秒から10秒程度の時間単位ごとにファイル化する。ファイル生成装置１１は、その結果得られる各タイルの画像ファイルをWebサーバ１２にアップロードする。
【００４２】
また、ファイル生成装置１１は、動画コンテンツの音声データをオブジェクト（詳細は後述する）ごとに取得し、オブジェクト単位で符号化してオーディオストリームを生成する。ファイル生成装置１１は、各オブジェクトのオーディオストリームをセグメント単位でファイル化し、その結果得られる各オブジェクトの音声ファイルをWebサーバ１２にアップロードする。
【００４３】
なお、オブジェクトとは、音源であり、各オブジェクトの音声データは、そのオブジェクトに取り付けられたマイクロホンなどにより取得される。オブジェクトは、固定されたマイクスタンドなどの物体であってもよいし、人物などの動体であってもよい。
【００４４】
ファイル生成装置１１は、各オブジェクトの位置（音声データの取得位置）を表すオブジェクト位置情報（音声位置情報）、オブジェクトに固有のＩＤであるオブジェクトＩＤ等を含むオーディオメタデータを符号化する。ファイル生成装置１１は、オーディオメタデータの符号化データをセグメント単位でファイル化し、その結果得られる音声メタファイルをWebサーバ１２にアップロードする。
【００４５】
また、ファイル生成装置１１は、動画コンテンツの画像の画枠サイズを表す画枠サイズ情報、各タイルの画像上の位置を表すタイル位置情報等を含む、画像ファイルや音声ファイルを管理するMPD（Media Presentation Description）ファイル（制御情報）を生成する。ファイル生成装置１１は、MPDファイルをWebサーバ１２にアップロードする。
【００４６】
Webサーバ１２は、ファイル生成装置１１からアップロードされた画像ファイル、音声ファイル、音声メタファイル、およびMPDファイルを格納する。
【００４７】
図１の例では、Webサーバ１２には、タイルＩＤ「１」のタイルの複数のセグメントの画像ファイルからなるセグメント群と、タイルＩＤ「２」のタイルの複数のセグメントの画像ファイルからなるセグメント群とが格納されている。また、Webサーバ１２には、オブジェクトＩＤ「１」のオブジェクトの複数のセグメントの音声ファイルからなるセグメント群と、オブジェクトＩＤ「２」のオブジェクトの複数のセグメントの音声ファイルからなるセグメント群とが格納されている。図示は省略するが、音声メタファイルのセグメント群も同様に格納されている。
【００４８】
なお、以下では、タイルＩＤがｉであるタイルをタイル＃ｉといい、オブジェクトＩＤがｉのオブジェクトをオブジェクト＃ｉという。
【００４９】
Webサーバ１２は、伝送部として機能し、動画再生端末１４からの要求に応じて、格納している画像ファイル、音声ファイル、音声メタファイル、MPDファイル等を動画再生端末１４に送信する。
【００５０】
動画再生端末１４は、ストリーミング制御部２１、再生部２２、およびHTTPアクセス部２３を含むように構成されている。再生部２２は、音声再生部３１および動画再生部３２から構成されている。
【００５１】
ストリーミング制御部２１は、Webサーバ１２からストリーミングするデータを制御するソフトウエアであり、動画再生端末１４により実行され、動画再生端末１４上で機能する。ストリーミング制御部２１は、動画再生端末１４にWebサーバ１２からMPDファイルを取得させる。
【００５２】
また、ストリーミング制御部２１は、動画再生部３２から指示される動画コンテンツの画像内の表示する領域である表示領域と、MPDファイルに含まれるタイル位置情報とに基づいて、表示領域内のタイルを特定する。そして、ストリーミング制御部２１は、そのタイルの画像ファイルの送信要求をHTTPアクセス部２３に指令する。
【００５３】
また、ストリーミング制御部２１は、HTTPアクセス部２３に音声メタファイルの送信要求を指令する。そして、ストリーミング制御部２１は、表示領域、MPDファイルに含まれる画枠サイズ情報、および音声メタファイルに含まれるオブジェクト位置情報に基づいて、表示領域内の画像に対応するオブジェクトを特定する。そして、ストリーミング制御部２１は、そのオブジェクトの音声ファイルの送信要求をHTTPアクセス部２３に指令する。
【００５４】
音声再生部３１は、Webサーバ１２から取得された音声ファイルを再生するソフトウエアであり、動画再生端末１４により実行され、動画再生端末１４上で機能する。動画再生部３２は、Webサーバ１２から取得された画像ファイルを再生するソフトウエアであり、動画再生端末１４により実行され、動画再生端末１４上で機能する。
【００５５】
具体的には、動画再生部３２は、ユーザにより表示領域が指定されると、その表示領域をストリーミング制御部２１に指示する。動画再生部３２は、その指示に応じてWebサーバ１２から取得された画像ファイルを復号し、出力する。音声再生部３１は、その指示に応じてWebサーバ１２から取得された音声ファイルを復号し、出力する。
【００５６】
HTTPアクセス部２３は、HTTPを用いたインターネット１３を介したWebサーバ１２との通信を制御するソフトウエアであり、動画再生端末１４により実行され、動画再生端末１４上で機能する。
【００５７】
具体的には、HTTPアクセス部２３は、ストリーミング制御部２１の指令に応じて、画像ファイル、音声ファイル、および音声メタファイルの送信要求を動画再生端末１４に送信させる。また、HTTPアクセス部２３は、その送信要求に応じて、Webサーバ１２から送信されてくる画像ファイル、音声ファイル、および音声メタファイルを動画再生端末１４に受信させる。
【００５８】
（タイルの例）
図２は、タイルの例を示す図である。
【００５９】
図２に示すように、動画コンテンツの画像は、複数のタイルに分割され、各タイルに１から順にタイルＩＤが付与される。図２の例では、動画コンテンツの画像は、４つのタイル＃１乃至タイル＃４に分割されている。
【００６０】
（オブジェクトの説明）
図３は、オブジェクトを説明する図である。
【００６１】
図３の例では、動画コンテンツの音声として、画像内の８つのオブジェクトの音声が取得されており、各オブジェクトには１から順にオブジェクトＩＤが付与されている。オブジェクト＃１乃至オブジェクト＃５は、それぞれ、動体であり、オブジェクト＃６乃至オブジェクト＃８は、固定された物体である。また、図３の例では、動画コンテンツの画像は、５（縦）×７（横）のタイルに分割されている。
【００６２】
この場合、図３に示すように、ユーザにより２（縦）×３（横）個のタイルからなる表示領域５１が指定されると、表示領域５１には、オブジェクト＃１、オブジェクト＃２、およびオブジェクト＃６のみが含まれる。従って、動画再生端末１４は、例えば、オブジェクト＃１、オブジェクト＃２、およびオブジェクト＃６の音声ファイルのみをWebサーバ１２から取得し、再生する。
【００６３】
表示領域５１内のオブジェクトは、以下に説明するように、画枠サイズ情報およびオブジェクト位置情報に基づいて特定することができる。
【００６４】
（オブジェクト位置情報の説明）
図４は、オブジェクト位置情報を説明する図である。
【００６５】
図４に示すように、オブジェクト位置情報は、オブジェクト６０の水平角度θA（−180°≦θA≦180°），垂直角度γA（−90°≦γA≦90°）、および距離ｒA（0<ｒA）からなる。水平角度θAは、例えば、画像の中心の撮影位置を原点（基点）Ｏとし、画像の水平方向をＸ方向、垂直方向をＹ方向、XY平面に垂直な奥行き方向をＺ方向としたときの、オブジェクト６０と原点Ｏを結ぶ直線とYZ平面との水平方向の角度である。垂直角度γAは、オブジェクト６０と原点Ｏを結ぶ直線とXZ平面との垂直方向の角度であり、距離ｒAは、オブジェクト６０と原点Ｏの距離である。
【００６６】
なお、本明細書では、左回転および上回転の角度を正の角度とし、右回転および下回転の角度を負の角度とする。
【００６７】
（画枠サイズ情報の説明）
図５は、画枠サイズ情報を説明する図である。
【００６８】
図５に示すように、画枠サイズ情報は、画枠の左端の水平角度θv1、右端の水平角度θv2、画枠の上端の垂直角度γv1、下端の垂直角度γv2、および距離ｒvにより構成される。
【００６９】
水平角度θv1は、例えば、画像の中心の撮影位置を原点Ｏとし、画像の水平方向をＸ方向、垂直方向をＹ方向、XY平面に垂直な奥行き方向をＺ方向としたときの、画枠の左端と原点Ｏを結ぶ直線とYZ平面との水平方向の角度である。水平角度θv2は、画枠の右端と原点Ｏを結ぶ直線とYZ平面との水平方向の角度である。従って、水平角度θv1と水平角度θv2とを合わせた角度は、水平方向の画角である。
【００７０】
垂直角度γV1，γv2は、それぞれ、画枠の上端、下端と原点Ｏを結ぶ直線とXZ平面との角度であり、垂直角度γV1と垂直角度γv2とを合わせた角度は、垂直方向の画角である。距離ｒvは、原点Ｏと画像の平面との距離である。
【００７１】
以上のように、オブジェクト位置情報と画枠サイズ情報は、それぞれ、オブジェクト６０、画枠と、原点Ｏとの位置関係を表している。従って、オブジェクト位置情報と画枠サイズ情報に基づいて、各オブジェクトの画像上の位置を検出（認識）することができる。その結果、表示領域５１内のオブジェクトを特定することができる。
【００７２】
（MPEG-DASHの概要）
MPEG-DASHにおいては、任意の時間のセグメント(segment)を取得するための情報がMPD(Media Presentation Discriotion)ファイルに記述されている。また、セグメントファイル(Segment file)内の任意の時間のデータを取得するために、セグメントファイルの先頭のsidx(Segment index box)にセグメント内のサブセグメント(subsegment)のアクセス情報が記述されている。さらに、トリックプレイ(trick play)などの目的で、任意のI/Pピクチャだけを取得するために、セグメントファイルの先頭のsidxの後のssix(Subsegment index box)にIPBのピクチャの依存階層(レベル)の情報とそのサイズ情報が記述されている。
【００７３】
sidxやssixは、MP4(moof)の構造を解釈する必要がなく、汎用的なアクセス情報であり、MPEG-2TSなどのストリームのアクセス情報にも利用することが可能である。
【００７４】
（MPEG-DASHに準拠したMP4ファイルの構成例）
図６は、sidxおよびssix を含むMPEG-DASHに準拠したMP4ファイルの構成例を示す図である。
【００７５】
図６の例において、MPEG-DASHに準拠したMP4ファイルは、符号化の初期化情報が格納されるInitial segmentファイルと、サンプルが格納される複数のmedia segmentファイルから構成されている。
【００７６】
Initial segmentファイルは、ftypと、stbl(sample table box)およびmvexを含むmoovから構成されている。
【００７７】
Initial segmentファイルのstbl では、sgpd(sample group description box)において、ssixで指し示すbyte rangeの種別を定義することができる。mvexでは、leva(level assignment box)において、sgpdで定義された種別をlevelにマッピングすることができる。そして、sgpdとlevaの各エントリは、インデックス順で紐付けされており、これらを用いることで、ssixに格納されている情報の１つであるレベルを定義することができる。
【００７８】
media segment（以下、単にセグメントとも称する）ファイルは、複数のmoofとピクチャが格納されるmdatを含み、先頭のmoofの前、すなわち、セグメントファイルの先頭には、styp、sidx、ssixが配置されている。ここで、セグメントファイルに含まれる複数のmoofおよびmdatをサブセグメントと呼ぶ。
【００７９】
sidxやssixには、MPDの情報（時間、URL）から取得したセグメントファイルを構成するサブセグメントへのアクセス情報が格納されている。
【００８０】
sidxには、サブセグメント(moof＋mdat)のサイズ(referenced_size)のテーブルが格納されている。したがって、sidxの情報から、任意の時間のサブセグメントだけを取得すること、すなわち、ランダムアクセスが可能である。
【００８１】
ssixには、levaにおいてマッピングされたlevel値を用いて、byte rangeが格納されている。したがって、ssixの情報から、サブセグメント内の任意のlevelのbyte rangeにアクセスすることができる。
【００８２】
（HEVCのタイル構造と3Dオーディオへの対応）
ここで、HEVC規格の符号化においては、図２を参照して上述したように、画像を複数のタイルに分割するタイル構造を利用し、アプリケーションによりデコードが必要となる領域（タイル）のみをデコードすることが可能となっている。
【００８３】
一方、MP4において、サブサンプルの定義は、コーデックごとに決まっている。例えば、HEVCにおいて１つのピクチャが複数のタイルで構成される場合、MP4ファイルにおいて、タイルは、サンプルを構成するサブサンプルとして管理される。
【００８４】
図７は、サブサンプルインフォメーションボックスの例を示している。
【００８５】
サブサンプルインフォメーションボックスは、サンプルの内側（サブサンプル）のサイズだけを有している。このサブサンプルが何であるかは、上から２行目の定義フラグのフィールドがあり、そこに定義フラグをセットすることで、何のサブサンプルであるかがわかる。図７の例においては、HEVCにおける定義フラグ＝０がセットされており、図８に示されるように、NAL境界のサブサンプルであることがわかる。なお、タイルの場合、定義フラグのフィールドには、図８に示されるように、HEVCにおける定義フラグ＝２がセットされることで、タイルのサブサンプルであることがわかる。
【００８６】
図８は、HVECのサブサンプルの定義の例を示す図である。
【００８７】
For the use of the sub-sample information box (8．7．7 of ISO/IEC14496-12) in an HEVC stream， a sub-sample is defined on the basis of the value of the flags field of the sub-sample information box as specified below． The presence of this box is optional; however， if present in a track containing HEVC data， it shall have the semantics defined here．
flags specifies the type of sub-sample information given in this box as follows:
0:            NAL-unit-based sub-samples． A sub-sample contains one or more contiguous NAL units．
1:            Decoding-unit-based sub-samples． A sub-sample contains exactly one decoding unit．
2:            Tile-based sub-samples． A sub-sample either contains one tile and the associated non-VCL NAL units， if any， of the VCL NAL unit(s) containing the tile， or contains one or more non-VCL NAL units．
3:            CTU-row-based sub-samples． A sub-sample either contains one CTU row within a slice and the associated non-VCL NAL units， if any， of the VCL NAL unit(s) containing the CTU row or contains one or more non-VCL NAL units． This type of sub-sample information shall not be used when entropy_coding_sync_enabled_flag is equal to 0．
4:            Slice-based sub-samples． A sub-sample either contains one slice (where each slice may contain one or more slice segments， each of which is a NAL unit) and the associated non-VCL NAL units， if any， or contains one or more non-VCL NAL units．
【００８８】
以上のように、HEVCのファイルフォーマットでは、HEVCにおいてサブサンプルを個別に定義するためのサブサンプル用の定義フラグがある。同様に、本技術においては、3Dオーディオにおいても、サブサンプルを個別に定義するためのサブサンプル用の定義フラグが設けられる。
【００８９】
図９は、3Dオーディオのサブサンプルの定義の例を示す図である。
【００９０】
For the use of the sub-sample information box (8．7．7 of ISO/IEC14496-12) in an 3D aduio stream， a sub-sample is defined on the basis of the value of the flags field of the sub-sample information box as specified below． The presence of this box is optional; however， if present in a track containing 3D audio data， it shall have the semantics defined here．
flags specifies the type of sub-sample information given in this box as follows:
0:            channel audio decoding frame sub-sample
1:            HOA audio decoding frame sub-sample
2:            Object-based sub-samples．
3:            3d audio metadata sub-sample
3Dオーディオにおける定義フラグ＝０は、チャンネルオーディオのサブサンプルであることを示している。定義フラグ＝１は、球状マイクロホンで録音したオーディオのサブサンプルであることを示している。定義フラグ＝２は、オブジェクトオーディオのサブサンプルであることを示している。定義フラグ＝３は、3dオーディオメタデータのサブサンプルであることを示している。
【００９１】
ここで、MP4ファイルから、サンプルを構成する任意のサブサンプル（タイル）だけを取得するためには、まず、moofを取得し、moof内のsubsample information boxを取得し、サブサンプルを取得するという処理が必要であった。すなわち、わざわざmoofを解析するなど、実データを取得する前の処理が多く、データ取得の効率がよくなかった。
【００９２】
また、MPEG-DASHに準拠したMP4ファイルにおいては、上述したように、sidxやssixは、MP4(moof)の構造を解釈する必要がなく、汎用的なアクセス情報であり、MPEG-2TSなどのストリームのアクセス情報にも利用することが可能である。
【００９３】
しかしながら、ssixにおいては、ピクチャ単位のI/B/Pのアクセス情報しか記述することができないため、結局、MP4(moof)の構造を解釈する必要があり、それゆえ、実データを取得するための処理が多かった。
【００９４】
また、セグメントが複数のmoof/mdatで構成される場合、subsample information boxが各moof内に格納されているため、実データを取得するための処理がより多くなっていた。
【００９５】
なお、規格化においては、sidx/ssix以上の拡張は望まれておらず、既存の仕組みをできるだけ活用することが望まれていた。
【００９６】
一方、3Dオーディオは、図３乃至図５を参照して上述したように、画像の中の音のなる複数のオブジェクトの音声を、それぞれ独立したストリームの一部として符号化することができる規格である。したがって、3Dオーディオにおいても、上述したHEVCタイルのように、ある１つのオブジェクトのみにアクセスしたいという要望がでてくることが想定される。
【００９７】
（本技術の説明）
そこで、本技術においては、コーデックなどで個別に定義しているサブサンプル用の定義フラグを活用し、新たな汎用のサンプルグループを定義することで、すべてのコーデックのサブサンプルに、既存のsgpdとssixによるレベルのマッピングが可能となる。これにより、サンプル内の任意のサブサンプルへのアクセスを効率よく行うことができるようになる。
【００９８】
なお、以下、サブサンプルがタイルまたは3Dオーディオの例を説明するが、本技術は、サブサンプルやタイルまたは3Dオーディオに限定されず、サンプルを構成する何かの要素を記述可能な汎用的な仕組みを拡張定義するものである。また、sgpd、leva、ssixなどのサブサンプルにアクセスするための情報については、まとめて呼ぶ場合、本明細書においては、サブサンプルアクセス情報と称する。
【００９９】
図１０は、本技術のサブサンプルサンプルグループの定義の例を示す図である。すなわち、図１０の例においては、サブサンプルのサンプルグループが定義される。
【０１００】
サブサンプルサンプルグループは、ビジュアルサンプルグループエントリをgrouping_type＝’sgss’として拡張したものであり、サブサンプルサンプルグループのシンタクスは、codec_parameter、sub_sample_flags、およびreserved（予約領域）により構成される。
【０１０１】
codec_parameterは、コーデックの情報を表す識別情報であり、Flagsは、コーディク毎にサブサンプルを定義する定義フラグ（上述したサブサンプル用定義フラグ）である。なお、定義フラグは、サブサンプルを識別するフラグとも言える。
【０１０２】
次に、図１１を参照して、3dオーディオのサブサンプルをレベルにマップする例について説明する。すなわち、図１１の例においては、sgpd(sample group description box)とleva(level assignment box)とを用いて、図１０の定義をレベルにマップする例が示されている。
【０１０３】
sgpd(sample group description box)としては、grouping_type＝’sgss’に示されるように、図１０のサブサンプルサンプルグループ（エントリ）の構造体を使用する。mha1は、3dオーディオを示す識別情報である。entry_count=3に示されるように、sgpdには、３つのエントリが含まれている。３つのエントリは、mha1の０、mha1の１、mha1の２と定義されている。mha1の０（定義フラグ）は、3dオーディオのチャンネルオーディオであることを示している。mha1の２（定義フラグ）は、3dオーディオのオブジェクトオーディオであることを示している。mha1の３（定義フラグ）は、3dオーディオのメタデータであることを示している。
【０１０４】
sgpd(sample group description box)のこれらの意味をレベルにアサインするために、sgpd(sample group description box)のエントリを、leva(level assignment box)のエントリにインデックス順に紐付ける。同じトラックのものであるので、levaのエントリは、すべて、track_id=1，padding_flag=0，assignment_type=0，grouping_type=’sgss’となっている。
【０１０５】
すなわち、図１１のlevaのエントリから読み取れるものは、Level1は、channel audioであり、Lavel2は、object audioであり、Lavel3は、metadataであるという情報である。
【０１０６】
次に、図１２を参照して、HEVCのタイルのサブサンプルをレベルにマップする例について説明する。すなわち、図１２の例においては、sgpd(sample group description box)とleva(level assignment box)とを用いて、図１０の定義をレベルにマップする例が示されている。
【０１０７】
sgpd(sample group description box)としては、grouping_type＝’sgss’に示されるように、図１０のサブサンプルサンプルグループ（エントリ）の構造体を使用する。hvc1は、3dオーディオを示す識別情報である。タイルは、図２を参照して上述したように４つで構成されており、entry_count=4に示されるように、sgpdには、４つのエントリが含まれている。４つのエントリは、すべてhvc1の２と定義されており、hvc1の２（定義フラグ）は、3 HEVCのタイルであることを示している。
【０１０８】
sgpd(sample group description box)のこれらの意味をレベルにアサインするために、sgpd(sample group description box)のエントリを、leva(level assignment box)のエントリにインデックス順に紐付ける。同じトラックのものであるので、levaのエントリは、すべて、track_id=1，padding_flag=0，assignment_type=0，grouping_type=’sgss’となっている。
【０１０９】
すなわち、図１２のlevaのエントリから読み取れるものは、Level1は、HEVC Tile1であり、Lavel2は、Tile2であり、Lavel3は、Tile3であり、Lavel4は、Tile4であるという情報である。
【０１１０】
以上のように、コーデックなどで個別に定義しているサブサンプル用の定義フラグを活用し、新たな汎用のサンプルグループを定義するようにした。したがって、上述したように、すべてのコーデックのサブサンプルが既存のsgpdとssixによるレベルのマッピングを行うことができるようになる。これにより、サンプル内の任意のサブサンプルへのアクセスを効率よく行うことができる。
【０１１１】
ところで、サブサンプル用の定義フラグを用いて、レベルにマッピングする本技術において、HEVCタイルや3dオーディオの場合、図２や図３乃至図５を参照して上述したように、位置情報が必要になるが、複数のサンプルグループの定義をまとめる方法がなかった。
【０１１２】
そこで、本技術として、以下の方法１乃至方法３を提案する。なお、以下においては、3dオーディオを例に説明するが、タイルでも同様に処理することができる。
【０１１３】
まず、3dオーディオオブジェクトの位置情報を格納するサンプルグループは、図１３のように示される。
【０１１４】
オーディオオブジェクトサンプルグループは、オーディオサンプルグループをgrouping_type＝’aoif’として拡張したものであり、オーディオオブジェクトサンプルグループのシンタクスは、objectTheta、objectGamma、objectLength、maxObjectTheta1、maxObjectTheta2、objectGamma1、objectGamma2、objectLength1、objectLength2により構成される。
【０１１５】
セマンテクスによると、
objectThetaは、オブジェクトの位置を示す水平方向の角度である。objectGammaは、オブジェクトの位置を示す垂直方向の角度である。objectLengthは、オブジェクトの位置を示す距離である。maxObjectTheta1は、オブジェクトの位置を示す最も左方向の水平方向の角度である。maxObjectTheta2は、オブジェクトの位置を示す最も右方向の水平方向の角度である。objectGamma1は、オブジェクトの位置を示す最も下方向の垂直方向の角度である。objectGamma2は、オブジェクトの位置を示す最も上方向の垂直方向の角度である。objectLength1は、オブジェクトの位置を示す最も手前方向の距離である。objectLength2、オブジェクトの位置を示す最も奥方向の距離である。
【０１１６】
次に、図１４を参照して、複数サンプルグループをまとめる方法１について説明する。方法１においては、サブサンプルグループに、一緒に使いたいサンプルグループへの参照情報が格納される。
【０１１７】
図１４の例においては、サブサンプルグループは、ビジュアルサンプルグループをgrouping_type＝’sgss’として拡張したものである。サブサンプルグループには、codec_parameter、sub_sample_flas、resevedに加えて、num_of_sample_group（サンプルグループ数）と、一緒に使いたい（すなわち、参照される）サンプルグループエントリと、サンプルグループインデックスとが格納される。
【０１１８】
具体的には、図１５の左側から説明するに、sgpd(sample group description box)としては、grouping_type＝’aoif’に示されるように、図１３のオーディオオブジェクトサンプルグループ（エントリ）の構造体が使用される。mha1は、3dオーディオを示す識別情報である。entry_count=2に示されるように、sgpdには、２つのエントリが含まれている。２つのエントリは、インデックス１のエントリが0，0，0，0，0，0，0，0(nulの意)の位置情報であり、インデックス２のエントリがΘx，yx，lx，Θ1x，Θ2x，y1x，y2x，l1x，l2xの位置情報である。
【０１１９】
中央のsgpd(sample group description box)としては、grouping_type＝’sgss’に示されるように、図１０のサブサンプルサンプルグループ（エントリ）の構造体を使用する。
【０１２０】
mha1は、3dオーディオを示す識別情報である。entry_count=3に示されるように、sgpdには、３つのエントリが含まれている。インデックス１乃至３のエントリは、それぞれ、mha1の０かつaiofの１、mha1の２かつaiofの２、mha1の３かつaiofの１と定義されている。
【０１２１】
mha1の０（定義フラグ）で、aiofの１は、3dオーディオのチャンネルオーディオであり、図１３のオーディオオブジェクトサンプルグループのインデックス１（0，0，0，0，0，0，0，0(nulの意)の位置情報）を参照することを表している。
【０１２２】
mha1の２（定義フラグ）は、3dオーディオのオブジェクトオーディオであることであり、図１３のオーディオオブジェクトサンプルグループのインデックス１（Θx，yx，lx，Θ1x，Θ2x，y1x，y2x，l1x，l2xの位置情報）を参照することを表している。
【０１２３】
mha1の３（定義フラグ）は、3dオーディオのメタデータであり、図１３のオーディオオブジェクトサンプルグループのインデックス１（0，0，0，0，0，0，0，0(nulの意)の位置情報）を参照することを表している。
【０１２４】
sgpd(sample group description box)のこれらの意味をレベルにアサインするために、sgpd(sample group description box)のエントリを、leva(level assignment box)のエントリにインデックス順に紐付ける。同じトラックのものであるので、levaのエントリは、すべて、track_id=1，padding_flag=0，assignment_type=0，grouping_type=’sgss’となっている。
【０１２５】
すなわち、図１５のlevaのエントリから読み取れるものは、Level1は、channel audioであり、Lavel2は、object audioであり、Lavel3は、metadataであるという情報である。
【０１２６】
以上のように位置情報をアサインすることで、ssixにおいて、levaにおいてマッピングされたlevel値を用いて、byte rangeを格納することができる。
【０１２７】
次に、図１６を参照して、複数サンプルグループをまとめる方法２について説明する。方法２においては、複数のサブサンプルグループを束ねるサンプルグループへが定義される。
【０１２８】
図１６の例においては、サブサンプルグループセットは、ビジュアルサンプルグループをgrouping_type＝’sgsg’（複数のサンプルグループをまとめたsample group set）として拡張したものである。サブサンプルグループセットには、このサンプルグループセットを参照するサンプルグループエントリと、サンプルグループインデックスとが格納される。
【０１２９】
具体的には、図１７の左側から説明するに、sgpd(sample group description box)としては、grouping_type＝’aoif’に示されるように、図１３のオーディオオブジェクトサンプルグループ（エントリ）の構造体が使用される。entry_count=2に示されるように、sgpdには、２つのエントリが含まれている。２つのエントリは、インデックス１のエントリが0，0，0，0，0，0，0，0（null）の位置情報であり、インデックス２のエントリがΘx，yx，lx，Θ1x，Θ2x，y1x，y2x，l1x，l2xの位置情報である。
【０１３０】
そして、右側のsgpd(sample group description box)としては、grouping_type＝’sgss’に示されるように、図１０のサブサンプルサンプルグループ（エントリ）の構造体が使用される。
【０１３１】
mha1は、3dオーディオを示す識別情報である。entry_count=3に示されるように、sgpdには、３つのエントリが含まれている。インデックス１乃至３のエントリは、mha1の０、mha1１の２、mha1の３と定義されている。
【０１３２】
これら２つのサンプルグループは、図１８の左側に示すように、サンプルグループセットとしてまとめられ、図１８の右側に示すように、levelアサインされる。
【０１３３】
具体的には、sgpd(sample group description box)としては、grouping_type＝’sgsg’に示されるように、図１６のサブサンプルグループセット（エントリ）の構造体が使用される。entry_count=3に示されるように、sgpdには、３つのエントリが含まれている。３つのエントリは、インデックス１のエントリが’sgsg’，1と’aoif’，1である。インデックス２のエントリが’sgsg’，2と’aoif’，2である。インデックス３のエントリが’sgsg’，3と’aoif’，1である。
【０１３４】
sgpd(sample group description box)のこれらの意味をレベルにアサインするために、sgpd(sample group description box)のエントリを、leva(level assignment box)のエントリにインデックス順に紐付ける。同じトラックのものであるので、levaのエントリは、すべて、track_id=1，padding_flag=0，assignment_type=0，grouping_type=’sgsg’となっている。
【０１３５】
すなわち、図１８のlevaのエントリから読み取れるものは、Level1は、channel audioであり、オブジェクト情報はnullである。Lavel2は、object audioであり、オブジェクト情報はΘx，yx，lx，Θ1x，Θ2x，y1x，y2x，l1x，l2x である。Lavel3は、metadataであり、オブジェクト情報はnullである。
【０１３６】
以上のように、例えば、２つのサンプルグループをサンプルグループセットとしてまとめるようにしたので、ssixにおいて、levaにおいてマッピングされたlevel値を用いて、byte rangeを格納することができる。
【０１３７】
次に、図１９を参照して、複数サンプルグループをまとめる方法３について説明する。方法３においては、同じレベルに設定されるサンプルグループがレベルアサインメントに複数定義される。すなわち、方法３においては、図１１のleva/aoifのレベルアサインに追加して、図１９に示されるleva/sgssのレベルアサインが行われる。
【０１３８】
図１９の左側から説明するに、sgpd(sample group description box)としては、grouping_type＝’aoif’に示されるように、図１３のオーディオオブジェクトサンプルグループ（エントリ）の構造体が使用される。entry_count=3に示されるように、sgpdには、３つのエントリが含まれている。３つのエントリは、インデックス１のエントリが0，0，0，0，0，0，0，0（null）の位置情報であり、インデックス２のエントリがΘx，yx，lx，Θ1x，Θ2x，y1x，y2x，l1x，l2xの位置情報である。インデックス３のエントリが0，0，0，0，0，0，0，0（null）の位置情報である。
【０１３９】
sgpd(sample group description box)のこれらの意味をレベルにアサインするために、sgpd(sample group description box)のエントリを、leva(level assignment box)のエントリにインデックス順に紐付ける。同じトラックのものであるので、levaのエントリは、すべて、track_id=1，padding_flag=0，assignment_type=0，grouping_type=’ aoif’’となっている。
【０１４０】
すなわち、図１９のlevaのエントリから読み取れるものは、Level1は、channel audioであり、オブジェクト情報はnullである。Lavel2は、object audioであり、オブジェクト情報はΘx，yx，lx，Θ1x，Θ2x，y1x，y2x，l1x，l2x である。Lavel3は、metadataであり、オブジェクト情報はnullである。
【０１４１】
そして、方法３においては、以上のようにして図１９のlevaのエントリから読み取れた解析結果と、図１１のlevaのエントリから読み取れた解析結果とから、目的のオブジェクトオーディオのレベルが解析される。
【０１４２】
以上説明したように、複数サンプルグループをまとめる方法が３種類あるが、それらの長短は、図２０に示されるようにまとめられる。
【０１４３】
図２０は、複数サンプルグループをまとめる方法１乃至３を比較して示す図である。
【０１４４】
方法１の良い点は、新規に定義するsgssから、別途定義されているサンプルグループを参照するだけなので、拡張のためのコストが不要である点である。方法１の悪い点は、拡張の汎用性がないため、同様な要件毎に対応する必要がある点である。
【０１４５】
方法２の良い点は、サンプルグループを複数まとめるサンプルグループを定義するため、汎用性が高く、どのような組み合わせであっても実現できる点である。方法２の悪い点は、サンプルグループをまとめる新規の拡張が必要になる点である。
【０１４６】
方法３の良い点は、サンプルグループ毎に、level assignment boxでレベル設定するだけなので、追加定義が不要で、運用規定の追加で対応可能である点である。方法３の悪い点は、サンプルグループをまとめる数だけlevel assignment boxが必要になり、ファイル内のデータ構造が冗長になる点である。
【０１４７】
以上のように、本技術においては、コーデックなどで個別に定義しているサブサンプル用の定義フラグを活用し、新たな汎用のサンプルグループを定義するようにした。
【０１４８】
また、複数サンプルグループをまとめるようにした。
【０１４９】
以上により、すべてのコーデックのサブサンプルが既存のsgpdとssixによるレベルのマッピングが可能となる。これにより、サンプル内の任意のサブサンプルへのアクセスを効率よく行うことができる。
【０１５０】
さらに、3dオーディオ以外、また、タイル以外の情報でも、セグメント内のデータ種別によるアクセスを実現することができる。
【０１５１】
次に、図１の情報処理システムを例に、上述した技術の具体例について以下に説明する。
【０１５２】
（ファイル生成装置の構成例）
図２１は、図１のファイル生成装置１１の構成例を示すブロック図である。
【０１５３】
図２１の例において、ファイル生成装置１１は、コンテンツデータを符号化し、同一のコンテンツでビットレートが異なる複数のMP4ファイル、および上述したMPDファイルを生成する。ファイル生成装置１１は、符号化部１５１、サブサンプル情報生成部１５２、MP4ファイルマルチプレクサ１５３、およびファイル送信部１５４を含むように構成されている。
【０１５４】
符号化部１５１は、コンテンツデータを、例えば、HEVCなどで符号化し、ビットストリームを生成し、生成したビットストリームをMP4ファイルマルチプレクサ１５３に供給する。また、符号化部１５１は、オブジェクトオーディオの位置情報とサブサンプル情報とをサブサンプル情報生成部１５２に供給する。なお、符号化の際、符号化部１５１は、ピクチャを複数のタイルに分割して符号化を行っており、タイルの場合、そのタイルの位置情報などタイルに関する情報もサブサンプル情報生成部１５２に供給される。
【０１５５】
サブサンプル情報生成部１５２は、符号化部１５１からのオーディオオブジェクトの位置情報に基づいて、サンプルグループ情報を生成する。このとき、レベル情報も生成される。また、サブサンプル情報生成部１５２は、生成されたサンプルグループ情報に基づいて、MPEG-DASHに準拠したMP4ファイルのmoofに含まれるサブサンプル情報のssis情報を生成する。サブサンプル情報生成部１５２は、生成したオーディオオブジェクトの位置情報のサンプルグループ情報と、レベル情報と、サブサンプル情報のssix情報とを、MP4ファイルマルチプレクサ１５３に供給する。
【０１５６】
MP4ファイルマルチプレクサ１５３は、符号化部１５１からのビットストリームから、MPEG-DASHに準拠したMP4ファイルを生成し、サブサンプル情報生成部１５２からのオーディオオブジェクトの位置情報のサンプルグループ情報と、レベル情報と、サブサンプル情報のssix情報とを多重化する。すなわち、サブサンプル情報とgsix情報とが多重化されたMP4ファイルが生成される。なお、具体的には、サブサンプル情報は、moof内のサブサンプルインフォメーションボックスに格納される。
【０１５７】
MP4ファイルマルチプレクサ１５３により多重化されて生成されたMP4ファイルは、ファイル送信部１５４に供給される。ファイル送信部１５４は、MP4ファイルを、Webサーバ１２に送信し、図示せぬ記憶部に記憶させる。
【０１５８】
なお、図１０の例においては、図示されていないが、実際には、ファイル生成装置１１には、MPDファイル生成部も構成され、そこでMPDファイルが生成される。そして、生成されたMPDファイルは、ファイル送信部１５４によりWebサーバ１２の図示せぬ記憶部に記憶される。
【０１５９】
（ファイル生成処理）
次に、図２２のフローチャートを参照して、ファイル生成装置１１によるファイル生成処理について説明する。
【０１６０】
符号化部１５１は、ステップＳ１０１において、コンテンツデータを、例えば、HEVCなどで符号化し、ビットストリームを生成する。符号化部１５１は、生成したビットストリームをMP4ファイルマルチプレクサ１５３に供給する。
【０１６１】
符号化部１５１は、オブジェクトオーディオの位置情報とサブサンプル情報とをサブサンプル情報生成部１５２に供給する。
【０１６２】
これに対応して、ステップＳ１０２において、サブサンプル情報生成部１５２は、オブジェクトオーディオの位置情報とサブサンプル情報と取得する。
【０１６３】
ステップＳ１０３において、サブサンプル情報生成部１５２は、オーディオオブジェクトの位置情報に基づいて、オブジェクトオーディオの位置情報のサンプルグループ情報を生成する。すなわち、ステップＳ１０３においては、図１４乃至図１９を参照して上述した方法１乃至方法３に応じて、aoif，leva，sgss，sgsgなどのサブサンプルアクセス情報が生成される。
【０１６４】
ステップＳ１０４において、サブサンプル情報生成部１５２は、サブサンプル情報のssixを生成する。サブサンプル情報生成部１５２は、生成したオーディオオブジェクトの位置情報のサンプルグループ情報と、レベル情報と、サブサンプル情報のssix情報とを、MP4ファイルマルチプレクサ１５３に供給する。
【０１６５】
ステップＳ１０５において、MP4ファイルマルチプレクサ１５３は、符号化部１５１からのHEVCビットストリームから、MPEG-DASHに準拠したMP4ファイルを生成し、サブサンプル情報生成部１５２からのオーディオオブジェクトの位置情報のサンプルグループ情報と、レベル情報と、サブサンプル情報のssix情報とを多重化する。すなわち、オーディオオブジェクトの位置情報のサンプルグループ情報と、レベル情報と、サブサンプル情報のssix情報とが多重化されたMP4ファイルが生成される。なお、具体的には、サブサンプル情報は、moofのサブサンプルインフォメーションボックスに格納される。
【０１６６】
MP4ファイルマルチプレクサ１５３により多重化されて生成されたMP4ファイルは、ファイル送信部１５４に供給される。ファイル送信部１５４は、ステップＳ１０５において、MP4ファイルを、Webサーバ１２に送信し、図示せぬ記憶部に記憶させる。
【０１６７】
（オブジェクトオーディオ再生処理の例）
次に、図２３のフローチャートを参照して、動画再生端末１４のオブジェクトオーディオ再生処理について説明する。
【０１６８】
ステップＳ１２１において、ストリーミング制御部２１は、Webサーバ１２の図示せぬ記憶部のMPDファイルを解析し、取得するセグメントファイルのURL（アクセス）情報を取得する。すなわち、ストリーミング制御部２１は、解析したMPDファイルに基づいて、画面サイズや伝送路の状態を加味して、それに合わせた最適な画像サイズ、タイルや符号化速度を選択することで、取得するセグメントファイルのURL（アクセス）情報を取得する。このアクセス情報は、HTTPアクセス部２３に供給される。
【０１６９】
ステップＳ１２２において、HTTPアクセス部２３は、ストリーミング制御部２１からのアクセス情報を用いて、所望の符号化速度のMP4ファイルのInitial segmentを取得する。
【０１７０】
ステップＳ１２３において、ストリーミング制御部２１は、再生したい位置情報のオブジェクト（ａ）に対応したレベルを解析する。このレベル解析処理については、図２４乃至図２６を参照して後述される。ステップＳ１２４において、HTTPアクセス部２３は、セグメントファイルの先頭からsidx/ssixを取得する。
【０１７１】
ステップＳ１２５において、ストリーミング制御部２１は、ステップＳ１２３により解析されたレベルに基づいて、HTTPアクセス部２３より取得されたsidx/ssixから、セグメントファイル内のオブジェクト（ａ）のインデックス番号のレンジを解析する。
【０１７２】
ステップＳ１２６において、HTTPアクセス部２３は、オブジェクト（ａ）だけを、HTTPでWebサーバ１２から取得する。すなわち、HTTPアクセス部２３は、ストリーミング制御部２１により解析されたセグメントファイル内のオブジェクト（ａ）のインデックス番号のレンジに基づいて、オブジェクト（ａ）だけを、HTTPでWebサーバ１２から取得する。
【０１７３】
ステップＳ１２７において、音声再生部３１は、ストリーミング制御部２１の制御のもと、HTTPアクセス部２３からのオブジェクト（ａ）のオーディオデータを再生する。すなわち、音声再生部３１は、HTTPアクセス部２３からのオブジェクト（ａ）のオーディオデータを復号処理して、図示せぬスピーカに出力する。
【０１７４】
次に、図２４のフローチャートを参照して、図２３のステップＳ１２３のレベル解析処理の例について説明する。図２４の例においては、図１４および図１５を参照して上述した複数サンプルグループをまとめる方法１の場合のレベル解析処理が示されている。
【０１７５】
ステップＳ１５１において、ストリーミング制御部２１は、aoif（図１５のオーディオオブジェクトサンプルグループ）から位置情報を解析する。
【０１７６】
ステップＳ１５２において、ストリーミング制御部２１は、leva(図１５のレベルアサインメントボックス)とsgss（図１５のサブサンプルサンプルグループ）から目的のaoifのインデックスを参照する。
【０１７７】
ステップＳ１５３において、ストリーミング制御部２１は、オブジェクトオーディオのレベルを解析する。
【０１７８】
以上のようにして、複数サンプルグループをまとめる方法１の場合、レベルが解析される。
【０１７９】
次に、図２５のフローチャートを参照して、図２３のステップＳ１２３のレベル解析処理の例について説明する。図２５の例においては、図１６乃至図１８を参照して上述した複数サンプルグループをまとめる方法２の場合のレベル解析処理が示されている。
【０１８０】
ステップＳ１７１において、ストリーミング制御部２１は、aoif（図１７のＡのオーディオオブジェクトサンプルグループ）から位置情報を解析する。
【０１８１】
ステップＳ１７２において、ストリーミング制御部２１は、sgss（図１７のＢのサブサンプルグループ）からオブジェクトオーディオ情報を解析する。
【０１８２】
ステップＳ１７３において、ストリーミング制御部２１は、leva(図１８のレベルアサインメントボックス)とsgsg（図１８のサンプルグループセット）から目的のaoifのレベルを解析する。
【０１８３】
以上のようにして、複数サンプルグループをまとめる方法２の場合、レベルが解析される。
【０１８４】
次に、図２６のフローチャートを参照して、図２３のステップＳ１２３のレベル解析処理の例について説明する。図２６の例においては、図１９を参照して上述した複数サンプルグループをまとめる方法３の場合のレベル解析処理が示されている。
【０１８５】
ステップＳ１９１において、ストリーミング制御部２１は、leva(図１９のレベルアサインメントボックス)とaoif（図１９のオーディオオブジェクトサンプルグループ）から位置情報を解析する。
【０１８６】
ステップＳ１９２において、ストリーミング制御部２１は、leva(図１１のレベルアサインメントボックス)とsgss（図１１のサブサンプルグループ）から目的のレベルを解析する。
【０１８７】
ステップＳ１９３において、ストリーミング制御部２１は、ステップＳ１９２による解析結果から、目的のオブジェクトオーディオのレベル情報を解析する。
【０１８８】
以上のようにして、複数サンプルグループをまとめる方法３の場合、レベルが解析される。
【０１８９】
以上のように、本技術においては、コーデックなどで個別に定義しているサブサンプル用の定義フラグを活用し、新たな汎用のサンプルグループを定義するようにした。
【０１９０】
また、複数サンプルグループをまとめるようにした。
【０１９１】
以上により、すべてのコーデックのサブサンプルが既存のsgpdとssixによるレベルのマッピングが可能となる。これにより、サンプル内の任意のサブサンプルへのアクセスを効率よく行うことができる。
【０１９２】
本技術は、3dオーディオ以外、また、タイル以外の情報にも適用することができる。これにより、セグメント内のデータ種別によるアクセスを実現することができる。
【０１９３】
なお、上記説明においては、HEVCにより符号化されたビットストリームをファイル化する例を説明したが、符号化方法は、複数に分割されているファイルを符号化する符号化方法であれば、HEVCに限らない。
【０１９４】
また、上記説明においては、MP4ファイルフォーマットの例を説明したが、ファイルフォーマットは、MP4ファイルフォーマットまたはAVCファイルフォーマットには限定されない。本技術による課題・効果が同じであれば、別のファイルフォーマット、伝送する際に用いるストリーム、ファイルに格納する際に用いるストリームに対して、同様に適用することができる。
【０１９５】
なお、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１９６】
図２７は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１９７】
コンピュータ８００において、CPU（Central Processing Unit）８０１，ROM（Read Only Memory）８０２，RAM（Random Access Memory）８０３は、バス８０４により相互に接続されている。
【０１９８】
バス８０４には、さらに、入出力インタフェース８０５が接続されている。入出力インタフェース８０５には、入力部８０６、出力部８０７、記憶部８０８、通信部８０９、及びドライブ８１０が接続されている。
【０１９９】
入力部８０６は、キーボード、マウス、マイクロホンなどよりなる。出力部８０７は、ディスプレイ、スピーカなどよりなる。記憶部８０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部８０９は、ネットワークインタフェースなどよりなる。ドライブ８１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体８１１を駆動する。
【０２００】
以上のように構成されるコンピュータでは、CPU８０１が、例えば、記憶部８０８に記憶されているプログラムを、入出力インタフェース８０５及びバス８０４を介して、RAM８０３にロードして実行することにより、上述した一連の処理が行われる。
【０２０１】
コンピュータ８００（CPU８０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体８１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０２０２】
コンピュータでは、プログラムは、リムーバブル記録媒体８１１をドライブ８１０に装着することにより、入出力インタフェース８０５を介して、記憶部８０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部８０９で受信し、記憶部８０８にインストールすることができる。その他、プログラムは、ROM８０２や記憶部８０８に、あらかじめインストールしておくことができる。
【０２０３】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２０４】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２０５】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０２０６】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０２０７】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０２０８】
また、例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２０９】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２１０】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２１１】
なお、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０２１２】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２１３】
なお、本技術は以下のような構成も取ることができる。
（１）  画像が複数のサブサンプルに分割されたコンテンツを符号化して生成されたビットストリームを含むファイルにおいて、サブサンプルを定義するための定義フラグを用いてサブサンプルのサンプルグループを定義して、サブサンプルにアクセスするためのサブサンプルアクセス情報を生成するサブサンプル情報生成部と、
前記サブサンプル情報生成部により生成されたサブサンプルアクセス情報を多重化して、前記ファイルを生成するファイル生成部
を備えるファイル生成装置。
（２）  前記サブサンプル情報生成部は、定義されたサブサンプルのサンプルグループをレベルにマップして、前記サブサンプルアクセス情報を生成する
前記（１）に記載のファイル生成装置。
（３）  前記サブサンプル情報生成部は、サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとをまとめてから、レベルにマップして、前記サブサンプルアクセス情報を生成する
前記（１）または（２）に記載のファイル生成装置。
（４）  前記サブサンプル情報生成部は、サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとへの参照情報を格納するサンプルグループを定義することでまとめてから、前記参照情報を格納するサンプルグループをレベルにマップして、前記サブサンプルアクセス情報を生成する
前記（１）乃至（３）のいずれかに記載のファイル生成装置。
（５）  前記サブサンプル情報生成部は、サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとを束ねるサンプルグループセットを定義することでまとめてから、前記参照情報を格納するサンプルグループをレベルにマップして、前記サブサンプルアクセス情報を生成する
前記（１）乃至（３）のいずれかに記載のファイル生成装置。
（６）  前記サブサンプル情報生成部は、サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとをまとめてから、それぞれのサンプルグループをレベルにそれぞれマップして、前記サブサンプルアクセス情報を生成する
前記（１）乃至（３）のいずれかに記載のファイル生成装置。
（７）  前記サブサンプルは、タイルである
前記（１）乃至（６）のいずれかに記載のファイル生成装置。
（８）  前記サブサンプルは、3Dオーディオである
前記（１）乃至（７）のいずれかに記載のファイル生成装置。
（９）  前記画像が複数のサブサンプルに分割されたコンテンツを符号化して、前記ビットストリームを生成する符号化部を
さらに備える前記（１）乃至（８）のいずれかに記載のファイル生成装置。
（１０）  ファイル生成装置が、
画像が複数のサブサンプルに分割されたコンテンツを符号化して生成されたビットストリームを含むファイルにおいて、サブサンプルを定義するための定義フラグを用いてサブサンプルのサンプルグループを定義して、サブサンプルにアクセスするためのサブサンプルアクセス情報を生成し、
生成されたサブサンプルアクセス情報を多重化して、前記ファイルを生成する
ファイル生成方法。
（１１）  画像が複数のサブサンプルに分割されたコンテンツを符号化して生成されたビットストリームを含むファイルにおいて、サブサンプルを定義するための定義フラグを用いてサブサンプルのサンプルグループを定義して、サブサンプルにアクセスするためのサブサンプルアクセス情報が生成され、多重化されたファイルから、サブサンプルアクセス情報を取得する情報取得部と、
前記取得部により取得されたサブサンプルアクセス情報を用いて、任意のサブサンプルを取得するサンプル取得部と、
前記サンプル取得部により取得された任意のサブサンプルを再生する再生部と
を備えるコンテンツ再生装置。
（１２）  前記サブサンプルアクセス情報は、定義されたサブサンプルのサンプルグループをレベルにマップして生成されている
前記（１１）に記載のコンテンツ再生装置。
（１３）  前記サブサンプルアクセス情報は、サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとをまとめてから、レベルにマップして生成されている
前記（１１）または（１２）に記載のコンテンツ再生装置。
（１４）  前記サブサンプルアクセス情報は、サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとへの参照情報を格納するサンプルグループを定義することでまとめてから、前記参照情報を格納するサンプルグループをレベルにマップして生成されている
前記（１１）乃至（１３）のいずれかに記載のコンテンツ再生装置。
（１５）  前記サブサンプルアクセス情報は、サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとを束ねるサンプルグループセットを定義することでまとめてから、前記参照情報を格納するサンプルグループをレベルにマップして生成されている
前記（１１）乃至（１３）のいずれかに記載のコンテンツ再生装置。
（１６）  前記サブサンプルアクセス情報は、サブサンプルの位置情報を表現するサンプルグループと、前記サブサンプルのサンプルグループとをまとめてから、それぞれのサンプルグループをレベルにそれぞれマップして生成されている
前記（１１）乃至（１３）のいずれかに記載のコンテンツ再生装置。
（１７）  前記サブサンプルは、タイルである
前記（１１）乃至（１６）のいずれかに記載のコンテンツ再生装置。
（１８）  前記サブサンプルは、3Dオーディオである
前記（１１）乃至（１６）のいずれかに記載のコンテンツ再生装置。
（１９）  前記コンテンツは、ネットワークを介して接続されるサーバに記憶されている
前記（１１）乃至（１８）のいずれかに記載のコンテンツ再生装置。
（２０）  コンテンツ再生装置が、
画像が複数のサブサンプルに分割されたコンテンツを符号化して生成されたビットストリームを含むファイルにおいて、サブサンプルを定義するための定義フラグを用いてサブサンプルのサンプルグループを定義して、サブサンプルにアクセスするためのサブサンプルアクセス情報が生成され、多重化されたファイルから、サブサンプルアクセス情報を取得し、
取得されたサブサンプルアクセス情報を用いて、任意のサブサンプルを取得し、
取得された任意のサブサンプルを再生する
コンテンツ再生方法。
【符号の説明】
【０２１４】
１０  情報処理システム，  １１  ファイル生成装置，  １２  Webサーバ，  １３  インターネット，  １４  動画再生端末，  ２１  ストリーミング制御部，  ２２  再生部，２３  HTTPアクセス部，  ３１  音声再生部，  ３２  動画再生部，  １５１  符号化部，  １５２  サブサンプル情報生成部，  １５３  MP4ファイルマルチプレクサ，  １５４  ファイル送信部
【図１】
0006493403.tif 000002
【図２】
0006493403.tif 000003
【図３】
0006493403.tif 000004
【図４】
0006493403.tif 000005
【図５】
0006493403.tif 000006
【図６】
0006493403.tif 000007
【図７】
0006493403.tif 000008
【図８】
0006493403.tif 000009
【図９】
0006493403.tif 000010
【図１０】
0006493403.tif 000011
【図１１】
0006493403.tif 000012
【図１２】
0006493403.tif 000013
【図１３】
0006493403.tif 000014
【図１４】
0006493403.tif 000015
【図１５】
0006493403.tif 000016
【図１６】
0006493403.tif 000017
【図１７】
0006493403.tif 000018
【図１８】
0006493403.tif 000019
【図１９】
0006493403.tif 000020
【図２０】
0006493403.tif 000021
【図２１】
0006493403.tif 000022
【図２２】
0006493403.tif 000023
【図２３】
0006493403.tif 000024
【図２４】
0006493403.tif 000025
【図２５】
0006493403.tif 000026
【図２６】
0006493403.tif 000027
【図２７】
0006493403.tif 000028