(57)【要約】【課題】帯域の計測条件の相互関係に起因する計測精度の劣化を抑制することができる通信装置、通信方法、および通信プログラムを提供する。【解決手段】所定条件を満たす必要範囲Ｒｍが可用帯域の計測結果に基づいて決定された探索範囲Ｒｓを超える場合（Ｓ２５：ＹＥＳ）、探索範囲Ｒｓに含まれる全帯域を網羅するように複数の小探索区間が設定される（Ｓ２９）。このとき、少なくとも１つの小探索区間は、隣り合う他の小探索区間に対して、各々に含まれる帯域が一部重複するように設定される。設定された各小探索区間に含まれる各送信帯域で、データがネットワークを介して受信装置へ順次送信される。データの送信間隔と受信間隔とに基づいて、可用帯域が計測される。【選択図】図３
2013031011.tif 000002
【特許請求の範囲】
【請求項１】
データの送信帯域を変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置であって、
前記可用帯域の計測結果に基づいて、次回の計測対象となる帯域の範囲である探索範囲を決定する範囲決定手段と、
所定条件を満たす帯域の範囲である基準範囲が、前記範囲決定手段によって決定された前記探索範囲を超えるか否かを判断する判断手段と、
前記判断手段によって前記基準範囲が前記探索範囲を超えると判断された場合、前記範囲決定手段によって決定された前記探索範囲の一部を占める帯域の範囲である小探索区間を、複数の前記小探索区間で前記探索範囲に含まれる全帯域を網羅するように、且つ、少なくとも１つ以上の隣り合う前記小探索区間にそれぞれ含まれる帯域が一部重複するように設定する小区画設定手段と、
前記小区画設定手段によって設定された複数の前記小探索区間ごとに、前記小探索区間に含まれる複数の前記送信帯域で前記データを、ネットワークを介して受信装置へ順次送信するデータ送信手段と、
前記データ送信手段によって前記データが送信される間隔と、前記データが前記受信装置で受信される間隔とに基づいて、前記可用帯域を計測する可用帯域計測手段と
を備えたことを特徴とする通信装置。
【請求項２】
前記範囲決定手段によって決定された前記探索範囲に応じて、あらかじめ定められた条件である、前記送信帯域のサンプリング数、隣り合う前記送信帯域間の差分量、および送信可能な前記データの最大サイズを全て満たす帯域の範囲を、前記基準範囲として算出する基準範囲算出手段を備え、
前記判断手段は、前記基準範囲算出手段によって算出された前記基準範囲が、前記範囲決定手段によって決定された前記探索範囲を超えるか否かを判断することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記小区画設定手段は、隣り合う前記小探索区間の重複する帯域幅がそれぞれ等しくなるように、複数の前記小探索区間を設定することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記小区画設定手段は、前記通信装置における前記データの処理時間に関する誤差、および前記ネットワークにおける前記データの転送時間に関する誤差の少なくとも一方が所定値以上である場合、隣り合う前記小探索区間の重複する帯域幅に共通の前記送信帯域が含まれるように、複数の前記小探索区間を設定することを特徴とする請求項１または２に記載の通信装置。
【請求項５】
前記可用帯域の計測結果を統計処理して、過去に計測された前記可用帯域の分布を特定する分布特定手段を備え、
前記小区画設定手段は、前記分布特定手段によって特定された前記可用帯域の分布に基づいて、前記可用帯域の発生頻度が相対的に高い帯域が、前記可用帯域の発生頻度が相対的に低い帯域よりも、隣り合う前記小探索区間の重複する帯域幅に含まれる割合が大きくなるように、複数の前記小探索区間を設定することを特徴とする請求項１または２に記載の通信装置。
【請求項６】
前記小区画設定手段は、前記データ送信手段によって送信される前記データの損失率に基づいて、前記探索範囲に含まれる全ての前記送信帯域の平均値が前回の計測結果に示される前記可用帯域よりも小さくなるように、複数の前記小探索区間を設定することを特徴とする請求項１または２に記載の通信装置。
【請求項７】
データの送信帯域を変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置によって行われる通信方法であって、
前記可用帯域の計測結果に基づいて、次回の計測対象となる帯域の範囲である探索範囲を決定する範囲決定ステップと、
所定条件を満たす帯域の範囲である基準範囲が、前記範囲決定ステップによって決定された前記探索範囲を超えるか否かを判断する判断ステップと、
前記判断ステップによって前記基準範囲が前記探索範囲を超えると判断された場合、前記範囲決定ステップによって決定された前記探索範囲の一部を占める帯域の範囲である小探索区間を、複数の前記小探索区間で前記探索範囲に含まれる全帯域を網羅するように、且つ、隣り合う前記小探索区間にそれぞれ含まれる帯域が一部重複するように設定する小区画設定ステップと、
前記小区画設定ステップによって設定された複数の前記小探索区間ごとに、前記小探索区間に含まれる複数の前記送信帯域で前記データを、ネットワークを介して受信装置へ順次送信するデータ送信ステップと、
前記データ送信ステップによって前記データが送信される間隔と、前記データが前記受信装置で受信される間隔とに基づいて、前記可用帯域を計測する可用帯域計測ステップと
を備えたことを特徴とする通信方法。
【請求項８】
データの送信帯域を変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置を制御する通信プログラムであって、
コンピュータに、
前記可用帯域の計測結果に基づいて、次回の計測対象となる帯域の範囲である探索範囲を決定する範囲決定ステップと、
所定条件を満たす帯域の範囲である基準範囲が、前記範囲決定ステップによって決定された前記探索範囲を超えるか否かを判断する判断ステップと、
前記判断ステップによって前記基準範囲が前記探索範囲を超えると判断された場合、前記範囲決定ステップによって決定された前記探索範囲の一部を占める帯域の範囲である小探索区間を、複数の前記小探索区間で前記探索範囲に含まれる全帯域を網羅するように、且つ、隣り合う前記小探索区間にそれぞれ含まれる帯域が一部重複するように設定する小区画設定ステップと、
前記小区画設定ステップによって設定された複数の前記小探索区間ごとに、前記小探索区間に含まれる複数の前記送信帯域で前記データを、ネットワークを介して受信装置へ順次送信するデータ送信ステップと、
前記データ送信ステップによって前記データが送信される間隔と、前記データが前記受信装置で受信される間隔とに基づいて、前記可用帯域を計測する可用帯域計測ステップと
を実行させることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介したデータ通信時に帯域計測を行う通信装置、通信方法、および通信プログラムに関する。
【背景技術】
【０００２】
インターネット等の公衆ネットワークでは、帯域（帯域幅：Ａｖａｉｌａｂｌｅ  Ｂａｎｄｗｉｄｔｈ）に適した伝送速度でデータを送受信する必要がある。特に、ネットワークを介して音声データ等のメディアデータを送受信してテレビ会議を行う通信装置の場合は、適した伝送速度でメディアデータをリアルタイムに送受信する必要がある。しかし、このようなネットワークでは、通信装置間でのデータ通信に使用できる帯域（以下、「可用帯域」という。）は、地域、プロバイダ、時間帯等の状況によって変動する。そのため、通信装置間でデータ通信が行われている間に可用帯域が小さくなると、通信装置が実際に利用している帯域（以下、「利用帯域」という。）が可用帯域よりも大きくなって、データの輻輳、パケットロス等の問題を生じるおそれがある。一方、通信装置間でデータ通信が行われている間に可用帯域が大きくなると、データ通信に使用されない帯域が増大し、帯域を有効に使用できないという問題を生じる。
【０００３】
非特許文献１は、メディアデータの送受信を行いながら、変動する帯域を計測するための計測方式を開示している。非特許文献１が開示している計測方式では、まず、送信側の通信装置では、帯域の計測対象範囲である探索範囲が設定される。探索範囲が複数の小探索区間に分割されて、各小探索区間内でデータの送信帯域が決定される。送信間隔を変更しながら連続してデータが送信されることで、決定した送信帯域でデータが送信される。受信側の通信装置では、データの送信間隔と受信間隔との差分が算出され、算出された複数の差分の値の変化傾向から現在の帯域が計測される。１回の帯域の計測が終了すると、過去の計測結果に基づいて次の帯域の探索範囲が設定され、次の計測処理が行われる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】津川知朗、ＣａｏＬｅ  Ｔｈａｎｈ  Ｍａｎ、長谷川剛、村田正幸、「インラインネットワーク計測手法ＩｍＴＣＰおよびその応用手法の実装および性能評価」、電子情報通信学会技術研究報告（ＩＮ２００５−１２０）、ｐ．７９−８４、２００５年１２月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１に開示の計測方式では、１回の帯域計測の実行範囲（以下、探索範囲という。）の帯域幅、探索範囲内に設定される送信帯域のサンプリング数、および隣り合う送信帯域の差分量（以下、送信帯域間隔という。）に起因して、以下のように計測精度が低下することがある。
【０００６】
例えば、データ送受信に関する時間制御（例えば、送信間隔の制御）の精度は、通信装置のタイマ粒度や中継装置のパケット転送間隔などに依存する。送信帯域間隔が小さくなりすぎると、通信装置のタイマ粒度や中継装置のパケット転送間隔では正確に対応できなくなるおそれがある。この場合、計測対象として決定された送信帯域で、データを正確に送信できないおそれがある。したがって、上記の時間制御の精度を確保するために、送信帯域間隔を最小処理間隔（詳細には、タイマ粒度やパケット転送間隔における最小単位の処理時間）で調整可能な大きさに決定することが好ましい。
【０００７】
また、探索範囲の帯域幅（以下、探索範囲幅という。）が大きくなると、可用帯域よりも大きな帯域に送信されるデータ量が多くなる。そうすると、帯域計測時にパケットロスを生じる可能性が高くなるおそれがあるため、探索範囲幅はより小さい方が好ましい。
【０００８】
さらに、送信帯域のサンプリング数（以下、帯域サンプリング数という。）が少なくなると、帯域計測の分解能が低下する。そうすると、帯域計測の精度が劣化するおそれがあるため、帯域サンプリング数はより大きい方が好ましい。
【０００９】
しかしながら、例えばデータを正確に送信する目的で送信帯域間隔を大きくする場合には、それに伴って探索範囲幅が大きくなる。送信帯域間隔を維持しながら探索範囲幅の増加を抑制するためには、帯域サンプリング数を小さくする必要がある。つまり、探索範囲幅、送信帯域間隔、帯域サンプリング数という３つの計測条件は、いずれかを優先すれば、残りを犠牲にしなければならない相互関係（いわゆる、トレードオフ関係）にある。そのため、これら３つの計測条件を適正な計測精度を確保できる関係に維持できない場合には、上記のように計測精度が低下するおそれがあった。
【００１０】
本発明は、帯域の計測条件の相互関係に起因する計測精度の劣化を抑制することができる通信装置、通信方法、および通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第一態様に係る通信装置は、データの送信帯域を変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置であって、前記可用帯域の計測結果に基づいて、次回の計測対象となる帯域の範囲である探索範囲を決定する範囲決定手段と、所定条件を満たす帯域の範囲である基準範囲が、前記範囲決定手段によって決定された前記探索範囲を超えるか否かを判断する判断手段と、前記判断手段によって前記基準範囲が前記探索範囲を超えると判断された場合、前記範囲決定手段によって決定された前記探索範囲の一部を占める帯域の範囲である小探索区間を、複数の前記小探索区間で前記探索範囲に含まれる全帯域を網羅するように、且つ、少なくとも１つ以上の隣り合う前記小探索区間にそれぞれ含まれる帯域が一部重複するように設定する小区画設定手段と、前記小区画設定手段によって設定された複数の前記小探索区間ごとに、前記小探索区間に含まれる複数の前記送信帯域で前記データを、ネットワークを介して受信装置へ順次送信するデータ送信手段と、前記データ送信手段によって前記データが送信される間隔と、前記データが前記受信装置で受信される間隔とに基づいて、前記可用帯域を計測する可用帯域計測手段とを備えている。
【００１２】
上記第一態様によれば、所定条件を満たす基準範囲が可用帯域の計測結果に基づいて決定された探索範囲を超える場合、その探索範囲に含まれる全帯域を網羅するように複数の小探索区間が設定される。このとき、少なくとも１つの小探索区間は、隣り合う他の小探索区間に対して、各々に含まれる帯域が一部重複するように設定される。設定された各小探索区間に含まれる各送信帯域で、データがネットワークを介して受信装置へ順次送信される。データの送信間隔と受信間隔とに基づいて、可用帯域が計測される。このように、探索範囲内で小探索区間の一部を重複して配置することで、３つの計測条件（探索範囲幅、送信帯域間隔、帯域サンプリング数）のトレードオフ関係という制約を解消できる。ひいては、これらの計測条件を適正な計測精度を確保できる関係に維持して、帯域の計測条件の相互関係に起因する計測精度の劣化を抑制することができる。
【００１３】
上記第一態様において、前記範囲決定手段によって決定された前記探索範囲に応じて、あらかじめ定められた条件である、前記送信帯域のサンプリング数、隣り合う前記送信帯域間の差分量、および送信可能な前記データの最大サイズを全て満たす帯域の範囲を、前記基準範囲として算出する基準範囲算出手段を備え、前記判断手段は、前記基準範囲算出手段によって算出された前記基準範囲が、前記範囲決定手段によって決定された前記探索範囲を超えるか否かを判断してもよい。この場合、決定された探索範囲に応じて、あらかじめ定められた条件を全て満たす基準範囲が決定される。この基準範囲を基準とすることで、探索範囲が適正な計測精度を確保できるか否かを正確に判断することできる。
【００１４】
上記第一態様において、前記小区画設定手段は、隣り合う前記小探索区間の重複する帯域幅がそれぞれ等しくなるように、複数の前記小探索区間を設定してもよい。この場合、隣り合う小探索区間が重複する帯域を探索範囲内で均等に分散させることができ、ひいては探索範囲をバランスよく正確に計測することができる。
【００１５】
上記第一態様において、前記小区画設定手段は、前記通信装置における前記データの処理時間に関する誤差、および前記ネットワークにおける前記データの転送時間に関する誤差の少なくとも一方が所定値以上である場合、隣り合う前記小探索区間の重複する帯域幅に共通の前記送信帯域が含まれるように、複数の前記小探索区間を設定してもよい。この場合、異なる小探索区間でパケットが送信される同一の送信帯域（つまり、重複計測される送信帯域）については、各回の計測結果に基づいて算出した平均値をその送信帯域の計測結果として取得することで、処理時間の揺らぎを抑制した計測結果を得ることができる。
【００１６】
上記第一態様において、前記可用帯域の計測結果を統計処理して、過去に計測された前記可用帯域の分布を特定する分布特定手段を備え、前記小区画設定手段は、前記分布特定手段によって特定された前記可用帯域の分布に基づいて、前記可用帯域の発生頻度が相対的に高い帯域が、前記可用帯域の発生頻度が相対的に低い帯域よりも、隣り合う前記小探索区間の重複する帯域幅に含まれる割合が大きくなるように、複数の前記小探索区間を設定してもよい。この場合、複数の小探索区間は、可用帯域の発生頻度が相対的に高い帯域が、可用帯域の発生頻度が相対的に低い帯域よりも、隣り合う小探索区間の重複する帯域幅に含まれる割合が大きくなるように設定される。したがって、過去の計測結果に基づいて、可用帯域を特定する確率が高い帯域を重点的に計測することができる。
【００１７】
上記第一態様において、前記小区画設定手段は、前記データ送信手段によって送信される前記データの損失率に基づいて、前記探索範囲に含まれる全ての前記送信帯域の平均値が前回の計測結果に示される前記可用帯域よりも小さくなるように、複数の前記小探索区間を設定してもよい。この場合、送信帯域の平均値を下げることができ、ひいては帯域計測を伴うデータ通信時のロス率を抑制することができる。
【００１８】
本発明の第二態様に係る通信方法は、データの送信帯域を変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置によって行われる通信方法であって、前記可用帯域の計測結果に基づいて、次回の計測対象となる帯域の範囲である探索範囲を決定する範囲決定ステップと、所定条件を満たす帯域の範囲である基準範囲が、前記範囲決定ステップによって決定された前記探索範囲を超えるか否かを判断する判断ステップと、前記判断ステップによって前記基準範囲が前記探索範囲を超えると判断された場合、前記範囲決定ステップによって決定された前記探索範囲の一部を占める帯域の範囲である小探索区間を、複数の前記小探索区間で前記探索範囲に含まれる全帯域を網羅するように、且つ、少なくとも１つ以上の隣り合う前記小探索区間にそれぞれ含まれる帯域が一部重複するように設定する小区画設定ステップと、前記小区画設定ステップによって設定された複数の前記小探索区間ごとに、前記小探索区間に含まれる複数の前記送信帯域で前記データを、ネットワークを介して受信装置へ順次送信するデータ送信ステップと、前記データ送信ステップによって前記データが送信される間隔と、前記データが前記受信装置で受信される間隔とに基づいて、前記可用帯域を計測する可用帯域計測ステップとを備えている。
【００１９】
本発明の第三態様に係る通信プログラムは、データの送信帯域を変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置を制御する通信プログラムであって、コンピュータに、前記可用帯域の計測結果に基づいて、次回の計測対象となる帯域の範囲である探索範囲を決定する範囲決定ステップと、所定条件を満たす帯域の範囲である基準範囲が、前記範囲決定ステップによって決定された前記探索範囲を超えるか否かを判断する判断ステップと、前記判断ステップによって前記基準範囲が前記探索範囲を超えると判断された場合、前記範囲決定ステップによって決定された前記探索範囲の一部を占める帯域の範囲である小探索区間を、複数の前記小探索区間で前記探索範囲に含まれる全帯域を網羅するように、且つ、少なくとも１つ以上の隣り合う前記小探索区間にそれぞれ含まれる帯域が一部重複するように設定する小区画設定ステップと、前記小区画設定ステップによって設定された複数の前記小探索区間ごとに、前記小探索区間に含まれる複数の前記送信帯域で前記データを、ネットワークを介して受信装置へ順次送信するデータ送信ステップと、前記データ送信ステップによって前記データが送信される間隔と、前記データが前記受信装置で受信される間隔とに基づいて、前記可用帯域を計測する可用帯域計測ステップとを実行させる。
【００２０】
上記第二、第三態様によれば、上記第一態様と同様に、所定条件を満たす基準範囲が可用帯域の計測結果に基づいて決定された探索範囲を超える場合、その探索範囲に含まれる全帯域を網羅するように複数の小探索区間が設定される。このとき、少なくとも１つの小探索区間は、隣り合う他の小探索区間に対して、各々に含まれる帯域が一部重複するように設定される。設定された各小探索区間に含まれる各送信帯域で、データがネットワークを介して受信装置へ順次送信される。データの送信間隔と受信間隔とに基づいて、可用帯域が計測される。このように、探索範囲内で小探索区間の一部を重複して配置することで、３つの計測条件（探索範囲幅、送信帯域間隔、帯域サンプリング数）のトレードオフ関係という制約を解消できる。ひいては、これらの計測条件を適正な計測精度を確保できる関係に維持して、帯域の計測条件の相互関係に起因する計測精度の劣化を抑制することができる。
【図面の簡単な説明】
【００２１】
【図１】通信装置１の電気的構成および帯域計測システム１００の構成を示す図である。
【図２】通信処理のフローチャートである。
【図３】計測パラメータ決定処理のフローチャートである。
【図４】必要範囲決定処理のフローチャートである。
【図５】送信条件決定処理のフローチャートである。
【図６】探索範囲Ｒｓと必要範囲Ｒｍとの関係を示すグラフである。
【図７】第一実施形態の重畳送信帯域決定処理のフローチャートである。
【図８】区間幅決定処理のフローチャートである。
【図９】最小送信間隔算出処理のフローチャートである。
【図１０】第一実施形態の小探索区間の配置態様を示すグラフである。
【図１１】第二実施形態の重畳送信帯域決定処理のフローチャートである。
【図１２】第二実施形態の小探索区間の配置態様を示すグラフである。
【図１３】第三実施形態の重畳送信帯域決定処理のフローチャートである。
【図１４】探索範囲Ｒｓと量子化表との関係を示すグラフである。
【図１５】量子化表に基づく小探索区間の配置態様を示すグラフである。
【図１６】小探索区間に基づく量子化表の更新態様を示すグラフである。
【図１７】第三実施形態の小探索区間の配置態様を示すグラフである。
【図１８】第四実施形態の重畳送信帯域決定処理のフローチャートである。
【図１９】目標値決定処理のフローチャートである。
【図２０】探索範囲Ｒｓと小探索区間（奇数）の関係を示すグラフである。
【図２１】探索範囲Ｒｓと小探索区間（偶数）の関係を示すグラフである。
【図２２】第四実施形態の小探索区間の配置態様を示すグラフである。
【発明を実施するための形態】
【００２２】
以下、本発明の通信装置を具現化した一実施の形態である通信装置１、および複数の通信装置１を備えた帯域計測システム１００について、図面を参照して説明する。参照する図面は、本発明が採用し得る技術的特徴を説明するために用いられるものである。図面に記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【００２３】
［第一実施形態］
図１〜図１０を参照して、本発明の第一実施形態を説明する。まず、帯域計測システム１００について説明する。図１に示すように、帯域計測システム１００は、少なくとも２つの通信装置１を備える。通信装置１は、ネットワーク８を介して他の通信装置１と接続する。通信装置１は、他の通信装置１との間で各種データの通信を行う。  
【００２４】
一例として、帯域計測システム１００は、複数の拠点のユーザがテレビ会議を行うためのテレビ会議システムである。各通信装置１は、画像データおよび音声データを互いに送受信することで、複数の拠点の映像および音声を共有する。通信装置１は、ネットワーク１を介したデータ通信を実行できるものであればよい。具体的には、テレビ会議を実行するために各拠点に配置される専用のテレビ会議端末であってもよいし、種々の情報処理を行うパーソナルコンピュータであってもよい。
【００２５】
帯域計測システム１００では、各通信装置１が画像データおよび音声データをパケット化して送受信しつつ、通信相手の通信装置１との間で使用可能な帯域が計測される。使用可能な帯域を越える伝送速度でパケットが送信されると、パケットロス、送信遅延等が生じる。一方、伝送速度を低くしすぎると、帯域を十分に活用することができず、効率が悪い。従って、各通信装置１は、計測された帯域に合わせて伝送速度を制御する。ここで、「使用可能な帯域」とは、送信側の通信装置１が送信するデータの伝送速度とほぼ等しい伝送速度で受信側の通信装置１がデータを受信できる最大の伝送速度をいう。帯域と、各通信装置１間の伝送速度とを比較するため、帯域を伝送路容量（ｂｐｓ）で表す。
【００２６】
通信装置１の電気的構成について説明する。図１に示すように、通信装置１は、通信装置１の制御を司るＣＰＵ１０を備えている。ＣＰＵ１０には、ＲＯＭ１１、ＲＡＭ１２、ハードディスクドライブ（以下、「ＨＤＤ」という。）１３、および入出力インターフェース１９が、バス１８を介して接続されている。ＲＯＭ１１は、通信装置１を動作させるためのプログラムおよび初期値等を記憶している。ＲＡＭ１２は、制御プログラムで使用される各種の情報を一時的に記憶する。ＨＤＤ１３は、制御プログラムや帯域計測の計測結果等などを記憶する不揮発性の記憶装置である。ＨＤＤ１３の代わりに、ＥＥＰＲＯＭまたはメモリカード等の記憶装置を用いてもよい。
【００２７】
入出力インターフェース１９には、音声入力処理部２１、音声出力処理部２２、映像入力処理部２３、映像出力処理部２４、操作部２５、および外部通信Ｉ／Ｆ２６が接続されている。音声入力処理部２１は、音声を入力するマイク３１からの音声データの入力を処理する。音声出力処理部２２は、音声を出力するスピーカ３２の動作を処理する。映像入力処理部２３は、映像を撮像するカメラ３３からの動画データの入力を処理する。映像出力処理部２４は、映像を表示する表示装置３４の動作を処理する。操作部２５は、ユーザが通信装置１に各種指示を入力するために用いられる。操作部２５は、通信装置１の外部から入出力インターフェース１９へ接続されるキーボードおよびマウス等であってもよい。外部通信Ｉ／Ｆ２６は、通信装置１をネットワーク８に接続する。
【００２８】
本実施形態の帯域計測システム１００で用いられる帯域計測方式について、概略的に説明する。帯域計測システム１００では、以下の文献に記載されている帯域計測方式が利用される。「津川知朗、ＣａｏＬｅ  Ｔｈａｎｈ  Ｍａｎ、長谷川剛、村田正幸、「インラインネットワーク計測手法ＩｍＴＣＰおよびその応用手法の実装および性能評価」、電子情報通信学会技術研究報告（ＩＮ２００５−１２０）、ｐ．７９−８４、２００５年１２月」。なお、本発明を適用できる帯域計測方式は、上記文献に記載されている方式に限られない。パケットの送信間隔および受信間隔を利用して帯域を計測する方式であれば、本発明の適用は可能である。
【００２９】
計測原理について説明する。帯域計測システム１００では、データを送信する通信装置１（以下、「送信装置」という。）は、送信する画像データおよび音声データを複数のパケットにパケット化する。送信装置は、複数のパケットを連続して他の通信装置１（以下、「受信装置」という。）にネットワーク８を介して送信する。パケットを送信する際の伝送速度（単位：ｂｐｓ）が、送信装置と受信装置との間の可用帯域（単位：ｂｐｓ）以下であれば、パケットは渋滞（輻輳）しない。パケットが渋滞しなければ、送信装置によって送信された複数のパケットを受信装置が受信する間隔（受信間隔）は、理論的に、送信装置が複数のパケットを送信する間隔（送信間隔）と同一となる。一方、伝送速度が可用帯域よりも大きければ、パケットは渋滞し、受信間隔は送信間隔よりも長くなる。
【００３０】
帯域を計測する場合、送信装置は、送信間隔を徐々に長くしながら、または徐々に短くしながら、複数のパケットを送信する。あるパケットが送信された場合の伝送速度は、以下の数式（１）で求められる。
伝送速度（ｂｐｓ）＝パケットサイズ（ｂｉｔ）／前回のパケット送信時と今回のパケット送信時との送信間隔（ｓ）・・・（１）
送信間隔を徐々に長くしながら複数のパケットを送信すると、伝送速度が可用帯域よりも大きい間は、受信間隔が送信間隔よりも長くなる。しかし、送信間隔が長くなり、伝送速度が可用帯域以下となれば、受信間隔と送信間隔とが同一となる。よって、「受信間隔−送信間隔」の値が変化する時点のデータの伝送速度を、可用帯域として計測することができる。
【００３１】
計測手順の概略について説明する。帯域計測システム１００では、以下の手順で帯域が計測される。
１．帯域の初期探索範囲を設定する。
その時点の帯域を計測できると予想される探索範囲を限定することで、効率よく帯域を計測することができる。
【００３２】
２．探索範囲を複数の小探索区間に分割する。
探索範囲を複数の小探索区間に分割し、小探索区間毎に計測ストリームを送信することで、一時的な異常に対する耐性が高い計測結果を得ることができる。
【００３３】
３．小探索区間内で複数の送信帯域を決定して、各送信帯域でパケットを送信する。
送信順序の隣接する２つのパケットが送信される帯域値である送信帯域を、小探索区間内に複数決定する。そして、数式（１）に基づき隣接する２つのパケットの送信間隔を制御することで、決定した送信帯域で各パケットを送信する。各パケットには、受信装置が送信間隔を割り出すための時間情報が含まれる。
【００３４】
４．受信間隔と送信間隔との差分から可用帯域を推定する。
受信装置がパケットを実際に受信した時刻から、受信間隔が割り出される。受信されたパケットに含まれる時間情報から、送信間隔が割り出される。受信間隔と送信間隔との関係から可用帯域の基準点が計測され、基準点に基づいて可用帯域が推定される。
【００３５】
５．探索範囲を再設定し、上記２．へ戻る。
過去の計測結果から統計的に次の探索範囲を再設定することで、効率よく帯域を計測できる。探索範囲を再設定するための計算式等は、上記文献に記載されているため、説明を省略する。
【００３６】
以上説明したように、パケットの送信間隔および受信間隔を利用して帯域を計測する方式では、通信装置１は、画像データおよび音声データを含んだパケットを送受信しながら帯域を計測することができる。通信装置１は、可用帯域を含むように探索範囲を設定すれば、テレビ会議を実行しながら可用帯域を計測することができる。
【００３７】
図２を参照して、帯域を計測するためのパケットを送信する送信装置（通信装置１）で実行される通信処理について説明する。通信処理は、送信装置のＨＤＤ１３に記憶されているプログラムに従って、送信装置のＣＰＵ１０によって実行される。通信処理は、受信装置との間でデータを送受信する指示が送信装置に入力されることを契機として実行される。以下の説明では、通信装置と受信装置との間でテレビ会議が進行しているときに、通信処理が行われる場合を例示する。
【００３８】
なお、本実施形態の送信装置は、テレビ会議の実行中にカメラ３３で撮影された画像やマイク３１で集音された音声等を、所定のデータ生成レートで符号化するエンコーダ（図示外）を備えている。エンコーダは、画像や音声等の符号化データを一定周期（例えば、１０ｍｓ毎）で生成して、ＲＡＭ１２（図１参照）の送信バッファ（図示外）に格納する。エンコーダは、ＣＰＵ１０が実行する符号化処理でソフトウエア的に実現されてもよいし、符号化回路等でハードウエア的に実現されてもよい。本実施形態では、送信装置が符号化回路等で構成されたエンコーダ（図示外）を有するものとする。
【００３９】
図２に示すように、通信処理では、まず送信装置のエンコーダが起動される（Ｓ１）。起動されたエンコーダは、所定のデータ生成レートで符号化データを生成する。次いで、データ転送終了であるか否かが判断される（Ｓ３）。例えばユーザによってテレビ会議の終了指示が入力された場合、データ転送終了であると判断される（Ｓ３：ＹＥＳ）。この場合、通信処理（図２）は終了される。
【００４０】
データ転送終了でない場合（Ｓ３：ＮＯ）、帯域計測に用いられる計測パラメータ（先述の探索範囲、小探索区間、送信帯域など）を決定する計測パラメータ決定処理（Ｓ５）が実行されるが、詳細は後述する。ステップＳ５で決定された計測パラメータに基づいて、上述の帯域計測方式によって可用帯域が計測される（Ｓ７）。ステップＳ７で計測された可用帯域が、ＨＤＤ１３に記録される（Ｓ９）。
【００４１】
さらに、エンコーダに設定されているデータ生成レートが、ステップＳ７で計測された可用帯域に応じて変更される（Ｓ１１）。ステップＳ１１では、例えば上記文献に開示の手法によって、データ生成レートが変更されればよい。エンコーダは、変更後のデータ生成レートで符号化データを生成して出力する。その後、処理はステップＳ３に戻り、データ転送が終了するまでステップＳ５〜Ｓ１１の処理が繰り返し実行される。
【００４２】
図３に示すように、計測パラメータ決定処理（Ｓ５）では、まず過去の計測結果に基づいて統計的な探索範囲Ｒｓが決定される（Ｓ２１）。一例として、ＨＤＤ１３に記録されている計測結果（具体的には、過去の基準値）に基づいて、次のように探索範囲Ｒｓが決定される。
【００４３】
ＨＤＤ１３に記録されている過去の計測結果の数量（計測履歴数Ｎ）が「０」である場合、データ転送の開始前に計測した帯域値（事前計測値）を中心にして、事前計測値の半分の帯域幅で探索範囲Ｒｓが設定される。例えば、事前計測値が「１Ｍｂｐｓ」である場合、帯域値「１Ｍｂｐｓ」を中心に帯域幅「０．５Ｍｂｐｓ」の探索範囲Ｒｓが設定される。つまり、「０．７５Ｍｂｐｓ」〜「１．２５Ｍｂｐｓ」の探索範囲Ｒｓが設定される。計測履歴数Ｎが「１」である場合、最新の計測結果ｂ（具体的には、前回の基準値）に基づいて、「ｂ＊３／４」〜「ｂ＊５／４」の探索範囲Ｒｓが設定される。計測履歴数Ｎが「２」以上である場合、上記文献に開示の手法によって、「ｂ−１．９６＊Ｓ／ｓｑｒｔ（Ｎ）」〜「ｂ＋１．９６＊Ｓ／ｓｑｒｔ（Ｎ）」の探索範囲Ｒｓが設定される（ただし、Ｓは計測結果の偏差）。
【００４４】
ステップＳ２１の実行後、探索範囲幅、送信帯域間隔、帯域サンプリング数の条件を全て満たす探索範囲（必要範囲Ｒｍ）を決定する必要範囲決定処理が実行される（Ｓ２３）。図４に示すように、必要範囲決定処理（Ｓ２３）では、まずステップＳ２１で取得された探索範囲Ｒｓ内で最も大きい帯域値（図６に例示する上限帯域Ｌ１）が取得される（Ｓ４１）。例えば探索範囲Ｒｓが「２Ｍｂｐｓ」〜「５Ｍｂｐｓ」である場合、上限帯域Ｌ１として「５Ｍｂｐｓ」が取得される。なお、探索範囲Ｒｓ内で最も小さい帯域値（図６に例示する下限帯域Ｌ２）は「２Ｍｂｐｓ」である。
【００４５】
次いで、後述のステップＳ４５、Ｓ４７の実行回数（以下、処理件数という。）が、あらかじめ定められた帯域サンプリング数を満たしたか否かが判断される（Ｓ４３）。帯域サンプリング数は、探索範囲Ｒｓに設定する送信帯域の総数である。探索範囲Ｒｓに設定する小探索区間の数量ｐ、１つの小探索区間に含まれる送信帯域の数量ｑとした場合、帯域サンプリング数は「ｐ＊ｑ」で表すことができる。図６に示す例では、小探索区間の数量ｐ「４」、送信帯域の数量ｑ「５」であるから、帯域サンプリング数は「２０」である。
【００４６】
処理件数が帯域サンプリング数よりも少ない場合、帯域サンプリング数を満たしていないと判断される（Ｓ４３：ＮＯ）。この場合、処理対象の送信帯域（以下、注目帯域という。）の送信間隔およびデータサイズを決定する送信条件決定処理が実行される（Ｓ４５）。図５に示すように、送信条件決定処理（Ｓ４５）では、まずデータ送受信に関する時間制御を確保するために必要な最小単位の所要時間である制御粒度時間が取得される（Ｓ５１）。一例として、制御粒度時間は、通信装置１のタイマ粒度（例えば、１ｍｓ、１０ｍｓなど）と、中継装置のパケット転送間隔（例えば、１００μｓ、１０ｍｓなど）との最小公倍数として予め求められた値である。
【００４７】
次いで、注目帯域でのデータ送信時に、制御粒度時間で必要なデータサイズが算出される（Ｓ５３）。言い換えると、注目帯域でデータを送信する場合に、制御粒度時間で送信可能なデータサイズの最大量が取得される。ステップＳ５３では以下の数式（２）によって、注目帯域における制御粒度時間当たりのデータサイズが算出されればよい。
データサイズ（ｂｉｔ）＝注目帯域（ｂｐｓ）＊制御粒度時間（ｓｅｃ）・・・（２）
【００４８】
ステップＳ５３で算出されたデータサイズ（以下、算出サイズという。）が、最小単位サイズよりも大であるか否かが判断される（Ｓ５５）。最小単位サイズは、所定のサイズ範囲（５１２ｂｙｔｅ〜２０４８ｂｙｔｅ）と、中継装置のパケット転送間隔（例えば、１００μｓ、１０ｍｓなど）との最小公倍数として予め求められた値（例えば、５１２ｂｙｔｅ）である。所定のサイズ範囲は、あるパケットの送信から次のパケットの送信までに送信される総データ量（言い換えると、隣り合う送信帯域間で送信される総データ量）を示す値であって、いわゆるプローブパケットサイズに相当する。
【００４９】
算出サイズが最小単位サイズよりも大である場合（Ｓ５５：ＹＥＳ）、制御粒度時間および算出サイズがそれぞれ注目帯域の送信間隔およびデータサイズに決定される（Ｓ５９）。例えば、初回（つまり、処理件数が０の場合）では、ステップＳ４１で取得された探索範囲Ｒｓの上限帯域Ｌ１「５Ｍｂｐｓ」が注目帯域となる。この場合、制御粒度時間が「１ｍｓ」であれば、データサイズ「５Ｋｂｉｔ」が算出される（Ｓ５３）。この算出サイズは最小単位サイズ「５１２ｂｙｔｅ（＝４０９６ｂｉｔ）」よりも大きいから（Ｓ５５：ＹＥＳ）、注目帯域「５Ｍｂｐｓ」の送信間隔「１ｍｓ」およびデータサイズ「５Ｋｂｉｔ」がそのまま決定されて（Ｓ５９）、処理は必要範囲決定処理（図４）に戻る。
【００５０】
一方、算出サイズが最小単位サイズ以下である場合（Ｓ５５：ＮＯ）、注目帯域で最小単位サイズを送信するのに必要な送信間隔が算出される（Ｓ５７）。ステップＳ５７では、以下の数式（３）で送信間隔が算出されればよい。
送信間隔（ｓｅｃ）＝最小単位サイズ（ｂｉｔ）／注目帯域（ｂｐｓ）・・・（３）
【００５１】
その後、ステップＳ５７で算出された送信間隔および最小単位サイズが、それぞれ注目帯域の送信間隔およびデータサイズに決定される（Ｓ５９）。例えば、注目帯域「２Ｍｂｐｓ」および制御粒度時間「１ｍｓ」である場合、データサイズ「２Ｋｂｉｔ」が算出される（Ｓ５３）。この算出サイズは最小単位サイズ「５１２ｂｙｔｅ（＝４０９６ｂｉｔ）」以下であるから（Ｓ５５：ＮＯ）、ステップ５７で送信間隔「２ｍｓ」が算出される。そして、注目帯域「２Ｍｂｐｓ」の送信間隔「２ｍｓ」およびデータサイズ「５１２ｂｙｔｅ（＝４０９６ｂｉｔ）」が決定されて（Ｓ５９）、処理は必要範囲決定処理（図４）に戻る。
【００５２】
図４に戻る。ステップＳ４５の実行後、ステップＳ５９で決定された送信条件に基づいて、次の送信帯域が決定される（Ｓ４７）。ステップＳ４７では、以下の数式（４）によって次の送信帯域が算出されればよい。
次の送信帯域（ｂｐｓ）＝決定されたデータサイズ（ｂｉｔ）／（決定された送信間隔＋制御粒度時間）（ｓｅｃ）・・・（４）
上記のように、ステップＳ５９で決定された送信間隔に制御粒度時間を加算することで、データ送受信に関する時間制御に必要な送信間隔が、注目帯域と次の送信帯域との間に確保される。さらに、ステップＳ５９で決定されたデータサイズを、制御粒度時間を加算した送信間隔で除算することで、次の送信帯域（具体的には、注目帯域の次に小さい送信帯域）が決定される。
【００５３】
例えば、ステップＳ５９で注目帯域「５Ｍｂｐｓ」の送信間隔「１ｍｓ」およびデータサイズ「５Ｋｂｉｔ」が決定された場合、データサイズ「５Ｋｂｉｔ」が制御粒度時間を加算した送信間隔「２ｍｓ」で除算されて、次の送信帯域「２．５Ｍｂｐｓ」が決定される。ステップＳ４７の実行後、処理件数が１カウントアップされて、処理はステップＳ４３に戻る。これにより、処理件数が帯域サンプリング数を満たすまでステップＳ４５、Ｓ４７が繰り返し実行されて、探索範囲Ｒｓに設定する全ての送信帯域に送信条件が決定される。
【００５４】
図６に例示するように、ステップＳ４３〜Ｓ４５では複数（具体的には、帯域サンプリング数ｐ＊ｑ）の送信帯域が、最小の送信間隔（つまり、データ送受信に関する時間制御を可能な間隔）で、探索範囲Ｒｓの上限帯域Ｌ１から順に並べられる。その結果、送信条件が決定された複数の送信帯域のうち、最後に決定された送信帯域が最も小さい帯域値を有する。
【００５５】
処理件数が帯域サンプリング数を満たした場合（Ｓ４３：ＹＥＳ）、必要範囲Ｒｍが決定される（Ｓ４９）。具体的には、必要範囲Ｒｍの上限帯域は、探索範囲Ｒｓと同じ上限帯域Ｌ１に決定される。必要範囲Ｒｍの下限帯域Ｌ３（必要範囲Ｒｍ内で最も小さい帯域値）は、最後に送信条件が決定された送信帯域に決定される。必要範囲Ｒｍの帯域幅は、以下の数式（５）で算出される。ステップ４９の実行後、処理は計測パラメータ決定処理（図３）に戻る。
必要範囲Ｒｍの帯域幅（ｂｐｓ）＝探索範囲Ｒｓの上限帯域Ｌ１（ｂｐｓ）−必要範囲Ｒｍの下限帯域Ｌ３（ｂｐｓ）・・・（５）
【００５６】
図３に戻る。ステップＳ２３の実行後、必要範囲Ｒｍが探索範囲Ｒｓを超えるか否かが判断される（Ｓ２５）。先述のステップＳ２１では、探索範囲Ｒｓは過去の計測結果から統計的に算出される。このため、探索範囲Ｒｓよりも狭い探索範囲幅で次の帯域計測を実施すると、可用帯域が計測の範囲外となる確率が上がり、計測効率が低下する。また、探索範囲Ｒｓよりも広い探索範囲幅で次の帯域計測を実施すると、本来計測する必要のない高い帯域や低い帯域を計測することになり、パケットロスの発生や伝送効率の低下につながる。したがって、探索範囲幅は探索範囲Ｒｓと同じであることが最適である。
【００５７】
本実施形態では、下限帯域Ｌ３が下限帯域Ｌ２以上である場合、必要範囲Ｒｍが探索範囲Ｒｓ内に収まるため、必要範囲Ｒｍが探索範囲Ｒｓを超えないと判断される（Ｓ２５：ＮＯ）。この場合、３つの計測条件（探索範囲幅、送信帯域間隔、帯域サンプリング数）を全て満たしているため、従来の技術と同様に小探索区間を重ねずに送信帯域が決定される（Ｓ２７）。一方、図６に例示するように下限帯域Ｌ３が下限帯域Ｌ２よりも低い場合、必要範囲Ｒｍが探索範囲Ｒｓ内に収まらないため、必要範囲Ｒｍが探索範囲Ｒｓを超えると判断される（Ｓ２５：ＹＥＳ）。この場合、３つの計測条件（探索範囲幅、送信帯域間隔、帯域サンプリング数）の少なくとも１つを満たすことができない。よって、小探索区間を重ねて送信帯域を決定する重畳送信帯域決定処理（Ｓ２９）を実行することで、全ての計測条件を満たして帯域を計測できるようにする。
【００５８】
図７に示すように、重畳送信帯域決定処理（Ｓ２９）では、まず小探索区間の帯域幅（小探索区間幅）を決定する区間幅決定処理が実行される（Ｓ６１）。図８に示すように、区間幅決定処理（Ｓ６１）では、まず最小送信間隔を算出する最小送信間隔算出処理が実行される（Ｓ７１）。最小送信間隔は、探索範囲Ｒｓ内で隣接する送信帯域間で確保すべき帯域の差分量（つまり、隣接する送信帯域間に最低限必要な帯域幅）である。
【００５９】
図９に示すように、最小送信間隔算出処理（Ｓ７１）では、まずステップＳ４１、Ｓ４５と同様に、探索範囲Ｒｓの上限帯域Ｌ１が取得され（Ｓ８１）、送信条件決定処理が実行される（Ｓ８３）。ステップＳ８３では、図５に示す処理によって、上限帯域Ｌ１の送信条件が決定される。つまり、探索範囲Ｒｓ内に決定される送信帯域のうちで、最も帯域値が高い送信帯域（最高送信帯域）の送信条件が決定される。次いで、ステップＳ８３で決定された送信条件に基づいて、最高送信帯域の次に小さい送信帯域（直前の送信帯域）が決定される（Ｓ８５）。ステップＳ８５では、ステップＳ４７と同様の処理によって、直前の送信帯域が決定される。
【００６０】
次いで、最小送信間隔が以下の数式（６）によって算出される（Ｓ８７）。
最小送信間隔（ｂｐｓ）＝探索範囲Ｒｓの最高送信帯域（ｂｐｓ）−直前の送信帯域（ｂｐｓ）・・・（６）
各送信帯域で送信されるデータサイズが等しい場合、送信帯域が高いほどパケットの送信時間が短くなる。よって、最小送信間隔は、探索範囲Ｒｓ内で最も帯域値が高い２つの送信帯域間で生じる。したがって、上記のように、ステップＳ８１で取得された最高送信帯域から、ステップＳ８５で決定された直前の送信帯域を減じることで、最小送信間隔を算出することができる。ステップＳ８７の実行後、処理は区間幅決定処理（図８）に戻る。
【００６１】
図８に戻る。ステップＳ７１の実行後、小探索区間幅が以下の数式（７）によって算出される（Ｓ７３）。
小探索区間幅（ｂｐｓ）＝最小送信間隔（ｂｐｓ）＊区間内サンプリング数ｑ・・・（７）
ただし、区間内サンプリング数ｑは、先述した１つの小探索区間に含まれる送信帯域の数量ｑである。ステップＳ７３の実行後、処理は重畳送信帯域決定処理（図７）に戻る。
【００６２】
図７に戻る。ステップＳ６１の実行後、小探索区間の開始位置（つまり、各小探索区間の最低送信帯域）が決定される（Ｓ６３）。本実施形態では、探索範囲Ｒｓ内に設定される複数の小探索区間の開始位置（つまり、各小探索区間の最低送信帯域）が均等な帯域の差分で並ぶように、各々の開始位置が以下の数式（８）で決定される。言い換えると、隣り合う小探索区間の重複する帯域幅がそれぞれ等しくなるように、各小探索区間の開始位置が決定される。
小探索区間ｋの開始位置（ｂｐｓ）＝探索範囲Ｒｓの下限帯域Ｌ２（ｂｐｓ）＋（探索範囲Ｒｓの上限帯域Ｌ１−小探索区間幅）（ｂｐｓ）／（小探索区間数ｐ−１）＊（ｋ−１）・・・（８）
ただし、小探索区間数ｐは、先述した探索範囲Ｒｓに含まれる小探索区間の数量ｐである。小探索区間ｋは、２からｐまでの整数値である。また、帯域が最も低い小探索区間１の開始位置は、探索範囲Ｒｓの下限帯域Ｌ２である。
【００６３】
次いで、全ての小探索区間に送信帯域を決定済みか否かが判断される（Ｓ６５）。送信帯域を決定していない小探索区間がある場合（Ｓ６５：ＮＯ）、従来の技術と同様に小探索区間内に送信帯域が決定される（Ｓ６７）。具体的には、上記文献に開示の手法によって、複数（区間内サンプリング数ｑ）の送信帯域が、処理対象の小探索区間内に均等な送信間隔で並ぶように配置される。その後、処理はステップＳ６５に戻り、全ての小探索区間に送信帯域が決定されるまで、ステップＳ６７が繰り返し実行される。全ての小探索区間の送信帯域を決定済みである場合（Ｓ６５：ＹＥＳ）、処理は計測パラメータ決定処理（図３）に戻る。
【００６４】
図７〜図９に示す処理によれば、必要範囲Ｒｍが探索範囲Ｒｓに収まらない場合（図６参照）、図１０に例示するように複数の小探索区間が、探索範囲Ｒｓに含まれる全帯域を網羅するように、且つ、少なくとも一以上の隣接する小探索区間が一部重複するように配置される。具体的には、最高送信帯域（上限帯域Ｌ１）「５Ｍｂｐｓ」が取得され、直前の送信帯域「４．８Ｍｂｐｓ」が決定された場合（Ｓ８１〜Ｓ８５）、最小送信間隔「０．２Ｍｂｐｓ」が算出される（Ｓ８７）。区間内サンプリング数ｑが「５」である場合、小探索区間幅「１Ｍｂｐｓ」が算出される（Ｓ７３）。小探索区間数ｐが「４」である場合、最も帯域値が低い小探索区間の開始位置が下限帯域Ｌ２「２Ｍｂｐｓ」に決定され、残りの小探索区間の開始位置が「０．５Ｍｂｐｓ」の間隔で決定されて、隣り合う小探索区間の重複する帯域幅がそれぞれ等しくなる（Ｓ６３）。さらに、４つの小探索区間にそれぞれ５つの送信帯域が決定される（Ｓ６７）。
【００６５】
図３に戻る。ステップＳ２７またはステップＳ６７で決定された全ての送信帯域に送信条件を決定済みか否かが判断される（Ｓ３１）。送信条件を決定していない送信帯域がある場合（Ｓ３１：ＮＯ）、送信条件決定処理が実行される（Ｓ３３）。ステップＳ３３では、図５に示す処理によって送信帯域の送信条件（つまり、送信間隔およびデータサイズ）が決定される。その後、処理はステップＳ３１に戻り、全ての送信帯域に送信条件が決定されるまで、ステップＳ３３が繰り返し実行される。全ての送信帯域に送信条件を決定済みである場合（Ｓ３１：ＹＥＳ）、処理は通信処理（図２）に戻る。
【００６６】
先述のステップＳ７では、ステップＳ２７またはステップＳ６７で決定された各送信帯域に、ステップＳ３３で決定された送信条件でパケットが送信されて、可用帯域が計測される。ステップＳ６７の送信帯域が計測される場合は、探索範囲Ｒｓ内で一部が重複するように配置された複数の小探索区間内で、複数のパケットが送信される。複数の小探索区間は、隣り合う小探索区間の重複する帯域幅がそれぞれ等しくなるように設定されている。したがって、隣り合う小探索区間が重複する帯域を探索範囲Ｒｓ内で均等に分散させることができ、ひいては探索範囲Ｒｓをバランスよく正確に計測することができる。
【００６７】
［第二実施形態］
図１１および図１２を参照して、本発明の第二実施形態を説明する。第二実施形態および後述の第三、第四実施形態に係る通信装置１および帯域計測システム１００の構成は、第一実施形態と同一であるため説明は省略する。第二〜第四実施形態は、重畳送信帯域決定処理（Ｓ２９）の詳細が第一実施形態と異なる。以下では、第一実施形態と同一の処理の説明は省略し、異なる処理について説明する。
【００６８】
第二実施形態の実行条件について説明する。帯域計測を伴うデータ通信時には、通信装置１の実行環境（例えば、ＯＳの種類、クロック数、ＣＰＵ使用率など）に応じて、データの処理時間に誤差を生じることがある。また、ネットワーク８上のパケット転送間隔（例えば、プロバイダ側のパケット制御の時間周期など）の影響で、データの転送時間に誤差を生じることがある。このような通信装置１またはネットワーク８に起因する処理時間のばらつき（揺らぎ）は、帯域の計測結果に誤差を生じる原因とある。そこで、あらかじめ計測した処理時間の揺らぎが所定値よりも大きい場合は、ステップＳ２９で第二実施形態の重畳送信帯域決定処理（図１１参照）を実行することが好適である。
【００６９】
処理時間の揺らぎは、例えば次の方法で計測すればよい。まず送信装置は、帯域計測を伴うデータ通信の開始前に、複数のパケットを所定の送信間隔で受信装置に送信する。受信装置は、複数のパケットの受信間隔の偏差を算出し、その算出結果を送信装置に通知する。送信装置は、受信装置から通知された偏差が閾値以上（例えば、５０ｍｓ以上）であれば、処理時間の揺らぎが大きいと判断する。
【００７０】
なお、処理時間の揺らぎが大きいか否かの判断を受信装置側で行って、その判断結果を受信装置から送信装置に通知してもよい。また、揺らぎの計測は、帯域計測を伴うデータ通信の途中で実施してもよい。例えば、送信装置は第一実施形態で説明した帯域計測を伴うデータ通信を一時停止して、所定の送信間隔による所定の送信帯域でパケットを送信することで揺らぎの計測を行ってもよい。この場合、所定の送信帯域は第一実施形態で説明した帯域計測により計測された帯域よりも低くすることで、精度よく揺らぎを計測することができる。
【００７１】
図１１を参照して、第二実施形態の重畳送信帯域決定処理（Ｓ２９）について説明する。まずステップＳ６１と同様に、図８に示す区間幅決定処理が実行される（Ｓ１０１）。次いで、全ての小探索区間に送信帯域を決定済みか否かが判断される（Ｓ１０３）。送信帯域を決定していない小探索区間がある場合（Ｓ１０３：ＮＯ）、ステップＳ６３と同様に、小探索区間の開始位置（つまり、各小探索区間の下限帯域）が決定される（Ｓ１０５）。
【００７２】
次いで、ステップＳ１０５で決定された開始位置が、最小送信間隔の倍数位置に変更される（Ｓ１０７）。具体的には、「探索範囲Ｒｓの下限帯域Ｌ２＋最小送信間隔＊ｒ」（ただし、ｒは正の整数値）が成立する帯域のうち、ステップＳ１０５で決定された開始位置に最も近似する帯域に、開始位置が変更される。さらに、ステップＳ１０５で変更済みの開始位置から、最小送信間隔ごとに複数（区間内サンプリング数ｑ）の送信帯域が決定される（Ｓ１０９）。これにより、図１２に例示するように、各小探索区間の送信帯域は、全て最小送信間隔の所定倍となる位置に並ぶように配置される。
【００７３】
その後、処理はステップＳ１０３に戻り、全ての小探索区間に送信帯域が決定されるまで、ステップＳ１０５〜Ｓ１０９が繰り返し実行される。全ての小探索区間の送信帯域を決定済みである場合（Ｓ１０３：ＹＥＳ）、探索範囲Ｒｓの上限帯域Ｌ１は最小送信間隔の倍数位置であるか否かが判断される（Ｓ１１１）。具体的には、上限帯域Ｌ１を最小送信間隔で除算して余りが生じない場合、上限帯域Ｌ１は倍数位置であると判断される（Ｓ１１１：ＹＥＳ）。この場合、処理は計測パラメータ決定処理（図３）に戻る。
【００７４】
一方、上限帯域Ｌ１を最小送信間隔で除算して余りが生じる場合、上限帯域Ｌ１は倍数位置でないと判断される（Ｓ１１１：ＮＯ）。この場合、ステップＳ１０３〜Ｓ１０９で最後に決定された送信帯域（すなわち、探索範囲Ｒｓ内で最も帯域値が大きい送信帯域）が、上限帯域Ｌ１に変更される（Ｓ１１３）。具体的には、図１２に例示するように、探索範囲Ｒｓの上限帯域Ｌ１が最小送信間隔の倍数位置でない場合は、探索範囲Ｒｓに決定される最大送信帯域が、端数分を延長するように上限帯域Ｌ１に変更される。その後、処理は計測パラメータ決定処理（図３）に戻る。
【００７５】
上記の処理によって、先述のステップＳ７では、ステップＳ１０９で決定された各送信帯域に、ステップＳ３３で決定された送信条件でパケットが送信されて、可用帯域が計測される。つまり、探索範囲Ｒｓ内で一部が重複するように配置された小探索区間内で、最小送信間隔の倍数位置に決定された複数の送信帯域にパケットが順次送信される。これにより、異なる小探索区間でパケットが送信される同一の送信帯域（つまり、重複計測される送信帯域）については、各回の計測結果に基づいて算出した平均値が、その送信帯域の計測結果として取得される。これにより、処理時間の揺らぎを抑制した計測結果を得ることができる。
【００７６】
［第三実施形態］
図１３〜図１７を参照して、本発明の第三実施形態を説明する。まず、第三実施形態の実行条件について説明する。先述のステップＳ９では、ＨＤＤ１３には可用帯域の計測結果が記録される。ＨＤＤ１３に過去の可用帯域の計測結果が多数蓄積されている場合には、ステップＳ２９で第三実施形態の重畳送信帯域決定処理（図１３参照）を実行することが好適である。
【００７７】
図１３を参照して、第三実施形態の重畳送信帯域決定処理（Ｓ２９）について説明する。まずステップＳ６１と同様に、図８に示す区間幅決定処理が実行される（Ｓ２０１）。次いで、探索範囲Ｒｓと小探索区間との関係によって、自由探索区間数Ｔが算出される（Ｓ２０３）。自由探索区間は、探索範囲Ｒｓに配置される複数の小探索区間のうちで、探索範囲Ｒｓ内の自由な帯域に配置できる小探索区間である。自由探索区間数Ｔは、小探索区間数ｐから、探索範囲Ｒｓの帯域幅を全てカバーするのに必要な小探索区間の数量を除いたものであり、以下の数式（９）によって求められる。
自由探索区間数Ｔ＝小探索区間数ｐ−切り上げ（探索範囲Ｒｓの帯域幅／小探索区間の帯域幅）・・・（９）
例えば、小探索区間数ｐ「５」、探索範囲Ｒｓの帯域幅「３Ｍｂｐｓ」、小探索区間の帯域幅「２Ｍｂｐｓ」である場合、自由探索区間数Ｔは「３」が算出される。
【００７８】
次いで、ステップＳ２０１で算出された自由探索区間数Ｔに基づいて、計測結果分布の量子化表が作成される（Ｓ２０５）。具体的には、図１４に例示するように、帯域をＸ軸、ＨＤＤ１３に記録されている計測結果の頻度（可用帯域の特定回数）をＹ軸として、計測結果の分布を自由探索区間数Ｔで量子化する（ただし、量子化値は正の整数）。図１４中の点線は、各帯域での量子化値を結んだ折れ線を示している。
【００７９】
ステップＳ２０５の実行後、全ての小探索区間に送信帯域を決定済みか否かが判断される（Ｓ２０７）。送信帯域を決定していない小探索区間がある場合（Ｓ２０７：ＮＯ）、最大の量子化値を中心に小探索区間が配置される（Ｓ２０９）。具体的には、図１５に例示するように、ステップＳ２０５で作成された量子化表から最大の量子化値が特定される。特定された量子化値の帯域が中心になるように、小探索区間が決定される。その後、ステップＳ６７と同様に、小探索区間内に送信帯域が決定される（Ｓ２１１）。
【００８０】
次いで、ステップＳ２０９で配置された小探索区間に基づいて、ステップＳ２０５で作成された量子化表が更新される（Ｓ２１３）。具体的には、図１６に例示するように、「配置された小探索区間／自由探索区間数Ｔ」の範囲は、「量子化値＝０」に変更される。「配置された小探索区間／自由探索区間数Ｔ＊２」の範囲は、「量子化値＝量子化値−１」に変更される。これにより、複数の小探索区間が、同じような帯域に集中配置されることを防止することができる。
【００８１】
その後、処理はステップＳ２０７に戻り、全ての小探索区間に送信帯域が決定されるまで、ステップＳ２０９〜Ｓ２１３が繰り返し実行される。その結果、図１７に例示するように、探索範囲Ｒ内に複数の小探索区間が、計測結果頻度の大きい帯域ほど重複する割合が高くなるように配置される。全ての小探索区間に送信帯域を決定済みである場合（Ｓ２０７：ＹＥＳ）、処理は計測パラメータ決定処理（図３）に戻る。
【００８２】
なお、ステップＳ２０９で最大の量子化値が複数特定された場合、特定された各量子化値の中心とした所定範囲の帯域幅における総量子化値の平均値が算出される。算出された平均値が大きい方の帯域幅に含まれる最大の量子化値が、小探索区間の中央帯域として決定される。これにより、可用帯域の特定頻度が相対的に大きい帯域に優先して、小探索区間を配置することができる。さらに総量子化値の平均値も同じである場合は、前回に配置した小探索区間の中央帯域に近いほうの最大の量子化値を基準に、小探索区間を配置してもよい。
【００８３】
上記の処理によって、先述のステップＳ７では、ステップＳ２１１で決定された各送信帯域に、ステップＳ３３で決定された送信条件でパケットが送信されて、可用帯域が計測される。つまり、探索範囲Ｒｓ内で一部が重複するように配置された複数の小探索区間内で、複数のパケットが送信される。複数の小探索区間は、可用帯域の発生頻度が相対的に高い帯域が、可用帯域の発生頻度が相対的に低い帯域よりも、隣り合う小探索区間の重複する帯域幅に含まれる割合が大きくなるように設定されている。したがって、過去の計測結果に基づいて、可用帯域を特定する確率が高い帯域を重点的に計測することができる。
【００８４】
［第四実施形態］
図１８〜図２２を参照して、本発明の第四実施形態を説明する。まず、第四実施形態の実行条件について説明する。帯域計測を伴うデータ通信中は、ネットワーク８でパケットを損失する割合（ロス率）が大きくなるほど、データ通信の品質や帯域計測の精度が低下する。そこで、データ通信時のロス率が高い場合（例えば、ロス率が３％を超える場合）、ステップＳ２９で第四実施形態の重畳送信帯域決定処理（図１３参照）を実行することが好適である。
【００８５】
データ通信時のロス率は、例えば次の方法で計測すればよい。まず送信装置は、シーケンス番号（例えば、０〜９９）を付したパケットを複数送信する。受信装置は、受信したパケットのシーケンス番号に基づいて、ネットワーク上で損失したパケットの割合（ロス率）を特定し、送信装置に通知する。なお、ロス率の計測は、データ通信中に送信されるデータそのものにシーケンス番号を付与することで、帯域計測を伴うデータ通信中に実行してもよい。
【００８６】
図１８を参照して、第四実施形態の重畳送信帯域決定処理（Ｓ２９）について説明する。まずステップＳ６１と同様に、図８に示す区間幅決定処理が実行される（Ｓ３０１）。次いで、探索範囲Ｒｓ内に複数の小探索区間を配置する際の基準となる帯域（目標中央値）を決定する目標値決定処理が実行される（Ｓ３０３）。
【００８７】
図１９に示すように、目標値決定処理（Ｓ３０３）では、あらかじめ計測したロス率に応じて目標中央値が算出される（Ｓ３５１）。ステップＳ３５１では、以下の数式（１０）によって、前回の計測結果（すなわち、可用帯域）よりも低い帯域が目標中央値として算出される。
目標中央値（ｂｐｓ）＝ｍｉｎ（前回の計測結果＊（１００−ロス率）／１００、探索範囲Ｒｓの下限帯域Ｌ２＋探索範囲Ｒｓの帯域幅＊１／４）・・・（１０）
上記の数式（１０）によって、ロス率が０％に近似するほど、目標中央値は探索範囲Ｒｓの中央帯域（すなわち、可用帯域）に近づく。ロス率が１００％に近似するほど、目標中央値は「０」に近づく。ただし、目標中央値が過剰に低い帯域になると計測精度に問題が生じる。そこで、上記の数式（１０）では、目標中央値は少なくとも「探索範囲Ｒｓの下限帯域Ｌ２＋（探索範囲Ｒｓの帯域幅＊１／４）」以上に設定される。
【００８８】
次いで、目標中央値の下限値である下限中央値が算出される（Ｓ３５３）。下限中央値は、探索範囲Ｒｓと小探索区間との関係から導き出されるものであり、次の数式（１１）によって算出される。
下限中央値（ｂｐｓ）＝探索範囲Ｒｓの帯域幅−（小探索区間数ｐ／２）＊小探索区間の帯域幅・・・（１１）
複数の小探索区間のうちで、配置される帯域の高さでｓ番目（ｓは、小探索区間数ｐ／２の切り上げ）を「基準探索区間」とする。図２０に例示するように、小探索区間数ｐ／２が奇数の場合、探索範囲Ｒｓの上限帯域Ｌ１から小探索区間を重複しないように連続して配置したときの基準探索区間の中央帯域が、数式（１１）で下限中央値として算出される。図２１に例示するように、小探索区間数ｐ／２が偶数の場合、探索範囲Ｒｓの上限帯域Ｌ１から小探索区間を重複しないように連続して配置したときの基準探索区間の下限帯域が、数式（１１）で下限中央値として算出される。
【００８９】
ステップＳ３５１で算出された目標中央値が、ステップＳ３５３で算出された下限中央値未満であるか否かが判断される（Ｓ３５５）。目標中央値が下限中央値未満である場合（Ｓ３５５：ＹＥＳ）、目標中央値が下限中央値の帯域値に変更され（Ｓ３５７）、処理が重畳送信帯域決定処理（図１８）に戻る。一方、目標中央値が下限中央値以上である場合（Ｓ３５５：ＮＯ）、目標中央値は変更されることなく、処理が重畳送信帯域決定処理（図１８）に戻る。
【００９０】
図１８に戻る。ステップＳ３０３の実行後、基準探索区間が目標中央値に基づいて決定される（Ｓ３０５）。具体的には、小探索区間数ｐが奇数である場合、目標中央値が中央帯域となるように基準探索区間が決定される（図２０参照）。小探索区間数ｐが偶数である場合、目標中央値が下限帯域となるように基準探索区間が決定される（図２１参照）。次いで、高帯域側の小探索区間が均等に位置決定される（Ｓ３０７）。すなわち、基準探索区間よりも高帯域に配置される小探索区間が、各々の開始位置が均等な帯域幅で並ぶように決定される。さらに、低帯域側の小探索区間が均等に位置決定される（Ｓ３０９）。すなわち、基準探索区間よりも低帯域に配置される小探索区間が、各々の開始位置が均等な帯域幅で並ぶように決定される。
【００９１】
その後、ステップＳ６７と同様に、小探索区間内に送信帯域が決定され（Ｓ３１１）、処理は計測パラメータ決定処理（図３）に戻る。上記の処理によって、図２２に例示するように、低帯域の小探索区画は他の小探索区画と重複する帯域幅が相対的に大きい一方、高帯域の小探索区画は他の小探索区画と重複する帯域幅が相対的に小さくなるように、探索範囲Ｒｓに複数の小探索区画が配置される。
【００９２】
先述のステップＳ７では、ステップＳ３１１で決定された各送信帯域に、ステップＳ３３で決定された送信条件でパケットが送信されて、可用帯域が計測される。つまり、探索範囲Ｒｓ内で一部が重複するように配置された複数の小探索区間内で、複数のパケットが送信される。複数の小探索区間は、可用帯域に含まれる全ての送信帯域の平均値が前回の計測結果（つまり、可用帯域）よりも小さくなるように設定されている。通常は、可用帯域よりも高帯域に送信されるパケットは、可用帯域よりも低帯域に送信されるパケットよりも損失する確率が高い。したがって、上記のように送信帯域の平均値を下げることで、帯域計測を伴うデータ通信時のロス率を抑制することができる。
【００９３】
［上記実施形態に共通の効果］
本発明の第一〜第四実施形態によれば、所定条件を満たす必要範囲Ｒｍが可用帯域の計測結果に基づいて決定された探索範囲Ｒｓを超える場合、探索範囲Ｒｓに含まれる全帯域を網羅するように複数の小探索区間が設定される。このとき、少なくとも１つの小探索区間は、隣り合う他の小探索区間に対して、各々に含まれる帯域が一部重複するように設定される。設定された各小探索区間に含まれる各送信帯域で、データがネットワークを介して受信装置へ順次送信される。データの送信間隔と受信間隔とに基づいて、可用帯域が計測される。
【００９４】
このように、探索範囲Ｒｓ内で小探索区間の一部を重複して配置することで、３つの計測条件（探索範囲幅、送信帯域間隔、帯域サンプリング数）のトレードオフ関係という制約を解消できる。ひいては、これらの計測条件を適正な計測精度を確保できる関係に維持して、帯域の計測条件の相互関係に起因する計測精度の劣化を抑制することができる。
【００９５】
さらに、決定された探索範囲Ｒｓに応じて、あらかじめ定められた条件（帯域サンプリング数、隣り合う送信帯域間の差分量、および送信可能なデータサイズ）を全て満たす必要範囲Ｒｍが決定される。この必要範囲Ｒｍを基準とすることで、探索範囲Ｒｓが適正な計測精度を確保できるか否かを正確に判断することできる。
【００９６】
［その他］
上記実施形態において、ステップＳ２１を実行するＣＰＵ１０が、本発明の「範囲決定手段」として機能する。ステップＳ２５を実行するＣＰＵ１０が、本発明の「判断手段」として機能する。ステップＳ２９を実行するＣＰＵ１０が、本発明の「小区画設定手段」として機能する。ステップＳ７を実行するＣＰＵ１０が、本発明の「データ送信手段」および「可用帯域計測手段」として機能する。ステップＳ２３を実行するＣＰＵ１０が、本発明の「基準範囲算出手段」として機能する。ステップＳ２０５を実行するＣＰＵ１０が、本発明の「分布特定手段」として機能する。ステップＳ２１が、本発明の「範囲決定ステップ」に相当する。ステップＳ２５が、本発明の「判断ステップ」に相当する。ステップＳ２９が、本発明の「小区画設定ステップ」に相当する。ステップＳ７が、本発明の「データ送信ステップ」および「可用帯域計測ステップ」に相当する。
【００９７】
本発明は上記実施の形態に限定されることはなく、様々な変形が可能である。例えば、重畳送信帯域処理（Ｓ２９）は、第一〜第四実施形態に例示した手法を適宜組み合わせて実行してもよい。また、３つの計測条件（探索範囲幅、送信帯域間隔、帯域サンプリング数）は、その数値を自由に変更することができる。
【００９８】
また、１つの小探索区間に含まれる送信帯域の数量（区間内サンプリング数）ｑは、固定値（例えば、７つ）を必ず含むようにしてもよいし、データ通信前に処理時間の揺らぎに基づいて決定してもよい。この計測方法としては、例えば送信装置が送信データサイズと送信間隔を固定してパケットを送信し、受信装置で遅延時間の偏差ｓを計測すればよい。この計測結果に応じて、例えば「偏差ｓ＞１００ｍｓ」であれば「ｑ＝９」に決定し、偏差ｓ＞５０ｍｓ」であれば「ｑ＝７」に決定し、それ以外であれば「ｑ＝５」に決定すればよい。
【００９９】
必要範囲Ｒｍの決定（Ｓ４９）は、上記実施形態とは異なる手法で行ってもよい。例えば、先述したように最小送信間隔を算出したのち（図９参照）、以下の数式（１２）によって必要範囲Ｒｍを算出してもよい。
必要範囲Ｒｍ（ｂｐｓ）＝最小送信間隔＊帯域サンプリング数・・・（１２）
【０１００】
本発明における「帯域の計測」には、可用帯域を計測することだけでなく、通信に適した帯域が確保されているか否かを判断することも含む。「通信に適した帯域」とは、パケットの送信時間の遅延が許容範囲に収まる帯域の値である。「通信に適した帯域」は、好ましくは送信時間の遅延が生じない使用可能帯域以下の値となる。しかし、使用可能帯域よりも大きい値であっても、送信時間の遅延を許容できる一定の値を「通信に適した帯域」としてもよい。
【０１０１】
上記実施形態では、受信装置が帯域を計測し、計測結果のみを送信装置に通知している。しかし、送信装置、および他のサーバ等が帯域を計測することも可能である。例えば、送信装置が帯域を計測する場合、受信装置は受信間隔と送信間隔とを算出し、算出した受信間隔および送信間隔を送信装置に通知する。送信装置は、受信装置から通知された受信間隔および送信間隔を用いて帯域を計測すればよい。
【０１０２】
上記実施形態では、前述した文献に記載されている帯域計測方式の一部を利用している。しかし、前述した文献に記載されている帯域計測方式以外の方式を利用する場合であっても、本発明を適用できる。例えば、２つのパケットの送信間隔と受信間隔とから帯域を計測する方式（所謂「パケットペア方式」）、および３つのパケットの送信間隔と受信間隔とから帯域を計測する方式（所謂「トレインベース方式」）等の他の方式にも、本発明は適用できる。つまり、複数のパケットの送信間隔と受信間隔とを用いて、データを送受信しながら帯域を計測する方式であれば、前述した文献に記載されている方式以外の方式であっても本発明を適用できる。
【符号の説明】
【０１０３】
１    通信装置
８    ネットワーク
１０  ＣＰＵ
１３    ＨＤＤ
１００    帯域計測システム
【図１】
2013031011.tif 000003
【図２】
2013031011.tif 000004
【図３】
2013031011.tif 000005
【図４】
2013031011.tif 000006
【図５】
2013031011.tif 000007
【図６】
2013031011.tif 000008
【図７】
2013031011.tif 000009
【図８】
2013031011.tif 000010
【図９】
2013031011.tif 000011
【図１０】
2013031011.tif 000012
【図１１】
2013031011.tif 000013
【図１２】
2013031011.tif 000014
【図１３】
2013031011.tif 000015
【図１４】
2013031011.tif 000016
【図１５】
2013031011.tif 000017
【図１６】
2013031011.tif 000018
【図１７】
2013031011.tif 000019
【図１８】
2013031011.tif 000020
【図１９】
2013031011.tif 000021
【図２０】
2013031011.tif 000022
【図２１】
2013031011.tif 000023
【図２２】
2013031011.tif 000024