JP6146127B2 - 通信装置、通信方法および通信プログラム - Google Patents

通信装置、通信方法および通信プログラム Download PDF

Info

Publication number
JP6146127B2
JP6146127B2 JP2013105769A JP2013105769A JP6146127B2 JP 6146127 B2 JP6146127 B2 JP 6146127B2 JP 2013105769 A JP2013105769 A JP 2013105769A JP 2013105769 A JP2013105769 A JP 2013105769A JP 6146127 B2 JP6146127 B2 JP 6146127B2
Authority
JP
Japan
Prior art keywords
bit rate
evaluation function
value
communication
rtt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013105769A
Other languages
English (en)
Other versions
JP2014229956A (ja
Inventor
裕志 吉田
裕志 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013105769A priority Critical patent/JP6146127B2/ja
Publication of JP2014229956A publication Critical patent/JP2014229956A/ja
Application granted granted Critical
Publication of JP6146127B2 publication Critical patent/JP6146127B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、映像や音声等のマルチメディアデータをリアルタイムに通信する通信装置、通信方法および通信プログラムに関する。
通信ネットワークを介して映像や音声等のマルチメディアデータをリアルタイムに通信する装置が知られている。
一方、通信ネットワークを通じて単位時間に通信できるデータサイズや通信遅延(通信スループット)は、クロストラヒック(他のユーザの通信トラヒック)や電波環境によって大きく変動する。そのため、マルチメディアデータをリアルタイムに通信する際に、通信遅延が大きいことにより応答性が低下したり、ネットワーク内でデータを転送しきれずにデータが失われたりすることがある。
特許文献1には、ボトルネックリンク帯域に依存せずにエンドツーエンド遅延を目標値に近づける品質制御装置が記載されている。特許文献1に記載された品質制御装置は、往復遅延時間(Round Trip Time:RTT)を計測し、計測されたRTTと目標とするRTTとの差分量に基づいて、単位時間あたりに送信するマルチメディアデータサイズ(ビットレート)を制御することで、目標とするRTTを実現する。ここで、RTTは、応答性と同義であり、また、ビットレートの単位は、ビット/秒(bps)である。
特開2008−199426号公報
まず、特許文献1に記載されている一般的なビットレートの制御方法を図18を参照して説明する。図18は、一般的なビットレートの制御方法を示す説明図である。
まず、送信側装置50がUDP(User Datagram Protocol)パケットを用いてビットレートuで映像や表示画面を送信すると、受信側装置20(例えば、表示部21)がこれを受信して表示する。なお、上述するように、ビットレートとは単位時間に送信するデータサイズ(送信レート)を意味する。リアルタイム・マルチメディア配信において、ビットレートは、メディアの単位再生時間のデータサイズ(符号化レート)に等しい。以下の説明では、ビットレートは、送信レートと符号化レートの双方の意味を含むものとする。
受信側装置20は、あるUDPパケット(例えば、フレームを構成する最後のパケット)を受信したタイミングでACK(応答)を送信側装置50に返信する。送信側装置50のRTT計測部52は、このACKを受けてRTTを計測できる。送信側装置50のレート制御部51は、計測されたRTTをフィードバックし、このRTTを目標値に近づけるようにビットレートを制御する。
ビットレート制御では、RTTの目標値との差分に基づいたP(Proportional)制御が行われる。計測されたRTTをd、RTTの目標値をd、それらの差分をe=d−dとする。このとき、1回のフィードバックループにおいて、ビットレートuは、以下に示す式1〜式3を用いて更新される。なお、τは、フィードバックループの時間間隔である。また、Kは、フィードバックゲインであり、正の定数である。
Δu=KP(e)・e ・・・ (式1)
(e)=K(e≧0のとき) , wK(e<0のとき) ・・・(式2)
u+Δu→u ・・・ (式3)
式2において、差分eの符号により、フィードバックゲインKの大きさを変えている。これは、e<0、すなわち、計測されたRTTが目標とするRTTを超えてしまっているときは、より速くビットレートを下げるように重みw(w≧1)が乗じられることを示す。
上述するビットレートの制御方法は、ビットレートとRTTとの関係が(広義)単調増加であるという前提の上に成り立っており、RTTを目標値に近づける制御としては非常に有効である。しかし、適切に制御できるか否かは、RTT目標値dに大きく依存する。この点について、図19および図20を用いて説明する。
図19は、目標RTTを過小に設定した場合のビットレート制御の挙動の例を示す説明図である。また、図20は、目標RTTを過大に設定した場合のビットレート制御の挙動の例を示す説明図である。図19および図20において、グラフの横軸はビットレートを示し、グラフの縦軸はRTTを示し、曲線は、通信ネットワークにおけるビットレートとRTTの関係を示している。なお、この曲線は、当然に通常未知である。さらに、図19および図20において、横方向の破線は目標RTTを示し、縦方向の破線は可用帯域を示している。
図19に示すように、目標RTTを過小に設定した場合の通信ネットワークでは、ビットレートをどんなに小さくしても、計測されるRTTは、目標RTTに到達しない。したがって、この場合、たとえ十分な可用帯域があったとしても、ビットレートを小さくし続ける制御が行われる。
一方、図20に示すように、目標RTTを過大に設定した場合の通信ネットワークでは、ビットレートをどんなに大きくしても、計測されるRTTは、目標RTTに到達することはない。この場合、ビットレートは増加し続けてしまうため、可用帯域を超えてしまうと、RTTが目標RTT未満でもパケットロスが多発する。
図21および図22は、ネットワークエミュレータを用いて、上述するビットレートの制御方法を実施したときのビットレートとRTTとの関係の例を示す説明図である。図21および図22において、一点破線laは可用帯域を示し、破線lrは目標RTTを示し、実線lbはビットレートを示す。
ここでは、可用帯域を3Mbps、RTTを200msecに設定した。また、図21に示す制御では、目標RTTを100msecに設定し、図22に示す制御では、目標RTTを500msecに設定した。ただし、最小ビットレートを0.2Mbps、最大ビットレートを5Mbpsと設定した。また、制御パラメータを、K=0.0003Mbps/s、w=3、τ=1secと設定した。
上述した通り、図21に示すように、目標RTTが過小な場合、ビットレートが最小値まで減少してしまうことが分かる。また、図22に示すように、目標RTTが過大な場合、ビットレートが最大値まで増加してしまうことが分かる。
ビットレートとRTTの関係や可用帯域など、このようなネットワーク特性が変わらなければ、目標値をチューニングすることで通信遅延やデータ消失などの問題が解決される。しかし、インターネットやモバイル網において、それらの特性は、時と場所によって大きく異なるため、チューニングで対応することは困難である。特に、モバイル網では、例えば3GとLTE(Long Term Evolution )との切り替わりや電波状態により、時々刻々と特性が変動するため、上記の問題は特に顕著である。
そこで、本発明は、ネットワーク特性が変化する状況においても通信品質を高めることができる通信装置、通信方法および通信プログラムを提供することを目的とする。
本発明による通信装置は、通信ネットワークを介してデータをリアルタイムに通信する通信装置であって、通信ネットワークの可用帯域を推定する可用帯域推定手段と、通信ネットワークの往復遅延時間を計測する往復遅延時間計測手段と、往復遅延時間と単位時間に送信するデータサイズであるビットレートとにより定義されるユーザの体感品質を模した関数である評価関数を用いて、可用帯域推定手段で推定された可用帯域以下のビットレートにて評価関数の値を最大にするビットレートを算出する最適ビットレート算出手段とを備え、最適ビットレート算出手段が、ビットレートの増加、ビットレートを変更しないまたはビットレートの減少、のいずれかの処理を予め定めた確率で選択し、ビットレートの増加またはビットレートの減少を選択した場合、増加後または減少後のビットレートにて評価関数の値を複数回検査し、その評価関数の値が変更直前よりも連続して所定回数大きな値になった場合に、ビットレートの増加または減少が成功したと判定して、ビットレートを変更することを特徴とする。
本発明による通信方法は、通信ネットワークを介してデータをリアルタイムに通信する通信方法であって、通信ネットワークの可用帯域を推定し、通信ネットワークの往復遅延時間を計測し、往復遅延時間と単位時間に送信するデータサイズであるビットレートとにより定義されるユーザの体感品質を模した関数である評価関数を用いて、推定された可用帯域以下のビットレートにて評価関数の値を最大にするビットレートを算出し、ビットレートの増加、ビットレートを変更しないまたはビットレートの減少、のいずれかの処理を予め定めた確率で選択し、ビットレートの増加またはビットレートの減少を選択した場合、増加後または減少後のビットレートにて評価関数の値を複数回検査し、その評価関数の値が変更直前よりも連続して所定回数大きな値になった場合に、ビットレートの増加または減少が成功したと判定して、ビットレートを変更することを特徴とする。
本発明による通信プログラムは、通信ネットワークを介してデータをリアルタイムに通信するコンピュータに適用される通信プログラムであって、コンピュータに、通信ネットワークの可用帯域を推定する可用帯域推定処理、通信ネットワークの往復遅延時間を計測する往復遅延時間計測処理、および、往復遅延時間と単位時間に送信するデータサイズであるビットレートとにより定義されるユーザの体感品質を模した関数である評価関数を用いて、可用帯域推定処理で推定された可用帯域以下のビットレートにて評価関数の値を最大にするビットレートを算出する最適ビットレート算出処理を実行させ、最適ビットレート算出処理で、ビットレートの増加、ビットレートを変更しないまたはビットレートの減少、のいずれかの処理を予め定めた確率で選択させ、ビットレートの増加またはビットレートの減少が選択された場合、増加後または減少後のビットレートにて評価関数の値を複数回検査させ、その評価関数の値が変更直前よりも連続して所定回数大きな値になった場合に、ビットレートの増加または減少が成功したと判定して、ビットレートを変更させることを特徴とする。
本発明によれば、ネットワーク特性が変化する状況においても適切に通信品質を高めることができる。
本発明による通信装置の一実施形態を示すブロック図である。 RTTと体感品質との関係の例を示す説明図である。 ビットレートと体感品質との関係の例を示す説明図である。 RTTとビットレートと体感品質との関係の例を示す説明図である。 最適解を探索するアルゴリズムの例を示す説明図である。 第1の実施例によるビットレート制御の挙動の例を示す説明図である。 第1のネットワークデータの例を示す説明図である。 一般的制御方法(目標RTT:100msec)によるビットレート制御の挙動の実験結果を示す説明図である。 一般的制御方法(目標RTT:300msec)によるビットレート制御の挙動の実験結果を示す説明図である。 本発明による制御方法を用いた場合のビットレート制御の挙動の実験結果を示す説明図である。 第2のネットワークデータの例を示す説明図である。 一般的制御方法(目標RTT:100msec)によるビットレート制御の挙動の他の実験結果を示す説明図である。 一般的制御方法(目標RTT:300msec)によるビットレート制御の挙動の他の実験結果を示す説明図である。 本発明による制御方法を用いた場合のビットレート制御の挙動の他の実験結果を示す説明図である。 第1のネットワークデータを用いた場合の実験結果を示す説明図である。 第2のネットワークデータを用いた場合の実験結果を示す説明図である。 本発明による通信装置の概要を示すブロック図である。 一般的なビットレートの制御方法を示す説明図である。 目標RTTを過小に設定した場合のビットレート制御の挙動の例を示す説明図である。 目標RTTを過大に設定した場合のビットレート制御の挙動の例を示す説明図である。 一般的な制御方法を用いた場合のビットレートとRTTとの関係の例を示す説明図である。 一般的な制御方法を用いた場合のビットレートとRTTとの他の関係の例を示す説明図である。
以下、本発明の実施形態を図面を参照して説明する。
図1は、本発明による通信装置を含む通信システムの一実施形態を示すブロック図である。図1に例示する通信システムは、送信側装置10と、受信側装置20とを備えている。図1に例示する送信側装置10が、本発明の通信装置に相当する。送信側装置10は、通信ネットワークを介してデータ(例えば、映像や音声などのマルチメディアデータ)をリアルタイムに通信する。送信側装置10と、受信側装置20は、ネットワーク網99を介して相互に接続される。
受信側装置20は、送信側装置10から送信されるデータを受信して各種処理を行う。受信側装置20は、例えば、送信側装置10から通信ネットワークを介して送信される映像や音声などのマルチメディアデータを受信すると、表示部21が、それらのデータを表示する。また、受信側装置20は、データを受信したことを示す信号(ACK信号)を送信側装置10に送信してもよい。
一般的な制御方法では、制御の挙動が目標RTTに大きく依存することが課題であった。本発明によるビットレート制御方法では、ある一つの目標値を定めるのではなく、ユーザの体感品質を模した評価関数を定め、これを最大化するようビットレートを制御することで、所望の挙動を得ようとするものである。
送信側装置10は、可用帯域推定部11と、評価関数14を利用するビットレート制御部12と、RTT計測部13とを含む。すなわち、本実施形態の送信側装置10は、図18に示す一般的な構成と比較して、可用帯域推定部11を含む点、および、ビットレート制御部12が評価関数14を利用する点において異なる。評価関数14は、例えば、送信側装置10が備える記憶装置(図示せず)に記憶される。
評価関数14は、RTTとビットレートを変数とする2次元領域で定義される関数である。評価関数14は、RTTが小さいほど(すなわち、レスポンスが速いほど)値が大きくなるように、また、ビットレートが大きいほど(すなわち、品質が高いほど)値が大きくなるように定義され、このように定義されることでユーザの体感品質を模している。
可用帯域推定部11は、対象とする通信ネットワーク(例えば、データが経由される通信ネットワーク)の可用帯域を推定する。可用帯域推定部11は、後述するビットレート制御部12が、実行可能領域を可用帯域以下に制限するために設けられる。
ビットレート制御部12は、実行可能領域内、つまり通信ネットワークで実現可能なビットレートとRTTの集合内で評価関数14の値を最大化するようにビットレートを制御する。通信ネットワークで実現可能なビットレートとは、可用帯域推定部11が推定した可用帯域以下のビットレートと言うことができる。
RTT計測部13は、対象とする通信ネットワークの往復遅延時間(RTT)を計測する。なお、往復遅延時間を計測する方法は任意である。RTT計測部13は、広く知られた方法を用いて往復遅延時間を計測すればよい。
可用帯域推定部11と、ビットレート制御部12と、RTT計測部13とは、プログラム(通信プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、送信側装置10の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、可用帯域推定部11、ビットレート制御部12及びRTT計測部13として動作してもよい。また、可用帯域推定部11と、ビットレート制御部12と、RTT計測部13とは、それぞれが専用のハードウェアで実現されていてもよい。
以下、本実施形態の送信側装置10の動作についてさらに説明する。
これまで、映像や音声の品質を表す指標について、数多くの提案がされている。例えば、画質についてはPSNR(Peak Signal−to−Noise Ratio)、音質についてはPESQ(Perceptual Evaluation of Speech Quality)、映像・音声双方に適用できるMOS(Mean Opinion Score)などがある。また、ネットワークを介した音声通話については、遅延も考慮したR値がある。しかし、これらの指標は、遅延とビットレートに一対一に対応する指標ではないため、リアルタイムなビットレート制御には適さない。
そこで、本実施形態の送信側装置10は、ビットレート制御するために単純な評価関数14を用いる。リアルタイム・マルチメディアコミュニケーションにおいては、レスポンス(RTT)とメディア品質(ビットレート)がユーザの体感品質に重要であると考えられる。そこで、評価関数14の変数に、RTTとビットレートを含める。
また、パケットロスもメディア品質に大きな影響を与えるが、本実施形態では、可用帯域推定部11が可用帯域を推定し、ビットレート制御部12がビットレートを可用帯域以下に制限することでパケットロスを回避する。なお、ビットレートに関係のないランダムなパケットロスは、ビットレート制御によって回避できないため、評価関数14には含めない。
以下、評価関数fを定義する方法を説明する。まず、RTTと体感品質との関係を定式化する。RTTが大きくなることは、レスポンスが低下することに等しい。そのため、体感品質は、RTTに関して単調減少であると仮定できる。
次に、RTTが0のとき体感品質が1、RTTが∞のとき体感品質が0になるような正規化を行う。この正規化には、例えば、指数関数を用いることができる。この場合、RTTと体感品質との関係は、以下に示す式4のように定義できる。
(d)=exp(−ad) ・・・(式4)
式4において、dはRTT、fはRTTに関する体感品質、aは正の定数である。なお、図2は、式4に示すように定義した場合のRTTと体感品質との関係の例を示す説明図である。図2に例示するように、体感品質は、RTTに関して単調減少する。
次に、ビットレートと体感品質の関係式を定義する。ビットレートが高ければ品質も向上すると言える。そのため、ビットレートと体感品質との関係は単調増加と仮定できる。ビットレートが0のとき体感品質が0、ビットレート∞で体感品質が1となるような正規化を行う。この正規化にも、例えば、指数関数を用いることができる。この場合、ビットレートと体感品質との関係は、以下に示す式5のように定義できる。
(u)=1−exp(−bu) ・・・(式5)
式5において、uはビットレート、fはビットレートに関する体感品質、bは正の定数である。なお、図3は、式5に示すように定義した場合のビットレートと体感品質との関係の例を示す説明図である。図3に例示するように、体感品質は、ビットレートに関して単調増加する。
そして、上述するfとfを用いて評価関数fを定義する。評価関数fは、例えば、以下の式6に示すように、fとfの線形結合で定義される。
f(d、u)=λf(d)+(1−λ)f(u) ・・・(式6)
式6において、λは、fとfの混合比であり、0≦λ≦1を満たす。なお、図4は、式6に示すように定義した場合のRTTとビットレートと体感品質との関係の例を示す説明図である。図4では、式6におけるλの値を0.6に設定している。図4に例示するように、体感品質は、RTTに関して単調減少し、ビットレートに関して単調増加する。
ここでは、指数関数を用いたfとfの線形結合で評価関数fを定義する方法を説明した。ただし、評価関数に利用する関数を定義する方法は、指数関数を用いる方法に限定されず、また、fとfとを線形結合する方法に限定されない。例えば、fとfの積で評価関数fを定義してもよい。また、学習や測定結果等に基づいてより好適な関数が定義できた場合、ビットレート制御部12は、その関数を評価関数として利用してもよい。
評価関数が得られると、ビットレート制御部12は、評価関数の値を実行可能領域内で最大化するようにビットレートuを制御する。すなわち、ビットレート制御部12は、定義された評価関数の値を最大にするビットレートを算出し、その算出結果に基づいてビットレートuを制御する。
制御操作量であるuには最小値uminと最大値umaxが定められているものとする。ただし、ビットレート制御部12は、予め与えられた最大値と後述する可用帯域推定値の小さい方をumaxに採用する。
実行可能領域とは、対象とする通信ネットワークで実現可能なRTTであるdと、ビットレートuの集合である。もし、RTTがビットレートと時間tとの関数(d=d(u,t))で表されるならば、実行可能領域Vは、以下に示す式(7)のように定義できる。
V={d(u,t),u|umin≦u≦umax} ・・・(式7)
以上のことから、ビットレート制御部12は、集合Vの中で評価関数fを最大化するビットレートuを求めることが目的になる。
しかし、d(u,t)がどのような関数であるかは全くの未知であるため、解析的に最適解を得ることは困難である。そこで、ビットレート制御部12は、ヒューリスティックな手法によって最適解を探索する。図5は、ビットレート制御部12が最適解を探索するアルゴリズムの例を示す説明図である。
図5に例示するように、探索アルゴリズムは、状態維持モードM1と、レート探索モードM2に分けられる。
状態維持モードM1では、ビットレート制御部12は、指定回数(m回)分のフィードバックループの間はレート変更を行わない(ステップS11)。指定回数の後、ビットレート制御部12は、再びレート変更しない(ステップS11)、レートを増加させる(ステップS23)、または、レートを減少させる(ステップS24)のいずれかに、それぞれ確率p、確率q、確率rで遷移する条件分岐Aを行う(ステップS12)。すなわち、最初のm回未満では、必ず現状維持(ステップS11)に戻ることになり、m回目にp,q,rの確率でレート増加/レート減少/現状維持に遷移する。
一方、レートを増加またはレートを減少させる場合、レート探索モードM2に遷移する。ステップS23におけるレート増加では、ビットレート制御部12は、ビットレートuをu+Δu+→uと変更する。一方、ステップS24におけるレート減少では、ビットレート制御部12は、ビットレートuをu−Δu−→uと変更する。
その後、ビットレート制御部12は、ビットレートを変更した結果を検査する(ステップS21、ステップS22)。具体的には、ビットレート制御部12は、この検査において、n回分のループの間評価関数値を検査し、評価関数値が変更直前よりも大きな値になった場合をビットレート変更成功と判定し、それ以外を失敗と判定する。また、ビットレート制御部12は、umin≦u≦umaxの制限によってレートを増加(または減少)できなかった場合も失敗と判定する。
上述のように、ビットレート制御部12は、レートを増加させた場合、または、レートを減少させた場合、評価関数値が増加したか否かで成功可否を判断している。ここで、検査を1回しか行わない場合、誤差などで偶然に評価関数値が増加する場合も考えられる。本実施形態では、連続してn回評価関数値が増加した場合に成功と判断するため、上述する誤差による誤判定を抑制できる。
成功と判定された場合、ビットレート制御部12は、再びレート増加(またはレート減少)を繰り返す。一方、失敗と判定された場合、ビットレート制御部12は、レートの変更を取り消して(ステップS13)、再度状態維持モードM1の処理をやり直す(ステップS11)。
以上に説明したレート探索アルゴリズムは、基本的にはランダムサーチであり、ヒューリスティックに最適解を探索する構成になっている。これは、ビットレートとRTTとの関係d(u,t)が未知である上に、経由するネットワークおよび時間によって異なるため、解析的な手法(例えば、最急降下法など)を適用できないためである。
ここで、ビットレートの上限umaxを可用帯域以下に抑えるためには、可用帯域を推定しなければならない。そこで、可用帯域推定部11は、経由する通信ネットワークの可用帯域を推定する。
本実施形態では、メディアパケット以外に可用推定用のパケットトレインを送信することでネットワークに負荷がかかることを避けるため、可用帯域推定部11は、メディアパケットをパケットトレインとして代用するインライン推定を行う。そのとき、可用帯域推定部11は、例えば映像や画面であれば1フレームを構成する複数のパケットをパケットトレインに用いる。
このとき、このフレームによって、構成可能なトレインは限定されてしまう。そのため、可用帯域推定部11は、トレインに特別な構成を含めずに、以下に説明するような簡易な推定方法を採用して可用帯域を推定してもよい。ただし、可用帯域推定部11は、可用帯域を推定可能な手法であれば、どのような方法を用いても構わない。
ここでは、1フレームがk個のパケットを含み、各パケットのサイズをP、送信時刻をS、受信時刻をRとする。ただし、Sは送信側装置10の時計で計測される値、Rは受信側装置20の時計で計測される値であり、SとRの値の差に意味を持たない。ΔSi=S−Si−1、ΔR=R−Ri−1、可用帯域をAとすると、以下の式8に示す関係が成立する。
ΔR=max(ΔS,P/A) ・・・(式8)
また、トレイン全体では、以下の式9に示す関係が成立する。
Σmax(ΔS,P/A)=R−R ・・・(式9)
受信側装置20からR−R(つまり、トレインの最初のパケットの受信時刻と、最後のパケットの受信時刻との差)をACKとして通知してもらうことで、可用帯域推定部11は、可用帯域の推定が可能になる。
以上のように、本実施形態によれば、可用帯域推定部11が、通信ネットワークの可用帯域を推定し、RTT計測部13が、通信ネットワークの往復遅延時間(RTT)を計測する。そして、ビットレート制御部12が、推定された可用帯域以下のビットレートにて評価関数14の値を最大にするビットレートを算出する。よって、ネットワーク特性が変化する状況においても通信品質を高めることができる。すなわち、本実施形態の送信側装置10を用いることで、応答性とメディア品質の双方を高めることができる。
以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。
本実施例では、図5に例示する探索アルゴリズムによるビットレートの変化の様子を説明する。本実施例では、図18に例示する一般的な制御方法(以下、一般的制御方法と記す。)で動作を検証した場合と同様のネットワーク構成で、ビットレートの変化の様子を実験した。すなわち、可用帯域を3Mbps、RTTを200msecに設定した。
図6は、本実施例によるビットレート制御の挙動の例を示す説明図である。なお、図6で示す内容は、図19および図20と同様である。また、本実施例では、レート探索のパラメータを、τ=1sec、m=4、n=4、p=q=r=1/3、Δu+=Δu−=0.1Mbpsとした。
ここで、τは、フィードバックループの時間間隔を示し、p,q,rは、図5に示す探索アルゴリズムにおける遷移確率を示す。また、mは、図5に示す探索アルゴリズムにおける条件分岐Aにおいて現状維持(ステップS11)に戻る回数を示す。また、nは、条件分岐Bにおいて評価関数値が増加したと判定する回数を示す。
図6のグラフに例示するように、可用帯域laの少し下方にて評価関数値が最大となり、平衡状態に入った。なお、ビットレートのプロットをよく見ると、わずかに上下に揺れていることが確認できるが、これは確率的に探索を繰り返しているためである。
次に、後述する2つのネットワークデータをツールDummynetでエミュレートし、本発明によるビットレートの制御方法と一般的制御方法との比較評価を行う。ただし、この一般的制御方法は、ビットレートを可用帯域以下に抑える機能を含まないため、ビットレート過大によるパケットロスを回避できない。そこで、この一般的制御方法に上述のインライン推定による可用帯域推定機能とビットレートを推定値以下に抑える機能を追加して実験を行った。
本実施例では、ビットレート制御を行う際の制御パラメータとして、実施例1と同じパラメータを用いた。また、一般的制御方法については、目標RTTが100msecと300msecの二つの場合を評価した。このとき、一般的制御方法のパラメータには、K=0.0003Mbps/s、w=3、τ=1secと設定した。なお、uminとumaxは共通で、それぞれ、umin=0.2Mbps、umax=5Mbpsと設定した。
第1のネットワークデータを図7に示す。図7は、第1のネットワークデータの例を示す説明図である。図7における実線laは可用帯域を示し、破線lfは、固定的な遅延を示す。第1のネットワークデータは、可用帯域が3min(180sec)ごとに1Mbpsと3Mbpsを繰り返し、RTTが同じく3minごとに200msecと40msecを繰り返すような人工データである。本実施例は、ネットワーク特性が切り替わった場合の挙動を調べるものである。ネットワーク特性の切り替わりとしては、例えば3GとLTEの切り替わりや、3GとWi−Fi(登録商標)の切り替わりなどが挙げられる。また、ネットワークのバッファは、ドロップテイルとし、バッファサイズは32kbyteとした。
第1のネットワークデータを用いて実験を行った結果を図8,図9,図10に示す。図8は、一般的制御方法で目標RTTを100msecに設定した場合の実験結果を示し、図9は、一般的制御方法で目標RTTを300msecに設定した場合の実験結果を示し、図10は、本発明による制御方法を用いた場合の実験結果を示す。図8〜図10において、太い破線lrはRTTを示し、太い実線lbはビットレートを示す。また、図8〜図10において、細い破線および実線は、それぞれ、図7に例示する可用帯域laおよび固定的な遅延lfを示す。
図8に例示するように、目標RTTを100msecに設定した一般的制御方法では、RTTが200msecの区間では、ビットレートを最低値まで低下させる制御が行われる。一方で、RTTが40msecの区間では、ビットレートを上昇させるが、目標値と観測値の差分e=d−dが小さく、ビットレートの上昇は緩やかになる。
図9に例示するように、目標RTTを300msecに設定した一般的制御方法では、観測されるRTTよりも常に目標値の方が大きいため、可用帯域推定値の制限までビットレートを上昇させる制御が行われる。その結果、可用帯域周辺のビットレートで送信が行われるため、通信ネットワークは輻輳状態に近づき、RTTが上に振れる現象が確認できる。
図10に例示するように、本発明の制御方法でも、目標RTTを300msecに設定した一般的制御方法と同様に、可用帯域近傍までビットレートを上昇させているように見える。しかし、実際には、可用帯域とビットレートとの間に少し余裕がある。これは、ビットレートを可用帯域に近づけすぎることによるRTTの増加が評価関数値を低下させるからである。実際、一般的制御方法の実測RTTと比較しても、ビットレートは安定して最小値(つまりDummynetに設定した値)付近にとどまっている。なお、3つの制御方法のいずれにも見られるRTTのスパイク的な増加は、可用帯域設定値の切り替わりによって発生している。
次に、第2のネットワークデータを用いた場合の実験結果を説明する。図11は、第2のネットワークデータの例を示す説明図である。図11に例示するグラフに示される実線および破線の内容は、図7と同様である。なお、図11に例示する第2のネットワークデータは、インターネット上のサーバからモバイル網経由でアクセスしたときの実測データであり、実線における菱形および破線における四角は、その際計測された点を示す。
第2のネットワークデータは、計測場所を徒歩で移動した際に採取されたデータであり、初めはHSDPA(High Speed Downlink Packet Access )で接続していたが、500sec付近でLTEに切り替わり、その後1400sec付近で再びHSDPAに戻ったことを示している。このとき、RTTは、HSDPA区間で約300msecと大きく、LTE区間では約40msecと低遅延であった。可用帯域は、LTE区間の方が大きかったが変動も大きく、HSDPA区間では約3Mbpsと安定していた。
第2のネットワークデータを用いて実験を行った結果を図12,図13,図14に示す。図12は、一般的制御方法で目標RTTを100msecに設定した場合の実験結果を示し、図13は、一般的制御方法で目標RTTを300msecに設定した場合の実験結果を示し、図14は、本発明における制御方法を用いた場合の実験結果を示す。なお、図12〜図14に示す線の内容は、図8〜図10に示す線の内容と同様である。
図12および図13に例示するように、一般的制御方法では、目標RTTをいずれに設定した場合も、HSDPA区間ではビットレートを最低値まで下げる制御が行われ、LTE区間ではビットレートを最大値(可用帯域推定値)まで上げる制御が行われた。ただし、目標RTTを300msecに設定したときの方が、ビットレートの増加速度は速い。また、ビットレートを可用帯域まで増加させた時間帯ではRTTが荒れている。
図14に例示するように、本発明の制御方法では、評価関数値は、可用帯域の少し下(すなわち、可用帯域よりも若干低い箇所)で極大になる。また、RTTは、急激に可用帯域が減少することによるスパイク的な増加以外は安定している。
図15は、第1のネットワークデータを用いた場合の実験結果を示す説明図である。また、図16は、第2のネットワークデータを用いた場合の実験結果を示す説明図である。図15および図16には、各実験結果におけるRTT、ビットレート、パケットロス率、及び評価関数値の平均値を示している。
本発明による制御方法では、RTTとビットレートのトレードオフの関係において、評価関数値を最大にするように制御される。そのため、必要以上のビットレート低下や、可用帯域までビットレートを増加させることによるRTTの増加を防ぐことができる。また、RTTの増加を防ぐことで、パケットロス率を抑制することもできる。
なお、本発明では、独自に定義した関数に基づく関数値(評価関数値)を用いているが、ユーザの体感品質をより適切に表わす他の指標を用いてもよい。このように、より適切な体感品質を示す指標を用いることで、本発明による制御方法の有用性が、より示せることになる。
次に、本発明の概要を説明する。図17は、本発明による通信装置の概要を示すブロック図である。本発明による通信装置は、通信ネットワーク(例えば、ネットワーク網99)を介してデータ(例えば、マルチメディアデータ)をリアルタイムに通信する通信装置(例えば、送信側装置10)であって、通信ネットワークの可用帯域を推定する可用帯域推定手段81(例えば、可用帯域推定部11)と、通信ネットワークの往復遅延時間(RTT)を計測する往復遅延時間計測手段82(例えば、RTT計測部13)と、往復遅延時間と単位時間に送信するデータサイズであるビットレートとにより定義されるユーザの体感品質を模した関数である評価関数(例えば、評価関数14)を用いて、可用帯域推定手段81で推定された可用帯域以下のビットレートにて、その評価関数の値を最大にするビットレートを算出する最適ビットレート算出手段83(例えば、ビットレート制御部12)とを備えている。
そのような構成により、ネットワーク特性が変化する状況においても通信品質を高めることができる。
また、最適ビットレート算出手段83は、往復遅延時間に関して単調減少であり、かつビットレートに関して単調増加である評価関数(例えば、式6)を用いて、その評価関数の値を最大にするビットレートを算出してもよい。すなわち、RTTが短いほど、また、ビットレートが高いほどユーザの体感品質は向上するため、このような評価関数を用いることで、ユーザの所望する通信品質に近づけることが可能になる。
また、最適ビットレート算出手段83は、確率的に(例えば、確率p,q,rで)ビットレートを増減させ(例えば、図5に例示する条件分岐A)、ビットレートの増減による評価関数の値の増減を判定し(例えば、図5に例示する条件分岐B)、評価関数の値の増減に基づいて評価関数値を最大にするビットレートを探索してもよい。
これは、本発明で想定する通信ネットワークでは、ビットレートとRTTとの関係d(u,t)が未知である上に、経由するネットワークおよび時間によって異なるため、このような処理を行うことで、より適切にビットレートを算出することできる。
具体的には、最適ビットレート算出手段83は、確率的にビットレートを増減させたときに、評価関数の値が所定の回数(例えば、n回)連続して増加したときのビットレートを、評価関数値を最大にするビットレートして採用してもよい。このようにすることで、誤差などで偶然に評価関数値が増加する場合の誤判定を抑制できる。
また、可用帯域推定手段81は、データの送信先装置(例えば、受信側装置20)から通知される受信時刻の差(例えば、トレインの最初のパケットの受信時刻と、最後のパケットの受信時刻との差)に基づいて可用帯域を推定してもよい。
本発明は、例えば、マルチメディア通信装置に好適に適用可能である。
10 送信側装置
11 可用帯域推定部
12 ビットレート制御部
13 RTT計測部
14 評価関数
20 受信側装置
21 表示部
50 送信側装置
51 レート制御部
52 RTT計測部
99 ネットワーク網
la 可用帯域
lr RTT
lb ビットレート
lf 固定された遅延

Claims (9)

  1. 通信ネットワークを介してデータをリアルタイムに通信する通信装置であって、
    前記通信ネットワークの可用帯域を推定する可用帯域推定手段と、
    前記通信ネットワークの往復遅延時間を計測する往復遅延時間計測手段と、
    前記往復遅延時間と単位時間に送信するデータサイズであるビットレートとにより定義されるユーザの体感品質を模した関数である評価関数を用いて、前記可用帯域推定手段で推定された可用帯域以下のビットレートにて当該評価関数の値を最大にするビットレートを算出する最適ビットレート算出手段とを備え
    前記最適ビットレート算出手段は、ビットレートの増加、ビットレートを変更しないまたはビットレートの減少、のいずれかの処理を予め定めた確率で選択し、前記ビットレートの増加または前記ビットレートの減少を選択した場合、増加後または減少後のビットレートにて前記評価関数の値を複数回検査し、当該評価関数の値が変更直前よりも連続して所定回数大きな値になった場合に、ビットレートの増加または減少が成功したと判定して、ビットレートを変更する
    ことを特徴とする通信装置。
  2. 最適ビットレート算出手段は、往復遅延時間に関して単調減少であり、かつビットレートに関して単調増加である評価関数を用いて、当該評価関数の値を最大にするビットレートを算出する
    請求項1記載の通信装置。
  3. 最適ビットレート算出手段は、確率的にビットレートを増減させ、前記ビットレートの増減による評価関数の値の増減を判定し、前記評価関数の値の増減に基づいて評価関数値を最大にするビットレートを探索する
    請求項1または請求項2に記載の通信装置。
  4. 最適ビットレート算出手段は、確率的にビットレートを増減させたときに、評価関数の値が所定の回数連続して増加したときのビットレートを、評価関数値を最大にするビットレートして採用する
    請求項3記載の通信装置。
  5. 可用帯域推定手段は、データの送信先装置から通知される受信時刻の差に基づいて可用帯域を推定する
    請求項1から請求項4のうちのいずれか1項に記載の通信装置。
  6. 通信ネットワークを介してデータをリアルタイムに通信する通信方法であって、
    前記通信ネットワークの可用帯域を推定し、
    前記通信ネットワークの往復遅延時間を計測し、
    前記往復遅延時間と単位時間に送信するデータサイズであるビットレートとにより定義されるユーザの体感品質を模した関数である評価関数を用いて、推定された可用帯域以下のビットレートにて当該評価関数の値を最大にするビットレートを算出し、
    ビットレートの増加、ビットレートを変更しないまたはビットレートの減少、のいずれかの処理を予め定めた確率で選択し、前記ビットレートの増加または前記ビットレートの減少を選択した場合、増加後または減少後のビットレートにて前記評価関数の値を複数回検査し、当該評価関数の値が変更直前よりも連続して所定回数大きな値になった場合に、ビットレートの増加または減少が成功したと判定して、ビットレートを変更する
    ことを特徴とする通信方法。
  7. 往復遅延時間に関して単調減少であり、かつビットレートに関して単調増加である評価関数を用いて、当該評価関数の値を最大にするビットレートを算出する
    請求項6記載の通信方法。
  8. 通信ネットワークを介してデータをリアルタイムに通信するコンピュータに適用される通信プログラムであって、
    前記コンピュータに、
    前記通信ネットワークの可用帯域を推定する可用帯域推定処理、
    前記通信ネットワークの往復遅延時間を計測する往復遅延時間計測処理、および、
    前記往復遅延時間と単位時間に送信するデータサイズであるビットレートとにより定義されるユーザの体感品質を模した関数である評価関数を用いて、前記可用帯域推定処理で推定された可用帯域以下のビットレートにて当該評価関数の値を最大にするビットレートを算出する最適ビットレート算出処理を実行させ
    前記最適ビットレート算出処理で、ビットレートの増加、ビットレートを変更しないまたはビットレートの減少、のいずれかの処理を予め定めた確率で選択させ、前記ビットレートの増加または前記ビットレートの減少が選択された場合、増加後または減少後のビットレートにて前記評価関数の値を複数回検査させ、当該評価関数の値が変更直前よりも連続して所定回数大きな値になった場合に、ビットレートの増加または減少が成功したと判定して、ビットレートを変更させる
    るための通信プログラム。
  9. コンピュータに、
    最適ビットレート算出処理で、往復遅延時間に関して単調減少であり、かつビットレートに関して単調増加である評価関数を用いて、当該評価関数の値を最大にするビットレートを算出させる
    請求項8記載の通信プログラム。
JP2013105769A 2013-05-20 2013-05-20 通信装置、通信方法および通信プログラム Active JP6146127B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013105769A JP6146127B2 (ja) 2013-05-20 2013-05-20 通信装置、通信方法および通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013105769A JP6146127B2 (ja) 2013-05-20 2013-05-20 通信装置、通信方法および通信プログラム

Publications (2)

Publication Number Publication Date
JP2014229956A JP2014229956A (ja) 2014-12-08
JP6146127B2 true JP6146127B2 (ja) 2017-06-14

Family

ID=52129465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013105769A Active JP6146127B2 (ja) 2013-05-20 2013-05-20 通信装置、通信方法および通信プログラム

Country Status (1)

Country Link
JP (1) JP6146127B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6724517B2 (ja) * 2016-04-14 2020-07-15 日本電気株式会社 ビットレート指示装置、ビットレート指示方法、及び、ビットレート指示プログラム
JP6698183B2 (ja) * 2016-07-01 2020-05-27 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ラウンドトリップタイムスキュー制御の方法および装置
JP6954289B2 (ja) 2016-08-17 2021-10-27 日本電気株式会社 ビットレート指示装置、ビットレート指示方法、及び、ビットレート指示プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4510583B2 (ja) * 2004-10-28 2010-07-28 日本電信電話株式会社 双方向マルチモーダルサービス品質推定装置および方法
DE602005007620D1 (de) * 2005-12-14 2008-07-31 Ntt Docomo Inc Vorrichtung und Verfahren zur Bestimmung der Übertragungspolitik für mehrere und verschiedenartige Anwendungen
JP4973459B2 (ja) * 2007-11-14 2012-07-11 日本電気株式会社 通信システム、通信装置、制御パラメータ決定方法、及び、プログラム
JP4986243B2 (ja) * 2008-07-04 2012-07-25 Kddi株式会社 メディアストリームの階層数を制御する送信装置、方法及びプログラム
JP2013030852A (ja) * 2011-07-26 2013-02-07 Nippon Telegr & Teleph Corp <Ntt> スケーラブル映像符号化装置及び方法及びプログラム

Also Published As

Publication number Publication date
JP2014229956A (ja) 2014-12-08

Similar Documents

Publication Publication Date Title
US9253231B2 (en) Retrieving and caching adaptive bitrate stream segments based on network congestion
JP5326908B2 (ja) 送信レート制御方法および通信装置
JP4697525B2 (ja) 送受信システム、送信装置および送信方法、受信装置および受信方法、並びにプログラム
JP5029125B2 (ja) 可用帯域幅推定システム、ストリームデータ配信システム、方法、及び、プログラム
Wang et al. Addressing response time and video quality in remote server based internet mobile gaming
JP2004253934A (ja) 無線通信システム、サーバ、基地局、移動端末及びそれらに用いる再送タイムアウト時間決定方法
CN103563331B (zh) 用于通过流控制来增强设备性能的方法和装置
US10999348B2 (en) Method and apparatus for controlling multi-connection for data transmission rate improvement
US20120150936A1 (en) Distribution system
KR102208877B1 (ko) 심층 강화학습 기반 다중경로 패킷 스케줄링 방법
JP6146127B2 (ja) 通信装置、通信方法および通信プログラム
CN113329413B (zh) 用于高铁场景的多路径传输数据预调度方法及系统
US11196793B2 (en) Method and apparatus for adaptive streaming based on hybrid TCP and UDP in multiple narrowband wireless communication environment
JP2006340081A (ja) マルチキャスト通信フロー制御方法および装置
US9019835B2 (en) Parameter estimation device, parameter estimation method, and parameter estimation program
US11588736B2 (en) Communication apparatus, communication method, and program
Kilinc et al. A congestion avoidance mechanism for WebRTC interactive video sessions in LTE networks
JP5533177B2 (ja) パケットロス率推定装置、パケットロス率推定方法、パケットロス率推定プログラム、及び、通信システム
US10715409B2 (en) Heuristics for end to end digital communication performance measurement
US20220201569A1 (en) Communication apparatus, communication method, and communication program
CN110290552B (zh) 缓存深度的测量方法和装置、存储介质、电子装置
JP4351418B2 (ja) マルチメディアストリーミング送出レート制御方法および装置
JP6223942B2 (ja) 無線通信環境に応じてアグリゲーション量を変更可能な無線通信装置、無線通信プログラム及び方法
JP3853784B2 (ja) データ通信管理方法
Yun et al. Efficient bandwidth estimation for HTTP adaptive streaming

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170404

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170501

R150 Certificate of patent or registration of utility model

Ref document number: 6146127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150