(57)【特許請求の範囲】
【請求項１】
情報処理装置と、情報配信装置とを含み、
前記情報処理装置は、
配信データを構成する複数のパケットを前記情報配信装置から順次受信する受信手段と、
前記受信手段により順次受信されるパケットを再生する再生手段と、
前記受信されたパケットのうち前記再生手段により再生されていないパケットにより再生可能な残り時間である再生可能残時間を算出する算出手段と、
前記再生可能残時間と、予め定められた必要時間との差異に基づく差分時間を算出する差分時間算出手段と、
前記差分時間と比例係数、予め定められた時間範囲における前記差分時間の変化量と微分係数、又は、予め定められた時間範囲における前記差分時間の累積値と積分定数とに基づいて、評価値を算出する評価値算出手段と、
前記評価値算出手段により算出された評価値に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段と、を含み、
前記情報配信装置は、
前記要求手段による要求に応じて、前記配信データを構成するパケットのビットレートを更新する更新手段を含む
情報処理システム。
【請求項２】
前記情報処理装置は、
順次受信されるパケットごとの送信時から受信時までの時間間隔の変化に基づいて前記情報配信装置との通信に混雑が発生しているか否かを判定する第１判定手段と、
順次受信されるパケットに基づいて算出された、前記情報配信装置から送信されるパケットのうち損失に該当するロスパケットの比率であるパケットロス率が、前記配信データを構成するパケットを受信する前のパケットロス率に予め定められた重みを乗じた値よりも増加しているか否かを判定する第２判定手段と、を更に含み、
前記要求手段は、前記第１判定手段による判定結果、前記第２判定手段による判定結果及び前記評価値に基づいて、前記ビットレートの変更を前記情報配信装置に要求する
請求項１に記載の情報処理システム。
【請求項３】
前記情報処理装置は、
前記受信手段により順次受信されるパケットごとに、該パケットの送信時から受信時までの時間間隔と、該パケットの前に送信されたパケットの送信時から受信時までの時間間隔との差分をジッターとして算出するジッター算出手段をさらに含み、
前記第１判定手段は、前記受信手段により新たに受信されたパケットのジッターの、前記受信手段により過去に受信されたパケットのジッターに対する増分が予め定められた条件を満たしている場合に、前記情報配信装置との通信に混雑が発生していると判定する
請求項２に記載の情報処理システム。
【請求項４】
前記要求手段は、前記第１判定手段により通信に混雑が発生していると判定され、且つ、前記第２判定手段により前記情報配信装置から送信されるパケットのうち損失に該当するロスパケットの比率であるパケットロス率が、前記配信データを構成するパケットを受信する前のパケットロス率に予め定められた重みを乗じた値よりも増加していると判定される場合に、前記前記配信データを構成するパケットのビットレートを現在のビットレートよりも低いビットレートに変更するように前記情報配信装置に要求する
請求項１乃至３のいずれかに記載の情報処理システム。
【請求項５】
配信データを構成する複数のパケットを情報配信装置から順次受信する受信手段と、
前記受信手段により順次受信されるパケットを再生する再生手段と、
前記受信されたパケットのうち前記再生手段により再生されていないパケットにより再生可能な残り時間である再生可能残時間を算出する算出手段と、
前記再生可能残時間と、予め定められた必要時間との差異に基づく差分時間を算出する差分時間算出手段と、
前記差分時間と比例係数、予め定められた時間範囲における前記差分時間の変化量と微分係数、又は、予め定められた時間範囲における前記差分時間の累積値と積分定数とに基づいて、評価値を算出する評価値算出手段と、
前記評価値算出手段により算出された評価値に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段と、
を含む情報処理装置。
【請求項６】
配信データを構成する複数のパケットを情報配信装置から順次受信する受信手段、
前記受信手段により順次受信されるパケットを再生する再生手段、
前記受信されたパケットのうち前記再生手段により再生されていないパケットにより再生可能な残り時間である再生可能残時間を算出する算出手段、
前記再生可能残時間と、予め定められた必要時間との差異に基づく差分時間を算出する差分時間算出手段、
前記差分時間と比例係数、予め定められた時間範囲における前記差分時間の変化量と微分係数、又は、予め定められた時間範囲における前記差分時間の累積値と積分定数とに基づいて、評価値を算出する評価値算出手段、
前記評価値算出手段により算出された評価値に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
情報処理装置が、情報配信装置から配信されるストリーミングデータのパケットを順次受信して、受信したパケットに基づきデータを再生するシステムがある（例えば下記の特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第８２８５８８６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的の一つは、配信データを受信時の通信混雑の発生やパケットロス率の増加に応じてビットレートを変更することができる情報処理システム、情報処理装置及びプログラムを提供することにある。
【０００５】
本発明の他の目的の一つは、配信データに関して受信したパケットにより再生可能な残時間に応じてビットレートを変更することができる情報処理システム、情報処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に係る発明は、情報処理装置と、情報配信装置とを含み、前記情報処理装置は、配信データを構成する複数のパケットを前記情報配信装置から順次受信する受信手段と、前記受信手段により順次受信されるパケットごとの送信時から受信時までの時間間隔の変化に基づいて前記情報配信装置との通信に混雑が発生しているか否かを判定する第１判定手段と、前記受信手段により順次受信されるパケットに基づいて算出された、前記情報配信装置から送信されるパケットのうち損失に該当するロスパケットの比率であるパケットロス率が、前記配信データを構成するパケットを受信する前のパケットロス率に予め定められた重みを乗じた値よりも増加しているか否かを判定する第２判定手段と、前記第１判定手段による判定結果と前記第２判定手段による判定結果とに基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段と、を含み、前記情報配信装置は、前記要求手段による要求に応じて、前記配信データを構成するパケットのビットレートを更新する更新手段と、を含む情報処理システムである。
【０００７】
請求項２に係る発明は、前記情報処理装置は、前記受信手段により順次受信されるパケットごとに、該パケットの送信時から受信時までの時間間隔と、該パケットの前に送信されたパケットの送信時から受信時までの時間間隔との差分をジッターとして算出するジッター算出手段をさらに含み、前記第１判定手段は、前記受信手段により新たに受信されたパケットのジッターの、前記受信手段により過去に受信されたパケットのジッターに対する増分が予め定められた条件を満たしている場合に、前記情報配信装置との通信に混雑が発生していると判定する請求項１に記載の情報処理システムである。
【０００８】
請求項３に係る発明は、前記要求手段は、前記第１判定手段により通信に混雑が発生していると判定され、且つ、前記第２判定手段により前記情報配信装置から送信されるパケットのうち損失に該当するロスパケットの比率であるパケットロス率が、前記配信データを構成するパケットを受信する前のパケットロス率に予め定められた重みを乗じた値よりも増加していると判定される場合に、前記前記配信データを構成するパケットのビットレートを現在のビットレートよりも低いビットレートに変更するように前記情報配信装置に要求する請求項１又は２に記載の情報処理システムである。
【０００９】
請求項４に係る発明は、前記情報処理装置は、前記受信手段により順次受信されるパケットを記憶手段に記憶する手段と、前記記憶手段に記憶されたパケットを再生する再生手段と、前記記憶手段に記憶されたパケットのうち前記再生手段により再生されていないパケットにより再生可能な残り時間である再生可能残時間を算出する算出手段と、前記再生可能残時間と、予め定められた必要時間との差異に基づいて、前記配信データを構成するパケットのビットレートの変更を判定するビットレート変更判定手段と、をさらに含み、前記要求手段は、前記ビットレート変更判定手段による判定結果に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する請求項１乃至３のいずれかに記載の情報処理システムである。
【００１０】
請求項５に係る発明は、前記情報処理装置は、前記再生可能残時間と、予め定められた必要時間との差異に基づく差分時間を算出する差分時間算出手段と、前記差分時間と比例係数、予め定められた時間範囲における前記差分時間の変化量と微分係数、予め定められた時間範囲における前記差分時間の累積値と積分定数とに基づいて、評価値を算出する評価値算出手段とをさらに含み、前記ビットレート変更手段は、前記評価値算出手段により算出された評価値と、ビットレートごとに定められた評価値の範囲とに基づいて、ビットレートの変更を判定する請求項４に記載の情報処理システムである。
【００１１】
請求項６に係る発明は、配信データを構成する複数のパケットを情報配信装置から順次受信する受信手段と、前記受信手段により順次受信されるパケットごとの送信時から受信時までの時間間隔の変化に基づいて前記情報配信装置との通信に混雑が発生しているか否かを判定する第１判定手段と、前記受信手段により順次受信されるパケットに基づいて算出された、前記情報配信装置から送信されるパケットのうち損失に該当するロスパケットの比率であるパケットロス率が、前記配信データを構成するパケットを受信する前のパケットロス率に予め定められた重みを乗じた値よりも増加しているか否かを判定する第２判定手段と、前記第１判定手段による判定結果と、前記第２判定手段による判定結果に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段と、を含む情報処理装置である。
【００１２】
請求項７に係る発明は、配信データを構成する複数のパケットを前記情報配信装置から順次受信する受信手段と、前記受信手段により順次受信されるパケットを記憶手段に記憶する手段と、前記記憶手段に記憶されたパケットを再生する再生手段と、前記記憶手段に記憶されたパケットのうち前記再生手段により再生されていないパケットにより再生可能な残り時間である再生可能残時間を算出する算出手段と、前記再生可能残時間と、予め定められた必要時間との差異に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段と、を含む情報処理装置である。
【００１３】
請求項８に係る発明は、配信データを構成する複数のパケットを情報配信装置から順次受信する受信手段と、前記受信手段により順次受信されるパケットごとの送信時から受信時までの時間間隔の変化に基づいて前記情報配信装置との通信に混雑が発生しているか否かを判定する第１判定手段と、前記受信手段により順次受信されるパケットに基づいて算出された、前記情報配信装置から送信されるパケットのうち損失に該当するロスパケットの比率であるパケットロス率が、前記配信データを構成するパケットを受信する前のパケットロス率に予め定められた重みを乗じた値よりも増加しているか否かを判定する第２判定手段と、前記第１判定手段による判定結果と前記第２判定手段による判定結果とに基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段としてコンピュータを機能させるためのプログラムである。
【００１４】
請求項９に係る発明は、配信データを構成する複数のパケットを前記情報配信装置から順次受信する受信手段と、前記受信手段により順次受信されるパケットを記憶手段に記憶する手段と、前記記憶手段に記憶されたパケットを再生する再生手段と、前記記憶手段に記憶されたパケットのうち前記再生手段により再生されていないパケットにより再生可能な残り時間である再生可能残時間を算出する算出手段と、前記再生可能残時間と、予め定められた必要時間との差異に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【００１５】
請求項１，６及び８に係る発明によれば、配信データを受信時の通信混雑の発生やパケットロス率の増加に応じてビットレートを変更することができる。
【００１６】
請求項２に係る発明によれば、本構成を有さない場合と比較して通信混雑の発生を精度良く判定できる。
【００１７】
請求項３に係る発明によれば、配信データを受信時の通信混雑の発生やパケットロス率の増加を抑えることができる。
【００１８】
請求項４に係る発明によれば、配信データに関して受信したパケットにより再生可能な残時間に応じてビットレートを変更することができる。
【００１９】
請求項５に係る発明によれば、本構成を有さない場合と比較してビットレートを適切な値に変更することができる。
【００２０】
請求項７及び９に係る発明によれば、配信データに関して受信したパケットにより再生可能な残時間に応じてビットレートを変更することができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態に係る情報処理システムのシステム構成図である。
【図２】情報端末と情報配信サーバのハードウェア構成図である。
【図３】情報端末の機能ブロック図である。
【図４】バッファー制御部の機能ブロック図である。
【図５】ビットレート閾値管理テーブルの一例を示す図である。
【図６】情報処理システムにおけるシーケンス例を説明する図である。
【図７】情報処理システムにおけるシーケンス例を説明する図である。
【図８】情報処理システムにおけるシーケンス例を説明する図である。
【発明を実施するための形態】
【００２２】
以下、本発明を実施するための実施の形態（以下、実施形態という）を、図面を参照しながら説明する。
【００２３】
［１．システム構成の説明］
図１には、本実施形態に係る情報処理システム１のシステム構成図を示した。図１に示されるように、情報処理システム１は、情報端末１０と、情報配信サーバ２０とを含み、情報端末１０と情報配信サーバ２０とはそれぞれネットワーク５に接続して相互に通信可能となっている。
【００２４】
本実施形態では、情報端末１０が情報配信サーバ２０からストリーミングデータの配信を受ける場合に、情報配信サーバ２０から順次受信したストリーミングデータのパケットに基づいてストリーミングデータのデータ品質を動的に最適化する処理について説明する。
【００２５】
［２．ハードウェア構成の説明］
以下、上記の処理を実現するために、情報処理システム１に含まれる情報端末１０と情報配信サーバ２０に備えられたハードウェア構成の一例について、図２に示されたハードウェア構成図を参照しながら説明する。
【００２６】
［２−１．情報端末１０のハードウェア構成］
図２に示されるように、情報端末１０は、制御部１１、記憶部１２、通信部１３、入力部１４、表示部１５を備える。
【００２７】
制御部１１は、ＣＰＵ（Central Processing Unit）を含み、記憶部１２に記憶されたプログラムに基づいて、各種の演算処理を実行するとともに情報端末１０の各部を制御する。
【００２８】
記憶部１２は、情報端末１０のオペレーティングシステム等の制御プログラムやデータを記憶するほか、制御部１１のワークメモリとしても用いられる。プログラムは、予め記憶部１２に書き込んでおくこととしてもよいし、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等の情報記憶媒体に格納された状態で情報端末１０に供給されてもよいし、インターネット等のデータ通信網を介して情報端末１０に供給されてもよい。
【００２９】
通信部１３は、例えば無線又は有線の通信インターフェースを含み、通信インターフェースを介してネットワークに接続して、ネットワークに接続された情報配信サーバ２０と通信する。
【００３０】
入力部１４は、タッチパネル、キーボード等の入力装置により実現され、ユーザからの操作入力を受け付ける。
【００３１】
表示部１５は、液晶ディスプレイ等の表示装置により実現され、制御部１１による情報処理の結果（画面）を表示させる。
【００３２】
［２−２．情報配信サーバ２０のハードウェア構成］
次に、情報配信サーバ２０のハードウェア構成例について説明する。図２に示されるように、情報配信サーバ２０は、制御部２１、記憶部２２、通信部２３を備える。
【００３３】
制御部２１は、ＣＰＵ（Central Processing Unit）を含み、記憶部２２に記憶されたプログラムに基づいて、各種の演算処理を実行するとともに情報配信サーバ２０の各部を制御する。
【００３４】
記憶部２２は、情報配信サーバ２０のオペレーティングシステム等の制御プログラムやデータを記憶するほか、制御部２１のワークメモリとしても用いられる。プログラムは、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等の情報記憶媒体に格納された状態で情報配信サーバ２０に供給されてもよいし、インターネット等のデータ通信手段を介して情報配信サーバ２０に供給されてもよい。
【００３５】
例えば、記憶部２２には、複数のデータ品質（例えば高品質の順に、ＨＤ，Ｈ，ＭＨ，ＭＬＭ，Ｌ，ＵＬ等）ごとのストリーミングデータ（例えば、動画データ、音声データ等）、イメージデータ（例えば、データサイズがそれぞれ異なる静止画像等）、アプリケーションデータ等を記憶することとしてよい。
【００３６】
通信部２３は、例えばネットワークインターフェースカード（ＮＩＣ）を含み、ＮＩＣを介してネットワーク５に接続して、情報端末１０と通信する。
【００３７】
［３．情報端末１０に備えられる機能の説明］
次に、本実施形態に係る情報端末１０が備える機能の詳細について図３及び図４を参照しながら説明する。
【００３８】
図３には、情報端末１０の機能ブロック図を示した。図３に示されるように、情報端末１０は、操作受付部１０１、データ配信要求部１０２、パケット受信部１０３、バッファー部１０４、混雑発生検知部ＣＲ、データ再生部１１０、再生可能残時間算出部１１１、バッファー制御部１１２、配信データ品質更新要求部１１３を備える。情報端末１０に備えられる各部の機能は、図２に示した情報端末１０に備えられる制御部１１、記憶部１２、通信部１３、入力部１４、表示部１５の各部により実現されることとしてよい。
【００３９】
操作受付部１０１は、ユーザからの操作入力を受け付け、受け付けた操作入力に応じた処理を開始させる。例えば、本実施形態では、操作受付部１０１は、ユーザから、データ配信元、配信データの指定を受け付けることとしてよい。
【００４０】
データ配信要求部１０２は、操作受付部１０１により受け付けた入力に応じて、データ配信元に対して指定されたデータの配信を要求する。例えば、本実施形態では、データ配信要求部１０２は、情報配信サーバ２０に対して、指定されたデータ（例えば動画データ）のストリーミング配信を要求することとしてよい。
【００４１】
パケット受信部１０３は、データ配信要求部１０２によるデータ配信要求に応じて、データ配信先から送信されるデータ（パケット）を受信する。例えば、パケット受信部１０３は、情報配信サーバ２０から送信されるストリーミングデータを構成する複数のパケットを順次受信することとしてよい。
【００４２】
バッファー部１０４は、パケット受信部１０３により順次受信したパケットを順次蓄積する一時記憶部である。
【００４３】
混雑発生検知部ＣＲは、バッファー部１０４に記憶されるパケットの情報に基づいて、情報配信サーバ２０と情報端末１０間の通信に混雑が発生したか否かを判定し、その判定結果に基づいて通信混雑の発生を検知する。混雑発生検知部ＣＲは、ジッター算出部１０５、第１判定部１０６、パケットロス率算出部１０７、第２判定部１０８、混雑発生判定部１０９を含む。以下、ジッター算出部１０５、第１判定部１０６、パケットロス率算出部１０７、第２判定部１０８、混雑発生判定部１０９の詳細について説明する。
【００４４】
ジッター算出部１０５は、バッファー部１０４に蓄積される各パケットについて、前のシーケンス番号のパケットの受信時からの遅れ（ジッター）を算出する。具体的には、ストリーミングデータのシーケンス番号ｉ（ｉは２以上の整数）のパケットＰｉ（シーケンス番号順にパケットが送信されることとする）に関し、ジッター算出部１０５は、ジッターＪｉを、以下の式（１）により算出する。ここで、ＲＤｉとは、パケットＰｉの、送信時から受信時までの時間間隔としてよく、ＲＤｉは、パケットのヘッダーに格納された送信時刻と、パケットの実際の受信時刻により算出されることとしてよい。
Ｊｉ＝ＲＤｉ−ＲＤｉ−１      （１）
【００４５】
また、ジッター算出部１０５は、バッファー部１０４に蓄積される各パケットについて算出されたジッターに基づいて、ジッターの第１指標値ＪＭｅａｎを算出する。例えば、第１指標値は、対象のパケット群（Ｐ１〜Ｐｉ）において算出されたジッターの平均値に応じた値（又は平均値そのもの）としてもよい。具体的には、ジッター算出部１０５は、第１指標値を以下の式（２）により算出する。なお、αは、０＜α＜１を満たす実数としてよい。
ＪＭｅａｎ＝（１−α）ＪＭｅａｎ＋αＪｉ      （２）
【００４６】
さらに、ジッター算出部１０５は、バッファー部１０４に蓄積される各パケットについて算出されたジッターに基づいて、ジッターの第２指標値Ｊｖａｒを算出する。例えば、第２指標値は、対象のパケット群（Ｐｊ（ｊはｉより小さい１以上の整数で例えばｊ＝１）〜Ｐｉ）において算出されたジッターの分散値に応じた値（又は分散値そのもの）としてもよい。具体的には、ジッター算出部１０５は、第２指標値を以下の式（３）により算出する。なお、αは、０＜α＜１を満たす実数としてよい。
Ｊｖａｒ＝（１−２α）Ｊｖａｒ＋２α｜Ｊｉ−ＪＭｅａｎ｜      （３）
【００４７】
第１判定部１０６は、ジッター算出部１０５で算出されたジッター及びジッターの指標値に基づいて、第１の混雑発生条件を満足しているか否かを判定する。具体的には、第１判定部１０６は、第１の混雑発生条件を以下の式（４）で表したときに、（４）式が満足されている場合に、第１の混雑発生条件が満足されていると判定し、それ以外の場合に第１の混雑発生条件が満足されていないと判定することとしてよい。なお、Ｋ１は予め定められた正の係数としてよい。
｜Ｊｉ−ＪＭｅａｎ｜＞Ｋ１・Ｊｖａｒ      （４）
【００４８】
パケットロス率算出部１０７は、バッファー部１０４に蓄積される各パケットの情報に基づいて、情報配信サーバ２０から配信されるデータに関するパケットロス率を算出する。例えば、パケットロス率算出部１０７は、対象のパケット群（Ｐｊ（ｊはｉより小さい１以上の整数で例えばｊ＝１）〜Ｐｉ）において、ロストしたパケットの数と、シーケンス番号順に届かなかったパケットの数との合計（Ｌ）を計数し、Ｌを送信パケットの総数（ｉ）で割った値をパケットロス率（Ｐｌｏｓｓ）として算出することとしてよい。また、パケットロス率算出部１０７は、情報配信サーバ２０からデータが配信される前の基礎パケットロス率ＰＲＡＷについても予め算出しておくこととしてよい。
【００４９】
第２判定部１０８は、パケットロス率算出部１０７により算出されたパケットロス率と、基礎パケットロス率とに基づいて、第２の混雑発生条件を満足しているか否かを判定する。具体的には、第２判定部１０８は、第２の混雑発生条件を以下の式（５）で表したときに、（５）式が満足されている場合に、第２の混雑発生条件が満足されていると判定し、それ以外の場合に第２の混雑発生条件が満足されていないと判定することとしてよい。なお、Ｋ２は予め定められた正の係数としてよい。
Ｐｌｏｓｓ＞Ｋ２・ＰＲＡＷ      （５）
【００５０】
混雑発生判定部１０９は、第１判定部１０６及び第２判定部１０８の判定結果に基づいて、情報端末１０が情報配信サーバ２０からデータの配信を受けている間に、通信混雑が発生しているか否かを判定する。具体的には、混雑発生判定部１０９は、第１判定部１０６により第１の混雑発生条件が満足されていると判定され、且つ、第２判定部１０８により第２の混雑発生条件が満足されていると判定される場合に、通信混雑が発生していると判定し、そうでない場合には通信混雑が発生していないと判定することとしてよい。
【００５１】
データ再生部１１０は、バッファー部１０４に蓄積されたパケットに基づいてデータを再生する。例えば、情報端末１０が情報配信サーバ２０からマルチメディアデータ（例えばビデオデータ）のストリーミング配信を受けている場合には、バッファー部１０４に蓄積されたパケットに基づいてマルチメディアデータのストリーミング再生を実行することとしてよい。この際、データ再生部１１０は、バッファー部１０４に蓄積された未再生のパケットが予め定められた量ある場合にはデータ再生を実行し、バッファー部１０４に蓄積された未再生のパケットが予め定められた量ない場合にはデータ再生を待機することとしてよい。
【００５２】
再生可能残時間算出部１１１は、バッファー部１０４に蓄積されたパケットにより再生可能な残り時間（再生可能残時間）を算出する。例えば、再生可能残時間算出部１１１は、バッファー部１０４に蓄積されたパケットのうち、データ再生部１１０により再生されていないパケットによる再生可能時間を再生可能残時間として算出することとしてよい。具体的には、時刻ｔにおける再生可能なバッファーの長さＰＬ（ｔ）を、フレームレート（ＦＲ（ｔ））により割ることで再生可能残時間（Ｔｃ（ｔ）＝ＰＬ（ｔ）／ＦＲ（ｔ））を算出することとしてよい。
【００５３】
バッファー制御部１１２は、再生可能残時間算出部１１１により算出された再生可能残時間に基づいて配信データの品質を制御する。バッファー制御部１１２の詳細な構成については、図４を参照しながら説明する。
【００５４】
図４に示されるように、バッファー制御部１１２は、必要時間設定部１１２Ａ、比較部１１２Ｂ、環境判定部１１２Ｃ、パラメータ選択部１１２Ｄ、ＰＩＤ制御部１１２Ｅ、ビットレート変更判定部１１２Ｆを含む。
【００５５】
必要時間設定部１１２Ａは、再生可能残時間の必要時間（Ｔｒ）を設定する。例えば、必要時間は、初期値として予め定められていることとしてもよいし、ユーザの入力に応じて設定することとしてもよい。
【００５６】
比較部１１２Ｂは、再生可能残時間算出部１１１により算出された時刻ｔにおける再生可能残時間Ｔｃ（ｔ）と、必要時間Ｔｒとを比較する。例えば、比較部１１２Ｂは、以下の式（６）により、再生可能残時間Ｔｃ（ｔ）と必要時間Ｔｒの差Ｔｄ（ｔ）を算出することとしてもよいし、式（７）により制御時間Ｔｃｏｎｔｒｏｌを考慮に入れてＴｄ（ｔ）を算出することとしてもよい。なお、制御時間Ｔｃｏｎｔｒｏｌは、式（８）により算出されることとしてよく、ＲＴＴはラウンドトリップタイム、Ｔｅｎｃはパケットの符号化に要する時間、Ｔｄｅｃは復号化に要する時間を示している。
Ｔｄ（ｔ）＝Ｔｃ（ｔ）−Ｔｒ      （６）
Ｔｄ（ｔ）＝Ｔｃ（ｔ）−Ｔｒ−Ｔｃｏｎｔｒｏｌ      （７）
Ｔｃｏｎｔｒｏｌ＝ＲＴＴ／（１−Ｐｌｏｓｓ）＋Ｔｅｎｃ＋Ｔｄｅｃ      （８）
【００５７】
環境判定部１１２Ｃは、情報端末１０の通信環境を判定する。例えば、環境判定部１１２Ｃは、情報端末１０が無線通信する場合においては、無線通信先との通信状況に応じて、通信アンテナが変わりやすい（例えば高速での移動中）状況（プロファイル１）、通信が安定している状況（プロファイル２）、通信状態が変わりやすい状況（プロファイル３）のいずれにあるかを判定することとしてよい。
【００５８】
パラメータ選択部１１２Ｄは、環境判定部１１２Ｃにより判定されたプロファイルに応じたパラメータを選択する。例えば、情報端末１０は、通信状況のプロファイル（プロファイル１〜Ｎ（Ｎは２以上の整数））ごとに、Ｋｐ，Ｋｉ，Ｋｄのパラメータセットを保持し、環境判定部１１２Ｃにより判定されたプロファイルに基づいて、対応するＫｐ，Ｋｉ，Ｋｄのパラメータセットを選択することとしてよい。
【００５９】
ＰＩＤ制御部１１２Ｅは、パラメータ選択部１１２Ｄで選択されたＫｐ，Ｋｉ，Ｋｄのパラメータセットと、比較部１１２Ｂから出力されたデータ（Ｔｄ（ｔ））に基づいて、ＰＩＤ制御を実行する。具体的には、ＰＩＤ制御部１１２Ｅは、Ｋｐ，Ｋｉ，Ｋｄのパラメータセットと、時刻ｔにおける再生可能残時間Ｔｃ（ｔ）と、必要時間Ｔｒとを比較結果であるＴｄ（ｔ）と、時刻ｔからＭ（Ｍは０より大きい実数）秒以内のＴｄ（ｔ）に関する積分値と、時刻ｔからＭ秒以内のＴｄ（ｔ）に関する微分値とに基づき、以下の式（９）によりＰＩＤ評価値Ｖ（ｔ）を算出する。
【００６０】
【数１】
0005987798.tif 000002
【００６１】
ビットレート変更判定部１１２Ｆは、ＰＩＤ制御部１１２Ｅにより算出されたＰＩＤ評価値Ｖ（ｔ）に基づいて、ビットレートの変更の要否を判定する。例えば、ビットレート変更判定部１１２Ｆは、ＰＩＤ制御部１１２Ｅにより算出されたＰＩＤ評価値Ｖ（ｔ）と、現在のビットレートに応じて選択した１以上のビットレートごとの閾値との比較結果に基づいて、ビットレートの変更の要否を判定する。ビットレート変更判定部１１２Ｆによるビットレート変更判定処理の具体例を、図５に示したビットレート閾値管理テーブルを参照しながら説明する。
【００６２】
図５に示したビットレート閾値管理テーブルには、現在のビットレートごとに、他の１以上のビットレートについての閾値が格納されている。そして、他のビットレート（変更先のビットレート）はそれぞれ、現在のビットレートと、ＰＩＤ評価値の範囲により特定される。例えば、ビットレート変更判定部１１２Ｆは、現在のビットレートが８００Ｋｂｐｓであれば、ＰＩＤ評価値が３．５未満であればビットレートを変更せず、ＰＩＤ評価値が３．５以上８．７未満であればビットレートを１２００Ｋｂｐｓに変更し、ＰＩＤ評価値が８．７以上であればビットレートを２０００Ｋｂｐｓに変更することとする。また、ビットレート変更判定部１１２Ｆは、現在のビットレートが１２００Ｋｂｐｓであれば、ＰＩＤ評価値が−２．２未満であればビットレートを８００Ｋｂｐｓに変更し、ＰＩＤ評価値が−２．２以上５．６未満であればビットレートを変更せず、ＰＩＤ評価値が５．６以上であればビットレートを２０００Ｋｂｐｓに変更することとする。
【００６３】
配信データ品質更新要求部１１３は、混雑発生判定部１０９とビットレート変更判定部１１２Ｆの判定結果に基づいて、情報配信サーバ２０に対して、配信しているデータの品質を更新するように要求する。例えば、配信データ品質更新要求部１１３は、混雑発生判定部１０９により通信混雑が発生したと判定された場合には、配信データの品質を、現在のビットレートよりも下げるように情報配信サーバ２０に要求することとしてよい。また、配信データ品質更新要求部１１３は、ビットレート変更判定部１１２Ｆによりビットレートを変更すると判定された場合には、配信データの品質を、ビットレート変更判定部１１２Ｆにより判定された変更先のビットレートに変更するように情報配信サーバ２０に要求することとしてよい。
【００６４】
［４．シーケンスの説明］
次に、情報処理システム１において実行される処理の詳細を、図６〜図８に示したシーケンス図及びフロー図を参照しながら説明する。
【００６５】
図６に示されるように、情報端末１０は、ユーザからストリーミングデータ（配信データ）の配信要求を受け付けると（Ｓ１０１）、ストリーミングデータの配信元である情報配信サーバ２０に対して、ストリーミングデータの配信を要求する（Ｓ１０２）。
【００６６】
情報配信サーバ２０は、情報端末１０から配信要求を受け付けると、配信要求に係るストリーミングデータに関し、パケットシーケンス番号ｉを１に、再生時間ｔを０に、データ品質Ｑを初期値に設定して初期化する（Ｓ１０３）。
【００６７】
次に、情報配信サーバ２０は、配信するストリーミングデータに関し、再生時間ｔと、データ品質Ｑに基づくデータ部分を符号化した（ＵＤＰ）パケットＰｉを取得して（Ｓ１０４）、パケットＰｉを情報端末１０に送信する（Ｓ１０５）。なお、情報配信サーバ２０は、ストリーミングデータにおける再生時間ｔの動画データを、データ品質Ｑで符号化してパケットＰｉを生成することとしてよい。また、情報配信サーバ２０は、パケットＰｉには送信時間、データ品質（ビットレート）の情報を含めて送信することとしてよい。
【００６８】
情報配信サーバ２０は、送信したパケットＰｉに基づいて再生時間ｔを更新し（Ｓ１０６）、再生時間ｔがストリーミングデータの再生終了時間Ｔに達していない場合には（Ｓ１０７：Ｎ）、ｉをインクリメント（１加算）して（Ｓ１０８）、Ｓ１０４に戻りそれ以降の処理を繰り返し、再生時間ｔがストリーミングデータの再生終了時間Ｔに達している場合には（Ｓ１０８：Ｙ）、処理を終了する。
【００６９】
また、情報端末１０は、情報配信サーバ２０から送信されたパケットＰｉを受信して、受信したパケットＰｉをバッファーに記憶する（Ｓ１０９）。
【００７０】
情報端末１０は、バッファーに記憶されたパケットに基づいてストリーミングデータの再生が可能でない場合には（Ｓ１１０：Ｎ）、待機し、バッファーに記憶されたパケットに基づいてストリーミングデータの再生が可能である場合には（Ｓ１１０：Ｙ）、ストリーミングデータの再生を実行し（Ｓ１１１）、再生を終了しない場合には（Ｓ１１２：Ｎ）、Ｓ１０９に戻って、それ以降の処理を繰り返し実行する。
【００７１】
また、情報端末１０は、バッファーに記憶したパケットに基づくデータの再生と並行して、バッファーに記憶したパケットの情報に基づいて、ストリーミングデータの品質の更新判定と、更新判定の結果に基づく更新要求処理を実行する。このストリーミングデータの更新判定処理と、更新要求処理の詳細については図７及び図８に示したシーケンス図を参照しながら説明する。まず、図７に示した通信混雑の判定に基づくデータ品質更新処理の例について説明する。
【００７２】
図７に示されるように、情報端末１０は、図６のＳ１０９でバッファーにパケットＰｉが記憶されると、ｉが２以上でない場合には（Ｓ２０１：Ｎ）、図６のＳ１０９の前に戻り、ｉが２以上である場合には（Ｓ２０１：Ｙ）、パケットＰｉとパケットＰｉ−１に基づいて、ジッターＪｉを計算するとともに（Ｓ２０２）、ジッターＪＭ（ＪＭｅａｎ）とＪｖ（ＪＶａｒ）を計算する（Ｓ２０３）。ジッターＪｉ，ジッターＪＭ（ＪＭｅａｎ）、Ｊｖ（ＪＶａｒ）の計算は、上述したジッター算出部１０５により行うこととしてよい。
【００７３】
次に、情報端末１０は、算出されたジッターＪｉ，ジッターＪＭ（ＪＭｅａｎ）、Ｊｖ（ＪＶａｒ）に基づき、｜Ｊｉ−ＪＭ｜＞Ｋ１・Ｊｖが満たされていない場合には（Ｓ２０４：Ｎ）、図６のＳ１０９の前に戻り、｜Ｊｉ−ＪＭ｜＞Ｋ１・Ｊｖが満たされている場合には（Ｓ２０４：Ｙ）、Ｓ２０７に進む。
【００７４】
また、情報端末１０は、図６のＳ１０９でバッファーにパケットＰｉが記憶されると、Ｐ１〜Ｐｉまでのロスパケット数を計数し（Ｓ２０５）、計数されたロスパケット数に基づいてパケットロス率ＰＬを算出する（Ｓ２０６）。このパケットロス率ＰＬ（ＰＬｏｓｓ）は、上述したパケットロス率算出部１０７により算出されることとしてよい。
【００７５】
そして、情報端末１０は、Ｓ２０７において、Ｓ２０６で算出されたパケットロス率ＰＬが、ＰＬ＞Ｋ２・ＰＲＡＷを満たさない場合には（Ｓ２０７：Ｎ）、図６のＳ１０９の前に戻り、ＰＬ＞Ｋ２・ＰＲＡＷを満たす場合には（Ｓ２０７：Ｙ）、情報端末１０と情報配信サーバ２０間に通信混雑が発生したことを検知して（Ｓ２０８）、情報配信サーバ２０に対してビットレートを低減させるように要求する（Ｓ２０９）。
【００７６】
情報配信サーバ２０は、情報端末１０からビットレートの低減要求を受けると、配信中のストリーミングデータのデータ品質Ｑを現在のデータ品質よりも低くなるように更新して（Ｓ２１０）、図６のＳ１０４に戻り、それ以降の処理を実行する。
【００７７】
以上が通信混雑の判定に基づくデータ品質更新処理の例である。次に、再生可能残時間に基づくデータ品質更新処理の例について、図８を参照しながら説明する。
【００７８】
図８に示されるように、情報端末１０は、図６のＳ１０９でバッファーにパケットＰｉが記憶されると、バッファーに記憶されたパケットの情報に基づいて、再生可能残時間Ｔｃ（ｔ）を算出し（Ｓ３０１）、予め設定された再生可能残時間の必要時間Ｔｒと、再生可能残時間Ｔｃ（ｔ）の差異に基づくＴｄ（ｔ）を算出する（Ｓ３０２）。この再生可能残時間Ｔｃ（ｔ）及びＴｄ（ｔ）の算出は、上述した再生可能残時間算出部１１１及び比較部１１２Ｂにより行うこととしてよい。
【００７９】
次に、情報端末１０は、情報端末１０の通信状況に応じたＰＩＤパラメータＫｐ，Ｋｉ，Ｋｄを取得し（Ｓ３０３）、ＫｐとＴｄ（ｔ）に基づいて第１の評価値Ｓ１を算出し（Ｓ３０４）、ＫｉとＴｄ（ｔ）に基づいて第２の評価値Ｓ２を算出し（Ｓ３０５）、ＫｄとＴｄ（ｔ）に基づいて第３の評価値Ｓ３を算出し（Ｓ３０６）、ＰＩＤ評価値Ｖ（ｔ）をＶ（ｔ）＝Ｓ１＋Ｓ２＋Ｓ３として算出する（Ｓ３０７）。なお、ＰＩＤ評価値Ｖ（ｔ）は、上述したＰＩＤ制御部１１２Ｅにより算出されることとしてよい。
【００８０】
情報端末１０は、ＰＩＤ評価値Ｖ（ｔ）と、現在のビットレートに基づく、他のビットレートの閾値Ｃｔｈとを比較し（Ｓ３０８）、その比較結果に基づいてビットレートを変更するか否かを判定する（Ｓ３０９）。ビットレート変更の判定処理は、ビットレート変更判定部１１２Ｆにより行うこととしてよい。そして、情報端末１０は、ビットレートを変更しない場合には（Ｓ３０９：Ｎ）、図６のＳ１０９の前に戻り、ビットレートを変更する場合には（Ｓ３０９：Ｙ）、ビットレートの更新を情報配信サーバ２０に要求する（Ｓ３１０）。
【００８１】
情報配信サーバ２０は、情報端末１０からビットレートの更新要求を受けると、受け付けた更新要求に応じて、配信中のストリーミングデータのデータ品質Ｑを更新して（Ｓ３１１）、図６のＳ１０４に戻り、それ以降の処理を実行する。
【００８２】
以上が再生可能残時間に基づくデータ品質更新処理の例である。そして、以上説明したシーケンスにより、情報処理システム１では、データ配信中に通信の混雑状態や再生可能残時間の状態に基づいてデータ品質を動的に更新して、データ再生が途切れないようにすることができる。
【００８３】
また、本発明は上記の実施形態に限定されるものではない。例えば、上記の実施形態において、情報端末１０が情報配信サーバ２０からストリーミングデータの配信を受ける前に、情報配信サーバ２０からテストパケットを受信して、受信したテストパケットに基づいてデータ品質の初期値を設定することとしてもよい。
【符号の説明】
【００８４】
１  情報処理システム、５  ネットワーク、１０  情報端末、１１  制御部、１２  記憶部、１３  通信部、１４  入力部、１５  表示部、１０１  操作受付部、１０２  データ配信要求部、１０３  パケット受信部、１０４  バッファー部、ＣＲ  混雑発生検知部、１０５  ジッター算出部、１０６  第１判定部、１０７  パケットロス率算出部、１０８  第２判定部、１０９  混雑発生判定部、１１０  データ再生部、１１１  再生可能残時間算出部、１１２  バッファー制御部、１１２Ａ  必要時間設定部、１１２Ｂ  比較部、１１２Ｃ  環境判定部、１１２Ｄ  パラメータ選択部、１１２Ｅ  ＰＩＤ制御部、１１２Ｆ  ビットレート変更判定部、１１３  配信データ品質更新要求部。
【図１】
0005987798.tif 000003
【図２】
0005987798.tif 000004
【図３】
0005987798.tif 000005
【図４】
0005987798.tif 000006
【図５】
0005987798.tif 000007
【図６】
0005987798.tif 000008
【図７】
0005987798.tif 000009
【図８】
0005987798.tif 000010