(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
[第1の実施形態]
〔動画配信システムの概要〕
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
まず、本実施形態に係る動画配信システム1の概要について説明する。
本実施形態に係る動画配信システム1は、HTTPを用いて動画の配信を行うシステムである。HTTPを用いた動画配信方式には、HLS(HTTP Live Streaming)等のいくつかの方式があるが、一例として、MPEG−DASHを用いて動画が配信される場合について説明する。動画配信システム1では、動画配信装置30から配信される動画が、動画再生装置10により表示される。ユーザは、動画再生装置10を操作し、表示される動画を視聴する。以下では、ユーザとは、動画再生装置10のユーザである場合について説明する。
【0015】
本実施形態に係る動画再生装置10は、例えば、テレビ、パーソナルコンピュータ、携帯電話、タブレット、スマートフォン、PHS(Personal Handy-phone System)端末装置、又はPDA(Personal Digital Assistant)等の表示部を備えた電子機器である。動画再生装置10は、動画プレーヤアプリケーションを備えており、MPEG−DASH形式で配信される動画を表示することができる。この動画プレーヤアプリケーションは、OSのネイティブアプリケーション等の任意の形態で実装されてよい。ここでは一例として、動画プレーヤアプリケーションがWebアプリとして実装される場合について説明する。このWebアプリは、例えば、HTML5に対応したWebブラウザアプリケーションにおいて動作し、JavaScript(登録商標)により記述される。また、以下では、一例として、動画再生装置10がパーソナルコンピュータである場合について説明する。
【0016】
図1は、本実施形態に係る動画再生装置10による動画の切り替えの概要を示す模式図である。
図1には、3種類の動画V10、V20、V31〜V34が示されている。
動画V10は、4K(例えば、3840×2160px)の解像度の動画である。
動画V20は、動画V10を2K(例えば、1920×1080px)の解像度にダウンコンバートした動画である。
動画V31〜V34は、動画V10を横方向の中央線と縦方向の中央線とにより4分割し、切り出した動画である。従って、動画V31〜V34の解像度は、2Kである。
【0017】
動画再生装置10は、
図1に示す動画のうち、2Kの解像度の動画V20、V31〜V34のいずれかを表示する。そして、動画再生装置10は、ユーザの操作に応じて、表示する動画を切り替える。具体的には、動画再生装置10は、動画V20を表示しているときに、動画V20を、その横方向の中央線LHと縦方向の中央線LVとにより仮想的に4分割した領域のうち、左上の領域を指定する操作をユーザから受け付けると、該左上の領域に対応する動画V31に表示を切り替える。同様に、動画再生装置10は、動画V20の横方向の中央線LHと縦方向の中央線LVとによる仮想的な分割領域のうち、右上、左下、右下をそれぞれ指定する操作に応じて、指定された領域を拡大した動画V32、V33、V34にそれぞれ表示を切り替える。また、動画再生装置10は、動画V31〜V34を表示中に、その表示領域のいずれかを指定する操作を受け付けた場合、動画V31〜V34の分割前の全体を表す動画V20に表示を切り替える。
【0018】
動画V20と動画V31〜V34とは、それぞれ、2Kの解像度である。従って、動画再生装置10は、上述した動画の切り替えにより、解像度を変えることなく動画の拡大と縮小とを行うことができる。また、拡大動画の提供において、動画再生装置10は、4Kの解像度の動画V10ではなく、ユーザが選択した領域に対応する動画V31〜V34のいずれかを高解像で提供する。従って、動画再生装置10は、ネットワークN及び動画配信装置30への負荷を低減することができる。
以下では、表示部に表示される動画を切り替える処理を切替処理と称する。また、以下では、ユーザによる動画の切り替えを指示する操作を切替操作と称する。ここでは、一例として、上述した切替操作により切り替え先の動画を指定する場合について説明する。
【0019】
ここで、動画V20と動画V31〜34とは、それぞれ、同一の動画V10をダウンコンバート又は分割して得られる画像であるため、動画の時間長は同一である。そこで、動画再生装置10は、動画を切り替えるときに、再生時刻がずれないように同期を取ってから表示を切り替える。ここで、「再生時刻」とは、動画内における再生の時間位置をいう。より具体的には、再生時刻とは、動画の時間長に対する再生位置をいう。また、「同期」とは、複数の動画の再生時刻を揃えることである。
【0020】
ここで、動画再生装置10による切替処理の概要について説明する。
まず、動画再生装置10は、同一の時間長を有する動画V20と動画V31とを再生する。ここで、再生とは、フォアグラウンドにおける再生と、バックグラウンドにおける再生とを含む。フォアグラウンドにおける再生では、動画が表示部に表示される。これに対して、バックグラウンドにおける再生では、動画は表示部に表示されない。フォアグラウンドとバックグラウンドとは、随時入れ替えることができる。上述した例では、切り替え元の動画V10がフォアグラウンドで再生・表示され、切り替え先の動画V31がバックグラウンドで再生される。
【0021】
次に、動画再生装置10は、動画V20の再生時刻と、動画V31の再生時刻との時間差に基づいて、表示部に表示する動画を動画V20から動画V31に切り替える。具体的には、動画V20の再生時刻と動画V31の再生時刻との時間差が所定値未満になった場合に、バックグラウンドで再生していた動画V31をフォアグラウンドでの再生に切り替える。これにより、動画再生装置10は、複数の動画を高い同期精度を担保しながら切り替えることができる。
以下では、切替処理前に表示部に表示されている第1動画を切替元動画と称する。また、切替処理後に表示部に表示される第2動画を切替後動画と称する。
【0022】
〔動画配信システムの構成〕
次に、動画配信システム1の構成について説明する。
図2は、本実施形態に係る動画配信システム1の全体構成を示す模式図である。
本実施形態に係る動画配信システム1は、1以上の動画再生装置10−1、10−2、10−3、…と、動画配信装置30とを備える。以下では、動画再生装置10−1、10−2、10−3、…を動画再生装置10と総称する。動画再生装置10と、動画配信装置30とは、それぞれ、ネットワークNに接続され、互いに情報を送受信することができる。
【0023】
ネットワークNは、WAN(Wide Area Network)及びLAN(Local Area Network)等によって構成される情報通信ネットワークである。WANは、例えば、携帯電話網、PHS網、PSTN(Public Switched Telephone Network;公衆交換電話網)、専用通信回線網、VPN(Virtual Private Network)等の1つ以上の組み合わせによって構成される。
【0024】
動画配信装置30は、MPDファイルと、動画ファイルとを管理する装置である。MPDファイルと動画ファイルとは、別体の装置により管理されてもよいが、ここでは、一例として、MPDファイルと動画ファイルとが一体の装置である動画配信装置30により管理される場合について説明する。
【0025】
ここで、MPDファイルの構成について説明する。
図3は、本実施形態に係るMPDファイルの構成を示す図である。
本実施形態に係るMPDファイルには、XML(Extensible Markup Language)形式の階層構造で、メディアファイル情報が記述される。MPDファイルは、1つ以上のPeriod要素を有する。
Period要素とは、動画を時間で区分したものである。動画の再生は、各Period要素に記述される開始時間の順に行われる。Period要素は、1つ以上のAdaptationSet要素を有する。
AdaptationSet要素には、映像・音声・字幕などの符号化関連情報が記述される。AdaptationSet要素は、1つ以上のRepresentation要素を有する。
【0026】
Representaion要素には、映像・音声のビットレートや解像度、アスペクト比などの情報が記述される。また、Representaion要素には、メディアを最小単位に分割したセグメントに関するセグメント情報が記述される。Segment情報には、例えば、セグメントの取得先のURL(Uniform Resource Locator)が含まれている。動画再生装置10は、MPDファイルを解析し、セグメント単位で動画ファイルを取得する。そして、動画再生装置10は、取得した動画ファイルを順に再生する。
【0027】
〔動画再生装置の構成〕
次に、動画再生装置10の構成について説明する。
図4は、本実施形態に係る動画再生装置10の概略機能構成を示すブロック図である。
本実施形態に係る動画配信装置30は、入力部110と、通信部120と、表示部130と、音声出力部140と、記憶部150と、制御部160と、を備える。
【0028】
入力部110は、マウス、タッチパッド等のポインティングデバイス、キーボード、タッチパネル、テレビリモコン等の入力装置を備え、ユーザによる操作を検出する。入力部110は、検出した操作の内容を表す情報を制御部160に出力する。入力部110が受け付ける操作には、例えば、表示開始操作と、切替操作とがある。表示開始操作とは、新規の動画の表示開始を指示する操作である。切替操作とは、上述したように既に表示されている動画から別の動画への切り替えを指示する操作である。表示開始操作を受け付けた場合、入力部110は、表示開始操作に対応する表示開始要求を制御部160に出力する。また、切替操作を受け付けた場合、入力部110は、切替操作に対応する切替要求を制御部160に出力する。切替要求には、切替先動画を特定するための情報が含まれる。ここでは、切替操作の一例として、ポインティングデバイスにより、表示部130が表示する動画内の領域を指定する操作を受け付ける場合について説明する。この場合、入力部110は、切替先動画を特定するための情報として、ユーザにより指定された座標を制御部160に通知する。
【0029】
通信部120は、通信用インターフェースを備え、ネットワークNに接続する。通信部120は、ネットワークNに接続された動画配信装置30等の外部装置と通信する。
表示部130は、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等の表示装置を備える。表示部130は、動画配信装置30から配信された動画を表示する。
音声出力部140は、スピーカを備える。音声出力部140は、動画配信装置30から配信された動画の音声を再生する。
【0030】
記憶部150は、ROM(Read Only Memory)、RAM(Random Access Memory)等を備える。また、記憶部150は、HDD(Hard Disc Drive)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュメモリ等を備えてもよい。記憶部150は、動画再生装置10が備えるCPU(Central Processing Unit)が実行するための各種プログラムやCPUが実行した処理の結果などを記憶する。
【0031】
また、記憶部150は、Webブラウザアプリケーションプログラムを記憶するWebブラウザ記憶部151を備える。Webブラウザアプリケーションプログラムには、XMLパーサが組み込まれている。また、Webブラウザアプリケーションプログラムは、該プログラム上で動作するWebアプリに対して動画取得、再生に係る各種API(Application Programming Interface)を提供する。
【0032】
また、記憶部150は、Webアプリを記憶するWebアプリ記憶部152を備える。
Webアプリは、Webブラウザアプリケーションプログラムにおいて動作する。Webアプリは、例えば、動画配信装置30から取得されるHTML5ファイルであり、その動作アルゴリズムはJavaScript(登録商標)により記述される。このHTML5ファイルには、切替元動画に対応するvideo要素と、切替先動画に対応するvideo要素とがそれぞれ記述されている。また、このHTML5ファイルには、各video要素に対して再生すべき切替元動画又は切替先動画のMPDファイルの割当てが記述されている。また、このHTML5ファイルには、切替元動画と切替先動画との取得先を示すURLが記述されている。また、このHTML5ファイルには、切替元動画と切替先動画との操作に応じた対応関係が記述されている。対応関係とは、例えば、切替元動画の表示時における切替操作(
図1の動画V20の仮想4分割領域のいずれかの指定)と、切替操作に応じて表示される切替先動画(
図1の動画V31〜V34)との関係である。本実施形態では、動画の拡大操作に対応する切替処理について、切替元動画の仮想的な分割領域と、切替先動画との関係が記述されている。また、動画の縮小操作に対応する切替処理の場合は、切替元動画に対応する切替先動画が記述されている。
【0033】
制御部160は、動画再生装置10が備える各種構成を制御する。
制御部160は、動画再生部161と、動画決定部162と、MPD取得部163と、動画取得部164と、切替制御部165と、を備える。動画再生部161と、動画決定部162と、MPD取得部163と、動画取得部164と、切替制御部165とは、例えば、動画再生装置10が備えるCPUがWebアプリを実行することにより動作する。
【0034】
動画再生部161は、動画取得部164から取得する動画ファイルに基づいて動画を再生する。動画再生部161は、フォアグラウンドとバックグラウンドとで動画を再生することができる。フォアグラウンドで再生する動画は、例えば、CSS(Cascading Style Sheets)において、その動画のvideo要素のvisiblityの値が「visible」に設定されている。この場合、動画再生部161は、動画ファイルに含まれる画像データと音声データを再生時刻の経過に応じて順次読み出す。そして、読み出した画像データを表示部130に出力し、動画を表示させる。また、動画再生部161は、読み出した音声データを音声出力部140に出力し、音声を出力させる。また、バックグラウンドで再生する動画は、CSSにおいて、その動画のvideo要素のvisiblityの値が「hidden」に設定されている。この場合、動画再生部161は、フォアグラウンド再生と同様に、動画ファイルに含まれる画像データと音声データを、再生時刻の経過に応じて順次読み出す。ただし、読み出した画像データの表示部130への出力と、音声データの音声出力部140への出力は行わない。
【0035】
動画再生部161は、切替制御部165にから取得する再生要求に応じて、動画の再生を行う。この再生要求では再生時刻が指定されており、動画再生部161は、指定された再生時刻から動画の再生を行う。動画再生部161は、動画の再生を開始すると、再生の開始を切替制御部165に通知する。具体的には、動画再生部161は、例えば、Playingイベントの発生を通知する。切替制御部165は、この通知を受け取ることで、再生要求した動画の再生が実際に行われたことを確認することができる。
【0036】
動画決定部162は、入力部110から動画の表示要求を受け付けると、表示が指示された動画をMPD取得部163に通知する。また、動画決定部162は、入力部110から動画の切替要求を受け付けると、切替先動画を特定し、MPD取得部163に通知する。
MPD取得部163は、動画決定部162から通知された動画についてのMPDファイルを、通信部120を介して、動画配信装置30から取得する。MPD取得部163は、取得したMPDファイルを動画取得部164に出力する。
【0037】
動画取得部164は、MPD取得部163から取得したMPDファイルを解析し、動画の取得先を特定する。動画取得部164は、特定結果に基づき、通信部120を介して、動画配信装置30から動画ファイルを取得する。ここで、動画取得部164は、任意の再生時刻に対応する動画ファイルを取得することができる。入力部110が受け付けた操作が動画の表示開始要求である場合、動画取得部164は、例えば、動画の先頭の再生時刻に対応する動画ファイルを取得する。また、入力部110が受け付けた操作が動画の切替要求である場合、動画取得部164は、例えば、フォアグラウンドで再生されている動画、すなわち切替元動画の再生時刻に対応する切替先動画の動画ファイルを取得する。動画取得部164は、取得した動画ファイルを動画再生部161に出力する。
【0038】
切替制御部165は、動画再生部161が再生する動画の切替処理を実行する。
入力部110が受け付けた操作が動画の表示開始要求である場合、切替制御部165は、動画の再生要求を動画再生部161に出力し、動画をフォアグラウンドで再生させる。具体的には、例えば、CSSにおいて、フォアグラウンド再生する動画のvideo要素のvisiblityの値を「visible」に設定する。
【0039】
入力部110が受け付けた操作が動画の切替要求である場合、すなわち、表示を切替先動画に切り替える指示を受けた場合、切替制御部165は、切替処理を実行する。切替処理の開始時点、すなわち切替先動画の動画ファイルを取得した時点において、動画再生部161は、切替元動画をフォアグラウンドで再生している。これと同時に、動画取得部164は、切替先動画の再生要求を動画再生部161に出力し、切替先動画をバックグラウンドで再生させる。具体的には、例えば、CSSにおいて、バックグラウンド再生する動画のvideo要素のvisiblityの値を「hidden」に設定する。切替制御部165は、切替元動画の再生時刻と切替後動画の再生時刻との時間差が所定範囲内であるか否かを判定する。
【0040】
切替元動画の再生時刻と切替後動画の再生時刻との時間差が所定範囲内である場合、切替制御部165は、表示する動画を切替元動画から切替先動画へと切り替える。具体的には、切替制御部165は、動画再生部161に切替先動画をフォアグラウンドで再生させるとともに、切替元動画をバックグラウンドで再生させる。その後、切替制御部165は、動画再生部161に切替元動画の再生を停止させる。また、切替制御部165は、動画取得部164に切替元動画の取得を停止させる。
また、切替元動画の再生時刻と切替後動画の再生時刻との時間差が所定範囲内でない場合、切替制御部165は、切替先動画の再生時刻を補正する。そして、切替制御部165は、補正後の再生時刻からの切替先動画を再生要求を、動画再生部161に出力する。そして、切替制御部165は、切替元動画の再生時刻と切替先動画の再生時刻との時間差が所定範囲内であるか否かの判定を行う。
【0041】
切替制御部165による再生時刻の補正について説明する。ここでは、一例として、切替制御部165が動画再生部161に対して切替先動画の再生要求を行ってから、動画再生部161が再生を開始するまでの時間差に基づいて、切替先動画の再生時刻を補正する場合について説明する。
まず、切替制御部165は、切替先動画の再生要求を動画再生部161に出力すると、その再生要求出力時刻を記録する。次に、切替制御部165は、再生要求に応じた再生開始の通知を動画再生部161から取得すると、その再生開始時刻を記録する。再生要求出力時刻と再生開始時刻とは、世界時間等の時間尺度における時刻であり、動画内の時刻とは異なる。次に、切替制御部165は、再生要求出力時刻と再生開始時刻との時間差(以下、「再生タイムラグ」と称する。)を算出する。そして、切替制御部165は、切替元動画の再生時刻と切替後動画の再生時刻との時間差が所定範囲内でない場合、切替先動画の再生時刻に再生タイムラグを加算する。これにより、動画再生部161は、切替先動画の再生時刻を補正する。
【0042】
〔動画配信システムの動作〕
次に、動画配信システム1の動作について説明する。
図5は、本実施形態に係る動画配信システム1による処理の流れを示すシーケンスチャートである。
図5に示す処理は、動画再生装置10が、ユーザから表示開始操作を受け付ける場合における処理の流れを示す。
【0043】
(ステップS100)動画再生装置10は、動画(第1動画)の表示開始操作を受け付ける。その後、動画配信システム1は、ステップS102に処理を進める。
(ステップS102)動画再生装置10は、第1動画のMPDファイル取得要求を動画配信装置30に送信する。その後、動画配信システム1は、ステップS104に処理を進める。
(ステップS104)動画配信装置30は、動画再生装置10から要求されたMPDファイルを動画再生装置10に送信する。その後、動画配信システム1は、ステップS106に処理を進める。
【0044】
(ステップS106)動画再生装置10は、MPDファイルを取得し、取得したMPDファイルの内容を解釈する。その後、動画配信システム1は、ステップS108に処理を進める。
(ステップS108)動画再生装置10は、MPDファイルの内容に基づいて、第1動画の動画ファイル取得要求を動画配信装置30に送信する。その後、動画配信システム1は、ステップS110に処理を進める。
【0045】
(ステップS110)動画配信装置30は、動画再生装置10から要求された第1動画の動画ファイルを動画再生装置10に送信する。その後、動画配信システム1は、ステップS112に処理を進める。なお、ステップS108、S110の処理は、第1動画の全ての動画ファイルが取得されるまで、又は、第2動画への切替処理が完了するまでの間、繰り返し実行される。
(ステップS112)動画再生装置10は、第1動画の動画ファイルを取得し、取得した動画ファイルに基づいて第1動画をフォアグラウンドで再生する。そして、動画配信システム1は、
図5に示す処理を終了する。
【0046】
図6は、本実施形態に係る動画配信システム1による切替処理の流れを示すシーケンスチャートである。
図6に示す処理は、動画再生装置10が、ユーザから切替操作を受け付ける場合における処理の流れを示す。
【0047】
(ステップS200)動画再生装置10は、ユーザから動画の切替操作を受け付ける。具体的には、例えば、動画再生装置10は、第1動画の表示領域の任意の位置を選択する操作を受け付ける。その後、動画配信システム1は、ステップS202に処理を進める。
(ステップS202)動画再生装置10は、ユーザから受け付けた切替操作に応じて切替先動画(第2動画)を決定する。その後、動画配信システム1は、ステップS204に処理を進める。
(ステップS204)動画再生装置10は、第2動画のMPDファイル取得要求を動画配信装置30に送信する。その後、動画配信システム1は、ステップS206に処理を進める。
【0048】
(ステップS206)動画配信装置30は、動画再生装置10から要求されたMPDファイルを動画再生装置10に送信する、その後、動画配信システム1は、ステップS208に処理を進める。
(ステップS208)動画再生装置10は、MPDファイルを取得し、取得したMPDファイルの内容を解釈する。その後、動画配信システム1は、ステップS210に処理を進める。
【0049】
(ステップS210)動画再生装置10は、MPDファイルの内容に基づいて、第2動画の動画ファイル取得要求を動画配信装置30に送信する。その後、動画配信システム1は、ステップS212に処理を進める。
(ステップS212)動画配信装置30は、動画再生装置10から要求された第2動画の動画ファイルを動画再生装置10に送信する。その後、動画配信システム1は、ステップS214に処理を進める。なお、ステップS210、S212の処理は、第2動画の全ての動画ファイルが取得されるまで、又は、第2動画とは異なる他の動画への第2動画からの切替処理が完了するまでの間、繰り返し実行される。
【0050】
(ステップS214)動画再生装置10は、第2動画の動画ファイルを取得する。その後、動画配信システム1は、ステップS216に処理を進める。
(ステップS216)動画再生装置10は、第1動画と第2動画との同期処理を実行する。同期処理が完了するまでの間、動画再生装置10は、第1動画をフォアグラウンドで再生し、第2動画をバックグラウンドで再生する。その後、動画配信システム1は、ステップS218に処理を進める。
【0051】
(ステップS218)動画再生装置10は、第1動画から第2動画へ表示を切り替える。具体的には、第2動画をフォアグラウンドで再生し、第1動画をバックグラウンドで再生する。その後、動画配信システム1は、ステップS220に処理を進める。
(ステップS220)動画再生装置10は、第1動画の再生を停止する。また、動画再生装置10は、第1動画の動画ファイルの取得を停止する。そして、動画配信システム1は、
図6に示す処理を終了する。
【0052】
図7は、本実施形態に係る動画再生装置10による同期処理の流れを示すフローチャートである。
図7に示す処理は、
図6のステップS130の処理に相当する。
(ステップS300)制御部160の切替制御部165は、第2動画の再生時刻を初期値に設定する。具体的には、動画再生装置10は、例えば、第1動画の再生時刻と同一の再生時刻を第2動画の再生時刻として設定する。その後、制御部160は、ステップS302に処理を進める。
【0053】
(ステップS302)切替制御部165は、設定された再生時刻から第2動画をバックグラウンドで再生させる再生要求を制御部160の動画再生部161に出力する。その後、制御部160は、ステップS304に処理を進める。
(ステップS304)切替制御部165は、再生要求を出力した再生要求出力時刻(Ta)を取得し、記録する。その後、制御部160は、ステップS306に処理を進める。
(ステップS306)切替制御部165は、第2動画の再生が開始されたか否かを判定する。具体的には、切替制御部165は、動画再生部161からPlayingイベントの発生が通知されたか否かを判定する。第2動画の再生が開始された場合(ステップS306;YES)、制御部160は、ステップS308に処理を進める。また、第2動画の再生が開始されていない場合(ステップS306;NO)、制御部160は、ステップS306の処理を繰り返す。
【0054】
(ステップS308)切替制御部165は、再生開始時刻(Tb)を取得し、記録する。具体的には、切替制御部165は、動画再生部161からPlayingイベントの発生が通知された時刻を取得する。その後、制御部160は、ステップS310に処理を進める。
(ステップS310)切替制御部165は、再生要求を行ってから再生開始までの時間差、すなわち再生タイムラグ(Tb−Ta)を算出する。その後、制御部160は、ステップS312に処理を進める。
【0055】
(ステップS312)切替制御部165は、第1動画の再生時刻(Tm)を取得する。具体的には、切替制御部165は、例えば、第1動画のビデオ要素におけるvideo.currentTimeの値を取得する。その後、制御部160は、ステップS314に処理を進める。
(ステップS314)切替制御部165は、第2動画の再生時刻(Tn)を取得する。具体的には、切替制御部165は、例えば、第2動画のビデオ要素におけるvideo.currentTimeの値を取得する。その後、制御部160は、ステップS316に処理を進める。
【0056】
(ステップS316)切替制御部165は、第1動画の再生時刻と第2動画の再生時刻との時間差の絶対値(|Tm−Tn|)が同期精度閾値(α)未満か否かを判定する。再生時刻の時間差の絶対値が同期精度閾値未満である場合(|Tm−Tn|<α)、制御部160は、
図7に示す処理を終了する。また、再生時刻の時間差の絶対値が同期精度閾値以上である場合(|Tm−Tn|≧α)、制御部160は、ステップS318に処理を進める。
(ステップS318)切替制御部165は、第2動画の再生時刻を補正する。具体的には、切替制御部165は、第2動画の再生時刻として、現在の再生時刻(Tn)に再生タイムラグ(Tb−Ta)を加算した時刻を設定する。その後、制御部160は、ステップS302に処理を戻す。
【0057】
〔第1の実施形態のまとめ〕
以上説明したように、本実施形態に係る第1動画(例えば、切替元動画)及び第2動画(例えば、切替先動画)を再生する動画再生部161と、第1動画の表示から第2動画の表示に切り替える指示を受けると、第2動画の再生を開始するよう動画再生部161を制御するとともに、第1動画の再生と第2動画の再生とが同期するよう動画再生部161を制御し、第1動画の再生と第2動画の再生とが同期した後に、動画再生部161から表示出力させる動画を第1動画から第2動画に切り替える切替制御部165と、を備える。
【0058】
ここで、本実施形態に係る動画再生装置10との対比として、従来技術を用いて、同期精度を担保しつつ、動画の切り替えを行う場合の処理について説明する。
従来、MPDファイルにおいて、複数の動画の配信順序や時間などの編成を予め記述しておくことで、これらの複数の動画を連続再生することができる。ユーザの操作に応じたインタラクティブな動画の切り替えを提供する場合、ユーザの操作が発生するタイミングも、切替先の動画もわからない。従って、この技術によりユーザの操作に応じたインタラクティブな動画の切り替えを提供するには、切替操作の発生タイミング、切替先等のあらゆる切り替えパターンを想定し、これらあらゆるパターンに対応するMPDファイルを予め用意しておかなくてはならない。このようなあらゆる切り替えパターンに対応するMPDファイルを用意することは現実的には困難であった。
【0059】
これに対して、動画再生装置10は、第1動画と第2動画の2つの動画を再生しながら、その再生時刻の時間差に基づいて、表示部に表示させる動画を選択する。従って、動画再生装置10は、同期精度を担保しながら動画を切り替えることができる。
【0060】
また、切替制御部165は、動画再生部161に対して第2動画の再生を指示してから、動画再生部161が第2動画の再生を開始するまでの時間差に基づいて、動画再生部161における同期を制御する。
【0061】
再生要求を行ってから実際に再生が開始されるまでのタイムラグは、例えば、動画再生装置10が備えるコンピュータシステムの性能、処理状況等に依存している。従って、動画再生装置10は、このタイムラグに基づいて再生時刻を補正することにより、動画再生装置10ごとに異なる要因で発生する再生時刻のずれを適正に補正し、第1動画の再生時刻と第2動画の再生時刻とを揃えることができる。また、これにより、例えば、固定時間長で再生時刻を補正する場合に比して、相対的に少ない処理で第1動画の再生時刻と第2動画の再生時刻とを揃えることができる。
【0062】
また、動画再生装置10は、外部からの入力に基づいて第2動画を決定する動画決定部162をさらに備える。
【0063】
これにより、動画再生装置10は、ユーザの指示に基づき、同期精度を担保しながら、複数の動画を切り替えることができる。
【0064】
また、第2動画は、第1動画の表示領域の一部を拡大した動画であり、動画決定部162は、表示出力されている第1動画の表示領域内を選択する入力に基づいて、第2動画を決定する。
【0065】
これにより、ユーザは、動画の表示領域を選択するという直観的な操作により、選択した領域を拡大した動画を表示させることができる。
【0066】
なお、切替先動画の選択方法は、上述した態様に限定されない。具体的には、動画再生装置10は、例えば、表示部130に表示された動画のリスト等から切替先動画をポインティングデバイスにより選択可能としてもよい。また、キーボードのキーに切替先動画を割当ててもよい。
【0067】
なお、第1動画と第2動画とは、上述した態様に限定されない。具体的には、例えば、第1動画と、第2動画とは、異なる解像度の動画であってもよい。また、例えば、第1動画と第2動画とは、その内容が異なっていてもよい。具体的には、例えば、第1動画と、第2動画とは、複数の異なる視点から撮像された動画であり、いわゆるマルチビュー番組を構成する動画であってもよい。また、例えば、第1動画と第2動画とは、時間長が互いに異なる動画であってもよい。
【0068】
また、上述の動画再生装置10の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより動画再生装置10としての処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0069】
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。
【0070】
配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0071】
また、上述した実施形態における動画再生装置10の一部、又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。動画再生装置10の各機能部は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0072】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。