JP6861046B2 - 配信装置およびプログラム - Google Patents

配信装置およびプログラム Download PDF

Info

Publication number
JP6861046B2
JP6861046B2 JP2017025219A JP2017025219A JP6861046B2 JP 6861046 B2 JP6861046 B2 JP 6861046B2 JP 2017025219 A JP2017025219 A JP 2017025219A JP 2017025219 A JP2017025219 A JP 2017025219A JP 6861046 B2 JP6861046 B2 JP 6861046B2
Authority
JP
Japan
Prior art keywords
switching
segment
video stream
generation unit
playlist
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
JP2017025219A
Other languages
English (en)
Other versions
JP2018133664A (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.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting 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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2017025219A priority Critical patent/JP6861046B2/ja
Publication of JP2018133664A publication Critical patent/JP2018133664A/ja
Application granted granted Critical
Publication of JP6861046B2 publication Critical patent/JP6861046B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、映像ストリームを再生装置に配信する配信装置およびプログラムに関する。
インターネットなどの通信ネットワークを介した動画配信手法として、HLS(HTTP Live Streaming)、MPEG−DASH(Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP)に代表される、HTTP(Hypertext Transfer Protocol)に従い映像ストリームを再生装置に配信するHTTPベースの動画配信手法がある(非特許文献1参照)。HTTPベースの動画配信手法には、標準的なWebサーバを用いて、映像ストリームを配信することができるという利点がある。
上述したHLSを例にすると、配信側のエンコーダにより、映像ストリームが所定の時間長の動画ファイル(セグメント)に分割される。また、映像ストリームを分割したセグメントを再生装置において処理するための情報を示すプレイリストが生成される。プレイリストには、セグメントの場所、セグメントの時間長、セグメントの順序などの情報が含まれる。
再生装置は、HTTPに従い、プレイリストやセグメントを配信するWebサーバから、再生対象の映像ストリームのプレイリストを取得し、取得したプレイリストに従い、再生対象の映像ストリームのセグメントを順番にダウンロードして再生する。
"HTTP Live Streaming draft-pantos-http-live-streaming-20"、[online]、[平成28年12月26日検索]、インターネット<https://tools.ietf.org/html/draft-pantos-http-live-streaming-20>
上述したようなHTTPベースの動画配信手法では、再生側(再生装置)において、プレイリストの取扱いに課題が存在する。
HLSを例にすると、映像ストリームの再生の開始は、再生装置が備えるWebブラウザ上での操作により可能である。しかしながら、映像ストリームを再生するプレイヤーは、JavaScript(登録商標)などを用いた動的な処理をすることができないケースがある。このようなケースでは、再生対象の映像ストリームを切り替える場合、プレイヤーを一旦終了させ、Webブラウザにより切替先の映像ストリームのプレイリストを再読み込みした後、再びプレイヤーを起動させるといった処理が必要となる。
このように、従来のHTTPベースの動画配信手法には、簡易な構成で、再生対象の映像ストリームのシームレスな切り替えが困難であるという問題があった。
上記のような問題点に鑑みてなされた本発明の目的は、簡易な構成で、再生対象の映像ストリームのシームレスな切り替えを可能とする配信装置およびプログラムを提供することにある。
上記課題を解決するため、本発明に係る配信装置は、複数のセグメントに分割された複数の映像ストリームのいずれかを再生装置に配信する配信装置であって、前記複数の映像ストリームそれぞれに対応して設けられ、前記映像ストリームを分割したセグメントを処理するための情報を示すプレイリストを取得する取得部と、前記再生装置により参照され、前記再生装置での再生対象の映像ストリームを分割したセグメントを処理するための情報を示す参照用プレイリストを生成する生成部と、前記生成部により生成された参照用プレイリストを前記再生装置に配信する配信部と、前記再生装置での再生対象の映像ストリームが切り替えられる場合、切替元の映像ストリームのセグメントと、切替先の映像ストリームのセグメントとを用いて、切替用セグメントを生成する切替用セグメント生成部と、を備え、前記生成部は、前記再生装置での再生対象の映像ストリームが切り替えられる場合、前記切替用セグメント生成部により生成された前記切替用セグメントに基づき前記参照用プレイリストを更新し、前記切替用セグメントに基づく前記参照用プレイリストの更新後、前記取得部により取得された、切替先の映像ストリームに対応して予め設けられたプレイリストにより前記参照用プレイリストを更新し、前記配信部は、前記生成部により更新された参照用プレイリストを前記再生装置に配信する。
また、本発明に係る配信装置において、前記再生装置での再生対象の映像ストリームが切り替えられる場合、切替元の映像ストリームのセグメントと、切替先の映像ストリームのセグメントとを用いて、切替用セグメントを生成する切替用セグメント生成部をさらに備え、前記配信部は、前記切替用セグメントに基づき前記参照用プレイリストを更新し、前記切替用セグメントに基づく前記参照用プレイリストの更新後、前記切替先の映像ストリームに対応して予め設けられたプレイリストにより、前記参照用プレイリストを更新することが好ましい。
また、本発明に係る配信装置において、前記切替用セグメント生成部は、前記切替元の映像ストリームのセグメントと、前記切替先の映像ストリームのセグメントとを合成して切替用セグメントを生成し、前記配信部は、前記切替用セグメント生成部により生成された切替用セグメントにより前記切替先の映像ストリームのセグメントが置換されるように前記参照用プレイリストを更新することが好ましい。
また、本発明に係る配信装置において、前記切替用セグメント生成部は、前記切替元の映像ストリームのセグメントの1フレーム分の静止画と、前記切替先の映像ストリームのセグメントの1フレーム分の静止画とに基づき切替用セグメントを生成し、前記配信部は、前記切替用セグメント生成部により生成された切替用セグメントが、前記切替元の映像ストリームのセグメントと、前記切替先の映像ストリームのセグメントの次のセグメントとの間に挿入されるように、前記参照用プレイリストを更新することが好ましい。
また、本発明に係る配信装置において、前記切替用セグメント生成部は、前記切替元の映像ストリームのセグメントの1フレーム分の静止画と、前記切替先の映像ストリームのセグメントの1フレーム分の静止画とに基づき切替用セグメントを生成し、前記配信部は、前記切替用セグメント生成部により生成された切替用セグメントにより前記切替先の映像ストリームのセグメントが置換されるように前記参照用プレイリストを更新することが好ましい。
また、本発明に係る配信装置において、前記切替用セグメント生成部は、前記複数の映像ストリーム間での切替が所定の順序で行われる場合、前記切替元の映像ストリームのセグメントと、前記切替元の映像ストリームから切替可能な1以上の映像ストリームのセグメントそれぞれとを用いて前記切替用セグメントを生成し、前記配信部は、前記切替元の映像ストリームから、前記切替元の映像ストリームから切替可能な映像ストリームのうちのいずれかの映像ストリームに切り替えられる場合、前記切替用セグメント生成部により生成された切替用セグメントのうち、前記切替元の映像ストリームのセグメントと、切替先の映像ストリームのセグメントとに基づき生成された切替用セグメントに基づき前記参照用プレイリストを更新することが好ましい。
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを上記配信装置として機能させる。
本発明に係る再生装置およびプログラムによれば、簡易な構成で、再生対象の映像ストリームのシームレスな切り替えが可能となる。
本発明の一実施形態に係る配信装置の構成例を示す図である。 図1に示す配信装置の動作を説明するためのシーケンス図である。 図1に示す切替用セグメント生成部による切替用セグメントの生成方法の一例を示す図である。 図1に示す切替用セグメント生成部による切替用セグメントの生成方法の他の一例を示す図である。 図1に示す配信装置の動作の一例を示すフローチャートである。 図1に示す配信装置の動作の他の一例を示すフローチャートである。 複数の映像ストリーム間での再生対象の映像ストリームの切り替えの一例を示す図である。 図7に示す特定の映像ストリームを中心とした再生対象の映像ストリームの切り替えについて説明するための図である。 図7に示す複数の映像ストリーム間での再生対象の映像ストリームの切り替えに対して生成すべき切替用セグメントについて説明するための図である。 複数の映像ストリーム間での再生対象の映像ストリームの切り替えの他の一例を示す図である。 図10に示す特定の映像ストリームを中心とした再生対象の映像ストリームの切り替えについて説明するための図である。 図10に示す複数の映像ストリーム間での再生対象の映像ストリームの切り替えに対して生成すべき切替用セグメントについて説明するための図である。
以下、本発明を実施するための形態について、図面を参照しながら説明する。
図1は、本発明の一実施形態に係る配信装置10の構成例を示す図である。本実施形態に係る配信装置10は、映像ストリームの配信側の配信システム1に設けられ、配信対象の複数の映像ストリームのいずれかを受信側の再生装置20に配信するためのものである。
図1に示す配信装置10は、取得部11と、切替用セグメント生成部12と、受信部13と、生成部14と、配信部15とを備える。
取得部11は、配信システム1内のエンコーダ(不図示)により生成された映像ストリームを分割したセグメントおよびセグメントを処理するための情報を示すプレイリストを取得し、切替用セグメント生成部12および生成部14に出力する。なお、通常、配信システム1による配信対象の映像ストリームは複数である。複数の映像ストリームとしては、それぞれ内容の異なる映像ストリーム、本番系および予備系として設けられた映像ストリーム、ビットレートの異なる映像ストリームなどがある。
切替用セグメント生成部12は、取得部11が取得した映像ストリームのセグメントを用いて、例えば、再生装置20における再生対象の映像ストリームの切り替えの際に再生装置20に配信するセグメント(切替用セグメント)を生成し、生成部14に出力する。具体的には、切替用セグメント生成部12は、例えば、再生対象の映像ストリームを映像ストリームAから映像ストリームBに切り替える場合、切替元の映像ストリームである映像ストリームAのセグメントと、切替先の映像ストリームである映像ストリームBのセグメントとを用いて、切替用セグメントを生成する。
受信部13は、配信システム1内の他の装置(不図示)および再生装置20の動作を制御するコントローラ21から種々の要求を受信する。受信部13が受信する要求としては、例えば、再生装置20での再生対象の映像ストリームの切り替えを要求する切替要求がある。なお、切替要求は、再生装置20のコントローラ21から受信することもあるし、配信システム1内の他の装置から受信することもある。また、受信部13が受信する要求としては、詳細は後述するが、再生装置20が再生対象の映像ストリームのセグメントを処理するために参照する参照用プレイリストの取得要求などがある。
生成部14は、取得部11が取得した映像ストリームに基づき、再生装置20が再生対象の映像ストリームのセグメントを処理するために参照する参照用プレイリストを生成し、配信部15に出力する。また、生成部14は、参照用プレイリストに従い、再生対象の映像ストリームのセグメントを配信部15に出力してもよい。ここで、生成部14は、例えば、複数の再生装置20において独立に映像ストリームの再生が行われる場合、再生装置20毎に異なる参照用プレイリストを生成する。また、生成部14は、例えば、複数の再生装置20で同じ映像ストリームを再生させる場合には、その複数の再生装置20に対して同様の参照用プレイリストを生成する。
配信部15は、生成部14が生成した参照用プレイリストを再生装置20に配信する。また、配信部15は、参照用プレイリストに従い生成部14から再生対象の映像ストリームのセグメントが出力された場合には、そのセグメントを再生装置20に配信する。再生装置20のプレイヤー22は、配信装置10から配信された参照用プレイリストに従い、再生対象の映像ストリームのセグメントを処理し、再生する。
次に、本実施形態に係る配信装置10の動作について、図2に示すシーケンス図を参照して説明する。図2では、再生装置20における再生対象の映像ストリームが、映像ストリームAから映像ストリームBに切り替えられる場合を例として説明する。
まず、映像ストリームA,Bそれぞれがセグメントに分割されるとともに、映像ストリームA,Bそれぞれに対応して、各映像ストリームのセグメントを処理するための情報を示すプレイリストが生成される。
具体的には、映像ストリームAに対応するエンコーダAは、処理を開始すると(Start Processing)、映像ストリームAを分割してセグメントAを生成し、所定の記憶領域に記憶(Store)させる(ステップS101)。また、エンコーダAは、映像ストリームAに対応するプレイリストAを生成し、セグメントAを生成する毎に、プレイリストAを更新(Update)する(ステップS102)。
また、映像ストリームBに対応するエンコーダBは、処理を開始すると(Start Processing)、映像ストリームBを分割してセグメントBを生成し、所定の記憶領域に記憶させる(Store)(ステップS103)。また、エンコーダBは、映像ストリームBに対応するプレイリストBを生成し、セグメントBを生成する毎に、プレイリストBを更新する(Update)(ステップS104)。
このように、映像ストリームA,Bそれぞれに対応して、各映像ストリームのセグメントを処理するための情報を示すプレイリストが予め生成される。
生成部14は、再生装置20が再生対象の映像ストリームを再生するために参照する参照用プレイリスト(Playlist AtoB)を生成(Create)する(ステップS105)。
プレイヤー22は、配信装置10に対して、参照用プレイリスト(Playlist AtoB)の取得(Get)を要求する(ステップS106)。その要求に応じて、配信部15は、生成部14が生成した参照用プレイリスト(Playlist AtoB)を再生装置20に配信する(ステップS107)。
参照用プレイリストの生成後、配信装置10は、再生装置20に映像ストリームAを配信するための処理を開始する(Start Processing)。まず、取得部11は、映像ストリームAに対応するWebサーバに対して、プレイリストAの取得(Get)を要求する(ステップS108)。そして、取得部11は、その要求に応じて映像ストリームAに対応するWebサーバから送信されてきたプレイリストAを取得する(ステップS109)。生成部14は、取得部11が取得したプレイリストAを参照用プレイリストにコピーして、参照用プレイリストを更新する(Update(Copy A))(ステップS110)。
プレイヤー22は、配信装置10に対して、参照用プレイリストの取得(Get)を要求する(ステップS111)。その要求に応じて、配信部15は、生成部14が生成した参照用プレイリストを再生装置20に配信する(ステップS112)。
上述したように、参照用プレイリストは、プレイリストAの内容をほぼコピーしたものである。プレイヤー22は、参照用プレイリストに従い、映像ストリームAに対応するWebサーバに対して、映像ストリームAのセグメントAの取得(Get)を要求する(ステップS113)。そして、プレイヤー22は、その要求に応じて、映像ストリームAに対応するWebサーバから送信されてきたセグメントAを取得し、再生する。
次に、再生対象の映像ストリームを映像ストリームAから映像ストリームBに切り替える操作入力が行われたとする。コントローラ21は、配信装置10に対して、映像ストリームAから映像ストリームBへの再生対象の映像ストリームの切り替え(Change)を要求する(ステップS115)。
取得部11は、映像ストリームAから映像ストリームBへの再生対象の映像ストリームの切り替えが再生装置20から要求されると、映像ストリームAに対応するWebサーバに対して、映像ストリームAのセグメントAの取得(Get)を要求する(ステップS116)。そして、取得部11は、その要求に応じて、映像ストリームAに対応するWebサーバから送信されてきたセグメントAを取得する(ステップ117)。また、取得部11は、映像ストリームBに対応するWebサーバに対して、映像ストリームBのセグメントBの取得(Get)を要求する(ステップS118)。そして、取得部11は、その要求に応じて、映像ストリームBに対応するWebサーバから送信されてきたセグメントBを取得する(ステップS119)。
切替用セグメント生成部12は、取得部11が取得したセグメントA(切替元の映像ストリームである映像ストリームAのセグメントA)およびセグメントB(切替先の映像ストリームである映像ストリームBのセグメントB)とを用いて、切替用セグメント(Segment AtoB)を生成し(Generate)(ステップS120)、所定の記憶領域に記憶させる。
切替用セグメントの生成が完了すると(Done)(ステップS121)、生成部14は、切替用セグメントに基づき、参照用プレイリストを更新する(Update(AtoB))(ステップS122)。具体的には、生成部14は、切替用セグメントの場所、時間長などの情報を参照用プレイリストに書き込む。そして、生成部14は、配信部15を介して、再生対象の映像ストリームの切替要求に対する処理が完了した(Done)ことを再生装置20に通知する(ステップS123)。
なお、切替用セグメントの生成および切替用セグメントに基づく参照用プレイリストの更新の詳細については後述する。
再生対象の映像ストリームの切替要求に対する処理が完了したことが通知されると、プレイヤー22は、配信装置10に対して、参照用プレイリストの取得(Get)を要求する(ステップS124)。再生装置20からの要求に応じて、配信部15は、生成部14が生成した参照用プレイリストを再生装置20に配信する(ステップS125)。
上述したように、参照用プレイリストは、切替用セグメントに基づき更新されている。プレイヤー22は、参照用プレイリストに従い、配信装置10に対して、切替用セグメントの取得(Get)を要求する(ステップS126)。そして、プレイヤー22は、その要求に応じて、配信装置10から送信されてきた切替用セグメントを取得し(ステップS127)、再生する。
切替用セグメントの生成後、配信装置10は、再生装置20に映像ストリームBを配信するための処理を開始する(Start Processing)。取得部11は、映像ストリームBに対応するWebサーバに対して、プレイリストBの取得(Get)を要求する(ステップS128)。そして、取得部11は、その要求に応じて映像ストリームBに対応するWebサーバから送信されてきたプレイリストBを取得する(ステップS129)。生成部14は、取得部11が取得したプレイリストBを参照用プレイリストにコピーして、参照用プレイリストを更新する(Update(Copy B))(ステップS130)。
プレイヤー22は、配信装置10に対して、参照用プレイリストの取得(Get)を要求する(ステップS131)。再生装置20からの要求に応じて、配信部15は、生成部14が生成した参照用プレイリストを再生装置20に配信する(ステップS132)。
上述したように、参照用プレイリストは、プレイリストBの内容をほぼコピーしたものである。プレイヤー22は、参照用プレイリストに従い、映像ストリームBに対応するWebサーバに対して、映像ストリームBのセグメントBの取得(Get)を要求する(ステップS133)。そして、プレイヤー22は、その要求に応じて、映像ストリームBに対応するWebサーバから送信されてきたセグメントBを取得し、再生する。
このように、本実施形態においては、配信装置10は、再生装置20での再生対象の映像ストリームのセグメントを処理するための情報を示す参照用プレイリストを生成する。そして、配信装置10は、再生対象の映像ストリームが切り替えられる場合、切替先の映像ストリームに対応するプレイリストにより参照用プレイリストを更新する。
再生装置20は、再生対象の映像ストリームを切り替える場合にも、再生対象の映像ストリームの切り替えに応じて更新される参照用プレイリストだけを参照すればよく、参照するプレイリストを変更する必要が無い。したがって、再生対象の映像ストリームを切り替える場合に、プレイヤーを一旦終了させ、Webブラウザにより切替先の映像ストリームのプレイリストを再読み込みした後、再びプレイヤーを起動させるといった処理が不要となる。そのため、本実施形態においては、簡易な構成で、再生対象の映像ストリームのシームレスな切り替えが可能となる。
なお、図2においては、映像ストリームAのセグメントAおよび映像ストリームBのセグメントBはそれぞれ、各映像ストリームに対応するWebサーバから配信される例を用いて説明したが、これに限られるものではない。例えば、配信装置10が、映像ストリームAのセグメントAおよび映像ストリームBのセグメントBを取得し、再生装置20に配信するようにしてもよい。この場合、再生装置20は、配信装置10に対して、再生対象の映像ストリームのセグメントの取得を要求する。そして、配信装置10は、この要求に応じて、再生対象の映像ストリームのセグメントを再生装置20に配信する。
また、図2においては、切替用セグメントを生成し、切替用セグメントにより参照用プレイリストを更新した後、セグメントBにより参照用プレイリストを更新する例を用いて説明したが、これに限られるものではない。映像ストリームAから映像ストリームBへのシームレスな切り替えのためだけなら、切替用セグメントは必ずしも必要ではない。すなわち、再生対象の映像ストリームを映像ストリームAから映像ストリームBに切り替える場合に、映像ストリームAに対応するプレイリストAがコピーされた参照用プレイリストを、切り替えタイミングに合わせて、映像ストリームBに対応するプレイリストBにより更新してもよい。こうすることによっても、映像ストリームAから映像ストリームBへのシームレスな切り替えが可能である。
ただし、切替用セグメントを用いない場合、映像ストリームAと映像ストリームBとで同期がとれていないと、切替時に再生画像が急な変化(ショック)が生じてしまうことがある。例えば、同じ内容の本番系の映像ストリームと予備系の映像ストリームとが用意され、本番系の映像ストリームから予備系の映像ストリームに切り替える場合に、本番系の映像ストリームと予備系の映像ストリームとで同期がとれていないと、切替時にショックが発生してしまう。なお、複数の映像ストリームを同期させることは、各映像ストリームに対応するエンコーダの処理の制御などが必要となり、一般的に困難である。
そこで、本実施形態においては、切替元の映像ストリームのセグメントと、切替先の映像ストリームのセグメントとを用いて、切替用セグメントを生成する。そして、切替用セグメントを用いて参照用プレイリストを更新した後、切替先の映像ストリームに対応するプレイリストにより参照プレイリストを更新する。こうすることで、切替元の映像ストリームと切替先の映像ストリームとの間の同期ずれを吸収し、再生画像が急な変化などを利用者に感じさせることなく、再生対象の映像ストリームを切り替えることができる。
また、切替用セグメントを用いることで、再生対象の映像ストリームの切替時に、アニメーションやフェードなどの映像効果を付加した切り替えが可能となる。
次に、切替用セグメントの生成方法について、図3,4を参照して説明する。なお、以下では、再生対象の映像ストリームが映像ストリームAから映像ストリームBに切り替えられるものとして説明する。また、映像ストリームAは、時系列的に並ぶセグメントA1,A2,A3,A4,A5,A6,・・・に分割されているものとする。また、映像ストリームBは、時系列的に並ぶセグメントB1,B2,B3,B4,B5,B6,・・・に分割されているものとする。そして、再生対象の映像ストリームが、映像ストリームAのセグメントA3の配信後、映像ストリームAから映像ストリームBに切り替えられるものとする。
図3は、切替用セグメントの生成方法の一例を示す図である。
上述したように、再生対象の映像ストリームが、映像ストリームAのセグメントA3の配信後、映像ストリームAから映像ストリームBに切り替えられる。そのため、再生装置20への配信ストリームとしては、映像ストリームAのセグメントA1,A2,A3がこの順に配信される。
切替時には、切替用セグメント生成部12は、切り替えタイミング直後の、切替元の映像ストリームのセグメント(映像ストリームAのセグメントA4)と、切替先の映像ストリームのセグメント(映像ストリームBのセグメントB4)とを動画合成して、切替用セグメントAB4を生成する。
切替元の映像ストリームのセグメントと、切替先の映像ストリームのセグメントと動画合成した切替用セグメントAB4は、例えば、時間の経過とともに、切替元の映像ストリームのセグメントの画像が徐々に薄くなり、切替先の映像ストリームのセグメントの画像が徐々に濃くなるような動画像である。また、切替用セグメントAB4は、例えば、時間の経過とともに、切替元の映像ストリームのセグメントの画像が徐々に小さくなり、切替先の映像ストリームのセグメントの画像が徐々に大きくなるような動画像である。また、切替用セグメントAB4は、切替元の映像ストリームのセグメントの画像から、切替先の映像ストリームのセグメントの画像への切り替えの間にアニメーションなどが付加された動画像であってもよい。
切替用セグメントAB4は上述した例に限られるものではなく、切替元の映像ストリームのセグメントの画像と、切替先の映像ストリームのセグメントの画像とがスムーズに切り替えられれば、種々の動画合成方法により生成することができる。
生成された切替用セグメントAB4は、切替先の映像ストリーム(映像ストリームB)のセグメントB4に置換される。すなわち、図3に示す例では、切替用セグメントAB4の生成に用いられた切替先の映像ストリームのセグメントB4が切替用セグメントAB4に置換されている。そのため、時間軸上で見た場合、新たなセグメントの追加などは行われていない(セグメントの時間軸が保持されている)。
その後、切替先の映像ストリームのセグメントB4に続くセグメントB5,B6が順次、再生装置20に配信される。
したがって、参照用プレイリストは、切替元の映像ストリームAのセグメントA3の後、切替用セグメントAB4が配信され、その後、切替先の映像ストリームBのセグメントB4に続くセグメントB5から順に配信されるように、更新される。
図4は、切替用セグメントの生成方法の他の一例を示す図である。
上述したように、再生対象の映像ストリームが、映像ストリームAのセグメントA3の配信後、映像ストリームAから映像ストリームBに切り替えられる。そのため、再生装置20への配信ストリームとしては、映像ストリームAのセグメントA1,A2,A3がこの順に配信される。
切替時には、切替用セグメント生成部12は、切り替えタイミング直前の、切替元の映像ストリームのセグメント(映像ストリームAのセグメントA3)、および、切替先の映像ストリームのセグメント(映像ストリームBのセグメントB3)の1フレーム(例えば、最終フレーム)分の静止画を用いて、切替用セグメントAB3’を生成する。
切替元の映像ストリームのセグメント(静止画)と、切替先の映像ストリームのセグメント(静止画)とを合成した切替用セグメントは、例えば、静止画の切替りアニメーションを用いて生成することができる。
生成された切替用セグメントAB3’は、切り替えタイミングの直前の切替元の映像ストリームのセグメント(映像ストリームAのセグメントA3)の直後に配信され、その後、切替先の映像ストリームBのセグメントB4,B5,B6が順次配信される。したがって、図4に示す例では、映像ストリームAのセグメントA3(切替タイミングの直前の切替元の映像ストリームのセグメント)と、映像ストリームBのセグメントB4(切替タイミングの直後の切替先の映像ストリームのセグメント)との間に、切替用セグメントAB3’が挿入される。すなわち、図4に示す例では、切替元の映像ストリームAのセグメントA3と、切替先の映像ストリームBのセグメントB4との間に切替用セグメントが挿入されているため、時間軸上で見た場合、新たなセグメントが追加されている(セグメントの時間軸が保持されていない)。
参照用プレイリストは、切替元の映像ストリームAのセグメントA3の後、切替用セグメントAB3’が配信され、その後、切替先の映像ストリームBのセグメントB3の次のセグメントB4、B5,B6が順次配信されるように、更新される。
図5は、本実施形態に係る配信装置10の動作の一例を示すフローチャートである。
生成部14は、取得部11を介して、処理対象の(現在の再生対象の)映像ストリームのプレイリストを取得する(ステップS201)。
次に、生成部14は、受信部13を介して、切替要求を受信したか否かを判定する(ステップS202)。
切替要求を受信していないと判定した場合には(ステップS202:No)、生成部14は、処理対象の映像ストリームのセグメントをそのまま利用する(配信する)と決定し(ステップS203)、処理対象の映像ストリームのプレイリストにより参照用プレイリストを更新する(ステップS204)。
切替要求を受信したと判定した場合には(ステップS202:Yes)、生成部14は、切替要求に基づき、切替先の映像ストリームを特定する(ステップS205)。
次に、取得部11は、切替元の映像ストリーム(現在の再生対象の映像ストリーム)および切替先の映像ストリームのセグメントを取得する(ステップS206)。
切替用セグメント生成部12は、時間軸を保持するか否かを判定する(ステップS207)。なお、時間軸を保持するか否かは予め処理ルールとして設定されている。
時間軸を保持すると判定した場合には(ステップS207:Yes)、切替用セグメント生成部12は、図3に示すように、切替タイミング直後の切替元および切替先の映像ストリームのセグメントを動画合成して、切替用セグメントを生成する(ステップS208)。
生成部14は、切替タイミング直後の切替先の映像ストリームのセグメントが、切替用セグメント生成部12により生成された切替用セグメントに置換されるように、参照用プレイリストを更新する(ステップS209)。その後、生成部14は、切替先の映像ストリームのプレイリストにより参照用プレイリストを更新し、ステップS202の処理に戻る。
時間軸を保持しないと判定した場合には(ステップS207:No)、切替用セグメント生成部12は、切替タイミング直前の切替元および切替先の映像ストリームのセグメントの1フレーム(例えば、最終フレーム)分の静止画を合成して、切替用セグメントを生成する(ステップS210)。
生成部14は、切替タイミング直前の切替元の映像ストリームのセグメントと、切替タイミング直後の切替先の映像ストリームのセグメントとの間に、切替用セグメント生成部12により生成された切替用セグメントに置換されるように、参照用プレイリストを更新する(ステップS211)。その後、生成部14は、切替先の映像ストリームのプレイリストにより参照用プレイリストを更新し、ステップS202の処理に戻る。
図5においては、切替要求を受けて、切替用セグメントを生成する例を用いて説明したが、これに限られるものではなく、切替要求を受ける前に予め切替用セグメントを生成しておいてもよい。図6は、切替要求を受ける前に予め切替用セグメントを生成する場合の、配信装置10の動作の一例を示すフローチャートである。
生成部14は、取得部11を介して、処理対象の(現在の再生対象の)映像ストリームのプレイリストを取得する(ステップS301)。
次に、生成部14は、現在の再生対象の映像ストリームからの切替候補の映像ストリームを特定する(ステップS302)。
そして、生成部14は、取得部11を介して、処理対象および切替候補の映像ストリームのセグメントを取得する(ステップS303)。
切替用セグメント生成部12は、時間軸を保持するか否かを判定する(ステップS304)。
時間軸を保持すると判定した場合には(ステップS304:Yes)、切替用セグメント生成部12は、図3に示すように、処理対象の映像ストリームのセグメントと、切替候補の映像ストリームのセグメントそれぞれとを動画合成して、切替用セグメントを生成する(ステップS305)。
生成部14は、受信部13を介して、切替要求を受信したか否かを判定する(ステップS306)。
切替要求を受信したと判定した場合には(ステップS306:Yes)、生成部14は、切替タイミング直後の切替先の映像ストリームのセグメントが、切替候補の映像ストリーム毎に生成した切替用セグメントのうち、切替先の映像ストリームのセグメントを用いて生成した切替用セグメントに置換されるように、参照用プレイリストを更新する(ステップS307)。
切替要求を受信していないと判定した場合には(ステップS306:No)、生成部14は、処理対象の映像ストリームのセグメントをそのまま利用する(配信する)と決定し(ステップS308)、処理対象の映像ストリームのプレイリストにより参照用プレイリストを更新する(ステップS309)。
時間軸を保持しないと判定した場合には(ステップS304:No)、切替用セグメント生成部12は、処理対象の映像ストリームおよび切替候補の映像ストリームのセグメントの1フレーム(例えば、最終フレーム)分の静止画を合成して、切替用セグメントを生成する(ステップS310)。
生成部14は、受信部13を介して、切替要求を受信したか否かを判定する(ステップS311)。
切替要求を受信していないと判定した場合には(ステップS311:No)、生成部14は、ステップS308の処理に進む。
切替要求を受信したと判定した場合には(ステップS311:No)、生成部14は、切替タイミング直前の切替元の映像ストリームのセグメントと、切替タイミング直後の切替先の映像ストリームのセグメントとの間に、切替候補の映像ストリーム毎に生成した切替用セグメントのうち、切替先の映像ストリームのセグメントを用いて生成した切替用セグメントを挿入して、参照用プレイリストを更新する(ステップS312)。
図6を参照して説明したように、切替要求を受ける前に予め切替用セグメントを生成する場合、配信可能な映像ストリームの数が多くなると、生成する切替用セグメントの数も多くなり、切替用セグメントの生成コストが増大する。ここで、複数の映像ストリーム間での切替の順序が予め決まっている場合には、切替用セグメントの生成コストの増大を抑制することができる。
例えば、図7に示すように、7つの映像ストリーム(映像ストリームA〜G)があるとする。そして、A→B→Cというように反時計回りの方向(図7に示す(1)の矢印の方向)の順番と、A→G→Fというように時計回りの方向(図7に示す(2)の矢印の方向)の順番とで切り替えが可能であるとする。
この場合、図8に示すように、映像ストリームBを基準とした場合、(1)の矢印の方向では、A→B,B→Cという2つの切替用セグメントを生成すればよく、(2)の矢印の方向では、C→B,B→Aという2つの切替用セグメントを生成すればよい。
したがって、図9に示すように、図7に示す(1)の矢印の方向および(2)の矢印の方向それぞれについて隣接する映像ストリーム(切替可能な映像ストリーム)間のみ切替用セグメントを生成すればよい。したがって、映像ストリームの数をNとすると、生成すべき切替用セグメントの数は(N−1)×2となる。
また、隣接する映像ストリーム間での相互切り替え(例えば、A→B,B→A)について、並列に2つの切替用セグメントの生成処理を行うのではなく、共通の処理はまとめて実施することで、生成に要する処理時間および演算コストを減らすことができる。また、音を考慮する必要が無い場合には、切替元の映像ストリームのセグメントの静止画と、切替先の映像ストリームのセグメントの静止画とを合成し、切替先の映像ストリームのセグメントに置換することで、時間軸を保持することもできる。時間軸を保持する必要がなければ、切替元の映像ストリームの最終フレームと、切替先の映像ストリームの最終フレームとを合成して切替用セグメントを生成し、切替先の映像ストリームの前に挿入することもできる。
また、例えば、図10に示すように、9つの映像ストリーム(映像ストリームA〜I)があるとする。図10に示すようなタイル状の配置において、上下左右に隣接する映像ストリーム間で切り替えが可能であるとする。
この場合、図11に示すように、映像ストリームEを基準とした場合、図11に示す(1)の矢印の方向(下方向および右方向)では、D→E,E→H,D→E,E→Fという4つの切替用セグメントを生成すればよく、図11に示す(2)の矢印の方向(上方向および左方向)では、E→B,H→E,E→D,F→Eという4つの切替用セグメントを生成すればよい。
したがって、図12に示すように、図10に示す配置において、隣接する映像ストリーム間のみ切替用セグメントを生成すればよく、生成すべき切替用セグメントの数が制限される。
また、図10に示すようなタイル状の配置においても、隣接する映像ストリーム間での相互切り替え(例えば、D→E,E→D)について、並列に2つの切替用セグメントの生成処理を行うのではなく、共通の処理はまとめて実施することで、生成に要する処理時間および演算コストを減らすことができる。また、音を考慮する必要が無い場合には、切替元の映像ストリームのセグメントの静止画と、切替先の映像ストリームのセグメントの静止画とを合成して切替用セグメントを生成することができる。また、切替元の映像ストリームのセグメントの静止画と、切替先の映像ストリームのセグメントの静止画とを合成して生成した切替用セグメントを、切替先の映像ストリームのセグメントに置換してもよいし、切替先の映像ストリームのセグメントの前に挿入してもよい。
このように本実施形態においては、配信装置10は、複数の映像ストリームそれぞれに対応して設けられ、映像ストリームを分割したセグメントを処理するための情報を示すプレイリストを取得する取得部11と、再生装置20により参照され、再生装置での再生対象の映像ストリームを分割したセグメントを処理するための情報を示す参照用プレイリストを生成する生成部14と、生成部14により生成された参照用プレイリストを前記再生装置に配信する配信部15とを備える。生成部14は、再生装置20での再生対象の映像ストリームが切り替えられる場合、取得部11により取得された、切替先の映像ストリームに対応して予め設けられたプレイリストにより、参照用プレイリストを更新する。配信部15は、生成部14により更新された参照用プレイリストを再生装置20に配信する。
再生装置20は、再生対象の映像ストリームを切り替える場合にも、再生対象の映像ストリームの切り替えに応じて更新される参照用プレイリストだけを参照していればよく、参照するプレイリストを変更する必要が無い。したがって、再生対象の映像ストリームを切り替える場合に、プレイヤーを一旦終了させ、Webブラウザにより切替先の映像ストリームのプレイリストを再読み込みした後、再びプレイヤーを起動させるといった処理が不要となる。そのため、簡易な構成で、再生対象の映像ストリームのシームレスな切り替えが可能となる。
上述した配信装置10として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、配信装置10の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPU(Central Processing Unit)、GPU(Graphics Processing Unit)などによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
あるいは、配信装置10が行う各処理を実行するためのプログラムは記憶するメモリおよびメモリに記憶されたプログラムを実行するプロセッサによって構成され、配信装置10に搭載されるチップが提供されてもよい。
上述の実施形態は代表的な例として説明したが、本発明の趣旨および範囲内で、多くの変更および置換が可能であることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態の構成図に記載の複数の構成ブロックを1つに組み合わせたり、あるいは1つの構成ブロックを分割したりすることが可能である。
1 配信システム
10 配信装置
11 取得部
12 切替用セグメント生成部
13 受信部
14 生成部
15 配信部
20 再生装置
21 コントローラ
22 プレイヤー

Claims (6)

  1. 複数のセグメントに分割された複数の映像ストリームのいずれかを再生装置に配信する配信装置であって、
    前記複数の映像ストリームそれぞれに対応して設けられ、前記映像ストリームを分割したセグメントを処理するための情報を示すプレイリストを取得する取得部と、
    前記再生装置により参照され、前記再生装置での再生対象の映像ストリームを分割したセグメントを処理するための情報を示す参照用プレイリストを生成する生成部と、
    前記生成部により生成された参照用プレイリストを前記再生装置に配信する配信部と、
    前記再生装置での再生対象の映像ストリームが切り替えられる場合、切替元の映像ストリームのセグメントと、切替先の映像ストリームのセグメントとを用いて、切替用セグメントを生成する切替用セグメント生成部と、を備え、
    前記生成部は、前記再生装置での再生対象の映像ストリームが切り替えられる場合、前記切替用セグメント生成部により生成された前記切替用セグメントに基づき前記参照用プレイリストを更新し、前記切替用セグメントに基づく前記参照用プレイリストの更新後、前記取得部により取得された、切替先の映像ストリームに対応して予め設けられたプレイリストにより前記参照用プレイリストを更新し、
    前記配信部は、前記生成部により更新された参照用プレイリストを前記再生装置に配信することを特徴とする配信装置。
  2. 請求項に記載の配信装置において、
    前記切替用セグメント生成部は、前記切替元の映像ストリームのセグメントと、前記切替先の映像ストリームのセグメントとを合成して切替用セグメントを生成し、
    前記配信部は、前記切替用セグメント生成部により生成された切替用セグメントにより前記切替先の映像ストリームのセグメントが置換されるように前記参照用プレイリストを更新することを特徴とする配信装置。
  3. 請求項に記載の配信装置において、
    前記切替用セグメント生成部は、前記切替元の映像ストリームのセグメントの1フレーム分の静止画と、前記切替先の映像ストリームのセグメントの1フレーム分の静止画とに基づき切替用セグメントを生成し、
    前記配信部は、前記切替用セグメント生成部により生成された切替用セグメントが、前記切替元の映像ストリームのセグメントと、前記切替先の映像ストリームのセグメントの次のセグメントとの間に挿入されるように、前記参照用プレイリストを更新することを特徴とする配信装置。
  4. 請求項に記載の配信装置において、
    前記切替用セグメント生成部は、前記切替元の映像ストリームのセグメントの1フレーム分の静止画と、前記切替先の映像ストリームのセグメントの1フレーム分の静止画とに基づき切替用セグメントを生成し、
    前記配信部は、前記切替用セグメント生成部により生成された切替用セグメントにより前記切替先の映像ストリームのセグメントが置換されるように前記参照用プレイリストを更新することを特徴とする配信装置。
  5. 請求項からのいずれか一項に記載の配信装置において、
    前記切替用セグメント生成部は、前記複数の映像ストリーム間での切替が所定の順序で行われる場合、前記切替元の映像ストリームのセグメントと、前記切替元の映像ストリームから切替可能な1以上の映像ストリームのセグメントそれぞれとを用いて前記切替用セグメントを生成し、
    前記配信部は、前記切替元の映像ストリームから、前記切替元の映像ストリームから切替可能な映像ストリームのうちのいずれかの映像ストリームに切り替えられる場合、前記切替用セグメント生成部により生成された切替用セグメントのうち、前記切替元の映像ストリームのセグメントと、切替先の映像ストリームのセグメントとに基づき生成された切替用セグメントに基づき前記参照用プレイリストを更新することを特徴とする配信装置。
  6. コンピュータを、請求項1からのいずれか一項に記載の配信装置として機能させるためのプログラム。
JP2017025219A 2017-02-14 2017-02-14 配信装置およびプログラム Active JP6861046B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017025219A JP6861046B2 (ja) 2017-02-14 2017-02-14 配信装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017025219A JP6861046B2 (ja) 2017-02-14 2017-02-14 配信装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2018133664A JP2018133664A (ja) 2018-08-23
JP6861046B2 true JP6861046B2 (ja) 2021-04-21

Family

ID=63249833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017025219A Active JP6861046B2 (ja) 2017-02-14 2017-02-14 配信装置およびプログラム

Country Status (1)

Country Link
JP (1) JP6861046B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11924484B2 (en) * 2019-11-26 2024-03-05 Nippon Telegraph And Telephone Corporation System control apparatus and prototype manifest file acquisition method
CN112543342B (zh) 2020-11-26 2023-03-14 腾讯科技(深圳)有限公司 虚拟视频直播处理方法及装置、存储介质、电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002152590A (ja) * 2000-11-10 2002-05-24 Canon Inc 画像処理装置、画像処理システム、画像表示方法、及び記憶媒体
JP2007129515A (ja) * 2005-11-04 2007-05-24 Sharp Corp 映像表示制御装置
JP2008005429A (ja) * 2006-06-26 2008-01-10 Toshiba Corp デジタルテレビジョン放送受信装置およびデジタルテレビジョン放送受信方法
EP2280521A1 (en) * 2009-07-30 2011-02-02 Alcatel Lucent Method of switching media content for a mobile apparatus
JP6465541B2 (ja) * 2013-08-06 2019-02-06 キヤノン株式会社 通信装置、再生装置、及びその方法、並びにプログラム
EP3211904A4 (en) * 2014-10-20 2018-04-25 Sony Corporation Receiving device, transmitting device, and data processing method
JP2016213709A (ja) * 2015-05-11 2016-12-15 株式会社Nttドコモ 動画再生システム、クライアント装置、サーバ装置及びプログラム

Also Published As

Publication number Publication date
JP2018133664A (ja) 2018-08-23

Similar Documents

Publication Publication Date Title
JP6155305B2 (ja) ストリーミングデジタルコンテンツの同期再生システム及び方法
CA2976437C (en) Methods and apparatus for reducing latency shift in switching between distinct content streams
JP5481606B1 (ja) 画像生成システムおよび画像生成用プログラム
JP2004120440A (ja) サーバー装置及びクライアント装置
JP7177285B2 (ja) メディアデータを受信するための方法、装置、およびプログラム
JP2017163426A (ja) 広告配信サーバ、番組配信サーバ及び再生端末、並びに映像配信システム
US11373380B1 (en) Co-viewing in virtual and augmented reality environments
JP2009284055A (ja) プログラム、情報記憶媒体及び動画配信システム
JP6861046B2 (ja) 配信装置およびプログラム
JP2016134701A (ja) 映像再生制御プログラム、映像再生制御方法、映像配信サーバ、送信プログラム、及び送信方法
JP6342526B2 (ja) 生中継データを共有する方法およびシステム
JP2022042997A (ja) リアルタイムライブストリーミングで遅延を最小化するための方法、サーバ、およびコンピュータ読み取り可能な記録媒体
US20230217047A1 (en) Method, system, and computer-readable recording medium for implementing fast-switching mode between channels in multi-live transmission environment
KR20180059285A (ko) 가상현실 영상을 제공하는 미디어 재생 장치 및 영상 제공 서버
JP6513054B2 (ja) コンテンツ配信システムのクライアント装置、コンテンツの取得方法及びプログラム
JP2004104704A (ja) 映像再生装置、映像再生方法、プログラム
JP2016134702A (ja) 映像データファイル生成プログラム、映像データファイル生成方法、及び映像データファイル生成装置
JP2019075604A (ja) 情報処理装置、動画配信方法、及び動画配信プログラム
JP7365212B2 (ja) 動画再生装置、動画再生システム、および動画再生方法
JP7014956B2 (ja) 情報処理システム、情報処理方法、及びプログラム
JP2021082882A (ja) 情報処理プログラム、情報処理方法および情報処理装置
JP2019075606A (ja) 情報処理端末、動画再生同期方法、及び動画再生同期プログラム
CN104717545A (zh) 一种视频播放方法及装置
JP6970143B2 (ja) 配信サーバ、配信方法及びプログラム
JP2019036787A (ja) 情報処理装置、動画配信方法、及び動画配信プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201211

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: 20210302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210329

R150 Certificate of patent or registration of utility model

Ref document number: 6861046

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250