(57)【要約】【課題】再生可能な時刻が異なる複数の動画コンテンツを連続的に再生するための技術を提供する。【解決手段】データベース部１０７は、リニア型、及びノンリニア型のサービスに対応する動画セグメントを同一の時間軸上に記録する。クライアント装置２０は、データベース部１０７から取得した動画セグメントを再生するためのプレイリストを記憶する。再生プログラム送信部１１８は、クライアント装置２０から、再生位置を指定した再生プログラムの送信リクエストが受信されると、時間軸上の当該再生位置を含む所定の期間内に配置された動画セグメントを再生するための再生プログラムを送信する。クライアント装置は、再生プログラムに基づいてプレイリストを更新して、当該プレイリストに従って動画セグメントを再生する。【選択図】図２
2016213709.tif 000002
【特許請求の範囲】
【請求項１】
特定時刻に再生する第１の動画コンテンツを構成する動画セグメントと、特定時刻以外にも再生する第２の動画コンテンツを構成する動画セグメントとを同一の時間軸上に記録したデータベース部と、
前記データベース部を用いて動画セグメントを再生するクライアント装置と
を備えた動画再生システムであって、
前記クライアント装置は、
前記時間軸上の位置を指示する操作を受け付ける受付部と、
受け付けられた前記操作に基づいて、指示された前記時間軸上の位置に従って前記データベース部から再生可能な時刻の動画セグメントを取得し、当該取得した動画セグメントを再生する動画再生部と
を有する動画再生システム。
【請求項２】
同一の時間軸上に記録された複数の動画セグメントを再生するためのプレイリストの更新に用いられるプログラムを、前記クライアント装置に配信するサーバ装置を更に備え、
前記サーバ装置は、
前記クライアント装置から、前記位置を指定した前記プログラムの送信リクエストを受信するリクエスト受信部と、
受信された前記送信リクエストに基づいて、前記時間軸上の前記位置を含む所定の期間内に配列した動画セグメントを再生するための前記プログラムを送信するプログラム送信部と
を有し、
前記クライアント装置は、
前記操作に基づいて、前記送信リクエストを前記サーバ装置へ送信するリクエスト送信部と、
前記プログラム送信部により送信された前記プログラムを受信するプログラム受信部と、
受信された前記プログラムに基づいて、前記期間内に配列した動画セグメントを列挙した前記プレイリストに更新するプレイリスト更新部と
を有し、
前記動画再生部が、
前記プレイリストに従って前記データベース部から再生可能な時刻の動画セグメントを取得し、当該取得した動画セグメントを再生する
ことを特徴とする請求項１に記載の動画再生システム。
【請求項３】
前記プログラム送信部は、
前記第２の動画コンテンツを構成する動画セグメントの少なくとも一部を、前記クライアント装置に応じた動画セグメントとして送信する
ことを特徴とする請求項２に記載の動画再生システム。
【請求項４】
前記プレイリスト更新部は、
一の前記期間に対応する前記プログラムに基づいて前記プレイリストを更新した後、当該期間内で前記位置を変更する前記操作が受け付けられた場合には、新たな前記プログラムを用いないで前記プレイリストを更新する
ことを特徴とする請求項２又は請求項３に記載の動画再生システム。
【請求項５】
前記プログラム送信部は、
前記位置を変更する前記操作の履歴に応じて前記期間を異ならせる
ことを特徴とする請求項２から請求項４のいずれか１項に記載の動画再生システム。
【請求項６】
特定時刻に再生する第１の動画コンテンツを構成する動画セグメントと、特定時刻以外にも再生する第２の動画コンテンツを構成する動画セグメントとを同一の時間軸上に記録したデータベース部を用いて動画セグメントを再生する場合に、前記時間軸上の位置を指示する操作を受け付ける受付部と、
受け付けられた前記操作に基づいて、指示された前記時間軸上の位置に従って前記データベース部から再生可能な時刻の動画セグメントを取得し、当該取得した動画セグメントを再生する動画再生部と
を備えるクライアント装置。
【請求項７】
同一の時間軸上に記録された複数の動画セグメントを再生するためのプレイリストの更新に用いられるプログラムを、請求項６に記載のクライアント装置に配信するサーバ装置であって、
前記クライアント装置から、前記位置を指定した前記プログラムの送信リクエストを受信するリクエスト受信部と、
受信された前記送信リクエストに基づいて、前記時間軸上の前記位置を含む所定の期間内に配列した動画セグメントを再生するための前記プログラムを送信するプログラム送信部と
を備えるサーバ装置。
【請求項８】
クライアント装置のコンピュータに、
特定時刻に再生する第１の動画コンテンツを構成する動画セグメントと、特定時刻以外にも再生する第２の動画コンテンツを構成する動画セグメントとを同一の時間軸上に記録したデータベース部を用いて動画セグメントを再生する場合に、前記時間軸上の位置を指示する操作を受け付けるステップと、
受け付けられた前記操作に基づいて、指示された前記時間軸上の位置に従って前記データベース部から再生可能な時刻の動画セグメントを取得し、当該取得した動画セグメントを再生するステップと
を実行させるためのプログラム。
【請求項９】
同一の時間軸上に記録された複数の動画セグメントを再生するためのプレイリストの更新に用いられるプログラムを、請求項６に記載のクライアント装置に配信するサーバ装置のコンピュータに、
前記クライアント装置から、前記位置を指定した前記プログラムの送信リクエストを受信するステップと、
受信した前記送信リクエストに基づいて、前記時間軸上の前記位置を含む所定の期間内に配列した動画セグメントを再生するための前記プログラムを送信するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再生可能な時刻が異なる複数の動画コンテンツを再生する技術に関する。
【背景技術】
【０００２】
ネットワークを介した動画配信サービスが広く提供されている。この動画配信サービスにおいて、クライアント装置のユーザに視聴させる動画をサーバ側で制御する技術が、特許文献１，２に開示されている。特許文献１には、配信サーバが、各動画番組ファイルに関連付けられた、動画番組ファイルの広告挿入時間又は広告挿入フレーム、及び再生されるべき動画広告ファイルを規定した管理プログラムをユーザ端末に配信することが記載されている。ユーザ端末は、管理プログラムに基づいて、広告挿入時間又は広告挿入フレーム、及び動画広告ファイルを認識し、動画番組ファイルや動画広告ファイルを再生する。
【０００３】
特許文献２には、情報提供用のＷｅｂサーバが、複数のＶＯＤ（Video On Demand）サーバの映像転送を制御するスクリプトをメニュー画面に付随させた状態で提供することが記載されている。また、特許文献２には、ユーザのメニュー画面の操作により選択されたスクリプトを用いて、再生する映像を指定、変更できることが記載されている。このスクリプトには、サーバ名、ファイル名、映像の開始点、映像の終了店等の情報が記述されており、特許文献２に記載の技術によれば、複数のＶＯＤサーバを連携させて、連続した映像提供が可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２４４６７７号公報
【特許文献２】特開平１０−１３６３３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
動画配信サービスには、番組表に従って動画コンテンツが配信されるリニア型のサービスと、視聴者が観たいときに動画コンテンツが配信されるノンリニア型のサービスとがある。リニア型のサービスには、更に、サービス提供者が独自に製作した番組を放送する独自サービスや、地上デジタル放送等の再送信サービス等のサービスがある。ノンリニア型のサービスには、更に、ＶＯＤや、ダウンロード（ポッドキャスト等）等のサービスがある。ユーザが動画を視聴するために使用するクライアント装置では、動画配信サービス毎に独立して動画を再生する制御を行うことが一般的である。このため、クライアント装置のユーザは、番組表で指定された時刻において再生可能となるライブ動画から、いつでも再生可能なＶＯＤの動画に切り替えて視聴する場合には、ライブ動画を視聴するためのサービスの利用を一旦終了させて、ＶＯＤの動画を視聴するためのサービスの利用を開始させる操作を行わなければならない。
これに対し、本発明の目的は、再生可能な時刻が異なる複数の動画コンテンツを連続的に再生するための技術を提供することである。
【課題を解決するための手段】
【０００６】
上述した課題を解決するため、本発明の動画再生システムは、特定時刻に再生する第１の動画コンテンツを構成する動画セグメントと、特定時刻以外にも再生する第２の動画コンテンツを構成する動画セグメントとを同一の時間軸上に記録したデータベース部と、前記データベース部を用いて動画セグメントを再生するクライアント装置とを備えた動画再生システムであって、前記クライアント装置は、前記時間軸上の位置を指示する操作を受け付ける受付部と、受け付けられた前記操作に基づいて、指示された前記時間軸上の位置に従って前記データベース部から再生可能な時刻の動画セグメントを取得し、当該取得した動画セグメントを再生する動画再生部とを有する。
【０００７】
本発明の動画再生システムにおいて、同一の時間軸上に記録された複数の動画セグメントを再生するためのプレイリストの更新に用いられるプログラムを、前記クライアント装置に配信するサーバ装置を更に備え、前記サーバ装置は、前記クライアント装置から、前記位置を指定した前記プログラムの送信リクエストを受信するリクエスト受信部と、受信された前記送信リクエストに基づいて、前記時間軸上の前記位置を含む所定の期間内に配列した動画セグメントを再生するための前記プログラムを送信するプログラム送信部とを有し、前記クライアント装置は、前記操作に基づいて、前記送信リクエストを前記サーバ装置へ送信するリクエスト送信部と、前記プログラム送信部により送信された前記プログラムを受信するプログラム受信部と、受信された前記プログラムに基づいて、前記期間内に配列した動画セグメントを列挙した前記プレイリストに更新するプレイリスト更新部とを有し、前記動画再生部が、前記プレイリストに従って前記データベース部から再生可能な時刻の動画セグメントを取得し、当該取得した動画セグメントを再生してもよい。
【０００８】
本発明の動画再生システムにおいて、前記プログラム送信部は、前記第２の動画コンテンツを構成する動画セグメントの少なくとも一部を、前記クライアント装置に応じた動画セグメントとして送信してもよい。
【０００９】
本発明の動画再生システムにおいて、前記プレイリスト更新部は、一の前記期間に対応する前記プログラムに基づいて前記プレイリストを更新した後、当該期間内で前記位置を変更する前記操作が受け付けられた場合には、新たな前記プログラムを用いないで前記プレイリストを更新してもよい。
【００１０】
本発明の動画再生システムにおいて、前記プログラム送信部は、前記位置を変更する前記操作の履歴に応じて前記期間を異ならせてもよい。
【００１１】
本発明のクライアント装置は、特定時刻に再生する第１の動画コンテンツを構成する動画セグメントと、特定時刻以外にも再生する第２の動画コンテンツを構成する動画セグメントとを同一の時間軸上に記録したデータベース部を用いて動画セグメントを再生する場合に、前記時間軸上の位置を指示する操作を受け付ける受付部と、受け付けられた前記操作に基づいて、指示された前記時間軸上の位置に従って前記データベース部から再生可能な時刻の動画セグメントを取得し、当該取得した動画セグメントを再生する動画再生部とを備える。
【００１２】
本発明のサーバ装置は、同一の時間軸上に記録された複数の動画セグメントを再生するためのプレイリストの更新に用いられるプログラムを、上記構成クライアント装置に配信するサーバ装置であって、前記クライアント装置から、前記位置を指定した前記プログラムの送信リクエストを受信するリクエスト受信部と、受信された前記送信リクエストに基づいて、前記時間軸上の前記位置を含む所定の期間内に配列した動画セグメントを再生するための前記プログラムを送信するプログラム送信部とを備える。
【００１３】
本発明のプログラムは、クライアント装置のコンピュータに、特定時刻に再生する第１の動画コンテンツを構成する動画セグメントと、特定時刻以外にも再生する第２の動画コンテンツを構成する動画セグメントとを同一の時間軸上に記録したデータベース部を用いて動画セグメントを再生する場合に、前記時間軸上の位置を指示する操作を受け付けるステップと、受け付けられた前記操作に基づいて、指示された前記時間軸上の位置に従って前記データベース部から再生可能な時刻の動画セグメントを取得し、当該取得した動画セグメントを再生するステップとを実行させるためのプログラムである。
【００１４】
本発明の別のプログラムは、同一の時間軸上に記録された複数の動画セグメントを再生するためのプレイリストの更新に用いられるプログラムを、上記構成のクライアント装置に配信するサーバ装置のコンピュータに、前記クライアント装置から、前記位置を指定した前記プログラムの送信リクエストを受信するステップと、受信した前記送信リクエストに基づいて、前記時間軸上の前記位置を含む所定の期間内に配列した動画セグメントを再生するための前記プログラムを送信するステップとを実行させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、再生可能な時刻が異なる複数の動画コンテンツを連続的に再生するための技術を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係る動画再生システムの全体構成を示す図。
【図２】同実施形態に係るサーバ装置のハードウェア構成を示すブロック図。
【図３】同実施形態に係るクライアント装置のハードウェア構成を示すブロック図。
【図４】同実施形態に係るサーバ装置の機能構成を示すブロック図。
【図５】同実施形態に係るクライアント装置の機能構成を示すブロック図。
【図６】同実施形態に係る動画セグメントの詳細の説明図。
【図７】同実施形態に係るデータベース部に蓄積されるデータの説明図。
【図８】同実施形態に係る動画差替部の機能構成を示すブロック図。
【図９】同実施形態に係る差替処理の説明図。
【図１０Ａ】同実施形態に係る再生プログラムの具体例を示す図（リニア型）。
【図１０Ｂ】再生プログラムの図１０Ａに続く部分を示す図。
【図１１Ａ】同実施形態に係る再生プログラムの具体例を示す図（ノンリニア型）。
【図１１Ｂ】再生プログラムの図１１Ａに続く部分を示す図。
【図１２】同実施形態に係る動画再生システムで実行される動画再生に関する処理を示すシーケンス図。
【図１３】図１２に続く処理を示すシーケンス図。
【図１４】同実施形態に係る動画再生に関する処理の説明図。
【図１５】同実施形態に係る動画再生に関する処理の説明図。
【図１６】同実施形態に係る動画再生に関する処理の説明図。
【図１７】本発明の変形例１に係る再生プログラムの具体例を示す図。
【図１８】同変形例に係る再生プログラムの他の具体例を示す図。
【図１９】本発明の変形例２に係るサーバ装置の機能構成を示すブロック図。
【図２０】同変形例に係る再生対象期間の特定の方法の説明図。
【図２１】本発明の変形例３に係る動画差込部の機能構成を示すブロック図。
【図２２】同変形例に係る差込処理の説明図。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施形態を説明する。
図１は、本発明の一実施形態に係る動画再生システム１の全体構成を示す図である。図１に示すように、動画再生システム１は、サーバ装置１０と、複数のクライアント装置２０とを備える。サーバ装置１０及び複数のクライアント装置２０の各々は、ネットワーク１００に接続する。ネットワーク１００は、例えば、インターネットや移動通信網を含む通信回線である。
【００１８】
サーバ装置１０は、動画配信サービスの提供者によって管理、運用されるサーバ装置である。サーバ装置１０は、ＨＴＴＰライブストリーミング（ＨＬＳ：HTTP live streaming）のプロトコルを使用して、ネットワーク１００を介して複数のクライアント装置２０の各々に動画コンテンツを配信する。ＨＬＳを使用した動画コンテンツの配信では、時刻を示す時間軸上に連続する複数のフレームの動画コンテンツを、当該時間軸に沿って区分することにより得た動画セグメントが配信される。当該時間軸は、本実施形態では日時を指定する時間軸である。動画セグメントは、本実施形態ではＴＳ（Transport Stream）形式によりファイル化される。１つの動画セグメントの時間長は、本実施形態ではおよそ３秒である。
【００１９】
また、サーバ装置１０は、リニア型、及びノンリニア型のサービスによって動画コンテンツを配信する。リニア型のサービスは、番組表で指定された特定時刻に再生するライブ動画（本発明の第１の動画コンテンツに対応。）を配信するサービスである。本実施形態のリニア型のサービスでは、動画コンテンツを再生する時刻が、放送日時によって特定される。ノンリニア型のサービスは、例えば過去に配信された動画コンテンツのような、番組表で指定された特定時刻以外にも再生する動画コンテンツ（本発明の第２の動画コンテンツに対応。）を配信するサービスである。本実施形態のノンリニア型のサービスでは、動画コンテンツを再生する時刻が、放送日時よりも後の日時によって特定される。この動画コンテンツは、本実施形態では、ＶＯＤの動画コンテンツに相当する。
【００２０】
クライアント装置２０は、動画配信サービスを利用して動画を視聴するユーザによって使用される。クライアント装置２０は、本実施形態ではスマートフォンであるが、フィーチャーフォンやタブレット型コンピュータ、ノート型パソコン、ウェアラブル型コンピュータ（例えば、ヘッドマウントディスプレイ）等の装置であってもよい。
【００２１】
図２は、サーバ装置１０のハードウェア構成を示す図である。図２に示すように、サーバ装置１０は、制御部１１と、通信部１２と、記憶部１３とを備える。
制御部１１は、演算処理装置としてのＣＰＵ、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を含むメモリを含むプロセッサを備える。ＣＰＵは、ＲＯＭ又は記憶部１３に記憶されたプログラムを、ＲＡＭに読み出して実行することにより、サーバ装置１０の各部を制御する。制御部１１は、これ以外にも、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field-Programmable Gate Array）で例示される画像処理回路を備える。
【００２２】
通信部１２は、ネットワーク１００に接続して外部装置との間でデータを送受信するインタフェースである。記憶部１３は、例えばハードディスク装置を備え、制御部１１により実行されるサーバアプリケーション１３１や、動画配信サービスを提供するためのデータを記憶する記憶装置である。
本実施形態では、サーバ装置１０が記憶部１３を備えているが、記憶部１３に相当する記憶装置がサーバ装置１０の外部に設けられてもよい。
【００２３】
図３は、クライアント装置２０のハードウェア構成を示す図である。図３に示すように、クライアント装置２０は、制御部２１と、通信部２２と、タッチスクリーン部２３と、音声処理部２４と、記憶部２５とを備える。
制御部２１は、演算処理装置としてのＣＰＵ、ＲＯＭ及びＲＡＭを含むメモリを含むプロセッサを備える。ＣＰＵは、ＲＯＭ又は記憶部２５に記憶されたプログラムを、ＲＡＭに読み出して実行することにより、クライアント装置２０の各部を制御する。
【００２４】
また、制御部２１は、ＨＬＳを使用して動画コンテンツを再生する機能を有する。プレイリストＰＬは、ＨＬＳを使用して動画コンテンツを再生するためのプレイリストである。プレイリストＰＬは、再生の対象である動作セグメントを再生順に列挙したリスト（再生リストともいう。）であるが、詳細は後で説明する。
【００２５】
通信部２２は、例えば無線通信回路及びアンテナを有し、ネットワーク１００に接続して外部装置との間でデータを送受信する。
タッチスクリーン部２３は、画像を表示する表示部と、ユーザの操作を受け付けるタッチセンサとを備える。表示部は、例えば液晶ディスプレイで、表示領域に各種の画像を表示する。タッチセンサは、表示部の表示領域に重ねて面状に設けられたセンサで、表示領域に対して行われたユーザの操作を、所定の方式（例えば、抵抗膜方式又は静電容量方式）に従って検知する。
音声処理部２４は、例えば、ＤＳＰ（Digital Signal Processor）等の信号処理回路、マイクロホン及びスピーカを有し、クライアント装置２０における音声処理を司る。
【００２６】
記憶部２５は、ＥＥＰＲＯＭ（Electronically Erasable and Programmable ROM）やフラッシュメモリ等の記憶装置で、制御部２１により実行されるクライアントアプリケーション２５１や、ユーザ属性情報、動画配信サービスを利用するためのその他のデータを記憶する。ユーザ属性情報は、ユーザの属性を示す情報で、例えばユーザの年齢である。ユーザ属性情報は、例えば予めユーザに設定されている。
【００２７】
図４は、サーバ装置１０の機能構成を示すブロック図である。図５は、クライアント装置２０の機能構成を示すブロック図である。サーバ装置１０の制御部１１は、サーバアプリケーション１３１を実行することにより、図４に示す各機能を実現する。クライアント装置２０の制御部２１は、クライアントアプリケーション２５１を実行することにより、図５に示す各機能を実現させる。
まず、サーバ装置１０の機能構成を説明する。サーバ装置１０には、外部装置からＴＳパケットが入力される。ＴＳパケットには、エレメンタリストリームをパケット化したものがある。このＴＳパケットには、番組の本編やＣＭを表す映像データ及び音声データが含まれる。この映像データ及び音声データは、ＰＥＳ（Packetized Elementary Stream）形式で符号化されている。また、ＴＳパケットには、番組特定情報であるＰＳＩ（Program Specific Information）、ＥＰＧ（Electronic Program Guide）等の情報をセクション形式のテーブルで記述したものがある。
【００２８】
キャプチャ部１０１は、入力されたＰＥＳ形式のＴＳパケットに基づいて、エレメンタリストリームをキャプチャし、このＴＳパケットをファイル化したＴＳファイルを生成する。キャプチャ部１０１は、例えば、１時間分のエレメンタリストリームを都度キャプチャする。
【００２９】
日時情報取得部１０２は、入力されたセクション形式のＴＳパケットに基づいて、日時情報を取得する。この日時情報は、ＴＯＴ（Time Offset Table）と呼ばれる情報で、映像データ及び音声データの放送日時を示す。日時情報取得部１０２は、取得した日時情報を、キャプチャ部１０１、及びリニア型動画記録部１０６の各々に供給する。
キャプチャ部１０１は、ＴＳファイルをＴＳファイル記憶部１０３に記憶させる。ＴＳファイルに含まれる時刻を示す情報として、放送日時を示す日時情報（ＴＯＴ）の他に、動画を途切れさせずに再生するための３種の再生用タイムスタンプ（ＰＴＳ:Presentation Time Stamp、ＰＣＲ:Program Clock Reference、及びＤＴＳ:Decode Time Stamp）があり、これらは放送局側で含められる。以下で説明する「再生用タイムスタンプ」は、これらの３種の再生用タイムスタンプを総称するものである。
また、キャプチャ部１０１は、入力されたＰＥＳ形式のＴＳパケットで構成されるトランスポートストリームをエンコーダ１０４に供給する。
【００３０】
エンコーダ１０４は、キャプチャ部１０１から供給されたトランスポートストリームに基づいて、映像データをＨ．２６４形式に、音声データをＡＡＣ形式にエンコードして、動画セグメント生成部１０５に供給する。
動画セグメント生成部１０５は、エンコーダ１０４から供給されたエンコード後のトランスポートストリームに基づいて、動画セグメントを生成する。
【００３１】
リニア型動画記録部１０６は、動画セグメント生成部１０５により生成された動画セグメントのうち、リニアセグメントグループに属する動画セグメントを、動画セグメント毎に指定されたセグメント情報と対応付けて、データベース部１０７に記録する。リニアセグメントグループは、本実施形態では、リニア型サービスで配信される動画セグメントが属するグループである。リニアセグメントグループは、図６に示すように、放送日時が、現在日時の２時間前から現在日時までの動画セグメントで構成される。図６に示す斜線部で示す動画セグメントはライブ動画を構成する。
【００３２】
図７（Ａ）は、データベース部１０７に記録される、リニア型サービスに対応するセグメント情報を示す図である。セグメント情報は、動画セグメント毎に、動画セグメントを一意に識別するセグメントファイルパスと、放送局を識別する局ＩＤと、放送日時を示す日時情報と、時間長と、本編／ＣＭの情報とを対応付けた情報である。局ＩＤは、ここでは「ＡＴＶ」の１種類のみとする。日時情報は、日時情報取得部１０２により取得された日時情報に基づいて記録される。リニアセグメントグループに属する動画セグメントは、本編とＣＭとが区別されておらず、図７（Ａ）では「−」（ハイフン）で表されている。また、リニアセグメントグループに属する動画セグメントは、時間長が３．０秒で一定であるものとする。
【００３３】
番組情報取得部１０８は、入力されたセクション形式のＴＳパケットに基づいて番組情報を取得する。番組情報は、番組の本編に関する情報で、例えば、放送局、番組名、番組概要、及び放送日時、及びサムネイル等の情報を含む。番組情報取得部１０８は、番組情報を動画セグメントと対応付けて、データベース部１０７に記録する。
【００３４】
動画差替部１０９は、ノンリニアセグメントグループに属する動画セグメントを差し替える差替処理を行う。本実施形態では、動画差替部１０９は、ＴＳファイル記憶部１０３から取得したＴＳファイルに基づいて、番組の本編とＣＭとを検知し、検知したＣＭを差し替える。
【００３５】
ノンリニアセグメントグループは、ノンリニア型サービスで配信される動画セグメントが属するグループである。ノンリニアセグメントグループは、図６に示すように、放送日時が、現在日時の２週間前から２時間前までの動画セグメントで構成される。
【００３６】
図８は、動画差替部１０９の機能構成を示すブロック図である。図８に示すように、動画差替部１０９は、差替前動画取得部１０９１と、差替用動画取得部１０９２と、加工部１０９３と、差替用動画セグメントＤＢ（Data Base）１０９４とを備える。
差替前動画取得部１０９１は、差替処理前の動画セグメントを、動画セグメント生成部１０５から取得する。差替用動画取得部１０９２は、差替用の動画セグメントを、差替用動画セグメントＤＢ１０９４から取得する。差替用動画セグメントＤＢ１０９４には、別システムで生成する等して事前に用意した差替用の動画セグメントが記録してある。加工部１０９３は、差替処理前の動画セグメントを差替用の動画セグメントに基づいて加工する。
なお、差替用動画セグメントＤＢ１０９４は、動画差替部１０９外に設けられてもよい。
【００３７】
図９は、差替処理の具体例を説明する図である。図９（Ａ）は差替処理前の動画セグメントを示し、図９（Ｂ）は３０秒間のＣＭを構成する差替用の動画セグメントを示す。
加工部１０９３は、差替用の動画セグメントを配置する放送日時（即ち差替位置）に基づいて、当該差替用の動画セグメントの再生用タイムスタンプを書き換える。差替位置は、例えばサービス提供者によって指定される。図９（Ｃ）に示すように、差替位置が「１５：００：００」の場合、加工部１０９３は、差替用の動画セグメントの先頭の動画セグメントの再生用タイムスタンプを「１５：００：００」に、最後の動画セグメントの再生用タイムスタンプを「１５：００：３０」に書き換える。加工部１０９３は、その他の差替用の動画セグメントについても同様にして再生用タイムスタンプを書き換える。そして、加工部１０９３は、差替処理前の動画セグメントを、書き換え後の再生用タイムスタンプが一致する差替用の動画セグメントに差し替える。これにより、図９（Ｄ）に示す差替処理後の動画セグメントが得られる。加工部１０９３は、この差替処理後の動画セグメントを、ノンリニア型動画記録部１１０に供給する。
【００３８】
ノンリニア型動画記録部１１０は、動画セグメント生成部１０５により生成された動画セグメントのうち、ノンリニアセグメントグループに属する動画セグメント、又は動画差替部１０９から供給された動画セグメントを、動画セグメント毎に指定されたセグメント情報と対応付けて、データベース部１０７に記録する。
【００３９】
図７（Ｂ）は、データベース部１０７に記録される、ノンリニア型サービスに対応するセグメント情報を示す図である。セグメント情報は、リニア型サービスの場合と同様、動画セグメント毎に、動画セグメントを一意に識別するセグメントファイルパスと、放送局を識別する局ＩＤと、放送日時を示す日時情報と、時間長と、本編／ＣＭの情報とを対応付けた情報である。ただし、日時情報は、日時情報取得部１０２からキャプチャ部１０１、エンコーダ１０４、及び動画セグメント生成部１０５を経てノンリニア型動画記録部１１０に通知される日時情報に基づいて記録される。ノンリニアセグメントグループに属する動画セグメントについては、本編とＣＭとが区別されている。これに起因して、動画セグメントの時間長にはバラツキがある。
【００４０】
ＤＢ管理部１１１は、データベース部１０７に記録されたデータを管理する。ＤＢ管理部１１１は、図６に示すように、リニアセグメントグループに属する動画セグメントのうち、放送日時から２時間以上を経過した動画セグメント、並びにこれに関連するセグメント情報及び番組情報を、データベース部１０７から削除する。また、ＤＢ管理部１１１は、ノンリニアセグメントグループに属する動画セグメントのうち、放送日時から２週間以上を経過した動画セグメント、並びにこれに関連するセグメント情報及び番組情報を、データベース部１０７から削除する。
【００４１】
ログ情報受信部１１２は、クライアント装置２０により送信されたログ情報を受信する。ログ情報は、クライアント装置２０で記録された情報で、例えば、放送局とその放送局の番組やＣＭをユーザが視聴した日時（時間帯）及びその番組やＣＭが放送された日時（放送時刻）を含む視聴記録の情報や、クライアントアプリケーション２５１の利用状況の情報を含む。ログ情報処理部１１３は、ログ情報を記録し、当該ログ情報に基づいてログ処理を行う。ログ処理は、ログ情報を用いた処理で、例えば視聴率の計算や、クライアントアプリケーション２５１の利用状況の解析等がある。
なお、ログ情報に含まれる日時（時刻）の情報はＴＯＴに由来する。
【００４２】
番組表生成部１１４は、データベース部１０７に記憶された番組情報に基づいて番組表を生成する。番組表送信部１１５は、番組表生成部１１４により生成された番組表を、クライアント装置２０へ送信する。
【００４３】
リクエスト受信部１１６は、クライアント装置２０から、時間軸上の位置（以下「再生位置」という。）を指定した、再生プログラムの送信を要求する送信リクエストを受信する。再生プログラムは、例えば再生スクリプトで、プレイリストＰＬの更新に用いられるプログラムである。
【００４４】
再生プログラム生成部１１７は、受信された送信リクエストに基づいて、再生位置を含む所定の期間（以下「再生対象期間」という。）内に配列した動画セグメントを再生するための再生プログラムを生成する。即ち、再生プログラム生成部１１７は、データベース部１０７において、再生対象期間内の日時情報に対応付けられた動画セグメントを再生するための再生プログラムを生成する。
【００４５】
再生プログラム送信部１１８は、再生プログラム生成部１１７により生成された再生プログラムを、クライアント装置２０へ送信する（本発明のプログラム送信部に対応）。
【００４６】
動画送信部１１９は、クライアント装置２０に対して、データベース部１０７に蓄積された動画セグメントを送信する。動画送信部１１９は、リニア型サービスにおけるライブ動画については、セグメント情報の日時情報で指定された特定の放送日時になったことを条件として、動画セグメントを送信する。動画送信部１１９は、ノンリニア型サービスの動画コンテンツについては、セグメント情報の日時情報で指定された特定の放送日時とは関係なく、クライアント装置２０から要求されたタイミングで、動画セグメントを送信する。
【００４７】
次に、図５を参照してクライアント装置２０の機能構成を説明する。
受付部２０１は、再生位置を指定する操作を受け付ける。再生位置は、例えば、放送局及び日時を特定する情報を含む。受付部２０１は、ユーザが再生位置の情報を入力する操作を受け付ければよい。この操作は、タッチスクリーン部２３を介して行われる操作でなくてもよく、物理キー等のタッチスクリーン部２３以外の操作手段を介して行われる操作、又は音声入力による操作等であってもよい。
ログ情報収集部２０２は、受付部２０１により受け付けられた操作に基づいて、ログ情報を収集する。ログ情報送信部２０３は、受付部２０１が受け付けた操作に基づいて、ログ情報をサーバ装置１０へ送信する。
【００４８】
番組表受信部２０４は、サーバ装置１０の番組表送信部１１５により送信された番組表を受信する。番組表表示部２０５は、番組表受信部２０４により受信された番組表を表示する。
【００４９】
リクエスト送信部２０６は、受付部２０１により受け付けられた操作に基づいて、送信リクエストをサーバ装置１０へ送信する。再生プログラム受信部２０７は、再生プログラム送信部１１８により送信された再生プログラムを受信する。この再生プログラムは、送信リクエストに応じて再生プログラム送信部１１８により送信される。
【００５０】
プレイリスト更新部２０８は、再生プログラム受信部２０７により受信された再生プログラムに基づいて、プレイリスト記憶部２０９に記憶されたプレイリストＰＬを更新する。プレイリスト更新部２０８は、再生対象期間内に配置された動画セグメントを再生順に列挙したプレイリストＰＬに更新する。プレイリストは、ＨＬＳで使用されるＭ３Ｕ８形式のプレイリストであり、動画セグメントの再生順と、当該動画セグメントのセグメントファイルパスと、当該動画セグメントの時間長とを対応付けてリスト化したものである。
【００５１】
動画再生部２１０は、ＨＬＳのプロトコルを使用して、データベース部１０７から再生可能な放送日時の動画セグメントを取得し、当該取得した動画コンテンツを再生する動画プレーヤである。動画再生部２１０は、従来型の動画プレーヤと同じく、プレイリストＰＬを、例えば所定期間毎に繰り返しチェックして、プレイリストＰＬに従って動画セグメントを再生する。動画再生部２１０は、プレイリストＰＬを参照して、セグメントファイルパスが示す動画セグメントをサーバ装置１０との通信により取得し、取得した動画セグメントを再生順に再生する。この際、動画再生部２１０は、再生用タイムスタンプに基づいて、各動画セグメントを再生するタイミングを制御する。
【００５２】
図１０Ａ及び図１０Ｂは、リニア型サービスに対応する再生プログラムの具体例を示す図である。図１０Ｂは、再生プログラムの図１０Ａに続く部分を示す図である。
図１０Ａにおいて、「“segment-info"｛・・・｝」というブロックは、再生プログラムを定義するブロックである。「“target-app":"IPTV-app"」というブロックは、対象のアプリケーションプログラムが、「IPTV-app」で識別されるクライアントアプリケーション２５１であることを定義するブロックである。「"ver":"0.1"」というブロックは再生プログラムのバージョンが「０．１」であることを定義するブロックである。「"seg-type": "linear"」というブロックは、リニア型サービスを定義するブロックである。「"live":"true"」というブロックは、動画セグメントがライブ動画を構成することを定義するブロックである。"「station":"ATV"」というブロックは、局ＩＤが「ＡＴＶ」であることを定義するブロックである。「"baseurl": http://aaabbb.com/」というブロックは、クライアント装置２０がアクセスすべきベースＵＲＬを定義するブロックである。「"base-duration":"3.0"」というブロックは、動画セグメントの基本的な時間長が３．０秒であることを定義するブロックである。「"base-segment-file":"segment-0100.ts"」というブロックは、基準となる動画セグメントのセグメントファイルパスを定義するブロックである。
【００５３】
「Segments｛・・・｝"」というブロックは、動画セグメント毎に再生の制御に関する内容を定義するブロックである。「“Segments｛・・・｝"」内の第１番目のブロックについて説明する。「"file":"segment-0000.ts"」というブロックは、再生対象の動画セグメントのセグメントファイルパスを定義するブロックである。「"air-date":"20140602000700"」というブロックは、動画セグメントの放送日時（オンエア日時）を定義するブロックである。「"duration":"3.0"」というブロックは、動画セグメントの時間長を定義するブロックである。
ここでは説明を省略するが、「segment-0001.ts」〜「segment-0100.ts」に対応するブロックにおいても再生の制御に関する内容が定義される。
【００５４】
図１１Ａ及び図１１Ｂは、ノンリニア型サービスに対応する再生プログラムの具体例を示す図である。図１１Ｂは、再生プログラムの図１１Ａに続く部分を示す図である。
ノンリニア型サービスに対応する再生プログラムにおいて、図１０Ａ及び図１０Ｂと同じ記述を採用したブロックは、同じ内容を定義するブロックである。ただし、「"seg-type": "nonlinear"」というブロックは、ノンリニア型サービスを定義するブロックである。「"live":"false"」というブロックは、動画セグメントがライブ動画を構成しないことを定義するブロックである。
【００５５】
また、「Segments｛・・・｝"」というブロックは、動画セグメント毎に再生の制御に関する内容を定義するブロックである。ノンリニア型サービスに対応する再生プログラムには、更に以下のブロックが含まれる。「"seg-category":"cm15"」というブロックは、動画セグメントが１５秒ＣＭを構成することを定義するブロックである。「"cmid":"CM_ATV_A_20140526002000"」というブロックは、再生の対象のＣＭを一意に識別する識別情報を定義するブロックである。「"seg-category":"main"」というブロックは、動画セグメントが番組の本編を構成することを定義するブロックである。
【００５６】
図１２及び図１３は、動画再生システム１で実行される動画再生に関する処理を示すシーケンス図である。図１４、図１５及び図１６は、動画再生に関する処理を説明する図である。
サーバ装置１０の制御部１１は、番組表を生成する（ステップＳ１）。制御部１１は、生成した番組表を、通信部１２を介してクライアント装置２０へ送信する（ステップＳ２）。クライアント装置２０の制御部２１は、通信部２２を介して番組表を受信すると（ステップＳ３）、この番組表を、タッチスクリーン部２３を用いて表示させる（ステップＳ４）。
【００５７】
次に、制御部２１は、タッチスクリーン部２３を介して再生位置を指示する操作を受け付ける（ステップＳ５）。制御部２１は、例えば、タッチスクリーン部２３に表示させた番組表を用いて、再生位置を指示する操作を受け付ける。ここでは、再生位置が現在日時に指定され、リニア型サービスで配信されるライブ動画の再生が指示されたとする。
【００５８】
次に、制御部２１は、再生位置を含む送信リクエストを、通信部２２を介してサーバ装置１０へ送信する（ステップＳ６）。この送信リクエストには、番組を一意に識別する情報、又は放送局及び放送日時を指定する情報が含まれてもよい。サーバ装置１０の制御部１１は、通信部１２を介して送信リクエストを受信する（ステップＳ７）。制御部１１は、受信した送信リクエストに基づいて、指定された再生位置を含む再生対象期間内に配置された動画セグメントを再生するための再生プログラムを生成する（ステップＳ８）。制御部１１は、図１４（Ａ）に示すように、再生位置をＴとした場合、再生位置Ｔを基準とした前後５分間、即ちＴ−５：００〜Ｔ＋５．００の期間を再生対象期間として特定する。この場合、制御部１１は、図１０Ａ，１０Ｂで説明した再生プログラムを生成する。
【００５９】
次に、制御部１１は、生成した再生プログラムを、通信部１２を介してクライアント装置２０へ送信する（ステップＳ９）。クライアント装置２０の制御部２１は、通信部２２を介してこの再生プログラムを受信する（ステップＳ１０）。次に、制御部２１は、受信した再生プログラムに基づいてプレイリストＰＬを更新する（ステップＳ１１）。ここでは、制御部２１は、図１０（Ｂ）に示すように、再生プログラムの“ｂａｓｅ−ｓｅｇｍｅｎｔ”で指定された、セグメントファイルパスが「ｓｅｇｍｅｎｔ−０１００．ｔｓ」の動画セグメントの再生順を「１」とする。更に、制御部２１は、放送日時の順番に従って、「ｓｅｇｍｅｎｔ−０１０１．ｔｓ」、「ｓｅｇｍｅｎｔ−０１０２．ｔｓ」、・・・「ｓｅｇｍｅｎｔ−０１９８．ｔｓ」、「ｓｅｇｍｅｎｔ−０１９９．ｔｓ」の順番で動画セグメントを列挙したプレイリストＰＬに更新する。
【００６０】
次に、制御部２１は、プレイリストＰＬに従ってデータベース部１０７から再生可能な放送日時の動画セグメントを取得し、取得した動画セグメントを再生する（ステップＳ１２）。
ステップＳ１２において、制御部２１は、プレイリストＰＬに含まれるセグメントファイルパスを指定した動画取得要求を、サーバ装置１０へ送信する。サーバ装置１０の制御部１１は、通信部１２を介して動画取得要求を受信すると、動画取得要求で指定されたセグメントファイルパスの動画セグメントをデータベース部１０７から取得し、通信部１２を介してクライアント装置２０へ送信する（ステップＳ１３）。クライアント装置２０の制御部２１は、通信部２２を介して動画セグメントを取得（受信）すると、これを一時記憶（バッファリング）するとともに、プレイリストＰＬで指定された再生順に従って再生する。制御部２１は、ここでは、放送日時になったタイミングで各動画セグメントを再生する。制御部２１は、例えば所定間隔で、プレイリストＰＬを繰り返しチェックし、未再生の動画セグメントのうち、再生順が最先の動画セグメントを再生する。
【００６１】
ステップＳ１２において、制御部２１は、再生した動画セグメントの動画コンテンツを、図１４（Ｃ）に示す視聴画面ＳＣを用いて表示させる。視聴画面ＳＣには、動画が表示される表示領域ＰＴが含まれ、更に、再生位置を所定時間だけ（例えば３０秒間）過去に遡らせるためのスキップボタンＢ１と、巻き戻しボタンＢ２と、再生ボタンＢ３と、早送りボタンＢ４と、再生時位置を所定時間進ませるためのスキップボタンＢ５とが配置されている。更に、視聴画面ＳＣには、放送局を指定するためのプルダウンメニューＰＭと、ライブ動画の表示中であることを示す「ＬＩＶＥ」という文字列が表示されている。ユーザはプルダウンメニューＰＭの操作により放送局を指定し、スキップボタンＢ１、巻き戻しボタンＢ２、早送りボタンＢ４、又はスキップボタンＢ５の操作により再生位置を変更する操作を行うことが可能である。また、ユーザは、再生ボタンＢ３の操作により、その再生位置からの再生を指示する。
【００６２】
次に、制御部２１は、再生対象期間を再設定するか否かを判定する（ステップＳ１４）。制御部１１は、直前に設定した再生対象期間の動画セグメントの再生が終了した後に、後続する再生対象期間の動画セグメントを再生するために、再生対象期間を再設定の要否を判定する。例えば、制御部２１は、現在の再生対象期間の終点に近づいた所定のタイミングで、ステップＳ１４で「ＹＥＳ」と判定し、ステップＳ６の処理に戻る。
【００６３】
ステップＳ１４で「ＮＯ」と判定した場合には、制御部２１は、タッチスクリーン部２３を介して、再生位置を指示する操作を受け付けたかどうかを判定する（ステップＳ１５）。ステップＳ１５で「ＮＯ」と判定した場合は、制御部２１は、ステップＳ１２に戻り、動画セグメントの再生を継続する。
【００６４】
ここで、ライブ動画を構成する動画セグメントの再生中に、ユーザが、ノンリニアセグメントグループの動画セグメントを再生するように再生位置の変更を指示する操作を行った場合を考える。この場合、制御部２１は、ステップＳ１５で「ＹＥＳ」と判定し、図１３のステップＳ１６の処理に進む。
【００６５】
次に、制御部２１は、指示された再生位置が、同一の再生対象期間内かどうかを判定する（ステップＳ１６）。ここでは、制御部２１は、ステップＳ１６で「ＮＯ」と判定し、通信部２２を介して送信リクエストを送信する（ステップＳ１７）。サーバ装置１０の制御部１１は、通信部１２を介して送信リクエストを受信すると（ステップＳ１８）、受信した再生プログラムに基づいて、再生位置を含む再生対象期間内に配置された動画セグメントを再生するための再生プログラムを生成する（ステップＳ１９）。次に、制御部１１は、生成した再生プログラムを、通信部１２を介してクライアント装置２０へ送信する（ステップＳ２０）。クライアント装置２０の制御部２１は、通信部２２を介してこの再生プログラムを受信する（ステップＳ２１）。
【００６６】
次に、クライアント装置２０の制御部２１は、ステップＳ２１で受信した再生プログラムに基づいてプレイリストＰＬを更新する（ステップＳ２２）。制御部２１は、再生順が「５１」であるリニアセグメントグループの「ｓｅｇｍｅｎｔ−０１５０．ｔｓ」の再生後に、再生位置を変更する場合、図１５（Ａ）に示すように、再生プログラムの“ｂａｓｅ−ｓｅｇｍｅｎｔ”で指定された、セグメントファイルパスが「ｓｅｇｍｅｎｔ−１１００．ｔｓ」の動画セグメントの再生順を「５２」とする。更に、制御部２１は、放送日時の順番に従って、「ｓｅｇｍｅｎｔ−１１０１．ｔｓ」、「ｓｅｇｍｅｎｔ−１１０２．ｔｓ」、・・・、・・・「ｓｅｇｍｅｎｔ−１１９８．ｔｓ」、「ｓｅｇｍｅｎｔ−１１９９．ｔｓ」の順番で動画セグメントを列挙したプレイリストＰＬに更新する。
【００６７】
次に、制御部２１は、プレイリストＰＬに従って、動画取得要求を通信部２２を介してサーバ装置１０へ送信する（ステップＳ２３）。ステップＳ２３において、制御部２１は、プレイリストＰＬに含まれるセグメントファイルパスを指定した動画取得要求を、サーバ装置１０へ送信する。サーバ装置１０の制御部１１は、通信部１２を介して動画取得要求を受信すると、動画取得要求で指定されたセグメントファイルパスの動画セグメントをデータベース部１０７から取得し、通信部１２を介してクライアント装置２０へ送信する（ステップＳ２４）。クライアント装置２０の制御部２１は、ステップＳ１２の処理と同様、通信部２２を介して動画セグメントを取得（受信）すると、これを一時記憶（バッファリング）するとともに、プレイリストの再生順に従って再生する。ただし、制御部２１は、放送日時とは関係なく、動画セグメントを順次再生することとなる。
なお、ノンリニアセグメントグループの動画セグメントの再生中は、制御部２１は、図１５（Ｂ）に示すように「ＶＯＤ」という文字列が表示された視聴画面ＳＣにて、表示領域ＰＴに動画を表示させる。
ここでは、リニア型サービスからノンリニア型サービスに再生位置を変更する場合を説明したが、ノンリニア型サービスからリニア型サービスに再生位置を変更する場合も、ステップＳ１５〜Ｓ２４と同様の処理ステップにより、動画セグメントの再生に関する制御が行われる。
【００６８】
ところで、制御部２１は、一の再生対象期間に対応する再生プログラムに基づいてプレイリストＰＬを更新した後、当該再生対象期間内で再生位置を変更する操作を受け付けた場合には、ステップＳ１６で「ＮＯ」と判定する。そして、制御部２１は、ステップＳ２２の処理に進み、新たな再生プログラムを用いないでプレイリストＰＬを更新する。ここで、図１６（Ａ）に示すように「ｓｅｇｍｅｎｔ−１１０２．ｔｓ」の再生後に、再生位置を「ｓｅｇｍｅｎｔ−１１３２．ｔｓ」に変更する場合を考える。この場合、制御部２１は、図１６（Ｂ）に示すように、「ｓｅｇｍｅｎｔ−１１０３．ｔｓ」〜「ｓｅｇｍｅｎｔ−１１３１．ｔｓ」をプレイリストＰＬから削除し、「ｓｅｇｍｅｎｔ−１０３２．ｔｓ」以降の動画セグメントの再生順を繰り上げる。これにより、不要な再生プログラムの取得に係る処理負荷の増大や、ネットワーク１００のトラヒックの増大が抑制される。
【００６９】
以上説明した動画再生システム１では、サーバ装置１０が様々な形態の動画配信サービスを提供する場合において、同一の時間軸上に各動画配信サービスの動画セグメントを配列させた状態で管理する。よって、クライアント装置２０は動画配信サービス毎にプレイリストを個別に生成しなくとも、動画セグメントを再生することができる。よって、クライアント装置２０では、再生可能な時刻が異なる複数の動画コンテンツを再生する場合に、これらを連続的に再生することができる。ユーザにとっては、リニア型サービスの動画コンテンツと、ノンリニア型サービスの動画コンテンツとをあたかも連続した動画のように扱って、これらを視聴することができる。
【００７０】
［変形例］
本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
（変形例１）
サーバ装置１０は、ノンリニアグループ内の動画セグメントを配信する場合において、クライアント装置２０に応じた動画セグメントを再生させるための再生プログラムを生成してもよい。以下、クライアント装置２０のユーザのユーザ属性に応じてＣＭを異ならせる場合を説明する。
【００７１】
クライアント装置２０の制御部２１は、記憶部２５に記憶されたユーザ属性情報を、送信リクエストに含めてサーバ装置１０へ送信する。サーバ装置１０の制御部１１は、受信した送信リクエストに含まれるユーザ属性情報に基づいて、再生プログラムを生成する。この際、制御部１１は、送信リクエストに含まれるユーザ属性情報に基づいて、２０歳以上のユーザのクライアント装置２０に対しては、図１７（Ａ）の再生プログラムを、その他のユーザのクライアント装置２０に対しては、図１７（Ｂ）の再生プログラムを生成する。図１７（Ａ）に示すように、２０歳以上のユーザのクライアント装置２０に配信される再生プログラムには「"file":"segment-1000-1.ts"」というブロックが含まれている。図１７（Ｂ）に示すように、それ以外のユーザ、即ち２０歳未満のユーザのクライアント装置２０に配信される再生プログラムには「"file":"segment-1000-2.ts"」というブロックが含まれている。これにより、例えば、"segment-1000-1.ts"の動画セグメントを、お酒等の成人向けのＣＭを構成する動画セグメントとし、"segment-1000-2.ts"の動画セグメントを、ジュース等の未成年向けのＣＭを構成する動画セグメントとして、クライアント装置２０のユーザに応じてＣＭを異ならせることができる。
【００７２】
また、制御部１１は、クライアント装置２０に応じて再生プログラムを異ならせなくとも、クライアント装置２０に応じて配信する動画セグメントを異ならせることも可能である。図１８に示す再生プログラムでは、「"when":"age>20"」と記述したブロックに、「"file":"segment-1000-1.ts"」と記述されることにより、２０歳以上のユーザのクライアント装置２０に配信される動画セグメントが指定される。また、「"when":"default"」と記述したブロックに、「"file":"segment-1000-2.ts"」と記述されることにより、２０歳未満のユーザのクライアント装置２０に配信される動画セグメントが指定される。クライアント装置２０の制御部２１は、記憶部２５に記憶されたユーザ属性情報に基づいて、「segment-1000-1.ts」と「segment-1000-2.ts」とのどちらをプレイリストＰＬに列挙するかを判定し、プレイリストＰＬを更新する。
なお、ユーザ属性は、ユーザの年齢に限られず、性別や趣味、嗜好、居住地等のユーザの属性であってもよい。
【００７３】
（変形例２）
サーバ装置１０は、再生位置を変更する操作の履歴に応じて再生対象期間を異ならせてもよい。この場合、サーバ装置１０は、図１９に示す機能を実現する。ＤＢ管理部１１１Ａは、クライアント装置２０毎に、再生位置を変更する操作の履歴を示す操作履歴情報を、データベース部１０７で管理する。操作履歴情報は、例えば、再生位置を変更した頻度（即ち、単位期間における回数）、又は再生位置を変更した回数の合計であり、再生位置を変更した機会の多さの指標となる。
【００７４】
再生プログラム生成部１１７Ａは、一のクライアント装置２０に対する再生プログラムを生成する際には、そのクライアント装置２０に対応する操作履歴情報を参照して、再生対象期間を特定する。再生プログラム生成部１１７Ａは、再生位置の変更頻度が相対的に高い場合は、図２０（Ａ）に示すように、再生位置Ｔを基準とした前後に１０分間の範囲を再生対象期間とする。再生プログラム生成部１１７Ａは、再生位置の変更頻度が中程度の場合は、図２０（Ｂ）に示すように、再生位置Ｔを基準とした前後に５分間の範囲を再生対象期間とする。再生プログラム生成部１１７Ａは、再生位置の変更頻度が相対的に低い場合は、図２０（Ｃ）に示すように、再生位置Ｔを基準とした前後に２分３０秒の範囲を再生対象期間とする。
【００７５】
この変形例の動画再生システム１によれば、或るクライアント装置２０に対しては再生対象期間を短くしてネットワーク１００のトラヒックの増大を軽減する一方で、再生位置をよく変更するユーザのクライアント装置２０に対しては、再生位置が変更されたときの動画コンテンツの再生をスムーズにすることができる。
【００７６】
（変形例３）
サーバ装置１０は、ノンリニアセグメントグループに属する動画セグメントを対象として、動画セグメントを差し込む差込処理を行ってもよい。そのために、サーバ装置１０は動画差込部１２０を備える。本変形例では、動画差込部１２０は、ＣＭを差し込む差込処理を行う。
【００７７】
図２１は、動画差込部１２０の機能構成を示すブロック図である。図２１に示すように、動画差込部１２０は、差込前動画取得部１２０１と、差込用動画取得部１２０２と、加工部１２０３と、差込用動画セグメントＤＢ１２０４とを備える。
差込前動画取得部１２０１は、差込処理前の動画セグメントを、動画セグメント生成部１０５から取得する。差込用動画取得部１２０２は、差込用の動画セグメントを、差込用動画セグメントＤＢ１２０４から取得する。差込用動画セグメントＤＢ１２０４には、別システムで生成する等して事前に用意した差込用の動画セグメントが記録してある。加工部１２０３は、差込処理前の動画セグメントを、差込用の動画セグメントに基づいて加工する。
なお、差込用動画セグメントＤＢ１２０４は、動画差込部１２０外に設けられてもよい。
【００７８】
図２２は、差込処理の具体例を説明する図である。図２２（Ａ）は差込処理前の動画セグメントを示す図で、図２２（Ｂ）は３０秒間のＣＭを構成する差込用の動画セグメントを示す。この場合、加工部１２０３は、差込位置に基づいて差込用の動画セグメントの再生用タイムスタンプを書き換える。差込位置は、例えばサービス提供者によって指定される。図２２（Ｃ）に示すように、差込位置が「１５：００：００」の場合、加工部１２０３は、差込用の動画セグメントのうち、先頭の動画セグメントの再生用タイムスタンプを「１５：００：００」に書き換え、最後の動画セグメントの再生用タイムスタンプを「１５：００：３０」に書き換える。加工部１２０３は、その他の差込用の動画セグメントについても同様にして再生用タイムスタンプを書き換える。更に、加工部１２０３は、差込処理前の動画セグメントのうち、差込位置よりも後に配列した動画セグメントの再生用タイムスタンプを書き換える。ここでは、加工部１２０３は、図２２（Ｄ）に示すように、「１５：００：００」以降の動画セグメントの再生用タイムスタンプを、「０：００：３０」を加算した再生用タイムスタンプに書き換える。そして、加工部１０９３は、差込処理前の動画セグメントにおける差込位置に、差込用の動画セグメントを差し込む。これにより、図２２（Ｅ）に示す差込処理後の動画セグメントが得られる。加工部１２０３は、この差込処理後の動画セグメントを、ノンリニア型動画記録部１１０に供給する。
【００７９】
（変形例４）
データベース部１０７は、サーバ装置１０外に設けられてもよい。この場合、サーバ装置１０は、再生プログラムの配信機能を有するが、動画セグメントの配信機能を有さない。また、リニア型サービスとノンリニア型サービスとで、再生プログラムを配信するサーバ装置が分けられてもよい。また、リニア型サービスとノンリニア型サービスとで動画セグメントを記録するためのデータベースが分けられてもよい。
【００８０】
（変形例５）
上述した実施形態では、サーバ装置１０は、送信リクエストを受信した後で、再生プログラムを生成していたが、再生プログラムの生成のタイミングはこれに限られない。サーバ装置１０は、予め生成しておいた再生プログラムを記憶しておき、受信した送信リクエストに応じた再生プログラムを検索して、クライアント装置２０へ送信してもよい。また、サーバ装置１０は、例えばリニア型サービスに対応する再生プログラムを、例えば１日に１回の所定のタイミングにて、送信リクエストの受信なしに送信してもよい。
【００８１】
（変形例６）
上述した実施形態で説明した構成及び動作の一部が省略されてもよい。また、上述した各実施形態で説明した処理の順番は、適宜変更されてもよい。また、上述した実施形態で説明した動画配信サービスの形態や使用するプロトコル、再生プログラムの記述の内容、数値、画面の内容、操作の方法等はあくまで一例である。
【００８２】
（変形例７）
本発明の動画再生システムは、再生プログラムを配信するサーバ装置を備えることを必須としない。また、クライアント装置は、再生プログラムに基づいてプレイリストを更新する構成を備えることを必須としない。クライアント装置の動画再生部は、受付部が受け付けた操作により指定された再生位置に従って、データベース部から再生可能な時刻の動画セグメントを取得する。そして、この動画再生部は、取得した動画セグメントを再生すればよい。動画再生部は、例えば、上述した実施形態で説明したセグメント情報に含まれる日時情報が示す放送日時の順番に従って、動画セグメントを再生する。
【００８３】
上述した実施形態のサーバ装置１０やクライアント装置２０が実現する機能は、複数のプログラムの組み合わせによって実現され、又は、複数のハードウェア資源の連係によって実現され得る。サーバ装置１０やクライアント装置２０の機能がプログラムを用いて実現される場合、このプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ（Hard Disk Drive）、ＦＤ（Flexible Disk））等）、光記録媒体（光ディスク等）、光磁気記録媒体、半導体メモリ等のコンピュータ読み取り可能な記録媒体に記憶した状態で提供されてもよいし、ネットワークを介して配信されてもよい。また、本発明は、動画配信方法として把握することも可能である。
【符号の説明】
【００８４】
１…動画再生システム、１０…サーバ装置、１１…制御部、１２…通信部、１３…記憶部、１３１…サーバアプリケーション、１０１…キャプチャ部、１０２…日時情報取得部、１０３…ＴＳファイル記憶部、１０４…エンコーダ、１０５…動画セグメント生成部、１０６…リニア型動画記録部、１０７…データベース部、１０８…番組情報取得部、１０９…動画差替部、１０９１…差替前動画取得部、１０９２…差替用動画取得部、１０９３…加工部、１０９４…差替用動画セグメントＤＢ、１１０…ノンリニア型動画記録部、１１１，１１１Ａ…ＤＢ管理部、１１２…ログ情報受信部、１１３…ログ情報処理部、１１４…番組表生成部、１１５…番組表送信部、１１６…リクエスト受信部、１１７，１１７Ａ…再生プログラム生成部、１１８…再生プログラム送信部、１１９…動画送信部、１２０…動画差込部、１２０１…差込前動画取得部、１２０２…差込用動画取得部、１２０３…加工部、１２０４…差込用動画セグメントＤＢ、２０…クライアント装置、２１…制御部、２２…通信部、２３…タッチスクリーン部、２４…音声処理部、２５…記憶部、２５１…クライアントアプリケーション、２０１…受付部、２０２…ログ情報収集部、２０３…ログ情報送信部、２０４…番組表受信部、２０５…番組表表示部、２０６…リクエスト送信部、２０７…再生プログラム受信部、２０８…プレイリスト更新部、２０９…プレイリスト記憶部、２１０…動画再生部
【図１】
2016213709.tif 000003
【図２】
2016213709.tif 000004
【図３】
2016213709.tif 000005
【図４】
2016213709.tif 000006
【図５】
2016213709.tif 000007
【図６】
2016213709.tif 000008
【図７】
2016213709.tif 000009
【図８】
2016213709.tif 000010
【図９】
2016213709.tif 000011
【図１０Ａ】
2016213709.tif 000012
【図１０Ｂ】
2016213709.tif 000013
【図１１Ａ】
2016213709.tif 000014
【図１１Ｂ】
2016213709.tif 000015
【図１２】
2016213709.tif 000016
【図１３】
2016213709.tif 000017
【図１４】
2016213709.tif 000018
【図１５】
2016213709.tif 000019
【図１６】
2016213709.tif 000020
【図１７】
2016213709.tif 000021
【図１８】
2016213709.tif 000022
【図１９】
2016213709.tif 000023
【図２０】
2016213709.tif 000024
【図２１】
2016213709.tif 000025
【図２２】
2016213709.tif 000026