(57)【特許請求の範囲】
【請求項１】
配信サーバからストリーミングデータとして配信されるストリーミングコンテンツを取得してバッファリングする取得手段と、
前記バッファリングされたストリーミングコンテンツを再生する再生手段とを備えているコンテンツ再生装置であって、
前記取得手段がバッファリングしたストリーミングコンテンツから、先頭から所定の記憶時間分を取得して、部分保存コンテンツとして記憶部に記憶する先頭記憶手段を備え、
前記再生手段は、前記部分保存コンテンツに続けて、前記取得手段がバッファリングしたストリーミングコンテンツを、前記部分保存コンテンツの続きの位置から再生し、
前記コンテンツ再生装置は、さらに、
前記部分保存コンテンツを表示部にサムネイル表示する画面表示手段を備え、
前記画面表示手段は、前記サムネイルを、部分保存コンテンツの属性値によって並べ替えて表示することを特徴とするコンテンツ再生装置。
【請求項２】
前記属性値は、部分保存コンテンツの記憶されたときの日時、再生回数、および、当該部分保存コンテンツを先頭部分に有するストリーミングコンテンツが取得開始されてから再生開始されるまでの時間の少なくともいずれか１つであることを特徴とする請求項１に記載のコンテンツ再生装置。
【請求項３】
配信サーバからストリーミングデータとして配信されるストリーミングコンテンツを取得してバッファリングする取得手段と、
前記バッファリングされたストリーミングコンテンツを再生する再生手段とを備えているコンテンツ再生装置であって、
前記取得手段がバッファリングしたストリーミングコンテンツから、先頭から所定の記憶時間分を取得して、部分保存コンテンツとして記憶部に記憶する先頭記憶手段を備え、
前記再生手段は、前記部分保存コンテンツに続けて、前記取得手段がバッファリングしたストリーミングコンテンツを、前記部分保存コンテンツの続きの位置から再生し、
前記記憶部に前記部分保存コンテンツが記憶されている場合、当該部分保存コンテンツの記憶時間が、前記部分保存コンテンツを先頭部分に有する前記ストリーミングコンテンツが取得開始されてから、前記部分保存コンテンツの続きの位置から再生開始されるまでの途中再生準備時間よりも短いとき、前記先頭記憶手段は、前記途中再生準備時間を、新たな記憶すべき部分保存コンテンツの記憶時間とすることを特徴とするコンテンツ再生装置。
【請求項４】
配信サーバからストリーミングデータとして配信されるストリーミングコンテンツを取得してバッファリングする取得手段と、
前記バッファリングされたストリーミングコンテンツを再生する再生手段とを備えているコンテンツ再生装置であって、
前記取得手段がバッファリングしたストリーミングコンテンツから、先頭から所定の記憶時間分を取得して、部分保存コンテンツとして記憶部に記憶する先頭記憶手段を備え、
前記再生手段は、前記部分保存コンテンツに続けて、前記取得手段がバッファリングしたストリーミングコンテンツを、前記部分保存コンテンツの続きの位置から再生し、
前記コンテンツ再生装置は、さらに、
配信サーバとの通信速度を計測する通信速度計測手段と、
予め設定された、配信サーバとの通信速度と該通信速度に適した記憶時間との対応関係に基づいて、前記通信速度計測手段によって計測された通信速度から、前記部分保存コンテンツの記憶時間を導き出す記憶時間導出手段とを備えていることを特徴とするコンテンツ再生装置。
【請求項５】
配信サーバからストリーミングデータとして配信されるストリーミングコンテンツを取得してバッファリングする取得手段と、
前記バッファリングされたストリーミングコンテンツを再生する再生手段とを備えているコンテンツ再生装置であって、
前記取得手段がバッファリングしたストリーミングコンテンツから、先頭から所定の記憶時間分を取得して、部分保存コンテンツとして記憶部に記憶する先頭記憶手段を備え、
前記再生手段は、前記部分保存コンテンツに続けて、前記取得手段がバッファリングしたストリーミングコンテンツを、前記部分保存コンテンツの続きの位置から再生し、
前記コンテンツ再生装置は、さらに、
前記記憶部に前記部分保存コンテンツが記憶されていない場合、前記記憶部の残り容量と、記憶する部分保存コンテンツの最大数とから、前記先頭記憶手段によって記憶されるべき前記部分保存コンテンツの記憶時間を算出する記憶時間算出手段を備えていることを特徴とするコンテンツ再生装置。
【請求項６】
前記部分保存コンテンツを表示部にサムネイル表示する画面表示手段を備えていることを特徴とする請求項３から５のいずれか１項に記載のコンテンツ再生装置。
【請求項７】
前記取得手段によってバッファリングされたストリーミングコンテンツは、動画コンテンツであって、
前記部分保存コンテンツが記憶されている場合には、前記部分保存コンテンツが再生されたフレーム数を数え、前記フレーム数から、前記再生手段が前記ストリーミングコンテンツを再生する際の再生開始位置を探索する再生位置探索手段を備えていることを特徴とする請求項１から６のいずれか１項に記載のコンテンツ再生装置。
【請求項８】
前記取得手段によってバッファリングされたストリーミングコンテンツは、動画コンテンツであって、
前記部分保存コンテンツが記憶されている場合には、前記部分保存コンテンツの最後のフレームに含まれるタイムコードと一致するタームコードを含むフレームを、前記取得手段によってバッファリングされたストリーミングコンテンツから探索し、探索されたフレームの次のフレーム位置を、前記再生手段が前記ストリーミングコンテンツを再生する際の再生開始位置とする再生位置探索手段を備えていることを特徴とする請求項１から６のいずれか１項に記載のコンテンツ再生装置。
【請求項９】
請求項１から８のいずれか１項に記載のコンテンツ再生装置としてコンピュータを機能させるための制御プログラムであって、コンピュータを前記各手段として機能させるための制御プログラム。
【請求項１０】
請求項９に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
配信サーバからストリーミングデータとして配信されるストリーミングコンテンツを取得してバッファリングし、前記バッファリングしたストリーミングコンテンツを再生するコンテンツ再生装置のコンテンツ再生方法であって、
バッファリングしたストリーミングコンテンツから、先頭から所定の記憶時間分を取得して、部分保存コンテンツとして記憶部に記憶する先頭記憶ステップと、
前記部分保存コンテンツに続けて、前記バッファリングしたストリーミングコンテンツを、前記部分保存コンテンツの続きの位置から再生する再生ステップと、
前記部分保存コンテンツを表示部にサムネイル表示する画面表示ステップとを含み、
前記画面表示ステップでは、前記サムネイルを、部分保存コンテンツの属性値によって並べ替えて表示することを特徴とするコンテンツ再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーミングコンテンツの再生を行うコンテンツ再生装置、コンテンツ再生方法、プログラム、および記録媒体に関する。
【背景技術】
【０００２】
従来、ネットワークに接続された配信サーバからコンテンツを受信して再生する方法としては、主に２種類がある。１つは保存型であり、もう１つはストリーミング型である。保存型とは、コンテンツを配信サーバからすべて受信した後に再生を開始する方法である。一方、ストリーミング型とは、配信サーバからコンテンツを受信しながら並行して再生を行う方法である。
【０００３】
ストリーミング型は、コンテンツ全体をダウンロードしなくても、そのコンテンツの一部を読み込んだ時点で再生可能であるため、保存型に比べて、視聴できるまでユーザに長期間で待たせるという問題を解決できる。よって、ストリーミング型の再生方法は広く普及されつつある。
【０００４】
しかしながら、従来のストリーミング型の再生方法では、保存型の再生方法より、視聴するための待ち時間を短縮できるが、前記待ち時間を完全になくすことができない。少なくとも、コンテンツの一部をダウンロードするために、待ち時間が必要である。すなわち、ユーザがストリーミングコンテンツの再生指示を行ってから、当該ストリーミングコンテンツの再生を開始するまで、数秒から数十秒程度の待ち時間が生じてしまう。
【０００５】
そこで、上述のような待ち時間をできるだけ減らすために、以下の技術が開示されている。
【０００６】
特許文献１には、ストリーミングデータの初回再生時にプレバッファリングしたデータを保存しておき、次回再生時に再利用する技術が開示されている。具体的には、ストリーミングデータを取得してバッファリングしてから、再生を開始するまでの間にバッファリングされたストリーミングデータを保存しておき、次回再生するとき、前記保存したデータの続きからストリーミングデータの取得およびバッファリングを行い、前記保存したデータと前記バッファリングしたデータを用いて再生を開始する。
【０００７】
また、特許文献２には、ローカル環境に保存済みの端末保存コンテンツと、この端末保存コンテンツとは別のストリーミングコンテンツとを続けて再生する技術が開示されている。具体的には、端末保存コンテンツの再生中に、次に再生するストリーミングコンテンツを配信サーバから先行取得してバッファリングし、前記端末保存コンテンツの再生が終了した後、前記バッファリングされているストリーミングコンテンツを再生する。
【０００８】
また、特許文献３には、部分ストリーミングデータを予めダウンロードしてローカルに格納する技術が開示されている。具体的には、予め用意された部分ストリーミングデータを一括でダウンロードしておき、ストリーミングデータを再生するとき、前記ストリーミングデータに対応する部分ストリーミングデータを再生するとともに、前記ストリーミングデータを配信サーバから受信してバッファリングする。そして、前記部分ストリーミングデータの再生が終了したあと、前記バッファリングされているストリーミングデータを再生する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−３３３５７９号公報（２００３年１１月２１日公開）
【特許文献２】特開２００９−２２５１７７号公報（２００９年１０月１公開）
【特許文献３】特開２００６−８０６１２号公報（２００６年３月２３日公開）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１に開示された技術は、上述のように、ストリーミングデータの取得が、先頭からではなく、保存したデータの続きから、すなわち、ストリーミングデータの中途から取得するものである。よって、以下の２つの問題が生じてしまう。１つは、前記技術が、ストリーミングデータを途中から取得することが可能な環境にしか適用できない。すなわち、ストリーミング配信サーバの仕様やプロトコルによって、データの先頭部分からしか取得できない場合には、対応できない。もう１つは、ストリーミングデータが途中で取得されたため、そのストリーミングデータの先頭まで巻き戻しができない。さらに、前記保存したデータと前記バッファリングしたデータは、いずれもバッファに保存されたため、複数のストリーミングデータを連続して再生する場合には、前に保存したデータが、次に保存したデータに書き換わって、利用できなくなる。よって、２つ以上前に再生されたストリーミングデータを繰り返し再生するとき、待ち時間が生じてしまうという問題もある。
【００１１】
また、特許文献２に開示された技術は、端末保存コンテンツの再生中に、次に再生するストリーミングコンテンツを先行取得するものである。このため、端末保存コンテンツおよびストリーミングコンテンツの組み合わせとして、３つ以上を続けて再生しようとすると、端末保存コンテンツと、ストリーミングコンテンツとを交互に再生させるように、コンテンツの再生順序（再生リスト）を予め指定する必要がある。よって、ストリーミングコンテンツを連続して再生する場合には、前記技術は適用できない。
【００１２】
また、特許文献３に開示された技術は、予め用意された部分ストリーミングデータを一括でダウンロードすることが前提であるため、用意されていない部分ストリーミングデータに対応するストリーミングデータの再生には、適用できない。また、前記部分ストリーミングデータの長さが予め決められているため、通信速度などの通信情況に応じて変更することができない。すなわち、通信情況に適したストリーミングデータの長さを、クライアント側で自由に設定することができない。
【００１３】
このように、従来技術では、場合によって待ち時間が生じてしまう、または、適用が限定されてしまうという問題がある。つまり、従来技術では、待ち時間を確実に減らし、自由度が高く、広く利用することができない。
【００１４】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ストリーミングコンテンツを繰り返し再生する際、待ち時間を確実に減らし、自由度が高く、広く利用することが可能なコンテンツ再生装置、コンテンツ再生方法、プログラム、および記録媒体を提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明に係るコンテンツ再生装置は、配信サーバからストリーミングデータとして配信されるストリーミングコンテンツを取得してバッファリングする取得手段と、前記バッファリングされたストリーミングコンテンツを再生する再生手段とを備えているコンテンツ再生装置であって、前記取得手段がバッファリングしたストリーミングコンテンツから、先頭から所定の記憶時間分を取得して、部分保存コンテンツとして記憶部に記憶する先頭記憶手段を備え、前記記憶部に記憶されている前記部分保存コンテンツの再生中に、前記取得手段は、前記配信サーバから前記部分保存コンテンツを先頭部分に有する前記ストリーミングコンテンツを先頭から取得してバッファリングし、前記再生手段は、前記部分保存コンテンツに続けて、前記取得手段がバッファリングしたストリーミングコンテンツを、前記部分保存コンテンツの続きの位置から再生することを特徴としている。
【００１６】
また、上記課題を解決するために、本発明に係るコンテンツ再生方法は、配信サーバからストリーミングデータとして配信されるストリーミングコンテンツを取得してバッファリングし、前記バッファリングしたストリーミングコンテンツを再生するコンテンツ再生装置のコンテンツ再生方法であって、バッファリングしたストリーミングコンテンツから、先頭から所定の記憶時間分を取得して、部分保存コンテンツとして記憶部に記憶する先頭記憶ステップと、前記記憶部に記憶されている前記部分保存コンテンツの再生中に、前記配信サーバから前記部分保存コンテンツを先頭部分に有する前記ストリーミングコンテンツを先頭から取得してバッファリングする取得ステップと、前記部分保存コンテンツに続けて、前記取得ステップにてバッファリングしたストリーミングコンテンツを、前記部分保存コンテンツの続きの位置から再生する再生ステップとを含むことを特徴としている。
【００１７】
上記の構成によれば、保存されている部分保存コンテンツの再生中に、前記部分保存コンテンツを先頭部分に有するストリーミングコンテンツを取得し、前記部分保存コンテンツに続けて、前記取得されたストリーミングコンテンツを、前記部分保存コンテンツの続きの位置から再生することができる。よって、ユーザが前記ストリーミングコンテンツを再生しようとするとき、ユーザを待たせることなく、すぐに再生することができる。
【００１８】
また、上記の構成によれば、取得手段は、ストリーミングコンテンツを先頭から取得することができる。ほとんどのストリーミング配信サーバは、先頭からストリーミングコンテンツを取得することに対応しているため、上記の構成は、ほとんどのストリーミング配信サーバに適用でき、途中からストリーミングコンテンツを取得する構成に比べて、広く利用することができる。さらに、前記ストリーミングコンテンツが先頭から取得されるため、再生中に自由に巻き戻しができ、ユーザの利便性を向上させることができる。
【００１９】
また、上記の構成によれば、前記部分保存コンテンツは、取得手段がバッファリングしたストリーミングコンテンツから、先頭から所定の記憶時間分を取得して、部分保存コンテンツとして記憶部に記憶することができる。よって、ユーザが一度視聴したすべてのストリーミングコンテンツの先頭部分を部分保存コンテンツとして保存することができ、予め用意された部分ストリーミングデータしかダウンロードすることができない構成に比べて、適用範囲が広がる。
【００２０】
以上のことから、上記の構成によれば、ストリーミングコンテンツを繰り返し再生する際、待ち時間を確実に減らし、自由度が高く、広く利用することが可能という効果を奏する。
【００２１】
また、上記コンテンツ再生装置は、前記部分保存コンテンツの前記記憶時間が、前記部分保存コンテンツを先頭部分に有する前記ストリーミングコンテンツが取得開始されてから、前記部分保存コンテンツの続きの位置から再生開始されるまでの途中再生準備時間より長いことが好ましい。
【００２２】
上記の構成によれば、部分保存コンテンツの記憶時間を途中再生準備時間より長くすることによって、部分保存コンテンツの再生が終了してストリーミングコンテンツの再生に切り替えるとき、待ち時間が発生する確率を減少させることができるという効果を奏する。
【００２３】
また、上記コンテンツ再生装置は、前記記憶部に前記部分保存コンテンツが記憶されている場合、当該部分保存コンテンツの記憶時間が、前記部分保存コンテンツを先頭部分に有する前記ストリーミングコンテンツが取得開始されてから、前記部分保存コンテンツの続きの位置から再生開始されるまでの途中再生準備時間よりも短いとき、前記先頭記憶手段は、前記途中再生準備時間を、新たな記憶すべき部分保存コンテンツの記憶時間とすることが好ましい。
【００２４】
通信環境の不安定や、上記コンテンツ再生装置が通信速度の低いエリアに移動したことなどの原因で、待ち時間が生じていなかった状態から、待ち時間が生じる状態に変わることが考えられる。上記の構成によれば、部分保存コンテンツの記憶時間が途中再生準備時間より短い場合、途中再生準備時間を新しい記憶時間として、部分保存コンテンツを記憶することができる。よって、部分保存コンテンツの記憶時間が再生するたびに長くなり、待ち時間が発生する確率をさらに減少させることができるという効果を奏する。
【００２５】
また、上記コンテンツ再生装置は、前記記憶部に前記部分保存コンテンツが記憶されていない場合、前記ストリーミングコンテンツが取得開始されてから再生開始されるまでに要した再生準備時間を計測する時間計測手段と、前記時間計測手段によって計測された再生準備時間から、前記先頭記憶手段によって記憶されるべき前記部分保存コンテンツの記憶時間を推算する記憶時間推算手段とを備えていることが好ましい。
【００２６】
上記の構成によれば、再生準備時間を考慮して、部分保存コンテンツの記憶時間を決定することができる。よって、部分保存コンテンツの記憶時間の決定精度を上げることができるという効果を奏する。
【００２７】
また、上記コンテンツ再生装置は、配信サーバとの通信速度を計測する通信速度計測手段と、予め設定された、配信サーバとの通信速度と該通信速度に適した記憶時間との対応関係に基づいて、前記通信速度計測手段によって計測された通信速度から、前記部分保存コンテンツの記憶時間を導き出す記憶時間導出手段とを備えていることが好ましい。
【００２８】
上記の構成によれば、通信速度を考慮して、部分保存コンテンツの記憶時間を決定することができる。よって、通信速度に応じて、部分保存コンテンツの記憶時間を変更することができ、ユーザの待ち時間を減少させるとともに、記憶部の使用容量を必要最小限に抑えることができるという効果を奏する。
【００２９】
また、上記コンテンツ再生装置は、前記記憶部に前記部分保存コンテンツが記憶されていない場合、前記記憶部の残り容量と、記憶する部分保存コンテンツの最大数とから、前記先頭記憶手段によって記憶されるべき前記部分保存コンテンツの記憶時間を算出する記憶時間算出手段を備えていることが好ましい。
【００３０】
部分保存コンテンツの記憶時間が長いほど、待ち時間が生じる確率が低くなるため、記憶部の記憶容量に余裕がある限り、できるだけ記憶時間を長く設定することが望ましい。また、近年、記憶部の記憶容量が迅速に増える傾向がある。
【００３１】
上記の構成によれば、記憶部の残り容量と記憶する部分保存コンテンツの最大数を考慮して、部分保存コンテンツの記憶時間を決定することができる。よって、記憶部の記憶容量が増えるにつれて、部分保存コンテンツの記憶時間が長くなり、ユーザの待ち時間が生じる確率をさらに減少させることが期待できる。
【００３２】
また、上記コンテンツ再生装置は、前記部分保存コンテンツを表示部にサムネイル表示する画面表示手段を備えていることが好ましい。
【００３３】
上記の構成によれば、部分保存コンテンツをサムネイルで表示することによって、ユーザが、直感的に部分保存コンテンツを操作することができ、部分保存コンテンツを管理することが容易になるという効果を奏する。
【００３４】
また、上記コンテンツ再生装置は、前記画面表示手段は、前記サムネイルを、部分保存コンテンツの属性値によって並べ替えて表示することが好ましい。
【００３５】
また、上記属性値は、部分保存コンテンツの記憶されたときの日時、再生回数、および、当該部分保存コンテンツを先頭部分に有するストリーミングコンテンツが取得開始されてから再生開始されるまでの時間の少なくともいずれか１つであることが好ましい。
【００３６】
上記の構成によれば、部分保存コンテンツを、その部分保存コンテンツの記憶されたときの日時、再生回数、および、当該部分保存コンテンツを先頭部分に有するストリーミングコンテンツが取得開始されてから再生開始されるまでの時間などの属性値に基づいて並べ替えて表示することができる。よって、ユーザが再生したいコンテンツを簡単に検索、管理することができるという効果を奏する。
【００３７】
また、上記コンテンツ再生装置は、前記取得手段によってバッファリングされたストリーミングコンテンツは、動画コンテンツであって、前記部分保存コンテンツが記憶されている場合には、前記部分保存コンテンツが再生されたフレーム数を数え、前記フレーム数から、前記再生手段が前記ストリーミングコンテンツを再生する際の再生開始位置を探索する再生位置探索手段を備えていることが好ましい。
【００３８】
また、上記コンテンツ再生装置は、前記取得手段によってバッファリングされたストリーミングコンテンツは、動画コンテンツであって、前記部分保存コンテンツが記憶されている場合には、前記部分保存コンテンツの最後のフレームに含まれるタイムコードと一致するタームコードを含むフレームを、前記取得手段によってバッファリングされたストリーミングコンテンツから探索し、探索されたフレームの次のフレーム位置を、前記再生手段が前記ストリーミングコンテンツを再生する際の再生開始位置とする再生位置探索手段を備えていることが好ましい。
【００３９】
上記の構成によれば、フレーム数やタイムコードによって、再生開始位置を探索することができる。よって、部分保存コンテンツの再生から、ストリーミングコンテンツの再生に切り替えるとき、速やかかつ正確に再生開始位置を探索することができ、ストリーミングコンテンツを円滑に再生することができるという効果を奏する。
【００４０】
なお、上記コンテンツ再生装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記コンテンツ再生装置の各手段として動作させることにより、上記コンテンツ再生装置をコンピュータにて実現させる制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に入る。
【発明の効果】
【００４１】
以上のように、本発明に係るコンテンツ再生装置は、取得手段がバッファリングしたストリーミングコンテンツから、先頭から所定の記憶時間分を取得して、部分保存コンテンツとして記憶部に記憶する先頭記憶手段を備え、前記記憶部に記憶されている前記部分保存コンテンツの再生中に、前記取得手段は、前記配信サーバから前記部分保存コンテンツを先頭部分に有する前記ストリーミングコンテンツを先頭から取得してバッファリングし、再生手段は、前記部分保存コンテンツに続けて、前記取得手段がバッファリングしたストリーミングコンテンツを、前記部分保存コンテンツの続きの位置から再生する構成である。
【００４２】
また、本発明に係るコンテンツ再生方法は、バッファリングしたストリーミングコンテンツから、先頭から所定の記憶時間分を取得して、部分保存コンテンツとして記憶部に記憶する先頭記憶ステップと、前記記憶部に記憶されている前記部分保存コンテンツの再生中に、配信サーバから前記部分保存コンテンツを先頭部分に有する前記ストリーミングコンテンツを先頭から取得してバッファリングする取得ステップと、前記部分保存コンテンツに続けて、前記取得ステップにてバッファリングしたストリーミングコンテンツを、前記部分保存コンテンツの続きの位置から再生する再生ステップとを含む構成である。
【００４３】
したがって、ストリーミングコンテンツを繰り返し再生する際、待ち時間を確実に減らし、自由度が高く、広く利用することが可能であるという効果を奏する。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施形態を示すものであり、当該実施形態に係る携帯電話機の要部構成を示すブロック図である。
【図２】前記携帯電話機では、１回目の処理において、ストリーミングコンテンツの再生および保存についての処理概要を示す図である。
【図３】前記携帯電話機では、２回目以降の処理において、保存コンテンツおよびストリーミングコンテンツの再生についての処理概要を示す図である。
【図４】前記携帯電話機では、配信サーバからストリーミングコンテンツを受信してから再生するまでの処理の流れを示すフローチャートである。
【図５】前記携帯電話機では、１回目の処理において、ストリーミングコンテンツを保存するとともに再生する処理の流れを示すフローチャートである。
【図６】前記携帯電話機では、表示部におけるサムネイルで表示されている保存コンテンツの一覧を示す図である。
【図７】前記携帯電話機では、保存コンテンツから、ストリーミングコンテンツに切り替えて再生する場合の処理流れを示すフローチャートである。
【図８】前記携帯電話機では、保存コンテンツから、ストリーミングコンテンツに切り替えて再生する場合の他の処理流れを示すフローチャートである。
【図９】前記実施形態に係る動画コンテンツの１フレームの一般的な構造を示す図である。
【図１０】前記携帯電話機では、待ち時間が多少発生した場合の処理流れを示すフローチャートである。
【図１１】本発明の他の実施形態を示すものであり、当該実施形態に係る携帯電話機の要部構成を示すブロック図である。
【図１２】前記携帯電話機では、１回目の処理において、ストリーミングコンテンツを保存するとともに再生する処理の他の流れを示すフローチャートである。
【図１３】本発明のさらに他の実施形態を示すものであり、当該実施形態に係る携帯電話機の要部構成を示すブロック図である。
【図１４】前記携帯電話機では、１回目の処理において、ストリーミングコンテンツを保存するとともに再生する処理のさらに他の流れを示すフローチャートである。
【発明を実施するための形態】
【００４５】
本発明の実施形態に係るコンテンツ再生装置について、図面を参照して説明すれば以下のとおりである。
【００４６】
以下の実施形態に係るコンテンツ再生装置は、携帯電話機として実現される。ただし、本発明は、携帯電話機に限らず、コンテンツ再生装置一般に適用することができる。
【００４７】
〔第１の実施形態〕
本発明の一実施形態に係る携帯電話機１（コンテンツ再生装置）について、図１から図１０に基づいて説明すれば、以下のとおりである。
【００４８】
（処理概要）
まず、本実施形態に係る携帯電話機１において、ストリーミングコンテンツの保存および再生について説明する。
【００４９】
具体的には、１回目の処理において、ストリーミングコンテンツの再生中に、先頭から所定時間のストリーミングコンテンツ（以下、「保存コンテンツ」と称する場合がある）を保存する。
【００５０】
そして、２回目以降の処理では、ストリーミングコンテンツを再生しようとするとき、まず、保存された保存コンテンツ（部分保存コンテンツ）を再生する。そして、前記保存コンテンツの再生中に、配信サーバからストリーミングコンテンツを先頭から受信してバッファリングする。それから、保存コンテンツの再生が終了してから、バッファリングされたストリーミングコンテンツを、保存コンテンツが再生された分の続きから再生する。
【００５１】
ここで、１回目の処理とは、再生されたことのないストリーミングコンテンツに対する再生処理である。また、２回目以降の処理とは、少なくとも１回再生されたことがあるストリーミングコンテンツに対する再生処理であって、当該ストリーミングコンテンツに対応する保存コンテンツがローカル環境で既に保存されている場合の処理である。
【００５２】
以上のことから、２回目以降の処理において、携帯電話機１がユーザからの再生指示を受けてから、すぐに再生を開始することができ、バッファリングするためにユーザに待たせる必要がない。
【００５３】
図２は、１回目の処理において、ストリーミングコンテンツの再生および保存についての処理概要を示す図である。また、図３は、２回目以降の処理において、保存コンテンツおよびストリーミングコンテンツの再生についての処理概要を示す図である。
【００５４】
携帯電話機１は、ユーザから、ストリーミングコンテンツの再生指示を受け付けると、まず、前記ストリーミングコンテンツに対応する保存コンテンツがあるか否かを判断する。保存コンテンツがない場合には、１回目の処理であると判断することができる。そして、図２に示すように、携帯電話機１は、まず、配信サーバから、ユーザが指定したストリーミングコンテンツを受信してバッファリングする。次に、バッファリングされたストリーミングコンテンツを再生するのに必要最低限のデータ量が貯まったら、再生を開始するとともに、先頭から、所定時間のストリーミングコンテンツをローカルに保存する。保存されたストリーミングコンテンツが所定時間分に達した後、前記ストリーミングコンテンツの保存を停止し、再生を継続する。
【００５５】
また、携帯電話機１は、ユーザから、前記ストリーミングコンテンツの再生指示を再度受け付けると、１回目の処理と同様に、まず、保存コンテンツがあるか否かを判断する。保存コンテンツが既に存在している場合には、２回目以降の処理と判断することができる。そして、図３に示すように、前記保存コンテンツを再生するとともに、ストリーミングコンテンツを受信してバッファリングする。次に、前記保存コンテンツの再生が終了した時点で、バッファリングされたストリーミングコンテンツの再生へ切り替え、前記保存コンテンツが再生された分の続きから再生を開始する。
【００５６】
（携帯電話機１の構成）
以下では、携帯電話機１の要部構成について、図１に基づいて説明する。
【００５７】
図１は、携帯電話機１の要部構成を示すブロック図である。図１に示すように、携帯電話機１は、制御部１０、通信部２０、操作部３０、デコード部４０、音声出力部５０、表示部６０、記憶部７０、バッファ８０、タイマ９０を備えている。
【００５８】
通信部２０は、無線通信または有線通信によって、配信サーバ（不図示）から、ストリーミングデータとして配信されるストリーミングコンテンツを受信するものである。
【００５９】
操作部３０は、ユーザが再生指示などの操作指示を入力するためのものである。例えば、タッチパネル、キーボードなどである。
【００６０】
デコード部４０は、ローカル環境に保存された、エンコードされた保存コンテンツまたはストリーミングコンテンツを元に戻し（デコード化ともいう）、再生できるようにするためのものである。
【００６１】
音声出力部５０は、スピーカなど音声を出力するものである。例えば、デコード部４０から、デコード化された保存コンテンツまたはストリーミングコンテンツに含まれる音声を出力する。
【００６２】
表示部６０は、液晶ディスプレーなど映像（静止画、動画など）を出力するものである。例えば、デコード化された保存コンテンツまたはストリーミングコンテンツに含まれる映像を出力する。
【００６３】
記憶部７０は、制御部１０が参照するプログラムやデータ等を格納するものである。例えば、保存コンテンツが格納されている。
【００６４】
バッファ８０は、バッファリングされたストリーミングコンテンツを一時的に記憶するものである。
【００６５】
タイマ９０は、経過時間を計測するものである。
【００６６】
制御部１０は、携帯電話機１の機能を統括して制御するものであり、操作制御部１０１、再生制御部１０２（再生手段、画面表示手段）、ストリーミングコンテンツ受信制御部１０３（取得手段）、ストリーミングコンテンツ状態判定部１０４、バッファリング時間計測部１０５（時間計測手段）、ストリーミングコンテンツ記憶制御部１０６（先頭記憶手段）、ストリーミングコンテンツ再生位置探索部１０７（再生位置探索手段）、コンテンツ保存時間推算部１１２（記憶時間推算手段）を含む。
【００６７】
操作制御部１０１は、操作部３０を制御して、操作部３０からユーザが入力した再生指示などの操作指示を受け付けるものである。
【００６８】
再生制御部１０２は、デコード部４０を制御して、記憶部７０およびバッファ８０に格納されているコンテンツ（例えば、保存コンテンツ、ストリーミングコンテンツ）をデコード部４０に読み出して、デコード化させるものである。
【００６９】
ストリーミングコンテンツ受信制御部１０３は、通信部２０を制御して、配信サーバから、ストリーミングコンテンツを受信してバッファリングするものである。
【００７０】
ストリーミングコンテンツ状態判定部１０４は、バッファ８０に格納されたストリーミングコンテンツが再生できるか否かを判定するものである。具体的には、ストリーミングコンテンツ状態判定部１０４は、バッファ８０に格納されているストリーミングコンテンツの量が、再生するのに必要最低限の量に達しているか否かを判断し、達していれば、「再生可能」と判定し、達していなければ、「再生不可」と判定する。
【００７１】
バッファリング時間計測部１０５は、タイマ９０を制御して、ストリーミングコンテンツ受信制御部１０３がストリーミングコンテンツを受信してから、バッファリングして、バッファリングされたストリーミングコンテンツが再生可能になるまでの時間（以下、「バッファリング時間」と称する場合がある）を計測するものである。
【００７２】
ストリーミングコンテンツ記憶制御部１０６は、バッファ８０に一時記憶されたストリーミングコンテンツから、先頭からの所定時間分を記憶部７０に格納するものである。
【００７３】
ストリーミングコンテンツ再生位置探索部１０７は、バッファ８０に一時記憶されたストリーミングコンテンツの再生を開始する位置（以下、「再生位置」と称する場合がある）を探索し、再生制御部１０２に通知する。
【００７４】
コンテンツ保存時間推算部１１２は、バッファリング時間計測部１０５によって計測されたバッファリング時間に基づいて、コンテンツ保存時間（記憶時間）を推算するものである。具体的には、例えば、コンテンツ保存時間を前記バッファリング時間の定数倍とする。
【００７５】
（処理の流れ）
以下では、配信サーバからストリーミングコンテンツを受信してから再生するまでの処理の流れについて、図４に基づいて説明する。図４は、配信サーバからストリーミングコンテンツを受信してから再生するまでの処理の流れを示すフローチャートである。
【００７６】
＜メイン処理その１＞
図４に示すように、まず、操作制御部１０１は、ユーザの再生指示を操作部３０から受け付けると（Ｓ１０１）、その再生指示を再生制御部１０２に送信する。ここで、前記再生指示には、ユーザが再生しようとするストリーミングコンテンツ（再生コンテンツ）を特定する再生コンテンツ名を含む。
【００７７】
そして、再生制御部１０２は、記憶部７０に問い合わせて、ユーザの再生指示に含まれている再生コンテンツ名と一致する保存コンテンツが存在するか否かを判断する（Ｓ１０２）。
【００７８】
再生制御部１０２は、再生コンテンツ名と一致する保存コンテンツが存在していないと判断した場合には（Ｓ１０２でＮｏ）、１回目の処理と判断し、ストリーミングコンテンツを保存コンテンツとして保存するとともに再生する処理（以下、「ストリーミングコンテンツの保存」と称する場合がある）ブロックに進む（Ｓ１０９）。
【００７９】
＜ストリーミングコンテンツの保存＞
次に、前記ストリーミングコンテンツの保存に関する処理の流れについて、図５に基づいて説明する。図５は、１回目の処理において、ストリーミングコンテンツを保存するとともに再生する処理の流れを示すフローチャートである。
【００８０】
図４のＳ１０２において、再生制御部１０２は、保存コンテンツが存在していないと判断した場合には（Ｓ１０２でＮｏ）、図５に示すように、まず、ストリーミングコンテンツ受信制御部１０３は、通信部２０を介して、配信サーバから、ストリーミングデータとして配信されたストリーミングコンテンツを受信してバッファリングする（Ｓ２０１）。そして、ストリーミングコンテンツ受信制御部１０３は、バッファリングされたストリーミングコンテンツをバッファ８０に一時記憶する。
【００８１】
それから、ストリーミングコンテンツ状態判定部１０４は、バッファ８０に一時記憶されたストリーミングコンテンツが再生可能か否かを判定する（Ｓ２０２）。
【００８２】
ストリーミングコンテンツ状態判定部１０４は、「再生不可」と判定した場合には（Ｓ２０２でＮｏ）、引き続き、ストリーミングコンテンツのバッファリングを行う（Ｓ２０１）。
【００８３】
一方、ストリーミングコンテンツ状態判定部１０４が、「再生可能」と判定した場合には（Ｓ２０２でＹｅｓ）、バッファリング時間計測部１０５は、バッファリング時間ＢｕｆｆＴ（再生準備時間）を計測する（Ｓ２０３）。
【００８４】
次に、再生制御部１０２は、ストリーミングコンテンツを先頭から再生を開始させる（Ｓ２０４）。具体的には、再生制御部１０２は、デコード部４０を制御して、バッファ８０に格納されているストリーミングコンテンツを読み出して、先頭からデコード化してから、音声出力部５０および表示部６０に出力して、再生させる。
【００８５】
そして、ストリーミングコンテンツ記憶制御部１０６は、前記ストリーミングコンテンツに対応する保存コンテンツが既に保存された分のコンテンツ保存時間（初期値は０である）が、予め決められた時間に達していたか否かを判断する。ここで、予め決められた時間とは、コンテンツ保存時間推算部１１２がバッファリング時間ＢｕｆｆＴから推算したコンテンツ保存時間であって、バッファリング時間ＢｕｆｆＴの定数倍である。すなわち、ここで、ストリーミングコンテンツ記憶制御部１０６は、前記コンテンツ保存時間が前記バッファリング時間ＢｕｆｆＴの定数倍以上であるか否かを判断する（Ｓ２０５）。
【００８６】
なお、前記定数倍は、予め決められたものであり、実際の倍数は特に限定されないが、１よりも大きい倍数が好ましい。
【００８７】
ストリーミングコンテンツ部１０６は、前記コンテンツ保存時間が前記バッファリング時間ＢｕｆｆＴの定数倍以上に達していない場合と判断した場合には（Ｓ２０５でＮｏ）、バッファ８０に格納されたストリーミングコンテンツを記憶部７０に保存する（Ｓ２０６）。そして、再生制御部１０２は、ストリーミングコンテンツを続けて再生させる（Ｓ２０４）。
【００８８】
一方、ストリーミングコンテンツ記憶制御部１０６は、前記コンテンツ保存時間が前記バッファリング時間ＢｕｆｆＴの定数倍以上に達したと判断した場合には（Ｓ２０５でＹｅｓ）、再生制御部１０２は、ストリーミングコンテンツを続けて再生させる（Ｓ２０４）。
【００８９】
そして、最後に、再生制御部１０２は、ストリーミングコンテンツの再生が終了したと判断した場合には、処理を終了する。
【００９０】
ここで、Ｓ２０６で保存された保存コンテンツは、サムネイルで表示される。詳細は、図６に基づいて説明する。図６は、表示部６０におけるサムネイルで表示されている保存コンテンツの一覧を示す図である。図６に示すように、保存コンテンツ毎に、サムネイルが表示され、また、バッファリング時間（すなわち、部分保存コンテンツを先頭部分に有するストリーミングコンテンツが取得開始されてから再生開始されるまでの時間）、再生回数、保存日時（部分保存コンテンツの記憶されたときの日時）など保存コンテンツの属性値が表示されている。さらに、前記属性値によって、保存コンテンツを並べ替えることができる。例えば、最初に、図６の左図に示すように、保存コンテンツは再生回数の多い順に表示されている。そして、操作制御部１０１は、操作部３０を介して、ユーザから“「バッファリング時間の少ない順」に並べ替え”という操作指示を受け付けると、再生制御部１０２は、図６の右図に示すように、保存コンテンツをバッファリング時間の少ない順に並べ替えて、表示部６０に表示させる。
【００９１】
＜メイン処理その２＞
図４に戻り、ここまでは、ユーザの再生指示に含まれている再生コンテンツ名と一致する保存コンテンツが存在していない場合（Ｓ１０２でＮｏ）の処理について説明した。次に、前記保存コンテンツが存在する場合（Ｓ１０２でＹｅｓ）の処理について説明する。
【００９２】
再生制御部１０２は、ユーザの再生指示に含まれている再生コンテンツ名と一致する保存コンテンツが存在すると判断した場合には（Ｓ１０２でＹｅｓ）、２回目以降の処理と判断し、記憶部７０に格納されている前記再生コンテンツ名と一致する保存コンテンツを再生させる（Ｓ１０３）。具体的には、再生制御部１０２は、デコード部４０を制御して、記憶部７０に格納されている前記保存コンテンツを読み出してデコード化し、音声出力部５０および表示部６０に出力して再生させる。
【００９３】
それと同時に、ストリーミングコンテンツ受信制御部１０３は、通信部２０を介して、配信サーバからストリーミングコンテンツを受信してバッファ８０にバッファリングする（Ｓ１０４）。
【００９４】
そして、再生制御部１０２は、前記保存コンテンツの再生が完了していないと判断した場合には（Ｓ１０５でＮｏ）、引き続き保存コンテンツを再生させる（Ｓ１０３）。一方、再生制御部１０２が、前記保存コンテンツの再生が完了したと判断した場合には（Ｓ１０５でＹｅｓ）、ストリーミングコンテンツ状態判定部１０４は、バッファ８０にバッファリングされたストリーミングコンテンツが再生可能か否かを判定する（Ｓ１０６）。
【００９５】
ストリーミングコンテンツ状態判定部１０４は、「再生可能」と判定した場合には（Ｓ１０６でＹｅｓ）、ストリーミングコンテンツに切り替えて再生する処理（以下、「ストリーミングコンテンツ再生（途中から）」と称する場合がある）ブロックに進む（Ｓ１０７）。
【００９６】
一方、ストリーミングコンテンツ状態判定部１０４は、「再生不可」と判定した場合には（Ｓ１０６でＮｏ）、待つ場合の対応のブロックに進む（Ｓ１０８）。
【００９７】
前記ストリーミングコンテンツ再生（途中から）（Ｓ１０７）、および、待つ場合の対応（Ｓ１０８）については、以下でそれぞれ詳細に説明する。
【００９８】
＜ストリーミングコンテンツ再生（途中から）＞
以下では、前記ストリーミングコンテンツ再生（途中から）（Ｓ１０７）について、図７に基づいて説明する。図７は、保存コンテンツから、ストリーミングコンテンツに切り替えて再生する場合の処理流れを示すフローチャートである。
【００９９】
図４のＳ１０６において、ストリーミングコンテンツ状態判定部１０４は、「再生可能」と判定した場合には（Ｓ１０６でＹｅｓ）、図７に示すように、ストリーミングコンテンツ再生位置探索部１０７は、まず、保存コンテンツのフレーム数Ｆを計算する（Ｓ３０１）。
【０１００】
それから、ストリーミングコンテンツ再生位置探索部１０７は、バッファ８０に格納されているストリーミングコンテンツにおける前記フレーム数Ｆの位置を探索する（Ｓ３０２）。
【０１０１】
次に、前記フレーム数Ｆの位置の次のフレーム位置（Ｆ＋１）をストリーミングコンテンツの再生位置（再生開始位置）として、再生制御部１０２に送信する。最後に、再生制御部１０２は、バッファ８０に格納されているストリーミングコンテンツを前記Ｆ＋１の位置から再生を開始させる（Ｓ３０３）。
【０１０２】
なお、ストリーミングコンテンツ再生（途中から）に関する処理については、特に限定されず、例えば、図８に示すように再生してもよい。図８は、保存コンテンツから、ストリーミングコンテンツに切り替えて再生する場合の他の処理流れを示すフローチャートである。
【０１０３】
図８に示すように、ストリーミングコンテンツ再生位置探索部１０７は、まず、保存コンテンツが再生された最後のフレームに含まれるタイムコードＴＣを読み出して（Ｓ４０１）、バッファ８０に格納されているストリーミングコンテンツにおける前記タイムコードＴＣが含まれるフレームの位置を探索する（Ｓ４０２）。
【０１０４】
次に、ストリーミングコンテンツ再生位置探索部１０７は、前記タイムコードＴＣが含まれるフレームの次のフレーム位置を再生位置として、再生制御部１０２に送信し、再生制御部１０２は、ストリーミングコンテンツを前記再生位置から再生を開始させる（Ｓ４０３）。
【０１０５】
前記タイムコードＴＣについては、動画コンテンツを例として、図９に基づいて説明する。図９は、動画コンテンツの１フレームの一般的な構造を示す図である。図９に示すように、動画コンテンツの１フレームのコンテナには、映像データおよび音声データが含まれている。さらに、前記映像データにタイムコードＴＣが含まれている。前記タイムコードＴＣは、前記ストリーミングコンテンツ再生位置探索部１０７が、再生位置を探索するのに用いられる。
【０１０６】
＜待つ場合の対応＞
以下では、図１０に基づいて、前記待つ場合の対応に関する処理について詳細に説明する。本発明は、待ち時間を確実に減らすことができるが、あらゆる情況において待ち時間を完全になくすというわけではない。すなわち、本発明では、待ち時間を通常のバッファリング時間より少なくさせることができるが、場合によって、待ち時間が多少発生することが考えられる。図１０は、待ち時間が多少発生した場合の処理流れを示すフローチャートである。
【０１０７】
図４のＳ１０６において、ストリーミングコンテンツ状態判定部１０４は、「再生不可」と判定した場合には（Ｓ１０６でＮｏ）、図１０に示すように、再生制御部１０２は、まず、表示部６０に映像を表示させる（Ｓ５０１）。
【０１０８】
ここで、表示部６０に表示された映像については、特に限定されず、例えば、保存コンテンツの最終フレームを表示してもよい。すなわち、保存コンテンツの再生が終わった時点で映像を停止する。また、保存コンテンツを先頭から巻き戻して繰り返し再生してもよい。さらに、他の写真などの静止画を表示してもよい。
【０１０９】
そして、Ｓ５０１で映像の表示中に、ストリーミングコンテンツ受信制御部１０３は、続けて配信サーバからストリーミングコンテンツを受信してバッファ８０にバッファリングする（Ｓ５０２）。
【０１１０】
それから、ストリーミングコンテンツ状態判定部１０４は、再度前記バッファリングされたストリーミングコンテンツが再生可能か否かを判断する（Ｓ５０３）。
【０１１１】
ストリーミングコンテンツ状態判定部１０４が、「再生不可」と判定した場合には（Ｓ５０３でＮｏ）、再生制御部１０２は、引き続き、表示部６０に映像を表示させる（Ｓ５０１）。一方、ストリーミングコンテンツ状態判定部１０４が、「再生可能」と判定した場合には（Ｓ５０３でＹｅｓ）、バッファリング時間計測部１０５は、バッファリング時間ＢｕｆｆＴ（途中再生準備時間）を計測する（Ｓ５０４）。
【０１１２】
そして、ストリーミングコンテンツ記憶制御部１０６は、前記バッファリング時間ＢｕｆｆＴ分のストリーミングコンテンツを、記憶部７０に既に保存された保存コンテンツに上書きして保存する（Ｓ５０５）。これによって、次回において、前記ストリーミングコンテンツを再生するとき、待ち時間をさらに短縮することができる。
【０１１３】
最後に、図７または図８に示すストリーミングコンテンツ再生（途中から）の処理ブロックに進む（Ｓ５０６）。
【０１１４】
〔第２の実施形態〕
上記第１の実施形態では、１回目の処理において、図５に示すように、バッファリング時間ＢｕｆｆＴを計測して、そのバッファリング時間ＢｕｆｆＴの定数倍をコンテンツ保存時間とする処理について説明したが、前記コンテンツ保存時間はそれに限らず、配信サーバとの通信速度によってコンテンツ保存時間を決めてもよい。本実施形態では、配信サーバとの通信速度によってコンテンツ保存時間を決める方法について、図１１および図１２に基づいて詳細に説明する。なお、第１の実施形態と同じ構成要素については、同一の部材番号を付し、その説明を省略する。
【０１１５】
（携帯電話機２の構成）
以下では、本実施形態に係る携帯電話機２（コンテンツ再生装置）の要部構成について、図１１に基づいて説明する。図１１は、携帯電話機２の要部構成を示すブロック図である。
【０１１６】
図１１に示すように、携帯電話機２は、制御部１０の代わりに、制御部１１を備えていること以外は、すべて携帯電話機１と同様である。以下では、制御部１１を中心に説明する。
【０１１７】
図１１に示すように、制御部１１は、携帯電話機１の制御部１０に比べて、バッファリング時間計測部１０５、コンテンツ保存時間推算部１１２を備えず、その代わりに、ｐｉｎｇ送信部１０８、ｐｉｎｇ返信時間計測部１０９（通信速度計測手段）、コンテンツ保存時間導出部１１０（記憶時間導出手段）を備えている。
【０１１８】
ｐｉｎｇ送信部１０８は、ｐｉｎｇコマンドを、通信部２０を介して、配信サーバ（不図示）に送信するものである。ここで、ｐｉｎｇコマンドとは、インターネットやイントラネットなどのＴＣＰ／ＩＰネットワークにおいて、接続状況（例えば、通信速度）を診断するコマンドである。
【０１１９】
ｐｉｎｇ返信時間計測部１０５は、タイマ９０によって、前記ｐｉｎｇコマンドが送信されてから、通信部２０を介して、配信サーバからの返信を受信するまでのｐｉｎｇ返信時間を計測するものである。
【０１２０】
コンテンツ保存時間導出部１１０は、前記ｐｉｎｇ返信時間（通信速度）に基づいて、コンテンツ保存時間を導出するものである。具体的には、予めｐｉｎｇ返信時間とコンテンツ保存時間との対応関係（すなわち、配信サーバとの通信速度と該通信速度に適した記憶時間との対応関係）を決めておき、ｐｉｎｇ返信時間に基づいて、コンテンツ保存時間を導出する。例えば、ｐｉｎｇ返信時間が１０秒以下の場合には、コンテンツ保存時間を１分に設定する。また、ｐｉｎｇ返信時間が１０秒を超え、２０秒以下の場合には、コンテンツ保存時間を２分に設定する。なお、ｐｉｎｇ返信時間とコンテンツ保存時間との対応関係については、実験によって決めてもよい。例えば、実験によって、１０回分のｐｉｎｇ返信時間が同じ場合のバッファリング時間を求め、それぞれのバッファリング時間から、平均バッファリング時間または最大バッファリング時間を求め、保存時間を決める。
【０１２１】
（処理の流れ）
＜ストリーミングコンテンツの保存＞
次に、携帯電話機２におけるストリーミングコンテンツの保存に関する処理の流れについて、図１２に基づいて説明する。図１２は、１回目の処理において、ストリーミングコンテンツを保存するとともに再生する処理の他の流れを示すフローチャートである。
【０１２２】
図１２に示すように、まず、ｐｉｎｇ送信部１０８は、配信サーバにｐｉｎｇコマンドを送信する（Ｓ６０１）。次に、ｐｉｎｇ返信時間計測部１０９は、ｐｉｎｇ返信時間を計測する（Ｓ６０２）。そして、コンテンツ保存時間導出部１１０は、ｐｉｎｇ返信時間から、コンテンツ保存時間Ｔを導出する（Ｓ６０３）。
【０１２３】
それから、ストリーミングコンテンツ受信制御部１０３は、通信部２０を介して、配信サーバから、ストリーミングコンテンツを受信してバッファリングする（Ｓ６０４）。そして、ストリーミングコンテンツ受信制御部１０３は、バッファリングされたストリーミングコンテンツをバッファ８０に一時記憶する。
【０１２４】
そして、ストリーミングコンテンツ状態判定部１０４は、バッファ８０に一時記憶されたストリーミングコンテンツが再生可能か否かを判定する（Ｓ６０５）。
【０１２５】
ストリーミングコンテンツ状態判定部１０４は、「再生不可」と判定した場合には（Ｓ６０５でＮｏ）、引き続き、ストリーミングコンテンツのバッファリングを行う（Ｓ６０４）。
【０１２６】
一方、ストリーミングコンテンツ状態判定部１０４が、「再生可能」と判定した場合には（Ｓ６０５でＹｅｓ）、再生制御部１０２は、ストリーミングコンテンツを先頭から再生を開始させる（Ｓ６０６）。
【０１２７】
そして、ストリーミングコンテンツ記憶制御部１０６は、コンテンツ保存時間が、予め決められた時間に達していたか否かを判断する。ここで、予め決められた時間とは、前記Ｓ６０３において、コンテンツ保存時間導出部１１０によって導出されたコンテンツ保存時間Ｔとする。すなわち、ここで、ストリーミングコンテンツ記憶制御部１０６は、前記コンテンツ保存時間が前記導出されたコンテンツ保存時間Ｔ以上であるか否かを判断する（Ｓ６０７）。
【０１２８】
ストリーミングコンテンツ記憶制御部１０６は、前記コンテンツの保存時間が前記導出されたコンテンツ保存時間Ｔに達していないと判断した場合には（Ｓ６０７でＮｏ）、バッファ８０に一時記憶されたストリーミングコンテンツを記憶部７０に保存する（Ｓ６０８）。そして、再生制御部１０２は、ストリーミングコンテンツを続けて再生させる（Ｓ６０６）。
【０１２９】
一方、ストリーミングコンテンツ記憶制御部１０６は、前記コンテンツの保存時間が前記導出されたコンテンツ保存時間Ｔに達したと判断した場合には（Ｓ６０７でＹｅｓ）、再生制御部１０２は、ストリーミングコンテンツを続けて再生させる（Ｓ６０６）。
【０１３０】
そして、最後に、再生制御部１０２は、ストリーミングコンテンツの再生が終了したと判断した場合には、処理を終了する。
【０１３１】
〔第３の実施形態〕
コンテンツ保存時間については、前記第１の実施形態および第２の実施形態で説明した決め方に限らず、記憶部７０の残り容量によってコンテンツ保存時間を決めてもよい。本実施形態では、記憶部７０の残り容量によってコンテンツ保存時間を決める方法について、図１３および図１４に基づいて詳細に説明する。なお、前記第１の実施形態および第２の実施形態と同じ構成要素については、同一の部材番号を付し、その説明を省略する。
【０１３２】
（携帯電話機３の構成）
以下では、本実施形態に係る携帯電話機３（コンテンツ再生装置）の要部構成について、図１３に基づいて説明する。図１３は、携帯電話機３の要部構成を示すブロック図である。
【０１３３】
図１３に示すように、携帯電話機３は、タイマ９０を備えず、さらに、制御部１０の代わりに、制御部１２を備えていること以外は、すべて携帯電話機１と同様である。以下では、制御部１２を中心に説明する。
【０１３４】
図１３に示すように、制御部１２は、携帯電話機１の制御部１０に比べて、バッファリング時間計測部１０５、コンテンツ保存時間推算部１１２を備えず、その代わりに、コンテンツ保存時間算出部１１１（記憶時間算出手段）を備えている。
【０１３５】
コンテンツ保存時間算出部１１１は、記憶部７０の残り容量を算出して、前記残り容量から、コンテンツ保存時間を算出するものである。具体的には、ユーザが予め保存コンテンツの最大数を指定しておき、記憶部７０の残り容量を、その最大数に割って得られた結果を前記コンテンツ保存時間とする。
【０１３６】
（処理の流れ）
＜ストリーミングコンテンツの保存＞
次に、携帯電話機３におけるストリーミングコンテンツの保存に関する処理の流れについて、図１４に基づいて説明する。図１４は、１回目の処理において、ストリーミングコンテンツを保存するとともに再生する処理のさらに他の流れを示すフローチャートである。
【０１３７】
図１４に示すように、コンテンツ保存時間算出部１１１は、まず、記憶部７０の残り容量を算出する（Ｓ７０１）。そして、コンテンツ保存時間算出部１１１は、ユーザが予め指定した保存コンテンツの最大数を記憶部７０から読み出して、前記記憶部７０の残り容量と、前記保存コンテンツの最大数とから、コンテンツ保存時間Ｔを算出する（Ｓ７０２）。
【０１３８】
なお、その以降の処理は、第２の実施形態と同じであるため、その説明を省略する。
【０１３９】
〔補足〕
本発明のコンテンツ再生装置は、以下のように構成してもよい。
【０１４０】
本発明のコンテンツ再生装置は、保存コンテンツの再生から、ストリーミングコンテンツの再生に切り替える際、保存コンテンツが再生した分の続きからストリーミングコンテンツを再生すればよいため、保存コンテンツをすべて再生しなくても、バッファリングされたストリーミングコンテンツが、前記保存コンテンツが再生した分の続きから再生可能な状態になる時点で、前記ストリーミングコンテンツの再生に切り替えてもよい。
【０１４１】
ストリーミングコンテンツの再生を開始する再生位置を探索する際、バッファリングされたストリーミングコンテンツの量が多ければ多いほど、探索する時間が長くなる可能性が高い。上記構成によれば、早く保存コンテンツの再生からストリーミングコンテンツの再生へ切り替えることができる。よって、特にコンテンツ保存時間が長い場合に、前記再生位置を探索する時間を短縮することができる。
【０１４２】
また、本発明のコンテンツ再生装置は、１回目の処理において、ストリーミングコンテンツを再生する途中で終了した場合には、終了した時点からの既にバッファリングが完了している位置までのストリーミングコンテンツを、前記保存コンテンツに加えて、途中保存コンテンツとして記憶部に保存してもよい。その場合には、２回目以降の処理において、当該ストリーミングコンテンツを前回終了した時点から続けて再生する場合においても、前記途中保存コンテンツを再利用することによって、待ち時間を減らすことができる。
【０１４３】
なお、前記途中保存コンテンツは、必ず前記保存コンテンツと一緒に保存する必要がなく、記憶部の容量を節約することを優先とする場合には、前記途中保存コンテンツを前記保存コンテンツに上書きで保存してもよい。
【０１４４】
また、本発明のコンテンツ再生装置は、音声を再生する際、保存コンテンツの再生から、ストリーミングコンテンツの再生に切り替えるとき、音声の再生時間を計り、再生された時間分の続きからストリーミングコンテンツの再生を開始することが好ましい。
【０１４５】
また、本発明のコンテンツ再生装置は、ストリーミングコンテンツの先頭から所定時間分を保存コンテンツとして保存する際、保存日時、再生回数、配信サーバ名（配信サーバアドレス）、保存時に任意に付加可能なタグ、コンテンツのＵＲＬ、バッファリング時間などの属性値の一部またはすべてを合わせて保存することが好ましい。
【０１４６】
また、本発明のコンテンツ再生装置は、コンテンツ保存時間を算出するために用いるバッファリング時間に追加する時間、または、バッファリング時間に掛ける定数、または、保存する保存コンテンツの最大数を、予めユーザから受け付けて記憶することが好ましい。
【０１４７】
また、本発明のコンテンツ再生装置は、バッファリング時間がコンテンツ保存時間よりも長い場合には、バッファリング時間分のストリーミングコンテンツを新たな保存コンテンツとして上書きで保存することが好ましい。従って、再生させる毎にコンテンツ保存時間が長くなるため、待ち時間が発生する確率を低減することができる。
【０１４８】
また、本発明のコンテンツ再生装置は、保存コンテンツが、その保存コンテンツの属性値と合わせてサムネイルで表示され、属性値毎に並べ替えることが好ましい。
【０１４９】
また、本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１５０】
最後に、携帯電話機１、２、３の各ブロック、特に制御部１０、１１、１２は、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【０１５１】
すなわち、携帯電話機１、２、３は、各機能を実現する制御プログラムの命令を実行するＣＰＵ、上記プログラムを格納したＲＯＭ、上記プログラムを展開するＲＡＭ、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである携帯電話機１、２、３の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記携帯電話機１、２、３に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１５２】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０１５３】
また、携帯電話機１、２、３を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【０１５４】
本発明は、ストリーミング型の再生方法によってコンテンツを再生するコンテンツ再生装置に利用することができる。特に、携帯電話機、スマートフォン、タブレットなどの電子機器に好適に利用することができる。
【符号の説明】
【０１５５】
１、２、３    携帯電話機（コンテンツ再生装置）
７０          記憶部
１０２        再生制御部（再生手段、画面表示手段）
１０３        ストリーミングコンテンツ受信制御部（取得手段）
１０５        バッファリング時間計測部（時間計測手段）
１０６        ストリーミングコンテンツ記憶制御部（先頭記憶手段）
１０７        ストリーミングコンテンツ再生位置探索部（再生位置探索手段）
１０９        ｐｉｎｇ返信時間計測部（通信速度計測手段）
１１０        コンテンツ保存時間導出部（記憶時間導出手段）
１１１        コンテンツ保存時間算出部（記憶時間算出手段）
１１２        コンテンツ保存時間推算部（記憶時間推算手段）
【図１】
0005875837.tif 000002
【図２】
0005875837.tif 000003
【図３】
0005875837.tif 000004
【図４】
0005875837.tif 000005
【図５】
0005875837.tif 000006
【図６】
0005875837.tif 000007
【図７】
0005875837.tif 000008
【図８】
0005875837.tif 000009
【図９】
0005875837.tif 000010
【図１０】
0005875837.tif 000011
【図１１】
0005875837.tif 000012
【図１２】
0005875837.tif 000013
【図１３】
0005875837.tif 000014
【図１４】
0005875837.tif 000015