(57)【特許請求の範囲】
【請求項１】
互いに通信可能に構成されたサーバ装置及びクライアント装置を含む配信システムであって、
前記サーバ装置は、１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを前記クライアント装置へ送信可能に構成され、
前記クライアント装置は、前記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて前記コンテンツを再生するように構成され、
前記クライアント装置の前記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
前記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を備えるとともに、
前記ビットレート変更手段は、
前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されると共に、前記取得された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成された配信システム。
【請求項２】
請求項１に記載の配信システムであって、
前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を備えるとともに、
前記ビットレート変更手段は、
前記取得された受信速度と、前記取得された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成された配信システム。
【請求項３】
請求項１又は請求項２に記載の配信システムであって、
前記ビットレート変更手段は、
第１の遅延時間後に前記残余再生時間を前記目標値に一致させる第１のビットレートと、前記第１の遅延時間よりも長い第２の遅延時間後に前記残余再生時間を前記目標値に一致させる第２のビットレートと、を算出し、当該算出した第１のビットレート及び第２のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成された配信システム。
【請求項４】
請求項１乃至請求項３のいずれか一項に記載の配信システムであって、
前記ビットレート変更手段は、
前記残余再生時間が前記目標値よりも小さい場合において、前記残余再生時間が前記目標値よりも大きい場合よりも早期に前記残余再生時間を前記目標値に一致させるように、前記補正量を算出するように構成された配信システム。
【請求項５】
請求項４に記載の配信システムであって、
前記ビットレート変更手段は、
前記残余再生時間が前記目標値よりも小さい場合、第１の不足時遅延時間後に前記残余再生時間を前記目標値に一致させるビットレートを前記第１のビットレートとして算出するとともに、当該第１の不足時遅延時間よりも長い第２の不足時遅延時間後に前記残余再生時間を前記目標値に一致させるビットレートを前記第２のビットレートとして算出し、一方、前記残余再生時間が前記目標値よりも大きい場合、第１の余剰時遅延時間後に前記残余再生時間を前記目標値に一致させるビットレートを前記第１のビットレートとして算出するとともに、当該第１の余剰時遅延時間よりも長く且つ当該第２の不足時遅延時間よりも長い第２の余剰時遅延時間後に前記残余再生時間を前記目標値に一致させるビットレートを前記第２のビットレートとして算出するように構成された配信システム。
【請求項６】
請求項１乃至請求項５のいずれか一項に記載の配信システムであって、
前記クライアント装置が前記コンテンツを再生する速度である再生速度を取得する再生速度取得手段を備えるとともに、
前記ビットレート変更手段は、
前記取得された再生速度に基づいて前記補正量低減範囲を決定するように構成された配信システム。
【請求項７】
請求項３乃至請求項６のいずれか一項に記載の配信システムであって、
前記ビットレート変更手段は、
前記目標値から、前記取得された残余再生時間を減じた値を、前記第１の遅延時間又は前記第２の遅延時間により除した値を前記残余再生時間の時間微分値として推定し、当該推定した時間微分値に基づいて前記第１のビットレート又は前記第２のビットレートを算出するように構成された配信システム。
【請求項８】
請求項１乃至請求項７のいずれか一項に記載の配信システムであって、
前記ビットレート変更手段は、
前記サーバ装置が送信しているコンテンツデータのビットレートが前記上限値よりも大きい場合、当該上限値と、当該ビットレートと、の差に基づいて前記補正量を算出するように構成された配信システム。
【請求項９】
請求項８に記載の配信システムであって、
前記ビットレート変更手段は、
前記サーバ装置が送信しているコンテンツデータのビットレートが前記上限値よりも大きい場合、当該上限値から当該ビットレートを減じた値に予め設定された比例係数を乗じた値を前記補正量として算出するように構成された配信システム。
【請求項１０】
請求項１乃至請求項９のいずれか一項に記載の配信システムであって、
前記ビットレート変更手段は、
前記サーバ装置が送信しているコンテンツデータのビットレートが前記下限値よりも小さい場合、当該下限値と、当該ビットレートと、の差に基づいて前記補正量を算出するように構成された配信システム。
【請求項１１】
請求項１０に記載の配信システムであって、
前記ビットレート変更手段は、
前記サーバ装置が送信しているコンテンツデータのビットレートが前記下限値よりも小さい場合、当該下限値から当該ビットレートを減じた値に予め設定された比例係数を乗じた値を前記補正量として算出するように構成された配信システム。
【請求項１２】
請求項１乃至請求項１１のいずれか一項に記載の配信システムであって、
前記ビットレート変更手段は、
前記サーバ装置が送信しているコンテンツデータのビットレートが前記補正量低減範囲内にある場合、前記補正量を０に設定するように構成された配信システム。
【請求項１３】
１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と、前記サーバ装置と通信可能に構成されたクライアント装置と、を含む配信システムに適用される配信方法であって、
前記サーバ装置が前記コンテンツデータを前記クライアント装置へ送信し、
前記クライアント装置が、前記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて前記コンテンツを再生し、
前記クライアント装置の前記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を取得し、
前記ビットレートが所定の補正量低減範囲内にない場合、前記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、一方、前記ビットレートが当該補正量低減範囲内にある場合、前記取得された残余再生時間と当該目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量であって当該補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出し、
前記算出された補正量に基づいて、前記サーバ装置が送信するコンテンツデータの前記ビットレートを変更し、
前記取得された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成された配信方法。
【請求項１４】
請求項１３に記載の配信方法であって、
前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得し、
前記取得された受信速度と、前記取得された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成された配信方法。
【請求項１５】
請求項１３又は請求項１４に記載の配信方法であって、
第１の遅延時間後に前記残余再生時間を前記目標値に一致させる第１のビットレートと、前記第１の遅延時間よりも長い第２の遅延時間後に前記残余再生時間を前記目標値に一致させる第２のビットレートと、を算出し、当該算出した第１のビットレート及び第２のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成された配信方法。
【請求項１６】
クライアント装置と通信可能に構成されたサーバ装置であって、
１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを前記クライアント装置へ送信可能に構成され、
前記コンテンツデータのうちの前記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
前記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記クライアント装置へ送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を備えるとともに、
前記ビットレート変更手段は、
前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されると共に、前記受信された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成されたサーバ装置。
【請求項１７】
請求項１６に記載のサーバ装置であって、
前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を当該クライアント装置から受信する受信速度受信手段を備えるとともに、
前記ビットレート変更手段は、
前記受信された受信速度と、前記受信された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成されたサーバ装置。
【請求項１８】
請求項１６又は請求項１７に記載のサーバ装置であって、
前記ビットレート変更手段は、
第１の遅延時間後に前記残余再生時間を前記目標値に一致させる第１のビットレートと、前記第１の遅延時間よりも長い第２の遅延時間後に前記残余再生時間を前記目標値に一致させる第２のビットレートと、を算出し、当該算出した第１のビットレート及び第２のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されたサーバ装置。
【請求項１９】
クライアント装置と通信可能に構成されるとともに、１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを前記クライアント装置へ送信可能に構成されたサーバ装置に、
前記コンテンツデータのうちの前記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
前記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記クライアント装置へ送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を実現させるとともに、
前記ビットレート変更手段は、
前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されると共に、前記受信された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成されたプログラム。
【請求項２０】
請求項１９に記載のプログラムであって、
前記サーバ装置に、更に、
前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を当該クライアント装置から受信する受信速度受信手段を実現させるとともに、
前記ビットレート変更手段は、
前記受信された受信速度と、前記受信された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成されたプログラム。
【請求項２１】
請求項１９又は請求項２０に記載のプログラムであって、
前記ビットレート変更手段は、
第１の遅延時間後に前記残余再生時間を前記目標値に一致させる第１のビットレートと、前記第１の遅延時間よりも長い第２の遅延時間後に前記残余再生時間を前記目標値に一致させる第２のビットレートと、を算出し、当該算出した第１のビットレート及び第２のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されたプログラム。
【請求項２２】
１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成されたクライアント装置であって、
前記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて前記コンテンツを再生するように構成され、
前記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
前記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を前記サーバ装置へ送信するビットレート変更要求送信手段と、
を備えるとともに、
前記ビットレート変更要求送信手段は、
前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されると共に、前記取得された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成されたクライアント装置。
【請求項２３】
請求項２２に記載のクライアント装置であって、
前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を備えるとともに、
前記ビットレート変更要求送信手段は、
前記取得された受信速度と、前記取得された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成されたクライアント装置。
【請求項２４】
請求項２２又は請求項２３に記載のクライアント装置であって、
前記ビットレート変更要求送信手段は、
第１の遅延時間後に前記残余再生時間を前記目標値に一致させる第１のビットレートと、前記第１の遅延時間よりも長い第２の遅延時間後に前記残余再生時間を前記目標値に一致させる第２のビットレートと、を算出し、当該算出した第１のビットレート及び第２のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されたクライアント装置。
【請求項２５】
１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成されるとともに、前記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて前記コンテンツを再生するように構成されたクライアント装置に、
前記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
前記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を前記サーバ装置へ送信するビットレート変更要求送信手段と、
を実現させるとともに、
前記ビットレート変更要求送信手段は、
前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されると共に、前記取得された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成されたプログラム。
【請求項２６】
請求項２５に記載のプログラムであって、
前記クライアント装置に、更に、
前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を実現させるとともに、
前記ビットレート変更要求送信手段は、
前記取得された受信速度と、前記取得された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成されたプログラム。
【請求項２７】
請求項２５又は請求項２６に記載のプログラムであって、
前記ビットレート変更要求送信手段は、
第１の遅延時間後に前記残余再生時間を前記目標値に一致させる第１のビットレートと、前記第１の遅延時間よりも長い第２の遅延時間後に前記残余再生時間を前記目標値に一致させる第２のビットレートと、を算出し、当該算出した第１のビットレート及び第２のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されたプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータを送信するサーバ装置と、受信したコンテンツデータが表すコンテンツを再生するクライアント装置と、を含む配信システムに関する。
【背景技術】
【０００２】
互いに通信可能に構成されたサーバ装置及びクライアント装置を含む配信システムが知られている。サーバ装置は、１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータをクライアント装置へ送信可能に構成される。【０００３】
また、クライアント装置は、サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいてコンテンツを再生する。【０００４】
この種の配信システムの一つとして特許文献１に記載の配信システムは、クライアント装置の記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいてコンテンツを再生可能な時間である残余再生時間を目標値に近づけるように、サーバ装置が送信するコンテンツデータのビットレートを変更する。【０００５】
これによれば、残余再生時間を適切な範囲に維持することができる。従って、残余再生時間が過少となることによって、クライアント装置におけるコンテンツの再生が途切れることを防止することができる。また、残余再生時間が過大となることによって、クライアント装置の記憶装置に記憶されているデータ量が過大となることを防止することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１７２８３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記配信システムにおいては、クライアント装置が再生するコンテンツのビットレートが頻繁に変動してしまう。このため、コンテンツの視聴者が感じるサービス品質であるユーザ体感品質（ＱｏＥ；Ｑｕａｌｉｔｙ  ｏｆ  Ｅｘｐｅｒｉｅｎｃｅ）が過度に低下してしまうという問題があった。【０００８】
このため、本発明の目的は、上述した課題である「残余再生時間を適切な範囲に維持した場合に、ユーザ体感品質が過度に低下してしまうこと」を解決することが可能な配信システムを提供することにある。
【課題を解決するための手段】
【０００９】
かかる目的を達成するため本発明の一形態である配信システムは、互いに通信可能に構成されたサーバ装置及びクライアント装置を含むシステムである。【００１０】
更に、上記サーバ装置は、１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成され、
上記クライアント装置は、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成される。【００１１】
加えて、上記配信システムは、
上記クライアント装置の上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を備える。【００１２】
加えて、上記ビットレート変更手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。【００１３】
また、本発明の他の形態である配信方法は、１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と、上記サーバ装置と通信可能に構成されたクライアント装置と、を含む配信システムに適用される方法である。【００１４】
更に、この配信方法は、
上記サーバ装置が上記コンテンツデータを上記クライアント装置へ送信し、
上記クライアント装置が、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生し、
上記クライアント装置の上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得し、
上記ビットレートが所定の補正量低減範囲内にない場合、上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、一方、上記ビットレートが当該補正量低減範囲内にある場合、上記取得された残余再生時間と当該目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量であって当該補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出し、
上記算出された補正量に基づいて、上記サーバ装置が送信するコンテンツデータの上記ビットレートを変更する方法である。【００１５】
また、本発明の他の形態であるサーバ装置は、クライアント装置と通信可能に構成された装置である。【００１６】
更に、このサーバ装置は、
１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成され、
上記コンテンツデータのうちの上記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
上記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記クライアント装置へ送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を備える。【００１７】
加えて、上記ビットレート変更手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。【００１８】
また、本発明の他の形態であるプログラムは、
クライアント装置と通信可能に構成されるとともに、１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成されたサーバ装置に、
上記コンテンツデータのうちの上記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
上記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記クライアント装置へ送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を実現させるためのプログラムである。【００１９】
加えて、上記ビットレート変更手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。【００２０】
また、本発明の他の形態であるクライアント装置は、１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成された装置である。【００２１】
更に、このクライアント装置は、
上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成され、
上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を上記サーバ装置へ送信するビットレート変更要求送信手段と、
を備える。【００２２】
加えて、上記ビットレート変更要求送信手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。【００２３】
また、本発明の他の形態であるプログラムは、
１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成されるとともに、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成されたクライアント装置に、
上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を上記サーバ装置へ送信するビットレート変更要求送信手段と、
を実現させるためのプログラムである。【００２４】
加えて、上記ビットレート変更要求送信手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
【発明の効果】
【００２５】
本発明は、以上のように構成されることにより、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１実施形態に係る配信システムの概略構成を表す図である。
【図２】本発明の第１実施形態に係る配信システムの機能の概略を表すブロック図である。
【図３】４つの時定数、残余再生時間、残余再生時間の目標値、及び、メディア流速の時間変化率の関係を概念的に示した説明図である。
【図４】時定数、残余再生時間、残余再生時間の目標値、及び、メディア流速の時間変化率の関係を概念的に示した説明図である。
【図５】本発明の第１実施形態に係るクライアント装置のＣＰＵが実行する受信側情報送信プログラムを示したフローチャートである。
【図６】本発明の第１実施形態に係るサーバ装置のＣＰＵが実行するビットレート補正プログラムを示したフローチャートである。
【図７】本発明の第１実施形態に係るサーバ装置のＣＰＵが実行する補正量低減範囲決定プログラムを示したフローチャートである。
【図８】本発明の第１実施形態に係るサーバ装置のＣＰＵが実行する補正量算出プログラムを示したフローチャートである。
【図９】本発明の第１実施形態に係る配信システムを用いた場合のシミュレーション結果を示したグラフである。
【図１０】特許文献１に記載の配信システムを用いた場合のシミュレーション結果を示したグラフである。
【図１１】本発明の第２実施形態に係る配信システムの機能の概略を表すブロック図である。
【図１２】本発明の第３実施形態に係る配信システムの機能の概略を表すブロック図である。
【発明を実施するための形態】
【００２７】
以下、本発明に係る、配信システム、配信方法、サーバ装置、プログラム、及び、クライアント装置、の各実施形態について図１〜図１２を参照しながら説明する。
【００２８】
＜第１実施形態＞
図１に示したように、第１実施形態に係る配信システム１は、サーバ装置１０と、クライアント装置２０と、を含む。サーバ装置１０及びクライアント装置２０は、通信回線（例えば、インターネット）ＮＷを介して、互いに通信可能に接続されている。
【００２９】
サーバ装置１０は、図示しない中央処理装置（ＣＰＵ；Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、及び、記憶装置（メモリ及びハードディスク駆動装置（ＨＤＤ；Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ））を備える。サーバ装置１０は、記憶装置に記憶されているプログラムをＣＰＵが実行することにより、後述する機能を実現するように構成されている。
【００３０】
クライアント装置２０は、パーソナル・コンピュータである。なお、クライアント装置２０は、携帯電話装置、カーナビゲーション装置、テレビ受像機、セットトップボックス、又は、ゲーム機等であってもよい。クライアント装置２０は、図示しない中央処理装置（ＣＰＵ）、記憶装置（メモリ）、入力装置（例えば、キーボード及びマウス等）及び出力装置（例えば、ディスプレイ及びスピーカ等）を備える。クライアント装置２０は、記憶装置に記憶されているプログラムをＣＰＵが実行することにより、後述する機能を実現するように構成されている。
【００３１】
図２は、上記のように構成された配信システム１の機能を表すブロック図である。
サーバ装置１０の機能は、コンテンツデータ蓄積部１１と、コンテンツ送信部１２と、補正量低減範囲決定部（ビットレート変更手段の一部、残余再生時間受信手段、受信速度受信手段、再生速度受信手段）１３と、ビットレート補正部（ビットレート変更手段の一部）１４と、を含む。コンテンツデータ蓄積部１１は、サーバ装置１０の記憶装置により実現される。また、コンテンツ送信部１２、補正量低減範囲決定部１３、及び、ビットレート補正部１４は、サーバ装置１０のＣＰＵが後述する図６に示したフローチャートにより表されるプログラム等を実行することにより、実現される。
【００３２】
一方、クライアント装置２０の機能は、コンテンツ受信部２１と、コンテンツバッファ部２２と、コンテンツ再生部２３と、受信速度取得部（受信速度取得手段）２４と、残余再生時間取得部（残余再生時間取得手段）２５と、再生速度取得部（再生速度取得手段）２６と、を含む。これらの機能は、クライアント装置２０のＣＰＵが後述する図５に示したフローチャートにより表されるプログラム等を実行することにより、実現される。
【００３３】
以下、各機能について説明する。
サーバ装置１０のコンテンツデータ蓄積部１１は、１つのコンテンツ（例えば、映像又は音声等を表す情報）を、複数の異なるビットレートのそれぞれにて符号化したコンテンツデータを予め記憶（蓄積）している。ここで、ビットレートは、コンテンツを単位時間だけ等速再生（１倍速にて再生）するために必要なデータのサイズを表す。
【００３４】
サーバ装置１０のコンテンツ送信部１２は、コンテンツデータ蓄積部１１に記憶されているコンテンツデータをクライアント装置２０へ送信する。本例では、コンテンツ送信部１２は、クライアント装置２０からコンテンツ送信要求を受信し、受信したコンテンツ送信要求により特定されるコンテンツデータをクライアント装置２０へ送信する。
【００３５】
なお、コンテンツ送信部１２は、コンテンツデータ蓄積部１１に記憶されているコンテンツデータに基づいて、そのコンテンツデータと異なるビットレートにて符号化したコンテンツデータを生成するように構成されていてもよい。
【００３６】
このように、サーバ装置１０は、１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータをクライアント装置２０へ送信可能に構成されている。
【００３７】
一方、クライアント装置２０のコンテンツ受信部２１は、サーバ装置１０により送信されたコンテンツデータを受信する。
クライアント装置２０のコンテンツバッファ部２２は、コンテンツ受信部２１によりコンテンツデータが受信されている間に、そのコンテンツデータのうちの受信されたデータを記憶装置に記憶させる。
【００３８】
更に、クライアント装置２０のコンテンツ再生部２３は、記憶装置に記憶されているデータに基づいてコンテンツを再生する（出力装置を介して出力する）。また、コンテンツ再生部２３は、ユーザからの指示に応じてコンテンツを再生する速度である再生速度を変更する機能を含む。
【００３９】
即ち、クライアント装置２０は、サーバ装置１０により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいてコンテンツを再生する（即ち、ストリーミング再生を行う）ように構成されている。
【００４０】
また、クライアント装置２０の受信速度取得部２４は、コンテンツ受信部２１によって、単位時間あたりに受信されるコンテンツデータのサイズ（データ量又はデータサイズ）である受信速度を取得する。
【００４１】
本例では、受信速度取得部２４は、所定の計測時間内に受信されたコンテンツデータのデータサイズを当該計測時間により除した値である瞬時受信速度を取得し、複数の異なる時点にて取得された瞬時受信速度を平均した値を受信速度として取得する。なお、受信速度取得部２４は、ある時点にて取得された瞬時受信速度を受信速度として取得するように構成されていてもよい。また、受信速度取得部２４は、複数の異なる時点にて取得された瞬時受信速度と、フィルタ（例えば、カルマンフィルタ等）と、に基づいて受信速度を取得するように構成されていてもよい。
【００４２】
更に、受信速度取得部２４は、取得した受信速度を受信側情報の一部としてサーバ装置１０へ送信する。
【００４３】
また、クライアント装置２０の残余再生時間取得部２５は、記憶装置に記憶されているデータのうちの未だ再生していない部分（未再生データ）に基づいてコンテンツ再生部２３によりコンテンツを再生可能な時間である残余再生時間を取得する。
【００４４】
本例では、残余再生時間取得部２５は、当該未再生データのサイズを当該未再生データのビットレートにより除した値を残余再生時間として取得する。例えば、未再生データのサイズが１［ＭＢ］（以下、物理量の単位を［］により囲んで表記する）であり、且つ、その未再生データのビットレートが１［Ｍｂｐｓ］である場合には、残余再生時間は８［秒］となる。また、未再生データのサイズが１［ＭＢ］であり、且つ、その未再生データのビットレートが２［Ｍｂｐｓ］である場合には、残余再生時間は４［秒］となる。
【００４５】
なお、残余再生時間取得部２５は、当該未再生データが互いに異なるビットレートを有する複数の部分から構成されている場合、各部分のサイズをその部分のビットレートにより除した値の和を残余再生時間として取得する。例えば、１［Ｍｂｐｓ］のビットレートを有し且つサイズが１［ＭＢ］であるデータと、２［Ｍｂｐｓ］のビットレートを有し且つサイズが１［ＭＢ］であるデータと、からなるコンテンツデータが、未再生データである場合、残余再生時間取得部２５は、８［秒］＋４［秒］＝１２［秒］を残余再生時間として取得する。
【００４６】
更に、残余再生時間取得部２５は、取得した残余再生時間を受信側情報の一部としてサーバ装置１０へ送信する。
【００４７】
加えて、クライアント装置２０の再生速度取得部２６は、コンテンツ再生部２３によってコンテンツが再生されている速度である再生速度を取得する。更に、再生速度取得部２６は、取得した再生速度を等速再生に対応する再生速度にて除した値である再生速度倍率を受信側情報の一部としてサーバ装置１０へ送信する。
【００４８】
ここで、再生速度倍率は、コンテンツが等速再生されている場合、１となり、等速再生の２倍の再生速度（２倍速）にてコンテンツが再生されている場合、２となり、等速再生の半分の再生速度にてコンテンツが再生（スロー再生）されている場合、０．５となる。
【００４９】
一方、サーバ装置１０の補正量低減範囲決定部１３は、クライアント装置２０から受信側情報を受信する。受信側情報は、上述したように、受信速度と、残余再生時間と、再生速度倍率と、を含む情報である。
【００５０】
補正量低減範囲決定部１３は、受信した受信側情報と、予め設定された残余再生時間の目標値と、に基づいて補正量低減範囲の上限値及び下限値を決定する。なお、式の導出、及び、各変数が有する意味については、後述する。
【００５１】
具体的には、補正量低減範囲決定部１３は、下記式（１）に基づいて、残余再生時間差ｅｐ［秒］を算出する。
ｅｐ＝Ｔｒ−Ｔｐ    …（１）
【００５２】
ここで、Ｔｒは、予め設定された残余再生時間の目標値であり、Ｔｐは、受信された受信側情報に含まれる残余再生時間（即ち、クライアント装置２０により取得された現時点の残余再生時間）である。
【００５３】
次いで、補正量低減範囲決定部１３は、上記算出された残余再生時間差ｅｐと、下記式（２）〜式（５）と、に基づいて、残余再生時間の時間変化率（時間微分値）Δｘｍａｘ，Δｘｍｉｎを算出する。
Δｘｍａｘ＝ｅｐ／τｍｉｎ，＋  （ｅｐ≧０のとき）    …（２）
Δｘｍａｘ＝ｅｐ／τｍａｘ，−  （ｅｐ＜０のとき）    …（３）
Δｘｍｉｎ＝ｅｐ／τｍａｘ，＋  （ｅｐ≧０のとき）    …（４）
Δｘｍｉｎ＝ｅｐ／τｍｉｎ，−  （ｅｐ＜０のとき）    …（５）
【００５４】
ここで、τｍｉｎ，＋は、第１の不足時時定数（第１の不足時遅延時間）であり、τｍａｘ，＋は、第２の不足時時定数（第２の不足時遅延時間）であり、τｍｉｎ，−は、第１の余剰時時定数（第１の余剰時遅延時間）であり、τｍａｘ，−は、第２の余剰時時定数（第２の余剰時遅延時間）である。第１の不足時時定数τｍｉｎ，＋、第２の不足時時定数τｍａｘ，＋、第１の余剰時時定数τｍｉｎ，−及び第２の余剰時時定数τｍａｘ，−は、サーバ装置１０の記憶装置に予め記憶されている。
【００５５】
図３に示したように、第２の不足時時定数τｍａｘ，＋は、第１の不足時時定数τｍｉｎ，＋よりも長い。また、第１の余剰時時定数τｍｉｎ，−は、第１の不足時時定数τｍｉｎ，＋よりも長い。更に、第２の余剰時時定数τｍａｘ，−は、第１の余剰時時定数τｍｉｎ，−よりも長く、且つ、第２の不足時時定数τｍａｘ，＋よりも長い。
【００５６】
そして、補正量低減範囲決定部１３は、上記算出された時間変化率Δｘｍａｘ，Δｘｍｉｎと、下記式（６）及び式（７）と、に基づいて、メディア流速ｘｍａｘ，ｘｍｉｎを算出する。ここで、メディア流速ｘｍａｘ，ｘｍｉｎは、後述するように、単位時間あたりにクライアント装置２０が受信するコンテンツデータに基づいてコンテンツを再生可能な時間を表す。
ｘｍａｘ＝ｐ＋Δｘｍａｘ    …（６）
ｘｍｉｎ＝ｐ＋Δｘｍｉｎ    …（７）
【００５７】
ここで、ｐは、受信された受信側情報に含まれる再生速度倍率（即ち、クライアント装置２０により取得された現時点の再生速度に応じた再生速度倍率）である。
【００５８】
次いで、補正量低減範囲決定部１３は、上記算出されたメディア流速ｘｍａｘ，ｘｍｉｎと、下記式（８）及び式（９）と、に基づいて、補正量低減範囲の上限値ｂｍａｘ及び補正量低減範囲の下限値ｂｍｉｎを算出する。
ｂｍａｘ＝ｖ／ｘｍｉｎ    …（８）
ｂｍｉｎ＝ｖ／ｘｍａｘ    …（９）
【００５９】
ここで、ｖは、受信された受信側情報に含まれる受信速度（即ち、クライアント装置２０により取得された現時点の受信速度）である。
【００６０】
このように、補正量低減範囲決定部１３は、再生速度取得部２６により取得された再生速度（に応じた再生速度倍率）と、受信速度取得部２４により取得された受信速度と、残余再生時間取得部２５により取得された残余再生時間と、目標値と、に基づいて補正量低減範囲を決定する。これによれば、適切に補正量低減範囲を設定することができる。
【００６１】
また、補正量低減範囲決定部１３は、第１の遅延時間（第１の不足時時定数τｍｉｎ，＋又は第１の余剰時時定数τｍｉｎ，−）後に残余再生時間Ｔｐを目標値Ｔｒに一致させる第１のビットレートと、第１の遅延時間よりも長い第２の遅延時間（第２の不足時時定数τｍａｘ，＋又は第２の余剰時時定数τｍａｘ，−）後に残余再生時間Ｔｐを目標値Ｔｒに一致させる第２のビットレートと、を算出する。更に、補正量低減範囲決定部１３は、算出した第１のビットレート及び第２のビットレートのうちの大きい方を補正量低減範囲の上限値ｂｍａｘとして決定し、且つ、第１のビットレート及び第２のビットレートのうちの小さい方を補正量低減範囲の下限値ｂｍｉｎとして決定する。
【００６２】
ところで、上記式（１）〜式（９）から、残余再生時間差ｅｐが０に近づくにつれて、上限値ｂｍａｘと下限値ｂｍｉｎとの差が０に近づくことがわかる。即ち、補正量低減範囲決定部１３は、取得された残余再生時間Ｔｐが目標値Ｔｒに近くなるほど、補正量低減範囲を狭くするように構成されている、と言うことができる。
これによれば、残余再生時間Ｔｐを目標値Ｔｒにより確実に収束させることができる。
【００６３】
次に、上記式（１）〜式（９）の導出、及び、各変数が有する意味について説明する。
【００６４】
以下、サーバ装置１０からクライアント装置２０へ送信されるデータの流れが連続体であることを仮定する。
【００６５】
また、ある時刻ｔ［秒］においてクライアント装置２０が単位時間あたりに受信するコンテンツデータのサイズである受信速度をｖ（ｔ）［ｂｐｓ］とする。更に、時刻ｔにて、クライアント装置２０が受信しているコンテンツデータのビットレートをｂ（ｔ）［ｂｐｓ］とおく。
【００６６】
このとき、下記式（１０）により算出されるρ（ｔ）［秒／ｂｉｔ］をメディア密度と呼ぶ。
ρ＝１／ｂ    …（１０）
【００６７】
メディア密度ρは、時刻ｔにてクライアント装置２０が受信しているコンテンツデータのうちの単位サイズのデータに基づいてコンテンツを再生可能な時間を表す。例えば、クライアント装置２０が時刻ｔにてビットレートが１［Ｍｂｐｓ］のコンテンツデータを受信しているとき、ρ＝１×１０−６［秒／ｂｉｔ］である。従って、この場合、クライアント装置２０は、１［ｂｉｔ］のコンテンツデータに基づいて１×１０−６［秒］のコンテンツを再生可能である。
【００６８】
式（１０）から明らかなように、ビットレートが高い（コンテンツが映像である場合、高画質）コンテンツデータはメディア密度が小さく、一方、ビットレートが低い（コンテンツが映像である場合、低画質）コンテンツデータはメディア密度が高い。
【００６９】
ところで、極めて短い時間Δｔの間にクライアント装置２０が受信したコンテンツデータに基づいてコンテンツを再生可能な時間ΔＴ［秒］は、下記式（１１）に基づいて算出される。
ΔＴ＝ρｖΔｔ    …（１１）
【００７０】
ここで、式（１１）においてΔｔ→０とする（Δｔを０に近づけた極限をとる）ことによって、下記式（１２）に示したように、時刻ｔにて単位時間あたりにクライアント装置２０が受信するコンテンツデータに基づいてコンテンツを再生可能な時間ｄＴ／ｄｔ［無次元］が算出される。
ｄＴ／ｄｔ＝ρｖ    …（１２）
【００７１】
上記式（１２）の左辺ｄＴ／ｄｔをｘとおき、このｘをメディア流速と呼ぶ。
次に、このメディア流速の意味について説明する。
【００７２】
メディア流速は、単位時間あたりにクライアント装置２０が受信するコンテンツデータに基づいてコンテンツを再生可能な時間を表す無次元量である。
【００７３】
メディア流速が再生速度倍率ｐと等しい場合、単位時間あたりにクライアント装置２０が受信するコンテンツデータに基づいて、クライアント装置２０が再生速度倍率ｐに応じた再生速度にてコンテンツを再生可能な時間は、その単位時間と等しくなる。従って、残余再生時間は変化しない。
【００７４】
また、メディア流速が再生速度倍率ｐよりも大きい場合、単位時間あたりにクライアント装置２０が受信するコンテンツデータに基づいて、クライアント装置２０が再生速度倍率ｐに応じた再生速度にてコンテンツを再生可能な時間は、その単位時間よりも長くなる。従って、残余再生時間は増加する。
【００７５】
一方、メディア流速が再生速度倍率ｐよりも小さい場合、単位時間あたりにクライアント装置２０が受信するコンテンツデータに基づいて、クライアント装置２０が再生速度倍率ｐに応じた再生速度にてコンテンツを再生可能な時間は、その単位時間よりも短くなる。従って、残余再生時間は減少する。
このように、メディア流速は、残余再生時間を支配する物理量であることがわかる。
【００７６】
以下、メディア流速と残余再生時間との関係について説明する。
前述したとおり、メディア流速は、単位時間あたりにクライアント装置２０が受信するコンテンツデータに基づいてコンテンツを再生可能な時間を表している。従って、下記式（１３）に示したように、残余再生時間Ｔｐの時間微分値ｄＴｐ／ｄｔは、メディア流速ｘから再生速度倍率ｐを減じた値と等しくなる。
ｄＴｐ／ｄｔ＝ｘ−ｐ    …（１３）
【００７７】
次に、図４を参照しながら、ある時刻ｔにて残余再生時間がＴｐ［秒］であった場合、遅延時間τ［秒］後に残余再生時間Ｔｐを目標値Ｔｒ［秒］に一致させるメディア流速ｘを求めることを考える。
【００７８】
残余再生時間Ｔｐが線形的に増加又は減少して遅延時間τ後に目標値Ｔｒに一致するためには、Ｔｐは下記式（１４）を満足する変化率にて増加又は減少する必要がある。なお、目標値Ｔｒから残余再生時間Ｔｐを減じた値Ｔｒ−Ｔｐを残余再生時間差ｅｐとしている。なお、Ｔｒ−Ｔｐをｅｐと置くことは、上記式（１）に対応している。
ｄＴｐ／ｄｔ＝（Ｔｒ−Ｔｐ）／τ＝ｅｐ／τ    …（１４）
【００７９】
上記式（１３）の右辺と、上記式（１４）の右辺と、が等しいことから、ある時刻ｔにて残余再生時間がＴｐ［秒］であった場合、遅延時間τ［秒］後に残余再生時間Ｔｐを目標値Ｔｒ［秒］に一致させるためのメディア流速ｘは、下記式（１５）によって算出される。
ｘ＝ｐ＋ｅｐ／τ    …（１５）
【００８０】
ここで、上記式（１５）の右辺ｅｐ／τを残余再生時間の時間変化率Δｘと置くことにより、上記式（１５）は、上記式（６）及び式（７）に対応している。また、ｅｐ／τをΔｘと置くことは、上記式（２）〜式（５）に対応している。
【００８１】
次に、上記式（１４）における遅延時間τ［秒］が、残余再生時間Ｔｐの目標値Ｔｒへの追従速度を示す時定数であることを説明する。式（１４）を変形し、下記式（１６）のように書くと、式（１６）がＴｐについての１階常微分方程式になっていることがわかる。
ｄＴｐ／ｄｔ＝−（Ｔｐ−Ｔｒ）／τ    …（１６）
【００８２】
上記式（１６）を解くと、下記式（１７）のようになる。ただし、式（１７）におけるＣは任意定数である。下記式（１７）からτが時定数であることは明らかである。
Ｔｐ＝Ｔｒ＋Ｃ・ｅｘｐ（−ｔ／τ）    …（１７）
【００８３】
従って、上記式（１５）を用いることにより、ある時刻における残余再生時間Ｔｐ［秒］と、残余再生時間の目標値Ｔｒ［秒］と、が与えられたとき、時定数τ［秒］の追従速度にて（即ち、時定数τ［秒］後に）残余再生時間Ｔｐを目標値Ｔｒに一致させるためのメディア流速ｘ［無次元］を算出することができる。
【００８４】
更に、そのメディア流速ｘを満足する（実現する）ビットレートｂ［ｂｐｓ］は、下記式（１８）に基づいて算出される。ここで、ｖ［ｂｐｓ］は、クライアント装置２０が単位時間あたりに受信するコンテンツデータのサイズ（受信速度）である。なお、下記式（１８）は、上記式（１０）及び式（１２）より導出される。また、下記式（１８）は、上記式（８）及び式（９）に対応している。
ｂ＝ｖ／ｘ    …（１８）
【００８５】
仮に、サーバ装置１０が送信しているコンテンツデータのビットレートを、上記式（１５）及び式（１８）によって算出されたビットレートに変更するように配信システムが構成されている場合、残余再生時間を目標値に近づけることができる。
【００８６】
しかしながら、この場合において、特に、通信可用帯域が変動する通信回線を介してコンテンツデータを配信する（サーバ装置１０からクライアント装置２０へ送信する）場合、クライアント装置２０が再生するコンテンツのビットレートが頻繁に変動してしまう。このため、コンテンツの視聴者が感じるサービス品質であるユーザ体感品質（ＱｏＥ；Ｑｕａｌｉｔｙ  ｏｆ  Ｅｘｐｅｒｉｅｎｃｅ）が過度に低下してしまう虞がある。
【００８７】
そこで、上記配信システム１は、式（１５）及び式（１８）に基づく上記式（２）〜式（９）に基づいて補正量低減範囲を決定する。更に、配信システム１は、現時点にてサーバ装置１０が送信しているコンテンツデータのビットレートがその補正量低減範囲外にあるときにのみ、以降において送信するコンテンツデータのビットレートを変更する。このように、配信システム１は、現時点のビットレートが補正量低減範囲内にある場合には、ビットレートを変更しないことにより、ビットレートの過度な変動を抑制することができる。
【００８８】
次に、補正量低減範囲の上限値ｂｍａｘ及び下限値ｂｍｉｎと、４つの時定数（第１の不足時時定数τｍｉｎ，＋、第２の不足時時定数τｍａｘ，＋、第１の余剰時時定数τｍｉｎ，−及び第２の余剰時時定数τｍａｘ，−）と、の関係について図３を参照しながら説明する。
【００８９】
先ず、時定数τとビットレートｂとの関係について説明する。
上記式（１５）及び式（１８）から、残余再生時間差ｅｐが正である（即ち、残余再生時間Ｔｐが目標値Ｔｒよりも小さい）場合、時定数τが大きくなるほど、ビットレートｂは大きくなる。一方、残余再生時間差ｅｐが負である（即ち、残余再生時間Ｔｐが目標値Ｔｒよりも大きい）場合、時定数τが大きくなるほど、ビットレートｂは小さくなる。
【００９０】
従って、上述したように、残余再生時間差ｅｐが正である場合、第１の不足時時定数τｍｉｎ，＋に基づいて補正量低減範囲の下限値ｂｍｉｎが算出され（式（２）、式（６）及び式（９））、第１の不足時時定数τｍｉｎ，＋よりも大きい第２の不足時時定数τｍａｘ，＋に基づいて補正量低減範囲の上限値ｂｍａｘが算出される（式（４）、式（７）及び式（８））。
【００９１】
一方、残余再生時間差ｅｐが負である場合、第１の余剰時時定数τｍｉｎ，−に基づいて補正量低減範囲の上限値ｂｍａｘが算出され（式（５）、式（７）及び式（８））、第１の余剰時時定数τｍｉｎ，−よりも大きい第２の余剰時時定数τｍａｘ，−に基づいて補正量低減範囲の下限値ｂｍｉｎが算出される（式（３）、式（６）及び式（９））。
【００９２】
ところで、残余再生時間差ｅｐが正である場合、残余再生時間が不足することによりコンテンツの再生が途切れる可能性は、残余再生時間差ｅｐが負である場合よりも高い。そこで、上記配信システム１は、残余再生時間が目標値よりも小さい場合において、残余再生時間が目標値よりも大きい場合よりも早期に残余再生時間を目標値に一致させるように、時定数を設定している。具体的には、配信システム１は、上述したように、第２の不足時時定数τｍａｘ，＋を、第２の余剰時時定数τｍａｘ，−よりも大きな（第２の不足時遅延時間τｍａｘ，＋を、第２の余剰時遅延時間τｍａｘ，−よりも長い）値に設定している。
【００９３】
ところで、後述するように、サーバ装置１０は、第１の不足時時定数τｍｉｎ，＋から第２の不足時時定数τｍａｘ，＋の範囲、又は、第１の余剰時時定数τｍｉｎ，−から第２の余剰時時定数τｍａｘ，−の範囲内の時間後に、残余再生時間Ｔｐを目標値Ｔｒに一致させるように、サーバ装置１０が送信しているコンテンツデータのビットレートを補正するための補正量を算出する。
【００９４】
即ち、サーバ装置１０は、残余再生時間Ｔｐが目標値Ｔｒよりも小さい場合において、残余再生時間Ｔｐが目標値Ｔｒよりも大きい場合よりも早期に残余再生時間Ｔｐを目標値Ｔｒに一致させるように、補正量を算出する。
【００９５】
従って、配信システム１によれば、残余再生時間差ｅｐが正である場合、残余再生時間差ｅｐが負である場合よりも早期に残余再生時間Ｔｐを目標値Ｔｒに一致させることができる。
【００９６】
これにより、残余再生時間差ｅｐが正である場合において、コンテンツの再生が途切れる可能性を小さくすることができる。一方、残余再生時間差ｅｐが負である場合において、補正量低減範囲を広げることができるので、ビットレートの変動をより一層低減することができる。
【００９７】
このように、補正量低減範囲決定部１３は、残余再生時間Ｔｐが目標値Ｔｒよりも小さい場合、第１の不足時遅延時間τｍｉｎ，＋後に残余再生時間Ｔｐを目標値Ｔｒに一致させるビットレートを第１のビットレートとして算出する。更に、この場合、補正量低減範囲決定部１３は、当該第１の不足時遅延時間τｍｉｎ，＋よりも長い第２の不足時遅延時間τｍａｘ，＋後に残余再生時間Ｔｐを目標値Ｔｒに一致させるビットレートを第２のビットレートとして算出する。
【００９８】
そして、補正量低減範囲決定部１３は、算出した第１のビットレート及び第２のビットレートのうちの大きい方（ここでは、第１のビットレート）を補正量低減範囲の上限値ｂｍａｘとして決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方（ここでは、第２のビットレート）を補正量低減範囲の下限値ｂｍｉｎとして決定する。
【００９９】
一方、補正量低減範囲決定部１３は、残余再生時間Ｔｐが目標値Ｔｒよりも大きい場合、第１の余剰時遅延時間τｍｉｎ，−後に残余再生時間Ｔｐを目標値Ｔｒに一致させるビットレートを第１のビットレートとして算出する。更に、この場合、補正量低減範囲決定部１３は、当該第１の余剰時遅延時間τｍｉｎ，−よりも長く且つ当該第２の不足時遅延時間τｍａｘ，＋よりも長い第２の余剰時遅延時間τｍａｘ，−後に残余再生時間Ｔｐを目標値Ｔｒに一致させるビットレートを第２のビットレートとして算出する。
【０１００】
そして、補正量低減範囲決定部１３は、算出した第１のビットレート及び第２のビットレートのうちの大きい方（ここでは、第２のビットレート）を補正量低減範囲の上限値ｂｍａｘとして決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方（ここでは、第１のビットレート）を補正量低減範囲の下限値ｂｍｉｎとして決定する。
【０１０１】
次に、配信システム１の他の機能について説明を続ける。
ビットレート補正部１４は、補正量低減範囲決定部１３により決定された補正量低減範囲の上限値ｂｍａｘと、当該補正量低減範囲の下限値ｂｍｉｎと、に基づいて、コンテンツ送信部１２により送信されるコンテンツデータのビットレートを補正するための補正量を算出する。
【０１０２】
具体的には、ビットレート補正部１４は、下記式（１９）〜式（２１）に基づいてビットレート差ｅｂを算出する。
ｅｂ＝ｂｍａｘ−ｂ  （ｂ＞ｂｍａｘのとき）    …（１９）
ｅｂ＝０  （ｂｍｉｎ≦ｂ≦ｂｍａｘのとき）    …（２０）
ｅｂ＝ｂｍｉｎ−ｂ  （ｂ＜ｂｍｉｎのとき）    …（２１）
【０１０３】
即ち、ビットレート補正部１４は、現時点にてコンテンツ送信部１２により送信しているコンテンツデータのビットレートｂが上記下限値ｂｍｉｎよりも小さい場合、当該下限値ｂｍｉｎから当該ビットレートｂを減じた値ｂｍｉｎ−ｂをビットレート差ｅｂ（＝ｂｍｉｎ−ｂ）として算出する。
【０１０４】
また、ビットレート補正部１４は、上記ビットレートｂが上記上限値ｂｍａｘよりも大きい場合、当該上限値ｂｍａｘから当該ビットレートｂを減じた値ｂｍａｘ−ｂをビットレート差ｅｂ（＝ｂｍａｘ−ｂ）として算出する。
【０１０５】
また、ビットレート補正部１４は、上記ビットレートｂが上記下限値ｂｍｉｎ以上であり且つ上記上限値ｂｍａｘ以下である場合、ビットレート差ｅｂを「０」に設定する（即ち、ビットレート差ｅｂとして「０」を算出する）。なお、後述するように、ビットレート差ｅｂが「０」に設定されることは、ビットレートの補正量が「０」に設定されることに対応している。即ち、ビットレート補正部１４は、ビットレートが補正量低減範囲内にある場合、補正量を０に設定する、と言うことができる。
【０１０６】
次いで、ビットレート補正部１４は、上記算出したビットレート差ｅｂと、下記式（２２）と、に基づいて補正量算出基礎値Δｂを算出する。
Δｂ＝Ｋｐ・ｅｂ    …（２２）
【０１０７】
ここで、Ｋｐは、比例ゲイン（比例係数）である。なお、本例では、ビットレート補正部１４は、補正量算出基礎値Δｂを、ビットレート差ｅｂに比例した比例項Ｋｐ・ｅｂのみからなる値として算出していたが、比例項と、ビットレート差ｅｂの時間積分値に比例した積分項、及び／又は、ビットレート差ｅｂの時間微分値に比例した微分項と、の和として算出するように構成されていてもよい。この場合、例えば、ビットレート補正部１４は、下記式（２３）に基づいて補正量算出基礎値Δｂを算出する。ここで、Ｋｉは、積分ゲインであり、Ｋｄは、微分ゲインである。
Δｂ＝Ｋｐ・ｅｂ＋Ｋｉ∫ｅｂｄｔ＋Ｋｄ（ｄｅｂ／ｄｔ）    …（２３）
【０１０８】
そして、ビットレート補正部１４は、上記算出した補正量算出基礎値Δｂと、下記式（２４）と、に基づいて、以降においてサーバ装置１０が送信するコンテンツデータのビットレートｂ’を算出する。
ｂ’＝ｂ＋ｗ・Δｂ    …（２４）
【０１０９】
ここで、ｗは、下記式（２５）に示したように、補正量算出基礎値Δｂに応じて変化する関数である。
ｗ＝ｗ（Δｂ）    …（２５）
【０１１０】
関数ｗは、補正量算出基礎値Δｂが負の値である（即ち、以降においてサーバ装置１０が送信するコンテンツデータのビットレートを減少させる）場合、補正量算出基礎値Δｂが正の値である（即ち、以降においてサーバ装置１０が送信するコンテンツデータのビットレートを増加させる）場合よりも大きい正の値を有する関数である。
【０１１１】
本例では、関数ｗは、下記式（２６）及び式（２７）に従った関数である。
ｗ＝ｗｕｐ  （Δｂ≧０のとき）    …（２６）
ｗ＝ｗｄｏｗｎ  （Δｂ＜０のとき）    …（２７）
【０１１２】
ここで、ｗｕｐ＝０．５であり、ｗｄｏｗｎ＝１である。即ち、ビットレート補正部１４は、以降においてサーバ装置１０が送信するコンテンツデータのビットレートを増加させる場合、算出された補正量算出基礎値Δｂを半減させた値を補正量として用い、一方、以降においてサーバ装置１０が送信するコンテンツデータのビットレートを減少させる場合、算出された補正量算出基礎値Δｂをそのまま補正量として用いる。このような関数ｗを採用する理由について説明する。
【０１１３】
以降においてサーバ装置１０が送信するコンテンツデータのビットレートを増加させることにより、残余再生時間の時間変化量は減少する。従って、以降においてサーバ装置１０が送信するコンテンツデータのビットレートを増加させた場合、コンテンツの再生が途切れてしまう可能性が高くなる。そこで、この場合、比較的緩慢にビットレートを増加させることが好適であると考えられる。従って、本例では、補正量算出基礎値Δｂが正の値である場合、関数ｗの値はｗｕｐ（＝０．５）に設定されている。
【０１１４】
一方、以降においてサーバ装置１０が送信するコンテンツデータのビットレートを減少させる場合、既に、残余再生時間が目標値よりも小さいためにコンテンツの再生が途切れてしまう可能性が高い状態にある。従って、この場合、比較的迅速にビットレートを減少させることが好適であると考えられる。従って、本例では、補正量算出基礎値Δｂが負の値である場合、関数ｗの値はｗｕｐ（＝０．５）よりも大きいｗｄｏｗｎ（＝１）に設定されている。
【０１１５】
なお、本例では、関数ｗが１以下の値を有するように設定されているので、フィードバック制御の安定性が低下することを回避することができる。また、本例では、関数ｗは、補正量算出基礎値Δｂが正の場合と負の場合とで、異なる２つの値を有する関数であったが、任意の関数であってもよい。
【０１１６】
このように、ビットレート補正部１４は、サーバ装置１０が送信しているコンテンツデータのビットレートｂが上限値ｂｍａｘよりも大きい場合、上限値ｂｍａｘからビットレートｂを減じた値ｅｂに予め設定された比例係数Ｋｐ・ｗを乗じた値Ｋｐ・ｗ・ｅｂ（＝ｗ・Δｂ）を補正量として算出している。
【０１１７】
また、ビットレート補正部１４は、サーバ装置１０が送信しているコンテンツデータのビットレートｂが下限値ｂｍｉｎよりも小さい場合、下限値ｂｍｉｎからビットレートｂを減じた値ｅｂに予め設定された比例係数Ｋｐ・ｗを乗じた値Ｋｐ・ｗ・ｅｂ（＝ｗ・Δｂ）を補正量として算出している。
【０１１８】
なお、本例では、上記式（１）〜式（９）、式（１９）、式（２１）、式（２２）及び式（２４）〜式（２７）に基づいて、ビットレートの補正量を算出する方式は、補正量算出方式とも呼ばれる。
【０１１９】
このように、補正量低減範囲決定部１３及びビットレート補正部１４は、取得された残余再生時間Ｔｐと予め設定された目標値Ｔｒとに基づいて、残余再生時間Ｔｐを目標値Ｔｒに近づけるようにサーバ装置１０が送信するコンテンツデータのビットレートを補正するための補正量を式（１９）及び式（２１）に基づいた補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更している。
【０１２０】
更に、補正量低減範囲決定部１３及びビットレート補正部１４は、ビットレートが補正量低減範囲内にある場合、式（２０）に従ってビットレート差ｅｂを「０」に設定することにより、補正量として「０」を算出する。即ち、補正量低減範囲決定部１３及びビットレート補正部１４は、ビットレートが補正量低減範囲内にある場合、上記式（１９）又は式（２１）に従ってビットレート差ｅｂを算出した場合に（即ち、上記補正量算出方式に従って）算出される補正量の大きさよりも小さい大きさの補正量を算出する。
【０１２１】
次に、上述した配信システム１の作動について具体的に述べる。
先ず、クライアント装置２０は、ユーザからの指示に応じて、コンテンツデータを特定するための情報を含むコンテンツ送信要求をサーバ装置１０へ送信する。
一方、サーバ装置１０は、クライアント装置２０からコンテンツ送信要求を受信すると、そのコンテンツ送信要求により特定されるコンテンツデータをクライアント装置２０へ送信する（コンテンツデータ送信工程）。
【０１２２】
そして、クライアント装置２０は、サーバ装置１０により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいてコンテンツを再生する（コンテンツ再生工程）。
【０１２３】
また、クライアント装置２０のＣＰＵは、図５にフローチャートにより示した受信側情報送信プログラムを、クライアント装置２０の起動時に実行するようになっている。
【０１２４】
具体的に述べると、ＣＰＵは、受信側情報送信プログラムの処理を開始すると、ステップ５０５にて、所定の補正周期が経過するまで待機する。そして、ＣＰＵは、補正周期が経過すると、「Ｙｅｓ」と判定してステップ５１０へ進み、残余再生時間を取得する（残余再生時間取得工程）。
【０１２５】
次いで、ＣＰＵは、受信速度を取得し（ステップ５１５、受信速度取得工程）、続いて、再生速度を取得する（ステップ５２０、再生速度取得工程）。そして、ＣＰＵは、取得した残余再生時間Ｔｐ、取得した受信速度ｖ、及び、取得した再生速度に応じた再生速度倍率ｐからなる受信側情報をサーバ装置１０へ送信する（ステップ５２５）。その後、ＣＰＵは、ステップ５０５へ戻り、ステップ５０５〜ステップ５２５の処理を繰り返し実行する。
【０１２６】
一方、サーバ装置１０のＣＰＵは、図６にフローチャートにより示したビットレート補正プログラムを、サーバ装置１０の起動時に実行するようになっている。なお、このビットレート補正プログラムの処理は、ビットレート変更工程に対応している。
【０１２７】
具体的に述べると、ＣＰＵは、ビットレート補正プログラムの処理を開始すると、ステップ６０５にて、クライアント装置２０から受信側情報を受信するまで待機する。そして、サーバ装置１０が受信側情報を受信すると、ＣＰＵは、「Ｙｅｓ」と判定してステップ６１０へ進む。
【０１２８】
そして、ＣＰＵは、補正量低減範囲を決定するため、図７のフローチャートに示した補正量低減範囲決定プログラムを実行する。
先ず、ＣＰＵは、ステップ７０５にて、受信した残余再生時間Ｔｐと、予め設定された目標値Ｔｒと、に基づいて、残余再生時間差ｅｐを算出する。
【０１２９】
次いで、ＣＰＵは、上記算出された残余再生時間差ｅｐと、予め設定された、第１の不足時時定数τｍｉｎ，＋、第２の不足時時定数τｍａｘ，＋、第１の余剰時時定数τｍｉｎ，−及び第２の余剰時時定数τｍａｘ，−と、に基づいて、残余再生時間の時間変化率Δｘｍａｘ，Δｘｍｉｎを算出する（ステップ７１０）。
【０１３０】
そして、ＣＰＵは、上記算出された残余再生時間の時間変化率Δｘｍａｘ，Δｘｍｉｎ
と、上記受信した受信側情報に含まれる再生速度倍率ｐと、に基づいて、メディア流速ｘｍａｘ，ｘｍｉｎを算出する（ステップ７１５）。
【０１３１】
次いで、ＣＰＵは、上記算出されたメディア流速ｘｍａｘ，ｘｍｉｎと、上記受信した受信側情報に含まれる受信速度ｖと、に基づいて、補正量低減範囲の上限値ｂｍａｘ及び補正量低減範囲の下限値ｂｍｉｎを算出する（ステップ７２０）。
そして、ＣＰＵは、この補正量低減範囲決定プログラムの実行を終了して図６のステップ６１５へ進む。
【０１３２】
次いで、ＣＰＵは、補正量を算出するため、図８のフローチャートに示した補正量算出プログラムを実行する。
先ず、ＣＰＵは、ステップ８０５にて、現時点にて送信しているコンテンツデータのビットレートｂと、上記算出された上限値ｂｍａｘ及び下限値ｂｍｉｎと、に基づいて、ビットレート差ｅｂを算出する（ステップ８０５）。
【０１３３】
次いで、ＣＰＵは、上記算出されたビットレート差ｅｂに基づいて補正量算出基礎値Δｂを算出する（ステップ８１０）。
【０１３４】
そして、ＣＰＵは、現時点にて送信しているコンテンツデータのビットレートｂと、上記算出された補正量算出基礎値Δｂと、に基づいて、以降においてサーバ装置１０が送信するコンテンツデータのビットレートｂ’を算出する（ステップ８１５）。
【０１３５】
次いで、ＣＰＵは、この補正量算出プログラムの実行を終了して図６のステップ６２０へ進む。そして、ＣＰＵは、コンテンツデータ蓄積部１１に記憶されているコンテンツデータが有するビットレートの中から、上記ステップ８１５にて算出されたビットレートｂ’よりも小さいビットレートのうちの最大のビットレートを選択する。そして、ＣＰＵは、クライアント装置２０へ送信しているコンテンツデータのビットレートを、選択したビットレートに変更する。
【０１３６】
その後、ＣＰＵは、ステップ６０５へ戻り、ステップ６０５〜ステップ６２０の処理を繰り返し実行する。
【０１３７】
次に、上述したように配信システム１が作動することによって生じる効果について図９及び図１０を参照しながら説明する。
【０１３８】
図９は、配信システム１を用いて映像を表す映像データ（コンテンツデータ）をＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に従って配信した場合における、映像データのビットレート（映像ビットレート）［ｋｂｐｓ］（左軸）の時間変化（点線Ｃ１）、及び、残余再生時間［秒］（右軸）の時間変化（一点鎖線Ｃ２）を示したグラフである。このグラフは、図９に示した通信速度（ＴＣＰ可用帯域）［ｋｂｐｓ］（左軸）の時間変化（実線Ｃ３）を仮定した場合のシミュレーション結果である。
【０１３９】
同様に、図１０は、上記特許文献１に記載の配信システムを用いてコンテンツデータをＴＣＰに従って配信した場合における、コンテンツデータのビットレート［ｋｂｐｓ］（左軸）の時間変化（点線Ｃ４）、及び、残余再生時間［秒］（右軸）の時間変化（一点鎖線Ｃ５）を示したグラフである。このグラフも、図１０に示した通信速度［ｋｂｐｓ］（左軸）の時間変化（実線Ｃ３）を仮定した場合のシミュレーション結果である。
【０１４０】
ここで、特許文献１に記載の配信システムは、残余再生時間と、目標値と、の差に比例した量をビットレートを補正するための補正量として算出するシステムである。
【０１４１】
また、上記シミュレーションにおいては、配信システム１及び特許文献１に記載の配信システムが、複数の異なるビットレートとしての、１２８［ｋｂｐｓ］、２５６［ｋｂｐｓ］、３８４［ｋｂｐｓ］、７６８［ｋｂｐｓ］、１０２４［ｋｂｐｓ］、１５３６［ｋｂｐｓ］、及び、２０４８［ｋｂｐｓ］のそれぞれにて符号化したコンテンツデータを予め記憶し且つ送信可能に構成されている場合を想定している。
【０１４２】
なお、図１０に示した通信速度の時間変化（実線Ｃ３）と、図９に示した通信速度の時間変化（実線Ｃ３）と、は同一である。この通信速度の時間変化は、ある広域無線網にて実測された６００秒間（＝１０分間）のデータである。この通信速度は、数１００［ｋｂｐｓ］〜２［Ｍｂｐｓ］の範囲内で比較的激しく変動している。
【０１４３】
また、上記シミュレーションにおいては、配信システム１及び特許文献１に記載の配信システムが、配信するコンテンツデータのビットレートを１［秒］毎に補正するように構成されている場合を想定している。更に、上記シミュレーションにおいては、配信システム１及び特許文献１に記載の配信システムが、配信するコンテンツデータのビットレートを、上記送信可能な７つのビットレートのうちの、算出された補正後のビットレートよりも小さく且つ最大のビットレートに変更するように構成されている場合を想定している。
【０１４４】
更に、上記シミュレーションにおいては、配信システム１及び特許文献１に記載の配信システムが、残余再生時間の目標値を３０［秒］に設定している場合を想定している。
【０１４５】
次に、配信システム１を用いた場合のシミュレーション結果と、特許文献１に記載の配信システムを用いた場合のシミュレーション結果と、を対比して説明する。
【０１４６】
先ず、ビットレートが変更された回数（ビットレート切り替え回数）に着目すると、配信システム１を用いた場合のビットレート切り替え回数は１２［回］であり、特許文献１に記載の配信システムを用いた場合のビットレート切り替え回数は３１１［回］である。即ち、配信システム１を用いた場合のビットレート切り替え回数は、特許文献１に記載の配信システムを用いた場合よりも極めて少ない。
【０１４７】
このように、配信システム１を用いることにより、特許文献１に記載の配信システムを用いる場合よりも、ビットレートが変更される回数を低減することができる。この結果、配信システム１を用いることにより、特許文献１に記載の配信システムを用いる場合よりも、ユーザ体感品質を高くすることができる。
【０１４８】
次に、配信されるコンテンツデータのビットレートの平均値である平均ビットレートに着目すると、配信システム１を用いた場合の平均ビットレートは８３８．１［ｋｂｐｓ］であり、特許文献１に記載の配信システムを用いた場合の平均ビットレートは８３６．３［ｋｂｐｓ］である。即ち、配信システム１を用いた場合の平均ビットレートと、特許文献１に記載の配信システムを用いた場合の平均ビットレートと、は略等しい。
【０１４９】
このように、配信システム１を用いた場合、ビットレート切り替え回数が少ないにも関わらず、特許文献１に記載の配信システムを用いる場合と同様に比較的高いビットレートを有するコンテンツデータを配信することができる。
【０１５０】
次に、残余再生時間に着目する。配信システム１を用いた場合の残余再生時間は、比較的大きく変動している。しかしながら、残余再生時間が過度に少なくなることはない。従って、コンテンツの再生が途切れることが回避されている。
【０１５１】
更に、残余再生時間の目標値である３０［秒］を下回った状態において、比較的大きく変動することはない。これは、配信システム１が、残余再生時間が目標値である３０［秒］を下回った場合には迅速に残余再生時間を目標値に一致させるようにビットレートを補正し、一方、残余再生時間が目標値である３０［秒］を上回った場合にはビットレートの変動をより一層抑制するように補正量を算出しているためである。
【０１５２】
一方、特許文献１に記載の配信システムを用いた場合の残余再生時間は、常に目標値である３０［秒］付近にある。しかしながら、残余再生時間が目標値に近いことは、ユーザ体感品質に影響を及ぼさない。従って、本発明のように、コンテンツの再生を途切れさせない範囲において、ビットレートの切り替え回数を減少させることにより、ユーザ体感品質を向上させることが好適である。
【０１５３】
以上、説明したように、本発明による配信システムの第１実施形態によれば、ビットレートの変動量を低減することができる。より具体的に述べると、上記第１実施形態においては、ビットレートが補正量低減範囲内にある場合に、補正量として「０」を算出することにより、ビットレートの変動を回避することができる。この結果、ユーザ体感品質が過度に低下することを防止することができる。
【０１５４】
一方、上記配信システム１は、ビットレートが補正量低減範囲外にある場合、十分に大きな補正量に基づいてビットレートを変更するので、残余再生時間が過少又は過大となることを防止することができる。即ち、残余再生時間を適切に維持することができる。この結果、コンテンツの再生が途切れることを防止できるとともに、クライアント装置２０の記憶装置に記憶されるデータ量が過大となることを防止することができる。
【０１５５】
このように、上記構成によれば、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
【０１５６】
また、上記第１実施形態は、取得された受信速度に基づいて補正量低減範囲を決定するように構成されている。
これによれば、受信速度が変動する場合であっても、適切に補正量低減範囲を設定することができる。
【０１５７】
また、上記第１実施形態は、取得された再生速度に基づいて補正量低減範囲を決定するように構成されている。
これによれば、複数の再生速度（例えば、スロー再生用の再生速度、等速再生用の再生速度、及び、倍速再生用の再生速度等）のいずれか１つにてコンテンツを再生可能なクライアント装置２０を含む配信システム１においても、適切に補正量低減範囲を設定することができる。
【０１５８】
なお、上記第１実施形態に係る配信システム１は、４つの時定数に基づいて補正量低減範囲を決定するように構成されていた。ところで、上記第１実施形態の第１変形例に係る配信システム１は、２つの時定数に基づいて補正量低減範囲を決定するように構成されている。
【０１５９】
この配信システム１に係る補正量低減範囲決定部１３は、下記式（２８）〜式（３１）に基づいて、残余再生時間の時間変化率（時間微分値）Δｘｍａｘ，Δｘｍｉｎを算出する。
Δｘｍａｘ＝ｅｐ／τｍｉｎ  （ｅｐ≧０のとき）    …（２８）
Δｘｍａｘ＝ｅｐ／τｍａｘ  （ｅｐ＜０のとき）    …（２９）
Δｘｍｉｎ＝ｅｐ／τｍａｘ  （ｅｐ≧０のとき）    …（３０）
Δｘｍｉｎ＝ｅｐ／τｍｉｎ  （ｅｐ＜０のとき）    …（３１）
【０１６０】
ここで、τｍｉｎは、第１の時定数（第１の遅延時間）であり、τｍａｘは、第２の時定数（第２の遅延時間）である。第１の時定数τｍｉｎ及び第２の時定数τｍａｘは、サーバ装置１０の記憶装置に予め記憶されている。第２の時定数τｍａｘは、第１の時定数τｍｉｎよりも長い。
【０１６１】
この第１変形例によっても、上記第１実施形態と同様に、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
【０１６２】
また、上記第１実施形態に係る配信システム１は、４つの時定数に基づいて補正量低減範囲を決定するように構成されていた。ところで、上記第１実施形態の第２変形例に係る配信システム１は、１つの時定数に基づいて補正量低減範囲を決定するように構成されている。
【０１６３】
この配信システム１に係る補正量低減範囲決定部１３は、下記式（３２）〜式（３４）に基づいて、補正量低減範囲の基準値ｂ０を算出する。
Δｘ０＝ｅｐ／τ０    …（３２）
ｘ０＝ｐ＋Δｘ０      …（３３）
ｂ０＝ｖ／ｘ０        …（３４）
【０１６４】
ここで、τ０は、時定数（遅延時間）であり、サーバ装置１０の記憶装置に予め記憶されている。
そして、補正量低減範囲決定部１３は、上記算出された補正量低減範囲の基準値ｂ０と、予め設定された値ｂｔｈ［ｂｐｓ］と、下記式（３５）及び式（３６）と、に基づいて、補正量低減範囲の上限値ｂｍａｘ及び下限値ｂｍｉｎを算出する。ここで、値ｂｔｈは、サーバ装置１０の記憶装置に予め記憶された正の値である。
ｂｍａｘ＝ｂ０＋ｂｔｈ    …（３５）
ｂｍｉｎ＝ｂ０−ｂｔｈ    …（３６）
【０１６５】
この第２変形例によっても、上記第１実施形態と同様に、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
【０１６６】
また、上記第１実施形態の他の変形例に係る配信システム１は、任意の数の時定数（ここでは、ｍ個）に基づいて、任意の数（ここでは、ｎ個）の、補正量低減範囲の基準値を算出し、算出した基準値に基づいて補正量低減範囲を決定するように構成されていてもよい。
【０１６７】
ｍ＝ｎの場合、配信システム１は、ｍ個の時定数のそれぞれに対して、式（１５）及び式（１８）を用いることにより、ｍ個の基準値を算出する。
【０１６８】
一方、ｍ＞ｎの場合、配信システム１は、複数の時定数から１つの基準値を算出する。即ち、この場合、配信システム１は、１つの基準値を算出するために用いる時定数を残余再生時間差ｅｐ（＝Ｔｒ−Ｔｐ）の値に応じて変更することにより、複数の時定数と、式（１５）及び式（１８）と、に基づいて１つの基準値を算出する。
【０１６９】
そして、配信システム１は、算出されたｎ個の基準値に基づいて、補正量低減範囲を決定する。ｎ＝１の場合、上記第２変形例に係る説明の通り、配信システム１は、算出された基準値と所定値ｂｔｈとに基づいて補正量低減範囲を決定する。
【０１７０】
また、ｎ≧２の場合、配信システム１は、算出されたｎ個の基準値のうちの最大の基準値を、補正量低減範囲の上限値ｂｍａｘとして決定するとともに、算出されたｎ個の基準値のうちの最小の基準値を、補正量低減範囲の下限値ｂｍｉｎとして決定する。
【０１７１】
更に、この場合、配信システム１は、下記式（３７）〜式（３９）に基づいてビットレート差ｅｂを算出するように構成されていてもよい。
ｅｂ＝ＦＳｕｐ（ｂ）  （ｂ＞ｂｍａｘ）    …（３７）
ｅｂ＝Ｆｋ（ｂ）  （ｂ∈ＢＬｉｍ（ｋ），ｋ＝１，２，…，ｎ−２）    …（３８）
ｅｂ＝ＦＩｎｆ（ｂ）  （ｂ＜ｂｍｉｎ）    …（３９）
【０１７２】
ここで、ＢＬｉｍ（ｋ）は、下記式（４０）により定められる範囲である。なお、上記算出されたｎ個の基準値を小さい方から順に、ｂｒ（０），ｂｒ（１），ｂｒ（２），…，ｂｒ（ｎ−１）とおく。
ＢＬｉｍ（ｋ）＝｛ｂ｜ｂｒ（ｋ）≦ｂ≦ｂｒ（ｋ＋１）｝
（ｋ＝０，１，…，ｎ−２）    …（４０）
【０１７３】
また、関数ＦＳｕｐ，Ｆｋ，ＦＩｎｆは、現時点にてサーバ装置１０が送信しているコンテンツデータのビットレートｂが、補正量低減範囲から大きく外れるほど、大きさが大きくなる値を有する関数である。
【０１７４】
例えば、上記第１変形例に係る配信システム１においては、ｎ＝２であり、ｂｒ（０）＝ｂｍｉｎ，ｂｒ（１）＝ｂｍａｘとなる。また、ＢＬｉｍ（０）＝｛ｂ｜ｂｍｉｎ≦ｂ≦ｂｍａｘ｝であり、ＦＳｕｐ（ｂ）＝ｂｍａｘ−ｂ，Ｆ０（ｂ）＝０，ＦＩｎｆ（ｂ）＝ｂｍｉｎ−ｂとなる。
【０１７５】
即ち、現時点にてサーバ装置１０が送信しているコンテンツデータのビットレートｂが補正量低減範囲内にある場合、ビットレート差ｅｂ＝０とし、ビットレートｂが補正量低減範囲外にある場合、ビットレートｂと補正量低減範囲の境界との差をビットレート差ｅｂとしている。
【０１７６】
なお、ビットレート差ｅｂに基づいて、以降において送信するコンテンツデータのビットレートｂ’を算出する方法については上述したとおりである。
【０１７７】
また、上記第１実施形態に係る配信システム１は、残余再生時間差ｅｐを時定数τにより除した値を、残余再生時間の時間変化率（時間微分値）Δｘとして算出していた。ところで、上記第１実施形態の他の変形例に係る配信システム１は、下記式（４１）に基づいて、残余再生時間の時間変化率Δｘを算出するように構成されていてもよい。
Δｘ＝Ｇ（ｅｐ）    …（４１）
【０１７８】
ここで、Ｇ（ｅｐ）は残余再生時間差ｅｐの関数である。例えば、Ｇ（ｅｐ）は、下記式（４２）に示した関数であってもよい。
Ｇ（ｅｐ）＝Ｌｐ・ｅｐ＋Ｌｉ・∫ｅｐｄｔ＋Ｌｄ・（ｄｅｐ／ｄｔ）    …（４２）
【０１７９】
ここで、Ｌｐは、比例ゲインであり、Ｌｉは、積分ゲインであり、Ｌｄは、微分ゲインである。また、∫ｅｐｄｔは、積分区間［０，ｔ］におけるｅｐの時間ｔに関する積分値を表し、ｄｅｐ／ｄｔは、時刻ｔにおけるｅｐの時間ｔに関する微分値を表す。
【０１８０】
＜第２実施形態＞
次に、本発明の第２実施形態に係る配信システムについて説明する。第２実施形態に係る配信システムは、上記第１実施形態に係る配信システムに対して、クライアント装置がビットレートを補正するための補正量を算出するように構成されている点において相違している。従って、以下、かかる相違点を中心として説明する。
【０１８１】
この第２実施形態に係るサーバ装置１０の機能は、図１１に示したように、コンテンツデータ蓄積部１１と、コンテンツ送信部１２と、を含む。コンテンツデータ蓄積部１１及びコンテンツ送信部１２は、上記第１実施形態に係るコンテンツデータ蓄積部１１及びコンテンツ送信部１２と同様の機能を有する。
【０１８２】
また、第２実施形態に係るクライアント装置２０の機能は、コンテンツ受信部２１と、コンテンツバッファ部２２と、コンテンツ再生部２３と、受信速度取得部２４と、残余再生時間取得部２５と、再生速度取得部２６と、補正量低減範囲決定部２７と、ビットレート補正部２８と、ビットレート変更要求送信部２９と、を含む。補正量低減範囲決定部２７〜ビットレート変更要求送信部２９は、ビットレート変更要求送信手段を構成している。
【０１８３】
コンテンツ受信部２１〜再生速度取得部２６は、上記第１実施形態に係るコンテンツ受信部２１〜再生速度取得部２６と同様の機能を有する。また、補正量低減範囲決定部２７は、上記第１実施形態に係る補正量低減範囲決定部１３と同様の機能を有する。更に、ビットレート補正部２８は、上記第１実施形態に係るビットレート補正部１４と同様の機能を有する。
【０１８４】
ビットレート変更要求送信部２９は、ビットレート補正部２８により算出された、以降においてサーバ装置１０が送信するコンテンツデータのビットレートｂ’を含むビットレート変更要求をサーバ装置１０へ送信する。即ち、ビットレート変更要求は、算出された補正量に基づいて、サーバ装置１０が送信するコンテンツデータのビットレートを変更する旨を要求する情報である、と言うことができる。
【０１８５】
本例では、コンテンツ送信部１２は、ＲＴＰ（Ｒｅａｌ−Ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）に従って、クライアント装置２０へコンテンツデータを送信するように構成されている。更に、ビットレート変更要求送信部２９は、ＲＴＣＰ（ＲＴＰ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に従って、ビットレート変更要求をサーバ装置１０へ送信するように構成されている。この場合、ビットレート変更要求送信部２９は、任意の拡張を実施可能なＡＰＰ（Ａｐｐｌｉｃａｔｉｏｎ）パケットを用いることが好適である。
【０１８６】
また、コンテンツ送信部１２がＲＴＰ以外のプロトコルに従ってクライアント装置２０へコンテンツデータを送信する場合には、ビットレート変更要求送信部２９は、ＲＴＣＰ以外のプロトコルに従って、ビットレート変更要求をサーバ装置１０へ送信するように構成されていてもよい。
【０１８７】
コンテンツ送信部１２は、クライアント装置２０からビットレート変更要求を受信すると、コンテンツデータ蓄積部１１に記憶されているコンテンツデータが有するビットレートの中から、ビットレート変更要求に含まれるビットレートｂ’よりも小さいビットレートのうちの最大のビットレートを選択する。そして、コンテンツ送信部１２は、クライアント装置２０へ送信しているコンテンツデータのビットレートを、選択したビットレートに変更する。
【０１８８】
この第２実施形態に係る配信システム１によっても、上記第１実施形態と同様に、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
【０１８９】
＜第３実施形態＞
次に、本発明の第３実施形態に係る配信システムについて図１２を参照しながら説明する。
第３実施形態に係る配信システム１００は、互いに通信可能に構成されたサーバ装置１１０及びクライアント装置１２０を含む。
【０１９０】
サーバ装置１１０は、１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータをクライアント装置１２０へ送信可能に構成される。
【０１９１】
クライアント装置１２０は、サーバ装置１１０により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいてコンテンツを再生するように構成される。
【０１９２】
配信システム１００の機能は、残余再生時間取得部（残余再生時間取得手段）１３０と、ビットレート変更部（ビットレート変更手段）１４０と、を含む。
【０１９３】
残余再生時間取得部１３０は、クライアント装置１２０の記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいてコンテンツを再生可能な時間である残余再生時間を取得する。
【０１９４】
ビットレート変更部１４０は、残余再生時間取得部１３０により取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるようにサーバ装置１１０が送信するコンテンツデータのビットレートを補正するための補正量を所定の補正量算出方式に従って算出する。このとき、ビットレート変更部１４０は、ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
そして、ビットレート変更部１４０は、算出した補正量に基づいて上記ビットレートを変更する。
【０１９５】
これによれば、ビットレートの変動量を低減することができる。例えば、ビットレートが補正量低減範囲内にある場合に、補正量として「０」を算出することにより、ビットレートの変動を回避することができる。この結果、ユーザ体感品質が過度に低下することを防止することができる。
【０１９６】
一方、配信システム１００は、ビットレートが補正量低減範囲外にある場合、十分に大きな補正量に基づいてビットレートを変更するので、残余再生時間が過少又は過大となることを防止することができる。即ち、残余再生時間を適切に維持することができる。この結果、コンテンツの再生が途切れることを防止できるとともに、クライアント装置１２０の記憶装置に記憶されるデータ量が過大となることを防止することができる。
【０１９７】
このように、上記構成によれば、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
【０１９８】
この場合、上記配信システムは、
上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を備えるとともに、
上記ビットレート変更手段は、
上記取得された受信速度と、上記取得された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
【０１９９】
これによれば、受信速度が変動する場合であっても、適切に補正量低減範囲を設定することができる。
【０２００】
この場合、上記ビットレート変更手段は、
上記取得された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
これによれば、残余再生時間を目標値により確実に収束させることができる。
【０２０１】
この場合、上記ビットレート変更手段は、
第１の遅延時間後に上記残余再生時間を上記目標値に一致させる第１のビットレートと、上記第１の遅延時間よりも長い第２の遅延時間後に上記残余再生時間を上記目標値に一致させる第２のビットレートと、を算出し、当該算出した第１のビットレート及び第２のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
【０２０２】
上記構成のように、補正量低減範囲の上限値及び下限値を決定することにより、残余再生時間が目標値に近くなるほど狭くなる補正量低減範囲を容易に設定することができる。
【０２０３】
この場合、上記ビットレート変更手段は、
上記残余再生時間が上記目標値よりも小さい場合において、上記残余再生時間が上記目標値よりも大きい場合よりも早期に上記残余再生時間を上記目標値に一致させるように、上記補正量を算出するように構成されることが好適である。
これによれば、コンテンツの再生が途切れることを確実に防止することができる。
【０２０４】
この場合、上記ビットレート変更手段は、
上記残余再生時間が上記目標値よりも小さい場合、第１の不足時遅延時間後に上記残余再生時間を上記目標値に一致させるビットレートを上記第１のビットレートとして算出するとともに、当該第１の不足時遅延時間よりも長い第２の不足時遅延時間後に上記残余再生時間を上記目標値に一致させるビットレートを上記第２のビットレートとして算出し、一方、上記残余再生時間が上記目標値よりも大きい場合、第１の余剰時遅延時間後に上記残余再生時間を上記目標値に一致させるビットレートを上記第１のビットレートとして算出するとともに、当該第１の余剰時遅延時間よりも長く且つ当該第２の不足時遅延時間よりも長い第２の余剰時遅延時間後に上記残余再生時間を上記目標値に一致させるビットレートを上記第２のビットレートとして算出するように構成されることが好適である。
【０２０５】
この場合、上記配信システムは、
上記クライアント装置が上記コンテンツを再生する速度である再生速度を取得する再生速度取得手段を備えるとともに、
上記ビットレート変更手段は、
上記取得された再生速度に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
【０２０６】
これによれば、複数の再生速度（例えば、スロー再生用の再生速度、等速再生用の再生速度、及び、倍速再生用の再生速度等）のいずれか１つにてコンテンツを再生可能なクライアント装置を含む配信システムにおいても、適切に補正量低減範囲を設定することができる。
【０２０７】
この場合、上記ビットレート変更手段は、
上記目標値から、上記取得された残余再生時間を減じた値を、上記第１の遅延時間又は上記第２の遅延時間により除した値を上記残余再生時間の時間微分値として推定し、当該推定した時間微分値に基づいて上記第１のビットレート又は上記第２のビットレートを算出するように構成されることが好適である。
【０２０８】
この場合、上記ビットレート変更手段は、
上記サーバ装置が送信しているコンテンツデータのビットレートが上記上限値よりも大きい場合、当該上限値と、当該ビットレートと、の差に基づいて上記補正量を算出するように構成されることが好適である。
【０２０９】
この場合、上記ビットレート変更手段は、
上記サーバ装置が送信しているコンテンツデータのビットレートが上記上限値よりも大きい場合、当該上限値から当該ビットレートを減じた値に予め設定された比例係数を乗じた値を上記補正量として算出するように構成されることが好適である。
【０２１０】
この場合、上記ビットレート変更手段は、
上記サーバ装置が送信しているコンテンツデータのビットレートが上記下限値よりも小さい場合、当該下限値と、当該ビットレートと、の差に基づいて上記補正量を算出するように構成されることが好適である。
【０２１１】
この場合、上記ビットレート変更手段は、
上記サーバ装置が送信しているコンテンツデータのビットレートが上記下限値よりも小さい場合、当該下限値から当該ビットレートを減じた値に予め設定された比例係数を乗じた値を上記補正量として算出するように構成されることが好適である。
【０２１２】
この場合、上記ビットレート変更手段は、
上記サーバ装置が送信しているコンテンツデータのビットレートが上記補正量低減範囲内にある場合、上記補正量を０に設定するように構成されることが好適である。
【０２１３】
また、本発明の他の形態である配信方法は、
１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と、上記サーバ装置と通信可能に構成されたクライアント装置と、を含む配信システムに適用される方法である。
【０２１４】
更に、この配信方法は、
上記サーバ装置が上記コンテンツデータを上記クライアント装置へ送信し、
上記クライアント装置が、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生し、
上記クライアント装置の上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得し、
上記ビットレートが所定の補正量低減範囲内にない場合、上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、一方、上記ビットレートが当該補正量低減範囲内にある場合、上記取得された残余再生時間と当該目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量であって当該補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出し、
上記算出された補正量に基づいて、上記サーバ装置が送信するコンテンツデータの上記ビットレートを変更する方法である。
【０２１５】
この場合、上記配信方法は、
上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得し、
上記取得された受信速度と、上記取得された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
【０２１６】
この場合、上記配信方法は、
上記取得された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
【０２１７】
この場合、上記配信方法は、
第１の遅延時間後に上記残余再生時間を上記目標値に一致させる第１のビットレートと、上記第１の遅延時間よりも長い第２の遅延時間後に上記残余再生時間を上記目標値に一致させる第２のビットレートと、を算出し、当該算出した第１のビットレート及び第２のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
【０２１８】
また、本発明の他の形態であるサーバ装置は、クライアント装置と通信可能に構成された装置である。
【０２１９】
更に、このサーバ装置は、
１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成され、
上記コンテンツデータのうちの上記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
上記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記クライアント装置へ送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を備える。
【０２２０】
加えて、上記ビットレート変更手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
【０２２１】
この場合、上記サーバ装置は、
上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を当該クライアント装置から受信する受信速度受信手段を備えるとともに、
上記ビットレート変更手段は、
上記受信された受信速度と、上記受信された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
【０２２２】
この場合、上記ビットレート変更手段は、
上記受信された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
【０２２３】
この場合、上記ビットレート変更手段は、
第１の遅延時間後に上記残余再生時間を上記目標値に一致させる第１のビットレートと、上記第１の遅延時間よりも長い第２の遅延時間後に上記残余再生時間を上記目標値に一致させる第２のビットレートと、を算出し、当該算出した第１のビットレート及び第２のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
【０２２４】
また、本発明の他の形態であるプログラムは、
クライアント装置と通信可能に構成されるとともに、１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成されたサーバ装置に、
上記コンテンツデータのうちの上記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
上記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記クライアント装置へ送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を実現させるためのプログラムである。
【０２２５】
加えて、上記ビットレート変更手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
【０２２６】
この場合、上記プログラムは、
上記サーバ装置に、更に、
上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を当該クライアント装置から受信する受信速度受信手段を実現させるとともに、
上記ビットレート変更手段は、
上記受信された受信速度と、上記受信された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
【０２２７】
この場合、上記ビットレート変更手段は、
上記受信された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
【０２２８】
この場合、上記ビットレート変更手段は、
第１の遅延時間後に上記残余再生時間を上記目標値に一致させる第１のビットレートと、上記第１の遅延時間よりも長い第２の遅延時間後に上記残余再生時間を上記目標値に一致させる第２のビットレートと、を算出し、当該算出した第１のビットレート及び第２のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
【０２２９】
また、本発明の他の形態であるクライアント装置は、
１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成された装置である。
【０２３０】
更に、このクライアント装置は、
上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成され、
上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を上記サーバ装置へ送信するビットレート変更要求送信手段と、
を備える。
【０２３１】
加えて、上記ビットレート変更要求送信手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
【０２３２】
この場合、上記クライアント装置は、
上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を備えるとともに、
上記ビットレート変更要求送信手段は、
上記取得された受信速度と、上記取得された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
【０２３３】
この場合、上記ビットレート変更要求送信手段は、
上記取得された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
【０２３４】
この場合、上記ビットレート変更要求送信手段は、
第１の遅延時間後に上記残余再生時間を上記目標値に一致させる第１のビットレートと、上記第１の遅延時間よりも長い第２の遅延時間後に上記残余再生時間を上記目標値に一致させる第２のビットレートと、を算出し、当該算出した第１のビットレート及び第２のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
【０２３５】
また、本発明の他の形態であるプログラムは、
１つのコンテンツを複数の異なるビットレートのうちの任意の１つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成されるとともに、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成されたクライアント装置に、
上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を上記サーバ装置へ送信するビットレート変更要求送信手段と、
を実現させるためのプログラムである。
【０２３６】
加えて、上記ビットレート変更要求送信手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
【０２３７】
この場合、上記プログラムは、
上記クライアント装置に、更に、
上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を実現させるとともに、
上記ビットレート変更要求送信手段は、
上記取得された受信速度と、上記取得された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
【０２３８】
この場合、上記ビットレート変更要求送信手段は、
上記取得された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
【０２３９】
この場合、上記ビットレート変更要求送信手段は、
第１の遅延時間後に上記残余再生時間を上記目標値に一致させる第１のビットレートと、上記第１の遅延時間よりも長い第２の遅延時間後に上記残余再生時間を上記目標値に一致させる第２のビットレートと、を算出し、当該算出した第１のビットレート及び第２のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第１のビットレート及び当該第２のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
【０２４０】
上述した構成を有する、配信方法、サーバ装置、プログラム、又は、クライアント装置、の発明であっても、上記配信システムと同様の作用を有するために、上述した本発明の目的を達成することができる。
【０２４１】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
【０２４２】
例えば、上記各実施形態においては、サーバ装置１０又はクライアント装置２０がビットレートの補正量を算出するように構成されていたが、サーバ装置１０及びクライアント装置２０以外の情報処理装置が補正量を算出するように構成されていてもよい。
【０２４３】
また、上記各実施形態は、サーバ装置１０が送信しているコンテンツデータのビットレートが補正量低減範囲内にある場合、補正量を「０」に設定するように構成されていたが、補正量を大きさ（絶対値）が「０」よりも大きな値に設定するように構成されていてもよい。この場合、配信システム１は、サーバ装置１０が送信しているコンテンツデータのビットレートが補正量低減範囲外にある場合に補正量を算出するために用いる補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出する。
【０２４４】
なお、上記各実施形態において配信システム１の各機能は、ＣＰＵがプログラム（ソフトウェア）を実行することにより実現されていたが、回路等のハードウェアにより実現されていてもよい。
【０２４５】
また、上記各実施形態においてプログラムは、記憶装置に記憶されていたが、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【０２４６】
また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
【０２４７】
なお、本発明は、日本国にて２００９年１月２７日に出願された特願２００９−０１５２６２の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願にて開示された内容のすべてが本明細書に含まれるものとする。
【産業上の利用可能性】
【０２４８】
本発明は、サーバ装置からクライアント装置へコンテンツデータを配信するコンテンツ配信システム等に適用可能である。
【符号の説明】
【０２４９】
１      配信システム
１０    サーバ装置
１１    コンテンツデータ蓄積部
１２    コンテンツ送信部
１３    補正量低減範囲決定部
１４    ビットレート補正部
２０    クライアント装置
２１    コンテンツ受信部
２２    コンテンツバッファ部
２３    コンテンツ再生部
２４    受信速度取得部
２５    残余再生時間取得部
２６    再生速度取得部
２７    補正量低減範囲決定部
２８    ビットレート補正部
２９    ビットレート変更要求送信部
１００  配信システム
１１０  サーバ装置
１２０  クライアント装置
１３０  残余再生時間取得部
１４０  ビットレート変更部
ＮＷ    通信回線
【図１】
0005494495.tif 000002
【図２】
0005494495.tif 000003
【図３】
0005494495.tif 000004
【図４】
0005494495.tif 000005
【図５】
0005494495.tif 000006
【図６】
0005494495.tif 000007
【図７】
0005494495.tif 000008
【図８】
0005494495.tif 000009
【図９】
0005494495.tif 000010
【図１０】
0005494495.tif 000011
【図１１】
0005494495.tif 000012
【図１２】
0005494495.tif 000013