JP7517324B2 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JP7517324B2
JP7517324B2 JP2021504982A JP2021504982A JP7517324B2 JP 7517324 B2 JP7517324 B2 JP 7517324B2 JP 2021504982 A JP2021504982 A JP 2021504982A JP 2021504982 A JP2021504982 A JP 2021504982A JP 7517324 B2 JP7517324 B2 JP 7517324B2
Authority
JP
Japan
Prior art keywords
segment
sample
group
switching
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021504982A
Other languages
English (en)
Other versions
JPWO2020184357A1 (ja
Inventor
義行 小林
俊也 浜田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Group Corp filed Critical Sony Corp
Priority claimed from PCT/JP2020/009311 external-priority patent/WO2020184357A1/ja
Publication of JPWO2020184357A1 publication Critical patent/JPWO2020184357A1/ja
Application granted granted Critical
Publication of JP7517324B2 publication Critical patent/JP7517324B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本開示は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
ストリーミング再生において、視点切り替えや音声の言語切り替え等によりコンテンツが切り替えられた場合、ビットストリームを分割したセグメント単位でコンテンツの切り替えが実行される。
Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 3: 3D audio, AMENDMENT 2: MPEG-H 3D Audio File Format Support INTERNATIONAL STANDARD ISO/IEC 14496-12 Information technology - Coding of audio-visual objects - Part 12: ISO base media file format INTERNATIONAL STANDARD ISO/IEC 23009-1 Information technology - Dynamic adaptive streaming over HTTP (DASH) - Part 1: Media presentation description and segment formats
しかしながら、コンテンツ製作者により設定されたセグメント長が長い場合、セグメント単位でコンテンツの切り替えが実行されているため、切り替え後のコンテンツの出力を開始するまでに時間がかかり、切り替え遅延としてユーザに認識されていた。
そこで、本開示では、コンテンツの切り替えにかかる時間を短縮することができる情報処理装置、情報処理方法及び情報処理プログラムを提案する。
上記の課題を解決するために、本開示に係る一形態の情報処理装置は、複数のセグメントを有するセグメントファイルと、前記セグメントファイルが属するグループが設定された設定ファイルとを受信する受信部と、前記受信部が受信した前記セグメントファイルの前記セグメントに1以上含まれるMP4サンプルを抽出して、当該MP4サンプルの再生開始時間を含む属性情報を当該MP4サンプルに付加する抽出部と、受け付けた前記グループを切り替える操作と、前記属性情報に基づいて、切り替え後の前記グループに属する前記セグメントファイルを出力させる切り替え位置を前記MP4サンプル単位で決定する決定部と、前記切り替え位置から切り替え後の前記グループに属する前記セグメントファイルから生成した出力信号を前記出力装置に出力する出力部と、を備える。
本開示の第1の実施形態に係るストリーミングシステムの構成例を示す図である。 本開示の第1の実施形態に係るサーバ装置の構成例を示す図である。 本開示の第1の実施形態に係るセグメントファイルのデータ構成例を示す図である。 本開示の第1の実施形態に係るメディアセグメントのデータ構成例を示す図である。 本開示の第1の実施形態に係るMPDファイルのデータ構成例を示す図である。 本開示のセグメントファイルのグループの一例を説明する図である。 本開示の第1の実施形態に係るクライアント装置の構成例を示す図である。 本開示の第1の実施形態に係るHTTPアクセス制御部の構成例を示す図である。 本開示の第1の実施形態に係るセグメントバッファに記憶されたセグメントのデータ構成例を示す図である。 本開示の第1の実施形態に係るメディアエンジンの構成例を示す図である。 本開示の第1の実施形態に係るMP4サンプルバッファに記憶されたMP4サンプルのデータ構成例を示す図である。 本開示の第1の実施形態に係る3Dオーディオデコーダの構成例を示す図である。 本開示の第1の実施形態に係る出力バッファに記憶された出力信号のデータ構成例を示す図である。 本開示の第1の実施形態に係るクライアント装置が実行するストリーミング再生処理の一例を示すフローチャートである。 本開示の第1の実施形態に係るHTTPアクセス制御部が実行するダウンロード処理の一例を示すフローチャートである。 本開示の第1の実施形態に係るメディアエンジンが実行するメディアエンジン処理の一例を示すフローチャートである。 本開示の第1の実施形態に係る抽出部が実行するデマルチプレックス処理の一例を示すフローチャートである。 本開示の第1の実施形態に係る抽出部が実行するデコード処理の一例を示すフローチャートである。 本開示の第1の実施形態に係る3Dオーディオデコーダが実行する1次デコード処理の一例を示すフローチャートである。 本開示の第1の実施形態に係る3Dオーディオデコーダが実行する2次デコード処理の一例を示すフローチャートである。 本開示の第1の実施形態に係るクライアント装置が実行するコンテンツのグループ切り替え処理の一例を示すフローチャートである。 本開示の第1の実施形態に係るクライアント装置が実行する処理時間算出処理の一例を示すフローチャートである。 本開示の第1の実施形態に係る出力バッファでの切り替えの一例を示す説明図である。 本開示の図23に示す図において切り替え後のグループに属するメタデータBのビットストリームを受信した場合の一例を示す説明図である。 本開示の第1の実施形態に係るMP4サンプルバッファでの切り替えの一例を示す説明図である。 本開示の図25に示す図において切り替え後のグループに属するメタデータBのビットストリームを受信した場合の一例を示す説明図である。 本開示の第1の実施形態に係るセグメントバッファでの切り替えの一例を示す説明図である。 本開示の図27に示す図において切り替え後のグループに属するメタデータBのビットストリームを受信した場合の一例を示す説明図である。 本開示の第1の実施形態に係るクライアント装置が実行するグループの切り替え位置の決定処理の一例を示すフローチャートである。 本開示の切り替え後のセグメントファイルのダウンロードの一例を示す説明図である。 本開示の第1の実施形態に係るクライアント装置が実行する切り替え後のグループのダウンロード処理の一例を示すフローチャートである。 本開示の第1の実施形態に係るクライアント装置が実行する切り替え後のグループに属するセグメントのデマルチプレックス処理の一例を示すフローチャートである。 本開示の第1の実施形態に係るクライアント装置が実行する切り替え後のグループに属するMP4サンプルのデコード処理の一例を示すフローチャートである。 本開示の第1の実施形態に係るクライアント装置が実行する切り替え後のグループに属する出力信号の出力処理の一例を示すフローチャートである。 本開示の変形例(1)に係るMP4サンプルバッファに記憶されたMP4サンプルのデータ構成例を示す図である。 本開示の変形例(1)に係る抽出部が実行するデマルチプレックス処理の一例を示すフローチャートである。 本開示の変形例(1)に係るクライアント装置が実行するグループの切り替え位置の決定処理の一例を示すフローチャートである。
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
例えば、MPEG(Moving Picture Experts Group)-DASH(Dynamic Adaptive Streaming over HTTP)規格によりコンテンツのストリーミング再生を実行する場合、クライアントは、MPD(Media Presentation Description)ファイルをサーバ装置から取得する。そして、クライアントは、MPDファイルに基づいて、コンテンツが有する一又は複数のセグメントファイルを取得する。すなわち、クライアントは、サーバ装置から送信されたセグメントファイルのビットストリームを受信する。
セグメントファイルは、例えば音声オブジェクトや、メタデータ等のデータである。音声オブジェクトは、音場を生成するための構成要素となる素材音である。例えば、音楽の場合、音声オブジェクトは、ギターの音や、ドラムの音など楽器の音等である。なお、何を音声オブジェクトとして扱うかについてはコンテンツ製作者により決定される。メタデータは、所定の基準となる視聴位置からの相対位置により表される音声オブジェクトの定位情報である。また、音声オブジェクトと、メタデータとは、グループ化により関連付けられている。すなわち、セグメントファイルは、グループ化により関連付けられている。そして、クライアントは、メタデータに基づいて、音声オブジェクトを再生させることで、ユーザの視聴位置に応じた音声を再生することができる。
ところで、視聴位置の切り替えや音声言語の切り替え等によりコンテンツのグループが切り替えられた場合、クライアントは、切り替え後のグループのビットストリームを受信する。この時、クライアントは、セグメントファイルを形成するセグメント単位で、グループの切り替えを行っている。すなわち、クライアントは、バッファに記憶された切り替え前のグループのビットストリームを再生した後に、セグメント単位で切り替え後のグループのビットストリームを再生している。
セグメント長は、コンテンツ製作者により設定される。そのため、セグメント長が長く設定されている場合、クライアントは、切り替え前のグループのビットストリームの再生が終了するまでに時間がかかっていた。すなわち、クライアントは、切り替え後のグループのビットストリームの再生を開始するまでに時間がかかり、切り替え遅延としてユーザに認識されていた。
そこで、以下の実施形態により、コンテンツの切り替えにかかる時間を短縮することができる情報処理装置、情報処理方法及び情報処理プログラムについて説明する。
(第1の実施形態)
[第1の実施形態に係るシステムの構成]
図1は、第1の実施形態に係るストリーミングシステム1の構成例を示す図である。ストリーミングシステム1は、サーバ装置10と、クライアント装置20と、出力装置30とを備えている。サーバ装置10と、クライアント装置20とは、インターネット等のネットワークを介して通信可能に接続されている。また、クライアント装置20と、出力装置30とは、通信可能に接続されている。図1には、サーバ装置10と、クライアント装置20と、出力装置30とが一台ずつ記載されているが、各装置の台数は複数台であってもよい。なお、第1の実施形態では、ストリーミング再生の対象が音声である場合を例に説明する。しかし、ストリーミング再生の対象は、音声に限らず、動画であってもよいし、音声と動画との組み合わせであってもよい。
この場合、サーバ装置10は、例えばテクスチャと、頂点データとを分離して配信する。更に詳しくは、サーバ装置10は、テクスチャ群を一枚のビデオフレームにまとめてMPEG4-AVCで圧縮したビデオストリームとテクスチャマッピングに使用する頂点データ(ポリゴン)を異なるMP4ファイルで配信する。そして、クライアント装置20は、テクスチャの一次デコードではビデオストリームを復号してYUV信号を出力する。また、クライアント装置20は、頂点データの一次デコードでは頂点データを復号して2次元の座標データのリストを出力する。そして、クライアント装置20は、二次デコードではテクスチャマッピングを実行しベースバンドのYUV信号を出力する。
サーバ装置10は、例えばHTTP(Hypertext Transfer Protocol)サーバである。サーバ装置10は、クライアント装置20からの要求に応じて、音声や動画等のコンテンツを送信する。この時、サーバ装置10は、コンテンツとして、MPEG-H 3D Audio方式で符号化されたビットストリームを送信する。
クライアント装置20は、サーバ装置10から送信されたコンテンツを再生する情報処理装置である。クライアント装置20は、例えば、通信機能、一次デコード機能、二次デコード機能、及び出力機能を備えている。通信機能は、HTTPプロトコルに準拠した通信を行う機能である。例えば、通信機能は、MPEG-H 3D Audio方式で符号化されたビットストリームを受信する。
ここで、MPEG-H 3D Audio符号化方式では、音声オブジェクトと、メタデータとを独立して符号化することができる。そして、MPEG-H 3D Audio符号化方式では、音声オブジェクトと、メタデータとを別々に伝送することができる。このように、音声オブジェクトとメタデータを別々に伝送することで、従来の符号化方式では困難だった特定の音源を再生時に容易に加工(例えば、音量の調整や、エフェクトの追加など)することができる。さらに、対応するメタデータを用いて音声オブジェクトのレンダリングを実行し、再生環境(スピーカー配置等)を構成する各スピーカーにレンダリングしたデータを割り当てることで、3次元的に音声を再生することができる。
一次デコード機能は、圧縮された音声オブジェクトの信号データを伸張する処理と、符号化されたメタデータから位置情報を取り出す処理とを実行する機能である。二次デコード機能は、対応するメタデータを用いて音声オブジェクトのレンダリングを実行する機能である。出力機能は、二次デコード後の音声データをスピーカー等の出力装置30に出力する機能である。
出力装置30は、例えば、スピーカー等の音声出力装置である。なお、出力装置30は、音声出力装置に限らず、ディスプレイ等の画像出力装置であってもよい。
[第1の実施形態に係るサーバ装置10の構成]
図2は、第1の実施形態に係るサーバ装置10の構成例を示す図である。サーバ装置10は、通信部11と、記憶部12と、制御部13とを備える。
通信部11は、例えば、NIC(Network Interface Card)等によって実現される。通信部11は、ネットワークを介して、クライアント装置20との間で情報の送受信を行う。
記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部12は、例えば、セグメントファイル121と、MPDファイル122とを記憶する。なお、セグメントファイル121と、MPDファイル122とは、サーバ装置10に限らず、他の装置が記憶していてもよい。
セグメントファイル121は、音声オブジェクト等のメディアがセグメント単位で分割されたMP4形式のファイルである。また、セグメントファイル121は、MPDファイル122で参照されている。ここで、図3は、第1の実施形態に係るセグメントファイル121のデータ構成例を示す図である。セグメントファイル121は、イニシャライゼーションセグメントと、一又は複数のメディアセグメントとを有している。そして、図3に示すセグメントファイル121は、N個のメディアセグメント有している状態を示している。イニシャライゼーションセグメントは、復号処理の初期化情報などである。メディアセグメントは、音声オブジェクト等のメディアがセグメント単位で分割された情報である。
ここで、図4は、第1の実施形態に係るメディアセグメントのデータ構成例を示す図である。図4に示すメディアセグメントは、図3のメディアセグメント(1)を示している。メディアセグメントは、メディアセグメントを細分化したMP4サンプルと呼ばれるデータを有している。そして、図4に示すメディアセグメントは、K個のMP4サンプルを有している状態を示している。
図2に戻り、MPDファイル122は、ストリーミング再生に必要な情報がXML(Extensible Markup Language)形式で記述されたファイルである。ここで、図5は、第1の実施形態に係るMPDファイル122のデータ構成例を示す図である。MPDファイル122には、一又は複数のPeriod要素を有している。Period要素には、番組やコンテンツ等の単位の情報が記述されている。また、Period要素には、一又は複数のAdaptationSet要素を有している。
AdaptationSet要素には、映像、音声、テキスト等のメディア種別が記述されている。また、AdaptationSet要素には、字幕や、吹き替え等の異なる用途の情報が記述されていてもよい。また、AdaptationSet要素には、一又は複数のRepresentation要素を有している。Representation要素には、動画、音声のコーデック、ビットレート、動画の解像度等の情報が記述されている。また、Representation要素には、セグメントファイル121の格納場所等が記述されている。
また、Period要素には、一又は複数のpreselection要素を有している。preselection要素には、セグメントファイル121が属するグループが記述されている。更に詳しくは、preselection要素には、preselectionComponents属性において列挙されたRepresentation要素が示すセグメントファイル121が属するグループが記述されている。
ここで、図6は、セグメントファイル121のグループの一例を説明する図である。図6に示すPeriod要素は、3つのAdaptationSet要素を有している。また、各AdaptationSet要素は、Representation要素が含まれている。そして、Representation要素では、コンテンツを構成するセグメントファイル121が指し示されている。
ID属性が「1」のpreselection要素において、メタデータを有する「メタデータA.mp4」と、音声オブジェクトを有する「メディアC.mp4」とがグループ化されたことが示されている。また、ID属性が「2」のpreselection要素において、メタデータを有する「メタデータB.mp4」と、音声オブジェクトを有する「メディアC.mp4」とがグループ化されたことが示されている。すなわち、「メディアC.mp4」は、両グループにおいて共用されることを示している。なお、以下において、MPDファイル122に記述されたpreselection要素の登場順をグループ情報と呼称する。また、MPDファイル122に記述されたRepresentation要素の登場順をビットストリーム番号と呼称する。
図2に戻り、制御部13は、サーバ装置10の動作を統括的に制御する。例えば、制御部13は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサにより実現される。例えば、制御部13は、記憶部等に記憶されている各種プログラムを、RAM(Random Access Memory)等を作業領域として実行することにより各種機能を実現する。なお、制御部13は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
制御部13は、例えば通信制御部131、及び生成部132を備えている。
通信制御部131は、通信部11を制御して、クライアント装置20との通信を実行する。
生成部132は、通信制御部131がクライアント装置20から受信した要求に応じた情報を生成する。そして、生成部132は、生成した情報を通信制御部131に送信させる。例えば、生成部132は、MPDファイル122やセグメントファイル121を通信制御部131に送信させる。
[第1の実施形態に係るクライアント装置20の構成]
図7は、第1の実施形態に係るクライアント装置20の構成例を示す図である。クライアント装置20は、通信部21と、入力部22と、記憶部23と、制御部24とを備える。
通信部21は、例えば、NIC等によって実現される。通信部21は、ネットワークを介して、クライアント装置20との間で情報の送受信を行う。
入力部22は、ユーザからの操作を受け付ける入力装置である。例えば、入力部22は、コンテンツのグループを切り替える操作を受け付ける。
記憶部23は、例えば、RAMや、フラッシュメモリ等の半導体メモリ素子、または、ハードディスクや、光ディスク等の記憶装置によって実現される。
制御部24は、クライアント装置20の動作を統括的に制御する。例えば、制御部24は、CPU、MPU等のプロセッサにより実現される。例えば、制御部24は、記憶部等に記憶されている各種プログラムを、RAM等を作業領域として実行することにより各種機能を実現する。なお、制御部24は、ASICやFPGA等の集積回路により実現されてもよい。
制御部24は、例えば、HTTPアクセス制御部25、アプリケーション制御部26、及びメディアエンジン27を備えている。
HTTPアクセス制御部25は、通信部21を制御して、HTTPプロトコルに準拠した通信を実行する。例えば、HTTPアクセス制御部25は、MPDファイル122及びセグメントファイル121を受信する。また、HTTPアクセス制御部25は、MPDファイル122を受信した場合に、MPDファイル122をアプリケーション制御部26に出力する。また、HTTPアクセス制御部25は、セグメントファイル121を受信した場合に、イニシャライゼーションセグメントをアプリケーション制御部26に出力する。
また、HTTPアクセス制御部25は、メディアセグメント等のセグメントを受信した場合に、受信したセグメントをセグメントバッファ252(図8参照)に記憶させる。この時、HTTPアクセス制御部25は、後述するセグメント属性情報を付加して、セグメントバッファ252(図8参照)に記憶させる。
また、HTTPアクセス制御部25は、セグメントバッファ252(図8参照)に記憶したセグメント属性情報をアプリケーション制御部26に出力する。さらに、HTTPアクセス制御部25は、セグメントバッファ252(図8参照)に記憶したセグメント属性情報が付加されたセグメントをメディアエンジン27に出力する。
アプリケーション制御部26は、入力部22を制御して、ストリーミング再生を制御する操作を受け付ける。例えば、アプリケーション制御部26は、ストリーミング再生開始、及びストリーミング再生停止、コンテンツのグループの切り替え等の操作を受け付ける。また、アプリケーション制御部26は、コンテンツのグループを切り替える操作を受け付けた場合に、切り替え位置(出力時刻、セグメント番号、MP4サンプル番号、および、ビットストリーム番号)を特定する。なお、切り替え位置のセグメント番号、MP4サンプル番号は、ビットストリームごとに異なる場合があるためビットストリーム番号も必要となる。
また、アプリケーション制御部26は、HTTPアクセス制御部25がMPDファイル122を受信した場合に、MPDファイル122に指定されているイニシャライゼーションセグメントから初期化情報を抽出して、3Dオーディオデコーダ273(図10参照)を初期化する。
また、アプリケーション制御部26は、MPDファイル122からダウンロードすべきセグメントファイル121を選択する。また、アプリケーション制御部26は、MPDファイル122からpreselection要素を読み出し、セグメントファイル121のビットストリームをグループ化する。
メディアエンジン27は、HTTPアクセス制御部25から出力されたセグメントを復号化した出力信号を出力装置30に出力する。また、メディアエンジン27は、MP4サンプルバッファ272(図8参照)に記憶されているMP4サンプルに付加されたMP4サンプル属性情報をアプリケーション制御部26に出力する。
[第1の実施形態に係るHTTPアクセス制御部25の構成]
図8は、第1の実施形態に係るHTTPアクセス制御部25の構成例を示す図である。HTTPアクセス制御部25は、セグメントバッファ252と、ダウンロード部251とを備えている。
セグメントバッファ252は、セグメントファイル121のビットストリームをセグメント単位で記憶する。
ダウンロード部251は、HTTPプロトコルに準拠した通信により、複数のセグメントを有するセグメントファイル121と、セグメントファイル121が属するグループが設定された設定ファイル等のMPDファイル122とを受信する。更に詳しくは、ダウンロード部251は、MPDファイル122、及び再生対象のセグメントファイル121の送信要求をサーバ装置10に送信する。ダウンロード部251は、サーバ装置10からMPDファイル122を受信する。そして、ダウンロード部251は、サーバ装置10から受信したMPDファイル122をセグメントバッファ252に記憶させる。
また、ダウンロード部251は、MPDファイル122で示されたセグメントファイル121をサーバ装置10から受信する。そして、ダウンロード部251は、セグメントファイル121を受信した場合に、セグメント単位でセグメントバッファ252に記憶させる。この時、セグメントバッファ252に記憶させる対象がメディアセグメントの場合、ダウンロード部251は、セグメントに対してヘッダ領域を設定する。そして、ダウンロード部251は、ヘッダ領域にセグメント属性情報を付加して、セグメントバッファ252に記憶させる。
また、ダウンロード部251は、アプリケーション制御部26からの指示に基づいて、メタデータと、オブジェクトデータとを交互に受信する。そして、ダウンロード部251は、受信したメタデータと、オブジェクトデータとをセグメントファイル121に記憶させる。
ここで、図9は、第1の実施形態に係るセグメントバッファ252に記憶されたセグメントのデータ構成例を示す図である。セグメント属性情報には、グループ情報、ビットストリーム番号、セグメント番号、出力時刻、及びUsageデータが含まれている。
グループ情報は、セグメントが属するグループの番号を示す情報である。グループ情報には、MPDファイル122においてpreselection要素が登場した通番が設定される。
ビットストリーム番号は、セグメントが含まれていたセグメントファイル121のビットストリームの番号を示す情報である。ビットストリーム番号には、MPDファイル122においてRepresentation要素が登場した通番が設定される。また、ビットストリーム番号は、ビットストリームの同一性判定に使用される。なお、ビットストリーム番号は、ビットストリームのURL(Uniform Resource Locator)であってもよいが、URLを比較するよりも処理が容易なため数値であることが好ましい。
セグメント番号は、ビットストリーム内の先頭からのセグメントの通番を示す情報である。なお、記録するセグメントがイニシャライゼーションセグメントの場合には、セグメント属性情報のセグメント番号には0xFFFFFFFFが設定される。
出力時刻は、セグメントの出力開始時刻を示す情報である。出力時刻には、メディアセグメントに含まれる先頭のmoof boxのbaseMediaDecodeTimeの値が設定される。すなわち、出力時刻は、対象のセグメントをコンテンツにおける、どの時間から再生を開始するかが示された再生開始時間である。
Usageデータは、MP4サンプルに含まれるデータの利用法を示す情報である。Usageデータには、MPDファイル122のRepresentation要素のcodecs属性に数値を追加しておいて、この数値を設定する。Usageデータが0の場合、MP4サンプルから音声オブジェクト、及びメタデータを抽出する。Usageデータが1の場合、MP4サンプルから音声オブジェクトを抽出する。すなわち、MP4サンプルに音声オブジェクト、及びメタデータが含まれている場合にメタデータを捨てる。Usageデータが2の場合、MP4サンプルからメタデータを抽出する。すなわち、MP4サンプルに音声オブジェクト、及びメタデータが含まれていた場合に音声オブジェクトを捨てる。なお、記録するセグメントがイニシャライゼーションセグメントの場合、Usageデータには0xFFが設定される。
[第1の実施形態に係るメディアエンジン27の構成]
図10は、第1の実施形態に係るメディアエンジン27の構成例を示す図である。メディアエンジン27は、MP4サンプルバッファ272と、出力バッファ274と、抽出部271と、3Dオーディオデコーダ273とを備える。
MP4サンプルバッファ272は、抽出部271から出力されたMP4サンプルを記憶する。出力バッファ274は、3Dオーディオデコーダ273から出力された出力信号を記憶する。
抽出部271は、デマルチプレックス処理により、ダウンロード部251が受信したセグメントファイル121のビットストリームのセグメントに1以上含まれるMP4サンプルを抽出して、MP4サンプルの再生開始時間を含むMP4サンプル属性情報をMP4サンプルに付加する。更に詳しくは、抽出部271は、セグメントバッファ252に記憶された音声オブジェクトのセグメントから音声オブジェクトのMP4サンプルを抽出する。また、抽出部271は、MP4サンプルに対してヘッダ領域を設定する。そして、抽出部271は、ヘッダ領域にMP4サンプル属性情報を付加して、MP4サンプルバッファ272に記憶させる。
ここで、図11は、第1の実施形態に係るMP4サンプルバッファ272に記憶されたMP4サンプルのデータ構成例を示す図である。MP4サンプル属性情報には、グループ情報、ビットストリーム番号、セグメント番号、MP4サンプル番号、Usageデータ、及び出力時刻が含まれている。
グループ情報には、MP4サンプルが属していたセグメントのセグメント属性情報から取得したグループ情報が設定される。ビットストリーム番号は、MP4サンプルが属していたセグメントのセグメント属性情報から取得したビットストリーム番号が設定される。セグメント番号は、MP4サンプルが属していたセグメントのセグメント属性情報から取得したセグメント番号が設定される。MP4サンプル番号には、MP4サンプルが属していたセグメントで、対象のMP4サンプルが登場した通番が設定される。なお、fragmented MP4の場合、MP4サンプル番号には、複数のmoof boxを跨いだセグメント内の通番(インデックス)が設定される。Usageデータは、MP4サンプルが属していたセグメントのセグメント属性情報から取得したUsageデータが設定される。出力時刻には、対象のMP4サンプルのComposition Timeの値が設定される。すなわち、出力時刻は、対象のMP4サンプルをコンテンツにおけるどの時間から再生を開始するかが示された再生開始時間である。
3Dオーディオデコーダ273は、音声オブジェクトのMP4サンプル、及びメタデータのMP4サンプルが其々1つずつ入力された場合に、出力信号(出力チャンネル分のPCM信号)を生成する。この時、3Dオーディオデコーダ273は、MP4サンプル属性情報のUsageデータが付加されたMP4サンプルを受け付ける。
3Dオーディオデコーダ273は、解析処理において、入力されたMP4サンプルからUsageデータで指定された所望のデータを抽出する。すなわち、3Dオーディオデコーダ273は、Usageデータに基づいて、音声オブジェクト、メタデータ、又は音声オブジェクトとメタデータの両方を抽出する。これにより、3Dオーディオデコーダ273は、音声オブジェクトの復号と、メタデータの復号との両方を実行した後で、所望のデータだけを取捨するという冗長性を排除できる。そして、3Dオーディオデコーダ273は、生成した出力信号を出力時刻の順に整列して出力バッファ274に記憶させる。
[第1の実施形態に係る3Dオーディオデコーダ273の構成]
図12は、第1の実施形態に係る3Dオーディオデコーダ273の構成例を示す図である。3Dオーディオデコーダ273は、出力中間バッファ2734と、解析部2731と、オブジェクトデコーダ2732と、メタデータデコーダ2733と、レンダリング部2735とを備えている。
出力中間バッファ2734は、復号化された音声データや、復号化されたメタデータを記憶する。
解析部2731は、MP4サンプルバッファ272から取得したMP4サンプルに音声オブジェクトとメタデータとの何れが含まれているか否かを解析する。また、解析部2731は、MP4サンプルをオブジェクトデータと、オブジェクトデータに付随するメタデータとに分離させる。すなわち、解析部2731は、オブジェクトデータである音声オブジェクトデータと、メタデータである音声オブジェクトの定位情報とに分離させる。そして、解析部2731は、MP4サンプル属性情報のUsageデータに基づいて、MP4サンプルに含まれているデータの出力先を特定する。
更に詳しくは、解析部2731は、Usageデータに「0」が設定されている場合、MP4サンプルに含まれている音声オブジェクトをオブジェクトデコーダ2732に出力し、MP4サンプルに含まれているメタデータをメタデータデコーダ2733に出力する。また、解析部2731は、Usageデータに「1」が設定されている場合、MP4サンプルに含まれている音声オブジェクトをオブジェクトデコーダ2732に出力する。なお、解析部2731は、MP4サンプルにメタデータが含まれていても、メタデータデコーダ2733には出力せずに捨てる。また、解析部2731は、Usageデータに「2」が設定されている場合、MP4サンプルに含まれているメタデータをメタデータデコーダ2733に出力する。なお、解析部2731は、MP4サンプルに音声オブジェクトが含まれていても、オブジェクトデコーダ2732には出力せずに捨てる。
オブジェクトデコーダ2732は、音声オブジェクトを復号する。オブジェクトデコーダ2732は、復号して得られた音声信号を出力中間バッファ2734に記憶させる。
メタデータデコーダ2733は、メタデータを復号する。メタデータデコーダ2733は、復号して得られたメタデータ信号を出力中間バッファ2734に記憶させる。
レンダリング部2735は、コンテンツにおける出力時刻が同一の音声信号と、メタデータ信号とが出力中間バッファ2734に記憶された場合に、出力時刻が同一の音声信号と、メタデータ信号とから出力信号を生成する。レンダリング部2735は、生成した出力信号に対してヘッダ領域を設定する。また、レンダリング部2735は、ヘッダ領域に出力信号属性情報を付加する。そして、レンダリング部2735は、出力信号属性情報が付加された出力信号を、コンテンツの出力時刻順に並べて出力バッファ274に記憶させる。さらに、レンダリング部2735は、出力バッファ274に出力時刻順に並べられた出力信号を所定の時刻に出力装置30へ出力する。
ここで、図13は、第1の実施形態に係る出力バッファ274に記憶された出力信号のデータ構成例を示す図である。出力信号属性情報には、グループ情報、及び出力時刻が含まれている。グループ情報は、出力信号の生成元になったMP4サンプルのMP4サンプル属性情報から取得したグループ情報が設定される。出力時刻は、出力信号の生成元になったMP4サンプルのMP4サンプル属性情報から取得した出力時刻が設定される。すなわち、出力時刻は、対象の出力信号をコンテンツにおけるどの時間から再生を開始するかが示された再生開始時間である。
[第1の実施形態に係るストリーミング再生処理手順]
次に、第1の実施形態に係るクライアント装置20が実行するストリーミング再生処理について説明する。図14は、第1の実施形態に係るクライアント装置20が実行するストリーミング再生処理の一例を示すフローチャートである。
HTTPアクセス制御部25は、ユーザの操作により特定されたコンテンツのMPDファイル122をサーバ装置10から取得する(ステップS11)。
アプリケーション制御部26は、MPDファイル122に記述された設定に基づいて、セグメントファイル121をグループ化する(ステップS12)。
アプリケーション制御部26は、入力部22が受け付けた操作に応じたグループを選択する(ステップS13)。
アプリケーション制御部26は、コンテンツのグループを切り替える操作を受け付けたか否かを判定する(ステップS14)。切り替える操作を受け付けていない場合に(ステップS14;No)、クライアント装置20は、ステップS16に移行する。
切り替える操作を受け付けた場合に(ステップS14;Yes)、アプリケーション制御部26は、操作に応じたグループを選択する(ステップS15)。
HTTPアクセス制御部25は、HTTPプロトコルに準拠した通信により、選択したグループのセグメントファイル121のダウンロード処理を実行する(ステップS16)。
メディアエンジン27は、セグメントファイル121のダウンロードにより取得したビットストリームのデマルチプレックス処理、デコード処理、及び再生を実行するメディアエンジン処理を実行する(ステップS17)。
アプリケーション制御部26は、ストリーミング再生の終了条件が満たされたか否かを判定する(ステップS18)。例えば、アプリケーション制御部26は、選択されたグループ内の全てのセグメントファイル121の最終セグメントまで再生した場合や、ストリーミング再生を終了させる操作を受け付けた場合等に、ストリーミング再生の終了条件が満たされたと判定する。
ストリーミング再生を継続する場合に(ステップS18;No)、クライアント装置20は、ステップS14に移行する。
ストリーミング再生の終了条件が満たされた場合に(ステップS18;Yes)、クライアント装置20は、ストリーミング再生処理を終了する。
以上により、クライアント装置20は、ストリーミング再生処理を終了する。
[第1の実施形態に係るダウンロード処理手順]
次に、第1の実施形態に係るHTTPアクセス制御部25が実行するダウンロード処理について説明する。図15は、第1の実施形態に係るHTTPアクセス制御部25が実行するダウンロード処理の一例を示すフローチャートである。
ダウンロード部251は、セグメントファイル121のビットストリームに含まれているセグメントを受信する(ステップS21)。
ダウンロード部251は、受信したセグメントに対応したセグメント属性情報を生成する(ステップS22)。
ダウンロード部251は、受信したセグメントに生成したセグメント属性情報を付加する(ステップS23)。
ダウンロード部251は、セグメント属性情報が付加されたセグメントをセグメントバッファ252に記憶させる(ステップS24)。
ダウンロード部251は、選択されたグループに属する全セグメントファイル121のビットストリームに対して処理を実行したか否かを判定する(ステップS25)。全セグメントファイル121のビットストリームに対して処理を実行していない場合に(ステップS25;No)、HTTPアクセス制御部25は、ステップS21に移行する。
全セグメントファイル121のビットストリームに対して処理を実行した場合に(ステップS25;Yes)、HTTPアクセス制御部25は、ダウンロード処理を終了する。
以上により、HTTPアクセス制御部25は、ダウンロード処理を終了する。
[第1の実施形態に係るメディアエンジン処理手順]
次に、第1の実施形態に係るメディアエンジン27が実行するメディアエンジン処理について説明する。図16は、第1の実施形態に係るメディアエンジン27が実行するメディアエンジン処理の一例を示すフローチャートである。
抽出部271は、デマルチプレックス処理を実行する(ステップS31)。
3Dオーディオデコーダ273は、デコード処理を実行する(ステップS32)。
レンダリング部2735は、出力処理を実行する(ステップS33)。すなわち、レンダリング部2735は、出力バッファ274に記憶された出力信号を出力装置30に出力する。そして、出力装置30は、出力信号が示す音声を出力する。
以上により、メディアエンジン27は、メディアエンジン処理を終了する。
[第1の実施形態に係るデマルチプレックス処理手順]
次に、第1の実施形態に係る抽出部271が実行するデマルチプレックス処理について説明する。図17は、第1の実施形態に係る抽出部271が実行するデマルチプレックス処理の一例を示すフローチャートである。
抽出部271は、セグメントバッファ252から取得したセグメントからMP4サンプルを抽出する(ステップS41)。
抽出部271は、抽出したMP4サンプルに対応したMP4サンプル属性情報を生成する(ステップS42)。
抽出部271は、抽出したMP4サンプルに生成したMP4サンプル属性情報を付加する(ステップS43)。
抽出部271は、MP4サンプル属性情報が付加されたMP4サンプルをMP4サンプルバッファ272に記憶させる(ステップS44)。
抽出部271は、選択されたグループに属する全セグメントファイル121のビットストリームの各セグメントに対して処理を実行したか否かを判定する(ステップS45)。全セグメントファイル121のビットストリームの各セグメントに対して処理を実行していない場合に(ステップS45;No)、抽出部271は、ステップS41に移行する。
全セグメントファイル121のビットストリームの各セグメントに対して処理を実行してした場合に(ステップS45;Yes)、抽出部271は、デマルチプレックス処理を終了する。
以上により、抽出部271は、デマルチプレックス処理を終了する。
[第1の実施形態に係るデコード処理手順]
次に、第1の実施形態に係る抽出部271が実行するデマルチプレックス処理について説明する。図18は、第1の実施形態に係る抽出部271が実行するデコード処理の一例を示すフローチャートである。
3Dオーディオデコーダ273は、MP4サンプルバッファ272に同一出力時刻のMP4サンプルが2つ記憶されているか否かを判定する(ステップS51)。すなわち、3Dオーディオデコーダ273は、MP4サンプルバッファ272に、音声オブジェクト及びメタデータのMP4サンプルが記憶されているか否かを判定する。MP4サンプルバッファ272に同一出力時刻のMP4サンプルが2つ記憶されていない場合(ステップS51;No)、3Dオーディオデコーダ273は、待機する。
MP4サンプルバッファ272に同一出力時刻のMP4サンプルが2つ記憶されている場合(ステップS51;Yes)、3Dオーディオデコーダ273は、同一出力時刻の2つのMP4サンプルのうち、一方のMP4サンプルを取得する(ステップS52)。
3Dオーディオデコーダ273は、取得したMP4サンプルに対して一次デコード処理を実行する(ステップS53)。
3Dオーディオデコーダ273は、同一出力時刻の2つのMP4サンプルのうち、ステップS52で取得しなかった他方のMP4サンプルを取得する(ステップS54)。
3Dオーディオデコーダ273は、取得したMP4サンプルに対して一次デコード処理を実行する(ステップS55)。
3Dオーディオデコーダ273は、二次デコード処理を実行する(ステップS56)。
以上により、3Dオーディオデコーダ273は、デコード処理を終了する。
[第1の実施形態に係る1次デコード処理手順]
次に、第1の実施形態に係る3Dオーディオデコーダ273が実行する1次デコード処理について説明する。図19は、第1の実施形態に係る3Dオーディオデコーダ273が実行する1次デコード処理の一例を示すフローチャートである。
解析部2731は、取得したMP4サンプルのMP4サンプル属性情報のUsageが「0」であるか否かを判定する(ステップS61)。MP4サンプル属性情報のUsageが「0」である場合に(ステップS61;Yes)、解析部2731は、MP4サンプルから音声オブジェクト及びメタデータを抽出する(ステップS62)。
オブジェクトデコーダ2732、及びメタデータデコーダ2733は、MP4サンプルから抽出した音声オブジェクト及びメタデータに対して、1次デコードを実行する(ステップS63)。すなわち、オブジェクトデコーダ2732は、MP4サンプルから抽出した音声オブジェクトに対して、1次デコードを実行する。そして、オブジェクトデコーダ2732は、1次デコードにより生成した音声信号を出力中間バッファ2734に記憶させる。また、メタデータデコーダ2733は、MP4サンプルから抽出したメタデータに対して、1次デコードを実行する。そして、メタデータデコーダ2733は、1次デコードにより生成したメタデータ信号を出力中間バッファ2734に記憶させる。
MP4サンプル属性情報のUsageが「0」ではない場合に(ステップS61;No)、解析部2731は、MP4サンプル属性情報のUsageが「1」であるか否かを判定する(ステップS64)。MP4サンプル属性情報のUsageが「1」である場合に(ステップS64;Yes)、解析部2731は、MP4サンプルから音声オブジェクトを抽出する(ステップS65)。この時、解析部2731は、MP4サンプルにメタデータが含まれている場合、メタデータを捨てる。
オブジェクトデコーダ2732は、MP4サンプルから抽出した音声オブジェクトに対して、1次デコードを実行する(ステップS66)。そして、オブジェクトデコーダ2732は、1次デコードにより生成した音声信号を出力中間バッファ2734に記憶させる。
MP4サンプル属性情報のUsageが「1」ではない場合に(ステップS64;No)、解析部2731は、MP4サンプル属性情報のUsageが「2」であると判定して、MP4サンプルからメタデータを抽出する(ステップS67)。
メタデータデコーダ2733は、MP4サンプルから抽出したメタデータに対して、1次デコードを実行する(ステップS68)。そして、メタデータデコーダ2733は、1次デコードにより生成したメタデータ信号を出力中間バッファ2734に記憶させる。
以上により、3Dオーディオデコーダ273は、1次デコード処理を終了する。
[第1の実施形態に係る2次デコード処理手順]
次に、第1の実施形態に係る3Dオーディオデコーダ273が実行する2次デコード処理について説明する。図20は、第1の実施形態に係る3Dオーディオデコーダ273が実行する2次デコード処理の一例を示すフローチャートである。
レンダリング部2735は、出力中間バッファ2734から同一出力時刻の音声信号及びメタデータ信号を取得する(ステップS71)。
レンダリング部2735は、同一出力時刻の音声信号及びメタデータ信号を用いて、2次デコードを実行する(ステップS72)。
レンダリング部2735は、2次デコードにより生成した出力信号を出力バッファ274に記憶させる(ステップS73)。
以上により、3Dオーディオデコーダ273は、2次デコード処理を終了する。
[第1の実施形態に係るコンテンツのグループ切り替え処理手順]
次に、第1の実施形態に係るクライアント装置20が実行するコンテンツのグループを切り替える切り替え処理について説明する。図21は、第1の実施形態に係るクライアント装置20が実行するコンテンツのグループ切り替え処理の一例を示すフローチャートである。
アプリケーション制御部26は、コンテンツのグループを切り替える操作を受け付ける(ステップS81)。例えば、コンテンツのグループを切り替える操作とは、視聴位置を切り替える操作や、音声の言語を切り替え操作等である。
アプリケーション制御部26は、コンテンツのグループを切り替える位置を決定する(ステップS82)。なお、コンテンツのグループを切り替える位置の決定方法ついては後述する。
アプリケーション制御部26は、HTTPアクセス制御部25へコンテンツの切り替え位置を通知する(ステップS83)。
アプリケーション制御部26は、メディアエンジン27へコンテンツの切り替え位置を通知する(ステップS84)。
HTTPアクセス制御部25は、コンテンツのグループを切り替える処理を実行する(ステップS85)。すなわち、HTTPアクセス制御部25は、切り替え後のグループのセグメントファイル121をダウンロードする。
メディアエンジン27は、コンテンツのグループを切り替える処理を実行する(ステップS86)。すなわち、メディアエンジン27は、切り替え後のグループに対して、デマルチプレックス処理、デコード処理、及び出力処理を実行する。
以上により、クライアント装置20は、グループ切り替え処理を終了する。
[第1の実施形態に係るグループを切り替える位置の決定]
コンテンツのグループを切り替える位置の決定について説明する。ユーザがコンテンツのグループを切り替えた場合、クライアント装置20は、可能な限り早期に、切り替え後のコンテンツのグループを再生させることが好ましい。一方で、クライアント装置20は、画音ギャップが発生しないようにする必要がある。ここで、画音ギャップとは、コンテンツの再生に対して、コンテンツのダウンロードや、コンテンツのデコード等の処理が遅いために、コンテンツの再生が滞ってしまうことである。
そこで、アプリケーション制御部26は、セグメント属性情報、MP4サンプル属性情報、及び出力信号属性情報に基づいて、切り替え後のグループに属するセグメントファイル121を出力させる切り替え位置をMP4サンプル単位で決定する。更に詳しくは、アプリケーション制御部26は、アプリケーション制御部26が受け付けた切り替え後のグループのセグメントファイル121のビットストリームの再生を開始するまでにかかる処理時間を算出する。アプリケーション制御部26は、アプリケーション制御部26が算出した処理時間に基づいて、切り替え位置を決定する。具体的には、アプリケーション制御部26は、切り替え後のグループのセグメントのダウンロードにかかる時間や、切り替え後のグループのセグメントのデマルチプレックス処理にかかる時間や、MP4サンプルのデコードにかかる時間を算出する。
例えば、アプリケーション制御部26は、切り替え後グループのそれぞれのビットストリームごとに1個のセグメントをダウンロードし、各セグメントの1個のMP4サンプルをデマルチプレックス処理、デコード処理して1個の出力信号を出力するまでの処理時間の合計を示すTproc(秒)を求める。
ここで、図22は、第1の実施形態に係るクライアント装置20が実行する処理時間算出処理の一例を示すフローチャートである。
HTTPアクセス制御部25は、切り替え後グループに属するセグメントファイル121のビットストリームに含まれるセグメントを1個受信する(ステップS91)。
アプリケーション制御部26は、受信したセグメントのデータサイズを取得する(ステップS92)。
アプリケーション制御部26は、受信したセグメントがセグメントバッファ252に既に記憶済みであるか否かを判定する(ステップS93)。すなわち、アプリケーション制御部26は、切り替え前のグループと、切り替え後のグループとにおいて、共通のビットストリームのセグメントであるか否かを判定する。
受信したセグメントがセグメントバッファ252に記憶済みである場合(ステップS93;Yes)、アプリケーション制御部26は、処理時間の算出に用いる受信したセグメントのデータサイズを0にする(ステップS94)。アプリケーション制御部26は、受信したセグメントがセグメントバッファ252に記憶済みである場合、切り替え前の状態で各種処理が実行済みである。そのため、アプリケーション制御部26は、新たに処理を実行する必要がないので、データサイズを0にする。そして、アプリケーション制御部26は、ステップS95に移行する。
受信したセグメントがセグメントバッファ252に記憶されていない場合(ステップS93;No)、アプリケーション制御部26は、処理時間を算出する(ステップS95)。更に詳しくは、アプリケーション制御部26は、下記数式(1)にて処理時間を算出する。なお、Tprocの初期値は0に設定する。
Tproc=Tproc
+(8×size/bandwidth)
+(8×size/(Nm×demux-rate))
+(8×size/(Nm×decode-rate)) …数式(1)
Tproc ; 処理時間の合計(秒)
size ; 受信したセグメントのデータサイズ(byte)
bandwidth ; ネットワーク帯域(ビット/秒)
Nm ; 切り替え後グループのビットストリームにおいて1つのセグメントに含まれているMP4サンプルの総数
demux-rate ; 切り替え後グループのビットストリームに対する抽出部271のデマルチプレックス処理等の処理レート(ビット/秒)
decode-rate ; 切り替え後グループのビットストリームに対する3Dオーディオデコーダ273のデコード処理等の処理レート(ビット/秒)
アプリケーション制御部26は、切り替え後グループに属する全てのセグメントファイル121のビットストリームに含まれるセグメントを1個ずつ受信したか否かを判定する(ステップS96)。全てのビットストリームのセグメントを1個ずつ受信していない場合に(ステップS96;No)、クライアント装置20は、ステップS91に移行する。
全てのビットストリームのセグメントを1個ずつ受信した場合に(ステップS96;Yes)、クライアント装置20が実行する処理時間算出処理を終了する。
以上により、3Dオーディオデコーダ273は、処理時間算出処理を終了する。
そして、アプリケーション制御部26は、各バッファに記憶されているデータの再生時間と、出力装置30の再生までにかかる処理時間とを比較して、切り替え位置を決定する。
ここで、図23は、第1の実施形態に係る出力バッファ274での切り替えの一例を示す説明図である。図23に示すセグメントバッファ252は、メタデータAのビットストリームにおいて、M+2番目と、M+1番目とのセグメントとが記憶されている状態を示している。また、セグメントバッファ252は、メディアCのビットストリームにおいて、M+2番目と、M+1番目とのセグメントとが記憶されている状態を示している。
図23に示すMP4サンプルバッファ272は、メタデータAのビットストリームにおいて、M+1番目のセグメントと、M番目のセグメントとに属するN番目から1番目までのMP4サンプルが記憶されている状態を示している。また、MP4サンプルバッファ272には、メディアCのビットストリームにおいて、M+1番目のセグメントと、M番目のセグメントとに属するN番目から1番目までのMP4サンプルが記憶されている状態を示している。
図23に示す出力バッファ274には、メタデータA及びメディアCのビットストリームにおいて、M番目のセグメントに属するN番目から1番目までのMP4サンプルから生成された、N番目から1番目までの出力信号が記憶されている状態を示している。そして、図23に示す説明図は、メタデータA及びメディアCのビットストリームにおいて、M番目のセグメントに属するK-1番目のMP4サンプルから生成された出力信号A+C(M、K-1)が切り替え位置であると判定した場合を示している。
図24は、図23に示す図において切り替え後のグループに属するメタデータBのビットストリームを受信した場合の一例を示す説明図である。セグメントバッファ252は、切り替え後のグループのメタデータBのビットストリームにおいて、M番目のセグメントが記憶された状態を示している。また、MP4サンプルバッファ272は、切り替え後のグループのメタデータBのビットストリームにおいて、M番目のセグメントに属するK番目のMP4サンプルが記憶された状態を示している。また、出力バッファ274は、切り替え後のグループのメタデータB及びメディアCのビットストリームにおいて、M番目のセグメントに属するK番目のMP4サンプルから生成された出力信号B+C(M、K)が記憶された状態を示している。この場合、クライアント装置20は、出力信号A+C(M、1)、・・・出力信号A+C(M、K-1)、出力信号B+C(M、K)、出力信号B+C(M、K+1)、・・・の順番で出力信号を出力する。
さらに詳しくは、アプリケーション制御部26は、下記数式(2)において、出力バッファ274に切り替え位置を設定可能であるか否かを判定する。数式(2)の条件を満たす場合に出力バッファ274に切り替え位置を設定可能であると判定する。アプリケーション制御部26は、Naをインクリメントしながら数式(2)を満たすか否かを判定する。すなわち、アプリケーション制御部26は、数式(2)を満たす最小のNaを算出する。なお、Naの上限は、出力バッファ274に記憶されている出力信号の総数である。
Tdisp×Na>Tproc …数式(2)
Tproc ; 切り替え後グループのそれぞれのビットストリームごとに1個のセグメントをダウンロードし、セグメントごとに1個のMP4サンプルをデマルチプレックス処理し、デコード処理して1個の出力信号を出力するまでの処理時間の合計
Tdisp ; 出力バッファ274に記録されている出力信号1個の表示時間
Na ; 出力信号の個数
アプリケーション制御部26は、出力バッファ274に切り替え位置を設定することができないと判定した場合に、MP4サンプルバッファ272に切り替え位置が設定可能か否かを判定する。
ここで、図25は、第1の実施形態に係るMP4サンプルバッファ272での切り替えの一例を示す説明図である。図25に示すセグメントバッファ252、MP4サンプルバッファ272、及び出力バッファ274には、図23の各バッファと同様のデータが記憶されている。そして、図25に示す説明図は、メタデータA及びメディアCのビットストリームにおいて、M+1番目のセグメントに属するK-1番目のMP4サンプルが切り替え位置であると判定した場合を示している。
図26は、図25に示す図において切り替え後のグループに属するメタデータBのビットストリームを受信した場合の一例を示す説明図である。セグメントバッファ252は、切り替え後のグループのメタデータBのビットストリームにおいて、M+1番目のセグメントが記憶された状態を示している。また、MP4サンプルバッファ272は、切り替え後のグループのメタデータBのビットストリームにおいて、M+1番目のセグメントに属するK番目のMP4サンプルが記憶された状態を示している。また、出力バッファ274は、切り替え後のグループのメタデータB及びメディアCのビットストリームにおいて、M番目のセグメントに属するK+1番目のMP4サンプルから生成された出力信号B+C(M+1、K)が記憶された状態を示している。この場合、クライアント装置20は、出力信号A+C(M+1、1)、・・・出力信号A+C(M+1、K-1)、出力信号B+C(M+1、K)、出力信号B+C(M+1、K+1)、・・・の順番で出力信号を出力する。
さらに詳しくは、アプリケーション制御部26は、下記数式(3)において、MP4サンプルバッファ272に切り替え位置を設定可能であるか否かを判定する。数式(3)の条件を満たす場合にMP4サンプルバッファ272に切り替え位置を設定可能であると判定する。アプリケーション制御部26は、Nbをインクリメントしながら数式(3)を満たすか否かを判定する。すなわち、アプリケーション制御部26は、数式(3)を満たす最小のNbを算出する。なお、Nbの上限は、MP4サンプルバッファ272に記録されているMP4サンプルの総数である。
Tdisp×(Na+Nb/Ng)>Tproc …数式(3)
Tproc ; 切り替え後グループのそれぞれのビットストリームごとに1個のセグメントをダウンロードし、セグメントごとに1個のMP4サンプルをデマルチプレックス処理し、デコード処理して1個の出力信号を出力するまでの処理時間の合計
Tdisp ; 出力バッファ274に記録されている出力信号1個の表示時間
Ng ; 切り替え前グループ中のビットストリーム総数
Na ; 出力信号の総数
Nb ; MP4サンプルの個数
アプリケーション制御部26は、MP4サンプルバッファ272に切り替え位置を設定することができないと判定した場合に、セグメントバッファ252の1個目のセグメントに切り替え位置が設定可能か否かを判定する。すなわち、アプリケーション制御部26は、セグメントバッファ252に記憶されたセグメントのうち、MP4サンプルバッファ272にMP4サンプルが記憶されておらず、且つ次回デマルチプレックス処理の対象になるセグメントに切り替え位置が設定可能か否かを判定する。
ここで、図27は、第1の実施形態に係るセグメントバッファ252での切り替えの一例を示す説明図である。図27に示すセグメントバッファ252、MP4サンプルバッファ272、及び出力バッファ274には、図23の各バッファと同様のデータが記憶されている。そして、図27に示す説明図は、メタデータA及びメディアCのビットストリームにおいて、M+2番目のセグメントの途中が切り替え位置であると判定した場合を示している。更に詳しくは、M+2番目のセグメントに属するK-1番目のMP4サンプルが切り替え位置であると判定した場合を示している。
図28は、図27に示す図において切り替え後のグループに属するメタデータBのビットストリームを受信した場合の一例を示す説明図である。セグメントバッファ252は、切り替え後のグループのメタデータBのビットストリームにおいて、M+2番目のセグメントが記憶された状態を示している。また、MP4サンプルバッファ272は、切り替え後のグループのメタデータBのビットストリームにおいて、M+2番目のセグメントに属するK番目のMP4サンプルが記憶された状態を示している。また、出力バッファ274は、切り替え後のグループのメタデータB及びメディアCのビットストリームにおいて、M+2番目のセグメントに属するK+1番目のMP4サンプルから生成された出力信号B+C(M+2、K)が記憶された状態を示している。この場合、クライアント装置20は、出力信号A+C(M+2、1)、・・・出力信号A+C(M+2、K-1)、出力信号B+C(M+2、K)、出力信号B+C(M+2、K+1)、・・・の順番で出力信号を出力する。
さらに詳しくは、アプリケーション制御部26は、下記数式(4)において、セグメントバッファ252の1個目のセグメントに切り替え位置を設定可能であるか否かを判定する。数式(4)の条件を満たす場合にセグメントバッファ252の1個目のセグメントに切り替え位置を設定可能であると判定する。アプリケーション制御部26は、Ncをインクリメントしながら数式(4)を満たすか否かを判定する。すなわち、アプリケーション制御部26は、数式(4)を満たす最小のNcを算出する。なお、Ncの上限は、セグメントバッファ252に記録されているセグメントの総数である。
ここで、セグメントバッファ252の1個目のセグメントのMP4サンプルは、デマルチプレックス処理される前のセグメントの状態である。そのため、MP4サンプルのComposition Timeが分明ではない。そこで、メディアエンジン27からビットストリームごとにMP4サンプルの出力時刻の差分をフィードバックし、セグメントの出力時刻に加算することでMP4サンプルの出力時刻とする。
Tdisp×(Na+Nb/Ng+Nc)>Tproc …数式(4)
Tproc ; 切り替え後グループのそれぞれのビットストリームごとに1個のセグメントをダウンロードし、セグメントごとに1個のMP4サンプルをデマルチプレックス処理し、デコード処理して1個の出力信号を出力するまでの処理時間の合計
Tdisp ; 出力バッファ274に記録されている出力信号1個の表示時間
Ng ; 切り替え前グループ中のビットストリーム総数
Na ; 出力信号の総数
Nb ; MP4サンプルの総数
Nc ; セグメントのMP4サンプルの個数
ここで、フローチャートを用いて、上述した切り替え位置の設定について説明する。図29は、第1の実施形態に係るクライアント装置20が実行するグループの切り替え位置の決定処理の一例を示すフローチャートである。
アプリケーション制御部26は、出力バッファ274に切り替え位置を設定可能であるか否かを判定する(ステップS101)。すなわち、アプリケーション制御部26は、数式(2)を満たすか否かを判定する。
出力バッファ274に切り替え位置を設定可能である場合に(ステップS101;Yes)、アプリケーション制御部26は、数式(2)を満たす出力信号の出力時刻を取得する(ステップS102)。更に詳しくは、アプリケーション制御部26は、出力装置30に出力される早い順に出力信号を並べた場合に、数式(2)を満たすNa番目の出力信号の出力時刻をビットストリームごとに取得する。
出力バッファ274に切り替え位置を設定することができない場合に(ステップS101;No)、アプリケーション制御部26は、MP4サンプルバッファ272に切り替え位置を設定可能であるか否かを判定する(ステップS103)。すなわち、アプリケーション制御部26は、数式(3)を満たすか否かを判定する。
MP4サンプルバッファ272に切り替え位置を設定可能である場合に(ステップS103;Yes)、アプリケーション制御部26は、数式(3)を満たすMP4サンプルの出力時刻を取得する(ステップS104)。更に詳しくは、アプリケーション制御部26は、出力バッファ274に出力される早い順にMP4サンプルを並べた場合に、数式(3)を満たすNb番目のMP4サンプルの出力時刻をビットストリームごとに取得する。
MP4サンプルバッファ272に切り替え位置を設定することができない場合に(ステップS103;No)、アプリケーション制御部26は、セグメントバッファ252の1個目のセグメントに切り替え位置を設定可能であるか否かを判定する(ステップS105)。すなわち、アプリケーション制御部26は、数式(4)を満たすか否かを判定する。
MP4サンプルバッファ272に切り替え位置を設定することができない場合に(ステップS105;No)、アプリケーション制御部26は、ステップS107に移行する。
セグメントバッファ252の1個目のセグメントに切り替え位置を設定可能である場合に(ステップS105;Yes)、アプリケーション制御部26は、数式(4)を満たすMP4サンプルの出力時刻を取得する(ステップS106)。更に詳しくは、アプリケーション制御部26は、MP4サンプルバッファ272に出力される早い順にMP4サンプルを並べた場合に、数式(4)を満たすNb番目のMP4サンプルの出力時刻をビットストリームごとに取得する。
アプリケーション制御部26は、取得した出力時刻を切り替え位置に決定する(ステップS107)。
以上により、アプリケーション制御部26は、グループの切り替え位置の決定処理を終了する。
[第1の実施形態に係る切り替え後グループのダウンロード手順]
次に、第1の実施形態に係るコンテンツのグループが切り替えられた場合に切り替え後のグループに属するセグメントファイル121のダウンロード処理の手順について説明する。
コンテンツのグループの切り替え前後において、共通して使用するセグメントファイル121のビットストリームを改めてダウンロードする必要はない。そのため、ダウンロード部251は、受信したセグメントファイル121のビットストリームに含まれるセグメントを記憶するセグメントバッファ252等の第1記憶部に、切り替え後のグループに属しているセグメントファイル121が記憶されている場合に、セグメントファイル121を受信しない。
ここで、図30は、切り替え後のセグメントファイル121のダウンロードの一例を示す説明図である。図30は、セグメントバッファ252の状態を示している。更に詳しくは、グループ1に属するメタデータA及びメディアCをダウンロードして、デマルチプレックス処理等の処理が実行されていたが、切り替え位置でグループ2に切り替えられたことを示している。そのため、グループ2に属するメタデータBは、未だダウンロードされておらず、セグメントバッファ252に記憶されていない状態を示している。
また、メタデータA(M)、メタデータA(M+1)、メディアC(M)、及びメディアC(M+1)が抽出部271に順次入力されるのを待機している。また、メタデータA(M-1)、及びメディアC(M-1)は、抽出部271に入力されたため、セグメントバッファ252から削除されている。
ここで、メディアCは、グループ1及びグループ2の両方で共通して使用される。また、メディアCは、ダウンロード済みである。そのため、クライアント装置20は、メディアCを新たにダウンロードする必要がない。アプリケーション制御部26は、ダウンロード予定のセグメントファイル121のビットストリーム番号と、セグメントバッファ252に記憶されたセグメントのセグメント属性情報のビットストリーム番号と、を比較してダウンロードの要否を判定する。アプリケーション制御部26は、ダウンロード予定のセグメントファイル121のビットストリーム番号が記憶されている場合に、ダウンロードは不要と判定する。アプリケーション制御部26は、ダウンロード予定のセグメントファイル121のビットストリーム番号が記憶されていない場合に、ダウンロードは必要と判定する。
また、ダウンロードに際して、ダウンロード部251は、セグメントバッファ252の空き容量が閾値未満であることを条件に、セグメントバッファ252に記憶されたセグメントを削除する。すなわち、ダウンロード部251は、セグメントバッファ252の空き容量が閾値以上であることを条件に、セグメントバッファ252に記憶されたセグメントを削除せずに保持する。そして、削除せずに保持したセグメントは、コンテンツ切り替えが完了しなかった場合の画音ギャップの回避のために利用することができる。
ここで、フローチャートを用いて、上述した切り替え位置の決定について説明する。図31は、第1の実施形態に係るクライアント装置20が実行する切り替え後のグループのダウンロード処理の一例を示すフローチャートである。
アプリケーション制御部26は、切り替え後のセグメントファイル121のビットストリームに含まれているセグメントがセグメントバッファ252に記憶されているか否かを判定する(ステップS111)。すなわち、アプリケーション制御部26は、ダウンロード予定のセグメントファイル121のビットストリーム番号と同一のビットストリーム番号であって、切り替え位置以降のセグメント番号を有するセグメントを検出したか否かを判定する。
切り替え後のセグメントファイル121のセグメントがセグメントバッファ252に記憶されている場合に(ステップS111;No)、クライアント装置20は、ダウンロード済みであるため終了する。
切り替え後のセグメントファイル121のセグメントがセグメントバッファ252に記憶されていない場合に(ステップS111;Yes)、アプリケーション制御部26は、セグメントバッファ252に十分な空き容量があるか否かを判定する(ステップS112)。ここで、十分な空き容量とは、例えば空き容量が閾値以上あることである。閾値は、予め設定された値であってもよいし、処理時間に基づいて算出された値であってもよいし、ダウンロースするセグメントファイル121等のデータサイズに基づいて算出された値であってもよい。
セグメントバッファ252に十分な空き容量がない場合に(ステップS112;No)、アプリケーション制御部26は、セグメントバッファ252に記憶されたセグメントを削除する(ステップS113)。
セグメントバッファ252に十分な空き容量がある場合に(ステップS112;Yes)、アプリケーション制御部26は、セグメントバッファ252に記憶されたセグメントを削除しない。
HTTPアクセス制御部25のダウンロード部251は、セグメントファイル121のビットストリームに含まれているセグメントを受信する(ステップS114)。
HTTPアクセス制御部25のダウンロード部251は、受信したセグメントに対応したセグメント属性情報を生成する(ステップS115)。
HTTPアクセス制御部25のダウンロード部251は、受信したセグメントに生成したセグメント属性情報を付加する(ステップS116)。
HTTPアクセス制御部25は、セグメント属性情報が付加されたセグメントをセグメントバッファ252に記憶させる(ステップS117)。
以上により、クライアント装置20は、ダウンロード処理を終了する。
[第1の実施形態に係る切り替え後グループのデマルチプレックス手順]
次に、第1の実施形態に係るコンテンツのグループが切り替えられた場合に切り替え後のグループに属するセグメントのデマルチプレックス処理の手順について説明する。
コンテンツのグループの切り替え前後において、共通して使用するセグメントファイル121のビットストリームから抽出したMP4サンプルがMP4サンプルバッファ272に記憶されている場合、改めてデマルチプレックス処理を実行する必要はない。そのため、抽出部271は、MP4サンプルが属していたグループを示すグループ情報を含むMP4サンプル属性情報をMP4サンプルに付加してMP4サンプルバッファ272等の第2記憶部に記憶した場合に、切り替え後のグループに属しているMP4サンプルがMP4サンプルバッファ272に記憶されていることを条件に、切り替え後のグループに属しているMP4サンプルを抽出しない。そして、メディアエンジン27は、処理対象のセグメントのセグメント属性情報のビットストリーム番号と、MP4サンプルバッファ272のMP4サンプル属性情報のビットストリーム番号とを比較して、デマルチプレックス処理の要否を判定する。
また、デマルチプレックス処理に際して、抽出部271は、MP4サンプルバッファ272の空き容量が閾値未満であることを条件に、MP4サンプルバッファ272に記憶されたMP4サンプルを削除する。すなわち、抽出部271は、MP4サンプルバッファ272の空き容量が閾値以上であることを条件に、MP4サンプルバッファ272に記憶されたMP4サンプルを削除せずに保持する。そして、削除せずに保持したMP4サンプルは、コンテンツ切り替えが完了しなかった場合の画音ギャップの回避のために利用することができる。
ここで、図32は、第1の実施形態に係るクライアント装置20が実行する切り替え後のグループに属するセグメントのデマルチプレックス処理の一例を示すフローチャートである。
アプリケーション制御部26は、切り替え後のセグメントファイル121のビットストリームに含まれるMP4サンプルがMP4サンプルバッファ272に記憶されていないか否かを判定する(ステップS121)。すなわち、アプリケーション制御部26は、デマルチプレックス処理予定のセグメントのビットストリーム番号と同一のビットストリーム番号であって、切り替え位置以降のセグメント番号であって、切り替え位置以降のMP4サンプル番号を有するMP4サンプルを検出したか否かを判定する。
切り替え後のMP4サンプルがMP4サンプルバッファ272に記憶されている場合に(ステップS121;No)、クライアント装置20は、デマルチプレックス処理済みであるため終了する。
切り替え後のMP4サンプルがMP4サンプルバッファ272に記憶されていない場合に(ステップS121;Yes)、アプリケーション制御部26は、MP4サンプルバッファ272に十分な空き容量があるか否かを判定する(ステップS122)。ここで、十分な空き容量とは、例えば空き容量が閾値以上あることである。閾値は、予め設定された値であってもよいし、処理時間に基づいて算出された値であってもよいし、ダウンロースするセグメントファイル121等のデータサイズ基づいて算出された値であってもよい。
MP4サンプルバッファ272に十分な空き容量がない場合に(ステップS122;No)、抽出部271は、MP4サンプルバッファ272に記憶されたMP4サンプルを削除する(ステップS123)。
MP4サンプルバッファ272に十分な空き容量がある場合に(ステップS122;Yes)、抽出部271は、MP4サンプルバッファ272に記憶されたMP4サンプルを削除しない。
抽出部271は、セグメントバッファ252から取得したセグメントからMP4サンプルを抽出する(ステップS124)。
抽出部271は、抽出したMP4サンプルに対応したMP4サンプル属性情報を生成する(ステップS125)。
抽出部271は、抽出したMP4サンプルに生成したMP4サンプル属性情報を付加する(ステップS126)。
抽出部271は、MP4サンプル属性情報が付加されたMP4サンプルをMP4サンプルバッファ272に記憶させる(ステップS127)。
以上により、クライアント装置20は、デマルチプレックス処理を終了する。
[第1の実施形態に係る切り替え後グループのデコード手順]
次に、第1の実施形態に係るコンテンツのグループが切り替えられた場合に切り替え後のグループに属するMP4サンプルのデコード処理の手順について説明する。
コンテンツのグループの切り替え前後において、共通して使用するセグメントファイル121のビットストリームから抽出したMP4サンプルから生成した出力信号が出力バッファ274に記憶されている場合、改めてデコード処理を実行する必要はない。そのため、3Dオーディオデコーダ273は、切り替え後のグループに属しているMP4サンプルのデコードにより生成された出力信号が出力バッファ274等の第3記憶部に記憶されていることを条件に、MP4サンプルをデコードしない。そこで、メディアエンジン27は、出力バッファ274に記憶された出力信号の出力信号属性情報が示すグループ情報が切り替え後のグループ情報であって、出力時刻が切り替え位置以降であるか否かによりデコードの要否を判定する。
ここで、図33は、第1の実施形態に係るクライアント装置20が実行する切り替え後のグループに属するMP4サンプルのデコード処理の一例を示すフローチャートである。
3Dオーディオデコーダ273は、MP4サンプルバッファ272に同一出力時刻のMP4サンプルが2つ記憶されているか否かを判定する(ステップS131)。すなわち、3Dオーディオデコーダ273は、MP4サンプルバッファ272に、音声オブジェクト及びメタデータのMP4サンプルが記憶されているか否かを判定する。MP4サンプルバッファ272に同一出力時刻のMP4サンプルが2つ記憶されていない場合(ステップS131;No)、3Dオーディオデコーダ273は、待機する。
MP4サンプルバッファ272に同一出力時刻のMP4サンプルが2つ記憶されている場合(ステップS131;Yes)、3Dオーディオデコーダ273は、同一出力時刻のMP4サンプルが切り替え後に再生するMP4サンプルであるか否かを判定する(ステップS132)。具体的には、3Dオーディオデコーダ273は、同一出力時刻のMP4サンプルのMP4サンプル属性情報に基づいて、同一出力時刻のMP4サンプルが切り替え位置以降の出力時刻であって、切り替え後のグループ情報であるかを判定する。
切り替え後に再生するMP4サンプルではない場合に(ステップS132;No)、3Dオーディオデコーダ273は、処理を終了する。
切り替え後に再生するMP4サンプルである場合に(ステップS132;Yes)、3Dオーディオデコーダ273は、同一出力時刻の2つのMP4サンプルのうち、一方のMP4サンプルを取得する(ステップS133)。
3Dオーディオデコーダ273は、取得したMP4サンプルに対して一次デコード処理を実行する(ステップS134)。
3Dオーディオデコーダ273は、同一出力時刻の2つのMP4サンプルのうち、ステップS133で取得しなかった他方のMP4サンプルを取得する(ステップS135)。
3Dオーディオデコーダ273は、取得したMP4サンプルに対して一次デコード処理を実行する(ステップS136)。
3Dオーディオデコーダ273は、二次デコード処理を実行する(ステップS137)。
以上により、3Dオーディオデコーダ273は、切り替え後のデコード処理を終了する。
[第1の実施形態に係る切り替え後グループの出力手順]
次に、第1の実施形態に係るコンテンツのグループが切り替えられた場合に切り替え後のグループに属する出力信号の出力処理の手順について説明する。レンダリング部2735は、切り替え位置から切り替え後のグループに属するセグメントファイル121のビットストリームから生成した出力信号を出力装置30に出力する。その際、レンダリング部2735は、切り替え後のグループに属しているMP4サンプルから生成された出力信号を出力装置30に出力した後に、切り替え前のグループに属しているMP4サンプルから生成された出力信号を削除する。このように、出力信号を出力装置30に出力した後に、切り替え前のグループに属しているMP4サンプルから生成された出力信号を削除することで、レンダリング部2735は、コンテンツ切り替えが完了しなかった場合の画音ギャップの回避のために利用することができる。
ここで、図34は、第1の実施形態に係るクライアント装置20が実行する切り替え後のグループに属する出力信号の出力処理の一例を示すフローチャートである。
レンダリング部2735は、出力バッファ274に出力時刻が同一の出力信号であって、切り替え前後のグループの其々の出力信号が記憶されているか否かを判定する(ステップS141)。
出力バッファ274に出力時刻が同一の出力信号であって、切り替え前後のグループの其々の出力信号が記憶されていない場合に(ステップS141;No)、レンダリング部2735は、処理を終了する。
出力バッファ274に出力時刻が同一の出力信号であって、切り替え前後のグループの其々の出力信号が記憶されている場合に(ステップS141;Yes)、レンダリング部2735は、切り替え後のグループの出力信号を出力装置30に出力する(ステップS142)。
レンダリング部2735は、切り替え前のグループの出力信号を出力バッファ274から削除する(ステップS143)。
以上により、3Dオーディオデコーダ273は、切り替え後の出力処理を終了する。
このように、第1の実施形態にかかるクライアント装置20は、セグメント属性情報、MP4サンプル属性情報、及び出力信号属性情報を各情報に付加する。そして、クライアント装置20は、これら情報に基づいて切り替え位置を算出することで、セグメントよりも短時間のMP4サンプル単位でのコンテンツのグループの切り替えを実現している。よって、クライアント装置20は、コンテンツの切り替えにかかる時間を短縮することができる。
[第1の実施形態の変形例(1)]
上記第1の実施形態では、データが再生させる順番で整列されたセグメントファイル121の場合について説明した。変形例(1)では、GOP(Group Of Pictures)構造を持つセグメントファイル121の場合について説明する。
GOP構造を持つセグメントファイル121の場合、アプリケーション制御部26は、GOP単位で切り替え位置を算出する点が異なっている。更に詳しくは、GOP構造を持つセグメントファイル121の場合、ランダムアクセス可能なポイントではない位置を切り替え位置に決定した場合、フレーム間予測を行うことができなくなってしまう。そこで、アプリケーション制御部26は、算出した処理時間に基づいて導出したMP4サンプルが、セグメントファイル121のmoov boxに含まれるSync Sample Box(stss)で示されたランダムアクセス可能なポイントである場合に、切り替え位置に決定する。ランダムアクセス可能なポイントとは、例えばGOP構造におけるI(Intra)ピクチャ等の基準画像である。
ここで、図35は、変形例(1)に係るMP4サンプルバッファ272に記憶されたMP4サンプルのデータ構成例を示す図である。変形例(1)に係るMP4サンプル属性情報には、可能点情報が含まれている。可能点情報は、ランダムアクセス可能か否かを示すフラグである。すなわち、可能点情報は、デコード前に切り替え位置になれるMP4サンプルか否かを示すフラグである。
抽出部271は、MP4サンプルが切り替え位置になれるか否かを示す可能点情報を含むMP4サンプル属性情報を付加する。すなわち、抽出部271は、MP4サンプルがフレーム間予測における基準画像である場合に、切り替え位置になり得ることを示す可能点情報を含むMP4サンプル属性情報を付加する。具体的には、抽出部271は、切り替え位置になれるMP4サンプルである場合、可能点情報に「1」を設定し、切り替え位置として不適切なMP4サンプルである場合、可能点情報に「0」を設定する。そして、アプリケーション制御部26は、MP4サンプル属性情報に含まれる可能点情報が切り替え位置になれることを示している場合に、切り替え位置に決定する。
[変形例(1)に係るダウンロード処理手順]
次に、変形例(1)に係る抽出部271が実行するデマルチプレックス処理について説明する。図36は、変形例(1)に係る抽出部271が実行するデマルチプレックス処理の一例を示すフローチャートである。
ステップS151からステップS153までの処理は、図17に示すステップS41からステップS43までの処理と同じである。
抽出部271は、Sync Sample Box(stss)に基づいて、対象のMP4サンプルの可能点情報を設定する(ステップS154)。
ステップS155からステップS156までの処理は、図17に示すステップS44からステップS45までの処理と同じである。
以上により、抽出部271は、デマルチプレックス処理を終了する。
[変形例(1)に係るグループを切り替える位置の決定]
処理時間の合計(Tproc)の算出において、GOP単位で切り替え位置が決定される。すなわち、MP4サンプル属性情報の可能点情報の値が「1」のMP4サンプルでなければデコードを実行することができない。
更に詳しくは、アプリケーション制御部26は、下記数式(5)にて処理時間の合計(Tproc)を算出する。なお、Tprocの初期値は0とする。
Tproc=Tproc
+(8×size/bandwidth)
+(8×size/(Ngop×demux-rate))
+(8×size/(Ngop×decode-rate)) …数式(5)
Tproc;処理時間の合計(秒)
size;受信したセグメントのデータサイズ(byte)
bandwidth;ネットワーク帯域(ビット/秒)
Ngop;切り替え後グループのビットストリームにおいて1つのセグメントに含まれているGOPの総数
demux-rate ; 切り替え後グループのビットストリームに対する抽出部271のデマルチプレックス処理等の処理レート(ビット/秒)
decode-rate ; 切り替え後グループのビットストリームに対する3Dオーディオデコーダ273のデコード処理等の処理レート(ビット/秒)
次に、変形例(1)にかかるGOP構造を持つセグメントファイル121の切り替え位置に決定処理について説明する。図37は、変形例(1)に係るクライアント装置20が実行するグループの切り替え位置の決定処理の一例を示すフローチャートである。
ステップS161からステップS162までの処理は、図30に示すステップS101からステップS102までの処理と同じである。
アプリケーション制御部26は、MP4サンプルバッファ272に切り替え位置が設定可能であるか否かを判定する(ステップS163)。更に詳しくは、アプリケーション制御部26は、数式(5)により算出されたTprocにおいて、数式(2)を満たし、且つMP4サンプル属性情報の可能点情報が「1」であるMP4サンプルがMP4サンプルバッファ272に有るか否かを判定する。
MP4サンプルバッファ272に切り替え位置が設定可能である場合に(ステップS163;Yes)、アプリケーション制御部26は、該当するMP4サンプルの出力時刻を取得する(ステップS164)。
MP4サンプルバッファ272に切り替え位置が設定不可である場合に(ステップS163;No)、アプリケーション制御部26は、セグメントバッファ252に切り替え位置が設定可能であるか否かを判定する(ステップS165)。
更に詳しくは、アプリケーション制御部26は、数式(5)により算出されたTprocにおいて、数式(3)を満たしているか否かを判定する。また、切り替え位置として設定されるMP4サンプルは、セグメントバッファ252に記憶されている状態においても、MP4サンプル属性情報の可能点情報が「1」であることが求められる。ところが、抽出部271がMP4サンプルの可能点情報を設定する前であるため、該当するMP4サンプルの可能点情報の値は不明である。
そこで、アプリケーション制御部26は、可能点情報、つまりランダムアクセス可能なポイントはGOP構造の先頭等の境界にあると推定する。そして、アプリケーション制御部26は、GOP構造の境界のMP4サンプルが数式(3)を満たすか否かにより、セグメントバッファ252に切り替え位置が設定可能であるか否かを判定する。
セグメントバッファ252に切り替え位置が設定可能である場合に(ステップS165;Yes)、アプリケーション制御部26は、該当するMP4サンプルの出力時刻を取得する(ステップS166)。
アプリケーション制御部26は、取得した出力時刻を切り替え位置に決定する(ステップS167)。
以上により、アプリケーション制御部26は、グループの切り替え位置の決定処理を終了する。
このように、第1の実施形態の変形例(1)にかかるクライアント装置20は、可能点情報をMP4サンプル属性情報に付加している。そして、クライアント装置20は、可能点情報に基づいて、切り替え位置できるか否かを判定している。よって、クライアント装置20は、セグメントファイル121がGOP構造を有している場合であっても、コンテンツの切り替えにかかる時間を短縮することができる。
(効果)
クライアント装置20は、ダウンロード部251と、抽出部271と、アプリケーション制御部26と、レンダリング部2735とを備える。ダウンロード部251は、HTTPプロトコルに準拠した通信により、複数のセグメントを有するセグメントファイル121と、セグメントファイル121が属するグループが設定されたMPDファイル122とを受信する。抽出部271は、デマルチプレックス処理により、ダウンロード部251が受信したセグメントファイル121のビットストリームのセグメントに1以上含まれるMP4サンプルを抽出して、MP4サンプルの再生開始時間を含むMP4サンプル属性情報をMP4サンプルに付加する。アプリケーション制御部26は、ストリーミング再生開始、及びストリーミング再生停止、コンテンツのグループの切り替え等の操作を受け付ける。また、アプリケーション制御部26は、受け付けたコンテンツのグループを切り替える操作と、セグメント属性情報、MP4サンプル属性情報、及び出力信号属性情報に基づいて、切り替え後のグループに属するセグメントファイル121を出力させる切り替え位置をMP4サンプル単位で決定する。レンダリング部2735は、切り替え位置から切り替え後のグループに属するセグメントファイル121のビットストリームから生成した出力信号を出力装置30に出力する。これにより、クライアント装置20は、コンテンツの切り替えにかかる時間を短縮することができる。
アプリケーション制御部26は、受け付けた切り替え後のグループのセグメントファイル121のビットストリームの再生を開始するまでにかかる処理時間を算出する。アプリケーション制御部26は、アプリケーション制御部26が算出した処理時間に基づいて、切り替え位置を決定する。このように、クライアント装置20は、処理時間に基づいて、切り替え位置を決定することでコンテンツの切り替えにかかる時間を短縮することができる。
ダウンロード部251は、受信したセグメントファイル121のビットストリームに含まれるセグメントを記憶するセグメントバッファ252等の第1記憶部に、切り替え後のグループに属しているセグメントファイル121が記憶されている場合に、セグメントファイル121を受信しない。これにより、クライアント装置20は、冗長なダウンロードを防止することができる。
抽出部271は、MP4サンプルが属していたグループを示すグループ情報を含むMP4サンプル属性情報をMP4サンプルに付加してMP4サンプルバッファ272に記憶した場合に、切り替え後のグループに属しているMP4サンプルがMP4サンプルバッファ272に記憶されていることを条件に、切り替え後のグループに属しているMP4サンプルを抽出しない。これにより、クライアント装置20は、冗長なデマルチマルチプレックスを防止することができる。
3Dオーディオデコーダ273は、切り替え後のグループに属しているMP4サンプルのデコードにより生成された出力信号が出力バッファ274に記憶されていることを条件に、MP4サンプルをデコードしない。これにより、クライアント装置20は、冗長なデコードを防止することができる。
解析部2731は、MP4サンプルをオブジェクトデータと、オブジェクトデータに付随するメタデータとに分離させる。これにより、クライアント装置20は、オブジェクトデータの復号、及びメタデータの復号の両方を実行した後で所望のデータだけを取捨するという冗長性を排除できる。
ダウンロード部251は、セグメントバッファ252の空き容量が閾値未満であることを条件に、セグメントバッファ252に記憶されたセグメントを削除する。すなわち、ダウンロード部251は、セグメントバッファ252の空き容量が閾値以上であることを条件に、セグメントバッファ252に記憶されたセグメントを削除せずに保持する。これにより、クライアント装置20は、削除せずに保持したセグメントは、コンテンツ切り替えが完了しなかった場合の画音ギャップの回避のために利用することができる。
抽出部271は、MP4サンプルバッファ272の空き容量が閾値未満であることを条件に、MP4サンプルバッファ272に記憶されたMP4サンプルを削除する。すなわち、抽出部271は、MP4サンプルバッファ272の空き容量が閾値以上であることを条件に、MP4サンプルバッファ272に記憶されたMP4サンプルを削除せずに保持する。これにより、クライアント装置20は、削除せずに保持したMP4サンプルは、コンテンツ切り替えが完了しなかった場合の画音ギャップの回避のために利用することができる。
レンダリング部2735は、切り替え後のグループに属しているMP4サンプルから生成された出力信号を出力装置30に出力した後に、切り替え前のグループに属しているMP4サンプルから生成された出力信号を削除する。このように、出力信号を出力装置30に出力した後に、切り替え前のグループに属しているMP4サンプルから生成された出力信号を削除することで、レンダリング部2735は、コンテンツ切り替えが完了しなかった場合の画音ギャップの回避のために利用することができる。
抽出部271は、MP4サンプルが切り替え位置になれるか否かを示す可能点情報を含むMP4サンプル属性情報を付加する。アプリケーション制御部26は、MP4サンプル属性情報に含まれる可能点情報が切り替え位置になれることを示している場合に、切り替え位置に決定する。これにより、クライアント装置20は、MP4サンプルが出力順に整列されていない場合においても、コンテンツの切り替えにかかる時間を短縮することができる。
抽出部271は、MP4サンプルがフレーム間予測における基準画像である場合に、切り替え位置になり得ることを示す可能点情報を含むMP4サンプル属性情報を付加する。これにより、クライアント装置20は、GOP構造を持つセグメントファイル121の場合においても、コンテンツの切り替えにかかる時間を短縮することができる。
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
なお、本技術は以下のような構成も取ることができる。
(1)
複数のセグメントを有するセグメントファイルと、前記セグメントファイルが属するグループが設定された設定ファイルとを受信する受信部と、
前記受信部が受信した前記セグメントファイルの前記セグメントに1以上含まれるMP4サンプルを抽出して、当該MP4サンプルの再生開始時間を含む属性情報を当該MP4サンプルに付加する抽出部と、
受け付けた前記グループを切り替える操作と、前記属性情報に基づいて、切り替え後の前記グループに属する前記セグメントファイルを出力させる切り替え位置を前記MP4サンプル単位で決定する決定部と、
前記切り替え位置から切り替え後の前記グループに属する前記セグメントファイルから生成した出力信号を出力装置に出力する出力部と、
を備える情報処理装置。
(2)
受け付けた切り替え後の前記グループの前記セグメントファイルの再生を開始するまでにかかる処理時間を算出する算出部を更に備え、
前記決定部は、前記算出部が算出した処理時間に基づいて、前記切り替え位置を決定する、
(1)に記載の情報処理装置。
(3)
前記受信部は、受信した前記セグメントファイルに含まれる前記セグメントを記憶する第1記憶部に、切り替え後の前記グループに属している前記セグメントファイルが記憶されている場合に、当該セグメントファイルを受信しない、
(1)又は(2)に記載の情報処理装置。
(4)
前記抽出部は、前記MP4サンプルが属していた前記グループを示すグループ情報を含む前記属性情報を当該MP4サンプルに付加して第2記憶部に記憶した場合に、切り替え後の前記グループに属している前記MP4サンプルが前記第2記憶部に記憶されていることを条件に、切り替え後の前記グループに属している前記MP4サンプルを抽出しない、
(1)乃至(3)の何れか一項に記載の情報処理装置。
(5)
切り替え後の前記グループに属している前記MP4サンプルのデコードにより生成された前記出力信号が第3記憶部に記憶されていることを条件に、当該MP4サンプルをデコードしない復号部を更に備える、
(1)乃至(4)の何れか一項に記載の情報処理装置。
(6)
前記MP4サンプルをオブジェクトデータと、オブジェクトデータに付随するメタデータとに分離させる分離部を更に備える、
(1)乃至(5)の何れか一項に記載の情報処理装置。
(7)
前記分離部は、前記オブジェクトデータである音声オブジェクトと、前記メタデータである前記音声オブジェクトの定位情報とに分離させる、
(6)に記載の情報処理装置。
(8)
前記受信部は、前記第1記憶部の空き容量が閾値未満であることを条件に、前記第1記憶部に記憶された前記セグメントを削除する、
(3)に記載の情報処理装置。
(9)
前記抽出部は、前記第2記憶部の空き容量が閾値未満であることを条件に、前記第2記憶部に記憶された前記MP4サンプルを削除する、
(4)に記載の情報処理装置。
(10)
前記出力部は、切り替え後の前記グループに属している前記MP4サンプルから生成された前記出力信号を前記出力装置に出力した後に、切り替え前の前記グループに属している前記MP4サンプルから生成された前記出力信号を削除する、
(5)に記載の情報処理装置。
(11)
前記抽出部は、前記MP4サンプルが切り替え位置になれるか否かを示す可能点情報を含む前記属性情報を付加し、
前記決定部は、前記MP4サンプルの前記属性情報に含まれる前記可能点情報が切り替え位置になれることを示している場合に、切り替え位置に決定する、
(1)乃至(10)の何れか一項に記載の情報処理装置。
(12)
前記抽出部は、前記MP4サンプルがフレーム間予測における基準画像である場合に、切り替え位置になり得ることを示す前記可能点情報を含む前記属性情報を付加する、
(11)に記載の情報処理装置。
(13)
複数のセグメントを有するセグメントファイルと、前記セグメントファイルが属するグループが設定された設定ファイルとを受信し、
受信した前記セグメントファイルの前記セグメントに1以上含まれるMP4サンプルを抽出して、当該MP4サンプルの再生開始時間を含む属性情報を当該MP4サンプルに付加し、
受け付けた前記グループを切り替える操作と、前記属性情報に基づいて、切り替え後の前記グループに属する前記セグメントファイルを出力させる切り替え位置を前記MP4サンプル単位で決定し、
前記切り替え位置から切り替え後の前記グループに属する前記セグメントファイルから生成した出力信号を出力装置に出力する、
情報処理方法。
(14)
情報処理装置が有するコンピュータを、
複数のセグメントを有するセグメントファイルと、前記セグメントファイルが属するグループが設定された設定ファイルとを受信する受信部と、
前記受信部が受信した前記セグメントファイルの前記セグメントに1以上含まれるMP4サンプルを抽出して、当該MP4サンプルの再生開始時間を含む属性情報を当該MP4サンプルに付加する抽出部と、
受け付けた前記グループを切り替える操作と、前記属性情報に基づいて、切り替え後の前記グループに属する前記セグメントファイルを出力させる切り替え位置を前記MP4サンプル単位で決定する決定部と、
前記切り替え位置から切り替え後の前記グループに属する前記セグメントファイルから生成した出力信号を出力装置に出力する出力部と、
として機能させるための情報処理プログラム。
1 ストリーミングシステム
10 サーバ装置
20 クライアント装置
30 出力装置
25 HTTPアクセス制御部
26 アプリケーション制御部
27 メディアエンジン
121 セグメントファイル
122 MPDファイル
251 ダウンロード部
252 セグメントバッファ
271 抽出部
272 MP4サンプルバッファ
273 3Dオーディオデコーダ
274 出力バッファ
2731 解析部
2732 オブジェクトデコーダ
2733 メタデータデコーダ
2734 出力中間バッファ
2735 レンダリング部

Claims (14)

  1. 複数のセグメントを有するセグメントファイルと、前記セグメントファイルが属するグループが設定された設定ファイルとを受信する受信部と、
    前記受信部が受信した前記セグメントファイルの前記セグメントに1以上含まれるMP4サンプルを抽出して、当該MP4サンプルの再生開始時間を含む属性情報を当該MP4サンプルに付加する抽出部と、
    受け付けた前記グループを切り替える操作と、前記属性情報に基づいて、切り替え後の前記グループに属する前記セグメントファイルを出力させる切り替え位置を前記MP4サンプル単位で決定する決定部と、
    前記切り替え位置から切り替え後の前記グループに属する前記セグメントファイルから生成した出力信号を出力装置に出力する出力部と、
    を備え
    前記決定部は、前記出力信号が記憶される第3記憶部、および、前記属性情報が付加された前記MP4サンプルが記憶される第2記憶部にそれぞれ規定された異なる条件に基づいて、前記第3記憶部、前記第2記憶部、もしくは、受信した前記セグメントファイルに含まれる前記セグメントを記憶する第1記憶部のいずれかにおいて前記切り替え位置を決定する、
    情報処理装置。
  2. 受け付けた切り替え後の前記グループの前記セグメントファイルの再生を開始するまでにかかる処理時間を算出する算出部を更に備え、
    前記決定部は、前記算出部が算出した処理時間に基づいて、前記切り替え位置を決定する、
    請求項1に記載の情報処理装置。
  3. 前記受信部は、受信した前記セグメントファイルに含まれる前記セグメントを記憶する前記第1記憶部に、切り替え後の前記グループに属している前記セグメントファイルが記憶されている場合に、当該セグメントファイルを受信しない、
    請求項1に記載の情報処理装置。
  4. 前記抽出部は、前記MP4サンプルが属していた前記グループを示すグループ情報を含む前記属性情報を当該MP4サンプルに付加して前記第2記憶部に記憶した場合に、切り替え後の前記グループに属している前記MP4サンプルが前記第2記憶部に記憶されていることを条件に、切り替え後の前記グループに属している前記MP4サンプルを抽出しない、
    請求項1に記載の情報処理装置。
  5. 切り替え後の前記グループに属している前記MP4サンプルのデコードにより生成された前記出力信号が前記第3記憶部に記憶されていることを条件に、当該MP4サンプルをデコードしない復号部を更に備える、
    請求項1に記載の情報処理装置。
  6. 前記MP4サンプルをオブジェクトデータと、オブジェクトデータに付随するメタデータとに分離させる分離部を更に備える、
    請求項1に記載の情報処理装置。
  7. 前記分離部は、前記オブジェクトデータである音声オブジェクトと、前記メタデータである前記音声オブジェクトの定位情報とに分離させる、
    請求項6に記載の情報処理装置。
  8. 前記受信部は、前記第1記憶部の空き容量が閾値未満であることを条件に、前記第1記憶部に記憶された前記セグメントを削除する、
    請求項3に記載の情報処理装置。
  9. 前記抽出部は、前記第2記憶部の空き容量が閾値未満であることを条件に、前記第2記憶部に記憶された前記MP4サンプルを削除する、
    請求項4に記載の情報処理装置。
  10. 前記出力部は、切り替え後の前記グループに属している前記MP4サンプルから生成された前記出力信号を前記出力装置に出力した後に、切り替え前の前記グループに属している前記MP4サンプルから生成された前記出力信号を削除する、
    請求項5に記載の情報処理装置。
  11. 前記抽出部は、前記MP4サンプルが切り替え位置になれるか否かを示す可能点情報を含む前記属性情報を付加し、
    前記決定部は、前記MP4サンプルの前記属性情報に含まれる前記可能点情報が切り替え位置になれることを示している場合に、切り替え位置に決定する、
    請求項1に記載の情報処理装置。
  12. 前記抽出部は、前記MP4サンプルがフレーム間予測における基準画像である場合に、切り替え位置になり得ることを示す前記可能点情報を含む前記属性情報を付加する、
    請求項11に記載の情報処理装置。
  13. 複数のセグメントを有するセグメントファイルと、前記セグメントファイルが属するグループが設定された設定ファイルとを受信し、
    受信した前記セグメントファイルの前記セグメントに1以上含まれるMP4サンプルを抽出して、当該MP4サンプルの再生開始時間を含む属性情報を当該MP4サンプルに付加し、
    受け付けた前記グループを切り替える操作と、前記属性情報に基づいて、切り替え後の前記グループに属する前記セグメントファイルを出力させる切り替え位置を前記MP4サンプル単位で決定し、
    前記切り替え位置から切り替え後の前記グループに属する前記セグメントファイルから生成した出力信号を出力装置に出力する、
    情報処理方法であって、さらに、
    前記出力信号が記憶される第3記憶部、および、前記属性情報が付加された前記MP4サンプルが記憶される第2記憶部にそれぞれ規定された異なる条件に基づいて、前記第3記憶部、前記第2記憶部、もしくは、受信した前記セグメントファイルに含まれる前記セグメントを記憶する第1記憶部のいずれかにおいて前記切り替え位置を決定する、
    情報処理方法。
  14. 情報処理装置が有するコンピュータを、
    複数のセグメントを有するセグメントファイルと、前記セグメントファイルが属するグループが設定された設定ファイルとを受信する受信部と、
    前記受信部が受信した前記セグメントファイルの前記セグメントに1以上含まれるMP4サンプルを抽出して、当該MP4サンプルの再生開始時間を含む属性情報を当該MP4サンプルに付加する抽出部と、
    受け付けた前記グループを切り替える操作と、前記属性情報に基づいて、切り替え後の前記グループに属する前記セグメントファイルを出力させる切り替え位置を前記MP4サンプル単位で決定する決定部と、
    前記切り替え位置から切り替え後の前記グループに属する前記セグメントファイルから生成した出力信号を出力装置に出力する出力部と、
    として機能させるための情報処理プログラムであって、
    前記決定部は、前記出力信号が記憶される第3記憶部、および、前記属性情報が付加された前記MP4サンプルが記憶される第2記憶部にそれぞれ規定された異なる条件に基づいて、前記第3記憶部、前記第2記憶部、もしくは、受信した前記セグメントファイルに含まれる前記セグメントを記憶する第1記憶部のいずれかにおいて前記切り替え位置を決定する、
    情報処理プログラム。
JP2021504982A 2019-03-08 2020-03-05 情報処理装置、情報処理方法及び情報処理プログラム Active JP7517324B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019043187 2019-03-08
JP2019043187 2019-03-08
PCT/JP2020/009311 WO2020184357A1 (ja) 2019-03-08 2020-03-05 情報処理装置、情報処理方法及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JPWO2020184357A1 JPWO2020184357A1 (ja) 2020-09-17
JP7517324B2 true JP7517324B2 (ja) 2024-07-17

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348548A (ja) 2002-05-23 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> ストリーム配信システムと方法およびストリーム受信装置
JP2014506424A (ja) 2011-01-04 2014-03-13 アルカテル−ルーセント アダプティブストリーミングサービスを提供する方法
WO2014057896A1 (ja) 2012-10-09 2014-04-17 シャープ株式会社 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、制御プログラムおよび記録媒体
WO2016002493A1 (ja) 2014-06-30 2016-01-07 ソニー株式会社 ファイル生成装置および方法、並びにコンテンツ再生装置および方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348548A (ja) 2002-05-23 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> ストリーム配信システムと方法およびストリーム受信装置
JP2014506424A (ja) 2011-01-04 2014-03-13 アルカテル−ルーセント アダプティブストリーミングサービスを提供する方法
WO2014057896A1 (ja) 2012-10-09 2014-04-17 シャープ株式会社 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、制御プログラムおよび記録媒体
WO2016002493A1 (ja) 2014-06-30 2016-01-07 ソニー株式会社 ファイル生成装置および方法、並びにコンテンツ再生装置および方法

Similar Documents

Publication Publication Date Title
JP6886488B2 (ja) 再生方法、コンテンツ送信方法、再生装置、およびコンテンツ送信装置
CN106471574B (zh) 信息处理装置和信息处理方法
KR102120525B1 (ko) 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법
JP7100175B2 (ja) 送信方法及び送信装置
JP4270379B2 (ja) デジタル情報の効率的な伝送および再生
JP7439762B2 (ja) 情報処理装置および情報処理方法、並びにプログラム
WO2013008867A1 (ja) 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
JP6565922B2 (ja) 符号化装置および方法、再生装置および方法、並びにプログラム
JP7238948B2 (ja) 情報処理装置および情報処理方法
KR102103054B1 (ko) 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법
US9009760B2 (en) Provisioning interactive video content from a video on-demand (VOD) server
WO2020184357A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7517324B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US20210243485A1 (en) Receiving apparatus, transmission apparatus, receiving method, transmission method, and program
JP7014157B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
JP6294527B2 (ja) 送信装置、送信方法、再生装置、及び再生方法
CN114697712A (zh) 一种媒体流的下载方法、装置、设备及存储介质
JP7365212B2 (ja) 動画再生装置、動画再生システム、および動画再生方法
JP2016015533A (ja) 情報処理装置および方法
KR20180121452A (ko) 오디오 메타데이터 제공 장치 및 방법, 오디오 데이터 제공 장치 및 방법, 오디오 데이터 재생 장치 및 방법