(57)【要約】【課題】ストリーミング受信する際のデータの伝送速度が変動しても安定したストリーミング再生が可能な、新規かつ改良された再生装置、再生方法、及びプログラムを提供する。【解決手段】ネットワークを介してコンテンツデータをストリーミング受信する受信部と、前記受信部がストリーミング受信したコンテンツデータを一時記憶するバッファ領域が割り当てられるメモリと、前記バッファ領域に一時記憶された前記コンテンツデータを、所定のデコード速度でデコードするデコード部と、前記受信部による前記コンテンツデータの受信速度情報と前記デコード部のデコード速度情報とを取得し、取得した前記受信速度情報と前記デコード速度情報とに基づいて前記バッファ領域のサイズを設定する設定部と、を備える。【選択図】図２
2012060524.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してコンテンツデータをストリーミング受信する受信部と、
前記受信部がストリーミング受信したコンテンツデータを一時記憶するバッファ領域が割り当てられるメモリと、
前記バッファ領域に一時記憶された前記コンテンツデータを、所定のデコード速度でデコードするデコード部と、
前記受信部による前記コンテンツデータの受信速度情報と前記デコード部のデコード速度情報とを取得し、取得した前記受信速度情報と前記デコード速度情報とに基づいて前記バッファ領域のサイズを設定する設定部と、
を備える、再生装置。
【請求項２】
前記設定部は、ストリーミング受信する際の自装置のリソースに関するリソース情報を更に取得し、取得した前記受信速度情報と前記デコード速度情報と前記リソース情報とに基づいて前記バッファ領域のサイズを設定する、請求項１に記載の再生装置。
【請求項３】
前記デコード部は、前記バッファ領域が記憶するコンテンツデータの容量が閾値を超えた場合に、前記バッファ領域に一時記憶された前記コンテンツデータのデコードを開始し、
前記設定部は、取得した前記受信速度情報と前記デコード速度情報と前記リソース情報とに基づいて、前記バッファ領域のサイズ及び前記閾値を設定する、請求項２に記載の再生装置。
【請求項４】
前記リソース情報は、前記メモリの容量に関する情報を含み、
前記設定部は、
前記受信速度が前記デコード速度よりも小さく、かつ前記メモリの容量が小さい場合には、前記閾値を大きく設定し、
前記受信速度が前記デコード速度よりも小さく、かつ前記メモリの容量が大きい場合には、前記閾値を小さく設定する、請求項３に記載の再生装置。
【請求項５】
前記リソース情報は、前記メモリの容量に関する情報を含み、
前記設定部は、
前記受信速度が前記デコード速度よりも大きく、かつ前記メモリの容量が小さい場合には、前記バッファ領域を小さく設定し、
前記受信速度が前記デコード速度よりも大きく、かつ前記メモリの容量が大きい場合には、前記バッファ領域を大きく設定する、請求項２に記載の再生装置。
【請求項６】
前記設定部は、
前記受信速度が前記デコード速度よりも大きい場合には、前記バッファ領域を小さく設定し、
前記受信速度が前記デコード速度よりも小さい場合には、前記バッファ領域を大きく設定する、請求項１に記載の再生装置。
【請求項７】
ネットワークを介してコンテンツデータをストリーミング受信するステップと、
ストリーミング受信したコンテンツデータを、メモリに割り当てられたバッファ領域に一時記憶するステップと、
前記バッファ領域に一時記憶された前記コンテンツデータを、所定のデコード速度でデコードするステップと、
前記コンテンツデータの受信速度情報とデコード速度情報とを取得し、取得した前記受信速度情報と前記デコード速度情報とに基づいて前記バッファ領域のサイズを設定するステップと、
を有する再生方法。
【請求項８】
再生装置のコンピュータに、
ネットワークを介してコンテンツデータをストリーミング受信するステップ、
ストリーミング受信したコンテンツデータを、メモリに割り当てられたバッファ領域に一時記憶するステップ、
前記バッファ領域に一時記憶された前記コンテンツデータを、所定のデコード速度でデコードするステップ、
前記コンテンツデータの受信速度情報とデコード速度情報とを取得し、取得した前記受信速度情報と前記デコード速度情報とに基づいて前記バッファ領域のサイズを設定するステップ、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再生装置、再生方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、音声や映像等のコンテンツを再生する再生装置が知られている。再生装置の中には、ネットワークを経由してサーバーから配信されるコンテンツデータを受信して、再生するものがある。
【０００３】
コンテンツデータの容量が大きい場合には、データの受信完了迄の時間が長くなるため、再生開始が遅れる。このような問題を解決すべく、いわゆるストリーミング再生が行われている。ストリーミング再生では、サーバーから伝送されるデータを再生装置のバッファ領域に一定量バッファリングした後に、バッファリングされたデータをデコードする（特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３２９９５３号公報
【特許文献２】特表２００６−５２４４５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、サーバーからのデータの伝送速度は、ネットワーク環境等により変動する。そして、実際の伝送速度が小さい場合には、ストリーミング再生を行う上で問題が発生する。例えば、バッファ領域の容量が小さい状況で、バッファ領域内のデータをデコードするデコード速度が伝送速度より大きい場合には、いわゆるバッファ領域のアンダーフローが起こって、ストリーミング再生の途切れが発生する。逆に、バッファ領域の容量が大きすぎる場合には、伝送速度が小さいためデータがバッファにバッファリングされるまで時間がかかり、再生開始が遅くなるという問題がある。
【０００６】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、ストリーミング受信する際のデータの伝送速度が変動しても安定したストリーミング再生が可能な、新規かつ改良された再生装置、再生方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある観点によれば、ネットワークを介してコンテンツデータをストリーミング受信する受信部と、前記受信部がストリーミング受信したコンテンツデータを一時記憶するバッファ領域が割り当てられるメモリと、前記バッファ領域に一時記憶された前記コンテンツデータを、所定のデコード速度でデコードするデコード部と、前記受信部による前記コンテンツデータの受信速度情報と前記デコード部のデコード速度情報とを取得し、取得した前記受信速度情報と前記デコード速度情報とに基づいて前記バッファ領域のサイズを設定する設定部と、を備える、再生装置が提供される。
【０００８】
また、前記設定部は、ストリーミング受信する際の自装置のリソースに関するリソース情報を更に取得し、取得した前記受信速度情報と前記デコード速度情報と前記リソース情報とに基づいて前記バッファ領域のサイズを設定することとしても良い。
【０００９】
また、前記デコード部は、前記バッファ領域が記憶するコンテンツデータの容量が閾値を超えた場合に、前記バッファ領域に一時記憶された前記コンテンツデータのデコードを開始し、前記設定部は、取得した前記受信速度情報と前記デコード速度情報と前記リソース情報とに基づいて、前記バッファ領域のサイズ及び前記閾値を設定することとしても良い。
【００１０】
また、前記リソース情報は、前記メモリの容量に関する情報を含み、前記設定部は、前記受信速度が前記デコード速度よりも小さく、かつ前記メモリの容量が小さい場合には、前記閾値を大きく設定し、前記受信速度が前記デコード速度よりも小さく、かつ前記メモリの容量が大きい場合には、前記閾値を小さく設定することとしても良い。
【００１１】
また、前記リソース情報は、前記メモリの容量に関する情報を含み、前記設定部は、前記受信速度が前記デコード速度よりも大きく、かつ前記メモリの容量が小さい場合には、前記バッファ領域を小さく設定し、前記受信速度が前記デコード速度よりも大きく、かつ前記メモリの容量が大きい場合には、前記バッファ領域を大きく設定することとしても良い。
【００１２】
また、前記設定部は、前記受信速度が前記デコード速度よりも大きい場合には、前記バッファ領域を小さく設定し、前記受信速度が前記デコード速度よりも小さい場合には、前記バッファ領域を大きく設定することとしても良い。
【００１３】
更に、上記課題を解決するために、本発明の別の観点によれば、ネットワークを介してコンテンツデータをストリーミング受信するステップと、ストリーミング受信したコンテンツデータを、メモリに割り当てられたバッファ領域に一時記憶するステップと、前記バッファ領域に一時記憶された前記コンテンツデータを、所定のデコード速度でデコードするステップと、前記コンテンツデータの受信速度情報とデコード速度情報とを取得し、取得した前記受信速度情報と前記デコード速度情報とに基づいて前記バッファ領域のサイズを設定するステップと、を有する再生方法が提供される。
【００１４】
更に、上記課題を解決するために、本発明の別の観点によれば、再生装置のコンピュータに、ネットワークを介してコンテンツデータをストリーミング受信するステップ、ストリーミング受信したコンテンツデータを、メモリに割り当てられたバッファ領域に一時記憶するステップ、前記バッファ領域に一時記憶された前記コンテンツデータを、所定のデコード速度でデコードするステップ、前記コンテンツデータの受信速度情報とデコード速度情報とを取得し、取得した前記受信速度情報と前記デコード速度情報とに基づいて前記バッファ領域のサイズを設定するステップ、を実行させる、プログラムが提供される。
【発明の効果】
【００１５】
以上説明したように本発明によれば、ストリーミング受信する際のデータの伝送速度が変動しても安定したストリーミング再生が可能な、新規かつ改良された再生装置、再生方法、及びプログラムを提供するが可能となる。
【図面の簡単な説明】
【００１６】
【図１】ストリーミング再生システム１の構成を説明するためのブロック図である。
【図２】再生装置３０の構成を示すブロック図である。
【図３】ストリーミング再生におけるデータのバッファリングとデコードとの関係を説明するための模式図である。
【図４】ストリーミング再生処理を行う際の再生装置１０の動作例を説明するためのフローチャートである。
【図５】バッファ領域４５のサイズと閾値Ｔの決定処理を説明するフローチャートである。
【図６】設定されたバッファ領域４５のサイズと閾値Ｔを説明するための模式図である。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１８】
なお、説明は以下の順序で行うものとする。
１．ストリーミング再生システムの概要
２．再生装置の構成
３．再生装置の動作例
４．本実施形態に係る再生装置の有効性
５．その他の実施形態
【００１９】
＜１．ストリーミング再生システムの概要＞
本実施形態に係るストリーミング再生システム１の概要について、図１を参照しながら説明する。図１は、ストリーミング再生システム１の構成を説明するためのブロック図である。
【００２０】
ストリーミング再生システム１は、コンテンツデータをインターネット等のネットワークを介してストリーミング配信して再生させるためのシステムである。ストリーミング再生システム１は、図１に示すように、配信サーバー１０と、ネットワーク２０と、再生装置３０を有する。
【００２１】
配信サーバー１０は、映像データや音声データを含むコンテンツデータを提供するためのものである。配信サーバー１０は、エンコードされたコンテンツデータを記憶するデータ記憶部１２を有している。データ記憶部１２は、コンテンツデータとして、音声データ、動画データ（音声データと映像データを含む）等を記憶する。配信サーバー１０は、使用者のコンテンツデータの送信要求を受けて、データ記憶部１２に記憶されたコンテンツデータをストリーミング配信する。
【００２２】
ネットワーク２０は、例えば、インターネットプロトコル（ＩＰ）技術を利用してコンピュータ・ネットワークが相互接続された広範囲のＩＰネットワークなどである。なお、ネットワーク２０として、図１において配信サーバー１０と再生装置３０とを接続する無線ネットワークが例示されているが、これに限定されず、有線ネットワークであっても良い。
【００２３】
再生装置３０は、利用者によるコンテンツデータの選択によって配信サーバー１０に対してコンテンツデータの配信要求をし、コンテンツデータのストリーミング受信を行う。そして、再生装置３０は、ストリーミング受信したコンテンツデータをデコードして再生を行う。なお、本実施形態に係る再生装置３０は、インターネットラジオ機能を有し、音声データを再生する。
【００２４】
＜２．再生装置の構成＞
再生装置３０の構成について、図２を参照しながら説明する。図２は、再生装置３０の構成を示すブロック図である。
【００２５】
再生装置３０は、図２に示すように、ＣＰＵ４２と、メモリ４４と、操作部４６と、表示部４８と、スピーカ５０と、受信部の一例である通信部５２と、デコード部の一例であるデコーダ５４と、設定部の一例である解析設定部５６等を有する。
【００２６】
ＣＰＵ４２は、プログラムによって演算処理装置及び制御装置として機能し、再生装置３０内に設けられた各構成要素の処理を制御することができる。例えば、ＣＰＵ４２は、コンテンツデータのストリーミング再生の制御を行う。また、ＣＰＵ４２は、複数の動作を並行に実行させるように制御を行うことができる。例えば、ＣＰＵ４２は、表示部４８に画像を表示させながら、通信部５２にコンテンツデータをストリーミング受信させることができる。
【００２７】
メモリ４４は、例えば、ＲＡＭ（Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、キャッシュメモリなどの記憶部で構成されている。メモリ４４は、各種データを記憶しており、例えばＣＰＵ４２の処理に関するデータ（例えば、ＣＰＵ４２が実行するプログラム）を記憶する。
【００２８】
メモリ４４には、ストリーミング受信したコンテンツデータを一時記憶する（バッファリングする）ためのバッファ領域４５が割り当てられている。メモリ４４には、バッファ領域４５以外の領域も割り当てられている。例えば、ＣＰＵ４２が実行するプログラムの作業領域が割り当てられている。本実施形態においては、コンテンツデータのストリーミング受信に合わせて、メモリ４４におけるバッファ領域４５の割当てサイズを変更することができる。バッファ領域４５のサイズ変更の詳細については、後述する。
【００２９】
バッファ領域４５には、所定の閾値（バイト数）が決められている。そして、バッファ領域４５に一時記憶されたコンテンツデータの容量が閾値（所定のバイト数）を超えた場合には、バッファ領域４５にバッファリングされたコンテンツデータがデコーダ５４に送られる。本実施形態では、バッファ領域４５の閾値も変更可能であり、ストリーミング受信に合わせて閾値の大きさが設定される。閾値の設定の詳細については、後述する。
【００３０】
操作部４６は、例えば、タッチパネル、ボタン、スイッチ等から構成される。例えば、利用者は、タッチパネルを操作することによって、ストリーミング再生させるコンテンツデータを選択して、配信サーバー１０へデータ送信を要求することができる。
【００３１】
表示部４８は、液晶ディスプレイ（ＬＣＤ）等から成り、画像を表示する。例えば、表示部４８は、利用者にストリーミング再生させるコンテンツデータを選択させるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）画面を表示する。
【００３２】
スピーカ５０は、音声を出力するためのものである。例えば、スピーカ５０は、サーバー１０からストリーミング受信したコンテンツデータ（音声データ）に対応する音声を出力（再生）する。
【００３３】
通信部５２は、例えば、通信回路、通信デバイス等を有し、ネットワーク２０を介して配信サーバー１０とデータの送受信を行う。例えば、通信部５２は、ネットワーク２０を介して配信サーバー１０からコンテンツデータをストリーミング受信する。なお、通信部５２がコンテンツデータを受信する際のネットワーク２０の接続環境に応じて、データの伝送速度が変動する。このため、通信部５２が受信するデータの受信速度（以下では、受信速度Ｖ１とする）も変動する。
【００３４】
デコーダ５４は、エンコードされたコンテンツデータ（音声データや映像データ）をデコードする。デコーダ５４は、バッファ領域４５内のコンテンツデータが閾値を超えた場合に、バッファ領域４５からコンテンツデータを受信して、所定のデコード速度（以下では、デコード速度Ｖ２とする）でデコードを開始する。
【００３５】
ここで、ストリーミング再生におけるデータのバッファリングとデコードとの関係について、図３を参照しながら説明する。図３は、ストリーミング再生におけるデータのバッファリングとデコードとの関係を説明するための模式図である。なお、図３に示されるバッファ領域４５のサイズと閾値は一定であるものとする。
【００３６】
配信サーバー１０からコンテンツデータをストリーミング受信する前のバッファ領域４５には、図３の状態Ａのようにデータが記憶されていない。コンテンツデータのストリーミング受信を行うと、バッファ領域４５内にデータがバッファリングされ、図３の状態Ｂのようにデータ量が閾値Ｔに達すると、その後にデコーダ５４によるデコードが開始される。デコード中もバッファ領域４５へのデータのバッファリングは継続され、バッファ領域４５にバッファリングされたデータが無くなる迄、デコーダ５４によるデコードも継続される。
【００３７】
ところで、上述したようにデータの受信速度Ｖ１の大きさは、ネットワーク２０の接続環境に応じて変動する。例えば、ネットワーク２０の回線が混雑している場合には、データの受信速度Ｖ１が小さくなる。デコーダ５４によるデコード中に、受信速度Ｖ１がデコード速度Ｖ２よりも小さくなると、図３の状態Ｃのようにバッファ領域４５に記憶されたデータ量が閾値Ｔよりも少なくなる。そして、受信速度Ｖ１がデコード速度Ｖ２よりも小さい状況が続くと、デコード中にバッファ領域４５に記憶されたデータが枯渇してしまい（アンダーフロー）、再生が途切れることとなる。その後は、再生が途切れた状態で、バッファ領域４５に閾値Ｔを超えるまでデータがバッファリングされるまでデコードが行われない。この結果、一旦再生が途切れると、再度閾値Ｔを超えるまでデータをバッファリングする必要があるため、再生の再開まで時間がかかる。
【００３８】
このような問題を解決するために、本実施形態に係る再生装置３０においては、コンテンツデータをストリーミング受信する際に、バッファ領域４５のサイズや閾値Ｔを変更できるようになっている。そして、バッファ領域４５のサイズや閾値Ｔの変更は、図２に示す解析設定部５６により行われる。以下、解析設定部５６について説明する。
【００３９】
解析設定部５６は、通信部５２が受信したコンテンツデータを解析すると共に、コンテンツデータがバッファリングされるバッファ領域４５のサイズと閾値を設定する。具体的には、解析設定部５６は、コンテンツデータの受信速度情報と、デコーダ５４のデコード速度情報とを取得し、取得した受信速度情報とデコード速度情報とに基づいてバッファ領域４５のサイズを設定する。ここで、受信速度情報は、データの受信速度Ｖ１に大きさに関する情報である。デコード速度情報は、デコーダ５４によるデコード速度Ｖ２の大きさに関する情報であり、デコード速度Ｖ２の大きさは、コンテンツデータのビットレートと同じ大きさである。
【００４０】
解析設定部５６は、受信速度Ｖ１がデコード速度Ｖ２よりも大きい場合には、バッファ領域４５を小さく設定し、受信速度Ｖ１がデコード速度Ｖ２よりも小さい場合には、バッファ領域４５を大きく設定する。これにより、受信速度Ｖ１がデコード速度Ｖ２よりも小さい場合でも、バッファ領域４５を大きくすることで、デコード開始前にバッファ領域４５の記憶するデータ量を多くすることができるので、デコード中のバッファ領域４５内のデータの枯渇を防止できる。この結果、再生の途切れを防止することができる。
【００４１】
一方で、受信速度Ｖ１がデコード速度Ｖ２よりも大きい場合には、バッファ領域４５を小さくすることで、他の処理の実行をするためのメモリ４４の作業領域を確保できる。また、バッファ領域４５を小さくすることで、デコードの開始を早めることができ、この結果、再生開始も早くなる。なお、バッファ領域４５を大きくすると、デコード開始前のデータのバッファリングに時間がかかることになるが、トータルの再生時間を短くできる点で有効である。つまり、再生中のデータの枯渇を防止することで、枯渇後の再生再開までにかかる時間（この時間は、バッファ領域４５が増えた分のデータのバッファリング時間よりも長い）が不要となるからである。
【００４２】
また、解析設定部５６は、受信速度Ｖ１とデコード速度Ｖ２に加えて、ストリーミング受信する際の自装置のリソースに関するリソース情報も参照する。ここで、リソース情報は、バッファ領域４５が割り当てられるメモリ４４の容量情報を含む。そして、解析設定部５６は、取得した受信速度情報とデコード速度情報とリソース情報とに基づいて、バッファ領域４５のサイズ及び閾値Ｔを設定する。
【００４３】
例えば、解析設定部５６は、受信速度Ｖ１がデコード速度Ｖ２よりも大きく、かつメモリ４４の容量が小さい場合には、バッファ領域４５を小さく設定する。一方で、解析設定部５６は、受信速度Ｖ１がデコード速度Ｖ２よりも大きく、かつメモリ４４の容量が大きい場合には、バッファ領域４５を大きく設定する。これにより、受信速度Ｖ１がデコード速度Ｖ２より大きいことにより、バッファ領域４５内のデータの枯渇の恐れが無い場合には、メモリ４４の容量に応じて、バッファ領域４５のサイズを決定する。このため、バッファ領域４５へのデータのバッファリングと、他の処理（例えば、表示部４８でのＧＵＩ画面の表示）が並行に実行される際に、優先度が高い他の処理を実行するためのメモリ４４上の領域を確保できる。特に、本実施形態に係る再生装置３０では、通常のパソコンとは異なり、組み込み式の容量の小さいメモリ４４が使用されている。このため、限られた容量のメモリ４４を用いて複数の処理を並行して実行する場合には、バッファ領域４５のサイズの変更は有効である。
【００４４】
また、解析設定部５６は、受信速度Ｖ１がデコード速度Ｖ２よりも小さく、かつメモリ４４の容量が小さい場合には、バッファ領域４５の閾値Ｔを大きく設定する。一方で、解析設定部５６は、受信速度Ｖ１がデコード速度Ｖ２よりも小さく、かつメモリ４４の容量が大きい場合には、バッファ領域４５の閾値Ｔを小さく設定する。これにより、受信速度Ｖ１がデコード速度Ｖ２より小さく、かつメモリ４４の容量が小さい場合には、閾値Ｔを大きくすることで、デコード中のバッファ領域４５内のデータの枯渇を抑制できる。また、受信速度Ｖ１がデコード速度Ｖ２よりも小さくても、メモリ４４の容量が大きい場合には、閾値Ｔ（バッファ領域の大きさに対する割合）を小さくしても、閾値Ｔに対応するデータ量が大きいので、デコード中のデータの枯渇を抑制できる。
【００４５】
なお、上記では、リソース情報としてメモリ４４の容量を例に挙げて説明したが、これに限定されない。例えば、リソース情報は、電源５８（図２）の電力情報であっても良く、かかる場合に、電力情報に基づいてバッファ領域４５のサイズや閾値Ｔを設定しても良い。一般的に、バッファ領域４５が大きいほど、ストリーミング時の消費電力が多いことが知られている。このため、電源５８の電力の残量が少ない場合には、バッファ領域４５を小さく設定することで、電力消費を抑制することができる。
【００４６】
＜３．再生装置の動作例＞
ストリーミング再生処理を行う際の再生装置１０の動作例について、図４を参照しながら説明する。図４は、ストリーミング再生処理を行う際の再生装置１０の動作例を説明するためのフローチャートである。
【００４７】
ストリーミング再生処理は、ＣＰＵ４２がメモリ４４に記憶された所定のプログラムを実行することにより、実現される。図４に示すフローチャートは、利用者によってコンテンツデータのストリーミング再生の指示が操作部４６を介して入力されたときから開始される。
【００４８】
まず、再生装置１０は、配信サーバー１０にコンテンツデータの配信を要求する（ステップＳ２）。要求を受けた配信サーバー１０は、利用者によって選択されたコンテンツデータをストリーミング配信することとなる。配信サーバー１０が配信したコンテンツデータは、通信部５２により受信される。
【００４９】
通信部５２が受信したコンテンツデータのバッファ領域４５へのバッファリング前に、再生装置１０の解析設定部５６に、通信部５２を介してコンテンツデータの一部（例えば、ヘッダ）が送られる。そして、解析設定部５６は、受信したコンテンツデータのビットレートが既知であるか否かを判断する（ステップＳ４）。
【００５０】
ビットレートが既知で無い場合には（ステップＳ４：Ｎｏ）、解析設定部５６は、例えば、ビットレートが記憶されているヘッダを解析して、ビットレート情報を取得する（ステップＳ６）。なお、このビットレートの大きさは、デコーダ５４によるデコード速度Ｖ２と同じ大きさであるので、ビットレートを取得することで、デコード速度Ｖ２も取得される。
【００５１】
次に、解析設定部５６は、データの受信速度情報と、リソース情報であるメモリ４４の容量情報を取得する（ステップＳ８）。具体的には、解析設定部５６は、コンテンツデータの一部を受信する際に、ネットワーク２０上のデータの伝送速度を測定することで、受信速度Ｖ１を取得できる。また、解析設定部５６は、メモリ４４に予め記憶されているメモリ４４の容量情報を参照することで、容量情報を取得できる。
【００５２】
次に、解析設定部５６は、取得した受信速度情報（受信速度Ｖ１）、デコード速度情報（デコード速度Ｖ２）、及びメモリ４４の容量情報に基づいて、バッファ領域４５のサイズと閾値Ｔを決定する（ステップＳ１０）。
【００５３】
ここで、バッファ領域４５のサイズと閾値Ｔの決定処理について、図５と図６を参照しながら説明する。図５は、バッファ領域４５のサイズと閾値Ｔの決定処理を説明するフローチャートである。図６は、設定されたバッファ領域４５のサイズと閾値Ｔを説明するための模式図である。なお、図６に示す円柱の大きさが、バッファ領域４５の大きさに比例している。
【００５４】
図５に示す処理において、解析設定部５６は、受信速度Ｖ１とデコード速度Ｖ２の大きさを比較すると共に（ステップＳ２２）、メモリ４４の容量が大きいか小さいかを判定する（ステップＳ２４、Ｓ３０）。そして、判定結果に基づいて、解析設定部５６は、バッファ領域４５のサイズと閾値の設定として、図６に示す４つの設定Ａ〜Ｄのうちからいずれかの設定に決定する。
【００５５】
例えば、受信速度Ｖ１がデコード速度Ｖ２より大きく（ステップＳ２２：Ｙｅｓ）、メモリ４４の容量が小さい場合には（ステップＳ２４：Ｙｅｓ）、解析設定部５６は、バッファ領域４５のサイズと閾値Ｔを設定Ａに決定する（ステップＳ２６）。一方で、受信速度Ｖ１がデコード速度Ｖ２より大きく（ステップＳ２２：Ｙｅｓ）、メモリ４４の容量が大きい場合には（ステップＳ２４：Ｎｏ）、解析設定部５６は、バッファ領域４５のサイズと閾値Ｔを設定Ｂに決定する（ステップＳ２８）。
【００５６】
ここで、図６の設定Ａと設定Ｂを比較すると分かるように、設定Ａでは、バッファ領域４５のサイズと閾値Ｔが、それぞれ小さく設定され、設定Ｂでは、バッファ領域４５のサイズが大きく、閾値Ｔ小さく設定される。
【００５７】
また、受信速度Ｖ１がデコード速度Ｖ２より小さく（ステップＳ２２：Ｎｏ）、メモリ４４の容量が小さい場合には（ステップＳ３０：Ｙｅｓ）、解析設定部５６は、バッファ領域４５のサイズと閾値Ｔを図６に示す設定Ｃに決定する（ステップＳ３２）。一方で、信速度Ｖ１がデコード速度Ｖ２より小さく（ステップＳ２２：Ｎｏ）、メモリ４４の容量が大きい場合には（ステップＳ３０：Ｎｏ）、解析設定部５６は、バッファ領域４５のサイズと閾値Ｔを設定Ｄに決定する（ステップＳ３４）。
【００５８】
ここで、図６の設定Ｃと設定Ｄを比較すると分かるように、設定Ｃでは、バッファ領域４５が小さく、閾値Ｔが大きく設定され、設定Ｄでは、バッファ領域４５が大きく設定され、閾値Ｔが小さく設定される。なお、設定Ｃと設定Ｄのバッファ領域４５は、設定Ａと設定Ｂのバッファ領域４５よりも大きい。
【００５９】
このように、図５の処理により、受信速度Ｖ１とデコード速度Ｖ２とメモリ４４の容量に基づいて、バッファ領域４５のサイズと閾値が適切に設定されることとなる。これにより、デコード中のデータの枯渇が防止されると共に、デコードの開始が早くすることができる。
【００６０】
図４のフローチャートに戻って、説明を続ける。４つの設定Ａ〜Ｄのうちいずれかの設定が決定されたら、すなわち、バッファ領域４５のサイズと閾値Ｔが決定されたら、ＣＰＵ４２は、バッファ領域４５へのコンテンツデータのバッファリングを開始する（ステップＳ１２）。
【００６１】
次に、ＣＰＵ４２は、バッファリング中にバッファ領域４５内のデータ量が閾値Ｔを超えたか否かを判断する（ステップＳ１４）。そして、データ量が閾値Ｔを超えた場合には（ステップＳ１４：Ｙｅｓ）、ＣＰＵ４２は、デコーダ５４によるデコードを開始する（ステップＳ１６）。ここで、デコード中も、バッファ領域４５へのデータのバッファリングは継続される。
【００６２】
次は、ＣＰＵ４２は、デコードされたコンテンツデータ（音声データ）をスピーカ５０に送って、音声を出力させる（ステップＳ１８）。なお、上述した制御は、例えば複数の楽曲をストリーミング再生する場合には、楽曲の合間にバッファ領域４５のサイズと閾値を設定するものとする。
【００６３】
＜４．本実施形態に係る再生装置の有効性＞
上述したように、本実施形態に係る再生装置１０においては、バッファ領域４５のサイズと閾値Ｔの大きさが可変であり、受信速度Ｖ１とデコード速度Ｖ２とメモリ４４の容量に基づいて、バッファ領域４５のサイズ及び閾値を設定している。このように、バッファ領域４５のサイズと閾値を調整することで、途切れないスムーズなストリーミング再生を実現しつつ、再生開始までの時間の短縮を図ることが可能となる。
【００６４】
また、メモリ４４の容量を参照しながらバッファ領域４５のサイズを設定することで、他の処理を並行して動作が実行される際のメモリ４４の使用効率を向上させることが可能となる。特に、他の処理が優先度の高い場合（例えば、メール着信処理）には、他の処理の実行させるためのメモリ４４の領域を優先して確保しつつ、バッファ領域４５へのバッファリングを行えるように、メモリ４４の割り当てを決める。
【００６５】
更に、本実施形態のように、再生対象のコンテンツデータのビットレートや、配信サーバー１０との間のデータの伝送速度の取得(解析)を再生装置３０側で行うことで、ストリーミング再生の最適化が可能となる。すなわち、接続する配信サーバー１０に左右されず（接続する配信サーバー１０がマルチビットレートなどのストリーミングの最適化に対応していなくても）、再生装置３０の状態・環境に合わせてバッファリングを調整することができる。
【００６６】
＜５．その他の実施形態＞
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【００６７】
上記実施形態では、インターネットラジオ機能を有する再生装置を例に挙げて説明したが、これに限定されない。例えば、ネットワークに接続可能で音声等の出力機能を有する電子機器（携帯電話、ＰＤＡ、パソコン等）にも適用できる。
【００６８】
また、上記実施形態では、音声再生の場合における音声データのバッファ領域４５へのバッファリングについて説明したが、これに限定されない。例えば、動画データ中の映像データのバッファ領域４５へのバッファリングについても適用できる。また、音声データと映像データの両方をバッファ領域４５へバッファリングする場合にも適用できる。
【符号の説明】
【００６９】
１      ストリーミング再生システム
１０    配信サーバー
１２    データ記憶部
２０    ネットワーク
３０    再生装置
４２    ＣＰＵ
４４    メモリ
４５    バッファ領域
４６    操作部
４８    表示部
５０    スピーカ
５２    通信部
５４    デコーダ
５６    解析設定部
５８    電源
Ｔ      閾値
【図１】
2012060524.tif 000003
【図２】
2012060524.tif 000004
【図３】
2012060524.tif 000005
【図４】
2012060524.tif 000006
【図５】
2012060524.tif 000007
【図６】
2012060524.tif 000008