特許第6535273号(P6535273)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

特許6535273受信装置、セグメント取得方法、及びプログラム
<>
  • 特許6535273-受信装置、セグメント取得方法、及びプログラム 図000002
  • 特許6535273-受信装置、セグメント取得方法、及びプログラム 図000003
  • 特許6535273-受信装置、セグメント取得方法、及びプログラム 図000004
  • 特許6535273-受信装置、セグメント取得方法、及びプログラム 図000005
  • 特許6535273-受信装置、セグメント取得方法、及びプログラム 図000006
  • 特許6535273-受信装置、セグメント取得方法、及びプログラム 図000007
  • 特許6535273-受信装置、セグメント取得方法、及びプログラム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6535273
(24)【登録日】2019年6月7日
(45)【発行日】2019年6月26日
(54)【発明の名称】受信装置、セグメント取得方法、及びプログラム
(51)【国際特許分類】
   H04N 21/462 20110101AFI20190617BHJP
   H04N 21/435 20110101ALI20190617BHJP
【FI】
   H04N21/462
   H04N21/435
【請求項の数】3
【全頁数】12
(21)【出願番号】特願2015-227894(P2015-227894)
(22)【出願日】2015年11月20日
(65)【公開番号】特開2017-98706(P2017-98706A)
(43)【公開日】2017年6月1日
【審査請求日】2018年10月1日
【権利譲渡・実施許諾】特許権者において、実施許諾の用意がある。
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】100161148
【弁理士】
【氏名又は名称】福尾 誠
(72)【発明者】
【氏名】西村 敏
(72)【発明者】
【氏名】松村 欣司
(72)【発明者】
【氏名】藤沢 寛
(72)【発明者】
【氏名】山本 正男
(72)【発明者】
【氏名】遠藤 洋介
【審査官】 鍬 利孝
(56)【参考文献】
【文献】 特開2015−023575(JP,A)
【文献】 米国特許出願公開第2010/0043038(US,A1)
【文献】 米国特許第5751280(US,A)
【文献】 特表2015−527809(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00−21/858
(57)【特許請求の範囲】
【請求項1】
映像と音声が別々のストリームとなっており、それぞれが複数のセグメントから構成されるコンテンツをセグメントごとに受信する受信装置であって、
マニフェストファイルをもとに、セグメントの先頭時刻に該当するセグメント開始時刻、及びセグメントのURLを対応付けたセグメントURLリストを生成するマニフェスト取得部と、
再生開始時刻を取得する再生制御部と、
前記再生開始時刻に基づき、取得対象のセグメントのセグメント開始時刻を決定し、前記セグメントURLリストから該セグメント開始時刻に対応付けられたセグメントのURLを抽出するバッファ制御部と、
前記セグメントのURLに基づき前記取得対象のセグメントを取得するセグメント取得部と、を備え、
シーク操作が実行されると、前記再生制御部は新規の再生開始時刻を示す新規再生開始時刻情報を取得し、前記バッファ制御部は、前記セグメントURLリストから該新規再生開始時刻を含む映像セグメントのURL、及び該映像セグメントのセグメント開始時刻を抽出するとともに、前記セグメントURLリストから該セグメント開始時刻を含む音声セグメントのURLを抽出することを特徴とする受信装置。
【請求項2】
映像と音声が別々のストリームとなっており、それぞれが複数のセグメントから構成されるコンテンツをセグメントごとに取得するセグメント取得方法であって、
マニフェストファイルをもとに、セグメントの先頭時刻に該当するセグメント開始時刻、及びセグメントのURLを対応付けたセグメントURLリストを生成するマニフェスト取得ステップと、
再生開始時刻を取得する再生制御ステップと、
前記再生開始時刻に基づき、取得対象のセグメントのセグメント開始時刻を決定し、前記セグメントURLリストから該セグメント開始時刻に対応付けられたセグメントのURLを抽出するバッファ制御ステップと、
前記セグメントのURLに基づき前記取得対象のセグメントを取得するセグメント取得ステップと、を含み、
シーク操作が実行されると、前記再生制御ステップは新規の再生開始時刻を示す新規再生開始時刻情報を取得し、前記バッファ制御ステップは、前記セグメントURLリストから前記新規再生開始時刻を含む映像セグメントのURL、及び該映像セグメントのセグメント開始時刻を抽出するとともに、前記セグメントURLリストから該セグメント開始時刻を含む音声セグメントのURLを抽出することを特徴とするセグメント取得方法。
【請求項3】
コンピュータを、請求項1に記載の受信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ライブストリーミングを受信する受信装置、セグメント取得方法、及びプログラムに関する。
【背景技術】
【0002】
昨今のインターネットにおけるストリーミング動画配信では、専用のサーバと専用のプロトコルによるストリーミング配信方式から、汎用的なWebサーバによりHTTPプロトコルを用いてストリーミング配信する方式への移行が進んでおり、多くのデバイス向けの配信において主流となっている。このようなHTTPプロトコルによるストリーミング配信方式(アダプティブストリーミング)としては、ITベンダによる独自技術が普及している他、これらストリーミング方式の統一を意図した国際標準規格であるMPEG−DASH(ISO/IEC23009−1)が策定された。
【0003】
いずれの技術も基本的なコンセプトは同様であり、Webサーバには動画コンテンツを一つ又は複数の品質(画面サイズやビットレート)でエンコードしたストリームをそれぞれ数秒から数十秒程度のファイルに分割したもの(セグメント)と、それらの動画コンテンツの属性やURLを記述したマニフェストファイルを用意する。受信装置はマニフェストファイルから当該受信装置の画面サイズや伝送路のネットワーク帯域の状態等を考慮して、適時品質を選択して次々とセグメントを受信し、1本の動画コンテンツにつなぎ合わせて再生するものである(例えば、非特許文献1参照)。
【0004】
図5にアダプティブストリーミングの一例を示す。図5では、映像が複数品質でエンコードされ、それぞれの品質ごとに数秒単位に分割されたセグメントが生成されている。この例では、エンコーダは映像を低品質のセグメント1〜4、中品質のセグメント1’〜4’、及び高品質のセグメント1”〜4”に分割している。マニフェストファイルには、セグメントのURLや、それぞれの品質ごとのビットレートや画像サイズ等の属性情報が登録される。セグメント及びマニフェストファイルはWebサーバに供給される。
【0005】
受信装置は、Webサーバからマニフェストファイルを受信し、マニフェストファイルからビットレートやセグメントの構成を把握し(ステップA)、受信装置の画面サイズやネットワークの受信帯域の状況をもとにセグメント単位で品質を選択し、HTTPプロトコルにより受信する(ステップB)。続いて、受信したセグメントをマニフェストファイルに従って順番通りにつなぎ合わせて再生する(ステップC)。このようにステップB,Cの処理を繰り返すことにより、一連のコンテンツを受信し再生を継続することができる。
【0006】
受信装置においては、多くのデバイスで普及が進むHTML5ブラウザを利用することにより、マルチデバイス(PC、テレビ受信機、タブレット装置等)に対応可能な視聴環境を構築することができる。
【0007】
しかし、従来HTML5ブラウザで動画を再生するための機能であるビデオ要素(videoタグ)では、ソースとしてメディアファイルを参照することしかできなかったため、このようなアダプティブストリーミングの視聴を実現するためには、別途ブラウザプラグインのインストールが必要だった。そのため、どのブラウザでも共通で利用できる視聴環境を構築することが困難だった。このような状況から、HTML5ブラウザのビデオ要素(videoタグ)及びJavascript(登録商標)によってアダプティブストリーミングの視聴を実現するための機能として、Webで利用される技術の標準化をすすめる国際的な非営利団体であるW3CにおいてMSE(Media Source Extensions)の規格化が進んでいる(例えば、非特許文献2参照)。
【0008】
MSEを用いることにより、ビデオ要素はソースとしてバッファを参照することが可能となる。そのバッファへはJavascriptによって受信したセグメントを挿入することができるようになることから、多様なアダプティブストリーミングの視聴がHTML5のビデオ要素とJavascriptにより実現可能となる。
【0009】
ここで、図6を参照してMSEのバッファモデルについて説明する。図6はMSEのバッファモデルの一例を示す図である。バッファ(SourceBuffer)は、セグメント開始時刻と再生継続時間の情報に対応付けてセグメントを管理する。図6では、斜線の入ったブロックがセグメントを示しており、セグメント単位の再生開始時刻であるセグメント開始時刻が0秒かつ再生継続時間が5秒、セグメント開始時刻が5秒かつ再生継続時間が5秒、及びセグメント開始時刻が15秒かつ再生継続時間が5秒の3つのセグメントがバッファに挿入されている。この時、バッファのバッファリング範囲(buffered属性)は0〜10秒、15〜20秒となる。
【0010】
一般にストリーミングを視聴する際には、ネットワークの混雑状況に応じて受信帯域が常に変動することから、バッファ容量の許す限り現在の再生時刻よりも数秒から数十秒先のデータまで受信してバッファに挿入しておくことにより、視聴の安定性を向上することができる。
【0011】
コンテンツの視聴においては、コンテンツの最初から最後まで通して視聴する視聴方法に加え、視聴中にコンテンツの任意の位置を指定して再生を行うシーク操作を可能とすることで利便性を向上できる。
【0012】
また、ストリーミング再生でユーザが任意の位置を指定して再生を行うときに生じていた待ち時間に、見かけ上シームレスな切替えを可能とする映像表示装置、バッファ管理方法及び映像表示システムが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2013−16920号公報
【非特許文献】
【0014】
【非特許文献1】“次世代動画配信技術「MPEG−DASH」技術概要と標準化・関連技術動向”,映像情報メディア学会誌,Vol.67, No.2, 2013, p.109-115
【非特許文献2】W3C、“Media Source Extensions W3C Candidate Recommendation 17 July 2014”、[2015年11月6日検索]、インターネット<URL:http://www.w3.org/TR/media-source/>
【発明の概要】
【発明が解決しようとする課題】
【0015】
MSEを用いたストリーミング視聴の場合には、シーク動作はビデオ要素のcurrentTimeプロパティにシーク後の再生時刻を設定し、該設定した再生時刻を含むセグメントを取得することにより実行することができる。この時の一般的な受信装置のバッファの状況の一例を図7に示す。
【0016】
図7では、映像セグメントの再生継続時間が10秒、音声セグメントの再生継続時間が8秒であり、シーク後の新規再生開始時刻を18秒とした例を示している。斜線の入ったブロックがセグメントを示している。この場合には、映像は再生時刻18秒を含むセグメントa(セグメント開始時刻は10秒)を取得し、音声は再生時刻18秒を含むセグメントb(セグメント開始時刻は16秒)を取得し、再生を開始できる状態となる。
【0017】
しかし、受信装置によってはシーク後の新規再生開始時刻は設定値通りとなっているものの、再生映像セグメントの先頭であるセグメント開始時刻から再生を開始するものが存在する。符号化された映像信号を復号するためには、Iフレーム(イントラフレーム)から復号する必要があり、セグメントの先頭はIフレームとなっているからである。このような受信装置では、図7の映像セグメントaの先頭である10秒の位置から再生を試みるが、音声バッファには10秒の位置にはセグメントが存在しないため、再生時刻10秒を含む音声のセグメントを別途取得する必要が生じ、即座に再生を開始することができないという課題があった。
【0018】
また、特許文献1には、データをバッファに溜める際に、バッファ容量が一杯だった場合に、再生済みデータの中から古いデータを優先的に消去することや、再生済みデータがバッファに残っていない場合には、任意の位置指定前にバッファに残っているデータの中から新しいデータを優先的に消去することが記載されているが、上記課題を解決できる技術ではなかった。
【0019】
かかる事情に鑑みてなされた本発明の目的は、ストリーミング再生においてシーク動作を安定に行うことが可能な受信装置、セグメント取得方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0020】
上記課題を解決するため、本発明に係る受信装置は、映像と音声が別々のストリームとなっており、それぞれが複数のセグメントから構成されるコンテンツをセグメントごとに受信する受信装置であって、マニフェストファイルをもとに、セグメントの先頭時刻に該当するセグメント開始時刻、及びセグメントのURLを対応付けたセグメントURLリストを生成するマニフェスト取得部と、再生開始時刻を取得する再生制御部と、前記再生時刻に基づき、取得対象のセグメントのセグメント開始時刻を決定し、前記セグメントURLリストから該セグメント開始時刻に対応付けられたセグメントのURLを抽出するバッファ制御部と、前記セグメントのURLに基づき前記取得対象のセグメントを取得するセグメント取得部と、を備え、シーク操作が実行されると、前記再生制御部は新規の再生開始時刻を示す新規再生開始時刻情報を取得し、前記バッファ制御部は、前記セグメントURLリストから該新規再生開始時刻を含む映像セグメントのURL、及び該映像セグメントのセグメント開始時刻を抽出するとともに、前記セグメントURLリストから該セグメント開始時刻を含む音声セグメントのURLを抽出することを特徴とする。
【0021】
また、上記課題を解決するため、本発明に係るセグメント取得方法は、映像と音声が別々のストリームとなっており、それぞれが複数のセグメントから構成されるコンテンツをセグメントごとに取得するセグメント取得方法であって、マニフェストファイルをもとに、セグメントの先頭時刻に該当するセグメント開始時刻、及びセグメントのURLを対応付けたセグメントURLリストを生成するマニフェスト取得ステップと、再生開始時刻を取得する再生制御ステップと、前記再生時刻に基づき、取得対象のセグメントのセグメント開始時刻を決定し、前記セグメントURLリストから該セグメント開始時刻に対応付けられたセグメントのURLを抽出するバッファ制御ステップと、前記セグメントのURLに基づき前記取得対象のセグメントを取得するセグメント取得ステップと、を含み、シーク操作が実行されると、前記再生制御ステップは新規の再生開始時刻を示す新規再生開始時刻情報を取得し、前記バッファ制御ステップは、前記セグメントURLリストから前記新規再生開始時刻を含む映像セグメントのURL、及び該映像セグメントのセグメント開始時刻を抽出するとともに、前記セグメントURLリストから該セグメント開始時刻を含む音声セグメントのURLを抽出することを特徴とする。
【0022】
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記受信装置として機能させることを特徴とする。
【発明の効果】
【0023】
本発明によれば、シーク後の新規再生開始時刻を含む映像セグメントのセグメント開始時刻に遡って再生を開始する受信においても、新規再生開始時刻を含む映像セグメントのセグメント開始時刻を含む音声セグメントを迅速に取得することができる。そのため、シーク動作後の再生開始までの時間を短縮して安定に再生することができるようになる。
【図面の簡単な説明】
【0024】
図1】本発明の一実施形態に係る受信装置の構成例を示す図である。
図2】マニフェストファイルの一例(抜粋)を示す図である。
図3】本発明の一実施形態に係る受信装置のシーク動作時のバッファの状況の一例を示す図である。
図4】本発明の一実施形態に係る受信装置のシーク動作時のセグメント取得方法を示すフローチャートである。
図5】従来のアダプティブストリーミングの一例を示す図である。
図6】従来のMSEのバッファモデルの一例を示す図である。
図7】従来の受信装置において、シーク動作時のバッファの状況の一例を示す図である。
【発明を実施するための形態】
【0025】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。以下の説明において、再生時刻のうち、再生を開始する時刻を「再生開始時刻」とし、セグメント単位で再生を開始する時刻を「セグメント開始時刻」と称する。
【0026】
まず、配信サーバに用意されるマニフェストファイルについて説明する。本実施形態では一例としてマニフェストファイルをMPEG−DASH(ISO/IEC23009−1)のMPD(Media Presentation Description)形式とし、セグメントをISOBMFF(ISO/IEC14496−12)形式とする。
【0027】
図2にマニフェストファイルの一例(抜粋)を示す。MPD形式ではPeriod,AdaptationSet,Representationの順に階層構造となっている。
【0028】
Periodは、番組を時間方向に(1つ又は複数に)区切った一区画を示している。Periodは1つ以上のAdaptationSetから構成される。
【0029】
AdaptationSetは、メディアのコンポーネント(映像、音声、テキスト等)の情報を示す。図2に示すPeriodは、映像の情報を示すAdaptationSet(3〜8行目)と、音声の情報を示すAdaptationSet(9〜12行目)とを備える。また、AdaptationSetは同じメディアでパラメータ(ビットレートや画面サイズ、音声のチャンネル数等)の異なる複数のコンポーネントを含むことができる。図2の例では、映像及び音声のメディアのコンポーネント数は、それぞれ1つである。
【0030】
Representationは、AdaptationSetに含まれるそれぞれのメディアのコンポーネントの情報を示しており、一つ以上のセグメントで構成される。
【0031】
ある再生時刻におけるセグメントのURLは、MPDの情報から求めることができる。図2の例をもとに説明する。2行目のstartの値から、Periodの開始時刻は0であり、durationの値から、コンテンツ尺は3分である。4行目のtimescaleの値から、AdaptationSetのタイムスケール(1秒間の目盛数)は、90000である。6行目のdurationの値から、セグメントの継続時間は、900000である。6行目のstartNumberの値から、セグメントの開始番号は1である。以上から、ある再生時刻t(秒)に対するセグメント番号は以下の式(1)で算出できる。なお、少数以下は切り捨てる。
Number=(t−start)×timescale/duration+startNumber (1)
【0032】
次に、6行目のmediaの値から、セグメントのURLのテンプレート“video_$Number$.mp4”を取得し、$Number$を先に算出したNumber値に差し替えることにより、セグメントのURLを取得することができる。上記は映像(3〜8行目)について説明したが、音声(9〜12行目)についても同様に求めることが可能である。
【0033】
(受信装置の構成)
次に、本発明の一実施形態に係る受信装置の構成例について、図1を参照して説明する。
【0034】
受信装置1は、インターネットを介して配信サーバ2と接続され、配信サーバ2からコンテンツをセグメントごとに受信し、ストリーミング再生を行う。このコンテンツは、映像と音声が別々のストリームとなっており、それぞれが複数のセグメントから構成される。すなわち、コンテンツは複数の映像セグメント及び複数の音声セグメントから構成される。
【0035】
配信サーバ2は、受信装置1によって指定されたURLのマニフェストファイルやセグメントを配信するサーバであり、例えば一般的なWebサーバとすることができる。
【0036】
図1に示す受信装置1は、通信I/F10と、マニフェスト取得部11と、セグメント取得部12と、バッファ13と、バッファ制御部14と、再生制御部15と、再生制御ユーザI/F16と、再生部17と、表示部18とを備える。
【0037】
再生制御ユーザI/F16は、ユーザ操作によって、再生命令、停止命令、及びシーク命令(再生時刻変更命令)を再生制御部15に出力する。再生命令には再生開始時刻を示す再生開始時刻情報が含まれ、シーク命令には新規(変更後)の再生開始時刻を示す新規再生開始時刻情報が含まれる。
【0038】
再生制御ユーザI/F16は、再生開始・停止ボタンを用意するとともに、コンテンツの開始、終了時刻、及び再生制御部15から入力された現在再生時刻情報をもとに、現在の再生時刻(再生位置)をグラフィカルに表示してもよい。例えば、再生画面の下部にコンテンツの開始時刻を左端、終了時刻を右端とする横長の棒状で表示し、それと重なるようにつまみ状の操作部分を配置し、つまみ上の操作部分を再生が進むにつれて左端から右端に移動させることによって、ユーザは再生時間全体のうち今どの部分を再生しているのかを一目で把握することができる。また、このつまみをマウス等のユーザ操作によって動かすことにより、任意の再生時刻を指定できるようにしてもよい。
【0039】
マニフェスト取得部11は、アプリケーション起動時又はコンテンツ選択時に、配信サーバ2から所望のコンテンツのマニフェストファイル(MPD)を通信I/F10を介して取得し、マニフェストファイルをもとに、セグメント開始時刻及びセグメントのURLを対応付けたセグメントURLリストを生成し、セグメント取得部12及びバッファ制御部14に出力する。
【0040】
再生制御部15は、再生制御ユーザI/F16から停止命令を入力すると、再生部17に停止を指示する。
【0041】
また、再生制御部15は、再生制御ユーザI/F16から再生命令を入力すると、再生開始時刻情報を再生命令から抽出し、バッファ制御部14に出力する。そして、再生制御部15は、バッファ制御部14からバッファ規定値(例えば5秒)を超えたことを示す通知を入力したら、再生部17に再生開始時刻情報を出力するとともに、再生開始を指示する。
【0042】
また、再生制御部15は、現在の再生状態(再生中、停止中)、及び再生部17から入力された現在再生時刻情報を再生制御ユーザI/F16に出力する。
【0043】
バッファ制御部14は、再生制御部15から入力された再生開始時刻情報、及びバッファ13から入力されたバッファリング範囲(バッファ済みセグメント範囲)情報に基づき、取得対象のセグメント(映像セグメント及び音声セグメント)のセグメント開始時刻を決定する。そして、セグメントURLリストからセグメント開始時刻に対応付けられたセグメントのURLを抽出し、セグメント取得部12に出力する。
【0044】
セグメント取得部12は、バッファ制御部14から取得対象のセグメントのURLを入力する。そして、該セグメントのURLに基づき、対応するセグメントを取得し、バッファ制御部14に出力する。具体的には、セグメントのURLを含むセグメント要求(リクエスト)を生成して通信I/F10を介して配信サーバ2に送信し、配信サーバ2から通信I/F10を介して該要求に対するレスポンスとして対応するセグメントを取得する。なお、セグメント取得部12は、バッファ制御部14からセグメント開始時刻を入力し、セグメント取得部12がセグメントURLリストからセグメント開始時刻に対応付けられたセグメントのURLを抽出するようにしてもよい。
【0045】
バッファ13は、バッファ制御部14からセグメントを入力し、セグメントのセグメント開始時刻及び再生継続時間を対応付けて、映像セグメント及び音声セグメントをそれぞれ別に保存する。
【0046】
また、バッファ13は、バッファリング範囲情報をバッファ制御部14に出力する。ここで、バッファリング範囲情報とは、バッファ13にコンテンツのセグメントが挿入されている範囲を示す情報のことであり、例えば現在の保存中の全セグメントのセグメント開始時刻及び再生継続時間の情報とする。
【0047】
また、バッファ13は、再生部17から要求されたセグメントを、順次再生部17に出力する。
【0048】
再生部17は、再生制御部15から停止命令を入力した場合には、再生を停止する。
【0049】
また再生部17は、再生制御部15から再生命令を入力すると、再生開始時刻情報に基づいてセグメントを順次バッファ13から入力し、該入力したセグメントをセグメントのメディアの形式(映像、音声、テキスト等)に従ってデコードし、表示部18に出力する。再生部17は、再生とともに更新される再生時刻の情報である現在再生時刻情報を再生制御部15に出力する。
【0050】
表示部18は、再生部17から入力されたデコード済みのメディアデータをそのメディアの形式に従って表示する。
【0051】
以下に、シーク操作が実行された場合について説明する。
【0052】
再生制御部15は、再生制御ユーザI/F16からシーク命令を入力すると、新規再生開始時刻情報をシーク命令から抽出し、バッファ制御部14に出力する。そして、再生制御部15は、バッファ制御部14からバッファ規定値(例えば5秒)を超えたことを示す通知を入力したら、再生部17に新規再生開始時刻情報を出力するとともに、再生開始を指示する。
【0053】
再生部17は、再生制御部15から新規再生開始時刻情報を入力すると、該新規再生開始時刻情報に基づいてセグメントを順次バッファ13から入力し、該入力したセグメントをセグメントのメディアの形式(映像、音声、テキスト等)に従ってデコードし、表示部18に出力する。
【0054】
バッファ制御部14は、再生制御部15から新規再生開始時刻情報が入力されると、セグメントURLリストから新規再生開始時刻を含む映像セグメントのURL、及び該映像セグメントの先頭時刻に該当するセグメント開始時刻を抽出する。そして、セグメントURLリストから該映像セグメントのセグメント開始時刻を含む音声セグメントのURLを抽出し、セグメント取得部12に出力する。
【0055】
セグメント取得部12は、バッファ制御部14から取得対象のセグメント(映像セグメント及び音声セグメント)のURLを入力する。そして、該セグメントのURLに基づき、対応するセグメントを取得し、バッファ制御部14に出力する。
【0056】
シーク動作時のバッファの状況の一例を図3に示す。図7と同様に、映像セグメントの再生継続時間が10秒、音声セグメントの再生継続時間が8秒であり、シーク後の新規再生開始時刻を18秒とした例を示している。映像は新規再生開始時刻18秒を含むセグメントa(セグメント開始時刻は10秒)を取得する。一方、音声は新規再生開始時刻ではなく、映像セグメントのセグメント開始時刻10秒を含むセグメントc(セグメント開始時刻は8秒)を取得する。したがって、映像セグメントのセグメント開始時刻10秒から、映像及び音声の再生を即座に開始することができる。
【0057】
(シーク動作時のセグメント取得方法)
次に、受信装置1のシーク動作時のセグメント取得方法について、図4に示すフローチャートを参照して説明する。
【0058】
図4に示すフローチャートは、既にマニフェストファイルを取得しており、セグメントURLリストも作成済みの状態から開始するものとする。また、受信装置1は、ネットワークの混雑状況に応じて受信帯域が常に変動することを見越して、再生開始時刻を起点として予め設定したバッファ規定値(例えば5秒)以上のセグメントがバッファ13に挿入されてから再生を開始するものとする。
【0059】
まず、再生制御ユーザI/F16においてユーザによりシーク操作が実行されると(ステップS001)、再生制御部15は新規再生開始時刻情報をシーク命令から抽出し、バッファ制御部14に出力する(ステップS002)。
【0060】
次に、バッファ制御部14は、新規再生開始時刻情報から新規再生開始時刻を取得する。そして、バッファ制御部14は、セグメントURLリストから新規再生開始時刻を含む映像セグメントのURL、及び該映像セグメントの先頭時刻に該当するセグメント開始時刻を抽出するとともに(ステップS003)、該抽出した映像セグメントのセグメント開始時刻を含む音声セグメントのURLをセグメントURLリストから抽出する(ステップS004)。
【0061】
次に、セグメント取得部12は、ステップS003にて抽出した映像セグメントのURL、及びステップS004にて抽出した音声セグメントのURLを含むセグメント要求をそれぞれ生成して配信サーバ2に送信し、配信サーバ2から該要求に対応するセグメントを受信し、バッファ制御部14に出力する(ステップS005)。そして、バッファ制御部14は、ステップS005にて受信した映像セグメント及び音声セグメントをそれぞれバッファ13に挿入する(ステップS006)。
【0062】
次に、バッファ制御部14は、映像・音声それぞれのバッファ13内に新規再生開始時刻からバッファ規定値以上のセグメントが存在しているか否かを確認する(ステップS007)。存在している場合には再生部17により再生を開始し(ステップS010)、処理を終了する。
【0063】
一方、ステップS007がNOの場合には、バッファ制御部14は、バッファリング範囲の最大値を含むセグメントに続くセグメントのURLをセグメントURLリストより抽出する(ステップS008)。そして、セグメント取得部12は、該抽出したセグメントのURLを含むセグメント要求を配信サーバ2に送信し、該要求に対応するセグメントを受信し(ステップS008)、該受信したセグメントをバッファ13に挿入する(ステップS009)。
【0064】
以上により、本発明に係る受信装置1によれば、シーク後に新規再生開始時刻を含む映像セグメントのセグメント開始時刻に遡って再生を開始する仕様であっても、新規再生開始時刻を含む映像セグメントのセグメント開始時刻を含む音声セグメントを迅速に取得することができるようになる。そのため、シーク動作後の再生開始までの時間を短縮して安定に再生できるようになる。
【0065】
なお、上述した受信装置1として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、受信装置1の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【0066】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の構成ブロック又は処理ステップについて、複数を1つに組み合わせたり、1つを複数に分割したりすることが可能である。
【符号の説明】
【0067】
1 受信装置
2 配信サーバ
10 通信I/F
11 マニフェスト取得部
12 セグメント取得部
13 バッファ
14 バッファ制御部
15 再生制御部
16 再生制御ユーザI/F
17 再生部
18 表示部
図1
図2
図3
図4
図5
図6
図7