JP2017108217A - 受信装置、再生時刻制御方法、及びプログラム - Google Patents

受信装置、再生時刻制御方法、及びプログラム Download PDF

Info

Publication number
JP2017108217A
JP2017108217A JP2015238792A JP2015238792A JP2017108217A JP 2017108217 A JP2017108217 A JP 2017108217A JP 2015238792 A JP2015238792 A JP 2015238792A JP 2015238792 A JP2015238792 A JP 2015238792A JP 2017108217 A JP2017108217 A JP 2017108217A
Authority
JP
Japan
Prior art keywords
playback
segment
time
media
start time
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.)
Granted
Application number
JP2015238792A
Other languages
English (en)
Other versions
JP6609468B2 (ja
Inventor
敏 西村
Satoshi Nishimura
敏 西村
松村 欣司
Kinji Matsumura
欣司 松村
藤沢 寛
Hiroshi Fujisawa
寛 藤沢
山本 正男
Masao Yamamoto
正男 山本
遠藤 洋介
Yosuke Endo
洋介 遠藤
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.)
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
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 Nippon Hoso Kyokai NHK filed Critical Nippon Hoso Kyokai NHK
Priority to JP2015238792A priority Critical patent/JP6609468B2/ja
Publication of JP2017108217A publication Critical patent/JP2017108217A/ja
Application granted granted Critical
Publication of JP6609468B2 publication Critical patent/JP6609468B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】コンテンツのメディアコンポーネントを切り替える際に、バッファリングの無駄を削減可能な装置、方法及びプログラムを提供する。【解決手段】受信装置1は、マニフェストファイルを取得するマニフェスト取得部11と、マニフェストファイルを解析し、同じメディア形式かつ再生時刻を共有するメディアコンポーネントが複数ある場合にはメディアコンポーネントの再生開始時刻を変更し、各メディアコンポーネントの再生開始時刻の差を示す再生オフセット時間を決定するマニフェスト変換部12と、メディアコンポーネントの切り替え操作が実行されると、現在再生時刻に再生オフセット時間を加算した新規再生開始時刻を算出する再生制御部16と、新規再生開始時刻に基づき取得対象のセグメントのURLを決定するバッファ制御部15と、セグメントのURLに基づき取得対象のセグメントを取得するセグメント取得部13とを備える。【選択図】図1

Description

本発明は、複数のメディアコンポーネントから構成されるコンテンツをセグメントごとに受信する受信装置、再生時刻制御方法、及びプログラムに関する。
昨今のインターネットにおけるストリーミング動画配信では、専用のサーバと専用のプロトコルによるストリーミング配信方式から、汎用的なWebサーバによりHTTPプロトコルを用いてストリーミング配信する方式への移行が進んでおり、多くのデバイス向けの配信において主流となっている。このようなHTTPプロトコルによるストリーミング配信方式(アダプティブストリーミング)としては、ITベンダによる独自技術が普及している他、これらストリーミング方式の統一を意図した国際標準規格であるMPEG−DASH(ISO/IEC23009−1)が策定された。
いずれの技術も基本的なコンセプトは同様であり、Webサーバには動画コンテンツを一つ又は複数の品質(画面サイズやビットレート)でエンコードしたストリームをそれぞれ数秒から数十秒程度のファイルに分割したもの(セグメント)と、それらの動画コンテンツの属性やURLを記述したマニフェストファイルを用意する。受信装置はマニフェストファイルから当該受信装置の画面サイズや伝送路のネットワーク帯域の状態等を考慮して、適時品質を選択して次々とセグメントを受信し、1本の動画コンテンツにつなぎ合わせて再生するものである(例えば、非特許文献1参照)。
図5にアダプティブストリーミングの一例を示す。図5では、映像が複数品質でエンコードされ、それぞれの品質ごとに数秒単位に分割されたセグメントが生成されている。この例では、エンコーダは映像を低品質のセグメント1〜4、中品質のセグメント1’〜4’、及び高品質のセグメント1”〜4”に分割している。マニフェストファイルには、セグメントのURLや、それぞれの品質毎のビットレートや画像サイズなどの属性情報が登録される。セグメント及びマニフェストファイルはWebサーバに供給される。
受信装置は、Webサーバからマニフェストファイルを受信し、マニフェストファイルからビットレートやセグメントの構成を把握し(ステップA)、受信装置の画面サイズやネットワークの受信帯域の状況をもとにセグメント単位で品質を選択し、HTTPプロトコルにより受信する(ステップB)。続いて、受信したセグメントをマニフェストファイルに従って順番通りにつなぎ合わせて再生する(ステップC)。このようにステップB,Cの処理を繰り返すことにより、一連のコンテンツを受信し再生を継続することができる。
受信装置においては、多くのデバイスで普及が進むHTML5ブラウザを利用することにより、マルチデバイス(PC、テレビ受信機、タブレット装置等)に対応可能な視聴環境を構築することができる。
しかし、従来HTML5ブラウザで動画を再生するための機能であるビデオ要素(videoタグ)では、ソースとしてメディアファイルを参照することしかできなかったため、このようなアダプティブストリーミングの視聴を実現するためには、別途ブラウザプラグインのインストールが必要だった。そのため、どのブラウザでも共通で利用できる視聴環境を構築することが困難だった。このような状況から、HTML5ブラウザのビデオ要素(videoタグ)及びJavascript(登録商標)によってアダプティブストリーミングの視聴を実現するための機能として、Webで利用される技術の標準化をすすめる国際的な非営利団体であるW3CにおいてMSE(Media Source Extensions)の規格化が進んでいる(例えば、非特許文献2参照)。
MSEを用いることにより、ビデオ要素はソースとしてバッファを参照することが可能となる。そのバッファへはJavascriptによって受信したセグメントを挿入することができるようになることから、多様なアダプティブストリーミングの視聴がHTML5のビデオ要素とJavascriptにより実現可能となる。
ここで、図6を参照してMSEのバッファモデルについて説明する。図6はMSEのバッファモデルの一例を示す図である。バッファ(SourceBuffer)は、セグメント開始時刻と再生継続時間に対応付けてセグメントを管理する。図6では、斜線の入ったブロックがセグメントを示しており、セグメント単位の再生開始時刻であるセグメント開始時刻が0秒かつ再生継続時間が5秒、セグメント開始時刻が5秒かつ再生継続時間が5秒、及びセグメント開始時刻が15秒かつ再生継続時間が5秒の3つのセグメントがバッファに挿入されている。この時、バッファのバッファリング範囲(buffered属性)は0〜10秒、15〜20秒となる。
また、図7に示すように、既にセグメントが挿入されている範囲に再生時刻が重なる別のセグメントを挿入して上書きすることも可能である。図7では、図6に示した例に、新しいセグメントとして、セグメント開始時刻が12秒かつ再生継続時間が10秒のセグメントを挿入した例を示している。その結果、12秒から22秒の範囲が新しいセグメントに差し替わるとともに、バッファリング範囲も0〜10秒、12〜22秒に更新されている。
動画のストリーミングサービスの提供方法として、主映像に加えて同一番組での別角度の映像を視聴可能とするなど、複数のメディアコンポーネントから所望の映像を選択し、切り替えながら視聴するサービス形態(マルチアングルサービス)が考えられる。MPEG−DASHにおいては、このようなサービスを可能とするマニフェストファイルの記述方法が定義されている。
図8にMPEG−DASHのMPD(Media Presentation Description)形式のマニフェストファイルの概念図を示す。MPD形式ではPeriod,AdaptationSet,Representationの順に階層構造となっている。Periodはマニフェストファイルを時間方向に区切った一区画を示しており、図8の例では、それぞれのコンテンツ尺(duration)が300秒のPeriodが連結されていることを示している。Periodは一つ以上のAdaptationSetから構成される。
AdaptationSetはメディアコンポーネント(映像、音声、テキスト等)の情報を示しており、同じメディア形式で表現(別角度の映像や、別言語の音声など)の異なる複数のコンポーネントを含むことができる。図8の例では映像(mimeType=video/mp4)が2つ、音声(mimeType=audio/mp4)が1つである。AdaptationSetに含まれるそれぞれのメディアコンポーネントの情報はRepresentationで示される。Representationは一つ以上のセグメントで構成される。
このようなマニフェストファイルとすることで、Periodにおいて選択されたメディアコンポーネント(AdaptationSet)を形成するセグメント(図8のInitialization Segment,Media Segment)を順次受信することが可能となるほか、メディアコンポーネントを選択し直すことにより別のメディアコンポーネントを形成するセグメントの受信に切り替え、別映像を表示することが可能となる。
また、ネットワークストリーミングプロトコルを使用してマルチメディアコンテンツの表現を、ストリーミングしながら表現間でシームレスに切り替える技術として、ビデオデータをストリーミングするためのビデオ切り替え方法が知られている(例えば、特許文献1参照)。
特開2014−209751号公報
"次世代動画配信技術「MPEG−DASH」技術概要と標準化・関連技術動向",映像情報メディア学会誌,Vol.67, No.2, 2013, p.109-115 W3C、"Media Source Extensions W3C Candidate Recommendation 17 July 2014"、[2015年11月6日検索]、インターネット<URL:http://www.w3.org/TR/media-source/>
しかしながら、一般にストリーミングを視聴する際には、ネットワークの混雑状況に応じて受信帯域が常に変動することから、現在の再生時刻よりも数秒から数十秒先のデータまで受信してバッファに挿入することで視聴安定性を向上させるのが一般的である。そのため、このように再生時刻を共有するメディアコンポーネントを切り替えようとすると、切り替えまでに時間がかかったり、既に取得済みのセグメントが無駄になったりする場合があった。
図9にメディアコンポーネントを切り替える例を示す。図9では、切り替え前のメディアコンポーネント(AdaptationSe)をAdaptationSet#1、切り替え後のメディアコンポーネントをAdaptationSet#2としている。また、斜線の入ったブロックがセグメントを示しており、セグメントの再生継続時間を5秒としている。メディアコンポーネントの切り替えは、切り替え指示を契機に行われるものとする。図9(a)は、メディアコンポーネントの切り替え指示直前の再生状態を示しており、現在の再生時刻に先んじて10秒分のセグメントを取得してバッファに挿入している状態を示している。
図9(b)は、メディアコンポーネントの切り替え後に、バッファに挿入された最後のセグメントの次に、AdaptationSet#2のセグメントを追加する例を示している。この場合、切り替え指示から約10秒後にメディアコンポーネントが切り替わるため、切り替えまでのレスポンスが遅くユーザの利便性を損ねるおそれがある。
図9(c)は、メディアコンポーネントの切り替え後に、現在の再生時刻を含むセグメントの次に、AdaptationSet#2のセグメントを上書きする例を示している。この場合は、切り替え指示から即座にメディアコンポーネントが切り替わるものの、先に取得したAdaptationSet#1のセグメントを新たに取得したAdaptationSet#2のセグメントで上書きするため、既に取得済みのセグメントが無駄になってしまう。
特許文献1に記載の発明は、上記課題のようなバッファの細部の状況については触れておらず、課題の解決に必ずしも利用できる手法ではなかった。
かかる事情に鑑みてなされた本発明の目的は、主映像と、主映像に関連付けられた別角度の映像(マルチアングル)や別再生速度の映像(早送り・巻戻しなど)から構成されるコンテンツのメディアコンポーネントを切り替える際に、バッファリングの無駄を削減することにある。
上記課題を解決するため、本発明に係る受信装置は、複数のメディアコンポーネントから構成されるコンテンツをセグメントごとに受信する受信装置であって、マニフェストファイルを取得するマニフェスト取得部と、前記マニフェストファイルを解析し、同じメディア形式かつ再生時刻を共有するメディアコンポーネントが複数ある場合にはメディアコンポーネントの再生開始時刻を変更し、各メディアコンポーネントの再生開始時刻の差を示す再生オフセット時間を決定するマニフェスト変換部と、メディアコンポーネントの切り替え操作が実行されると、現在再生時刻に前記再生オフセット時間を加算した新規再生開始時刻を算出する再生制御部と、前記新規再生開始時刻に基づき取得対象のセグメントのURLを決定するバッファ制御部と、前記セグメントのURLに基づき前記取得対象のセグメントを取得するセグメント取得部と、を備えることを特徴とする。
さらに、前記再生オフセット時間は、各メディアコンポーネントの再生時刻が重ならないようにコンテンツの時間尺以上であることを特徴とする。
また、上記課題を解決するため、本発明に係る再生時刻制御方法は、複数のメディアコンポーネントから構成されるコンテンツをセグメントごとに受信する受信装置における再生時刻制御方法であって、マニフェストファイルを取得するステップと、前記マニフェストファイルを解析し、同じメディア形式かつ再生時刻を共有するメディアコンポーネントが複数ある場合にはメディアコンポーネントの再生開始時刻を変更し、各メディアコンポーネントの再生開始時刻の差を示す再生オフセット時間を決定するステップと、メディアコンポーネントの切り替え操作が実行されると、現在再生時刻に前記再生オフセット時間を加算した新規再生開始時刻を算出するステップと、前記新規再生開始時刻に基づき取得対象のセグメントのURLを決定するステップと、前記セグメントのURLに基づき前記取得対象のセグメントを取得するステップと、を含むことを特徴とする。
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記受信装置として機能させることを特徴とする。
本発明によれば、メディアコンポーネントの切り替えの際に、切り替え前のメディアコンポーネントとは別のバッファ領域を利用することが可能となり、バッファリングの無駄を削減することができる。特に短い間隔でメディアコンポーネントの切り替え操作がなされた場合に、以前に取得したセグメントの再取得の機会が減るためネットワークの利用効率も向上し、安定した視聴が可能となる。
本発明の一実施形態に係るコンテンツ配信システムの構成例を示すブロック図である。 本発明の一実施形態に係る受信装置が取得するマニフェストファイルの一例を示す図である。 本発明の一実施形態に係る受信装置において、メディアコンポーネントの切り替え時のバッファの状況の一例を示す。 本発明の一実施形態に係る受信装置の再生時刻制御方法を示すフローチャートである。 従来のアダプティブストリーミングの一例を示す図である。 従来のMSEのバッファモデルの一例を示す図である。 従来のMSEのバッファモデルにおいて、セグメントをバッファに上書き挿入する例を示す図である。 従来のマニフェストファイルの概念を示す図である。 従来の課題を説明する図である。
以下、本発明の一実施形態について、図面を参照して詳細に説明する。以下に説明する本実施形態では一例として、マニフェストファイルをMPEG−DASH(ISO/IEC23009−1)のMPD(Media Presentation Description)形式とする。
本発明の一実施形態に係る受信装置について、図1を参照して説明する。図1は、本発明の一実施形態に係る受信装置の構成例を示す図である。
受信装置1は、インターネットを介して配信サーバ2と接続され、配信サーバ2から複数のメディアコンポーネントにより構成されるコンテンツをセグメントごとに受信し、ストリーミング再生を行う。
配信サーバ2は、受信装置1によって指定されたURLのマニフェストファイルやセグメントを配信するサーバであり、例えば一般的なWebサーバとすることができる。
図1に示す受信装置1は、通信I/F10と、マニフェスト取得部11と、マニフェスト変換部12と、セグメント取得部13と、バッファ14と、バッファ制御部15と、再生制御部16と、再生制御ユーザI/F部17と、再生部18と、表示部19とを備える。
再生制御ユーザI/F部17は、ユーザの操作によって、再生命令及び停止命令を再生制御部16に出力する。再生命令には再生開始時刻を示す再生開始時刻情報が含まれる。
再生制御ユーザI/F部17は、再生開始・停止ボタン及びメディアコンポーネントの切り替えボタンを用意するとともに、コンテンツの開始時刻、終了時刻、及び再生制御部16から入力された現在再生時刻情報をもとに、現在の表示用の再生時刻(再生位置)をグラフィカルに表示してもよい。例えば、再生画面の下部にコンテンツの開始時刻を左端、終了時刻を右端とする横長の棒状で表示し、それと重なるようにつまみ状の操作部分を配置し、つまみ上の操作部分を再生が進むにつれて左端から右端に移動させることによって、再生時間全体のうち今どの部分を再生しているのかを一目で把握することができるようにすることができる。
マニフェスト取得部11は、アプリケーション起動時又は番組選択時に、配信サーバ2から所望の番組のマニフェストファイル(MPDファイル)を通信I/F10を介して取得し、マニフェスト変換部12に出力する。
マニフェスト変換部12は、マニフェスト取得部11から入力されたマニフェストファイルを解析し、同じメディア形式かつ再生時刻を共有するメディアコンポーネントが複数ある場合には、各メディアコンポーネントの再生時刻(時間軸)が重ならないように再生開始時刻を変換し、セグメントの先頭時刻に該当するセグメント開始時刻及びセグメントのURLを対応付けたセグメントURLリストを生成し、バッファ制御部15に出力する。また、マニフェスト変換部12は、それぞれのメディアコンポーネントの識別子であるメディア識別子、及び各メディアコンポーネントの再生開始時刻の差を示す再生オフセット時間を対応付けたリストである再生オフセット時間リストを生成し、再生制御部16に出力する。再生オフセット時間は、各メディアコンポーネントの再生時刻が重ならないようにするために、コンテンツの時間尺以上とするのが好適である。
図2にマニフェストファイルの一例(抜粋)を示す。図2(a)は変換前のマニフェストファイルを示している。この例では、コンテンツ開始時刻(start)が0秒でコンテンツ尺(duration)が3分のコンテンツ(Period)が一つ存在し、Periodにはメディアの形式が同一(mimeType="video/mp4")のメディアコンポーネント(AdaptationSet)が二つ存在(id="main":メイン映像,id="sub":別角度映像)する。さらに、それぞれのAdaptationSetにはRepresentationが一つずつ存在し、この例では二つのAdaptationSetが再生時刻を共有している。
マニフェスト変換部12は、このAdaptationSetの再生時刻が重ならないようにするため、一例として図2(b)に示す変換後のマニフェストファイルのように変換する。変換後のマニフェストファイルでは変換前のマニフェストファイルに対して109行目及び110行目が追加されている。二つのAdaptationSetが別の再生時刻を持つPeriodに配置することによって、バッファ領域の重なりを回避することができている。
次に、図2(b)の変換後のマニフェストファイルを基にセグメントURLリストの生成について説明する。102行目のstartの値から、Periodの開始時刻は0秒である。104行目のtimescaleの値から、AdaptationSetのタイムスケール(1秒間の目盛数)は、90000である。106行目のdurationの値から、セグメントの継続時間は、450000である。106行目のstartNumberの値から、セグメントの開始番号は1である。以上から、ある再生時刻t(秒)に対するセグメント番号は以下の式で算出できる。なお、少数以下は切り捨てる。
Number=(t−start)×timescale/duration+startNumber (1)
次に、図2の106行目のmediaの値から、セグメントのURLのテンプレート”content_v1_$Number$.mp4”を取得し、$Number$を先に算出したNumber値に差し替えることにより、セグメントのURLを取得することができる。なお、上記例は図2の一つ目のPeriodを元に説明したが、二つ目のPeriodについても同様に算出できる。
再生制御部16は、再生制御ユーザI/F17から再生命令を入力すると、再生命令から再生開始時刻を抽出し、再生開始時刻を示す再生開始時刻情報をバッファ制御部15に出力する。そして、再生制御部16は、バッファ制御部15からバッファ規定値(例えば5秒)を超えたことを示す通知を入力すると、再生部18に再生開始時刻情報を出力するとともに、再生開始を指示する。
また、再生制御部16は、再生制御ユーザI/F17から停止命令を入力すると、再生部18に停止を指示する。
また、再生制御部16は、現在の再生状態(再生中、停止中)、及び再生部18から入力された現在再生時刻情報を再生制御ユーザI/F17に出力する。
バッファ制御部15は、再生制御部16から入力された再生開始時刻情報、及びバッファ14から入力されたバッファリング範囲(バッファ済みセグメント範囲)情報に基づき、取得対象のセグメントのセグメント開始時刻を決定する。そして、マニフェスト変換部12から入力されたセグメントURLリストから、セグメント開始時刻に対応付けられたセグメントのURLを抽出(決定)し、セグメント取得部13に出力する。また、バッファ制御部15は、セグメント取得部13からセグメントが入力されると、該セグメントをバッファ14に挿入する。
セグメント取得部13は、バッファ制御部15から入力された取得対象のセグメントのURLに基づいて対応するセグメントを取得し、バッファ制御部15に出力する。具体的には、セグメントのURLを含むセグメント要求(リクエスト)を生成して通信I/F10を介して配信サーバ2に送信し、配信サーバ2から通信I/F10を介して該要求に対するレスポンスとして対応するセグメントを取得する。
バッファ14は、マニフェストファイルに記載の全Periodの開始時刻から終了時刻までの範囲を持っており、バッファ制御部15から入力したセグメントを、セグメント開始時刻及び再生継続時間を対応付けて保存する。
また、バッファ14は、バッファリング範囲情報をバッファ制御部15に出力する。ここで、バッファリング範囲情報とは、バッファ14にコンテンツのセグメントが挿入されている範囲を示す情報のことであり、例えば現在の保存中の全セグメントのセグメント開始時刻及び再生継続時間の情報とする。
また、バッファ14は、再生部18から要求されたセグメントを、順次再生部18に出力する。
再生部18は、再生制御部16から再生開始時刻情報を含む再生命令を入力すると、再生開始時刻に基づいてセグメントを順次バッファ14から入力し、入力したセグメントをセグメントのメディア形式(映像、音声、テキスト等)に従ってデコードし、表示部19に出力する。再生部18は、再生とともに更新される再生時刻の情報である現在再生時刻情報を再生制御部16に出力する。
また、再生部18は、再生制御部16から停止命令を入力した場合には、再生を停止する。
表示部19は、再生部18から入力されたデコード済みのメディアデータをそのメディアの形式に従って表示する。
以下に、メディアコンポーネントの切り替え操作が実行された場合の動作について説明する。
再生制御部16は、再生制御ユーザI/F部17からメディアコンポーネント切り替え命令を入力すると、マニフェスト変換部12から入力された再生オフセット時間リストから、切り替え後のメディア識別子に対応付いた再生オフセット時間を取得する。また、再生制御部16は、再生部18から入力される現在再生時刻情報から、現在再生時刻を取得する。そして、現在再生時刻に再生オフセット時間を加算することにより、メディアコンポーネント切り替え後の再生時刻である新規再生開始時刻を算出する。そして、新規再生開始時刻を示す新規再生開始時刻情報をバッファ制御部15に出力し、バッファ制御部15からバッファ規定値を超えたことを示す通知を入力すると、再生部18に新規再生開始時刻情報を出力し、再生時刻の変更を指示する。
このような処理を行うため、実際のバッファ14上の再生時刻となる新規再生開始時刻と、再生制御ユーザI/F部17に表示させる見かけ上の再生時刻である現在再生時刻とは異なり、メディアコンポーネントの切り替え時には、新規再生開始時刻から再生オフセット時間を減じた時刻が現在再生時刻となる。
バッファ制御部15は、再生制御部16から入力された新規再生開始時刻情報、及びバッファ14から入力されたバッファリング範囲情報に基づき、取得対象のセグメントのセグメント開始時刻を決定する。そして、マニフェスト取得部11から入力されたセグメントURLリストから、セグメント開始時刻に対応付けられたセグメントのURLを抽出し、セグメント取得部13に出力する。
再生部18は、再生制御部16から新規再生開始時刻情報を入力すると、新規再生開始時刻情報に基づいてセグメントを順次バッファ14から入力し、入力したセグメントをセグメントのメディアの形式に従ってデコードし、表示部19に出力する。
図3にメディアコンポーネントの切り替え時のバッファの状況の一例を示す。この例では、マニフェスト取得部11により、二つのメディアコンポーネント(AdaptationSet)から構成される一つのコンテンツ(Period)に関する情報を記述したマニフェストファイルを取得し、マニフェスト変換部12により、該マニフェストファイルを、それぞれ一つのメディアコンポーネント(AdaptationSet)から構成される二つのコンテンツ(Period)に関する情報を記述したマニフェストファイルに変換したものとする。また、各メディアコンポーネントの再生開始時刻(start)は300秒で、コンテンツ尺(duration)は3分であり、再生オフセット時間をコンテンツ尺としている。
図3(a)は、メディアコンポーネントの切り替え指示直前の再生状態を示しており、300秒から一方のメディアコンポーネントのセグメントを挿入し、現在の再生時刻に先んじて10秒分のセグメントを取得してバッファに挿入している状態を示している。図3(b)は、メディアコンポーネントの切り替え後に、他方のメディアコンポーネントのセグメントを、各メディアコンポーネントのバッファ領域が重ならないように、495秒から挿入している状態を示している。このように、本発明ではメディアコンポーネントの切り替え時には、切り替え前のメディアコンポーネントが使用するバッファ領域とは異なるバッファ領域を利用する。
(再生時刻制御方法)
次に、メディアコンポーネント切り替え動作時の再生時刻制御方法について、図4に示すフローチャートを用いて説明する。
図4に示すフローチャートは、既にマニフェストファイルを取得しており、マニフェスト変換処理後のセグメントURLリストも作成済みの状態から開始するものとする。また、ネットワークの混雑状況に応じて受信帯域が常に変動することを見越して、再生開始時刻を起点として、予め設定したバッファ規定値(例えば5秒)以上のセグメントがバッファ14に挿入されてから切り替え後のメディアコンポーネントの再生を開始するものとする。また、表示用再生時刻の範囲は、本来(マニフェストファイル変換前)のコンテンツの時間尺である、配信サーバ2から受信したマニフェストファイルに記載のPeriodの開始時刻から終了時刻までの範囲とする。
まず、再生制御ユーザI/F部17においてメディアコンポーネントの切り替え操作が実行されると(ステップS001)、再生制御部16は、マニフェスト変換部12から入力された再生オフセット時間リストから、切り替え後のメディア識別子を抽出する(ステップS002)。そして、再生制御部16は、表示用再生時刻に、切り替え後のメディア識別子に対応付いた再生オフセット時間を加算して新規再生開始時刻を算出し(ステップS003)、バッファ制御部15に出力する。
次に、バッファ制御部15は、バッファ14内に新規再生開始時刻から予め設定したバッファ規定値以上のセグメントが存在するか否かを確認する(ステップS004)。ステップS004にてYESの場合には、再生時刻を新規再生開始時刻に変更する(ステップS009)。そして、切り替え後のメディアコンポーネントの再生を開始し(ステップS010)、処理を終了する。
一方、ステップS004にてNOの場合には、バッファ制御部15は、新規再生開始時刻を含むバッファリング範囲の最後のセグメントに続くセグメントのURLを、マニフェスト変換部12から入力されたセグメントURLリストから抽出し(ステップS005)、セグメント取得部13に出力する。そして、セグメント取得部13は、抽出したセグメントのURLを含むリクエストを配信サーバ2に送信し、該要求に対応するセグメントを受信し(ステップS006)、受信したセグメントをバッファ14に挿入する(ステップS007)。
次に、再生制御部16は、表示用再生時刻がコンテンツの終了時刻に到達したか又はユーザI/Fにて停止ボタンが押されたかを確認する(ステップS008)。ステップS008がNOであった場合にはステップS004に戻り、ステップS008がYESである場合には処理を終了する。
このように、本発明に係る受信装置1は、主映像と、主映像に関連付けられた別角度の映像(マルチアングル)や別再生速度の映像(早送り・巻戻しなど)から構成されるコンテンツをストリーミング再生する際に、それぞれのメディアコンポーネントのバッファ領域が重ならないようにそれぞれのメディアコンポーネントの再生オフセット時間を設定する。そのため、メディアコンポーネントの切り替えの際に、切り替え前のメディアコンポーネントとは別のバッファ領域を利用することが可能となり、バッファリングの無駄を削減することができる。特に短い間隔でメディアコンポーネントの切り替え操作がなされた場合に、以前取得したセグメントの再取得の機会が減るため、ネットワークの利用効率も向上し、安定した視聴が可能となる。
なお、上述した受信装置1として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、受信装置1の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の構成ブロック又は処理ステップについて、複数を1つに組み合わせたり、1つを複数に分割したりすることが可能である。
1 受信装置
2 配信サーバ
10 通信I/F
11 マニフェスト取得部
12 マニフェスト変換部
13 セグメント取得部
14 バッファ
15 バッファ制御部
16 再生制御部
17 再生制御ユーザI/F
18 再生部
19 表示部

Claims (4)

  1. 複数のメディアコンポーネントから構成されるコンテンツをセグメントごとに受信する受信装置であって、
    マニフェストファイルを取得するマニフェスト取得部と、
    前記マニフェストファイルを解析し、同じメディア形式かつ再生時刻を共有するメディアコンポーネントが複数ある場合にはメディアコンポーネントの再生開始時刻を変更し、各メディアコンポーネントの再生開始時刻の差を示す再生オフセット時間を決定するマニフェスト変換部と、
    メディアコンポーネントの切り替え操作が実行されると、現在再生時刻に前記再生オフセット時間を加算した新規再生開始時刻を算出する再生制御部と、
    前記新規再生開始時刻に基づき取得対象のセグメントのURLを決定するバッファ制御部と、
    前記セグメントのURLに基づき前記取得対象のセグメントを取得するセグメント取得部と、
    を備えることを特徴とする受信装置。
  2. 前記再生オフセット時間は、各メディアコンポーネントの再生時刻が重ならないようにコンテンツの時間尺以上であることを特徴とする、請求項1に記載の受信装置。
  3. 複数のメディアコンポーネントから構成されるコンテンツをセグメントごとに受信する受信装置における再生時刻制御方法であって、
    マニフェストファイルを取得するステップと、
    前記マニフェストファイルを解析し、同じメディア形式かつ再生時刻を共有するメディアコンポーネントが複数ある場合にはメディアコンポーネントの再生開始時刻を変更し、各メディアコンポーネントの再生開始時刻の差を示す再生オフセット時間を決定するステップと、
    メディアコンポーネントの切り替え操作が実行されると、現在再生時刻に前記再生オフセット時間を加算した新規再生開始時刻を算出するステップと、
    前記新規再生開始時刻に基づき取得対象のセグメントのURLを決定するステップと、
    前記セグメントのURLに基づき前記取得対象のセグメントを取得するステップと、
    を含むことを特徴とする再生時刻制御方法。
  4. コンピュータを、請求項1に記載の受信装置として機能させるためのプログラム。
JP2015238792A 2015-12-07 2015-12-07 受信装置、再生時刻制御方法、及びプログラム Active JP6609468B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015238792A JP6609468B2 (ja) 2015-12-07 2015-12-07 受信装置、再生時刻制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015238792A JP6609468B2 (ja) 2015-12-07 2015-12-07 受信装置、再生時刻制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2017108217A true JP2017108217A (ja) 2017-06-15
JP6609468B2 JP6609468B2 (ja) 2019-11-20

Family

ID=59060904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015238792A Active JP6609468B2 (ja) 2015-12-07 2015-12-07 受信装置、再生時刻制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6609468B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019031306A1 (ja) * 2017-08-07 2019-02-14 シャープ株式会社 生成装置、再生装置、生成方法、再生方法、制御プログラム、記録媒体
WO2019216001A1 (ja) * 2018-05-08 2019-11-14 ソニー株式会社 受信装置、送信装置、受信方法、送信方法、およびプログラム
JP2020123765A (ja) * 2019-01-29 2020-08-13 日本放送協会 ユーザ端末及びプロブラム
JP7458848B2 (ja) 2020-03-24 2024-04-01 日本放送協会 ユーザ端末及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019031306A1 (ja) * 2017-08-07 2019-02-14 シャープ株式会社 生成装置、再生装置、生成方法、再生方法、制御プログラム、記録媒体
WO2019216001A1 (ja) * 2018-05-08 2019-11-14 ソニー株式会社 受信装置、送信装置、受信方法、送信方法、およびプログラム
JP2020123765A (ja) * 2019-01-29 2020-08-13 日本放送協会 ユーザ端末及びプロブラム
JP7195163B2 (ja) 2019-01-29 2022-12-23 日本放送協会 ユーザ端末及びプロブラム
JP7458848B2 (ja) 2020-03-24 2024-04-01 日本放送協会 ユーザ端末及びプログラム

Also Published As

Publication number Publication date
JP6609468B2 (ja) 2019-11-20

Similar Documents

Publication Publication Date Title
EP2526671B1 (en) Methods and arrangements for http media stream distribution
US9584557B2 (en) Proxy for facilitating streaming of media from server to client
US11516542B2 (en) Systems and methods for real-time adaptive bitrate transcoding and transmission of transcoded media
US9510025B1 (en) Live consecutive ad insertion
WO2013008867A1 (ja) 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
US20140026052A1 (en) Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
JP6609468B2 (ja) 受信装置、再生時刻制御方法、及びプログラム
US11647252B2 (en) Identification of elements in a group for dynamic element replacement
WO2015042962A1 (en) System and method of a link surfed http live streaming broadcasting system
US11729439B2 (en) Methods and systems configured to manage video transcoder latencies
US10687106B2 (en) System and method for distributed control of segmented media
CA3154918A1 (en) Segment ladder transitioning in adaptive streaming
JP6535273B2 (ja) 受信装置、セグメント取得方法、及びプログラム
JP6397341B2 (ja) 受信装置、バッファ管理方法、及びプログラム
JP6626696B2 (ja) 受信装置、マニフェスト更新方法、及びプログラム
JP6581884B2 (ja) 受信装置、バッファ管理方法、及びプログラム
JP7324012B2 (ja) 受信装置、及びプログラム
JP2022133163A (ja) コンテンツ生成装置、受信装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190913

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191028

R150 Certificate of patent or registration of utility model

Ref document number: 6609468

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250