(57)【要約】【課題】迅速にビットレートの切り替えを行うことができるようにする。【解決手段】受信部は、ファイル単位で送信されるコンテンツのファイルデータを受信し、バッファは、受信されたファイルデータを記憶し、切り替え部は、受信されるファイルデータのビットレートを切り替え、バッファ制御部は、第１のビットレートから第１のビットレートよりも高速となる第２のビットレートに切り替えられた場合、バッファに記憶されたファイルデータのうち、再生中のファイルとその次に再生されるファイルを少なくとも含むファイル以外のファイルデータを削除することで、迅速にビットレートの切り替えを行うことができる。本技術は、例えば、ファイル単位のコンテンツの配信を行うコンテンツ配信システムに適用できる。【選択図】図４
2012222530.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを配信する情報処理装置からファイル単位で送信される前記コンテンツのファイルデータを受信する受信部と、
受信された前記ファイルデータを記憶するバッファと、
受信される前記ファイルデータのビットレートを切り替える切り替え部と、
第１のビットレートから前記第１のビットレートよりも高速となる第２のビットレートに切り替えられた場合、前記バッファに記憶された前記ファイルデータのうち、再生中のファイルとその次に再生されるファイルを少なくとも含むファイル以外のファイルデータを削除するバッファ制御部と
を備える受信装置。
【請求項２】
前記バッファ制御部は、前記第２のビットレートから前記第１のビットレートに切り替えられた場合、前記バッファに書き込み途中のファイルデータを削除する
請求項１に記載の受信装置。
【請求項３】
前記ファイルデータには、ビデオ符号化信号とオーディオ符号化信号が多重化されており、
前記ファイルデータを、前記ビデオ符号化信号と前記オーディオ符号化信号に分離する多重分離部をさらに備え、
前記バッファ制御部は、前記多重分離部に対して、前記バッファから読み出された２以上の前記ファイルデータを供給する
請求項１に記載の受信装置。
【請求項４】
受信される前記ファイルデータの受信速度を測定する測定部をさらに備え、
前記切り替え部は、測定された前記受信速度に応じて、前記ビットレートを切り替える
請求項１に記載の受信装置。
【請求項５】
バッファを備える受信装置が、
コンテンツを配信する情報処理装置からファイル単位で送信される前記コンテンツのファイルデータを受信し、
受信される前記ファイルデータのビットレートを切り替え、
第１のビットレートから前記第１のビットレートよりも高速となる第２のビットレートに切り替えられた場合、前記バッファに記憶された前記ファイルデータのうち、再生中のファイルとその次に再生されるファイルを少なくとも含むファイル以外のファイルデータを削除する
ステップを含む受信方法。
【請求項６】
バッファを備える受信装置の制御用のプログラムであって、
コンテンツを配信する情報処理装置からファイル単位で送信される前記コンテンツのファイルデータを受信し、
受信される前記ファイルデータのビットレートを切り替え、
第１のビットレートから前記第１のビットレートよりも高速となる第２のビットレートに切り替えられた場合、前記バッファに記憶された前記ファイルデータのうち、再生中のファイルとその次に再生されるファイルを少なくとも含むファイル以外のファイルデータを削除する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、受信装置及び方法、並びにプログラムに関し、特に、迅速にビットレートの切り替えを行うことができるようにした受信装置及び方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、インターネット等のネットワークを介して、ストリーミング方式により、コンテンツを配信するサービスが一般に行われている。
【０００３】
ストリーミング再生を行う場合、ネットワーク環境により帯域が変動するため、ネットワーク帯域に合わせたコンテンツの再生が求められており、配信されるコンテンツのビットレートを切り替える必要がある。
【０００４】
ビットレートの切り替えに関する技術としては、例えば、特許文献１が知られている。特許文献１には、バッファ管理を行うことで、ビットレートの切り替え時における、音の途切れや音質の劣化を低減することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２３５３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術であると、ビットレートの切り替え時において、バッファ管理の最適化が十分でないため、ビットレートの切り替えに時間がかかっていた。
【０００７】
本技術はこのような状況に鑑みてなされたものであり、迅速にビットレートの切り替えを行うことができるようにするものである。
【課題を解決するための手段】
【０００８】
本技術の一側面の受信装置は、コンテンツを配信する情報処理装置からファイル単位で送信される前記コンテンツのファイルデータを受信する受信部と、受信された前記ファイルデータを記憶するバッファと、受信される前記ファイルデータのビットレートを切り替える切り替え部と、第１のビットレートから前記第１のビットレートよりも高速となる第２のビットレートに切り替えられた場合、前記バッファに記憶された前記ファイルデータのうち、再生中のファイルとその次に再生されるファイルを少なくとも含むファイル以外のファイルデータを削除するバッファ制御部とを備える。
【０００９】
前記バッファ制御部は、前記第２のビットレートから前記第１のビットレートに切り替えられた場合、前記バッファに書き込み途中のファイルデータを削除する。
【００１０】
前記ファイルデータには、ビデオ符号化信号とオーディオ符号化信号が多重化されており、前記ファイルデータを、前記ビデオ符号化信号と前記オーディオ符号化信号に分離する多重分離部をさらに備え、前記バッファ制御部は、前記多重分離部に対して、前記バッファから読み出された２以上の前記ファイルデータを供給する。
【００１１】
受信される前記ファイルデータの受信速度を測定する測定部をさらに備え、前記切り替え部は、測定された前記受信速度に応じて、前記ビットレートを切り替える。
【００１２】
受信装置は、独立した装置であってもよいし、１つの装置を構成している内部ブロックであってもよい。
【００１３】
本技術の一側面の受信方法又はプログラムは、前述した本技術の一側面の受信装置に対応する受信方法又はプログラムである。
【００１４】
本技術の一側面の受信装置及び方法、並びにプログラムにおいては、コンテンツを配信する情報処理装置からファイル単位で送信されるコンテンツのファイルデータが受信され、受信されたファイルデータが記憶され、受信されるファイルデータのビットレートが切り替えられ、第１のビットレートから第１のビットレートよりも高速となる第２のビットレートに切り替えられた場合、バッファに記憶されたファイルデータのうち、再生中のファイルとその次に再生されるファイルを少なくとも含むファイル以外のファイルデータが削除される。
【発明の効果】
【００１５】
本技術の一側面によれば、迅速にビットレートの切り替えを行うことができる。
【図面の簡単な説明】
【００１６】
【図１】コンテンツ配信システムの構成例を示す図である。
【図２】TSファイルの詳細を説明する図である。
【図３】ビットレートの適応的制御の例を示す図である。
【図４】クライアント端末装置の構成例を示す図である。
【図５】コンテンツ受信処理を説明するフローチャートである。
【図６】低ビットレートから高ビットレートの切り替え時のバッファ制御を説明する図である。
【図７】TSファイルの数に応じたバッファ制御を説明する図である。
【図８】高ビットレートから低ビットレートの切り替え時のバッファ制御を説明する図である。
【図９】TSファイルの数に応じたバッファ制御を説明する図である。
【図１０】各バッファに記憶されるデータの流れを説明する図である。
【図１１】TSファイルの最大数を制御した場合のデータの流れを説明する図である。
【図１２】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら本技術の実施の形態について説明する。
【００１８】
［コンテンツ配信システムの構成例］
図１は、コンテンツ配信システムの構成例を示す図である。
【００１９】
図１に示すように、コンテンツプロバイダ１においては、入力されるコンテンツのビデオストリームとオーディオストリームが符号化され、多重化されることで、MPEG（Moving Picture Experts Group）2のトランスポートストリーム（ＴＳ）が生成される。
【００２０】
生成されたＴＳは、セグメンタによりファイル単位に分割され、複数のTSファイル（*.ts）と、それらのTSファイルを管理するためのインデックスファイル（index.M3U8）が生成される。生成された複数のTSファイルとインデックスファイルは、ウェブサーバ１１にアップロードされる。
【００２１】
ウェブサーバ１１は、CDN（Contents Delivery Network）２の事業者により提供される。ウェブサーバ１１は、コンテンツプロバイダ１からアップロードされた複数のTSファイルとインデックスファイルを記憶する。図１の例では、１つのコンテンツを構成するTSファイルとしての「01.ts」，「02.ts」，「03.ts」と、インデックスファイルとしての「index.M3U8」が記憶されている。
【００２２】
ウェブサーバ１１は、クライアント端末装置１３からの要求に応じて、インターネット１２を介して、インデックスファイルにより管理されるTSファイルを、クライアント端末装置１３に配信（送信）する。
【００２３】
クライアント端末装置１３は、例えば、携帯電話機やパーソナルコンピュータなどのインターネット１２に接続可能な電子機器である。クライアント端末装置１３は、所望のコンテンツをウェブサーバ１１に要求し、インターネット１２を介してウェブサーバ１１から送信されてくるTSファイルを受信して、ストリーミング再生を行う。
【００２４】
なお、図１の例では、説明の都合上、クライアント端末装置１３を１台のみ図示しているが、実際には、複数台のクライアント端末装置がインターネット１２に接続され、ウェブサーバ１１にアクセス可能とされる。
【００２５】
次に、図２を参照して、ウェブサーバ１１にアップロードされ、クライアント端末装置１３に配信されるTSファイルの詳細について説明する。
【００２６】
図２に示すように、セグメンタには、異なるビットレートで符号化されたＴＳが入力される。例えば、異なるビットレートには、高ビットレート（HIGH）、中ビットレート（MID）、及び低ビットレート（LOW）の３種類があり、高ビットレート、中ビットレート、低ビットレートの順に、高速なビットレートとされる。
【００２７】
セグメンタでは、異なるビットレートのＴＳが、それぞれファイル単位に分割され、複数のTSファイルと、そのインデックスファイルが、高ビットレート、中ビットレート、及び低ビットレートごとに生成される。また、プレイリスト生成部では、それらのインデックスファイルを管理するためのプレイリストファイルが生成される。
【００２８】
高ビットレート、中ビットレート、及び低ビットレートのTSファイル（*.ts）、各ビットレートのインデックスファイル（index.M3U8）、並びにプレイリストファイル（variant playlist.M3U8）は、ウェブサーバ１１にアップロードされる。
【００２９】
これにより、ウェブサーバ１１には、同一のコンテンツについて、ビットレート異なる３種類のコンテンツのTSファイルが記憶される。また、それぞれのコンテンツのTSファイルに対するインデックスファイルと、それらのインデックスファイルに対するプレイリストファイルが記憶される。ウェブサーバ１１は、プレイリストファイルを管理することで、クライアント端末装置１３からの要求に応じて、３種類のコンテンツのTSファイルの配信を行う。
【００３０】
クライアント端末装置１３は、ウェブサーバ１１から取得されるプレイリストファイルに基づいて、所望のビットレートのコンテンツをウェブサーバ１１に要求する。クライアント端末装置１３は、インターネット１２を介してウェブサーバ１１から送信されてくる所望のビットレートのTSファイルを受信して、ストリーミング再生を行う。
【００３１】
このように、コンテンツ配信システムにおいては、所望のビットレートに応じたコンテンツの配信が行われるため、例えば、インターネット１２の帯域に応じて、配信されるコンテンツのビットレートを切り替えることができる。
【００３２】
例えば、図３に示すように、クライアント端末装置１３においては、ストリーミング再生を開始したとき、インターネット１２の帯域に余裕があったため、高ビットレートのTSファイルのストリーミング再生が行われる。このとき、クライアント端末装置１３では、高画質のコンテンツがストリーミング再生される。
【００３３】
１番目乃至３番目のTSファイルまでは、高ビットレートのTSファイルを受信していたが、その後、帯域が狭くなったため、４番目のTSファイルからは、中ビットレートのTSファイルのストリーミング再生が行われる。このとき、クライアント端末装置１３では、標準画質のコンテンツがストリーミング再生される。
【００３４】
４番目乃至５番目のTSファイルまでは、中ビットレートのTSファイルを受信していたが、その後、さらに帯域が狭くなったため、６番目のTSファイルからは、低ビットレートのTSファイルのストリーミング再生が行われる。このとき、クライアント端末装置１３では、低画質のコンテンツがストリーミング再生される。
【００３５】
このように、コンテンツ配信システムにおいては、ウェブサーバ１１が、同一のコンテンツについて、ビットレートの異なる複数のコンテンツを配信することができるため、クライアント端末装置１３では、ネットワーク環境等に応じて、コンテンツのビットレートを適応的に制御することができる。
【００３６】
以上のようにして、コンテンツ配信システムは構成される。
【００３７】
［クライアント端末装置の構成例］
図４は、クライアント端末装置の構成例を示す図である。
【００３８】
クライアント端末装置１３は、通信I/F３１、ダウンロード部３２、受信速度測定部３３、ビットレート制御部３４、バッファ制御部３５、バッファ３６、多重分離部３７、バッファ３８、デコーダ３９、及びAV I/F４０から構成される。
【００３９】
ダウンロード部３２は、通信I/F３１を制御して、インターネット１２を介してウェブサーバ１１から送信されるコンテンツのTSファイルのデータを受信する。ダウンロード部３２は、受信されたTSファイルのデータを、バッファ制御部３５に供給する。
【００４０】
受信速度測定部３３は、ダウンロード部３２により受信されるTSファイルのデータの受信速度を測定し、その測定結果を、ビットレート制御部３４に供給する。
【００４１】
ビットレート制御部３４は、受信速度測定部３３から供給される受信速度、又はユーザの操作による指示に基づいて、ウェブサーバ１１から取得されるプレイリストファイルに記述されたビットレートの中から、受信されるTSファイルのビットレートを決定する。ビットレート制御部３４は、決定されたビットレートへの変更を、ダウンロード部３２に指示する。
【００４２】
ダウンロード部３２は、ビットレート制御部３４からのビットレート変更指示に基づいて、受信されるTSファイルのビットレートの変更要求を、インターネット１２を介してウェブサーバ１１に通知する。
【００４３】
バッファ制御部３５は、バッファ３６の制御を行う。バッファ３６は、バッファ制御部３５の制御に基づいて、データを一時的に記憶するFIFO（First In First Out）バッファである。
【００４４】
バッファ制御部３５は、ダウンロード部３２から供給されるTSファイルのデータをバッファ３６に書き込んで一時的に記憶させるとともに、バッファ３６に一時的に記憶されたTSファイルのデータを読み出して、多重分離部３７に供給する。
【００４５】
多重分離部３７は、バッファ制御部３５から供給されるTSファイルのデータを、ビデオ符号化信号と、オーディオ符号化信号に分離して、バッファ３８に書き込み、一時的に記憶させる。
【００４６】
デコーダ３９は、バッファ３８に一時的に記憶されたビデオ符号化信号と、オーディオ符号化信号を読み出す。デコーダ３９は、読み出されたビデオ符号化信号を復号し、その結果得られるビデオ信号を、AV I/F４０を介してディスプレイ装置１４に供給する。また、デコーダ３９は、読み出されたオーディオ符号化信号を復号し、その結果得られるオーディオ信号を、AV I/F４０を介してディスプレイ装置１４に供給する。
【００４７】
ディスプレイ装置１４は、AV I/F４０と接続され、デコーダ３９から供給されるビデオ信号に対応する画像を表示する。また、ディスプレイ装置１４は、スピーカ（不図示）を内蔵しており、そのスピーカによりオーディオ信号に対応する音声を出力する。
【００４８】
以上のようにして、クライアント端末装置１３は構成される。
【００４９】
［コンテンツ受信処理］
次に、図５のフローチャートを参照して、クライアント端末装置１３において行われる、コンテンツ受信処理について説明する。
【００５０】
ステップＳ１１において、ダウンロード部３２は、ウェブサーバ１１から送信されてくるコンテンツのTSファイルのデータを受信する。なお、クライアント端末装置１３においては、コンテンツ受信処理を開始するに際し、ビットレート制御部３４により所定のビットレートが決定され、そのビットレートのTSファイルのデータが受信される。
【００５１】
ステップＳ１２において、バッファ制御部３５は、ダウンロード部３２により受信されたTSファイルのデータをバッファ３６に書き込む。
【００５２】
ステップＳ１３において、ダウンロード部３２は、コンテンツの受信が終了したか否かを判定する。コンテンツの受信が終了したと判定された場合（ステップＳ１３の「Yes」）には、図５のコンテンツ受信処理は終了する。
【００５３】
ステップＳ１３において、コンテンツの受信が終了していないと判定された場合、処理は、ステップＳ１４に進む。ステップＳ１４において、受信速度測定部３３は、ダウンロード部３２により受信されるTSファイルのデータの受信速度を測定する。
【００５４】
ステップＳ１５において、バッファ制御部３５は、バッファ３６の先頭に記憶されたTSファイルNと、その次に記憶されているTSファイルN+1を読み出して、多重分離部３７に供給する。
【００５５】
すなわち、バッファ３６に書き込まれたTSファイルNとTSファイルN+1は、所定のタイミングでバッファ制御部３５により読み出され、多重分離部３７に供給される。そして、多重分離部３７によりビデオ符号化信号とオーディオ符号化信号に分離され、デコーダ３９によりビデオ信号とオーディオ信号に復号され、ディスプレイ装置１４に出力される。
【００５６】
ステップＳ１６において、ビットレート制御部３４は、受信速度測定部３３により測定された受信速度に基づいて、受信されるTSファイルのビットレートを、低ビットレートから高ビットレートに切り替えるか否かを判定する。
【００５７】
ステップＳ１６において、低ビットレートから高ビットレートに切り替えると判定された場合、処理は、ステップＳ１７に進む。すなわち、ビットレート制御部３４は、例えば、インターネット１２の帯域の変動により、受信速度が速くなった場合、ウェブサーバ１１から受信されるTSファイルのビットレートを、低ビットレートから高ビットレートに切り替えると判定する。
【００５８】
ステップＳ１７において、バッファ制御部３５は、バッファ３６に記憶されているTSファイルのデータのうち、再生中のTSファイルとその次に再生されるTSファイル以外のTSファイルのデータを削除する。すなわち、再生中のTSファイルを、TSファイルNとした場合、TSファイルNとTSファイルN+1以外のTSファイルN+2以降のデータが削除される。
【００５９】
なお、低ビットレートから高ビットレートに切り替える場合におけるバッファ制御の詳細は、図６及び図７を参照して後述する。
【００６０】
TSファイルのデータの削除が完了すると、処理は、ステップＳ１８に進む。ビットレート制御部３４は、高ビットレートへの変更を、ダウンロード部３２に指示する。ダウンロード部３２は、高ビットレートへの変更要求を、インターネット１２を介してウェブサーバ１１に通知する。これにより、ウェブサーバ１１から送信されるコンテンツのビットレートが、低ビットレートから高ビットレートに切り替えられる。
【００６１】
そして、バッファ３６には、新たに、高ビットレートのTSファイルのデータが書き込まれることになるが、低ビットレートのTSファイルN+2以降のデータが削除されているため、TSファイルNとTSファイルN+1が再生された後は、直ちに、高ビットレートのTSファイルの再生が開始されることになる。
【００６２】
つまり、TSファイルN+2以降のデータを削除しない場合、バッファ３６には、低ビットレートのTSファイルのデータが溜まってしまい、高ビットレートのTSファイルのデータへの切り替えに長時間を要する。また、バッファ３６の容量が大きければ大きいほど、低ビットレートのTSファイルが余分に記憶されてしまい、その切り替え時間が長くなる。それに対して、低ビットレートのTSファイルN+2以降のデータを削除することで、低ビットレートから高ビットレートに迅速に切り替えられ、直ちに、ユーザは高画質のコンテンツを視聴することができる。
【００６３】
また、再生中のTSファイルNだけでなく、その次に再生されるTSファイルN+1を削除せずに残すことで、高ビットレートのTSファイルのデータがバッファ３６に蓄積されるまでの時間を稼ぐことができるので、いわゆる再バッファリングが行われず、ビットレートの切り替えをスムーズに行うことができる。
【００６４】
一方、ステップＳ１６において、低ビットレートから高ビットレートに切り替えないと判定された場合、処理は、ステップＳ１９に進む。ステップＳ１９において、ビットレート制御部３４は、受信速度測定部３３により測定された受信速度に基づいて、受信されるTSファイルのビットレートを、高ビットレートから低ビットレートに切り替えるか否かを判定する。
【００６５】
ステップＳ１９において、高ビットレートから低ビットレートに切り替えると判定された場合、処理は、ステップＳ２０に進む。すなわち、ビットレート制御部３４は、例えば、インターネット１２の帯域の変動により、受信速度が遅くなった場合、ウェブサーバ１１から受信するTSファイルのビットレートを、高ビットレートから低ビットレートに切り替えると判定する。
【００６６】
ステップＳ２０において、バッファ制御部３５は、バッファ３６に書き込み途中のTSファイルのデータを削除する。すなわち、書き込み途中のTSファイルを、TSファイルN+5とした場合、TSファイルN+5のデータのみが削除され、それ以外の完全に書き込まれたTSファイルN乃至N+4のデータは削除されないことになる。
【００６７】
なお、高ビットレートから低ビットレートに切り替える場合におけるバッファ制御の詳細は、図８及び図９を参照して後述する。
【００６８】
TSファイルのデータの削除が完了すると、処理は、ステップＳ２１に進む。ビットレート制御部３４は、低ビットレートへの変更を、ダウンロード部３２に指示する。ダウンロード部３２は、低ビットレートへの変更要求を、インターネット１２を介してウェブサーバ１１に通知する。これにより、ウェブサーバ１１から送信されるコンテンツのビットレートが、高ビットレートから低ビットレートに切り替えられる。
【００６９】
そして、バッファ３６には、新たに、低ビットレートのTSファイルのデータが書き込まれることになるが、例えば、高ビットレートのTSファイルN+5のデータのみが削除されているため、TSファイルN乃至N+4が再生された後でないと、低ビットレートのTSファイルの再生は開始されないことになる。
【００７０】
つまり、高ビットレートから低ビットレートに切り替える場合、バッファ３６に既に記憶された高ビットレートのTSファイルのデータを削除せずに残しておくことで、そのバッファ３６に残っている分だけ、ユーザに対して高画質のコンテンツを視聴させることができる。
【００７１】
ステップＳ１８，Ｓ２１のいずれかの処理が終了した場合、又は高ビットレートから低ビットレートに切り替えないと判定された場合（ステップＳ１９の「No」）、処理は、ステップＳ１１に戻り、コンテンツの受信が終了するまで、前述した処理が繰り返される。
【００７２】
以上のように、クライアント端末装置１３においては、低ビットレートから高ビットレートに切り替えられた場合、バッファ３６に記憶された低ビットレートのTSファイルのデータのうち、再生中のTSファイルとその次に再生されるTSファイル以外のTSファイルのデータが削除される。これにより、ビットレートの切り替えを迅速に行うことができる。
【００７３】
また、クライアント端末装置１３においては、高ビットレートから低ビットレートに切り替えられた場合、バッファ３６に書き込み途中の高ビットレートのTSファイルのデータのみが削除される。これにより、ユーザに対して、可能な限り高画質のコンテンツを視聴させることができる。
【００７４】
［低ビットレートから高ビットレートに切り替える場合のバッファ制御］
次に、図６及び図７を参照して、低ビットレートから高ビットレートに切り替える場合におけるバッファ制御の詳細について説明する。
【００７５】
図６及び図７においては、高ビットレート又は低ビットレートの項目に対応して、それらのビットレートでのバッファ３６に記憶されたTSファイルのデータが示されている。また、時間の方向は図中左から右側に向かう方向とされる。
【００７６】
図６Ａに示すように、低ビットレートのTSファイルが受信される場合、バッファ３６には、低ビットレートのTSファイルのデータが順次書き込まれ、書き込まれた順に読み出される。
【００７７】
例えば、TSファイルN乃至N+4のデータが順次書き込まれ、TSファイルN+5のデータを書き込んでいる途中に、低ビットレートから高ビットレートに切り替える場合、TSファイルN+2乃至N+5のデータが削除される。この場合、再生中のTSファイルNと、その次に再生されるTSファイルN+1は削除されないことになる。
【００７８】
その後、低ビットレートのTSファイルNとTSファイルN+1の再生が行われている間に、高ビットレートのTSファイルのデータの受信が開始される。すると、図６Ｂに示すように、バッファ３６には、高ビットレートのTSファイルのデータが、TSファイルN+2から順次書き込まれる。そして、低ビットレートのTSファイルN+1の再生が終了した後、直ちに、その続きの高ビットレートのTSファイルN+2の再生が開始される。
【００７９】
これにより、迅速にビットレートを切り替えることができるだけでなく、低ビットレートのTSファイルN乃至N+1のデータを残しているため、再バッファリングを抑制することができる。なお、この再バッファリングの抑制のために、TSファイルN+1のデータを余分に残しているが、TSファイルN+1以降のデータを余分に残してもよい。例えば、低ビットレートのTSファイルN乃至N+2のデータが削除されないようにすればよい。換言すれば、低ビットレートから高ビットレートに切り替える場合、バッファ３６に記憶されたTSファイルのデータのうち、再生中のTSファイルとその次に再生されるTSファイルを少なくとも含むTSファイル以外のTSファイルのデータが削除されることになる。
【００８０】
また、バッファ３６に記憶されるTSファイルの数は常に一定とはならず、インターネット１２の帯域の変動や、クライアント端末装置１３の処理能力などにより変化するものである。図７には、バッファ３６に記憶されたTSファイルの数に応じたバッファ制御の例を示している。
【００８１】
図７Ａに示すように、前述した図６と同様に、N+1個以上のTSファイルのデータがバッファ３６に記憶された場合、例えば、TSファイルN+2乃至N+5のデータが削除され、TSファイルN乃至N+1のデータが残される。そして、バッファ３６には、高ビットレートのTSファイルが、TSファイルN+2のデータから順次記憶される。
【００８２】
また、図７Ｂに示すように、TSファイルNのデータと、TSファイルN+1の途中までのデータがバッファ３６に記憶された場合、TSファイルN+1のデータが完全に記憶されてから、高ビットレートのTSファイルが、TSファイルN+2のデータから順次記憶される。例えば、ユーザの操作により、低ビットレートから高ビットレートに切り替えられた場合、このようなケースが想定される。
【００８３】
また、図７Ｃに示すように、TSファイルNの途中までのデータがバッファ３６に記憶された場合、TSファイルNのデータが完全に記憶されてから、高ビットレートのTSファイルが、TSファイルN+1のデータから順次記憶される。例えば、いわゆる追いかけ再生などがこのケースにあてはまる。
【００８４】
以上のように、低ビットレートから高ビットレートに切り替える場合におけるバッファ制御が行われ、ネットワーク環境やユーザ操作に応じて、コンテンツのビットレートが適応的に制御される。
【００８５】
［高ビットレートから低ビットレートに切り替える場合のバッファ制御］
次に、図８及び図９を参照して、高ビットレートから低ビットレートに切り替える場合におけるバッファ制御の詳細について説明する。
【００８６】
図８及び図９においては、前述した図６及び図７と同様に、高ビットレート又は低ビットレートの項目に対応して、それらのビットレートでのバッファ３６に記憶されたTSファイルのデータが示されている。
【００８７】
図８Ａに示すように、高ビットレートのTSファイルが受信される場合、バッファ３６には、高ビットレートのTSファイルのデータが順次書き込まれ、書き込まれた順に読み出される。
【００８８】
例えば、TSファイルN乃至N+4のデータが順次書き込まれ、TSファイルN+5のデータを書き込んでいる途中に、高ビットレートから低ビットレートに切り替える場合、書き込み途中のTSファイルN+5のデータのみが削除される。従って、再生中のTSファイルNの他、TSファイルN+1乃至N+4は削除されないことになる。
【００８９】
その後、高ビットレートのTSファイルN乃至N+4の再生が行われている間に、低ビットレートのTSファイルのデータの受信が開始される。すると、図８Ｂに示すように、バッファ３６には、低ビットレートのTSファイルのデータが、TSファイルN+5から順次書き込まれる。そして、高ビットレートのTSファイルN+4の再生が終了した後、直ちに、その続きの低ビットレートのTSファイルN+5の再生が開始される。
【００９０】
これにより、ユーザに対して、可能な限り高画質のコンテンツを視聴させて、低画質のコンテンツの再生時間を短くすることができる。
【００９１】
また、前述したように、バッファ３６に記憶されるTSファイルの数は一定とはならず、変化するものである。図９には、バッファ３６に記憶されたTSファイルの数に応じたバッファ制御の例を示している。
【００９２】
図９Ａに示すように、前述した図８と同様に、N個以上のTSファイルがバッファ３６に記憶されている場合、例えば、書き込み途中のTSファイルN+5のデータが削除され、TSファイルN乃至N+4のデータが残される。そして、バッファ３６には、低ビットレートのTSファイルが、TSファイルN+5から順次記憶される。
【００９３】
また、図９Ｂに示すように、TSファイルNの途中までのデータがバッファ３６に記憶された場合、TSファイルNのデータが完全に記憶されてから、低ビットレートのTSファイルが、TSファイルN+1から順次記憶される。
【００９４】
以上のように、高ビットレートから低ビットレートに切り替える場合におけるバッファ制御が行われ、ネットワーク環境やユーザ操作に応じて、コンテンツのビットレートが適応的に制御される。
【００９５】
［各バッファのデータの流れ］
次に、図１０及び図１１を参照して、クライアント端末装置１３の各バッファに記憶されるデータについて説明する。
【００９６】
前述したように、バッファ制御部３５によりバッファ３６に書き込まれたTSファイルのデータは、順次読み出されて多重分離部３７に供給され、ビデオ符号化信号とオーディオ符号化信号に分離され、バッファ３８に記憶される。バッファ３８に記憶されたビデオ符号化信号とオーディオ符号化信号は、順次読み出されて、デコーダ３９により復号される。
【００９７】
図１０に示すように、バッファ３６に順次書き込まれるTSファイルから、TSファイルN乃至N+2のデータが読み出された場合、多重分離部３７によりビデオ符号化信号とオーディオ符号化信号に分離されると、TSファイルの区切りが分からなくなる。すなわち、バッファ３６に記憶されたTSファイルN+3以降の各TSファイルの区切りが分かるが、バッファ３８に記憶されたビデオ符号化信号とオーディオ符号化信号であると、TSファイルN乃至N+2の各ファイルの区切りが分からなくなる。
【００９８】
そこで、図１１に示すように、バッファ制御部３５によって、多重分離部３７に供給されるTSファイルの最大数を２個に制限する。すなわち、TSファイルは、ビデオ符号化信号とオーディオ符号化信号に分離されると、その区切りが分からなくなるため、その前段のバッファ３６を制御して、多重分離部３７に対して、TSファイルNとTSファイルN+1のデータが供給されるようにする（図５のステップＳ１５の処理）。
【００９９】
換言すれば、多重分離部３７に供給されるTSファイルの最大数を制御することで、多重分離部３７及びデコーダ３９により処理されるTSファイルを制御していると言える。
【０１００】
これにより、バッファ３６では、例えば、TSファイルN+1と、TSファイルN+2の区切りが識別されるため、その区切りから、TSファイルN+2以降のデータを削除することが可能となる。
【０１０１】
また、図１０の例においては、例えば、多重分離部３７のバッファの容量が5Mbyte、コンテンツのビットレートが1Mbpsである場合に、ファイル容量が1MbyteのTSファイルが受信され、各TSファイルの処理時間が8秒であるとき、多重分離部３７では、40秒（5×8秒）の処理時間が必要となる。従って、低ビットレートから高ビットレートへの切り替えが行われるまでに、40秒の時間を要することになる。
【０１０２】
一方、図１１に示したように、多重分離部３７に対して、TSファイルNとTSファイルN+1のデータを供給し、TSファイルN+2以降のデータを削除する場合、多重分離部３７では、16秒（2×8秒）の処理時間が必要となる。従って、低ビットレートから高ビットレートへの切り替えが行われるまでに、最長でも16秒しかかからないため、迅速にビットレートの切り替えを行うことができる。
【０１０３】
なお、各TSファイルの区切りを識別することが目的であるため、多重分離部３７に供給されるTSファイルの最大数は２個に限らず、２個以上とすることができる。また、多重分離部３７に供給されるTSファイルの最大数を制限することで、バッファ３８の使用可能な容量は制限されるため、バッファ３６の容量を大きくして、バッファ３６に記憶されるTSファイルのデータを増加させることが望ましい。
【０１０４】
以上のように、ビットレートの切り替え時におけるバッファ管理の最適化を行うことで、低ビットレートから高ビットレートに切り替えられた場合、迅速にビットレートの切り替えを行うことができる。
【０１０５】
特に、ライブコンテンツのストリーミング再生を行う場合、再視聴ができないため、切り替えに時間がかかってしまうと、その分高画質のコンテンツが視聴できないこととなり、ユーザにとって不利益となる。また、コンテンツプロバイダ側からしても、ユーザの満足する画質のコンテンツを配信する機会を失ってしまい、提供しているサービスの価値を下げてしまう。それに対して、本技術では、ビットレートの切り替え時におけるユーザビリティを考慮したバッファ管理を行うことで、迅速にビットレートの切り替えを行うことができるので、ユーザとコンテンツプロバイダを共に満足させることができる。
【０１０６】
また、ビットレートの切り替え時におけるバッファ管理の最適化を行うことで、高ビットレートから低ビットレートに切り替えられた場合、可能な限り高画質のコンテンツを視聴させて、低画質のコンテンツの再生時間を短くすることができる。
【０１０７】
なお、前述した説明では、低ビットレートと、高ビットレートの２種類のビットレートの切り替えについて説明したが、各ビットレートの速度の関係は相対的なものであって、例えば中ビットレートなどについても同様に切り替えることができる。例えば、中ビットレートは、低ビットレートとの関係では高速なビットレートとなるが、高ビットレートとの関係では低速なビットレートとなる。
【０１０８】
また、前述した図５のフローチャートの説明では、ビットレートの切り替えを、受信速度測定部３３により測定される受信速度に基づいて自動で行ったが、ユーザの操作に応じてビットレートを切り替えるようにしてもよい。
【０１０９】
［本技術を適用したコンピュータの説明］
前述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０１１０】
そこで、図１２は、前述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０１１１】
プログラムは、コンピュータ１００に内蔵されているハードディスク等の記録部１０８やROM(Read Only Memory)１０２に予め記録しておくことができる。
【０１１２】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブルメディア１１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブルメディア１１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０１１３】
なお、プログラムは、前述したようなリムーバブルメディア１１１からコンピュータ１００にインストールする他、ダウンロードサイトから、デジタル衛星放送用の人工衛星を介して、コンピュータ１００に無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータ１００に有線で転送し、コンピュータ１００では、そのようにして転送されてくるプログラムを、通信部１０９で受信し、記録部１０８にインストールすることができる。
【０１１４】
コンピュータ１００は、CPU(Central Processing Unit)１０１を内蔵している。CPU１０１には、バス１０４を介して、入出力インタフェース１０５が接続されており、CPU１０１は、入出力インタフェース１０５を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部１０６が操作等されることにより指令が入力されると、それに従って、ROM１０２に格納されているプログラムを実行する。あるいは、また、CPU１０１は、記録部１０８に格納されているプログラム、衛星若しくはネットワークから転送され、通信部１０９で受信されて記録部１０８にインストールされたプログラム、又はドライブ１１０に装着されたリムーバブルメディア１１１から読み出されて記録部１０８にインストールされたプログラムを、RAM(Random Access Memory)１０３にロードして実行する。これにより、CPU１０１は、前述したフローチャートにしたがった処理、あるいは前述したブロック図の構成により行われる処理を行う。そして、CPU１０１は、その処理結果を、必要に応じて、例えば、入出力インタフェース１０５を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部１０７から出力、あるいは、通信部１０９から送信、さらには、記録部１０８に記録等させる。
【０１１５】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０１１６】
また、プログラムは、１のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【０１１７】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１１８】
また、本技術の実施の形態は、前述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１１９】
１１  ウェブサーバ，  １２  インターネット，  １３  クライアント端末装置，  １４  ディスプレイ装置，  ３１  通信I/F，  ３２  ダウンロード部，  ３３  受信速度測定部，  ３４  ビットレート制御部，  ３５  バッファ制御部，  ３６  バッファ，  ３７  多重分離部，  ３８  バッファ，  ３９  デコーダ，  ４０  AV I/F，  １００  コンピュータ，  １０１  CPU
【図１】
2012222530.tif 000003
【図２】
2012222530.tif 000004
【図３】
2012222530.tif 000005
【図４】
2012222530.tif 000006
【図５】
2012222530.tif 000007
【図６】
2012222530.tif 000008
【図７】
2012222530.tif 000009
【図８】
2012222530.tif 000010
【図９】
2012222530.tif 000011
【図１０】
2012222530.tif 000012
【図１１】
2012222530.tif 000013
【図１２】
2012222530.tif 000014