(57)【要約】【課題】ストリーミング再生中におけるシーク操作時のバッファリング遅延を低減させる。【解決手段】コンテンツ生成装置２は、動画コンテンツの符号化ストリームを異なるタイミングでセグメントに分割した、複数のセグメント化ストリームを生成するセグメント化ストリーム生成部２４と、前記複数のセグメント化ストリームについて、セグメント化ストリームを識別するストリーム識別子と、セグメントの再生時刻及びＵＲＬとを記述したマニフェストファイルを生成するマニフェスト生成部２５と、マニフェストファイル及びセグメントを配信サーバに供給するコンテンツ送信部２６と、を備える。【選択図】図２
2020129734.tif 000002
【特許請求の範囲】
【請求項１】
動画コンテンツのセグメント及びマニフェストファイルを生成するコンテンツ生成装置であって、
動画コンテンツの符号化ストリームを異なるタイミングでセグメントに分割した、複数のセグメント化ストリームを生成するセグメント化ストリーム生成部と、
前記複数のセグメント化ストリームについて、セグメント化ストリームを識別するストリーム識別子と、セグメントの再生時刻及びＵＲＬとを記述したマニフェストファイルを生成するマニフェスト生成部と、
前記マニフェストファイル及び前記セグメントを配信サーバに供給するコンテンツ送信部と、
を備えることを特徴とするコンテンツ生成装置。
【請求項２】
符号化ストリームを異なるタイミングでセグメントに分割した複数のセグメント化ストリームに関するマニフェストファイル、及びセグメントを配信サーバから受信する受信装置であって、
前記マニフェストファイルには、セグメント化ストリームを識別するストリーム識別子と、セグメントの再生時刻及びＵＲＬとが記述されており、
受信した前記マニフェストファイルを解析し、前記ストリーム識別子ごとに前記セグメントの再生時刻及びＵＲＬを対応付けたセグメントＵＲＬリストを生成するマニフェスト取得部と、
シーク操作が実行された場合に、シーク後の再生時刻である新規再生時刻を抽出する再生制御部と、
シーク操作が実行された場合に、前記新規再生時刻に基づき、再生を開始するまでにバッファに保存する必要があるセグメントの数が最小となるセグメント化ストリームに対応する前記セグメントＵＲＬリストを決定し、該セグメントＵＲＬリストから取得対象のセグメントのＵＲＬを抽出するバッファ制御部と、
前記バッファ制御部により決定された前記セグメントのＵＲＬに基づいて、配信サーバからセグメントを取得するセグメント取得部と、
を備えることを特徴とする、受信装置。
【請求項３】
コンピュータを、請求項１に記載のコンテンツ生成装置として機能させるためのプログラム。
【請求項４】
コンピュータを、請求項２に記載の受信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ生成装置、受信装置、及びプログラムに関する。
【背景技術】
【０００２】
昨今のインターネットにおけるストリーミング動画配信では、専用のサーバと専用のプロトコルによるストリーミング配信方式から、汎用的なＷｅｂサーバによりＨＴＴＰプロトコルを用いてストリーミング配信する方式への移行が進んでおり、多くのデバイス向けの配信において主流となっている。このようなＨＴＴＰプロトコルによるストリーミング配信方式（アダプティブストリーミング）としては、ＩＴベンダによる独自技術が普及している他、これらストリーミング方式の統一を意図した国際標準規格であるＭＰＥＧ−ＤＡＳＨ（ＩＳＯ／ＩＥＣ２３００９−１）が策定された。
【０００３】
いずれの技術も基本的なコンセプトは同様であり、Ｗｅｂサーバには動画コンテンツを１つ又は複数の品質（画面サイズやビットレート）で符号化した符号化ストリームをそれぞれ数秒から数十秒程度のファイルに分割したもの（セグメント）と、それらの動画コンテンツの属性及びＵＲＬを記述したマニフェストファイルを用意する。受信装置はマニフェストファイルから当該受信装置の画面サイズや伝送路のネットワーク帯域の状態等を考慮して、適時品質を選択して次々とセグメントを受信し、１本の動画コンテンツにつなぎ合わせて再生するものである（例えば、非特許文献１参照）。
【０００４】
図７にアダプティブストリーミングの一例を示す。図７では、映像が複数品質でエンコードされ、それぞれの品質ごとに数秒単位に分割されたセグメントが生成されている。この例では、エンコーダは映像を低品質のセグメント１〜４、中品質のセグメント１’〜４’、及び高品質のセグメント１”〜４”に分割している。マニフェストファイルには、セグメントのＵＲＬや、それぞれの品質ごとのビットレートや画像サイズなどの属性情報が登録される。セグメント及びマニフェストファイルはＷｅｂサーバに供給される。
【０００５】
受信装置は、Ｗｅｂサーバからマニフェストファイルを受信し、マニフェストファイルからビットレートやセグメントの構成を把握し（ステップＡ）、受信装置の画面サイズやネットワークの受信帯域の状況をもとにセグメント単位で品質を選択し、ＨＴＴＰプロトコルにより受信する（ステップＢ）。続いて、受信したセグメントをマニフェストファイルに従って順番通りにつなぎ合わせて再生する（ステップＣ）。このようにステップＢ，Ｃの処理を繰り返すことにより、一連のコンテンツを受信し再生を継続することができる。
【０００６】
受信装置においては、多くのデバイスで普及が進むＨＴＭＬ５ブラウザを利用することにより、マルチデバイス（ＰＣ、テレビ受信機、タブレット装置等）に対応可能な視聴環境を構築することができる。
【０００７】
しかし、従来ＨＴＭＬ５ブラウザで動画を再生するための機能であるビデオ要素（videoタグ）では、ソースとしてメディアファイルを参照することしかできなかったため、このようなアダプティブストリーミングの視聴を実現するためには、別途ブラウザプラグインのインストールが必要だった。そのため、どのブラウザでも共通で利用できる視聴環境を構築することが困難だった。このような状況から、ＨＴＭＬ５ブラウザのビデオ要素及びJavaScript（登録商標）によってアダプティブストリーミングの視聴を実現するための機能として、Ｗｅｂで利用される技術の標準化を進める国際的な非営利団体であるＷ３Ｃにおいて、ＭＳＥ（Media Source Extensions）の規格化が進んでいる（例えば、非特許文献２参照）。
【０００８】
ＭＳＥを用いることにより、ビデオ要素はソースとしてバッファを参照することが可能となる。そのバッファへはJavaScriptによって受信したセグメントを挿入することができるようになることから、多様なアダプティブストリーミングの視聴がＨＴＭＬ５のビデオ要素とJavaScriptにより実現可能となる。
【０００９】
ここで、図８を参照してＭＳＥのバッファモデルについて説明する。図８はＭＳＥのバッファモデルの一例を示す図である。バッファ（SourceBuffer）は、セグメント開始時刻と再生継続時間に対応付けてセグメントを管理する。図８では、斜線の入ったブロックがセグメントを示しており、セグメント単位の再生開始時刻であるセグメント開始時刻が０秒かつ再生継続時間が５秒、セグメント開始時刻が５秒かつ再生継続時間が５秒、及びセグメント開始時刻が１５秒かつ再生継続時間が５秒の３つのセグメントがバッファに挿入されている。この時、バッファのバッファリング範囲（buffered属性）は０〜１０秒、１５〜２０秒となる。
【００１０】
動画のストリーミングサービスの提供方法として、先に述べたアダプティブストリーミングに加え、マルチビュー映像・多言語音声配信や、放送のように編成に従った番組配信などが考えられる。ＭＰＥＧ−ＤＡＳＨにおいては、このようなサービスを可能とするマニフェストファイルの記述方法が定義されている。
【００１１】
図９にＭＰＥＧ−ＤＡＳＨのＭＰＤ（Media Presentation Description）形式のマニフェストファイルの概念図を示す。ＭＰＤ形式ではPeriod，AdaptationSet，Representationの順に階層構造となっている。Periodはマニフェストファイルを時間方向に区切った一区画を示しており、図９の例では、それぞれのコンテンツ尺（duration）が３００秒のPeriodが連結されていることを示している。Periodは１つ以上のAdaptationSetから構成される。
【００１２】
AdaptationSetはメディアコンポーネント（映像、音声、テキスト等）の情報を示しており、同じメディア形式で表現（別角度の映像や、別言語の音声など）の異なる複数のコンポーネントを含むことができる。図９の例では映像（mimeType=video/mp4）が２つ、音声（mimeType=audio/mp4）が１つである。AdaptationSetに含まれるそれぞれのメディアコンポーネントの情報はRepresentationで示される。
【００１３】
Representationには、メディア要素を構成する実データであるセグメント（Initialization Segment，Media Segment）の情報が記述されている。Initialization Segmentは符号化パラメータ等の初期化情報で、Media Segmentがセグメントである。図９の例では、セグメント長（duration=5s）ごとにシーケンス番号（$Number$）がインクリメントされたファイル名となる。
【００１４】
このようなマニフェストファイルとすることで、Periodにおいて選択されたメディアコンポーネント（AdaptationSet）を形成するセグメント（図９のInitialization Segment，Media Segment）を順次受信することが可能となるほか、メディアコンポーネントを選択し直すことにより別のメディアコンポーネントを形成するセグメントの受信に切り替え、別映像を表示することが可能となる。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０１８−０９８５６９号公報
【非特許文献】
【００１６】
【非特許文献１】“次世代動画配信技術「ＭＰＥＧ−ＤＡＳＨ」技術概要と標準化・関連技術動向”，映像情報メディア学会誌，Vol.67, No.2, 2013, p.109-115
【非特許文献２】Ｗ３Ｃ、“Media Source Extensions W3C Candidate Recommendation 17 November 2016”、[2018年12月28日検索]、インターネット<URL:http://www.w3.org/TR/media-source/>
【発明の概要】
【発明が解決しようとする課題】
【００１７】
ここで、一般にストリーミング視聴においては、ネットワークの混雑状況に応じて受信帯域が常に変動することから、再生開始時やシーク操作により所望のシーン（以下、「新規再生時刻」と称する。）にスキップした際には、新規再生時刻よりも数秒程度先のデータまでを受信してバッファに挿入してから再生することにより、視聴安定性を向上させる。一方で、この再生開始に必要なデータ量（バッファ規定値）を受信するまでの時間（バッファリング遅延）が長いと再生開始が遅れ、ユーザの体感品質の低下につながる。この時、新規再生時刻とセグメント長の関係によっては、無駄なデータを受信することによってバッファリング遅延が増加するという課題があった。
【００１８】
図１０は、上記課題を説明する図である。この例では、図９に基づいて、セグメント長を５秒とする。バッファ規定値を１０秒とした場合において、図１０（ａ）は、シーク操作による新規再生時刻が１１０秒の場合のバッファ状態を表しており、図１０（ｂ）はシーク操作による新規再生時刻が１１４秒の場合のバッファ状態を表している。図１０（ａ）では１１０秒〜１１５秒、１１５秒〜１２０秒の２つのセグメントを受信することでバッファ規定値に達する。一方で、図１０（ｂ）では、１１０秒〜１１５秒、１１５秒〜１２０秒、１２０秒〜１２５秒の３つのセグメントを受信しないとバッファ規定値に達しない。図１０（ｂ）の１１０秒〜１１４秒のデータは再生に使用されず、このような無駄なデータを含むため、データの受信に時間がかかりバッファリング遅延が増加してしまっている。
【００１９】
無駄なデータ受信を削減する方法としては、セグメント長を例えば１秒程度に短くすることが考えられるが、その分セグメントのリクエスト回数が増加するため、配信サーバ及び受信装置の負荷が大きくなるという課題があった。
【００２０】
また、特許文献１には、シェーピングが行われないコンテンツデータを配信する第１の配信サーバと、シェーピングが行われるコンテンツデータを配信する第２の配信サーバとを有するコンテンツ配信システムにおいて、バッファ規定値分のデータを受信するまでは第１の配信サーバから高速にデータを受信することで、シーク操作後の再生開始を高速化する手法が開示されている。
【００２１】
しかし、特許文献１に開示された技術は、配信事業者が提供するＣＤＮ（Content Delivery Network）サービスを利用してコンテンツ配信を行う場合に、コンテンツ事業者が必ずしも適用できるものではなかった。
【００２２】
かかる事情に鑑みてなされた本発明の目的は、ストリーミング再生中におけるシーク操作時のバッファリング遅延を低減させることが可能なコンテンツ生成装置、受信装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【００２３】
上記課題を解決するため、本発明に係るコンテンツ生成装置は、動画コンテンツのセグメント及びマニフェストファイルを生成するコンテンツ生成装置であって、動画コンテンツの符号化ストリームを異なるタイミングでセグメントに分割した、複数のセグメント化ストリームを生成するセグメント化ストリーム生成部と、前記複数のセグメント化ストリームについて、セグメント化ストリームを識別するストリーム識別子と、セグメントの再生時刻及びＵＲＬとを記述したマニフェストファイルを生成するマニフェスト生成部と、  前記マニフェストファイル及び前記セグメントを配信サーバに供給するコンテンツ送信部と、を備えることを特徴とする。
【００２４】
また、上記課題を解決するため、本発明に係る受信装置は、符号化ストリームを異なるタイミングでセグメントに分割した複数のセグメント化ストリームに関するマニフェストファイル、及びセグメントを配信サーバから受信する受信装置であって、前記マニフェストファイルには、セグメント化ストリームを識別するストリーム識別子と、セグメントの再生時刻及びＵＲＬとが記述されており、受信した前記マニフェストファイルを解析し、前記ストリーム識別子ごとに前記セグメントの再生時刻及びＵＲＬを対応付けたセグメントＵＲＬリストを生成するマニフェスト取得部と、シーク操作が実行された場合に、シーク後の再生時刻である新規再生時刻を抽出する再生制御部と、シーク操作が実行された場合に、前記新規再生時刻に基づき、再生を開始するまでにバッファに保存する必要があるセグメントの数が最小となるセグメント化ストリームに対応する前記セグメントＵＲＬリストを決定し、該セグメントＵＲＬリストから取得対象のセグメントのＵＲＬを抽出するバッファ制御部と、前記バッファ制御部により決定された前記セグメントのＵＲＬに基づいて、配信サーバからセグメントを取得するセグメント取得部と、を備えることを特徴とする。
【００２５】
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記コンテンツ生成装置として機能させることを特徴とする。
【００２６】
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記受信装置として機能させることを特徴とする。
【発明の効果】
【００２７】
本発明によれば、ストリーミング再生中におけるシーク操作時に、再生開始までに必要なデータをバッファに溜めるまでに取得するセグメント数を削減することが可能となる。したがって、再生開始までの待ち時間を短縮することが可能となる。さらに、無駄なセグメントを取得する機会が減るため、ネットワークの利用効率も向上し、安定した視聴が可能となる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態に係る受信装置及びコンテンツ生成装置を備えるコンテンツ配信システムの概略を示す図である。
【図２】本発明の一実施形態に係るコンテンツ生成装置の構成例を示すブロック図である。
【図３】本発明の一実施形態に係るコンテンツ生成装置によって生成されるセグメントの具体例を示す図である。
【図４】本発明の一実施形態に係るコンテンツ生成装置によって生成されるＭＰＤ形式のマニフェストファイルの一例を示す図である。
【図５】本発明の一実施形態に係る受信装置の構成例を示すブロック図である。
【図６】本発明の一実施形態に係る受信装置のシーク操作時のセグメント取得制御方法を示すフローチャートである。
【図７】従来のアダプティブストリーミングの一例を示す図である。
【図８】従来のＭＳＥのバッファモデルの一例を示す図である。
【図９】従来のマニフェストファイルの概念を示す図である。
【図１０】従来の課題を説明する図である。
【発明を実施するための形態】
【００２９】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。以下に説明する本実施形態では一例として、マニフェストファイルをＭＰＥＧ−ＤＡＳＨ（ＩＳＯ／ＩＥＣ２３００９−１）のＭＰＤ（Media Presentation Description）形式とする。
【００３０】
図１に、本発明の一実施形態に係る受信装置及びコンテンツ生成装置を備えるコンテンツ配信システムの概略を示す。インターネットを介して、受信装置１と配信サーバ３とが接続される。コンテンツ生成装置２と配信サーバ３とは、専用のローカルネットワークで接続されてもよいし、インターネットを介して接続されてもよい。
【００３１】
受信装置１は、配信サーバ３から動画コンテンツのセグメント及びマニフェストファイルを受信し、ストリーミング再生を行う。
【００３２】
コンテンツ生成装置２は、動画コンテンツのセグメント及びマニフェストファイルを生成し、配信サーバ３に供給する。
【００３３】
配信サーバ３は、マニフェストファイル及びセグメントを受信装置１に配信するサーバであり、例えば一般的なＷｅｂサーバとすることができる。
【００３４】
（コンテンツ生成装置）
次に、コンテンツ生成装置２の詳細について説明する。図２は、コンテンツ生成装置２の構成例を示すブロック図である。図２に示すコンテンツ生成装置２は、素材映像出力部２１と、エンコード部２２と、セグメント化タイミング制御部２３と、セグメント化ストリーム生成部２４と、マニフェスト生成部２５と、コンテンツ送信部２６と、通信Ｉ／Ｆ２７とを備える。セグメント化ストリーム生成部２４は、ｎ（ｎ≧２）個のセグメント化部２４−１〜２４−ｎを備える。
【００３５】
素材映像出力部２１は、外部から入力された素材映像や予め蓄積された素材映像から、生成対象のコンテンツをエンコード部２２に出力する。
【００３６】
エンコード部２２は、素材映像出力部２１から入力された素材映像信号を、例えば、Ｈ．２６４｜ＭＰＥＧ−４  ＡＶＣ（Advanced Video Coding）、Ｈ．２６５｜ＭＰＥＧ−Ｈ  ＨＥＶＣ（High Efficiency Video Coding）といった既存の符号化方式により符号化する。そして、エンコード部２２は、符号化ストリームをセグメント化ストリーム生成部２４の各セグメント化部２４−１〜２４−ｎに出力する。
【００３７】
セグメント化タイミング制御部２３は、セグメント化ストリーム生成部２４の各セグメント化部２４−１〜２４−ｎに、それぞれのセグメントの開始位置及びセグメント長を示すセグメント化タイミング情報を出力する。ここで、各セグメント化部２４−１〜２４−ｎに出力するセグメント化タイミング情報はそれぞれ異なるものとする。そのため、セグメントの区切りのタイミングはそれぞれ異なるものとなる。
【００３８】
セグメント化部２４−１〜２４−ｎはそれぞれ、エンコード部２２から入力された符号化ストリームを、セグメント化タイミング制御部２３から入力されたセグメント化タイミング情報に従って、例えばＩＳＯ−ＢＭＦＦ（ISO-Base Media File Format）形式でセグメント化してセグメントのストリームであるセグメント化ストリームを生成する。すなわち、セグメント化ストリーム生成部２４は、エンコード部２２から入力された符号化ストリームを異なるタイミングでセグメントに分割した、複数のセグメント化ストリームを生成する。そして、セグメント化部２４−１〜２４−ｎは、それぞれセグメント化ストリームをマニフェスト生成部２５に出力する。
【００３９】
マニフェスト生成部２５は、複数のセグメント化部２４から入力されたセグメントを入力し、例えばＭＰＥＧ−ＤＡＳＨのＭＰＤ形式の１つのマニフェストファイルを生成する。マニフェストファイルは、少なくとも、セグメント化ストリームを識別するストリーム識別子と、セグメントの再生時刻及びＵＲＬとを記述する。そして、マニフェスト生成部２５は、マニフェストファイル及びセグメントをコンテンツ送信部２６に出力する。マニフェストファイルの生成は、セグメントを入力するたびに順次更新する方法で行われてもよいし、全てのセグメントを入力してから行われてもよい。
【００４０】
コンテンツ送信部２６は、マニフェスト生成部２５から入力されたマニフェストファイル及びセグメントを通信Ｉ／Ｆ２７を介して配信サーバ３に送信する。
【００４１】
ここで、本発明によるコンテンツ生成装置２によって生成されたコンテンツの具体例を図３及び図４を参照して説明する。図３は、セグメント化部２４によって生成されるセグメントの具体例を示す図である。図３ではエンコード部２２により生成された、コンテンツ尺が３０秒の符号化ストリームを、３つのセグメント化部２４（セグメント化部２４−１、セグメント化部２４−２、及びセグメント化部２４−３）によりセグメント化し、セグメント化ストリーム１、セグメント化ストリーム２、及びセグメント化ストリーム３が生成される例である。
【００４２】
セグメント化ストリーム１は、最初からセグメント長を３秒としてセグメント化されたストリームである。セグメント化ストリーム２は、０秒〜１秒のセグメント長を１秒とし、１秒〜２８秒までをセグメント長を３秒とし、２８秒〜３０秒のセグメント長を２秒としてセグメント化されたストリームである。セグメント化ストリーム３は、０〜２秒のセグメント長を２秒とし、２秒〜２９秒のセグメント長を３秒とし、２９秒〜３０秒のセグメント長を１秒としてセグメント化されたストリームである。
【００４３】
図４は、図３のセグメント化ストリーム１、セグメント化ストリーム２、セグメント化ストリーム３をもとに生成したＭＰＤ形式のマニフェストファイルの一例（抜粋）を示す図である。図４に示す例では、コンテンツ尺情報（duration）が３０秒のPeriodが１つ存在し、Periodにはメディアの形式が同一（mimeType=”video/mp4”）のAdaptationSetが３つ存在（id=”Mod3_0”、id=”Mod3_1”、id=”Mod3_2”）し、さらにそれぞれのAdaptationSetにはRepresentationが１つずつ存在している。以降、AdaptationSetのidを「ストリーム識別子」と称する。
【００４４】
ここで、ある再生時刻を含むセグメントのファイル名を特定する方法について説明する。図４の２行目のstartの値から、Periodの開始時刻は0である。図４の１０行目のtimescaleの値から、id=”Mod3_1”のAdaptationSetのタイムスケール（１秒間の目盛り数）は１０００である。図４の１０行目のstartNumberの値から、セグメントの開始番号は1である。図４の１０行目のmediaの値から、セグメントのファイル名の基準値はs2_$Number$.mp4であり、$Number$をセグメントのシーケンス番号で置き換えた値がファイル名となる。
【００４５】
また、１１行目〜１５行目に示すSegmentTimelineは、図３に示したセグメント化ストリーム２の各セグメントの再生開始時刻とセグメント長の関係性を示している。Ｓ内のｔは再生開始時刻、ｄはセグメント長、ｒは同じｄの継続回数を示す。つまり、１２行目のＳは開始時刻が０（ｔ＝０）でセグメント長が１秒（d/timescale）を示している。１３行目のＳは開始時刻が１秒（t/timescale）でセグメント長が３秒であり、且つそのセグメントに同じセグメント長のセグメントが８つ続くことを示している。１４行目のＳは開始時刻が２８秒でセグメント長が２秒のセグメントを表している。この情報によってセグメント番号はインクリメントされる。これに従うと、例えば再生時刻８秒を含むセグメントのシーケンス番号は４となり、そのファイル名は”s2_4.mp4”となる。このようにして、ある再生時刻を含むセグメントのファイル名を特定することが可能となる。
【００４６】
なお、上述したコンテンツ生成装置２として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、コンテンツ生成装置２の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのＣＰＵによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【００４７】
（受信装置）
次に、受信装置１の詳細について説明する。図５は、受信装置１の構成例を示すブロック図である。図５に示す受信装置１は、通信Ｉ／Ｆ１０と、マニフェスト取得部１１と、セグメントリスト記憶部１２と、セグメント取得部１３と、バッファ１４と、バッファ制御部１５と、再生制御部１６と、再生制御ユーザＩ／Ｆ１７と、再生部１８と、表示部１９とを備える。
【００４８】
マニフェスト取得部１１は、配信サーバ３から所望の番組のマニフェストファイルを通信Ｉ／Ｆ１０を介して受信する。そして、マニフェスト取得部１１は、受信したマニフェストファイルを解析し、ストリーム識別子ごとに、セグメントの再生時刻及びＵＲＬを対応付けたセグメントＵＲＬリストを生成し、セグメントリスト記憶部１２に記憶する。
【００４９】
セグメント取得部１３は、バッファ制御部１５から取得対象のセグメントのＵＲＬを入力し、該入力したセグメントのＵＲＬを含むリクエストを通信Ｉ／Ｆ１０を介して配信サーバ３に要求する。そして、セグメント取得部１３は、該リクエストへのレスポンスとして、配信サーバ３から通信Ｉ／Ｆ１０を介してセグメントを受信し、バッファ制御部１５に出力する。
【００５０】
バッファ１４は、バッファ制御部１５から入力されたセグメントを、セグメントの再生開始時刻及び再生継続時間（セグメント長）を対応付けて保存する。そして、バッファ１４は、現在の保存中の全セグメントのセグメント再生時刻及び再生継続時間の情報を、バッファ制御部１５に出力する。
【００５１】
また、バッファ１４は、再生部１８から要求された再生時刻のセグメントを順次再生部１８に出力する。
【００５２】
再生制御部１６は、再生制御ユーザＩ／Ｆ１７から再生開始、停止の命令を入力すると、再生部１８に再生開始・停止を指示する。
【００５３】
また、再生制御部１６は、再生制御ユーザＩ／Ｆ１７から新規再生時刻へのシーク命令を入力すると、バッファ制御部１５に新規再生時刻情報を出力し、バッファ制御部１５からバッファ規定値を超えたことを示す通知を入力したら、再生部１８に新規再生時刻への再生時刻変更を指示する。バッファ規定値は、受信装置１で任意の値を設定してもよいし、マニフェストファイルに記述された設定値（例えば、図４に示したminBufferTimeの値）を利用してもよい。
【００５４】
また、再生制御部１６は、現在の再生状態（再生中、停止中）、及び再生部１８から入力された再生時刻情報を、バッファ制御部１５及び再生制御ユーザＩ／Ｆ１７に出力する。
【００５５】
再生制御ユーザＩ／Ｆ１７は、ユーザの操作によって再生を制御する機能である。再生開始・停止ボタンや所望の再生時刻へのシーク操作を可能とするボタンなどを備え、コンテンツの開始、終了時刻、及び再生制御部１６から入力された再生時刻情報をもとに、現在の再生時刻をグラフィカルに表示してもよい。例えば、再生画面の下部にコンテンツの開始時刻を左端、終了時刻を右端とする横長の棒状で表示し、それと重なるようにつまみ状の操作部分を配置し、つまみ状の操作部分を再生が進むにつれて左端から右端に移動させることによって、再生時間全体のうち今どの部分を再生しているのかを一目で把握することができるようにすることができる。また、つまみ状の操作部分を変更することによって、所望の再生時刻へのシーク操作を行うようにしてもよい。
【００５６】
再生部１８は、再生制御部１６から再生開始時刻を含む再生命令を入力すると、再生開始時刻に基づいてセグメントを順次バッファから入力し、入力したセグメントをセグメントのメディア形式（映像、音声、テキスト等）に従ってデコードし、表示部１９に出力するとともに、再生とともに更新される再生時刻の情報である再生時刻情報を再生制御部１６に出力する。
【００５７】
また、再生部１８は、再生制御部１６から停止命令を入力した場合には、再生を停止する。
【００５８】
表示部１９は、再生部１８から入力されたデコード済みのメディアデータをそのメディアの形式に従って表示する。
【００５９】
バッファ制御部１５は、再生制御部１６から入力された再生時刻情報、及び取得対象のセグメント化ストリームを表す取得対象ストリーム識別子に対応するセグメントＵＲＬリストから取得対象のセグメントのＵＲＬを決定し、セグメント取得部１３に出力する。また、バッファ制御部１５は、セグメント取得部１３からセグメントが入力されると、該セグメントをバッファ１４に出力する。
【００６０】
バッファ制御部１５は、再生制御部１６から新規再生時刻情報を入力した場合には、新規再生時刻に基づき、再生を開始するまでにバッファ１４に保存する必要があるセグメントの数が最小となるセグメント化ストリームのストリーム識別子をセグメントリスト記憶部１２から取得対象ストリーム識別子として抽出する。すなわち、バッファ制御部１５は、取得対象ストリーム識別子に対応するセグメントＵＲＬリストを決定する。そして、バッファ制御部１５は、該セグメントＵＲＬリストから取得対象のセグメントのＵＲＬを抽出し、セグメント取得部１３に出力する。シーク操作時の制御の詳細については、下記で説明する。
【００６１】
なお、上述した受信装置１として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、受信装置１の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのＣＰＵによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【００６２】
（シーク操作時のセグメント取得制御方法）
次に、受信装置１のシーク操作時のセグメント取得制御方法について、図６のフローチャートを参照して説明する。図６に示すフローチャートは、既にマニフェスト取得部１１により、配信サーバ３からマニフェストファイルを取得し、ストリーム識別子ごとにセグメントの再生時刻及びＵＲＬを対応付けたセグメントＵＲＬリストも作成済みの状態から開始するものとする。また、ネットワークの混雑状況に応じて受信帯域が常に変動することを見越して、新規再生時刻を起点として、予め設定したバッファ規定値（例えば３秒）以上のセグメントがバッファ１４に挿入されてから再生を開始するものとする。
【００６３】
また、バッファ１４は、ＭＰＤに記載のPeriodの開始時刻から終了時刻までの範囲を持っており、セグメントを再生開始時刻と再生継続時刻の情報と対応付けて保存しているものとする。また、バッファ１４にコンテンツのセグメントが挿入されている範囲をバッファ済みセグメント範囲と称する。
【００６４】
まず、再生制御ユーザＩ／Ｆ１７によりシーク操作が実行されたら（ステップＳ００１）、再生制御部１６は、シーク後の再生時刻である新規再生時刻を抽出し（ステップＳ００２）、バッファ制御部１５に出力する。
【００６５】
続いて、バッファ制御部１５は、現在取得対象となっているセグメント化ストリームを表す取得対象ストリーム識別子をリセットし（ステップＳ００３）、バッファ１４内に新規再生時刻から予め設定したバッファ規定値以上の範囲までに対応するセグメントが存在するか否かを確認する。
【００６６】
バッファ１４内に上記セグメントが存在しない場合には（ステップＳ００４−ＮＯ）、バッファ制御部１５は、再生を開始するまでにバッファ１４に保存する必要があるセグメントの数（バッファ規定値に達するまでに取得が必要なセグメントの数）が最小となるセグメント化ストリームのストリーム識別子を抽出し、取得対象ストリーム識別子に設定する（ステップＳ００５）。なお、バッファ済みセグメント範囲に新規再生時刻に対応するセグメントが含まれる場合には、バッファ済みセグメント範囲の最後からバッファ規定値に達するまでに取得が必要なセグメント数が最小となるセグメント化ストリームのストリーム識別子を抽出する（ステップＳ００５）。
【００６７】
例えば、上述した図３の例において５秒の位置にシークした場合、バッファ規定値（３秒）以上にするためには、セグメント化ストリーム１及びセグメント化ストリーム２では２つのセグメントを取得する必要があるが、セグメント化ストリーム３では１つのセグメントを取得するだけでよい。そのため、取得対象ストリーム識別子は、セグメント化ストリーム３のストリーム識別子となる。
【００６８】
続いて、バッファ制御部１５は、セグメントリスト記憶部１２に記憶された、取得対象ストリーム識別子に対応するセグメントＵＲＬリストから、新規再生時刻に対応するセグメントのＵＲＬを抽出（決定）する（ステップＳ００６）。なお、バッファ済みセグメント範囲に新規再生時刻に対応するセグメントが含まれる場合には、バッファ制御部１５は、新規再生時刻を含むバッファ済みセグメント範囲の最後のセグメントに続くセグメントのＵＲＬを、取得対象ストリーム識別子に対応するセグメントＵＲＬリストから抽出する。
【００６９】
続いて、セグメント取得部１３は、抽出したセグメントのＵＲＬを含むリクエスト（セグメント要求）を配信サーバ３に送信し、該リクエストに対するレスポンスとして配信サーバ３からセグメントを取得する（ステップＳ００７）。そして、セグメント取得部１３は、該受信したセグメントをバッファ１４に挿入する（ステップＳ００８）。
【００７０】
再生時刻がコンテンツの終了時刻に到達しておらず、且つ再生制御ユーザＩ／Ｆ１７にて停止ボタンが押されていない場合（ステップＳ００９−ＮＯ）には、ステップＳ００４に戻る。一方、再生時刻がコンテンツの終了時刻に到達したか、又は再生制御ユーザＩ／Ｆ１７にて停止ボタンが押された場合（ステップＳ００９−ＹＥＳ）には、処理を終了する。
【００７１】
ステップＳ００４においてＹＥＳである場合には、現在の再生時刻を新規再生時刻に変更し（ステップＳ０１０）、該再生時刻から再生を開始して（ステップＳ０１１）、処理を終了する。
【００７２】
以上により、ストリーミング再生中におけるシーク操作時に、再生開始までに必要なデータがバッファ１４に溜まるまでに取得するセグメント数を削減することが可能となる。よって、再生開始までの待ち時間（バッファリング遅延）を短縮することが可能となるとともに、無駄なセグメントを取得する機会が減るためネットワークの利用効率も向上し、安定した視聴が可能となる。
【００７３】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の構成ブロック又は処理ステップについて、複数を１つに組み合わせたり、１つを複数に分割したりすることが可能である。
【符号の説明】
【００７４】
１    受信装置
２    コンテンツ生成装置
３    配信サーバ
１０  通信Ｉ／Ｆ
１１  マニフェスト取得部
１２  セグメントリスト記憶部
１３  セグメント取得部
１４  バッファ
１５  バッファ制御部
１６  再生制御部
１７  再生制御ユーザＩ／Ｆ
１８  再生部
１９  表示部
２１  素材映像出力部
２２  エンコード部
２３  セグメント化タイミング制御部
２４  セグメント化ストリーム生成部
２４−１〜２４−ｎ  セグメント化部
２５  マニフェスト生成部
２６  コンテンツ送信部
２７  通信Ｉ／Ｆ
【図１】
2020129734.tif 000003
【図２】
2020129734.tif 000004
【図３】
2020129734.tif 000005
【図４】
2020129734.tif 000006
【図５】
2020129734.tif 000007
【図６】
2020129734.tif 000008
【図７】
2020129734.tif 000009
【図８】
2020129734.tif 000010
【図９】
2020129734.tif 000011
【図１０】
2020129734.tif 000012