(57)【要約】[課題]ストリームの送信タイミングを高精度に推定するストリーム受信装置等を提供する。[解決手段]ストリーム受信装置１０ｂは、データパケットおよびプローブパケットを送信するネットワークにおいて、プローブパケットを受信して、プローブパケットの遅延時間を算出し、算出された遅延時間を基に、データパケットの送信時刻を推定する。
2016103674.tif 000002
【特許請求の範囲】
【請求項１】
データパケットおよびプローブパケットを送信するネットワークにおいて、前記プローブパケットを受信して、前記プローブパケットの遅延時間を算出し、算出された前記遅延時間を基に、前記データパケットのストリームの送信時刻を推定する、
ストリーム受信装置。
【請求項２】
前記プローブパケットは自身が送信された時刻に関する情報を含む、
請求項１に記載のストリーム受信装置。
【請求項３】
前記プローブパケットの遅延時間が増加した時刻を、前記データパケットのストリームの送信時刻と推定する
請求項１又は２に記載のストリーム受信装置。
【請求項４】
前記プローブパケットの内、先に送信する第１のプローブパケットの遅延時間に対して、前記第１のプローブパケットの後に送信する第２のプローブパケットの遅延時間の増加を基に、前記ストリームの送信間隔を推定する
請求項１乃至３のいずれかに記載のストリーム受信装置。
【請求項５】
請求項１乃至４のいずれかに記載のストリーム受信装置と、
前記データパケットおよび前記プローブパケットを送信するストリーム送信装置
とを備え、
前記ストリーム受信装置と前記ストリーム送信装置は、前記ネットワークを介して通信可能に接続される、
通信システム。
【請求項６】
前記ストリーム送信装置は、
前記データパケットを送信するストリーム送信手段と、
前記プローブパケットを送信するプローブ送信手段
とを備える請求項５に記載の通信システム。
【請求項７】
前記プローブ送信手段は、前記プローブパケットを一定間隔で送信する
請求項５又は６に記載の通信システム。
【請求項８】
前記プローブ送信手段は、先に送信する第１のプローブパケットのサイズと比して、前記第１のプローブパケットの後に送信する第２のプローブパケットのサイズを増加させて送信する
請求項５乃至７のいずれかに記載の通信システム。
【請求項９】
データパケットおよびプローブパケットを送信するネットワークにおいて、前記プローブパケットを受信し、
前記プローブパケットの遅延時間を算出し、
算出された前記遅延時間を基に、前記データパケットの送信時刻を推定する、
推定方法。
【請求項１０】
データパケットおよびプローブパケットを送信するネットワークにおいて
前記プローブパケットを受信し、前記プローブパケットの遅延時間を算出し、算出された前記遅延時間を基に、前記データパケットの送信時刻を推定する方法、
をコンピュータに実行させる推定プログラムを格納する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワーク（以下、本願では「ネットワーク」と記載）において伝送されるデータパケット、特に映像等のように、ある期間に亘って連続的に伝送されるストリーミングパケットの送信タイミングを推定する技術に関する。
【背景技術】
【０００２】
品質非保証のネットワークにおいて、背景トラフィックは、送信側装置におけるパケットの送信時刻と、受信側装置におけるそのパケットの受信時刻との差に生じる遅延時間の程度によって知ることが出来る。即ち、背景トラフィックが増大している際は、遅延時間は長くなる。尚、受信側装置においては、パケットの受信時刻は容易に知ることが出来るが、パケットの送信時刻については推定する必要がある。
一方で、ネットワークにおいては、背景トラフィックを考慮しながら、ネットワーク帯域を可能な限り使用し、乱れや途切れのない映像ストリーミングを実現することが重要である。これには、そのネットワークにおける、パケット通信用に利用可能なネットワーク帯域（以下、本願では「可用帯域」と記載）を検出する必要がある。
パケット通信網で接続された複数の端末間において、パケット通信用に利用可能な可用帯域を推定する技術がある。この技術では、プローブパケットを送信することにより、推定対象であるネットワークの可用帯域を推定する。【０００３】
特許文献１は、一定の間隔でサイズを徐々に大きくしていくパケット列を送信し、何番目のパケットで遅延時間が大きくなるかを基に可用帯域を推定する技術を開示する。【０００４】
特許文献２は、ネットワークに流れるトラフィック種別が映像であるか音声であるかを表す情報から、ネットワーク負荷と遅延との関係を表すモデルを構築し、実際に送信したプローブパケットの遅延状態の分布を基に、可用帯域を推定する技術を開示する。【０００５】
特許文献３は、ネットワーク間でプローブパケットを送受信し、その結果から往復遅延およびジッタを測定し、測定結果を基にストリーミングパケット（以下、本願では「ストリーム」と記載）のバッファリング時間を決定する技術を開示する。【０００６】
特許文献４は、ＶｏＩＰ（Voice over Internet Protocol）通信中にネットワークにおけるストリーミングパケットの片道遅延を求めるための技術を開示する。【０００７】
この他、プローブパケットを用いた測定に関連する技術として特許文献５がある。【０００８】
非特許文献１は、一定サイズのパケット送信間隔を徐々に狭めていき、何番目のパケットから受信間隔が送信間隔を上回るかを基に、可用帯域を推定する技術を開示する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１４２６２２号公報
【特許文献２】特開２００９−１１８２７２号公報
【特許文献３】特開２００５−１８４５８０号公報
【特許文献４】特開２０１２−１６０８３２号公報
【特許文献５】特開２０１１−１３５２０７号公報
【非特許文献】
【００１０】
【非特許文献１】Vinay Ribeiro, Rudolf Riedi, Richard Baraniuk, Jiri Navratil and Les Cottrell, "PathChirp：Efficient Available Bandwidth Estimation for Network Paths,", In PAM 2003, 4th Passive and Active Measurement Workshop (6 April 2002).
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献1および非特許文献1の技術は、背景トラフィックが映像のように間欠的に送信される場合に、可用帯域を正確に推定する技術は開示していない。これらの技術は、一つのパケット列の送信中には可用帯域が変動しないことを前提としている。よって、途中で背景トラフィックが増減し、変動する可用帯域においてはストリームの送信のタイミングを正確に推定できない。【００１２】
特許文献２の技術は、インターネットやモバイルネットワーク等のネットワークでは利用できない。即ち、特許文献２の技術は、対象とするネットワークの物理帯域に関する情報が必要であるのに対して、インターネットは、管理主体が異なるネットワークの集合であるので、一般的に物理帯域の情報は知ることができない。また、モバイルネットワークは、基地局と端末間の無線品質に応じて物理帯域は頻繁に変化するので、モバイルネットワークにおいても物理帯域に関する情報を使用するのは困難である。【００１３】
特許文献３の技術は、送信装置から受信装置へのストリーミングにおいて、事前に受信装置から送信装置へプローブパケットを送信して往復遅延およびジッタを測定する。そして特許文献３の技術は、ジッタの吸収とパケットロスの再送が可能になるようにストリームのバッファリング時間を決定する。しかしながら、特許文献３の技術では、プローブパケットによる遅延の測定は、事前(ストリーム送信開始前)に行うので、ストリーム送信中にデータ(パケット)送信のタイミングを推定することができない。【００１４】
特許文献４の技術では、送信側音声通信装置は、送信する音声が無音のときに音声の代わりに時刻情報を送信し、受信側音声通信装置は、受信したパケットの時刻情報をもとに片道分の遅延時間を算出する。しかしながら、特許文献４の技術は、送信するパケットに格納する情報を変更する技術であり、データ送信タイミングを推定することはできない。【００１５】
本発明は、上記の問題点を解決するべくなされた。本発明は、定期的に多くのデータが送信される場合であっても、ストリームの送信タイミングを高精度に推定することを主たる目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するため、本発明の第１の観点は、
データパケットおよびプローブパケットを送信するネットワークにおいて、プローブパケットを受信して、プローブパケットの遅延時間を算出し、算出された遅延時間を基に、データパケットの送信時刻を推定する、ストリーム受信装置である。【００１７】
本発明の第２の観点は、
上記に記載のストリーム受信装置と、
データパケットおよびプローブパケットを送信するストリーム送信装置とを備え、
ストリーム受信装置とストリーム送信装置とは、ネットワークを介して通信可能に接続される、
通信システムである。【００１８】
本発明の第３の観点は、
データパケットおよびプローブパケットを送信するネットワークにおいて、プローブパケットを受信し、
プローブパケットの遅延時間を算出し、
算出された遅延時間を基に、データパケットの送信時刻を推定する、
推定方法である。【００１９】
本発明の第４の観点は、
データパケットおよびプローブパケットを送信するネットワークにおいて
プローブパケットを受信し、プローブパケットの遅延時間を算出し、算出された遅延時間を基に、データパケットの送信時刻を推定する方法、をコンピュータに実行させるプログラムを格納する記録媒体である。
【発明の効果】
【００２０】
本発明によれば、定期的に多くのデータが送信される場合であっても、ストリームの送信タイミングを高精度に推定することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施形態に係る通信システムの構成例を示す図である。
【図２】本発明の第１の実施形態におけるストリーム送信部とストリーム受信部の動作の一例を説明するシーケンス図である。
【図３】本発明の第１の実施形態におけるプローブ送信部とタイミング推定部の動作の一例を説明するフローチャートである。
【図４】本発明の第１の実施形態における映像パケットとプローブパケットの遅延時間の変化の一例を説明するシーケンス図である。
【図５】プローブパケットの送信時刻と遅延時間との関係を説明する図である。
【図６】本発明の第２の実施形態に係る通信システムの構成例を示す図である。
【図７】帯域推定用のパケット列の一例を説明する図である。
【図８】可用帯域推定におけるプローブパケットサイズと遅延時間との関係を説明するグラフである。
【図９】映像ストリーム送信時のプローブパケットサイズと遅延時間との関係を説明する図である。
【図１０】本発明の第３の実施形態に係るストリーム受信装置の構成例を示す図である。
【図１１】本発明の各実施形態を実現するための情報処理装置の構成例を示す図である。
【発明を実施するための形態】
【００２２】
次に図面を参照して、本発明の実施形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は本発明の実施形態における構成を模式的に表している。更に以下に記載される本発明の実施形態は一例であり、その本質を同一とする範囲において適宜変更可能である。
【００２３】
＜第一の実施形態＞
（通信システム）
本発明の第１の実施形態に係る通信システム１００の構成について説明する。図１に示すように、通信システム１００は、ストリーム送信装置１０、ストリーム受信装置２０および中継装置５ａ、５ｂを備える。ストリーム送信装置１０は、ストリーム送信部１およびプローブ送信部２を備える。ストリーム受信装置２０は、ストリーム受信部３およびタイミング推定部４を備える。
【００２４】
ストリーム送信部１およびプローブ送信部２は、中継装置５ａと通信可能に接続している。ストリーム受信部３とタイミング推定部４は、中継装置５ｂと通信可能に接続している。また中継装置５ａと中継装置５ｂとの間も接続されている。ストリーム送信部１が送信したストリームは、中継装置５ａと５ｂを介して、ストリーム受信部３へ送られる。プローブ送信部２が送信したプローブパケットも、中継装置５ａと５ｂを介して、タイミング推定部４へ送信される。
【００２５】
ストリーム送信部１は、ストリームを送信する。ストリーム送信部１は、コンピュータ（不図示）に接続されたカメラ（不図示）等によって撮影された映像を、Ｈ.２６４等のコーデックでエンコードし、ＲＴＰ（Real-time Transport Protocol）ヘッダを付加してRTPパケットを作成する。そしてストリーム送信部１は、作成したＲＴＰパケットを、ストリーム受信部３へ向けて送信する。映像ストリームは、動画のもとになる静止画像の１コマ（以下、「フレーム」と記載）が複数枚集まって構成される。このフレームは、連続して表示されることにより、ユーザにとって動きのある映像が実現される。
【００２６】
ライブ映像を配信する場合等、ストリーム受信部３で映像が表示されるまでの待ち時間を短くしたい場合には、フレーム単位で送信処理が行われる。すなわち、ストリーム送信部１は、カメラから１フレーム分のデータを取得したら、取得したフレームをエンコードして送信する処理をフレーム毎に繰り返す。毎秒この処理が施されて送信されるフレームの数をｆｐｓ（frames per second）とした場合、この処理は１／ｆｐｓ（＝ａ）間隔で行われ、フレームは、この時間間隔（ａ）で送信される（図２参照）。このとき、各フレームのデータサイズは、図２にも概念的に示すように、ビットレートの設定値、フレームの種別、前後のフレームからの差分の大きさ等によって変化し、フレームが複数のパケットに分かれて送信される場合もある。
【００２７】
プローブ送信部２は、ストリームの送信タイミングを推定するためのプローブ（試験）パケットを送信する。プローブ送信部２は、例えば一定な時間間隔で一定サイズのプローブパケットをタイミング推定部４へ送信する。プローブパケットの送信間隔として、例えば1ミリ秒間隔としてもよいが、これに限定されるものではない。送信間隔を小さくするほど、プローブパケットのデータ量は大きくなり、タイミング推定の精度は向上する。そのため、タイミング推定部４は、要求される精度に応じて、送信間隔を変えてもよい。タイミング推定の精度を向上させるためには、プローブパケットの送信間隔は一定間隔とするのが望ましいが、一定間隔でなくてもよい。プローブパケットのサイズが、大きくなるほどネットワークの負荷が増大するため、そのサイズをできる限り小さくすることが望ましい。また、プローブ送信部２は、送信するプローブパケットのペイロードにプローブパケットの送信時刻を挿入（追加）する。
【００２８】
ストリーム受信装置２０側において、ストリーム受信部３は、ストリームを受信する。ストリーム受信部３は、ストリーム送信部１から送信された映像ストリームを受信し、ＲＴＰパケットの解析等を行う。この後、ストリーム受信部３は、受信した映像ストリームを、所定の映像コーデックを基にデコードすることにより、コンピュータに接続されたディスプレイ（不図示）に映像を表示する。
【００２９】
タイミング推定部４は、プローブ送信部２から送信されたプローブパケットを受信する時刻およびプローブパケットに含まれる送信時刻を基に、ストリームの送信タイミングを推定する。
【００３０】
中継装置５ａ、５ｂは、ストリームおよびプローブパケットの中継を行うルータ装置等である。中継装置５ａ、５ｂの間はインターネット等のＷＡＮ（Wide Area Network）で接続されている。これに対して、ストリーム送信装置１０と中継装置５ａとの間、またはストリーム受信装置２０と中継装置５ｂとの間は、ＬＡＮ（Local Area Network）によって接続されている。
【００３１】
尚、本実施形態の構成は一例であり、これに限定されるものではない。
【００３２】
ストリーム送信部１とプローブ送信部２とは、同一機器内に双方が搭載されていてもよく、個々の機器でもよい。ストリーム受信部３とタイミング推定部４とは、同一機器内に双方が搭載されていてもよく、個々の機器でもよい。
【００３３】
尚、上述した通信システム１００において、ストリーム送信装置１０およびストリーム受信装置２０は、以下の装置を備えていても良い。即ち、キーボード、タッチパネル等の入力装置、ディスプレイ等の出力装置、他装置との通信インターフェース等の通信制御装置、および、作業領域やデータの保存場所としての記憶装置等である（いずれも不図示）。
【００３４】
図１に示すストリーム送信部１、プローブ送信部２、ストリーム受信部３およびタイミング推定部４は、機能ブロック単位で表されたプログラムと捉えることができる。そしてこれらのプログラムは、図示しないコンピュータのＣＰＵ（Central Processing Unit）、図示しないＲＯＭ（Read Only Memory）や図示しないＲＡＭ(Random Access Memory)などに格納されている。図示しないＣＰＵがこれらのプログラムを適宜演算処理することでこれらの機能は実行される。尚、上述した各部は、電子回路等の専用のハードウェアで構成されていてもよい。
（通信システムの動作）
次に、本発明の第１の実施形態における通信システム１００の動作を説明する。
【００３５】
ストリーム送信部１およびストリーム受信部３の動作を図２に示すシーケンス図を用いて説明する。図中、ストリーム送信部１がストリームの送信準備を完了した時刻を０とする。ストリーム送信部は時刻ｂ（以下、「初回送出時刻ｂ」と記載する）に、映像ストリームを構成する最初のパケットをストリーム受信部３へ送出する。このときストリーム送信部１が送信するパケット数は複数であってもよい。複数のパケットを送信する場合、パケット間隔を空けずに送信してもよく、間隔を空けて送信してもよい。
【００３６】
初回送出時刻ｂから所定時刻までの間に送信すべきパケットの送信が完了すると、ストリーム送信部１は、暫くの間送信を停止する。ストリーム送信部１が、ある映像フレームを構成するデータを格納したパケットの送信を開始し、次の映像フレームを構成するデータを格納したパケットの送信を開始するまでの間を「時間間隔ａ」と仮定する。この場合に、ストリーム送信部１は、次の映像フレームのパケットを、初回送出時刻ｂに時間間隔ａを加えた、時刻（ａ＋ｂ）に送信する。次に時刻（２ａ＋ｂ）で再度パケットを送信し、暫くの間、パケットの送信を停止する。このようにストリーム送信部１は、時刻（ａｉ＋ｂ）でパケットの送出を開始するが、その後、一旦、パケットの送信を停止する。尚、ｉは０以上の整数である。即ち、ストリーム送信部１のパケットの送信には、一定の周期がある。
【００３７】
次に、プローブ送信部２およびタイミング推定部４の動作を図３に示すフローチャートを用いて説明する。
【００３８】
ステップＳ１０１において、プローブ送信部２は、タイミング推定部４に向けて複数のプローブパケットを送信する。プローブパケットの送信間隔は、例えば一定間隔で送信する方法が考えられるが、これに限定されるものではない。
【００３９】
ステップＳ１０２において、タイミング推定部４は、プローブ送信部２が送信したプローブパケットを受信する。
【００４０】
ステップＳ１０３において、タイミング推定部４は、各プローブパケットの受信時刻および各プローブパケットが含む送信時刻を基に、遅延時間を算出する。更にタイミング推定部４は、遅延時間から、ストリーム送信部１がストリームを送信するタイミング、すなわち、前述したストリーミング送信の時間間隔ａおよび初回送出時刻ｂを推定する。
【００４１】
ステップＳ１０４において、タイミング推定部４は、推定したタイミング（時間間隔ａ、初回送出時刻ｂ）を、プローブ送信部２に対して送信する。
【００４２】
ステップＳ１０５において、プローブ送信部２は、タイミング推定部４が送信した、推定されたタイミングを受信する。これにより、プローブ送信部２およびタイミング推定部４における動作を終了する。
【００４３】
次に、ステップＳ１０３で説明した、ストリーム送信部１から送信される映像パケットとプローブ送信部２から送信されるプローブパケットとの遅延時間について説明する。映像パケットとプローブパケットとの遅延状態を図４のグラフに示す。図中の実線の矢印が映像パケット、破線の矢印がプローブパケットを表す。ｐ１からｐ７はプローブパケットの識別子である。又図中に下向きに伸びる方向に示した実線は時刻（ｔ）を表す。
【００４４】
中継装置５ａ、５ｂ間のＷＡＮのリンク速度がＬＡＮに比べて遅い場合、先ず、映像パケットおよびプローブパケットは、中継装置５ａが備える一時記憶部（不図示）にキューとしてバッファリングされる。その後、中継装置５ａ、５ｂ間のネットワーク（ＷＡＮ）において直前のデータの送信が完了すると、次のデータは、中継装置５ａに到着した順にＷＡＮに送信される。そのため、中継装置５ａに映像パケットが到着する速度がＷＡＮのリンク速度に比べて大きいと、映像パケットおよびプローブパケットの両方に遅延が増加することになる。例えば、図４において、プローブパケットｐ２は、映像パケットの送信により、中継装置５ａから中継装置５ｂに辿り着くタイミングは遅れている。プローブパケットｐ３においては、より多くの映像パケットの送信により、中継装置５ａから中継装置５ｂに辿り着くタイミングはより遅れている。
【００４５】
そこで、タイミング推定部４は、このプローブパケットの遅延から映像パケットの送信タイミングを推定する。各プローブパケットの送信時刻と遅延時間の関係を表すグラフを図５に示す。同図のグラフ中、横軸は時刻（ｔ）を、縦軸は遅延時間を表す。横軸に示すｐ１からｐ７は、図４で示されたプローブパケットの識別子を表している。また、横軸に示す時刻軸に沿って示されている矩形領域ｑ１およびｑ２は、映像パケットが送信されている時間（期間）を表している。図５が示すグラフによれば、プローブパケットの遅延時間は、映像パケットの送信が開始されると増加し、映像パケットの送信がなくなると減少することが分かる。このことから、タイミング推定部４は、遅延が立ち上がるタイミングを検出し、そのタイミングを映像パケットの送信開始時刻（図２に示す初回送出時刻ｂ参照）の推定値と判断する。図５のグラフでは、ｐ１とｐ２との間の時刻で映像パケットの送信が開始されている、即ち、初回送出時刻ｂが存在する。
【００４６】
また、中継装置５ａ、５ｂ間において、映像パケットは図２や図４に示すように、初回送出時刻ｂの後に時間間隔ａ（１／ｆｐｓ）にて一定周期で送られる。このため、上述したプローブパケットの遅延時間の増加が映像パケットの時間間隔ａに伴い、定期的に発生することを予測することができる。
【００４７】
具体的には、時間間隔ａは、遅延時間の時系列データに対して、自己相関が最大となる値を求めることで推定する。例えば、映像パケットを送信する時間間隔ａが１００ミリ秒（１０ｆｐｓ）の場合、プローブパケットの送信間隔を１ミリ秒とすると、遅延の立ち上がりがプローブパケット１００個おきに発生する。すなわち、図５のｐ１、ｐ２、ｐ３、…の遅延時間と、ｐ１０１、ｐ１０２、ｐ１０３（図示せず）、…の遅延時間のグラフとは非常に近い形になる。自己相関関数は、時系列データを１点ずつずらしていった場合のグラフの形の類似性を表す関数である。そのため、上記の例では、１００点ずらした場合の自己相関が最大となるので、自己相関が最大となる点を時間間隔ａの推定値とする。ただし、誤差等で１００の倍数の時間間隔で自己相関が最大となり誤判定することが考えられるので、自己相関が規定値以上となるものの中で最小のずらし幅のものを推定値としてもよい。
【００４８】
図５に示されるプローブパケットｐ１とｐ２との間で、映像パケットの送信（送出）が開始された時刻をより正確に推定する場合、タイミング推定部４は、１）プローブパケットの送信間隔を短くする方法、あるいは、２）遅延時間の増加（又は減少）の傾きから推定する方法を実行する。即ち、１）の方法では、プローブパケットｐ１とｐ２との間で送信が開始されていることを特定した後、この間のプローブパケット送信間隔を短縮する。２）の方法では、ｐ２とｐ３を結ぶ直線の方程式を求め、この方程式で遅延がｐ１と同値になる時刻を映像パケットの送信時刻と推定する。
【００４９】
以上説明したように、本発明の第１の実施形態においては、定期的に多くのデータが送信される場合であっても、タイミング推定部４が背景トラフィック量の変化を把握し、プローブパケットの遅延時間変化を用いて送信タイミングを推定する。これにより、ストリームの送信タイミングを高精度に推定することができる。
【００５０】
本実施形態では、データパケットに映像パケットを使用する通信システムを例として説明した。しかし、定期的にパケットを送信するアプリケーションであれば、通信システムが使用するデータパケットは、映像パケットに限定されない。例えば、センサから一定間隔でサーバに観測データを送信するシステムにも適用することが可能である。
【００５１】
本実施形態では、プローブパケットを一定間隔で送信し続ける方法を記載したが、プローブパケットの遅延時間が立ち上がる時刻を特定できれば、一定間隔で送信し続けなくともストリームの送信タイミングを推定することは可能である。第２の実施形態においてはプローブパケットの遅延時間が立ち上がる時刻を用いて、ストリームの送信タイミングを推定する技術について説明する。
【００５２】
＜第２の実施形態＞
（通信システム）
本発明の第２の実施形態に係る通信システム２００について説明する。図６に示すように、第２の実施形態に係る通信システム２００は、ストリーム送信装置１０、ストリーム受信装置２０ａおよび中継装置５ａ、５ｂを備える。ストリーム受信装置２０ａは、ストリーム受信部３およびタイミング推定部１４を備える。タイミング推定部１４は、可用帯域推定のためのプローブパケット列を用いて映像パケットの送信タイミングを推定する。その他の構成については第１の実施形態と同様であるため説明を省略する。
【００５３】
可用帯域推定に使用する一般的なプローブパケット列のグラフを図７に示す。図中の横軸はプローブパケットを送信した時刻、縦軸はプローブパケットのサイズを示している。図中のｓ１からｓｎは、プローブパケットの識別子を表している。プローブパケットの送信間隔を一定とし、サイズを徐々に増加させてプローブパケットｓ１〜ｓｎを送信する（これは時系列に沿ってプローブパケットのビットレートが徐々に増加していくことを意味する）。ビットレートがネットワークの可用帯域を上回ると、プローブパケットが中継装置５ａのキュー（記憶領域：不図示）に一時記憶されるので、パケットの遅延時間が徐々に増加する。タイミング推定部１４は、この性質を利用し、遅延時間が増加し始めたサイズのプローブパケットを基に可用帯域を推定する。尚、プローブパケットのサイズはキューのサイズに依存して決定されてもよい。更に、各プローブパケットのサイズおよび送信間隔は映像パケットのサイズを考慮し、映像パケットの送信時に検出が可能な様に設定されてもよい。仮に、例えば、送信タイミングを推定すべき映像パケットのサイズが小さい場合は、プローブパケットおよび映像パケットの合計サイズがキューのサイズを越えるようにプローブパケットのサイズを設定しても良い。
【００５４】
映像トラフィックがない場合、図７に示すプローブパケットｓ１〜ｓｎのサイズ（横軸）と遅延時間（縦軸）の関係を示す直線グラフは理論上正比例する（不図示）。しかしながら、計測すると、プローブパケットｓ１〜ｓｎのサイズと遅延時間の関係は、プローブパケット送信開始時から暫くの間は緩やかな傾きで右肩上がりに上昇するが、ある一定の時点から急は傾きとなる。これは当該時点においてプローブパケットサイズが可用帯域を上回ったためと考えられる。例えば、図８を参照すると、プローブパケットサイズｓｘ（ｘは任意の整数）を境に、遅延の傾きが増加している。よって、タイミング推定部１４は、以下の式（１）で得られる値を可用帯域の推定値（単位はbps（bits per second））とする。「／」は除算を表す。
【００５５】
（ｓｘ[バイト]×8[ビット／バイト]）／（プローブパケット送信間隔[秒]）・・・式（１）
タイミング推定部１４は、式（１）で求めた可用帯域推定値を考慮して、プローブパケットサイズがｓｘより大きな各パケットに対する遅延時間の理論値を算出する。例えば、可用帯域推定値を越えた（キューに格納された）パケットの遅延時間を遅延時間に加算してもよい。可用帯域に達するまでのプローブパケットサイズ（遅延時間）および可用帯域に達した後の遅延時間理論値を基に得られる曲線を、理想曲線と呼ぶ。ネットワークにおけるパケットの送受信（背景トラフィック）が一定の場合は、プローブパケットの遅延はこの理想曲線上に沿うと予測される。
【００５６】
プローブパケット送信中に、映像ストリームの送信が開始された場合の、プローブパケットのサイズ（横軸）と遅延時間（縦軸）との関係の一例を表すグラフを図９に示す。サイズｓｘのプローブパケット送信時に映像ストリームの送信が開始された場合、映像トラフィックの影響で可用帯域が低下する。これにより、プローブパケットの遅延時間の傾きは、理想曲線より大きくなる。そこで、タイミング推定部１４は、プローブパケットの遅延時間の傾きが理想曲線よりも大幅に大きくなる最初の時点（理想曲線から乖離した場所）、例えば図９においてはサイズｓｘのプローブパケットが送信された時刻を、映像ストリームの送信が開始された時刻と推定する。尚、プローブパケットが送信された時刻は、理想曲線上の何れであってもよく、映像ストリームが送信されると（一般的に映像ストリームには膨大なパケット送信を必要とするため）、その映像ストリームの送信時刻直後に送信されたプローブパケットサイズを示す値（図９に示す理想曲線上の丸点）は、同様に理想曲線から乖離する。この乖離状態を観察することで、映像ストリームの送信時刻を推定する。
【００５７】
本発明の第２の実施形態においては、第１の実施形態の効果に加え、ネットワークトラフィックにより遅延が発生する場合であっても、遅延時間の理想曲線を生成し、当該理想曲線からの乖離状態を観察して映像ストリームの送信タイミングを推定することができる。これにより、第１の実施形態にて用いられたタイミング推定用のパケットを送信しつづける必要がなくなる。ひいては、ネットワークに流れるデータ量を削減することができる。
【００５８】
＜第３の実施形態＞
（ストリーム受信装置）
本発明の第３の実施形態に係るストリーム受信装置２０ｂについて説明する。図１０に示すように、第３の実施形態に係るストリーム受信装置２０ｂは、データパケットおよびプローブパケットを送受信するネットワークにおいて、プローブパケットを受信して、プローブパケットの遅延時間を算出し、算出された遅延時間を基に、データパケットの送信時刻を推定する。尚、図１０中の矢印の方向は、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００５９】
本発明の第３の実施形態によれば、定期的に多くのデータが送信される場合であっても、背景トラフィック量の変化を把握することで、ストリームの送信タイミングを推定することができる。
【００６０】
本発明の各実施形態において、各装置（システム）の各構成要素は、機能単位のブロックを示している。各装置（システム）の各構成要素の一部又は全部は、例えば図１１に示すような情報処理装置５００とプログラムとの任意の組み合わせにより実現される。情報処理装置５００は、一例として、以下のような構成を含む。
【００６１】
・ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１
・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２
・ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３
・ＲＡＭ５０３にロードされるプログラム５０４
・プログラム５０４を格納する記憶装置５０５
・記録媒体５０６の読み書きを行うドライブ装置５０７
・ネットワーク５０９と接続する通信インターフェース５０８
・データの入出力を行う入出力インターフェース５１０
・各構成要素を接続するバス５１１
各実施形態における各装置の各構成要素は、これらの機能を実現するプログラム５０４をＣＰＵ５０１が取得して実行することで実現される。各装置の各構成要素の機能を実現するプログラム５０４は、例えば、予め記憶装置５０５やＲＡＭ５０３に格納されており、必要に応じてＣＰＵ５０１が読み出す。なお、プログラム５０４は、ネットワーク５０９を介してＣＰＵ５０１に供給されてもよいし、予め記録媒体５０６に格納されており、ドライブ装置５０７が当該プログラムを読み出してＣＰＵ５０１に供給してもよい。
【００６２】
各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個の情報処理装置５００とプログラムとの任意の組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つの情報処理装置５００とプログラムとの任意の組み合わせにより実現されてもよい。
【００６３】
また、各装置の各構成要素の一部又は全部は、その他の汎用または専用の回路 、プロセッサ等やこれらの組み合わせによって実現される。これらは、単一のチップ によって構成されてもよいし、バスを介して接続される複数のチップ によって構成されてもよい。
【００６４】
各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【００６５】
各装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々がネットワークを介して接続される形態として実現されてもよい。
【００６６】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【００６７】
この出願は２０１４年１２月２２日に出願された日本出願特願２０１４−２５９００７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００６８】
１      ストリーム送信部
２      プローブ送信部
３      ストリーム受信部
４、１４      タイミング推定部
５ａ      中継装置
５ｂ      中継装置
１０      ストリーム送信装置
２０、２０ａ、２０ｂ      ストリーム受信装置
１００      通信システム
２００      通信システム
【図１】
2016103674.tif 000003
【図２】
2016103674.tif 000004
【図３】
2016103674.tif 000005
【図４】
2016103674.tif 000006
【図５】
2016103674.tif 000007
【図６】
2016103674.tif 000008
【図７】
2016103674.tif 000009
【図８】
2016103674.tif 000010
【図９】
2016103674.tif 000011
【図１０】
2016103674.tif 000012
【図１１】
2016103674.tif 000013
【手続補正書】
【提出日】平成29年6月8日(2017.6.8)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
データパケットおよびプローブパケットを送信するネットワークにおいて
前記プローブパケットを受信し、前記プローブパケットの遅延時間を算出し、算出された前記遅延時間を基に、前記データパケットの送信時刻を推定する方法、
をコンピュータに実行させるストリーム送信タイミング推定プログラム。
【国際調査報告】
2016103674.tif 000014
2016103674.tif 000015