特許第5987798号(P5987798)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

特許5987798情報処理システム、情報処理装置及びプログラム
<>
  • 特許5987798-情報処理システム、情報処理装置及びプログラム 図000003
  • 特許5987798-情報処理システム、情報処理装置及びプログラム 図000004
  • 特許5987798-情報処理システム、情報処理装置及びプログラム 図000005
  • 特許5987798-情報処理システム、情報処理装置及びプログラム 図000006
  • 特許5987798-情報処理システム、情報処理装置及びプログラム 図000007
  • 特許5987798-情報処理システム、情報処理装置及びプログラム 図000008
  • 特許5987798-情報処理システム、情報処理装置及びプログラム 図000009
  • 特許5987798-情報処理システム、情報処理装置及びプログラム 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5987798
(24)【登録日】2016年8月19日
(45)【発行日】2016年9月7日
(54)【発明の名称】情報処理システム、情報処理装置及びプログラム
(51)【国際特許分類】
   H04L 12/919 20130101AFI20160825BHJP
   H04L 12/811 20130101ALI20160825BHJP
【FI】
   H04L12/919
   H04L12/811
【請求項の数】6
【全頁数】16
(21)【出願番号】特願2013-163645(P2013-163645)
(22)【出願日】2013年8月6日
(65)【公開番号】特開2015-33095(P2015-33095A)
(43)【公開日】2015年2月16日
【審査請求日】2015年8月19日
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士ゼロックス株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】特許業務法人はるか国際特許事務所
(72)【発明者】
【氏名】ローシャン タプリヤ
(72)【発明者】
【氏名】胡 朝新
【審査官】 安藤 一道
(56)【参考文献】
【文献】 特表2012−530489(JP,A)
【文献】 特開2005−151600(JP,A)
【文献】 特開2006−174419(JP,A)
【文献】 国際公開第2006/054442(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/919
H04L 12/811
(57)【特許請求の範囲】
【請求項1】
情報処理装置と、情報配信装置とを含み、
前記情報処理装置は、
配信データを構成する複数のパケットを前記情報配信装置から順次受信する受信手段と、
前記受信手段により順次受信されるパケットを再生する再生手段と、
前記受信されたパケットのうち前記再生手段により再生されていないパケットにより再生可能な残り時間である再生可能残時間を算出する算出手段と、
前記再生可能残時間と、予め定められた必要時間との差異に基づく差分時間を算出する差分時間算出手段と、
前記差分時間と比例係数、予め定められた時間範囲における前記差分時間の変化量と微分係数、又は、予め定められた時間範囲における前記差分時間の累積値と積分定数とに基づいて、評価値を算出する評価値算出手段と、
前記評価値算出手段により算出された評価値に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段と、を含み、
前記情報配信装置は、
前記要求手段による要求に応じて、前記配信データを構成するパケットのビットレートを更新する更新手段を含む
情報処理システム。
【請求項2】
前記情報処理装置は、
次受信されるパケットごとの送信時から受信時までの時間間隔の変化に基づいて前記情報配信装置との通信に混雑が発生しているか否かを判定する第1判定手段と、
次受信されるパケットに基づいて算出された、前記情報配信装置から送信されるパケットのうち損失に該当するロスパケットの比率であるパケットロス率が、前記配信データを構成するパケットを受信する前のパケットロス率に予め定められた重みを乗じた値よりも増加しているか否かを判定する第2判定手段と、を更に含み、
前記要求手段は、前記第1判定手段による判定結果前記第2判定手段による判定結果及び前記評価値に基づいて、前記ビットレートの変更を前記情報配信装置に要求する
請求項1に記載の情報処理システム。
【請求項3】
前記情報処理装置は、
前記受信手段により順次受信されるパケットごとに、該パケットの送信時から受信時までの時間間隔と、該パケットの前に送信されたパケットの送信時から受信時までの時間間隔との差分をジッターとして算出するジッター算出手段をさらに含み、
前記第1判定手段は、前記受信手段により新たに受信されたパケットのジッターの、前記受信手段により過去に受信されたパケットのジッターに対する増分が予め定められた条件を満たしている場合に、前記情報配信装置との通信に混雑が発生していると判定する
請求項に記載の情報処理システム。
【請求項4】
前記要求手段は、前記第1判定手段により通信に混雑が発生していると判定され、且つ、前記第2判定手段により前記情報配信装置から送信されるパケットのうち損失に該当するロスパケットの比率であるパケットロス率が、前記配信データを構成するパケットを受信する前のパケットロス率に予め定められた重みを乗じた値よりも増加していると判定される場合に、前記前記配信データを構成するパケットのビットレートを現在のビットレートよりも低いビットレートに変更するように前記情報配信装置に要求する
請求項1乃至3のいずれかに記載の情報処理システム。
【請求項5】
配信データを構成する複数のパケットを情報配信装置から順次受信する受信手段と、
前記受信手段により順次受信されるパケットを再生する再生手段と、
前記受信されたパケットのうち前記再生手段により再生されていないパケットにより再生可能な残り時間である再生可能残時間を算出する算出手段と、
前記再生可能残時間と、予め定められた必要時間との差異に基づく差分時間を算出する差分時間算出手段と、
前記差分時間と比例係数、予め定められた時間範囲における前記差分時間の変化量と微分係数、又は、予め定められた時間範囲における前記差分時間の累積値と積分定数とに基づいて、評価値を算出する評価値算出手段と、
前記評価値算出手段により算出された評価値に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段と、
を含む情報処理装置。
【請求項6】
配信データを構成する複数のパケットを情報配信装置から順次受信する受信手段、
前記受信手段により順次受信されるパケットを再生する再生手段、
前記受信されたパケットのうち前記再生手段により再生されていないパケットにより再生可能な残り時間である再生可能残時間を算出する算出手段、
前記再生可能残時間と、予め定められた必要時間との差異に基づく差分時間を算出する差分時間算出手段、
前記差分時間と比例係数、予め定められた時間範囲における前記差分時間の変化量と微分係数、又は、予め定められた時間範囲における前記差分時間の累積値と積分定数とに基づいて、評価値を算出する評価値算出手段、
前記評価値算出手段により算出された評価値に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
情報処理装置が、情報配信装置から配信されるストリーミングデータのパケットを順次受信して、受信したパケットに基づきデータを再生するシステムがある(例えば下記の特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第8285886号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的の一つは、配信データを受信時の通信混雑の発生やパケットロス率の増加に応じてビットレートを変更することができる情報処理システム、情報処理装置及びプログラムを提供することにある。
【0005】
本発明の他の目的の一つは、配信データに関して受信したパケットにより再生可能な残時間に応じてビットレートを変更することができる情報処理システム、情報処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
請求項1に係る発明は、情報処理装置と、情報配信装置とを含み、前記情報処理装置は、配信データを構成する複数のパケットを前記情報配信装置から順次受信する受信手段と、前記受信手段により順次受信されるパケットごとの送信時から受信時までの時間間隔の変化に基づいて前記情報配信装置との通信に混雑が発生しているか否かを判定する第1判定手段と、前記受信手段により順次受信されるパケットに基づいて算出された、前記情報配信装置から送信されるパケットのうち損失に該当するロスパケットの比率であるパケットロス率が、前記配信データを構成するパケットを受信する前のパケットロス率に予め定められた重みを乗じた値よりも増加しているか否かを判定する第2判定手段と、前記第1判定手段による判定結果と前記第2判定手段による判定結果とに基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段と、を含み、前記情報配信装置は、前記要求手段による要求に応じて、前記配信データを構成するパケットのビットレートを更新する更新手段と、を含む情報処理システムである。
【0007】
請求項2に係る発明は、前記情報処理装置は、前記受信手段により順次受信されるパケットごとに、該パケットの送信時から受信時までの時間間隔と、該パケットの前に送信されたパケットの送信時から受信時までの時間間隔との差分をジッターとして算出するジッター算出手段をさらに含み、前記第1判定手段は、前記受信手段により新たに受信されたパケットのジッターの、前記受信手段により過去に受信されたパケットのジッターに対する増分が予め定められた条件を満たしている場合に、前記情報配信装置との通信に混雑が発生していると判定する請求項1に記載の情報処理システムである。
【0008】
請求項3に係る発明は、前記要求手段は、前記第1判定手段により通信に混雑が発生していると判定され、且つ、前記第2判定手段により前記情報配信装置から送信されるパケットのうち損失に該当するロスパケットの比率であるパケットロス率が、前記配信データを構成するパケットを受信する前のパケットロス率に予め定められた重みを乗じた値よりも増加していると判定される場合に、前記前記配信データを構成するパケットのビットレートを現在のビットレートよりも低いビットレートに変更するように前記情報配信装置に要求する請求項1又は2に記載の情報処理システムである。
【0009】
請求項4に係る発明は、前記情報処理装置は、前記受信手段により順次受信されるパケットを記憶手段に記憶する手段と、前記記憶手段に記憶されたパケットを再生する再生手段と、前記記憶手段に記憶されたパケットのうち前記再生手段により再生されていないパケットにより再生可能な残り時間である再生可能残時間を算出する算出手段と、前記再生可能残時間と、予め定められた必要時間との差異に基づいて、前記配信データを構成するパケットのビットレートの変更を判定するビットレート変更判定手段と、をさらに含み、前記要求手段は、前記ビットレート変更判定手段による判定結果に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する請求項1乃至3のいずれかに記載の情報処理システムである。
【0010】
請求項5に係る発明は、前記情報処理装置は、前記再生可能残時間と、予め定められた必要時間との差異に基づく差分時間を算出する差分時間算出手段と、前記差分時間と比例係数、予め定められた時間範囲における前記差分時間の変化量と微分係数、予め定められた時間範囲における前記差分時間の累積値と積分定数とに基づいて、評価値を算出する評価値算出手段とをさらに含み、前記ビットレート変更手段は、前記評価値算出手段により算出された評価値と、ビットレートごとに定められた評価値の範囲とに基づいて、ビットレートの変更を判定する請求項4に記載の情報処理システムである。
【0011】
請求項6に係る発明は、配信データを構成する複数のパケットを情報配信装置から順次受信する受信手段と、前記受信手段により順次受信されるパケットごとの送信時から受信時までの時間間隔の変化に基づいて前記情報配信装置との通信に混雑が発生しているか否かを判定する第1判定手段と、前記受信手段により順次受信されるパケットに基づいて算出された、前記情報配信装置から送信されるパケットのうち損失に該当するロスパケットの比率であるパケットロス率が、前記配信データを構成するパケットを受信する前のパケットロス率に予め定められた重みを乗じた値よりも増加しているか否かを判定する第2判定手段と、前記第1判定手段による判定結果と、前記第2判定手段による判定結果に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段と、を含む情報処理装置である。
【0012】
請求項7に係る発明は、配信データを構成する複数のパケットを前記情報配信装置から順次受信する受信手段と、前記受信手段により順次受信されるパケットを記憶手段に記憶する手段と、前記記憶手段に記憶されたパケットを再生する再生手段と、前記記憶手段に記憶されたパケットのうち前記再生手段により再生されていないパケットにより再生可能な残り時間である再生可能残時間を算出する算出手段と、前記再生可能残時間と、予め定められた必要時間との差異に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段と、を含む情報処理装置である。
【0013】
請求項8に係る発明は、配信データを構成する複数のパケットを情報配信装置から順次受信する受信手段と、前記受信手段により順次受信されるパケットごとの送信時から受信時までの時間間隔の変化に基づいて前記情報配信装置との通信に混雑が発生しているか否かを判定する第1判定手段と、前記受信手段により順次受信されるパケットに基づいて算出された、前記情報配信装置から送信されるパケットのうち損失に該当するロスパケットの比率であるパケットロス率が、前記配信データを構成するパケットを受信する前のパケットロス率に予め定められた重みを乗じた値よりも増加しているか否かを判定する第2判定手段と、前記第1判定手段による判定結果と前記第2判定手段による判定結果とに基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段としてコンピュータを機能させるためのプログラムである。
【0014】
請求項9に係る発明は、配信データを構成する複数のパケットを前記情報配信装置から順次受信する受信手段と、前記受信手段により順次受信されるパケットを記憶手段に記憶する手段と、前記記憶手段に記憶されたパケットを再生する再生手段と、前記記憶手段に記憶されたパケットのうち前記再生手段により再生されていないパケットにより再生可能な残り時間である再生可能残時間を算出する算出手段と、前記再生可能残時間と、予め定められた必要時間との差異に基づいて、前記配信データを構成するパケットのビットレートの変更を前記情報配信装置に要求する要求手段としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【0015】
請求項1,6及び8に係る発明によれば、配信データを受信時の通信混雑の発生やパケットロス率の増加に応じてビットレートを変更することができる。
【0016】
請求項2に係る発明によれば、本構成を有さない場合と比較して通信混雑の発生を精度良く判定できる。
【0017】
請求項3に係る発明によれば、配信データを受信時の通信混雑の発生やパケットロス率の増加を抑えることができる。
【0018】
請求項4に係る発明によれば、配信データに関して受信したパケットにより再生可能な残時間に応じてビットレートを変更することができる。
【0019】
請求項5に係る発明によれば、本構成を有さない場合と比較してビットレートを適切な値に変更することができる。
【0020】
請求項7及び9に係る発明によれば、配信データに関して受信したパケットにより再生可能な残時間に応じてビットレートを変更することができる。
【図面の簡単な説明】
【0021】
図1】本実施形態に係る情報処理システムのシステム構成図である。
図2】情報端末と情報配信サーバのハードウェア構成図である。
図3】情報端末の機能ブロック図である。
図4】バッファー制御部の機能ブロック図である。
図5】ビットレート閾値管理テーブルの一例を示す図である。
図6】情報処理システムにおけるシーケンス例を説明する図である。
図7】情報処理システムにおけるシーケンス例を説明する図である。
図8】情報処理システムにおけるシーケンス例を説明する図である。
【発明を実施するための形態】
【0022】
以下、本発明を実施するための実施の形態(以下、実施形態という)を、図面を参照しながら説明する。
【0023】
[1.システム構成の説明]
図1には、本実施形態に係る情報処理システム1のシステム構成図を示した。図1に示されるように、情報処理システム1は、情報端末10と、情報配信サーバ20とを含み、情報端末10と情報配信サーバ20とはそれぞれネットワーク5に接続して相互に通信可能となっている。
【0024】
本実施形態では、情報端末10が情報配信サーバ20からストリーミングデータの配信を受ける場合に、情報配信サーバ20から順次受信したストリーミングデータのパケットに基づいてストリーミングデータのデータ品質を動的に最適化する処理について説明する。
【0025】
[2.ハードウェア構成の説明]
以下、上記の処理を実現するために、情報処理システム1に含まれる情報端末10と情報配信サーバ20に備えられたハードウェア構成の一例について、図2に示されたハードウェア構成図を参照しながら説明する。
【0026】
[2−1.情報端末10のハードウェア構成]
図2に示されるように、情報端末10は、制御部11、記憶部12、通信部13、入力部14、表示部15を備える。
【0027】
制御部11は、CPU(Central Processing Unit)を含み、記憶部12に記憶されたプログラムに基づいて、各種の演算処理を実行するとともに情報端末10の各部を制御する。
【0028】
記憶部12は、情報端末10のオペレーティングシステム等の制御プログラムやデータを記憶するほか、制御部11のワークメモリとしても用いられる。プログラムは、予め記憶部12に書き込んでおくこととしてもよいし、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等の情報記憶媒体に格納された状態で情報端末10に供給されてもよいし、インターネット等のデータ通信網を介して情報端末10に供給されてもよい。
【0029】
通信部13は、例えば無線又は有線の通信インターフェースを含み、通信インターフェースを介してネットワークに接続して、ネットワークに接続された情報配信サーバ20と通信する。
【0030】
入力部14は、タッチパネル、キーボード等の入力装置により実現され、ユーザからの操作入力を受け付ける。
【0031】
表示部15は、液晶ディスプレイ等の表示装置により実現され、制御部11による情報処理の結果(画面)を表示させる。
【0032】
[2−2.情報配信サーバ20のハードウェア構成]
次に、情報配信サーバ20のハードウェア構成例について説明する。図2に示されるように、情報配信サーバ20は、制御部21、記憶部22、通信部23を備える。
【0033】
制御部21は、CPU(Central Processing Unit)を含み、記憶部22に記憶されたプログラムに基づいて、各種の演算処理を実行するとともに情報配信サーバ20の各部を制御する。
【0034】
記憶部22は、情報配信サーバ20のオペレーティングシステム等の制御プログラムやデータを記憶するほか、制御部21のワークメモリとしても用いられる。プログラムは、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等の情報記憶媒体に格納された状態で情報配信サーバ20に供給されてもよいし、インターネット等のデータ通信手段を介して情報配信サーバ20に供給されてもよい。
【0035】
例えば、記憶部22には、複数のデータ品質(例えば高品質の順に、HD,H,MH,MLM,L,UL等)ごとのストリーミングデータ(例えば、動画データ、音声データ等)、イメージデータ(例えば、データサイズがそれぞれ異なる静止画像等)、アプリケーションデータ等を記憶することとしてよい。
【0036】
通信部23は、例えばネットワークインターフェースカード(NIC)を含み、NICを介してネットワーク5に接続して、情報端末10と通信する。
【0037】
[3.情報端末10に備えられる機能の説明]
次に、本実施形態に係る情報端末10が備える機能の詳細について図3及び図4を参照しながら説明する。
【0038】
図3には、情報端末10の機能ブロック図を示した。図3に示されるように、情報端末10は、操作受付部101、データ配信要求部102、パケット受信部103、バッファー部104、混雑発生検知部CR、データ再生部110、再生可能残時間算出部111、バッファー制御部112、配信データ品質更新要求部113を備える。情報端末10に備えられる各部の機能は、図2に示した情報端末10に備えられる制御部11、記憶部12、通信部13、入力部14、表示部15の各部により実現されることとしてよい。
【0039】
操作受付部101は、ユーザからの操作入力を受け付け、受け付けた操作入力に応じた処理を開始させる。例えば、本実施形態では、操作受付部101は、ユーザから、データ配信元、配信データの指定を受け付けることとしてよい。
【0040】
データ配信要求部102は、操作受付部101により受け付けた入力に応じて、データ配信元に対して指定されたデータの配信を要求する。例えば、本実施形態では、データ配信要求部102は、情報配信サーバ20に対して、指定されたデータ(例えば動画データ)のストリーミング配信を要求することとしてよい。
【0041】
パケット受信部103は、データ配信要求部102によるデータ配信要求に応じて、データ配信先から送信されるデータ(パケット)を受信する。例えば、パケット受信部103は、情報配信サーバ20から送信されるストリーミングデータを構成する複数のパケットを順次受信することとしてよい。
【0042】
バッファー部104は、パケット受信部103により順次受信したパケットを順次蓄積する一時記憶部である。
【0043】
混雑発生検知部CRは、バッファー部104に記憶されるパケットの情報に基づいて、情報配信サーバ20と情報端末10間の通信に混雑が発生したか否かを判定し、その判定結果に基づいて通信混雑の発生を検知する。混雑発生検知部CRは、ジッター算出部105、第1判定部106、パケットロス率算出部107、第2判定部108、混雑発生判定部109を含む。以下、ジッター算出部105、第1判定部106、パケットロス率算出部107、第2判定部108、混雑発生判定部109の詳細について説明する。
【0044】
ジッター算出部105は、バッファー部104に蓄積される各パケットについて、前のシーケンス番号のパケットの受信時からの遅れ(ジッター)を算出する。具体的には、ストリーミングデータのシーケンス番号i(iは2以上の整数)のパケットP(シーケンス番号順にパケットが送信されることとする)に関し、ジッター算出部105は、ジッターJを、以下の式(1)により算出する。ここで、RDとは、パケットPの、送信時から受信時までの時間間隔としてよく、RDは、パケットのヘッダーに格納された送信時刻と、パケットの実際の受信時刻により算出されることとしてよい。
=RD−RDi−1 (1)
【0045】
また、ジッター算出部105は、バッファー部104に蓄積される各パケットについて算出されたジッターに基づいて、ジッターの第1指標値JMeanを算出する。例えば、第1指標値は、対象のパケット群(P1〜Pi)において算出されたジッターの平均値に応じた値(又は平均値そのもの)としてもよい。具体的には、ジッター算出部105は、第1指標値を以下の式(2)により算出する。なお、αは、0<α<1を満たす実数としてよい。
Mean=(1−α)JMean+αJ (2)
【0046】
さらに、ジッター算出部105は、バッファー部104に蓄積される各パケットについて算出されたジッターに基づいて、ジッターの第2指標値Jvarを算出する。例えば、第2指標値は、対象のパケット群(Pj(jはiより小さい1以上の整数で例えばj=1)〜Pi)において算出されたジッターの分散値に応じた値(又は分散値そのもの)としてもよい。具体的には、ジッター算出部105は、第2指標値を以下の式(3)により算出する。なお、αは、0<α<1を満たす実数としてよい。
var=(1−2α)Jvar+2α|J−JMean| (3)
【0047】
第1判定部106は、ジッター算出部105で算出されたジッター及びジッターの指標値に基づいて、第1の混雑発生条件を満足しているか否かを判定する。具体的には、第1判定部106は、第1の混雑発生条件を以下の式(4)で表したときに、(4)式が満足されている場合に、第1の混雑発生条件が満足されていると判定し、それ以外の場合に第1の混雑発生条件が満足されていないと判定することとしてよい。なお、K1は予め定められた正の係数としてよい。
|J−JMean|>K1・Jvar (4)
【0048】
パケットロス率算出部107は、バッファー部104に蓄積される各パケットの情報に基づいて、情報配信サーバ20から配信されるデータに関するパケットロス率を算出する。例えば、パケットロス率算出部107は、対象のパケット群(Pj(jはiより小さい1以上の整数で例えばj=1)〜Pi)において、ロストしたパケットの数と、シーケンス番号順に届かなかったパケットの数との合計(L)を計数し、Lを送信パケットの総数(i)で割った値をパケットロス率(Ploss)として算出することとしてよい。また、パケットロス率算出部107は、情報配信サーバ20からデータが配信される前の基礎パケットロス率PRAWについても予め算出しておくこととしてよい。
【0049】
第2判定部108は、パケットロス率算出部107により算出されたパケットロス率と、基礎パケットロス率とに基づいて、第2の混雑発生条件を満足しているか否かを判定する。具体的には、第2判定部108は、第2の混雑発生条件を以下の式(5)で表したときに、(5)式が満足されている場合に、第2の混雑発生条件が満足されていると判定し、それ以外の場合に第2の混雑発生条件が満足されていないと判定することとしてよい。なお、K2は予め定められた正の係数としてよい。
loss>K2・PRAW (5)
【0050】
混雑発生判定部109は、第1判定部106及び第2判定部108の判定結果に基づいて、情報端末10が情報配信サーバ20からデータの配信を受けている間に、通信混雑が発生しているか否かを判定する。具体的には、混雑発生判定部109は、第1判定部106により第1の混雑発生条件が満足されていると判定され、且つ、第2判定部108により第2の混雑発生条件が満足されていると判定される場合に、通信混雑が発生していると判定し、そうでない場合には通信混雑が発生していないと判定することとしてよい。
【0051】
データ再生部110は、バッファー部104に蓄積されたパケットに基づいてデータを再生する。例えば、情報端末10が情報配信サーバ20からマルチメディアデータ(例えばビデオデータ)のストリーミング配信を受けている場合には、バッファー部104に蓄積されたパケットに基づいてマルチメディアデータのストリーミング再生を実行することとしてよい。この際、データ再生部110は、バッファー部104に蓄積された未再生のパケットが予め定められた量ある場合にはデータ再生を実行し、バッファー部104に蓄積された未再生のパケットが予め定められた量ない場合にはデータ再生を待機することとしてよい。
【0052】
再生可能残時間算出部111は、バッファー部104に蓄積されたパケットにより再生可能な残り時間(再生可能残時間)を算出する。例えば、再生可能残時間算出部111は、バッファー部104に蓄積されたパケットのうち、データ再生部110により再生されていないパケットによる再生可能時間を再生可能残時間として算出することとしてよい。具体的には、時刻tにおける再生可能なバッファーの長さPL(t)を、フレームレート(FR(t))により割ることで再生可能残時間(Tc(t)=PL(t)/FR(t))を算出することとしてよい。
【0053】
バッファー制御部112は、再生可能残時間算出部111により算出された再生可能残時間に基づいて配信データの品質を制御する。バッファー制御部112の詳細な構成については、図4を参照しながら説明する。
【0054】
図4に示されるように、バッファー制御部112は、必要時間設定部112A、比較部112B、環境判定部112C、パラメータ選択部112D、PID制御部112E、ビットレート変更判定部112Fを含む。
【0055】
必要時間設定部112Aは、再生可能残時間の必要時間(Tr)を設定する。例えば、必要時間は、初期値として予め定められていることとしてもよいし、ユーザの入力に応じて設定することとしてもよい。
【0056】
比較部112Bは、再生可能残時間算出部111により算出された時刻tにおける再生可能残時間Tc(t)と、必要時間Trとを比較する。例えば、比較部112Bは、以下の式(6)により、再生可能残時間Tc(t)と必要時間Trの差Td(t)を算出することとしてもよいし、式(7)により制御時間Tcontrolを考慮に入れてTd(t)を算出することとしてもよい。なお、制御時間Tcontrolは、式(8)により算出されることとしてよく、RTTはラウンドトリップタイム、Tencはパケットの符号化に要する時間、Tdecは復号化に要する時間を示している。
Td(t)=Tc(t)−Tr (6)
Td(t)=Tc(t)−Tr−Tcontrol (7)
control=RTT/(1−Ploss)+Tenc+Tdec (8)
【0057】
環境判定部112Cは、情報端末10の通信環境を判定する。例えば、環境判定部112Cは、情報端末10が無線通信する場合においては、無線通信先との通信状況に応じて、通信アンテナが変わりやすい(例えば高速での移動中)状況(プロファイル1)、通信が安定している状況(プロファイル2)、通信状態が変わりやすい状況(プロファイル3)のいずれにあるかを判定することとしてよい。
【0058】
パラメータ選択部112Dは、環境判定部112Cにより判定されたプロファイルに応じたパラメータを選択する。例えば、情報端末10は、通信状況のプロファイル(プロファイル1〜N(Nは2以上の整数))ごとに、Kp,Ki,Kdのパラメータセットを保持し、環境判定部112Cにより判定されたプロファイルに基づいて、対応するKp,Ki,Kdのパラメータセットを選択することとしてよい。
【0059】
PID制御部112Eは、パラメータ選択部112Dで選択されたKp,Ki,Kdのパラメータセットと、比較部112Bから出力されたデータ(Td(t))に基づいて、PID制御を実行する。具体的には、PID制御部112Eは、Kp,Ki,Kdのパラメータセットと、時刻tにおける再生可能残時間Tc(t)と、必要時間Trとを比較結果であるTd(t)と、時刻tからM(Mは0より大きい実数)秒以内のTd(t)に関する積分値と、時刻tからM秒以内のTd(t)に関する微分値とに基づき、以下の式(9)によりPID評価値V(t)を算出する。
【0060】
【数1】
【0061】
ビットレート変更判定部112Fは、PID制御部112Eにより算出されたPID評価値V(t)に基づいて、ビットレートの変更の要否を判定する。例えば、ビットレート変更判定部112Fは、PID制御部112Eにより算出されたPID評価値V(t)と、現在のビットレートに応じて選択した1以上のビットレートごとの閾値との比較結果に基づいて、ビットレートの変更の要否を判定する。ビットレート変更判定部112Fによるビットレート変更判定処理の具体例を、図5に示したビットレート閾値管理テーブルを参照しながら説明する。
【0062】
図5に示したビットレート閾値管理テーブルには、現在のビットレートごとに、他の1以上のビットレートについての閾値が格納されている。そして、他のビットレート(変更先のビットレート)はそれぞれ、現在のビットレートと、PID評価値の範囲により特定される。例えば、ビットレート変更判定部112Fは、現在のビットレートが800Kbpsであれば、PID評価値が3.5未満であればビットレートを変更せず、PID評価値が3.5以上8.7未満であればビットレートを1200Kbpsに変更し、PID評価値が8.7以上であればビットレートを2000Kbpsに変更することとする。また、ビットレート変更判定部112Fは、現在のビットレートが1200Kbpsであれば、PID評価値が−2.2未満であればビットレートを800Kbpsに変更し、PID評価値が−2.2以上5.6未満であればビットレートを変更せず、PID評価値が5.6以上であればビットレートを2000Kbpsに変更することとする。
【0063】
配信データ品質更新要求部113は、混雑発生判定部109とビットレート変更判定部112Fの判定結果に基づいて、情報配信サーバ20に対して、配信しているデータの品質を更新するように要求する。例えば、配信データ品質更新要求部113は、混雑発生判定部109により通信混雑が発生したと判定された場合には、配信データの品質を、現在のビットレートよりも下げるように情報配信サーバ20に要求することとしてよい。また、配信データ品質更新要求部113は、ビットレート変更判定部112Fによりビットレートを変更すると判定された場合には、配信データの品質を、ビットレート変更判定部112Fにより判定された変更先のビットレートに変更するように情報配信サーバ20に要求することとしてよい。
【0064】
[4.シーケンスの説明]
次に、情報処理システム1において実行される処理の詳細を、図6図8に示したシーケンス図及びフロー図を参照しながら説明する。
【0065】
図6に示されるように、情報端末10は、ユーザからストリーミングデータ(配信データ)の配信要求を受け付けると(S101)、ストリーミングデータの配信元である情報配信サーバ20に対して、ストリーミングデータの配信を要求する(S102)。
【0066】
情報配信サーバ20は、情報端末10から配信要求を受け付けると、配信要求に係るストリーミングデータに関し、パケットシーケンス番号iを1に、再生時間tを0に、データ品質Qを初期値に設定して初期化する(S103)。
【0067】
次に、情報配信サーバ20は、配信するストリーミングデータに関し、再生時間tと、データ品質Qに基づくデータ部分を符号化した(UDP)パケットPiを取得して(S104)、パケットPiを情報端末10に送信する(S105)。なお、情報配信サーバ20は、ストリーミングデータにおける再生時間tの動画データを、データ品質Qで符号化してパケットPiを生成することとしてよい。また、情報配信サーバ20は、パケットPiには送信時間、データ品質(ビットレート)の情報を含めて送信することとしてよい。
【0068】
情報配信サーバ20は、送信したパケットPiに基づいて再生時間tを更新し(S106)、再生時間tがストリーミングデータの再生終了時間Tに達していない場合には(S107:N)、iをインクリメント(1加算)して(S108)、S104に戻りそれ以降の処理を繰り返し、再生時間tがストリーミングデータの再生終了時間Tに達している場合には(S108:Y)、処理を終了する。
【0069】
また、情報端末10は、情報配信サーバ20から送信されたパケットPiを受信して、受信したパケットPiをバッファーに記憶する(S109)。
【0070】
情報端末10は、バッファーに記憶されたパケットに基づいてストリーミングデータの再生が可能でない場合には(S110:N)、待機し、バッファーに記憶されたパケットに基づいてストリーミングデータの再生が可能である場合には(S110:Y)、ストリーミングデータの再生を実行し(S111)、再生を終了しない場合には(S112:N)、S109に戻って、それ以降の処理を繰り返し実行する。
【0071】
また、情報端末10は、バッファーに記憶したパケットに基づくデータの再生と並行して、バッファーに記憶したパケットの情報に基づいて、ストリーミングデータの品質の更新判定と、更新判定の結果に基づく更新要求処理を実行する。このストリーミングデータの更新判定処理と、更新要求処理の詳細については図7及び図8に示したシーケンス図を参照しながら説明する。まず、図7に示した通信混雑の判定に基づくデータ品質更新処理の例について説明する。
【0072】
図7に示されるように、情報端末10は、図6のS109でバッファーにパケットPiが記憶されると、iが2以上でない場合には(S201:N)、図6のS109の前に戻り、iが2以上である場合には(S201:Y)、パケットPiとパケットPi−1に基づいて、ジッターJiを計算するとともに(S202)、ジッターJ(JMean)とJ(JVar)を計算する(S203)。ジッターJi,ジッターJ(JMean)、J(JVar)の計算は、上述したジッター算出部105により行うこととしてよい。
【0073】
次に、情報端末10は、算出されたジッターJi,ジッターJ(JMean)、J(JVar)に基づき、|J−J|>K1・Jが満たされていない場合には(S204:N)、図6のS109の前に戻り、|J−J|>K1・Jが満たされている場合には(S204:Y)、S207に進む。
【0074】
また、情報端末10は、図6のS109でバッファーにパケットPiが記憶されると、P1〜Piまでのロスパケット数を計数し(S205)、計数されたロスパケット数に基づいてパケットロス率PLを算出する(S206)。このパケットロス率P(PLoss)は、上述したパケットロス率算出部107により算出されることとしてよい。
【0075】
そして、情報端末10は、S207において、S206で算出されたパケットロス率Pが、P>K2・PRAWを満たさない場合には(S207:N)、図6のS109の前に戻り、P>K2・PRAWを満たす場合には(S207:Y)、情報端末10と情報配信サーバ20間に通信混雑が発生したことを検知して(S208)、情報配信サーバ20に対してビットレートを低減させるように要求する(S209)。
【0076】
情報配信サーバ20は、情報端末10からビットレートの低減要求を受けると、配信中のストリーミングデータのデータ品質Qを現在のデータ品質よりも低くなるように更新して(S210)、図6のS104に戻り、それ以降の処理を実行する。
【0077】
以上が通信混雑の判定に基づくデータ品質更新処理の例である。次に、再生可能残時間に基づくデータ品質更新処理の例について、図8を参照しながら説明する。
【0078】
図8に示されるように、情報端末10は、図6のS109でバッファーにパケットPiが記憶されると、バッファーに記憶されたパケットの情報に基づいて、再生可能残時間Tc(t)を算出し(S301)、予め設定された再生可能残時間の必要時間Trと、再生可能残時間Tc(t)の差異に基づくTd(t)を算出する(S302)。この再生可能残時間Tc(t)及びTd(t)の算出は、上述した再生可能残時間算出部111及び比較部112Bにより行うこととしてよい。
【0079】
次に、情報端末10は、情報端末10の通信状況に応じたPIDパラメータKp,Ki,Kdを取得し(S303)、KpとTd(t)に基づいて第1の評価値S1を算出し(S304)、KiとTd(t)に基づいて第2の評価値S2を算出し(S305)、KdとTd(t)に基づいて第3の評価値S3を算出し(S306)、PID評価値V(t)をV(t)=S1+S2+S3として算出する(S307)。なお、PID評価値V(t)は、上述したPID制御部112Eにより算出されることとしてよい。
【0080】
情報端末10は、PID評価値V(t)と、現在のビットレートに基づく、他のビットレートの閾値Cthとを比較し(S308)、その比較結果に基づいてビットレートを変更するか否かを判定する(S309)。ビットレート変更の判定処理は、ビットレート変更判定部112Fにより行うこととしてよい。そして、情報端末10は、ビットレートを変更しない場合には(S309:N)、図6のS109の前に戻り、ビットレートを変更する場合には(S309:Y)、ビットレートの更新を情報配信サーバ20に要求する(S310)。
【0081】
情報配信サーバ20は、情報端末10からビットレートの更新要求を受けると、受け付けた更新要求に応じて、配信中のストリーミングデータのデータ品質Qを更新して(S311)、図6のS104に戻り、それ以降の処理を実行する。
【0082】
以上が再生可能残時間に基づくデータ品質更新処理の例である。そして、以上説明したシーケンスにより、情報処理システム1では、データ配信中に通信の混雑状態や再生可能残時間の状態に基づいてデータ品質を動的に更新して、データ再生が途切れないようにすることができる。
【0083】
また、本発明は上記の実施形態に限定されるものではない。例えば、上記の実施形態において、情報端末10が情報配信サーバ20からストリーミングデータの配信を受ける前に、情報配信サーバ20からテストパケットを受信して、受信したテストパケットに基づいてデータ品質の初期値を設定することとしてもよい。
【符号の説明】
【0084】
1 情報処理システム、5 ネットワーク、10 情報端末、11 制御部、12 記憶部、13 通信部、14 入力部、15 表示部、101 操作受付部、102 データ配信要求部、103 パケット受信部、104 バッファー部、CR 混雑発生検知部、105 ジッター算出部、106 第1判定部、107 パケットロス率算出部、108 第2判定部、109 混雑発生判定部、110 データ再生部、111 再生可能残時間算出部、112 バッファー制御部、112A 必要時間設定部、112B 比較部、112C 環境判定部、112D パラメータ選択部、112E PID制御部、112F ビットレート変更判定部、113 配信データ品質更新要求部。
図1
図2
図3
図4
図5
図6
図7
図8