(57)【要約】【課題】過去に再生されたストリーミングコンテンツの再生を再開する場合、再生を再開するまでの時間を短縮することができるコンテンツ再生装置を提供することである。【解決手段】ＡＶレシーバ１は、コンテンツ４１Ａの再生を指示する１回目の指示により、複数の分割放送データ４１１を指定された再生順序に従って取得して再生する。ＡＶレシーバ１は、コンテンツ４２Ａの再生を指示する２回目の指示により、複数の分割放送データ４１１の取得を停止し、未再生の分割放送データ４１１を継続して保存する。ＡＶレシーバ１は、２回目の指示に応じて、複数の分割放送データ４２１を指定された再生順序に従って取得して再生する。ＡＶレシーバ１は、コンテンツ４１Ａの再生を指示する３回目の指示が入力された場合、未再生の分割放送データ４１１の中で再生される再生再開データを決定し、未再生の分割放送データ４１１を決定された再生再開データから再生する。【選択図】図２
2014017589.tif 000002
【特許請求の範囲】
【請求項１】
再生順序が指定された複数の第１分割データを含み、ストリーミング配信される第１コンテンツを保存するための第１バッファと、
再生順序が指定された複数の第２分割データを含み、ストリーミング配信される第２コンテンツを保存するための第２バッファと、
前記第１コンテンツの再生を指示する第１指示が入力された場合、前記複数の第１分割データをその再生順序に従って取得して前記第１バッファに保存し、前記第１指示の後に前記第２コンテンツの再生を指示する第２指示が入力された場合、前記複数の第１分割データの取得を停止し、前記複数の第２分割データをその再生順序に従って取得して前記第２バッファに保存するコンテンツ取得部と、
前記第１指示が入力された場合、前記コンテンツ取得部により前記第１バッファに保存された第１分割データをその再生順序に従って再生し、前記第２指示が入力された場合、前記コンテンツ取得部により前記第２バッファに保存された第２分割データをその再生順序に従って再生する再生部と、
前記第２指示が入力された場合、前記第１バッファに保存された第１分割データの中で未再生の第１分割データを継続して保存するように前記第１バッファを制御するバッファ制御部と、
前記第２指示の後に前記第１コンテンツの再生をさらに指示する第３指示が入力された場合、前記未再生の第１分割データの中で最初に再生される再生再開データを決定し、前記未再生の第１分割データを、前記決定された再生再開データから再生することを前記再生部に指示する再生指示部とを備える、コンテンツ再生装置。
【請求項２】
請求項１に記載のコンテンツ再生装置であって、
前記再生指示部は、前記第３指示が入力された場合、前記未再生の第１分割データの中で最後に再生される最終再生データを特定し、
前記コンテンツ取得部は、前記再生指示部により特定された最終再生データの後に続けて再生される第１分割データを新たに取得して前記第１バッファに保存する、コンテンツ再生装置。
【請求項３】
請求項１又は請求項２に記載のコンテンツ再生装置であって、さらに、
前記第２指示が入力された場合、前記第１バッファに保存された第１分割データの中で前記再生部により最後に再生された再生停止データを特定する再生停止データ特定部と、
前記第３指示が入力された場合、前記第２指示が入力されてから前記第３指示が入力されるまでの経過時間を計測する時間計測部とを備え、
前記再生指示部は、前記再生停止データ特定部により特定された再生停止データを再生してから前記経過時間を経過した後に再生すべき第１分割データを前記再生再開データとして決定する、コンテンツ再生装置。
【請求項４】
請求項３に記載のコンテンツ再生装置であって、
前記第１コンテンツは、第１チャンネルによりネットワークを介して放送され、
前記コンテンツ取得部は、
前記第１指示が入力された場合、前記第１指示が入力された開始タイミングを基準にして所定のバッファ時間を遡った時刻から前記開始タイミングまでに放送された第１分割データの通常プレイリストを取得し、取得された通常プレイリストを用いて前記複数の第１分割データを取得する通常取得部と、
前記第３指示が入力された場合、前記経過時間を前記バッファ時間から引いた差分時間を計算し、前記差分時間よりも大きく前記バッファ時間よりも短い追加取得時間を設定する時間設定部と、
前記第３指示が入力された再開タイミングを基準にして前記追加取得時間を遡った時刻から前記再開タイミングまでに放送された第１分割データの追加プレイリストを取得し、取得された追加プレイリストを用いて第１分割データを取得する追加取得部とを備える、コンテンツ再生装置。
【請求項５】
再生順序が指定された複数の第１分割データを含み、ストリーミング配信される第１コンテンツを保存するための第１バッファと、再生順序が指定された複数の第２分割データを含み、ストリーミング配信される第２コンテンツを保存するための第２バッファとを備えるコンテンツ再生装置に搭載されるコンピュータに実行させるためのプログラムであって、
前記第１コンテンツの再生を指示する第１指示が入力された場合、前記複数の第１分割データをその再生順序に従って取得して前記第１バッファに保存し、前記第１指示の後に前記第２コンテンツの再生を指示する第２指示が入力された場合、前記複数の第１分割データの取得を停止し、前記複数の第２分割データをその再生順序に従って取得して前記第２バッファに保存するステップと、
前記第１指示が入力された場合、前記第１バッファに保存された第１分割データをその再生順序に従って再生し、前記第２指示が入力された場合、前記第２バッファに保存された第２分割データをその再生順序に従って再生するステップと、
前記第２指示が入力された場合、前記第１バッファに保存された第１分割データの中で未再生の第１分割データを継続して保存するように前記第１バッファを制御するステップと、
前記第２指示の後に前記第１コンテンツの再生をさらに指示する第３指示が入力された場合、前記未再生の第１分割データの中で最初に再生される再生再開データを決定し、前記未再生の第１分割データを、前記決定された再生再開データから再生するステップとを備える、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ再生装置に関し、さらに詳しくは、ストリーミング配信されるコンテンツを再生するコンテンツ再生装置に関する。
【背景技術】
【０００２】
動画、音声などのコンテンツがストリーミング配信される場合、携帯電話、スマートフォン、ＰＣ（Personal Computer）などのコンピュータは、コンテンツをダウンロードしながら再生する。コンピュータは、ストリーミング配信されるコンテンツの再生を開始する前に、予め定められたサイズのデータ（コンテンツの一部）をバッファリングする。このため、ユーザがストリーミング配信されるコンテンツの再生を指示してからコンテンツの再生が開始されるまでに遅延が発生する。
【０００３】
ストリーミング配信されるコンテンツの再生時の遅延を短くする技術が、特許文献１に開示されている。
【０００４】
特許文献１に係るコンテンツ再生装置は、保存済みの端末保存コンテンツと、ストリーミングデータとして配信されるストリーミングコンテンツを連続して再生する。コンテンツ再生装置は、端末保存コンテンツの再生中に、次に再生されるストリーミングコンテンツをバッファリングする。コンテンツ再生装置は、端末保存コンテンツの再生が終了した場合、既にバッファリングされているストリーミングコンテンツを再生する。しかし、特許文献１に係るコンテンツ再生装置は、複数のストリーミングコンテンツを連続して再生することを考慮していない。
【０００５】
ユーザが、再生対象のストリーミングコンテンツを頻繁に切り替えることがある。具体的には、コンテンツ再生装置がストリーミングコンテンツを再生しているときに、ユーザが、別のストリーミングコンテンツの再生を指示し、さらに、元のストリーミングコンテンツの再生を指示することがある。この場合、元のストリーミングコンテンツの再生が開始されるまで時間を要する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２２５１７７号公報
【特許文献２】特開平１１−１９１８８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、過去に再生されたストリーミングコンテンツの再生を再開する場合、再生を再開するまでの時間を短縮することができるコンテンツ再生装置を提供することである。
【課題を解決するための手段及び効果】
【０００８】
本発明のコンテンツ再生装置は、第１バッファと、第２バッファと、コンテンツ取得部と、再生部と、バッファ制御部と、再生指示部とを備える。第１バッファは、再生順序が指定された複数の第１分割データを含み、ストリーミング配信される第１コンテンツを保存するために用いられる。第２バッファは、再生順序が指定された複数の第２分割データを含み、ストリーミング配信される第２コンテンツを保存するために用いられる。コンテンツ取得部は、第１コンテンツの再生を指示する第１指示が入力された場合、複数の第１分割データをその再生順序に従って取得して第１バッファに保存し、第１指示の後に第２コンテンツの再生を指示する第２指示が入力された場合、複数の第１分割データの取得を停止し、複数の第２分割データをその再生順序に従って取得して第２バッファに保存する。再生部は、第１指示が入力された場合、コンテンツ取得部により第１バッファに保存された第１分割データをその再生順序に従って再生し、第２指示が入力された場合、コンテンツ取得部により第２バッファに保存された第２分割データをその再生順序に従って再生する。バッファ制御部は、第２指示が入力された場合、第１バッファに保存された第１分割データの中で未再生の第１分割データを継続して保存するように第１バッファを制御する。再生指示部は、第２指示の後に第１コンテンツの再生をさらに指示する第３指示が入力された場合、未再生の第１分割データの中で最初に再生される再生再開データを決定し、未再生の第１分割データを、決定された再生再開データから再生することを再生部に指示する。
【０００９】
本発明によれば、コンテンツ再生装置は、第２指示が入力された場合、未再生の第１分割データを第１バッファに継続して保存する。コンテンツ再生装置は、第３指示が入力された場合、未再生の第１分割データの中で最初に再生される再生再開データを決定し、決定した再生再開データを再生する。これにより、第１コンテンツの再生を停止して第２コンテンツを再生しているときに、第１コンテンツの再生を再び指示された場合、第１コンテンツを速やかに再生することができる。
【００１０】
好ましくは、再生指示部は、第３指示が入力された場合、未再生の第１分割データの中で最後に再生される最終再生データを特定する。コンテンツ取得部は、再生指示部により特定された最終再生データの後に続けて再生される第１分割データを新たに取得して第１バッファに保存する。
【００１１】
本発明によれば、コンテンツ再生装置は、第３指示が入力された場合、未再生の第１分割データの中で最後に再生される最終再生データを特定し、最終再生データの後に続けて再生される第１分割データを新たに取得してバッファに保存する。これにより、第１コンテンツの再生を再開する場合に、バッファリングを完了するまでの時間を短縮することができる。
【００１２】
好ましくは、本発明のコンテンツ再生装置は、さらに、再生停止データ特定部と、時間計測部とを備える。再生停止データ特定部は、第２指示が入力された場合、第１バッファに保存された第１分割データの中で再生部により最後に再生された再生停止データを特定する。時間計測部は、第３指示が入力された場合、第２指示が入力されてから第３指示が入力されるまでの経過時間を計測する。再生指示部は、再生停止データ特定部により特定された再生停止データを再生してから経過時間を経過した後に再生すべき第１分割データを再生再開データとして決定する。
【００１３】
本発明によれば、コンテンツ再生装置は、第２指示が入力された場合、最後に再生された再生停止データを特定する。コンテンツ再生装置は、再生停止データを再生してから経過時間を経過した後に再生すべき第１分割データを、再生再開データとして決定する。これにより、第２指示が入力されてから第３指示が入力されるまでの経過時間を考慮して、再生再開データを決定することができる。
【００１４】
好ましくは、第１コンテンツは、第１チャンネルによりネットワークを介して放送される。コンテンツ取得部は、通常取得部と、時間設定部と、追加取得部とを備える。通常取得部は、第１指示が入力された場合、第１指示が入力された開始タイミングを基準にして所定のバッファ時間を遡った時刻から開始タイミングまでに放送された第１分割データの通常プレイリストを取得し、取得された通常プレイリストを用いて複数の第１分割データを取得する。時間設定部は、第３指示が入力された場合、経過時間をバッファ時間から引いた差分時間を計算し、差分時間よりも大きくバッファ時間よりも短い追加取得時間を設定する。追加取得部は、第３指示が入力された再開タイミングを基準にして追加取得時間を遡った時刻から再開タイミングまでに放送された第１分割データの追加プレイリストを取得し、取得された追加プレイリストを用いて第１分割データを取得する。
【００１５】
本発明によれば、コンテンツ再生装置は、経過時間をバッファ時間から差し引いた差分時間を計算し、差分時間よりも大きくバッファ時間より短い追加取得時間を設定する。コンテンツ再生装置は、第３指示が入力された再開タイミングを基準にして追加取得時間を遡った時刻から再開タイミングまでに放送された第１分割データの追加プレイリストを取得し、追加プレイリストを用いて第１分割データを取得する。第１バッファに保存されている第１分割データの後に連続して再生される第１分割データを取得することができるため、コンテンツ再生装置は、放送される第１コンテンツを途切れることなく再生することができる。
【００１６】
本発明のプログラムは、本発明のコンテンツ再生装置に用いられる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態によるラジオ放送システムの構成を示す機能ブロック図である。
【図２】図１に示すＡＶレシーバの構成を示す機能ブロック図である。
【図３】図１に示す一の放送局により放送される放送データのデータ構造を示す図である。
【図４】図１に示す別の放送局により放送される放送データのデータ構造を示す図である。
【図５】図１に示すラジオ放送プログラムの動作を示すフローチャートである。
【図６】図５に示す通常取得処理のフローチャートである。
【図７】図３に示す分割放送データの再生順序を示すプレイリストである。
【図８】図３に示す分割放送データの再生が開始される時点におけるバッファリストである。
【図９】図５に示す再生停止処理のフローチャートである。
【図１０】図３に示す分割放送データの再生を停止した時点におけるバッファリストである。
【図１１】図５に示す再開位置決定処理のフローチャートである。
【図１２】図５に示す放送データ追加処理のフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００１９】
｛ラジオ放送システムの構成｝
図１は、本実施の形態によるラジオ放送システムの機能ブロック図である。図１を参照して、ラジオ放送システムは、ＡＶ（Audio and Visual）レシーバ１と、放送局サーバ２〜４と、インターネット５とを備える。
【００２０】
放送局サーバ２〜４は、放送局Ａ〜Ｃによりそれぞれ管理され、ラジオ番組等の放送データをインターネット５を介してストリーミング配信する。本実施の形態において、「放送」とは、公衆に対して同じ内容のデータを同時に送信することを指す。このため、放送データは、有線通信により送信されてもよいし、無線通信により送信されてもよい。
【００２１】
放送局サーバ２〜４は、通常のラジオ放送と同じ内容の放送データを、ＩＰ（Internet Protocol）サイマル放送としてストリーミング配信する。なお、放送局サーバ２〜４は、通常のラジオ放送の番組とは別のラジオ番組の放送データをストリーミング配信してもよい。
【００２２】
ＡＶレシーバ１は、放送局サーバ２〜４から配信される放送データをインターネット５を介して受信し、受信した放送データを再生するコンテンツ再生装置である。放送局Ａ〜Ｃにより行われる放送が、コンテンツに相当する。
【００２３】
｛ＡＶレシーバ１の構成｝
図２は、ＡＶレシーバ１の構成を示す機能ブロック図である。図２を参照して、ＡＶレシーバ１は、ＣＰＵ（Central Processing Unit）１１と、ＲＡＭ（Random Access Memory）１２と、操作部１３と、ネットワークインタフェース１４と、フラッシュメモリ１５とを備える。
【００２４】
ＣＰＵ１１は、フラッシュメモリ１５に格納されたプログラムを実行する。ＲＡＭ１２は、ＡＶレシーバ１のメインメモリである。ＣＰＵ１１は、プログラムをＲＡＭ１２にロードし、ロードされたプログラムを実行して、ＡＶレシーバ１を制御する。
【００２５】
操作部１３は、ＡＶレシーバ１に対するユーザの各種操作を受け付ける。ネットワークインタフェース１４は、ＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）などのプロトコルを用いて、インターネット５に接続されたコンピュータと通信する。
【００２６】
フラッシュメモリ１５は、不揮発性の半導体メモリである。フラッシュメモリ１５は、プレイリスト２１，２２と、バッファリスト２３，２４と、ラジオ放送プログラム２５と、放送データ４１，４２とを格納する。
【００２７】
ラジオ放送プログラム２５は、放送局サーバ２〜４からストリーミング配信される放送データを受信して再生するために用いられる。ラジオ放送プログラム２５がＡＶレシーバ１にインストールされることにより、ＡＶレシーバ１は、放送局サーバ２〜４によりストリーミング配信されるコンテンツを再生するコンテンツ再生装置として機能する。
【００２８】
具体的には、ラジオ放送プログラム２５は、各放送局サーバからストリーミング配信される放送データを受信してラジオ番組の音声信号を生成する。生成された音声信号は、スピーカ（図示省略）から出力される。ユーザは、ＡＶレシーバ１を操作して放送局を指定することにより、再生対象のコンテンツを切り替えることができる。
【００２９】
プレイリスト２１は、ラジオ放送プログラム２５が、放送局サーバ２から放送データ４１を取得するときに用いられる。プレイリスト２２は、ラジオ放送プログラム２５が、放送局サーバ３から放送データ４２を取得するときに用いられる。
【００３０】
バッファリスト２３は、放送局サーバ２から受信した放送データ４１の管理に用いられる。バッファリスト２４は、放送局サーバ３から受信した放送データ４２の管理に用いられる。バッファリスト２３，２４の詳細は、後述する。
【００３１】
図３は、放送データ４１のデータ構造を示す図である。図２及び図３を参照して、放送データ４１は、放送局Ａにより放送されるラジオ番組（コンテンツ４１Ａ）に相当する。放送データ４１は、複数の分割放送データ４１１を含み、バッファ３１に保存される。複数の分割放送データ４１１は、プレイリスト２１で指定された再生順序に従って再生される。各分割放送データ４１１の再生時間は、５秒であると仮定する。
【００３２】
図４は、放送データ４２のデータ構造を示す図である。図２及び図４を参照して、放送データ４２は、放送局Ｂにより放送されるラジオ番組（コンテンツ４２Ａ）に相当する。放送データ４２は、複数の分割放送データ４２１を含み、バッファ３２に保存される。複数の分割放送データ４２１は、プレイリスト２２で指定された再生順序に従って再生される。
【００３３】
バッファ３１，３２は、フラッシュメモリ１５に作成されたフォルダである。なお、ＡＶレシーバ１は、バッファ３１，３２のそれぞれに対応する記憶装置を備えてもよい。
【００３４】
｛ＡＶレシーバ１の動作概略｝
以下、ＡＶレシーバ１が放送局Ａ，Ｂの放送を受信するときの動作の概略を説明する。ユーザが、放送局Ａを指定した後に、放送局Ｂを指定したと仮定する。その後、ユーザが、放送局Ａを再び指定したと仮定する。
【００３５】
ユーザは、操作部１３を操作することにより、放送局Ａにより放送されるラジオ番組の受信（コンテンツ４１Ａの再生）をＡＶレシーバ１に指示する（１回目の指示）。ＡＶレシーバ１は、放送局サーバ２からプレイリスト２１を取得する。ＡＶレシーバ１は、取得したプレイリスト２１で指定された再生順序に従って、複数の分割放送データ４１１を放送局サーバ２から取得して、バッファ３１に保存する。ＡＶレシーバ１は、バッファ３１に保存された分割放送データ４１１を、指定された再生順序に従って再生する。
【００３６】
ユーザが、１回目の指示の後に、放送局Ｂにより放送されるラジオ番組の受信（コンテンツ４２Ａの再生）をＡＶレシーバ１に指示する（２回目の指示）。ＡＶレシーバ１は、分割放送データ４１１の取得を停止する。ＡＶレシーバ１は、バッファ３１に保存された分割放送データ４１１の中で未再生の分割放送データ４１１を継続して保存する。ＡＶレシーバ１は、放送局サーバ３からプレイリスト２２を取得する。ＡＶレシーバ１は、取得したプレイリスト２２で指定された再生順序に従って、複数の分割放送データ４２１を取得してバッファ３２に保存する。ＡＶレシーバ１は、バッファ３２に保存された分割放送データ４２１を、指定された再生順序に従って再生する。
【００３７】
ユーザが、２回目の指示の後に、コンテンツ４１Ａの再生を再び指示する（３回目の指示）。ＡＶレシーバ１は、未再生の分割放送データ４１１の中で最初に再生される分割放送データ４１１（再生再開データ）を決定する。ＡＶレシーバ１は、再生再開データを再生することにより、コンテンツ４１Ａの再生を再開する。
【００３８】
このように、ＡＶレシーバ１は、３回目の指示を受け付けた場合、コンテンツ４１Ａのバッファリングをやり直さなくてもよいため、コンテンツ４１Ａの再生を速やかに再開することができる。ユーザが、再生対象のコンテンツを頻繁に切り替える場合であっても、ＡＶレシーバ１は、過去に再生を指示されたコンテンツを再び再生する場合、コンテンツの再生を再開する時間を短縮することができる。
【００３９】
｛ラジオ放送プログラム２５の動作｝
以下、ＡＶレシーバ１が上記１回目〜３回目の指示を受け付けた場合における、ラジオ放送プログラム２５の詳細な動作を説明する。本実施の形態では、ユーザがチャンネルを頻繁に切り替えることを想定しているため、１回目の指示から３回目の指示までの時間は、数十秒〜１分程度である。
【００４０】
｛１回目の指示｝
ユーザは、ＡＶレシーバ１を操作して、ＩＰサイマル放送の受信を指示する。ＡＶレシーバ１は、ラジオ放送プログラム２５を起動する。ラジオ放送プログラム２５は、前回起動したときに受信していた放送局Ａの放送を受信する。ユーザによるＩＰサイマル放送の受信の指示が、コンテンツ４１Ａの再生の指示（１回目の指示）に相当する。この時点で、バッファリスト２３，２４は、初期化される。バッファ３１，３２に保存されている全てのデータが消去される。
【００４１】
図５は、ラジオ放送プログラム２５の動作を示すフローチャートである。図５を参照して、ラジオ放送プログラム２５は、１回目の指示に従って、複数の分割放送データ４１１を取得する通常取得処理（ステップＳ１）を実行する。
【００４２】
図６は、通常取得処理（ステップＳ１）を実行するラジオ放送プログラム２５の動作を示すフローチャートである。図６を参照して、ラジオ放送プログラム２５は、予め設定されたバッファ時間を放送局サーバ２に送信することにより、プレイリスト２１のＵＲＬ（Uniform Resource Locator）の送信を要求する（ステップＳ１０１）。バッファ時間が９０秒に設定されていると仮定する。
【００４３】
放送局サーバ２は、プレイリスト２１の送信要求を受け付けた時刻（現在時刻）を基準にしてバッファ時間（９０秒）を遡った遡及時刻を計算する。放送局サーバ２は、計算された遡及時刻から現在時刻までに放送された分割放送データ４１１を特定する。放送局サーバ２は、特定された分割放送データ４１１のＵＲＬを含むプレイリスト２１を作成する。作成されたプレイリスト２１のＵＲＬが、ＡＶレシーバ１に送信される。
【００４４】
ラジオ放送プログラム２５は、プレイリスト２１のＵＲＬを放送局サーバ２から受信した場合（ステップＳ１０２においてＹｅｓ）、受信したＵＲＬを用いて、プレイリスト２１を放送局サーバ２から取得する（ステップＳ１０３）。
【００４５】
図７は、プレイリスト２１を示すテーブルである。図７を参照して、各分割放送データ４１１のＵＲＬが番号に対応付けて記述されている。プレイリスト２１の左欄の番号は、各分割放送データ４１１の再生順序を示す。
【００４６】
ラジオ放送プログラム２５は、プレイリスト２１に登録されたＵＲＬの中から番号「１」の分割放送データ４１１のＵＲＬを選択する（ステップＳ１０４）。ラジオ放送プログラム２５は、選択されたＵＲＬがバッファリスト２３に登録されているか否かを確認する（ステップＳ１０５）。
【００４７】
図８は、コンテンツ４１Ａの再生が開始される時点でのバッファリスト２３を示すテーブルである。図８を参照して、バッファリスト２３は、放送局サーバ２から取得した分割放送データ４１１のファイル名を、分割放送データ４１１のＵＲＬに対応付けたテーブルである。バッファリスト２３は初期化されているため、この時点では、番号「１」の分割放送データ４１１のＵＲＬは、バッファリスト２３に登録されていない（ステップＳ１０５においてＮｏ）。
【００４８】
ラジオ放送プログラム２５は、ステップＳ１０４で選択されたＵＲＬを用いて、番号「１」の分割放送データ４１１を放送局サーバ２から取得する（ステップＳ１０６）。取得された分割放送データ４１１は、バッファ３１に保存される。ラジオ放送プログラム２５は、番号「１」と、取得された分割放送データ４１１のファイル名（絶対パス）とを、ＵＲＬに対応付けて、バッファリスト２３に登録する（ステップＳ１０７）。
【００４９】
ラジオ放送プログラム２５は、バッファ３１に保存された分割放送データ４１１の再生時間の合計がバッファ時間以上であるか否かを確認する（ステップＳ１０８）。バッファ時間が９０秒であり、１つの分割放送データ４１１の再生時間が５秒であるため、ラジオ放送プログラム２５は、１８個の分割放送データ４１１がバッファ３１に保存されているか否かを確認する。
【００５０】
この時点で、バッファ３１に保存されている分割放送データ４１１の数は１であるため（ステップＳ１０８においてＮｏ）、ラジオ放送プログラム２５は、次の分割放送データ４１１を選択するために、ステップＳ１０４に戻る。
【００５１】
ステップＳ１０５の説明に戻る。ステップＳ１０４により選択された番号「１」の分割放送データ４１１のＵＲＬがバッファリスト２３に既に登録されていた場合（ステップＳ１０５においてＮｏ）、番号「１」の分割放送データ４１１を新たに取得する必要はないと判断し、ステップＳ１０４に戻る。
【００５２】
以下、ラジオ放送プログラム２５は、分割放送データ４１１のＵＲＬを、プレイリスト２１に登録された番号順に選択し（ステップＳ１０４）、ステップＳ１０５〜Ｓ１０８の処理を繰り返す。これにより、分割放送データ４１１のＵＲＬ及び保存先が、再生順序に従ってバッファリスト２３に登録される。
【００５３】
ラジオ放送プログラム２５は、バッファ３１に保存された分割放送データ４１１の再生時間の合計がバッファ時間以上である場合（ステップＳ１０８においてＹｅｓ）、バッファリングを終了したと判断し、図６に示す処理を終了する。
【００５４】
再び図５を参照して、ラジオ放送プログラム２５は、他の放送局が選択されない場合（ステップＳ２においてＮｏ）、バッファ３１に保存された分割放送データ４１１の再生を開始する（ステップＳ８）。ラジオ放送プログラム２５は、バッファ３１に保存された分割放送データ４１１を、バッファリスト２３に登録された番号の順に再生する。再生済みの分割放送データ４１１は、バッファ３１から削除される。再生済みの分割放送データ４１１のＵＲＬ及び保存先は、バッファリスト２３から削除される。
【００５５】
ラジオ放送プログラム２５は、ラジオ放送の受信終了を指示された場合（ステップＳ９においてＹｅｓ）、図５に示す処理を終了する。一方、ラジオ放送の受信終了を指示されない場合（ステップＳ９においてＮｏ）、ラジオ放送プログラム２５は、所定時間を経過したか否かを確認する（ステップＳ１０）。ラジオ放送プログラム２５は、所定時間を経過した場合（ステップＳ１０においてＹｅｓ）、通常取得処理（ステップＳ１）を実行する。分割放送データ４１１がバッファ３１に新たに保存されるため、ラジオ放送プログラム２５は、コンテンツ４１Ａの再生を続けることができる。
【００５６】
このように、ラジオ放送プログラム２５は、新たな放送局が選択されるまで（ステップＳ２においてＹｅｓ）、ステップＳ１，Ｓ２，Ｓ８〜Ｓ１０を実行してコンテンツ４２Ａを再生する。
【００５７】
｛２回目の指示｝
ラジオ放送プログラム２５が、コンテンツ４１Ａを１回目の指示に応じて再生しているときに、ユーザがコンテンツ４２Ａの再生を指示する（２回目の指示）。例えば、ユーザが、コンテンツ４２Ａの内容を確認するために、放送局Ｂを選択する場合などが想定される。
【００５８】
ラジオ放送プログラム２５は、放送局Ｂが選択された場合（ステップＳ２においてＹｅｓ）、コンテンツ４１Ａの再生を停止する（ステップＳ３）。
【００５９】
図９は、再生停止処理（ステップＳ３）を実行するラジオ放送プログラム２５の動作を示すフローチャートである。図９を参照して、ラジオ放送プログラム２５は、コンテンツ４１Ａに対応するタイマを起動し（ステップＳ３１）、２回目の指示が入力されてからの経過時間を計測する。
【００６０】
ラジオ放送プログラム２５は、分割放送データ４１１の再生を停止し、分割放送データ４１１の取得を停止する（ステップＳ３２）。ラジオ放送プログラム２５は、バッファ３１に保存された分割放送データ４１１の中で最後に再生された分割放送データ４１１の再生位置ポインタを保持する（ステップＳ３３）。
【００６１】
再生位置ポインタは、再生中の分割放送データ４１１を指し示す。図１０は、２回目の指示が入力されたときにおけるバッファリスト２３を示すテーブルである。図１０を参照して、再生位置ポインタが番号「３」を指しているため、ラジオ放送プログラム２５は、
番号「３」の分割放送データ４１１を最後に再生された分割放送データ４１１として特定する。ラジオ放送プログラム２５は、分割放送データ４１１の再生が停止されても、再生位置ポインタをそのまま保持する（ステップＳ３３）。
【００６２】
ラジオ放送プログラム２５は、バッファ３１に保存されている未再生の分割放送データ４１１を継続して保存する（ステップＳ３４）。つまり、放送局Ｂが選択されたとしても、未再生の分割放送データ４１１は、削除されず、バッファ３１にそのまま保存される。ラジオ放送プログラム２５は、再生停止処理（ステップＳ３）を終了し、ステップＳ４に進む。
【００６３】
図５を参照して、ラジオ放送プログラム２５は、分割放送データ４２１がバッファ３２に保存されているか否かを確認する（ステップＳ４）。
【００６４】
ラジオ放送プログラム２５は、分割放送データ４２１がバッファ３２に保存されていないため（ステップＳ４においてＮｏ）、分割放送データ４２１を放送局サーバ３から取得する通常取得処理を実行する（ステップＳ１）。分割放送データ４２１を取得する手順は、分割放送データ４１１を取得する手順と同様である。ラジオ放送プログラム２５は、放送局が新たに選択されるまで（ステップＳ２においてＹｅｓ）、ステップＳ１，Ｓ２，Ｓ８〜Ｓ１０を実行してコンテンツ４２Ａを再生する。
【００６５】
｛３回目の指示｝
ラジオ放送プログラム２５が、コンテンツ４２Ａを２回目の指示に応じて再生しているときに、ユーザがコンテンツ４１Ａの再生を指示する（３回目の指示）。例えば、コンテンツ４２Ａがユーザの希望する内容でなかったため、ユーザが、コンテンツ４１Ａの再生を再び指示する場合などが想定される。
【００６６】
図５を参照して、ラジオ放送プログラム２５は、放送局Ａが選択されたため（ステップＳ２においてＹｅｓ）、コンテンツ４２Ａの再生停止処理を実行する（ステップＳ３、図９参照）。コンテンツ４２Ａの再生を停止する手順は、コンテンツ４１Ａの再生を停止する手順と同様である。
【００６７】
ラジオ放送プログラム２５は、３回目の指示により選択された放送局Ａの分割放送データ４１１がバッファ３１に保存されているか否かを確認する（ステップＳ４）。２回目の指示が入力されたときに、未再生の分割放送データ４１１は、バッファ３１に保存されたままである。このため、ラジオ放送プログラム２５は、分割放送データ４１１がバッファ３１に保存していると判断し（ステップＳ４においてＹｅｓ）、再開位置決定処理（ステップＳ５）を実行する。
【００６８】
｛再開位置決定処理（ステップＳ５）｝
図１１は、再開位置決定処理（ステップＳ５）を実行するラジオ放送プログラム２５の動作を示すフローチャートである。
【００６９】
図１０及び図１１を参照して、ラジオ放送プログラム２５は、最後に再生された分割放送データ４１１の番号を取得する（ステップＳ５０１）。上述したように、コンテンツ４１Ａの再生停止処理（ステップＳ３、図９参照）において、ラジオ放送プログラム２５は、番号「３」を示す再生位置ポインタを保持している（ステップＳ３４）。したがって、ラジオ放送プログラム２５は、最後に再生された分割放送データ４１１の番号として、番号「３」を取得する。
【００７０】
ラジオ放送プログラム２５は、２回目の指示から３回目の指示までの経過時間を取得する（ステップＳ５０２）。ラジオ放送プログラム２５は、２回目の指示が入力されたときに、コンテンツ４１Ａに対応するタイマを起動している（ステップＳ３１、図９参照）。ラジオ放送プログラム２５は、３回目の指示が入力されるまでにタイマにより計測された時間を経過時間として取得する。
【００７１】
ラジオ放送プログラム２５は、ステップＳ５０２で取得された経過時間に再生することができる分割放送データ４１１の数（再生データ数）を、下記（式１）を用いて計算する（ステップＳ５０３）。
【００７２】
Ｎｆ＝Ｔｐ／Ｔｒ  ・・・（式１）
【００７３】
（式１）において、Ｔｐは、経過時間である。Ｔｒは、１つの分割放送データ４１１の再生時間（５秒）である。Ｎｆは、再生データ数である。経過時間が３５秒であると仮定した場合、再生データ数は、７となる。この場合、再生データ数は、２回目の指示から３回目の指示までに、７個の分割放送データ４１１を再生できたことを示す。
【００７４】
ラジオ放送プログラム２５は、再生再開位置を決定する（ステップＳ５０４）。再生再開位置は、３回目の指示により最初に再生される分割放送データ４１１（再生再開データ）の番号である。再生再開位置は、下記（式２）により計算される。
【００７５】
Ｓ＝Ｐｒ＋Ｎｆ  ・・・（式２）
【００７６】
（式２）において、Ｓは、再生再開位置である。Ｐｒは、再生位置ポインタにより示される番号である。再生位置ポインタが３を示し、再生データ数が７であるため、再生開始位置は、１０となる。ラジオ放送プログラム２５は、再生再開データを番号「１０」の分割放送データ４１１に決定する。再生再開位置が、経過時間を考慮して決定されるため、ラジオ放送プログラム２５は、３回目の指示により、バッファ時間よりも過去の分割放送データ４１１を再生することを防ぐことができる。
【００７７】
なお、経過時間によっては、再生再開位置が、バッファリスト２３に登録された最大の番号より大きくなる場合がある。この場合、ラジオ放送プログラム２５は、バッファ３１に保存されている未再生の分割放送データ４１１を用いて、コンテンツ４１Ａの再生を再開することができない。
【００７８】
ラジオ放送プログラム２５は、再生再開データよりも前に位置する分割放送データ４１１を削除する（ステップＳ５０５）。図１０を参照して、バッファリスト２３に登録されている分割放送データ４１１のうち、番号「３」〜「９」の分割放送データ４１１がバッファ３１から削除され、これらの分割放送データのＵＲＬ及び保存先がバッファリスト２３から削除される。これらの分割放送データ４１１は、３回目の指示により再生されることがないためである。なお、再生再開位置が、バッファリスト２３に登録されている最大の番号よりも大きい場合、バッファ３１に保存されている全ての分割放送データ４１１が削除される。
【００７９】
ラジオ放送プログラム２５は、バッファ３１に保存されている未再生の分割放送データ４１１の再生時間の合計（再生可能時間）を計算する（ステップＳ５０６）。ステップＳ５０５の後に、バッファ３１は、番号「１０」〜「２０」の分割放送データ４１１を保存している。バッファ３１に保存されている分割放送データ４１１の数が１１であるため、再生可能時間は、５５秒である。再生可能時間は、後述する放送データ追加処理（ステップＳ７）で用いられる。ラジオ放送プログラム２５は、再開位置決定処理（ステップＳ５）を終了する。
【００８０】
再び、図５を参照する。ラジオ放送プログラム２５は、分割放送データ４１１がバッファ３１に保存されているか否かを判定する（ステップＳ６）。
【００８１】
分割放送データ４１１がバッファ３１に保存されていない場合（ステップＳ６においてＮｏ）、ラジオ放送プログラム２５は、分割放送データ４１１を最初からバッファリングする必要があると判断し、通常取得処理（ステップＳ１）を実行する。
【００８２】
一方、分割放送データ４１１がバッファ３１に保存されている場合（ステップＳ６においてＹｅｓ）、ラジオ放送プログラム２５は、放送データ追加処理（ステップＳ７）を実行する。
【００８３】
｛放送データ追加処理（ステップＳ７）｝
図１２は、放送データ追加処理（ステップＳ７）を実行するラジオ放送プログラム２５の動作を示すフローチャートである。放送データ追加処理（ステップＳ７）は、バッファ３１に保存されている分割放送データ４１１の再生時間の合計がバッファ時間（９０秒）以上となるように、分割放送データ４１１を追加的に取得する処理である。
【００８４】
図１２を参照して、ラジオ放送プログラム２５は、追加取得時間を計算する（ステップＳ７０１）。追加取得時間は、下記（式３）に基づいて計算される。
【００８５】
Ｔａ＝（Ｔｂ−Ｔｓ）＋α  ・・・（式３）
【００８６】
（式３）において、Ｔａは、追加取得時間である。Ｔｂは、バッファ時間（９０秒）である。Ｔｓは、再生可能時間（５５秒）である。αは、重複時間である。重複時間が、再生可能時間をバッファ時間から引いた差分時間に加算されることにより、追加取得時間は、差分時間よりも大きく、バッファ時間よりも短くなるように設定される。追加取得時間が、（式３）により計算される理由を説明する。
【００８７】
ラジオ放送プログラム２５は、差分時間に相当する数の分割放送データ４１１を取得すれば、バッファ３１に保存された分割放送データ４１１の再生時間の合計をバッファ時間以上とすることができる。しかし、差分時間に相当するプレイリスト２１を用いて、分割放送データ４１１を新たに取得した場合、新たに取得された分割放送データ４１１が、バッファリスト２３に登録されている最後の分割放送データ４１１（番号「２０」の分割放送データ４１１）から連続して再生されるのか否かが不明である。
【００８８】
そこで、ラジオ放送プログラム２５は、重複時間を差分時間に加算した追加取得時間を用いて、プレイリスト２１を取得する。取得されたプレイリスト２１（追加プレイリスト）は、バッファリスト２３に既に登録されている分割放送データ４１１のＵＲＬを含む。すなわち、追加プレイリストは、既に登録されている分割放送データ４１１から連続して再生される分割放送データ４１１のＵＲＬを含む。ラジオ放送プログラム２５は、追加プレイリストを用いることにより、バッファ済みの分割放送データ４１１の後に連続して再生される分割放送データ４１１を取得することができる。これにより、ラジオ放送プログラム２５は、コンテンツ４１Ａを途切れさせることなく再生することができる。
【００８９】
ラジオ放送プログラム２５は、追加取得時間を放送局サーバ２に送信することにより、追加プレイリストのＵＲＬの送信を要求する（ステップＳ７０２）。ラジオ放送プログラム２５は、追加プレイリストのＵＲＬを受信した場合（ステップＳ７０３においてＹｅｓ）、受信したＵＲＬを用いて、追加プレイリストを取得する（ステップＳ７０４）。
【００９０】
ラジオ放送プログラム２５は、バッファリスト２３（図１０参照）に登録された分割放送データ４１１のＵＲＬのいずれかが、取得した追加プレイリストに記載されているか否かを確認する（ステップＳ７０５）。
【００９１】
番号「１０」〜「２０」の分割放送データ４１１のＵＲＬのいずれかが、追加プレイリストに記載されている場合（ステップＳ７０５においてＹｅｓ）、ラジオ放送プログラム２５は、バッファリスト２３に登録されていない分割放送データ４１１のＵＲＬの中で番号の一番小さいＵＲＬを、プレイリスト２１の中から選択する（ステップＳ７０６）。図１０には示していないが、ラジオ放送プログラム２５は、番号「２０」の分割放送データ４１１のＵＲＬを選択する。ラジオ放送プログラム２５は、選択したＵＲＬを用いて、分割放送データ４１１を取得する（ステップＳ７０７）。
【００９２】
ラジオ放送プログラム２５は、取得した分割放送データ４１１をバッファ３１に保存し、取得した分割放送データ４１１の保存先をＵＲＬに対応付けてバッファリスト２３に登録する（ステップＳ７０８）。
【００９３】
バッファ３１に保存された分割放送データ４１１の再生時間の合計がバッファ時間よりも大きい場合（ステップＳ７０９においてＹｅｓ）、ラジオ放送プログラム２５は、コンテンツ４１Ａに対応するタイマを停止し（ステップＳ７１０）、追加データ取得処理（ステップＳ７）を終了する。図５を参照して、ラジオ放送プログラム２５は、バッファされた分割放送データ４１１の再生を開始する（ステップＳ８、図５参照）。
【００９４】
このように、３回目の指示が入力された場合、ラジオ放送プログラム２５は、未再生の分割放送データ４１１の中で最後に再生される番号「２０」の分割放送データ４１１の後に続けて再生される分割放送データ４１１を取得する。バッファリングのために取得する分割放送データ４１１を削減できるため、コンテンツ４１Ａの再生を速やかに開始できる。
【００９５】
ステップＳ７０５（図１２参照）の説明に戻る。追加プレイリストに記載されたＵＲＬが、バッファリスト２３に登録されていない場合（ステップＳ７０５においてＮｏ）、ラジオ放送プログラム２５は、重複時間を増加させた上で、追加取得時間を再設定する（ステップＳ７１１）。
【００９６】
再設定された追加取得時間がバッファ時間以下である場合（ステップＳ７１２においてＮｏ）、ラジオ放送プログラム２５は、再設定された追加取得時間に対応する追加プレイリストを取得する（ステップＳ７０２）。
【００９７】
一方、再設定された追加取得時間がバッファ時間よりも大きい場合（ステップＳ７１２においてＹｅｓ）、ラジオ放送プログラム２５は、再設定される前の追加取得時間に対応する追加プレイリストを用いて、ステップＳ７０６〜Ｓ７０９を実行する。この場合、ラジオ放送プログラム２５は、新たに取得される分割放送データ４１１が、バッファされている分割放送データ４１１に連続して再生されるデータであるか否かを確認することはできない。しかし、バッファリングのために取得する分割放送データ４１１の数を削減することができる。
【００９８】
以上説明したように、ラジオ放送プログラム２５は、コンテンツ４１Ａの再生中に、コンテンツ４２Ａの再生を指示する２回目の指示を受け付けた場合、未再生の分割放送データ４１１をバッファ３１に継続して保存する。ラジオ放送プログラム２５は、２回目の指示に応じてコンテンツ４２Ａを再生しているときに、コンテンツ４１Ａの再生を指示する３回目の指示を受け付けた場合、未再生の分割放送データ４１１を用いて、コンテンツ４１Ａの再生を再開する。これにより、ラジオ放送プログラム２５は、３回目の指示を受け付けたときに、コンテンツ４１Ａを速やかに再生することができる。
【００９９】
上記実施の形態では、ユーザが、１回目及び３回目の指示において、放送局Ａの放送の受信を指示し、２回目の指示において、放送局Ｂの放送を指示する例を説明したが、これに限られない。ユーザは、２回目の指示から３回目の指示までの間に、放送局Ｃを選択してもよい。あるいは、ユーザは、放送局Ｃを選択した後に、さらに図示しない別の放送局を選択してもよい。この場合であっても、ラジオ放送プログラム２５は、未再生の分割放送データ４１１を用いて、コンテンツ４１Ａの再生を再開することができる。すなわち、ユーザは、２回目の指示の後に放送局Ａを選択すればよい。
【０１００】
上記実施の形態では、ラジオ放送プログラム２５が、３回目の指示が入力されたときに、再生再開位置を決定する例を説明したが、これに限られない。ラジオ放送プログラム２５は、再生位置ポインタで示される分割放送データ４１１の次に再生される分割放送データ４１１から再生を開始してもよい。すなわち、ラジオ放送プログラム２５は、３回目の指示が入力された場合、未再生の分割放送データ４１１の中から再生再開データを決定し、未再生の分割放送データ４１１の再生を、決定された再生再開データから開始すればよい。
【０１０１】
上記実施の形態では、ラジオ放送プログラム２５が、３回目の指示が入力されたときに、追加プレイリストを取得してバッファリングする例を説明したが、これに限られない。ラジオ放送プログラム２５は、バッファリングを完了していなくても、再生再開位置に決定された分割放送データ４１１の再生を開始してもよい。
【０１０２】
上記実施の形態では、ラジオ放送プログラム２５が、３回目の指示が入力されたときに、追加プレイリストを取得する例を説明したが、これに限られない。ラジオ放送プログラム２５は、差分時間を放送局サーバ２に送信して、追加プレイリストのＵＲＬの送信を要求してもよい。
【０１０３】
上記実施の形態では、コンテンツ再生装置の一例として、ＡＶレシーバ１を説明したが、これに限られない。例えば、コンテンツ再生装置は、ＡＶレシーバ１以外のＡＶ機器、スマートフォン、携帯電話、ＰＣなど、インターネット５に接続する機能を有し、ラジオ放送プログラム２５をインストール可能なコンピュータであればよい。
【０１０４】
上記実施の形態において、ラジオ放送プログラム２５がＡＶレシーバ１にインストールされている例を説明した。ラジオ放送プログラム２５をインストールする方法は、特に限定されない。例えば、ラジオ放送プログラム２５は、ネットワークに接続されたサーバからダウンロードされ、ＡＶレシーバ１にインストールされてもよい。あるいは、ラジオ放送プログラム２５を記録したコンピュータ読み取り可能な媒体（例えば、光ディスク、ＵＳＢ（Universal Serial Bus）メモリ、フレキシブルディスクなど）が配布されている場合、ラジオ放送プログラム２５は、その媒体からタブレット型端末にインストールされてもよい。
【０１０５】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【符号の説明】
【０１０６】
１  ＡＶレシーバ
２〜４  放送局サーバ
５  インターネット
１１  ＣＰＵ
１２  ＲＡＭ
１３  操作部
１４  ネットワークインタフェース
１５  フラッシュメモリ
２１，２２  プレイリスト
２３，２４  バッファリスト
２５  ラジオ放送プログラム
３１，３２  バッファ
４１，４２  放送データ
４１１，４２１  分割放送データ
【図１】
2014017589.tif 000003
【図２】
2014017589.tif 000004
【図３】
2014017589.tif 000005
【図４】
2014017589.tif 000006
【図５】
2014017589.tif 000007
【図６】
2014017589.tif 000008
【図７】
2014017589.tif 000009
【図８】
2014017589.tif 000010
【図９】
2014017589.tif 000011
【図１０】
2014017589.tif 000012
【図１１】
2014017589.tif 000013
【図１２】
2014017589.tif 000014