(57)【要約】【課題】ストリーム配信において、ネットワークの利用可能帯域を高精度に推定する。【解決手段】ストリームデータ及び推定用パケット列を受信するストリームパケット受信手段、及び受信した推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段を含むストリーム受信装置へ、ストリームデータを送信するストリームパケット送信手段と、ストリームデータの一部を推定用パケット列として送信するための送信方法を決定する送信方法決定手段とを備える。【選択図】      図１
2017139521.tif 000002
【特許請求の範囲】
【請求項１】
ストリームデータ及び推定用パケット列を受信するストリームパケット受信手段、及び
受信した前記推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段
を含むストリーム受信装置へ、前記ストリームデータを送信するストリームパケット送信手段と、
前記ストリームデータの一部を前記推定用パケット列として送信するための送信方法を決定する送信方法決定手段と
を備えたことを特徴とするストリーム配信装置。
【請求項２】
前記推定用パケット列に含まれる各パケットの、サイズ及び送信時刻を、与えられた制約条件を満たすように決定するパケット仕様決定手段
を備えたことを特徴とする請求項１に記載のストリーム配信装置。
【請求項３】
前記パケット仕様決定手段は、前記サイズ及び前記送信時刻を、前記制約条件を満たした上で、前記推定の精度と正の相関を有する第１の目的関数を最大化するか、又は前記精度と負の相関を有する第２の目的関数を最小化するように決定する
ことを特徴とする請求項２に記載のストリーム配信装置。
【請求項４】
前記パケット仕様決定手段は、前記ストリームデータのサイズを含む入力パラメータから、前記推定用パケット列の、最初に出現するパケットのサイズ、隣接して出現する２つのパケット間のサイズの増分、パケット数、及びパケットの送信周期を含む出力パラメータを決定する
ことを特徴とする請求項２又は請求項３に記載のストリーム配信装置。
【請求項５】
前記ストリームデータのサイズが所定の閾値未満の場合に前記ストリームデータを前記推定用パケット列として送信することを決定し、前記ストリームデータのサイズが前記閾値以上の場合に前記ストリームデータを通常のパケット列として送信することを決定する送信方法決定手段
を備えたことを特徴とする請求項１乃至４のいずれか１項に記載のストリーム配信装置。
【請求項６】
前記ストリーム受信装置は、前記利用可能帯域の推定結果をフィードバックするフィードバック送信手段と、フィードバックされた前記推定結果に基づいて前記閾値を変更するパラメータ設定手段とを備えた
ことを特徴とする請求項５に記載のストリーム配信装置。
【請求項７】
ストリームデータを送信するストリームパケット送信手段、及び
前記ストリームデータの一部を推定用パケット列として送信するための送信方法を決定する送信方法決定手段
を含むストリーム配信装置から、前記ストリームデータ及び前記推定用パケット列を受信するストリームパケット受信手段と、
受信した前記推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段と
を備えたことを特徴とするストリーム受信装置。
【請求項８】
ストリームデータ及び推定用パケット列を受信するストリームパケット受信手段、及び
受信した前記推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段
を含むストリーム受信装置と、
前記ストリームデータを送信するストリームパケット送信手段、及び
前記ストリームデータの一部を前記推定用パケット列として送信するための送信方法を決定する送信方法決定手段
を含むストリーム配信装置と
を備えたことを特徴とするストリーム配信システム。
【請求項９】
ストリームデータの一部を推定用パケット列として送信するための送信方法を決定し
前記ストリームデータを送信し、
前記ストリームデータ及び前記推定用パケット列を受信し、
受信した前記推定用パケット列に基づいてネットワークの利用可能帯域を推定する
ことを特徴とするストリーム配信方法。
【請求項１０】
ストリームデータ及び推定用パケット列を受信するストリームパケット受信手段、及び
受信した前記推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段
を含むストリーム受信装置へ、前記ストリームデータを送信するストリームパケット送信処理と、
前記ストリームデータの一部を前記推定用パケット列として送信するための送信方法を決定する送信方法決定処理と
をコンピュータに実行させることを特徴とするストリーム配信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像や音声等のストリームデータを配信する、ストリーム配信装置、ストリーム受信装置、ストリーム配信システム、ストリーム配信方法、及びストリーム配信プログラムに関し、特に、品質の保証されていないベストエフォートネットワークにおける、ストリーム配信装置、ストリーム受信装置、ストリーム配信システム、ストリーム配信方法、及びストリーム配信プログラムに関する。
【背景技術】
【０００２】
インターネットやモバイルネットワークなどのベストエフォートネットワークでは、混雑状態や無線通信品質によって、ネットワークの利用可能帯域が大きく変動する。以下、「ネットワークの利用可能帯域」を単に「利用可能帯域」と呼ぶ。このような環境で、映像等のストリームデータを配信する際の品質を向上させるためには、利用可能帯域の変動に応じてストリームデータのビットレート（単位時間あたりのデータ量）を制御することが必要である。
【０００３】
映像配信の一形態であるテレビ電話におけるユーザ体感品質指標の推定方法が、非特許文献１に開示されている。非特許文献１によれば、テレビ電話のユーザ体感品質は、ビットレート、遅延、パケットロス率によって変動する。ユーザ体感品質は、ビットレートが高いほど良く、また遅延とパケットロス率が低いほど良い。パケット通信網では、ネットワーク内の機器はキューを持っている。そのため、送信すべきストリームデータのビットレートが利用可能帯域を上回ると、ストリームデータは一時的にキューに格納され、ストリームデータの遅延が増加する。この遅延増加は、ユーザ体感品質の低下要因である。また、キュー長は有限であるため、ストリームデータのビットレートが利用可能帯域を大幅に上回ると、キューが溢れてパケットロスが発生する。パケットロスも、ユーザ体感品質の低下要因である。そこで、ユーザ体感品質を最大化するためには、ストリームデータが利用可能帯域と同一のビットレートで配信されることが望ましい。
【０００４】
利用可能帯域を計測するための一般的な方法として、所定のデータサイズのデータを一度に送信し、データサイズを受信にかかった時間で除算することによりスループットを算出する方法がある。以下、この方法を「スループット計測法」と呼ぶ。例えば、データが映像ストリームの場合には、映像フレーム（映像の１コマ）ごとに上記計算を行うことが可能である。スループット計測法では、「受信にかかった時間」が十分長ければ、正確な利用可能帯域を計測することが可能である。しかしながら、受信にかかった時間が短い場合には、スループット計測法における計測誤差は大きいか、又はスループット計測法が有効でないほど計測誤差は大きい。
【０００５】
一般的に、通信装置はパケット受信完了時に上位レイヤに対してパケットの受信完了を通知する。そのため、送信すべきデータのデータサイズが小さく、データが１パケットに収まる場合には、データの受信完了の通知は１度しか発生しない。データの受信完了の通知が１度しか発生しない場合には、上位レイヤは、データの「受信にかかった時間」を算出できない。従って、上位レイヤは、データのスループットを算出できない。また、データが複数パケットにまたがる場合であっても、「受信にかかった時間」が短いと、ＯＳ（Operating System）の割り込みタイミングの変動等の影響を受けて、データのスループットの計測誤差は大きくなることがある。つまり、スループット計測法には、データのデータサイズが小さい場合に、利用可能帯域を測定できないか、又は利用可能帯域の計測誤差が大きいという問題がある。
【０００６】
そこで、比較的パケットサイズが小さい複数のパケットを含む、利用可能帯域の計測用のパケット列を送信し、パケット列に含まれる各パケットの受信における遅延変動等に基づいて、利用可能帯域を推定する技術が開示されている。以下、利用可能帯域の計測用のパケット列を「パケットトレイン」と呼ぶ。また、利用可能帯域の計測用のパケットトレインを構成する各パケットを「計測用パケット」と呼ぶ。また、計測用パケットに含まれるデータ（ペイロード）を「計測用データ」と呼ぶ。なお、パケットトレインはパケットサイズやパケットの送信間隔に特徴がある一連の計測用パケットを含み、パケットトレインにはいくつかの種類が存在する。以下、パケットサイズやパケットの送信間隔に特徴があるパケットトレインの送信方法を「パケットトレイン送信法」と呼ぶ。また、パケットトレインを用いた利用可能帯域の計測方法を「パケットトレイン計測法」と呼ぶ。パケットトレイン計測法では、比較的少量の計測用データを用いて、ネットワークの利用可能帯域を高精度に計測することができる。
【０００７】
特許文献１のパケットトレイン計測法では、送信側は、パケットサイズが時間の経過とともに線形増加するパケットトレインに含まれる各パケットを一定の時間間隔で送信する。すなわち、特許文献１のパケットトレイン計測法では、パケットトレインのビットレートが、時間の経過とともに増加する。パケットトレインのビットレートが、利用可能帯域を上回ると、受信されたパケットの遅延が増加する。そこで、受信側は、遅延が増加し始めるパケットサイズにおけるビットレートを利用可能帯域の推定値とする。上記の動作の結果、特許文献１のパケットトレイン計測法では、比較的データサイズが小さい計測用データを用いて、利用可能帯域が推定される。
【０００８】
非特許文献２のパケットトレイン計測法では、送信側は、一定のビットレートのパケットトレインを複数送信する。受信側は、各パケットトレインを構成するパケットの遅延時間を観測し、遅延時間に増加傾向がある場合にはビットレートが利用可能帯域よりも大きく、遅延時間に増加傾向がない場合にはビットレートが利用可能帯域以下であると判定する。送信側はビットレートを変化させながらパケットトレインを送信し、受信側は遅延時間が増加傾向を示さない最大のビットレートを利用可能帯域の推定値とする。上記の動作の結果、非特許文献２のパケットトレイン計測法では、比較的データサイズが小さい計測用データを用いて、利用可能帯域が推定される。
【０００９】
非特許文献３のパケットトレイン計測法では、送信側は、一定サイズのパケットを送信間隔を徐々に狭めながら送信する。特許文献３のパケットトレイン計測法では、特許文献1のパケットトレイン計測法と同様に、パケットトレインを送信するために必要なビットレートが時間の経過とともに増加する。受信側は、受信間隔が送信間隔より大きくなる直前のパケットの送信間隔とサイズに基づいて、利用可能帯域を推定する。上記の動作の結果、非特許文献３のパケットトレイン計測法では、比較的データサイズが小さい計測用データを用いて、利用可能帯域が推定される。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１１−１４２６２２号公報
【非特許文献】
【００１１】
【非特許文献１】ITU-T Recommendation G.1070, "Multimedia Quality of Service and performance - Generic and user-related aspects".
【非特許文献２】M. Jain and C. Dovrolis, "Pathload: A Measurement Tool for End-to-end Available Bandwidth," In Proceedings of the 3rd Passive and Active Measurements Workshop, March 2002, Fort Collins CO.
【非特許文献３】V. Ribeiro, R. Riedi, R. Baraniuk, J. Navratil, and L. Cottrell, "pathChirp: Efficient Available Bandwidth Estimation for Network Paths," In Proceedings of the 4th Passive and Active Measurements Workshop, April 2003, La Jolla, CA.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１、非特許文献２、及び非特許文献３のパケットトレイン計測法では、比較的データサイズが小さい計測用データを用いて、利用可能帯域を比較的高い精度で推定することが可能である。しかしながら、上述のパケットトレイン計測法がストリームデータの送信中に利用されると、利用可能帯域の推定誤差が大きくなるという問題がある。例えば、ストリームデータでは、一般に、音声の場合には２０ミリ秒ごと、映像の場合には映像フレームごとに、ストリームデータが一度に送信される。そのため、上述のパケットトレイン計測法がストリーム配信と同時に使用された場合には、パケットトレインの遅延はストリームデータの影響を受けて変化する。その結果、ストリームデータ及びパケットトレインの受信タイミングに依存して、利用可能帯域の推定値が変化する。従って特許文献１、非特許文献２、及び非特許文献３のパケットトレイン計測法には、ストリーム配信システムにおいて、利用可能帯域の推定精度が低いという問題がある。
（発明の目的）
本発明の主たる目的は、ストリーム配信において、ネットワークの利用可能帯域を高精度に推定することができる、ストリーム配信装置、ストリーム受信装置、ストリーム配信システム、ストリーム配信方法、及びストリーム配信プログラムを提供することである。
【課題を解決するための手段】
【００１３】
本発明のストリーム配信装置は、ストリームデータ及び推定用パケット列を受信するストリームパケット受信手段、及び受信した推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段を含むストリーム受信装置へ、ストリームデータを送信するストリームパケット送信手段と、ストリームデータの一部を推定用パケット列として送信するための送信方法を決定する送信方法決定手段とを備えたことを特徴とする。
【００１４】
本発明のストリーム受信装置は、ストリームデータを送信するストリームパケット送信手段、及びストリームデータの一部を推定用パケット列として送信するための送信方法を決定する送信方法決定手段を含むストリーム配信装置から、ストリームデータ及び推定用パケット列を受信するストリームパケット受信手段と、受信した推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段とを備えたことを特徴とする。
【００１５】
本発明のストリーム配信システムは、受信した推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段を含むストリーム受信装置と、ストリームデータを送信するストリームパケット送信手段、及びストリームデータの一部を推定用パケット列として送信するための送信方法を決定する送信方法決定手段を含むストリーム配信装置を備えたことを特徴とする。
【００１６】
本発明のストリーム配信方法は、ストリームデータの一部を推定用パケット列として送信するための送信方法を決定しストリームデータを送信し、ストリームデータ及び推定用パケット列を受信し、受信した推定用パケット列に基づいてネットワークの利用可能帯域を推定することを特徴とする。
【００１７】
本発明のストリーム配信プログラムは、ストリームデータ及び推定用パケット列を受信するストリームパケット受信手段、及び受信した推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段を含むストリーム受信装置へ、ストリームデータを送信するストリームパケット送信処理と、ストリームデータの一部を推定用パケット列として送信するための送信方法を決定する送信方法決定処理とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、ストリーム配信において、ネットワークの利用可能帯域を高精度に推定することができるという効果がある。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態のストリーム配信システムの構成の一例を示すブロック図である。
【図２】本発明の第１の実施形態のストリーム配信装置の構成の一例を示すブロック図である。
【図３】本発明の第１の実施形態のストリーム受信装置の構成の一例を示すブロック図である。
【図４】本発明の第１の実施形態のストリーム配信装置の動作を示すフローチャートである。
【図５】本発明の第１の実施形態の送信方法決定手段の詳細な動作を示すフローチャートである。
【図６】本発明の第１の実施形態のパケット生成手段により生成されるパケットの一例を示す図である。
【図７】本発明の第１の実施形態のストリーム受信装置の動作を示すフローチャートである。
【図８】本発明の第２の実施形態のストリーム配信装置の構成の一例を示すブロック図である。
【図９】本発明の第２の実施形態のストリーム受信装置の構成の一例を示すブロック図である。
【図１０】本発明の第２の実施形態のストリーム配信装置のフィードバック受信時の動作を示すフローチャートである。
【図１１】本発明の第２の実施形態のストリーム受信装置の動作を示すフローチャートである。
【図１２】本発明の第３の実施形態のストリーム配信システムの構成の一例を示すブロック図である。
【図１３】本発明の第３の実施形態のストリーム配信装置の構成の一例を示すブロック図である。
【図１４】本発明の第３の実施形態のストリーム受信装置の構成の一例を示すブロック図である。
【図１５】本発明の第３の実施形態のストリーム配信装置の動作を示すフローチャートである。
【図１６】本発明の第３の実施形態のストリーム受信装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について図面を参照して詳細に説明する。なお、すべての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。
（第１の実施形態）
本実施形態における構成について説明する。
【００２１】
図１は、本発明の第１の実施形態のストリーム配信システムの構成の一例を示すブロック図である。なお、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００２２】
本実施形態のストリーム配信システム４００は、ストリームデータを配信するストリーム配信装置１００と、ストリームデータを受信するストリーム受信装置２００と、ネットワーク３００とを含む。ストリーム配信装置１００とストリーム受信装置２００とは、ネットワーク３００を介して接続される。なお、ストリーム配信システム４００では、１台のストリーム配信装置１００に対して、複数台のストリーム受信装置２００が接続されてもよい。また、ストリーム配信システム４００は、ストリーム受信装置２００からストリーム配信装置１００へもストリームデータを配信する双方向の構成であってもよい。ネットワーク３００は、インターネット、モバイルネットワーク、組織内ネットワーク（イントラネット）、家庭内ＬＡＮ（Local Area Network）や、これらを組み合わせたネットワークなどである。
【００２３】
ストリーム配信装置１００の構成について説明する。
【００２４】
図２は、本発明の第１の実施形態のストリーム配信装置１００の構成の一例を示すブロック図である。なお、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００２５】
ストリーム配信装置１００は、パラメータ設定手段１１０と、ストリームデータ入力手段１２０と、送信方法決定手段１３０と、パケット仕様決定手段１４０と、パケット生成手段１５０と、ストリームパケット送信手段１６０とを含む。
【００２６】
パラメータ設定手段１１０は、送信方法決定手段１３０及びパケット仕様決定手段１４０における、それぞれの決定に使用されるパラメータのユーザ等による設定を受け付ける。パラメータの種別及び使用方法については後述する。
【００２７】
ストリームデータ入力手段１２０は、送信対象のストリームデータを入力する。ストリームデータは、１つの映像フレームの画像データ、一定時間分の音声データ、又は一定時間分のセンサ情報等の情報を含む。ストリームデータ入力手段１２０は、これらの情報を、カメラ、マイク、又はセンサ（いずれも図示せず）等から入力する。また、ストリームデータは、符号化（圧縮）されていてもよい。その場合には、ストリームデータ入力手段１２０は、エンコーダ（図示せず）から符号化済みのストリームデータを入力する。
【００２８】
送信方法決定手段１３０は、ストリームデータ入力手段１２０からストリームデータのデータサイズを、パラメータ設定手段１１０から決定のためのパラメータを受け取り、これらの情報からストリームデータの送信方法を決定する。ここで、送信方法は、パケットトレイン送信法と、スループット計測法向けの通常のパケット列による送信方法（以下、「通常のパケット送信法」という）とを含む。通常のパケット送信法では、ストリームデータは、ネットワークのＭＴＵ（Maximum Transfer Unit）以下のサイズのパケットに分割されて、間隔を空けずに送信される。
【００２９】
パケット仕様決定手段１４０は、送信方法決定手段１３０による送信方法の決定に基づいて、ストリームデータを送信する際の各パケットのパケットサイズ及び送信時刻を決定する。
【００３０】
パケット生成手段１５０は、ストリームデータ入力手段１２０からストリームデータを受け取り、パケット仕様決定手段１４０により決定されたパケットサイズになるようにストリームデータを分割し、ヘッダを付加してパケットを生成する。
【００３１】
ストリームパケット送信手段１６０は、パケット生成手段１５０からパケットを受け取り、指定された時刻にパケットをストリーム受信装置２００へ送信する。
【００３２】
ストリーム受信装置２００の構成について説明する。
【００３３】
図３は、本発明の第１の実施形態のストリーム受信装置２００の構成の一例を示すブロック図である。なお、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００３４】
ストリーム受信装置２００は、ストリームパケット受信手段２１０と、ストリームデータ処理手段２２０と、利用可能帯域推定手段２３０とを含む。
【００３５】
ストリームパケット受信手段２１０は、ストリーム配信装置１００により送信されたパケットを受信し、ストリームデータ処理手段２２０及び利用可能帯域推定手段２３０へ受信したパケットの情報を通知する。
【００３６】
ストリームデータ処理手段２２０は、ストリームパケット受信手段２１０により受信されたパケットに含まれるストリームデータを処理する。例えば、ストリームデータが映像フレームを含む場合には、ストリームデータ処理手段２２０は、ストリームデータを表示装置（図示せず）に出力する。また、例えば、ストリームデータが音声フレームを含む場合には、ストリームデータ処理手段２２０は、ストリームデータをスピーカー（図示せず）に出力する。また、ストリームデータ処理手段２２０は、ストリームデータを記憶装置（図示せず）に出力してもよい。また、ストリームデータが符号化されていた場合には、ストリームデータ処理手段２２０は、ストリームデータを復号化装置（図示せず）に出力してもよい。
【００３７】
利用可能帯域推定手段２３０は、ストリームパケット受信手段２１０から通知された、ストリームデータを含むパケットのパケットサイズ及び受信時刻に基づいて、ネットワーク３００における利用可能帯域を推定する。
【００３８】
次に、本実施形態における動作について説明する。
【００３９】
ストリーム配信装置１００の動作について説明する。
【００４０】
図４は、本発明の第１の実施形態のストリーム配信装置１００の動作を示すフローチャートである。なお、図４に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【００４１】
まず、送信方法決定手段１３０及びパケット仕様決定手段１４０は、パラメータ設定手段１１０からパラメータの設定を受け取る（ステップＳ４０１）。
【００４２】
次に、ストリームデータ入力手段１２０は、ストリームデータを入力する（ステップＳ４０２）。
【００４３】
続いて、送信方法決定手段１３０は、ストリームデータ入力手段１２０から受け取ったストリームデータのデータサイズ、及びパラメータ設定手段１１０から受け取ったパラメータの設定に基づいて、入力されたストリームデータの送信方法を決定する（ステップＳ４０３）。ここで、送信方法は、通常のパケット送信法、又はパケットトレイン送信法のどちらか一方である。
【００４４】
続いて、パケット仕様決定手段１４０は、送信方法決定手段１３０により決定された送信方法に基づいて、データリンクフレームの送信におけるパケットの仕様（パケットサイズ及び送信時刻）を決定する（ステップＳ４０４）。
【００４５】
続いて、パケット生成手段１５０は、パケット仕様決定手段１４０により決定されたパケットの仕様に基づいて、ストリームデータを分割し、パケットを生成する（ステップＳ４０５）。
【００４６】
続いて、ストリームパケット送信手段１６０は、パケット生成手段１５０により生成されたパケットをストリーム受信装置２００へ送信する（ステップＳ４０６）。
【００４７】
続いて、ストリームデータ入力手段１２０は、ストリームデータの入力の有無を判定する（ステップＳ４０７）。ストリームデータ入力手段１２０は、ストリームデータが入力されている間（ステップＳ４０７：Ｙｅｓ）、ステップＳ４０２からステップＳ４０６までの処理を繰り返す。ストリームデータ入力手段１２０は、ストリームデータの入力が終了すると（ステップＳ４０７：Ｎｏ）、処理を終了する。
【００４８】
送信方法決定手段１３０の詳細な動作について説明する。
【００４９】
図５は、本発明の第１の実施形態の送信方法決定手段１３０の詳細な動作を示すフローチャートである。なお、図５に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【００５０】
送信方法決定手段１３０は、入力されたストリームデータのデータサイズが所定の閾値以上（ステップＳ４０３１：Ｙｅｓ）ならば、通常のパケット送信法を用いることを決定する（ステップＳ４０３２）。送信方法決定手段１３０は、データサイズが所定の閾値未満（ステップＳ４０３１：Ｎｏ）ならば、パケットトレイン送信法を用いることを決定する（ステップＳ４０３３）。
【００５１】
なお、ステップＳ４０３１における閾値は、例えば、ストリームデータのデータサイズとＭＴＵとの関係から決定される。前述のように、ストリームデータのデータサイズがＭＴＵ以下の場合には、ストリームデータは１パケットで送信されるため、受信にかかった時間を取得することはできない。そこで、ステップＳ４０３１における閾値は、ＭＴＵ＋１に設定されてもよい。ただし、パケット数が少ないと利用可能帯域の計測誤差が大きくなるため、ステップＳ４０３１における閾値はＭＴＵ×ａ＋１（ａは自然数）に設定されてもよい。
【００５２】
パケット仕様決定手段１４０の詳細な動作について説明する。
【００５３】
通常のパケット送信法が選択された場合には、パケット仕様決定手段１４０は、パケットサイズにＭＴＵを設定し、送信時刻にはすべてのパケットを即座に送信するようにパケットの仕様を決定する。
【００５４】
例えば、データリンクレイヤにＥｔｈｅｒｎｅｔ（登録商標）、ネットワークレイヤにＩＰｖ４（Internet Protocol version 4）、トランスポートレイヤにＵＤＰ（User Datagram Protocol）、アプリケーションレイヤにＲＴＰ（Real-time Transport Protocol）の各プロトコルが使用される場合について説明する。ＥｔｈｅｒｎｅｔのＭＴＵは１５００バイトであり、ＩＰｖ４、ＵＤＰ、ＲＴＰのヘッダサイズ（オプションを含まず）はそれぞれ２０、８、１２バイトである。そこで、パケット仕様決定手段１４０は、ストリームデータを１４６０バイト（＝１５００−（２０＋８＋１２））ごとに分割して１５００バイトのＲＴＰパケットを生成するようにパケットサイズを決定する。なお、パケット仕様決定手段１４０は、特定の一連のストリームデータの異なる部分を含むＲＴＰパケットを識別できるようにしておく。パケット仕様決定手段１４０は、例えば、特定の一連のストリームデータの異なる部分を含むＲＴＰパケットのタイムスタンプフィールド（以下、単に「タイムスタンプ」という）に同一の値を設定させる。あるいは、パケット仕様決定手段１４０は、例えば、特定の一連のストリームデータの異なる部分を含む最後のＲＴＰパケットのＲＴＰヘッダのＭａｒｋｅｒビットをＯＮに設定させる。例えば、これらの方法により、特定の一連のストリームデータの異なる部分を含むＲＴＰパケットが、１つのパケットトレインに含まれるパケットであることを識別可能である。
【００５５】
一方、パケットトレイン送信法が選択された場合には、パケット仕様決定手段１４０は、所定の制約条件を満たすように、パケットの仕様を決定する。
【００５６】
制約条件は、例えば、以下の制約条件の論理積である。
・制約条件１：１つのパケットトレインに含まれるストリームデータのデータサイズは、送信すべきストリームデータのデータサイズ以下であること。ただし、実際に送信されるデータリンクフレームのペイロードは、ストリームデータに加えて、若干のダミーデータを含んでもよい。また、パケットトレインのパケットを構成する際に余ったストリームデータは、パケットトレインのパケットではない通常のパケットとして送信されてもよい。
・制約条件２：次のストリームデータが入力されるまでに、現在のストリームデータの送信が完了すること。
・制約条件３：推定可能な利用可能帯域の下限が所定の下限値以下であること。
・制約条件４：推定可能な利用可能帯域の上限が所定の上限値以上であること。
【００５７】
パケット仕様決定手段１４０による、パケットの仕様の決定は、上記の制約条件の下で、目的関数を最大化又は最小化する最適化問題として定式化される。目的関数は、例えば、利用可能帯域の推定値の分解能の最大化を表す関数、あるいは前述の関数に対応する意味を有する、利用可能帯域の推定値の刻み幅の最小化を表す関数である。なお、制約条件及び目的関数は、相互に入れ替えることが可能である。例えば、上述の最適化問題は、上述の目的関数と制約条件４とが入れ替えられた、「所定の目標値以上の分解能を有する」という制約条件の下で、「推定可能な利用可能帯域の上限値」という目的関数を最大化する最適化問題に置き換えられる。
【００５８】
次に、特許文献１のパケットトレイン計測法を利用した場合を例にして、具体的なパケットの仕様（パケットサイズ及び送信時刻）の決定方法について説明する。
【００５９】
特許文献１のパケットトレイン計測法では、送信されるパケットトレインは、
・先頭パケットのパケットサイズ：Ｐ（１）  ［バイト］
・パケットサイズ増分：ΔＰ  ［バイト］
・パケット数：Ｎ
・パケット間隔：Ｔ  ［秒］
の４種類のパラメータを用いて特徴付けられる。ｉ番目（２＜＝ｉ＜＝Ｎ）に送信されるパケットの、パケットサイズをＰ（ｉ）、送信時刻をｔ（ｉ）とすると、Ｐ（ｉ）＝Ｐ（１）＋（ｉ−１）ΔＰ、ｔ（ｉ）＝ｔ（１）＋（ｉ−１）Ｔである。なお、推定可能な利用可能帯域の下限値（単位はｂｐｓ（Bit Per Second）とする）は８Ｐ（１）／Ｔ、推定可能な利用可能帯域の上限値（単位はｂｐｓとする）は８（Ｐ（１）＋ΔＰ（Ｎ−１））／Ｔ、分解能はΔＰ／Ｔである。なお、推定可能な利用可能帯域の下限値は、２番目のパケットの受信における遅延が、先頭パケットの受信における遅延に比べて増加した場合に検出される。この場合は、パケットサイズＰ（１）［バイト］のパケットを時間Ｔ［秒］で受信できたが、パケットサイズＰ（２）［バイト］のパケットを時間Ｔ［秒］で受信できなかった場合に相当する。つまり、この場合は、ビットレート８Ｐ（１）／Ｔ［ｂｐｓ］ではパケットを受信できたが、ビットレート８Ｐ（２）／Ｔ［ｂｐｓ］ではパケットを受信できなかった場合に相当し、推定可能な利用可能帯域の下限値は、８Ｐ（１）／Ｔ［ｂｐｓ］である。
【００６０】
一方、推定可能な利用可能帯域の上限値は、Ｎ番目のパケットの受信における遅延が、Ｎ−１番目のパケットの受信における遅延に比べて増加しなかった場合に検出される。この場合は、パケットサイズＰ（Ｎ）［バイト］のパケットを時間Ｔ［秒］で受信できた場合に相当する。つまり、この場合は、ビットレート８Ｐ（Ｎ）／Ｔ＝８（Ｐ（１）＋ΔＰ（Ｎ−１））［ｂｐｓ］ではパケットを受信できた場合に相当し、推定可能な利用可能帯域の上限値は、８（Ｐ（１）＋ΔＰ（Ｎ−１））／Ｔ［ｂｐｓ］である。また、推定可能な利用可能帯域の刻み幅は、隣接するパケット間のビットレートの差ΔＰ／Ｔに等しい。
【００６１】
本具体例では、４種類のパラメータ
・送信すべきストリームデータのデータサイズ：Ｓ  ［バイト］
・推定可能な利用可能帯域の下限値：Ｂｍｉｎ  ［ｂｐｓ］
・推定可能な利用可能帯域の上限値：Ｂｍａｘ  ［ｂｐｓ］
・パケットトレインの送信時間の上限値：ｆ  ［秒］
が与えられる。なお、推定可能な利用可能帯域の下限値Ｂｍｉｎ及び推定可能な利用可能帯域の上限値Ｂｍａｘは、パラメータ設定手段１１０により取得される。また、パケットトレインの送信時間の上限値ｆ、及び送信すべきストリームデータのデータサイズＳの値は、予め決定される。例えば、ストリームデータが映像フレームである場合には、パケットトレインは、各映像フレームの送信間隔内で送信される必要がある。つまり、パケットトレインの送信時間の上限値ｆは、フレームレートの逆数（フレームレートが５ｆｐｓ（frames per second）ならｆは０．２秒、フレームレートが１０ｆｐｓならｆは０．１秒）として予め決定される。また、例えば、送信すべきストリームデータのデータサイズＳの値は、映像フレームのデータサイズに関連して、予め決定される。
【００６２】
従って、制約条件１から制約条件４を満たした上で分解能を最大化（刻み幅を最小化）する前述の最適化問題は、以下のように定式化される。なお、以下では、説明を簡単にするために、制約条件１において、パケットのパケットサイズとペイロードのサイズとを同一視して説明する。ただし、制約条件１は、パケットのパケットサイズとペイロードのサイズとの差を考慮して、定式化されてもよい。また、若干の誤差を許容すれば、パケットのパケットサイズとペイロードのサイズとを同一視することが可能である。
【００６３】
minimize  ΔＰ／Ｔ
subject to  Ｎ（Ｐ（１）＋ΔＰ（Ｎ−１）／２）＜＝Ｓ        （制約条件１）
（Ｎ−１）Ｔ＜＝ｆ                              （制約条件２）
８Ｐ（１）／Ｔ＜＝Ｂｍｉｎ                      （制約条件３）
８（Ｐ（１）＋ΔＰ（Ｎ−１））／Ｔ＞＝Ｂｍａｘ  （制約条件４）
なお、制約条件１において、１つのパケットトレインに含まれるストリームデータのデータサイズは、Ｐ（１）＋Ｐ（２）＋・・・＋Ｐ（Ｎ）であり、Ｐ（ｉ）＝Ｐ（１）＋（ｉ−１）ΔＰを代入することにより求められる。また、制約条件２において、ストリームデータの送信自体に要する時間がパケット間隔Ｔに比べて十分小さいので、１つのパケットトレインに含まれる、すべてのパケットの送信に要する時間は、パケットとパケットとの間隔の数Ｎ−１と、パケット間隔Ｔとを乗算することにより求められる。
【００６４】
パケット仕様決定手段１４０は、この最適化問題を解いて求めた４つのパラメータＰ（１）、ΔＰ、Ｎ、及びＴによって特徴付けられたパケットトレインをパケット生成手段１５０に生成させる。
【００６５】
次に、最適化問題の解法の一例について説明する。上述の４つのパラメータの中で、Ｐ（１）、ΔＰ、及びＮは整数で、Ｔは実数である。そこで、まず、パケット仕様決定手段１４０は、Ｐ（１）、ΔＰ、及びＮの組み合わせに対して制約条件を満たす最大のＴと、このＴに対するΔＰ／Ｔを求める。なお、制約条件を満たすＴが存在しない場合もあり得る。次に、パケット仕様決定手段１４０は、求めたΔＰ／Ｔが最小となるパラメータＰ（１）、ΔＰ、Ｎ、及びＴの組み合わせをパケットの仕様として決定する。なお、本実施形態における最適化問題の解法は、上述の解法には限定されない。ただし、最適化問題の解法自体は、広く知られているので、詳述しない。
【００６６】
パケット生成手段１５０の詳細な動作について説明する。
【００６７】
通常のパケット送信法が選択された場合には、パケット生成手段１５０は、例えば、前述のようにストリームデータを１４６０バイト単位に分割し、各種ヘッダを付加して１５００バイトのＩＰｖ４パケットとして送信する。この際、パケット生成手段１５０は、パケット間の間隔を空けずに直前のパケットの送信が完了したら即座に次のパケットを送信する。一方、パケットトレイン送信法が選択された場合には、パケット生成手段１５０は、パケット仕様決定手段１４０により決定されたパケットの仕様（パラメータＰ（１）、ΔＰ、Ｎ、及びＴの組み合わせ）に基づいてパケットを生成する。
【００６８】
図６は、本発明の第１の実施形態のパケット生成手段１５０によるストリームデータの分割の一例を示す図である。図６において、“入力”は送信すべきストリームデータを、“出力”は送信するために分割されたストリームデータを示す。数字は、ストリームデータのデータサイズを示す。
【００６９】
パケット生成手段１５０は、例えば、Ｓ＝７５００バイトの送信すべきストリームデータを、パケット仕様（Ｐ（１）＝５００バイト、ΔＰ＝５０バイト、Ｎ＝１０、Ｔ＝０．００５秒）に従うパケットトレインに分割する。なお、パケットトレインの送信開始時刻をｔ０とする。
【００７０】
まず、パケット生成手段１５０は、送信すべきストリームデータの先頭からＰ（１）（＝５００）バイトを取り出し、各種ヘッダを付加してＲＴＰパケットを生成し、このパケットの送信時刻にｔ０を設定する。次に、パケット生成手段１５０は、ストリームデータから次のＰ（１）＋ΔＰ（＝５５０）バイトを取り出してＲＴＰパケットを生成し、送信時刻にｔ０＋Ｔを設定する。続いて、パケット生成手段１５０は、このような処理を繰り返して、Ｎ番目のＲＴＰパケット（データサイズ：Ｐ（１）＋（Ｎ−１）ΔＰ＝９５０バイト、送信時刻：ｔ０＋（Ｎ−１）Ｔ）を生成する。最後に、パケット生成手段１５０は、残りの２５０バイトのストリームデータを含むＲＴＰパケットを生成する。パケット生成手段１５０は、最後のＲＴＰパケットの送信時刻にＮ番目のパケットの送信時刻の直後の時刻を設定する。
【００７１】
なお、パケット生成手段１５０は、通常のパケット送信法又はパケットトレイン送信法により生成されたパケットを区別するために、ＲＴＰにおいて規定されたＲＴＰヘッダのＥｘｔｅｎｓｉｏｎビットを利用してもよい。具体的には、パケット生成手段１５０は、例えば、通常のパケット送信法の場合にはＥｘｔｅｎｓｉｏｎビットを０にし、パケットトレイン送信法の場合にはＥｘｔｅｎｓｉｏｎビットを１にする。Ｅｘｔｅｎｓｉｏｎビットは、１２バイトの標準的なＲＴＰヘッダの直後に拡張ヘッダが存在することを示すフラグである。パケット生成手段１５０は、拡張ヘッダに、利用可能帯域を推定するために使用される情報（パケットの送信時刻等）を格納してもよい。
【００７２】
より具体的な例におけるＲＴＰパケットの生成方法について説明する。
【００７３】
本具体例では、ストリームデータは、ＩＴＵ−Ｔ（International Telecommunication Union Telecommunication Standardization Sector）のＨ．２６４形式又はＨ．２６５形式で符号化された映像フレームデータである。Ｈ．２６４形式及びＨ．２６５形式のストリームの最小単位は、ＮＡＬ（Network Abstraction Layer）ユニットと呼ばれる。各映像フレームは、１個以上のＮＡＬユニットを含む。ＲＴＰを使ったＨ．２６４のストリームの伝送プロトコルは、ＩＥＴＦ（Internet Engineering Task Force）のＲＦＣ（Request for Comments）６１８４において規定されている。ＲＦＣ６１８４では、通常、１個のＲＴＰパケットは、１個のＮＡＬユニットを格納する。ただし、ＲＦＣ６１８４には、１個のＮＡＬユニットが複数のＲＴＰパケットに分割される「Fragmentation Unit」と、１個のＲＴＰパケットが複数のＮＡＬユニットを含む「Aggregation Packet」とが規定されている。「Fragmentation Unit」又は「Aggregation Packet」を利用することにより、ＲＦＣ６１８４に準拠したストリームとして、パケットトレインを送信することが可能である。なお、ここではＨ．２６４について説明したが、Ｈ．２６５においても同様の方法が利用可能である。
【００７４】
ストリーム受信装置２００の動作について説明する。
【００７５】
図７は、本発明の第１の実施形態のストリーム受信装置２００の動作を示すフローチャートである。なお、図７に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【００７６】
まず、ストリームパケット受信手段２１０は、ストリーム配信装置１００から配信されたストリームデータを含むパケットを受信し、ストリームデータ処理手段２２０及び利用可能帯域推定手段２３０へ受信したパケットの情報を通知する（ステップＳ７０１）。
【００７７】
次に、ストリームデータ処理手段２２０は、ストリームパケット受信手段２１０により受信されたパケットに含まれるストリームデータを処理する（ステップＳ７０２）。
【００７８】
続いて、利用可能帯域推定手段２３０は、ストリームパケット受信手段２１０から通知された、ストリームデータを含むパケットのデータサイズ及び受信時刻に基づいて、ネットワーク３００における利用可能帯域を推定する（ステップＳ７０３）。
【００７９】
続いて、ストリームパケット受信手段２１０は、ストリームデータの受信の有無を判定する（ステップＳ７０４）。ストリームパケット受信手段２１０は、ストリームデータが受信されている間（ステップＳ７０４：Ｙｅｓ）、ステップＳ７０１からステップＳ７０３までの処理を繰り返す。ストリームパケット受信手段２１０は、ストリームデータの受信が終了すると（ステップＳ７０４：Ｎｏ）、処理を終了する。
【００８０】
利用可能帯域推定手段２３０の詳細な動作について説明する。
【００８１】
利用可能帯域推定手段２３０は、例えば、受信されたＲＴＰパケットにおけるＲＴＰヘッダ等を参照して、ＲＴＰパケットが通常のパケット送信法又はパケットトレイン送信法のどちらの方法で送信されたかを判別する。
【００８２】
通常のパケット送信法で送信された場合、利用可能帯域推定手段２３０は、各ストリームデータを含むパケットの、受信開始時刻及び受信完了時刻、並びにストリームデータのデータサイズを取得する。受信開始時刻は、例えば、あるＲＴＰのタイムスタンプを含むパケットを最初に受信した時刻である。また、受信完了時刻は、例えば、あるＲＴＰのタイムスタンプを含むパケットのうち、ｍａｒｋｅｒビットがＯＮであるパケットを受信した時刻である。ストリームデータのデータサイズは、例えば、同一のＲＴＰのタイムスタンプを含むＲＴＰパケットのペイロード長の合計である。利用可能帯域推定手段２３０は、一連のストリームデータの受信完了後に、「データサイズ／（受信完了時刻−受信開始時刻）」を計算し、結果を利用可能帯域の推定値とする。
【００８３】
パケットトレイン送信法で送信された場合、利用可能帯域推定手段２３０は、１つのパケットトレインに含まれる各パケットの受信時刻を取得する。利用可能帯域推定手段２３０は、拡張ヘッダ等を参照して一連のパケットトレインの受信完了を検出すると、利用可能帯域を推定する。なお、利用可能帯域の推定方法は、特許文献１、非特許文献２、又は非特許文献３等のパケットトレイン計測法における利用可能帯域推定法である。
【００８４】
以上説明したように、本実施形態のストリーム配信システム４００では、ストリーム配信装置１００のパケット生成手段１５０は、送信すべきストリームデータから計測用パケットを生成する。つまり、ストリーム配信システム４００では、利用可能帯域推定に悪影響を与えないように、元々送信すべきストリームデータを送信するので、新たなパケットを追加することがなく、それによる遅延が発生しない。そのため利用可能帯域の推定精度が高い。また、ストリーム受信装置２００の利用可能帯域推定手段２３０は、受信した計測用パケットに基づいて、利用可能帯域を推定する。従って、本実施形態のストリーム配信システム４００には、ストリーム配信において、ネットワークの利用可能帯域を高精度に推定することができるという効果がある。
【００８５】
また、本実施形態のストリーム配信システム４００では、ストリーム配信装置１００のパケット仕様決定手段１４０が、最適化問題を解くことにより、利用可能帯域を高精度に推定するための計測用パケットの仕様を決定する。また、ストリーム受信装置２００の利用可能帯域推定手段２３０は、受信した計測用パケットに基づいて、利用可能帯域を所定の精度で推定する。従って、本実施形態のストリーム配信システム４００には、ストリーム配信において、ネットワークの利用可能帯域を高精度に推定することができるという効果がある。
【００８６】
また、本実施形態のストリーム配信システム４００では、ストリームデータのデータサイズが所定の閾値未満の場合には、ストリーム配信装置１００の送信方法決定手段１３０が、ストリームデータをパケットトレイン送信法を用いて送信する。その結果、スループット計測法における測定誤差は抑制される。また、本実施形態のストリーム配信システム４００では、ストリームデータのデータサイズが所定の閾値以上の場合には、ストリーム配信装置１００の送信方法決定手段１３０が、ストリームデータを通常のパケット送信法を用いて送信する。この場合には、十分なデータサイズの計測データが利用されるので、利用可能帯域推定法における測定誤差は抑制される。従って、本実施形態のストリーム配信システム４００には、ストリーム配信において、ネットワークの利用可能帯域を高精度に推定することができるという効果がある。
（第２の実施形態）
次に、上述した本発明の第１の実施形態のストリーム配信システム４００を基本とする、本発明の第２の実施形態のストリーム配信システムについて説明する。本実施形態のストリーム配信システムでは、ストリーム受信装置はストリーム配信装置へ利用可能帯域の推定結果をフィードバックし、ストリーム配信装置はフィードバック結果に基づいてストリームデータのビットレートを制御する。以下の説明において、第１の実施形態と同等の構成要素には同じ符号を付し、適宜説明を省略する。
【００８７】
本実施形態における構成について説明する。
【００８８】
本実施形態のストリーム配信システム４０５（図示しない）は、ストリーム配信装置１０５と、ストリーム受信装置２０５と、ネットワーク３００とを含む。ストリーム配信装置１０５、ストリーム受信装置２０５の動作はそれぞれ、本発明の第１の実施形態のストリーム配信装置１００、ストリーム受信装置２００の動作と異なる。ストリーム配信システム４０５のその他の構成は、本発明の第１の実施形態のストリーム配信システム４００の構成と同じである。
【００８９】
ストリーム配信装置１０５の構成について説明する。
【００９０】
図８は、本発明の第２の実施形態のストリーム配信装置１０５の構成の一例を示すブロック図である。なお、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００９１】
本実施形態のストリーム配信装置１０５は、第１の実施形態のストリーム配信装置１００の構成要素に加えて、フィードバック受信手段１７０と、ビットレート制御手段１８０と、ストリームデータ生成手段１９０とを含む。また、第１の実施形態のストリーム配信装置１００の、パラメータ設定手段１１０、ストリームデータ入力手段１２０はそれぞれ、パラメータ設定手段１１５、ストリームデータ入力手段１２５に置き換えられている。
【００９２】
フィードバック受信手段１７０は、ストリーム受信装置２０５から利用可能帯域の推定値の情報を受信する。
【００９３】
ビットレート制御手段１８０は、フィードバック受信手段１７０から受け取った利用可能帯域の推定値の情報に基づいて、ストリームデータを生成するビットレートを決定する。
【００９４】
ストリームデータ生成手段１９０は、ビットレート制御手段１８０により決定されたビットレートで、ストリームデータを生成する。例えば、ストリームデータが映像の場合には、ストリームデータ生成手段１９０は、カメラ（図示せず）から映像フレームを受け取り、Ｈ．２６４等のコーデックを使用して、決定されたビットレートになるようにストリームデータをエンコードする。
【００９５】
パラメータ設定手段１１５は、フィードバック受信手段１７０から利用可能帯域の推定値を受け取る。
【００９６】
ストリームデータ入力手段１２５は、ストリームデータ生成手段１９０から、送信すべきストリームデータを入力する。
【００９７】
ストリーム配信装置１０５のその他の構成は、第１の実施形態のストリーム配信装置１００の構成と同じである。
【００９８】
ストリーム受信装置２０５の構成について説明する。
【００９９】
図９は、本発明の第２の実施形態のストリーム受信装置２０５の構成の一例を示すブロック図である。なお、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【０１００】
本発明の第２の実施形態のストリーム受信装置２０５は、第１の実施形態のストリーム受信装置２００の構成要素に加えて、フィードバック送信手段２４０を含む。また、第１の実施形態のストリーム受信装置２００の利用可能帯域推定手段２３０は、利用可能帯域推定手段２３５に置き換えられている。
【０１０１】
利用可能帯域推定手段２３５は、フィードバック送信手段２４０へ利用可能帯域の推定値を通知する。
【０１０２】
フィードバック送信手段２４０は、利用可能帯域推定手段２３５により推定された利用可能帯域の推定値を、ストリーム配信装置１０５へ送信（フィードバック）する。
【０１０３】
ストリーム受信装置２０５のその他の構成は、第１の実施形態のストリーム受信装置２００の構成と同じである。
【０１０４】
次に、本実施形態における動作について説明する。
【０１０５】
ストリーム配信装置１０５の動作について説明する。
【０１０６】
図１０は、本発明の第２の実施形態のストリーム配信装置１０５のストリーム受信装置２０５からのフィードバック受信時の動作を示すフローチャートである。なお、図１０に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【０１０７】
まず、フィードバック受信手段１７０は、ストリーム受信装置２０５から利用可能帯域の推定値のフィードバックを受信し、受信した情報をパラメータ設定手段１１５及びビットレート制御手段１８０へ通知する（ステップＳ１００１）。
【０１０８】
次に、パラメータ設定手段１１５は、フィードバック受信手段１７０から通知された利用可能帯域の推定値に基づいて、送信方法決定手段１３０及びパケット仕様決定手段１４０における、それぞれの決定に使用されるパラメータを変化させてもよい（ステップＳ１００２）。
【０１０９】
続いて、ビットレート制御手段１８０は、フィードバック受信手段１７０から受け取った利用可能帯域の推定値の情報に基づいて、送信すべきストリームデータのビットレートを決定する（ステップＳ１００３）。
【０１１０】
最後に、ストリームデータ生成手段１９０は、ビットレート制御手段１８０により決定されたビットレートを有するストリームデータを生成する（ステップＳ１００４）。
【０１１１】
パラメータ設定手段１１５の詳細な動作について説明する。
【０１１２】
パラメータ設定手段１１５は、例えば、パケットトレイン送信法を用いるか通常のパケット送信法を用いるかを決定（図５のステップＳ４０３１）するための閾値を利用可能帯域の推定値に基づいて変化させてもよい。前述のようにスループット計測法では、「受信にかかった時間」が短いと、計測誤差が大きい。閾値が固定の場合には、利用可能帯域が大きいと「受信にかかった時間」が短くなり、計測精度が低下する。そこで、パラメータ設定手段１１５は、利用可能帯域の推定値が大きい場合には閾値を大きくし、利用可能帯域の推定値が小さい場合には閾値を小さくすることにより、計測誤差を低減する。具体的には、利用可能帯域の推定値をｂとし、「受信にかかった時間」の閾値をｔｈとすると、パラメータ設定手段１１５は、パケットトレイン送信法を用いるか通常のパケット送信法を用いるかを決定するための閾値をｂ×ｔｈに設定する。
【０１１３】
また、パラメータ設定手段１１５は、例えば、推定可能な利用可能帯域の、下限値Ｂｍｉｎ、上限値Ｂｍａｘを、利用可能帯域の推定値に基づいて変化させてもよい。通常、下限値Ｂｍｉｎは十分に小さな値に、上限値Ｂｍａｘは十分に大きな値に設定される。ところが、下限値Ｂｍｉｎをより大きく、または、上限値Ｂｍａｘをより小さくすることにより、分解能の向上が可能である。例えば下限値Ｂｍｉｎを大きくした場合には、制約条件３が緩和されてパケット間隔Ｔを大きくできるため、目的関数ΔＰ／Ｔを小さくする（すなわち、分解能を上げる）ことが可能である。また、上限値Ｂｍａｘを小さくした場合には、制約条件４が緩和されてパケットサイズ増分ΔＰを小さく、パケット間隔Ｔを大きくできるため、目的関数ΔＰ／Ｔを小さくすることが可能である。パラメータ設定手段１１５は、例えば、送信されるストリームデータのビットレートを、最大でも直前のビットレートの２倍までに抑えるという制御を行ってもよい。この制御が行われる場合には、上限値Ｂｍａｘはストリームデータのビットレートの２倍までに抑制されるため、前述のように分解能の向上が可能である。
【０１１４】
ビットレート制御手段１８０の詳細な動作について説明する。
【０１１５】
ビットレート制御手段１８０は、例えば、フィードバック受信手段１７０から受け取った最新の利用可能帯域の推定値を、生成されるストリームデータのビットレートに決定してもよい。利用可能帯域はネットワーク３００の混雑度等の要因によって変動するが、ストリーム配信システム４０５では、変動に即応してビットレートを変更できるため、ネットワーク３００の利用可能帯域を有効に利用できる。あるいは、ビットレート制御手段１８０は、例えば、フィードバック受信手段１７０から受け取った利用可能帯域の推定値の時系列に対して移動平均などのフィルタリングを行った結果を、生成されるストリームデータのビットレートに決定してもよい。あるいは、ビットレート制御手段１８０は、例えば、フィードバック受信手段１７０から受け取った、利用可能帯域、又は利用可能帯域の推定値の時系列に対して移動平均などのフィルタリングを行った結果を、α（αは０＜α＜１である実数）倍した値を、生成されるストリームデータのビットレートに決定してもよい。
【０１１６】
ストリームデータ生成手段１９０の詳細な動作について説明する。例えば、ストリームデータが映像の場合には、ストリームデータ生成手段１９０は、エンコーダ（図示しない）に対して、ビットレート制御手段１８０により決定されたビットレートを指定する。あるいは、ストリームデータ生成手段１９０は、ストリームデータが音声の場合には、ビットレートを指定可能なコーデックの種別については、エンコーダに対して、ビットレート制御手段１８０により決定されたビットレートを指定する。一方、ストリームデータ生成手段１９０は、ストリームデータが音声の場合に、ビットレートを指定できないコーデックの種別については、コーデックの種別を切り換える。この場合には、ストリームデータ生成手段１９０は、ビットレート制御手段１８０により決定されたビットレート以下であって且つ最大であるビットレートを指定可能なコーデックの種別を選択する。また、ストリームデータがセンサデータ等の場合には、ストリームデータ生成手段１９０は、データを間引く（一部データを送信せずに廃棄する）ことにより、ビットレート制御手段１８０により決定されたビットレートを有するストリームデータを生成してもよい。
【０１１７】
本実施形態のストリーム配信装置１０５のその他の動作は、第１の実施形態のストリーム配信装置１００の動作と同じである。
【０１１８】
ストリーム受信装置２０５の動作について説明する。
【０１１９】
図１１は、本発明の第２の実施形態のストリーム受信装置２０５の動作を示すフローチャートである。なお、図１１に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【０１２０】
フィードバック送信手段２４０は、利用可能帯域推定手段２３５により推定された利用可能帯域の推定値を、ストリーム配信装置１０５へフィードバックする（ステップＳ１１０５）。
【０１２１】
本実施形態のストリーム受信装置２０５のその他の動作は、第１の実施形態のストリーム受信装置２００の動作と同じである。
【０１２２】
以上説明したように、本実施形態のストリーム配信システム４０５では、ストリーム配信装置１０５は本発明の第１の実施形態のストリーム配信装置１００の機能を含む。また、本実施形態のストリーム配信システム４０５では、ストリーム受信装置２０５は本発明の第１の実施形態のストリーム受信装置２００の機能を含む。従って、本実施形態のストリーム配信システム４０５には、本発明の第１の実施形態のストリーム配信システム４００と同じ効果がある。
【０１２３】
また、本実施形態のストリーム配信システム４０５では、ストリーム受信装置２０５のフィードバック送信手段２４０は、利用可能帯域の推定結果をストリーム配信装置１０５へフィードバックする。また、本実施形態のストリーム配信システム４０５では、ストリーム配信装置１０５のフィードバック受信手段１７０は、フィードバックされた利用可能帯域の推定結果に基づいて、送信すべきストリームデータのビットレートを決定する。従って、本実施形態のストリーム配信システム４０５には、ストリーム配信において、ネットワークの利用可能帯域を有効利用することができるという効果がある。
（第３の実施形態）
次に、本発明の最小限の構成を有する、本発明の第３の実施形態のストリーム配信システムについて説明する。以下の説明において、第１の実施形態と同等の構成要素には同じ符号を付し、適宜説明を省略する。
【０１２４】
本実施形態における構成について説明する。
【０１２５】
図１２は、本発明の第３の実施形態のストリーム配信システムの構成の一例を示すブロック図である。なお、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【０１２６】
本実施形態のストリーム配信システム４０６は、ストリーム配信装置１０６と、ストリーム受信装置２０６と、ネットワーク３００とを含む。
【０１２７】
ストリーム配信装置１０６の構成について説明する。
【０１２８】
図１３は、本発明の第３の実施形態のストリーム配信装置１０６の構成の一例を示すブロック図である。なお、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【０１２９】
ストリーム配信装置１０６は、送信方法決定手段１３６と、ストリームパケット送信手段１６６とを含む。
【０１３０】
送信方法決定手段１３６は、ストリームデータの一部を推定用パケット列として送信するための送信方法を決定する。なお、送信方法は、パケットトレイン送信法、通常のパケット送信法等を含んでもよい。また、送信方法決定手段１３６は、送信方法がパケットトレイン送信法である場合に、与えられた制約条件を満たした上で、推定の精度と正の相関を有する目的関数を最大化するか、又は推定の精度と負の相関を有する目的関数を最小化するように、パケットの仕様を決定してもよい。制約条件は、ストリームデータのサイズ、推定可能な利用可能帯域の下限値及び上限値、パケットトレインの送信時間の上限値等を含んでもよい。パケットの仕様は、パケットトレインに含まれる各パケットのサイズ及び送信時刻を含んでもよい。パケットの仕様は、推定用パケット列に含まれる各パケットの、サイズは出現順とともに増加させ、送信周期を一定にする仕様であってもよい。パケットの仕様は、パケットトレインの、最初に出現するパケットのサイズ、隣接して出現する２つのパケット間のサイズの増分、パケット数、パケットの送信周期等を含んでもよい。また、送信方法決定手段１３６は、送信すべきストリームデータのデータサイズが所定の閾値未満か否かによって、送信方法を決定してもよい。
【０１３１】
ストリームパケット送信手段１６６は、送信方法決定手段１３６により決定された送信方法に従って、ストリーム受信装置２０６へ、ストリームデータを送信する。なお、ストリームパケット送信手段１６６は、ストリーム受信装置２０６から利用可能帯域の推定結果をフィードバックされる場合には、推定結果に基づいて、ストリーム配信装置１０６のパラメータの値を変更してもよい。パラメータは、前述の制約条件に含まれるパラメータ、前述の閾値、送信すべきストリームデータのビットレート等を含んでもよい。
【０１３２】
ストリーム受信装置２０６の構成について説明する。
【０１３３】
図１４は、本発明の第３の実施形態のストリーム受信装置２０６の構成の一例を示すブロック図である。なお、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【０１３４】
ストリーム受信装置２０６は、ストリームパケット受信手段２１６と、利用可能帯域推定手段２３６とを含む。
【０１３５】
ストリームパケット受信手段２１６は、ストリームデータ及び推定用パケット列を受信する。
【０１３６】
利用可能帯域推定手段２３６は、受信した推定用パケット列に基づいてネットワークの利用可能帯域を推定する。なお、推定方法は、パケットトレイン計測法、スループット計測法等を含んでもよい。なお、利用可能帯域推定手段２３６は、利用可能帯域の推定結果を、ストリーム配信装置１０６へフィードバックしてもよい。
【０１３７】
次に、本実施形態における動作について説明する。
【０１３８】
ストリーム配信装置１０６の動作について説明する。
【０１３９】
送信方法決定手段１３６は、送信すべきストリームデータのデータサイズ、あらかじめ設定された所定のパラメータに基づいて、入力されたストリームデータの送信方法を決定する（ステップＳ１５０３）。
【０１４０】
ストリームパケット送信手段１６６は、送信方法決定手段１３６により決定された送信方法に従って、ストリームデータをストリーム受信装置２０６へ送信する（ステップＳ１５０６）。
【０１４１】
図１５は、本発明の第３の実施形態のストリーム配信装置１０６の動作を示すフローチャートである。なお、図１５に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【０１４２】
ストリーム受信装置２０６の動作について説明する。
【０１４３】
図１６は、本発明の第３の実施形態のストリーム受信装置２０６の動作を示すフローチャートである。なお、図１６に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【０１４４】
ストリームパケット受信手段２１６は、ストリーム配信装置１０６から配信された推定用パケット列を受信し、利用可能帯域推定手段２３６へ受信した推定用パケット列の情報（データサイズ及び受信時刻を含む）を通知する（ステップＳ１６０１）。
【０１４５】
利用可能帯域推定手段２３６は、ストリームパケット受信手段２１６から通知された、推定用パケット列の情報に基づいて、ネットワーク３００における利用可能帯域を推定する（ステップＳ１６０３）。
【０１４６】
以上説明したように、本実施形態のストリーム配信システム４０６では、ストリーム配信装置１０６の送信方法決定手段１３６は、ストリームパケット送信手段１６６に送信すべきストリームデータから生成された計測用パケットを送信させる。つまり、ストリーム配信システム４０６では、送信すべきストリームデータとは別の計測用データが用いられないので、利用可能帯域推定がストリームデータのスループットに与える影響が抑制される結果、利用可能帯域の推定精度が高い。また、ストリーム受信装置２０６の利用可能帯域推定手段２３６は、受信した計測用パケットに基づいて、利用可能帯域を推定する。従って、本実施形態のストリーム配信システム４０６には、ストリーム配信において、ネットワークの利用可能帯域を高精度に推定することができるという効果がある。
【０１４７】
また、上述した本発明の各実施形態のストリーム配信装置及びストリーム受信装置は、専用の装置によって実現してもよいが、コンピュータ（情報処理装置）によっても実現可能である。この場合、係るコンピュータは、メモリ（図示せず）に格納されたソフトウェア・プログラムをＣＰＵ（Central Processing Unit、図示せず）に読み出し、読み出したソフトウェア・プログラムをＣＰＵにおいて実行することにより、実行結果を、例えば、ユーザ・インタフェースに出力する。上述した各実施形態の場合、係るソフトウェア・プログラムには、上述したところの、図２に示したストリーム配信装置１００の各手段、図３に示したストリーム受信装置２００の各手段、図８に示したストリーム配信装置１０５の各手段、及び図９に示したストリーム受信装置２０５の各手段の機能を実現可能な記述がなされていればよい。ただし、ストリーム配信装置１００、ストリーム配信装置１０５、ストリーム受信装置２００、及びストリーム受信装置２０５の各手段には、適宜ハードウェアを含むことも想定される。そして、このような場合、係るソフトウェア・プログラム（コンピュータ・プログラム）は、本発明を構成すると捉えることができる。更に、係るソフトウェア・プログラムを格納した、コンピュータ読み取り可能な記憶媒体も、本発明を構成すると捉えることができる。
【０１４８】
以上、本発明を、上述した各実施形態及びその変形例によって例示的に説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態及びその変形例に記載した範囲に限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
【０１４９】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
ストリームデータ及び推定用パケット列を受信するストリームパケット受信手段、及び
受信した前記推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段
を含むストリーム受信装置へ、前記ストリームデータを送信するストリームパケット送信手段と、
前記ストリームデータの一部を前記推定用パケット列として送信するための送信方法を決定する送信方法決定手段と
を備えたことを特徴とするストリーム配信装置。
（付記２）
前記推定用パケット列に含まれる各パケットの、サイズ及び送信時刻を、与えられた制約条件を満たすように決定するパケット仕様決定手段
を備えたことを特徴とする付記１に記載のストリーム配信装置。
（付記３）
前記パケット仕様決定手段は、前記サイズ及び前記送信時刻を、前記制約条件を満たした上で、前記推定の精度と正の相関を有する第１の目的関数を最大化するか、又は前記精度と負の相関を有する第２の目的関数を最小化するように決定する
ことを特徴とする付記２に記載のストリーム配信装置。
（付記４）
前記推定用パケット列に含まれる各パケットの、サイズが出現順とともに増加し、送信周期が一定である
ことを特徴とする付記１乃至３のいずれか１項に記載のストリーム配信装置。
（付記５）
前記パケット仕様決定手段は、前記ストリームデータのサイズを含む入力パラメータから、前記推定用パケット列の、最初に出現するパケットのサイズ、隣接して出現する２つのパケット間のサイズの増分、パケット数、及びパケットの送信周期を含む出力パラメータを決定する
ことを特徴とする付記２又は付記３に記載のストリーム配信装置。
（付記６）
前記入力パラメータは、推定可能な利用可能帯域の下限値及び上限値と、パケット列の送信時間の上限値とを含む
ことを特徴とする付記５に記載のストリーム配信装置。
（付記７）
ストリームデータを送信するストリームパケット送信手段、及び
前記ストリームデータの一部を推定用パケット列として送信するための送信方法を決定する送信方法決定手段
を含むストリーム配信装置から、前記ストリームデータ及び前記推定用パケット列を受信するストリームパケット受信手段と、
受信した前記推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段と
を備えたことを特徴とするストリーム受信装置。
（付記８）
ストリームデータ及び推定用パケット列を受信するストリームパケット受信手段、及び
受信した前記推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段
を含むストリーム受信装置と、
前記ストリームデータを送信するストリームパケット送信手段、及び
前記ストリームデータの一部を前記推定用パケット列として送信するための送信方法を決定する送信方法決定手段
を含むストリーム配信装置と
を備えたことを特徴とするストリーム配信システム。
（付記９）
ストリームデータの一部を推定用パケット列として送信するための送信方法を決定し
前記ストリームデータを送信し、
前記ストリームデータ及び前記推定用パケット列を受信し、
受信した前記推定用パケット列に基づいてネットワークの利用可能帯域を推定する
ことを特徴とするストリーム配信方法。
（付記１０）
ストリームデータ及び推定用パケット列を受信するストリームパケット受信手段、及び
受信した前記推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定手段
を含むストリーム受信装置へ、前記ストリームデータを送信するストリームパケット送信処理と、
前記ストリームデータの一部を前記推定用パケット列として送信するための送信方法を決定する送信方法決定処理と
をコンピュータに実行させることを特徴とするストリーム配信プログラム。
（付記１１）
前記ストリームデータのサイズが所定の閾値未満の場合に前記ストリームデータを前記推定用パケット列として送信することを決定し、前記ストリームデータのサイズが前記閾値以上の場合に前記ストリームデータを通常のパケット列として送信することを決定する送信方法決定手段
を備えたことを特徴とする付記１乃至６のいずれか１項に記載のストリーム配信装置。
（付記１２）
前記ストリーム受信装置は、前記利用可能帯域の推定結果を前記ストリーム配信装置へフィードバックするフィードバック送信手段を含む
ことを特徴とする付記１１に記載のストリーム配信装置。
（付記１３）
前記ストリーム配信装置は、フィードバックされた前記推定結果に基づいて前記閾値を変更するパラメータ設定手段
を備えたことを特徴とする付記１２に記載のストリーム配信装置。
（付記１４）
前記ストリーム配信装置は、フィードバックされた前記推定結果に基づいて前記ストリームデータのビットレートを制御するビットレート制御手段
を備えたことを特徴とする付記１２又は付記１３に記載のストリーム配信装置。
（付記１５）
ストリームデータを送信するストリームパケット送信手段、及び
前記ストリームデータの一部を推定用パケット列として送信するための送信方法を決定する送信方法決定手段
を含むストリーム配信装置から、前記ストリームデータ及び前記推定用パケット列を受信するストリームパケット受信処理と、
受信した前記推定用パケット列に基づいてネットワークの利用可能帯域を推定する利用可能帯域推定処理と
をコンピュータに実行させることを特徴とするストリーム受信プログラム。
（付記１６）
前記制約条件は、１つの前記推定用パケット列に含まれる前記ストリームデータのサイズは、前記ストリームデータのサイズ以下であることと、次の前記ストリームデータが入力されるまでに、現在の前記ストリームデータの送信が完了することと、推定可能な前記利用可能帯域の下限が所定の下限値以下であることと、推定可能な前記利用可能帯域の上限が所定の上限値以上であることとを含む
ことを特徴とする付記２又は付記３に記載のストリーム配信装置。
【産業上の利用可能性】
【０１５０】
本発明は、撮影した映像を遠隔地に配信するライブ映像配信システム、遠隔地間でコミュニケーションを取るためのテレビ会議システムやテレプレゼンスシステム等において利用できる。
【符号の説明】
【０１５１】
１００  ストリーム配信装置
２００  ストリーム受信装置
３００  ネットワーク
４００  ストリーム配信システム
１１０  パラメータ設定手段
１２０  ストリームデータ入力手段
１３０  送信方法決定手段
１４０  パケット仕様決定手段
１５０  パケット生成手段
１６０  ストリームパケット送信手段
２１０  ストリームパケット受信手段
２２０  ストリームデータ処理手段
２３０  利用可能帯域推定手段
１０５  ストリーム配信装置
１１５  パラメータ設定手段
１２５  ストリームデータ入力手段
１７０  フィードバック受信手段
１８０  ビットレート制御手段
１９０  ストリームデータ生成手段
２０５  ストリーム受信装置
２３５  利用可能帯域推定手段
２４０  フィードバック送信手段
４０５  ストリーム配信システム
１０６  ストリーム配信装置
２０６  ストリーム受信装置
１３６  送信方法決定手段
１６６  ストリームパケット送信手段
２１６  ストリームパケット受信手段
２３６  利用可能帯域推定手段
４０６  ストリーム配信システム
【図１】
2017139521.tif 000003
【図２】
2017139521.tif 000004
【図３】
2017139521.tif 000005
【図４】
2017139521.tif 000006
【図５】
2017139521.tif 000007
【図６】
2017139521.tif 000008
【図７】
2017139521.tif 000009
【図８】
2017139521.tif 000010
【図９】
2017139521.tif 000011
【図１０】
2017139521.tif 000012
【図１１】
2017139521.tif 000013
【図１２】
2017139521.tif 000014
【図１３】
2017139521.tif 000015
【図１４】
2017139521.tif 000016
【図１５】
2017139521.tif 000017
【図１６】
2017139521.tif 000018